classicladder - realtime software plc based on ladder logic
loadrt classicladder_rt [numRungs=N] [numBits=N] [numWords=N] [numTimers=N] [numMonostables=N] [numCounters=N] [numPhysInputs=N] [numPhysOutputs=N] [numArithmExpr=N] [numSections=N] [numSymbols=N] [numS32in=N] [numS32out=N] [numFloatIn=N] [numFloatOut=N]
loadusr classicladder <file name> [--nogui]
This component consist of a realtime part and a non-realtime part. The non-realtime part loads the programmable ladder description, while the realtime part provides the pins. The file name of the configuration can be changed using an argument to the non-realtime part. By default the non-realtime part provides a graphical visualisation of the loaded ladder, which can be disabled using the --nogui option to the non-realtime part.
These pins and parameters are created by the realtime classicladder_rt module. Each period (minimum 1000000 ns), ClassicLadder reads the inputs, evaluates the ladder logic defined in the GUI, and then writes the outputs.
classicladder.0.in-NN IN bit
These bit signal pins map to %INN variables in ClassicLadder.
classicladder.0.out-NN OUT bit
These bit signal pins map to %QNN variables in ClassicLadder. Output from ClassicLadder.
classicladder.0.s32in-NN IN s32
Integer input from ClassicLadder. These s32 signal pins map to %IWNN variables in ClassicLadder.
classicladder.0.s32out-NN OUT s32
Integer output from ClassicLadder. These s32 signal pins map to %QWNN variables in ClassicLadder.
classicladder.0.floatin-NN IN float
Integer input from ClassicLadder. These float signal pins map to %IFNN variables in ClassicLadder. These are truncated to S32 values internally, e.g. 7.5 will be 7.
classicladder.0.floatout-NN OUT float
Float output from ClassicLadder. These float signal pins map to %QFNN variables in ClassicLadder.
classicladder.0.hide_gui IN bit
This bit pin hides the ClassicLadder window, while still having the non-realtime code run. This is usually desirable when modbus is used, as modbus requires the non-realtime code to run.
classicladder.0.refresh.time RO s32
Tells you how long the last refresh took.
classicladder.0.refresh.tmax RW s32
Tells you how long the longest refresh took.
classicladder.0.ladder-state RO s32
Tells you if the program is running or not
classicladder.0.refresh FP
The rung update rate. Add this to the servo thread. You can added it to a faster thread but it. Will update no faster than once every 1 millisecond (1000000 ns).
See https://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124 for the latest.
ClassicLadder chapters in the LinuxCNC documentation for a full description of the ClassicLadder syntax and examples.
https://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124