PC-based PLC with under 1 mS scan time?

jdbrandt

Lifetime Supporting Member
Join Date
Oct 2002
Location
Pennsylvania
Posts
1,203
Does anybody here think this is possible?
-or-
Perhaps another way to ask: Does anybody know of a verified proof of this, for a program of more than a few rungs.
.
Of course, the test is the I/O.
If, for instance, such a thing existed, and high speed I/O existed, a 24VDC digital output could be strobed ON for 1.0 mS and OFF for 1.0 mS, and could be observed on a scope.
.
The real question is: Can it be done?
 
Soft-PLCs need an extension to Windows to achieve sub-10ms updates.
Siemens WinAC RTX for example has that. The "RTX" stands for "Realtime extension".
Also Beckhoff has that (in fact once installed for testing, I had a hard time removing it again !).

You have to also factor in other factors to get the total update time.
In addition to the program scan, the update of the output module, and the physical propagation delay you have to add the update of the i/o bus.
For Siemens it would be Profibus or Profinet. To get sub-1ms update you would have to go to the "IRT" variant of Profinet.
 
I'm very skeptic when it is about Windows and very precise real time control. Never heard about Windows "Real-time extension". Can anybody with experience regarding this extension share some info? I would appreciate.

Best regards,
Vuckovic Goran.
 
I know that I have worked on control systems that used SERCOS, & windows as a front end, with PC hardware, & a dedicated real time controller card plugged in with a real time OS loaded "under" windows, & I mean, before rather than in IIRC, and these controlled axis synchronisation in real time over SERCOS across may axes and over quite long distances, the digital IO was not quite real time, but there was real time comms between the axes.
Check out the SERCOS link above, the kit was by Indramat, now Bosch Rexroth.
 
Just curious - why the requirement for PC based? Some of the motion controllers we use operate at these types of speeds but they are not PCs - as others have said, a real time OS is needed. We do a lot of with Windows and Linux, but do not use real time kernels or anything and I see variability up to 30ms. Then we move to an embedded system with a proper RTOS (real time OS) and the jitter drops to single digits, usually even better, for Ethernet communications.
 
a PLC is not fast enough
a PC uses interupts so is not precise enough.
a Microcontroller can do this with ease look at arduino for example
 
shooter,
I've made application for bullet speed measuring, using PLC, but with very fast counter input. So I think, you statement that PLC is not fast enough is not valid.

Best regards,
Vuckovic Goran.
 
You can do it with Beckhoff, take a look at their web site and check XFC (eXtreme Fast Computing). Using a powerful PC with TWinCAT 3 dedicating any of the processor cores to your task and using ethercat as fieldbus with the correct IO cards will do it for you.

We've been working with them for years and I'm happier than a clam with my decision, never had a problem (apart of two devices that have failed (one IO card and one controller)).

The best you can do is to contact them and ask for some benchmarks and specifications to be sure that it will do it for you.

Good luck!
 
Phoenix has PC WORX RT, which runs independent of the Windows installation.

There is basically only two ways to utilize Windows and come up with a deterministic controller on a PC: the Windows real time extension, or installing a 'side' operating system that runs independently of Windows. I'm not familiar enough with the Windows real time extension to comment on that, but, as with many others, being at the mercy of Microsoft gives me bad vibes. A 'side booting' OS (the Phoenix solution, and I imagine a few others - I'm most familiar with PxC) will run whether or not Windows crashes, some offer tags or variables that allow you to check how windows is operating, and if it's busted, the program can take action. 'Side boot' OS's do grant you the determinism and reliability of a PLC, with the power of a full CPU. I know certain configurations are capable of processing 1000 instructions in under one us, but your mileage may vary.

Profinet (non-IRT) can offer sub millisecond updates, depending on your network infrastructure and topology. It's a matter of design. On the other hand, IRT can give you sub 10 us update times (also depending on topology), but your infrastructure will have to be more specialized, and it requires a bit more configuration.
 

Similar Topics

I am trying to use tag based alarms in Studio 5000. It seems really great at making alarms automatic. I have a few alarms that require...
Replies
0
Views
1,055
I got a problem concerning the change of coins from a vending machine plc based, i use the rs logic starter lite with Rs emulate 500 along with...
Replies
5
Views
2,073
Dear Members, I am new to S5 series PLC, In one of my application, I need to communicate S5 6ES5942-7UA12/ or S5 6ES5941-7UA12 PLC with HMI(PC...
Replies
6
Views
2,177
How can I get a rough estimate of how much memory I will need for a controller if the code is not written yet, but I know how much I/O it will be...
Replies
10
Views
3,357
Greeting, I am doing some investigations on which driver(s) support tag based addressing (eg. Pump001_Running) rather than DB or Modbus based...
Replies
4
Views
3,736
Back
Top Bottom