use software PLC to control a real system

Help
gaelle
2004-06-18
2004-06-23
  • gaelle
    gaelle
    2004-06-18

    Hi,

    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,
    Gaelle

     
    • Kloz Vladimir
      Kloz Vladimir
      2004-06-18

      Hi,
      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.

      Best Regards

      Voloda

       
    • gaelle
      gaelle
      2004-06-18

      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.

      Gaelle

       
      • Kloz Vladimir
        Kloz Vladimir
        2004-06-18

        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 :).

        Regards Voloda

         
    • gaelle
      gaelle
      2004-06-18

      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,
      Gaelle

       
    • Kloz Vladimir
      Kloz Vladimir
      2004-06-18

      Thanks for your intrest.

      Have a nice week-end too. :)

      Voloda

       
    • 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 ?