On Tuesday, May 26, 2009 5:32:09 PM UTC-4, antaresanto wrote:> Does anybody know what's the operating system running on Siemens S7 > PLC or other PAC ( programmable automation controllers ) by Siemens ? > And what about other companies like Rockwell automation , GE > Fanuc, ... > Have you got otherwise a link to a survey of the most used operating > systems in embedded automation controllers ? > thanksI realize this is an ancient thread, but I'm also trying to figure out which OS Siemens is using in the S7 line. I know Rockwell's ControlLogix and MicroLogix are both VxWorks, and their older PLCs are Microware. B&R is all VxWorks. Beckhoff uses Windows CE or Windows Embedded with RT. VxWorks is the clear leader since mid 2000's to now and there is a fairly good chance the S7s are running it, but Siemens has used RTX on some other products, so that might be it as well. There are a lot of people saying S7 is a home grown kernel, but I can't imagine that is true. More likely such assertions are ignorance (similar to the asinine first several responses to the original question). The idea that a PLC somehow does not need an OS just shows a fundamental misunderstanding of what a PLC is an OS is or both. Take a look at the wikipedia page http://en.wikipedia.org/wiki/List_of_real-time_operating_systems. I guarantee more than 99% of PLCs in production use one of the packages in that list.
PLC PAC operating system
Started by ●May 26, 2009
Reply by ●September 4, 20142014-09-04
Reply by ●September 4, 20142014-09-04
As it turns out, Siemens did make their own in-house RTOS for the S7 platform and there are rumblings that they put in the Basisk backdoor admin password to facilitate the creation of Stuxnet. Anyway: http://www.iestcfa.org/presentations/sies2011/rene_graf.pdf
Reply by ●September 4, 20142014-09-04
On Thu, 4 Sep 2014 13:13:42 -0700 (PDT), isaac.a.brown@gmail.com wrote:>The idea that a PLC somehow does not need an OS just shows a fundamental misunderstanding of what a PLC is an OS is or both. >Take a look at the wikipedia page http://en.wikipedia.org/wiki/List_of_real-time_operating_systems. I guarantee more than 99% of PLCs in production use one of the packages in that list.Why would a single loop PLC need a real time kernel ? After executing the program, it either restarts immediately or after the next clock interrupt ? After all, the PLC is quite similar to a DSP application. The PLC application executes the same applications a few tens or few hundred times a second, an audio DSP executes the program perhaps 48000 times a second.
Reply by ●September 4, 20142014-09-04
On 14-09-04 23:56 , upsidedown@downunder.com wrote:> On Thu, 4 Sep 2014 13:13:42 -0700 (PDT), isaac.a.brown@gmail.com > wrote: > >> The idea that a PLC somehow does not need an OS just shows a fundamental misunderstanding of what a PLC is an OS is or both. >> Take a look at the wikipedia page http://en.wikipedia.org/wiki/List_of_real-time_operating_systems. I guarantee more than 99% of PLCs in production use one of the packages in that list. > > Why would a single loop PLC need a real time kernel ? > > After executing the program, it either restarts immediately or after > the next clock interrupt ? > > After all, the PLC is quite similar to a DSP application. The PLC > application executes the same applications a few tens or few hundred > times a second, an audio DSP executes the program perhaps 48000 times > a second.The referenced presentation (quite interesting, by the way) explains that a high-end/high-speed PLC performs control of several kinds: Current Control, Speed Control, Position Control, Kinematics Control, and that these controls are executed at different frequencies, with Current Control highest frequency, Kinematics control lowest. A pre-emptive RTOS may thus be useful. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ .
Reply by ●September 4, 20142014-09-04
On 2014-09-04, Niklas Holsti <niklas.holsti@tidorum.invalid> wrote:> On 14-09-04 23:56 , upsidedown@downunder.com wrote: > >> Why would a single loop PLC need a real time kernel ? >> >>[...] > > The referenced presentation (quite interesting, by the way) explains > that a high-end/high-speed PLC performs control of several kinds: > Current Control, Speed Control, Position Control, Kinematics Control, > and that these controls are executed at different frequencies, with > Current Control highest frequency, Kinematics control lowest. > > A pre-emptive RTOS may thus be useful.Even the low-end PLCs these days usually support one or more Ethernet interfaces and a half-dozen protocols (they often include a web server). Even before Ethernet was widespread, there was usually a high-speed serial port or two with various protocols to support connection to engineering tools and SCADA systems. -- Grant Edwards grant.b.edwards Yow! In 1962, you could buy at a pair of SHARKSKIN SLACKS, gmail.com with a "Continental Belt," for $10.99!!
Reply by ●September 4, 20142014-09-04
On Fri, 05 Sep 2014 00:09:27 +0300, Niklas Holsti <niklas.holsti@tidorum.invalid> wrote:>On 14-09-04 23:56 , upsidedown@downunder.com wrote: >> On Thu, 4 Sep 2014 13:13:42 -0700 (PDT), isaac.a.brown@gmail.com >> wrote: >> >>> The idea that a PLC somehow does not need an OS just shows a fundamental misunderstanding of what a PLC is an OS is or both. >>> Take a look at the wikipedia page http://en.wikipedia.org/wiki/List_of_real-time_operating_systems. I guarantee more than 99% of PLCs in production use one of the packages in that list. >> >> Why would a single loop PLC need a real time kernel ? >> >> After executing the program, it either restarts immediately or after >> the next clock interrupt ? >> >> After all, the PLC is quite similar to a DSP application. The PLC >> application executes the same applications a few tens or few hundred >> times a second, an audio DSP executes the program perhaps 48000 times >> a second. > >The referenced presentation (quite interesting, by the way) explains >that a high-end/high-speed PLC performs control of several kinds: >Current Control, Speed Control, Position Control, Kinematics Control, >and that these controls are executed at different frequencies, with >Current Control highest frequency, Kinematics control lowest. > >A pre-emptive RTOS may thus be useful.A single loop PLC does not need any RTOS. Any multi loop PLC would definitively benefit from a good pre-emptive RTOS kernel.
Reply by ●September 4, 20142014-09-04
On Thu, 4 Sep 2014 21:26:20 +0000 (UTC), Grant Edwards <invalid@invalid.invalid> wrote:>On 2014-09-04, Niklas Holsti <niklas.holsti@tidorum.invalid> wrote: >> On 14-09-04 23:56 , upsidedown@downunder.com wrote: >> >>> Why would a single loop PLC need a real time kernel ? >>> >>>[...] >> >> The referenced presentation (quite interesting, by the way) explains >> that a high-end/high-speed PLC performs control of several kinds: >> Current Control, Speed Control, Position Control, Kinematics Control, >> and that these controls are executed at different frequencies, with >> Current Control highest frequency, Kinematics control lowest. >> >> A pre-emptive RTOS may thus be useful. > >Even the low-end PLCs these days usually support one or more Ethernet >interfaces and a half-dozen protocols (they often include a web >server). Even before Ethernet was widespread, there was usually a >high-speed serial port or two with various protocols to support >connection to engineering tools and SCADA systems.Ethernet or fast RS-232/422/485 can be easily handled in ISRs and the applications can be executed in a single non-RTOS systems. When you have a dozen or two serial or ethernet interfaces,and multiple loops, any RTOS kernel will help a lot :-)
Reply by ●September 4, 20142014-09-04
On 9/4/2014 1:56 PM, upsidedown@downunder.com wrote:> On Thu, 4 Sep 2014 13:13:42 -0700 (PDT), isaac.a.brown@gmail.com > wrote: > >> The idea that a PLC somehow does not need an OS just shows a >> fundamental misunderstanding of what a PLC is an OS is or both. >> Take a look at the wikipedia page >> http://en.wikipedia.org/wiki/List_of_real-time_operating_systems. I >> guarantee more than 99% of PLCs in production use one of the >> packages in that list. > > Why would a single loop PLC need a real time kernel ?Real-time does not mean real fast. Rather, it means the kernel *makes* timeliness guarantees to the tasks running on it. Even if it is a single thread of execution. The same is not true of an MTOS or even "a big while(1) loop". Additionally, there may be a single "user loop" but that doesn't mean there aren't other concurrent activities happening "behind the scenes". E.g., communication drivers, "canned" PID loops, "programmer" interfaces, etc. Inputs could potentially be sampled synchronously ("real time guarantees") by the "system" and presented to the user's control loop. Similarly, outputs could be "accumulated" (from that control loop) and presented to the field also synchronously. Hiding all of this from the user/programmer makes his job easier (and less troubled by things like races, etc.)> After executing the program, it either restarts immediately or after > the next clock interrupt ? > > After all, the PLC is quite similar to a DSP application. The PLC > application executes the same applications a few tens or few hundred > times a second, an audio DSP executes the program perhaps 48000 > times a second.







