SiemensPPI visualization:

For SiemensPPI you need a daemon that reads PLC signals cyclically into a shared memory. Also the daemon provides a Mailbox for outputting messages to the PLC. In order to create this daemon do the following.

  • Load your project
  • Choose Daemon->PPI
  • Set the parameters of your serial line (tty)
  • For every data you want to read from the PLC input a cycle as shown in the example
  • When you are finished with the INI file, click "Compile" and then "Close"
  • The daemon will be created and stored in ppidaemon.*
  • Refer to "Help" for instructions howto run the daemon in background
  • Now that you have created your SiemensPPI daemon you have todo something in your ProcessViewServer.

  • Click Project and uncomment rllib in the project file:

  • unix:LIBS += /usr/lib/librllib.so
    unix:INCLUDEPATH += /usr/local/include/rllib
    win32:LIBS += $(RLLIBDIR)\rllib.lib
    win32:INCLUDEPATH += $(RLLIBDIR)
  • Click Main and uncomment:

  • rlPPIClient ppi(ppidaemon_MAILBOX,ppidaemon_SHARED_MEMORY,ppidaemon_SHARED_MEMORY_SIZE);
  • Click Header and uncomment:

  • #include "rlppiclient.h" // this is from rllib #include "ppidaemon.h" // this is generated
  • Click into your Mask and uncomment (at top of file):

  • extern rlPPIClient ppi;

    Now you can display PLC signals within your mask.

  • Click Mask. And then RadioButton "showData"
  • Uncommend the variable "val"
  • Position the cursor under:

  • // (todo: add your code here)
  • Click "Insert Function(...)"
  • Choose a function from rlSiemensPPIClient
  • Now the variable "val" contains your PLC signal. You have to display it.
  • Click "Widget Name" in the toolbox on the left side of the window.
  • Right click on the signal you want to use for displaying a PLC value.
  • Choose function and click "insert"
  • In case you output to a Table you have to input x,y
  • In case you output to a ListView you have to input the path
  • In order to compile and link your ProcessViewServer click "Action->make"