Beckhoff / TwinCAT

M

Thread Starter

Michael Barb

I just finished an 8 hour look at the TwinCAT software. We are going to use it for the first time because of a customer requirement. I have been doing industrial controls for more than 25 years and have forgotten more programming languages than I now know. I find the software a very impressive piece of work and wonder where it came from. I find it hard to believe that a small company like Beckhoff could have developed it from scratch.

It is a very large piece of work. Except for games, it is the first program in years that has kept me interested for more than 2 hours. The only reason I stopped was because of the end of the day. While I cannot vouch for stability from extensive usage, I found it very complete and I had no problems with it. I figure they must have started with some open source code or licensed core that came from someone else.

One interesting observation is the way the object oriented roots from C++ or Java come screaming through. I like it but wish they would have carried it a little further. I hope this observation does not scare anyone because they have implemented the concepts very well.

I know that Beckhoff participates in these forums and we will probably get their answer (which I look forward to). Still, I would also like to hear from others also that may have recognized pieces in other places.
 
Not even close to the same thing. You are mostly HMI tools for VB. Berkhoff does not have HMI but points you to VB. They crunch the logic. Can you reference any one that has used your tools with theirs?
 
Hey Michael thanks for the nice observations. A couple of comments...

Beckhoff did start the software from scratch - 24 years ago. It's actually how the automation part of the company started - doing motion control with Intel processors, back even in the 8088 days, making windows no less (the kind you look through). Then when NT came around, they developed a method to chop up the processor time (no 3rd party) and believe me, they understand that end VERY well. Consequently, the software runs on any NT based OS and XP, and now CE and even XPe. Don't care about service packs, updates, nothing (not even the looming XP SP2) because the real-time kernel sits underneath Windows and actually
'allows' it to run.

Then when IEC61131-3 was ratified in 1993 (Beckhoff was very involved in its creation) TwinCAT was released - there is a lot of experience here in doing PC control for such a 'small' company. [Remember - small, smart, private companies are very nimble and able to perhaps push things
along faster than larger public companies.]

Now, the interface, the programming environment is from a third party and is commonly found in 1131 circles. The guts, however, *how* it works is all Beckhoff.

And your observation about object oriented roots is correct, but really it is IEC61113-3 that provides this mechanism. The reason it is not 'pushed further' is because these are 'real-time' environments and many of the properties of objects would obviate real-time behavior.

As far as stability, as long as you treat it as an INDUSTRIAL CONTROLLER and not your kids computer TwinCAT is very stable. There are tens of thousands of machines and processes all over the world using it, a few entire manufacturing plants. TwinCAT is well shook out. You, as the user and designer, must remember that it is not a PLC in that, yes, it is Windows, the environment is taintalizingly recognizable, but do not load up junk software on it. Ever. Do your control and motion control
code, run an HMI, create a database, and then lock it out. It IS as stable then as any PLC.

Robert Trask, PE
BECKHOFF Automation
Los Angeles, CA USA
760.525.7376
[email protected]
 
I should have recognized the real time kernel from the way it tanked performance and it felt like a bull in a china shop after installation. I have used similar systems from a couple of others. I wonder is the shell still is a 32 bit compile or is it now a 64 bit one. Based on the performance I will bet it is still 32 bit and causing the processor to thunk down often. Also you said it had never been upgraded.

For many years using a shell was the only solution. Now XP Pro (not XP Home) is supposed to have the features that make this un-necessary. This should provide for large improvements in performance and keep the safeties in XP intact. Shells like yours kind of do an end run around many of the things that make XP much more stable than there predecessors. Do you have any plans for using the new features in XP Pro and not using the shell? The Microsoft automates upgrades and service packs now I really do not mind them.
 
What in control land is using 64 bit out there? (not counting your XBox)

What 'real-time' kernel are you referring to that so inhibits performance? Perhaps you better do some investigation about 'double tick' technology - it will not make a computer 'feel' the way you are describing. A crappy real-time kernel that assigns a percentage of the processor to control tasks every cycle whether required or not will. Get your facts straight before posting such meaningless, even false, statements.

What is this shell? The Beckhoff RT method is a 'kernel extension', not a shell.

A good RT kernel will provide bandwidth for the O.S. to run, not the other way around.

And I don't like your terminology of 'thunk it down'. The processor is operated cyclically; it is not 'thunked' down.

Robert Trask, PE
BECKHOFF Automation
Los Angeles, CA
[email protected]
760.525.7376
 
I should have used the numbers 16 and 32 bit in place of 32 and 64.

I tend to use the terms kernel or shell interchangeably. There may be some finite differences but they both tend to work the same way. The shell or kernel loads first and Windows loads inside of it. You want to add the phase "extension" so please explain.

“Thunk” is a Microsoft term. I did not make it up and it is not slang. It refers to changing the processor mode between running 32 bit compiled code and 16 bit compiled code.

I still stand by my statements regarding feel of the computer.
 
hey, I just started to learn twincat. Now I`m looking for a user group whre I can ask some questions on the point. Do you or does someone else know a forum like this?
 
D

Dobrowolski, Jacek

Why not ask people here? I believe some of them do have experience with TWinCAT.

I know here at least one such a guy - myself :).

Regards,

Jacek Dobrowolski
 
C

Chris St.John

> I should have used the numbers 16 and 32 bit in place of 32 and 64.
>
> I tend to use the terms kernel or shell interchangeably.

Wrong.
Shell = User Interface
Kernel = Memory, CPU and I/O Management
Device Driver = Hardware Management

> There may be some finite differences but they both tend to work the same way. The shell or kernel loads first and Windows loads inside of it. You want to add the phase "extension" so please explain.

Kernel Extension = The Kernel needs a Driver to talk to the CPU, Memory and I/O buses. In Windows NT/2000/XP this is called the Hardware Abstraction Layer (HAL) and is supplied by Microsoft. My understanding is that TwinCAT operates its own custom HAL which controls the Kernel's access to CPU, Memory, I/O.
 
L

Lawence Miller

For example, how are modules administrated in TwinCAT 3.1? Activating C++ modules from Visual Studio creates the Windows drivers as shown by driverquery, but how can these modules and the corresponding Windows driver be removed? How can the installed modules be listed?

> Why not ask people here? I believe some of them do have
> experience with TWinCAT.
 
Top