Do you think that it could be possible to control a real system using Software PLC and RTLinux via Ethernet and TCP/IP using Modbus protocol ?
What is the time response guaranteed by your software ?
Thank you for your help,
the system was developed as my diploma thesis. As the part of program was developed a sample program for controling the rotations of the uniflow motor.
The controlling software contains 3 RT thread, the shortest time of one scan-cycle for thread was about 50us.
But I think, that the system wasn't sometimes used in real system.
If you'll have an another question or need a help, please contact me.
Thank you for your quick answer !
I have many other questions...
- Does the controller software has a cycle in three phases (reading inputs, executing the program and writing the outputs) ?
- Do you know the "time accuracy" of the RT linux kernel ? Is it taken into account in the 50s you mentionnned ?
- What type of signals or frames are generated by the soft (digital signals, ethernet frames...) ?
- and finally, did you published some scientific (or not) articles in english about this soft ?
Don't hesitate to ask me precisions if you do not understand a question.
1. There is a problem with the three phases cycle execution. The PLC system is created as defined in IEC-1131-3.
So the PLC program have no main cycle as usually known from classical PLC (such as Simatic). It only has PLC (or Real-Time( threads, which may be
started periodicaly or conditionaly or by a rising adge of specified variable/input.
So if you have more than one PLC thread (with different priorities specified), you don't now, when you can read inputs or write outputs.
Currently tested drivers for inputs/outputs (parallel port, communication with the Linux user-space) are reading/writing values at access time.
But every driver may result this in the specific way (the input/output may be sampled with given required frequency).
2. I don't know accuracy of the Real-Time Linux system. You can get more informations on RT Linux homepage (http://www.fsmlabs.com).
I think, this is more better than 50us. The mentioned time was maened as minimal "scan cycle" length on Pentium III/700Mhz computer.
3. Generated signals depends on used drivers. Tested driver for parallel port generates digital inputs/outputs, driver for communication with
user-space generates data frames with copy of memory mapped to input/outputs (from PLC program you are accessing inputs/outputs which
are then send to Linux user-space and use them for example to visualisation).
4. No, but I can do this, if you have more questions :).
Thank you very much ! no more question for the moment, you can begin your week-end ;-)
I will see if it can be used to implement some controllers and maybe I will have other questions...
Have a nice evening,
Thanks for your intrest.
Have a nice week-end too. :)
I've seen that there are other project like yours, and particularly one which seems very advanced, MatPLC. Why don't you use an already existing softPLC ?