linuxcnc/docs/man/man9/classicladder.9
2022-09-08 00:07:41 +02:00

90 lines
3.2 KiB
Groff

.\"
.TH CLASSICLADDER "9" "2008-11-23" "LinuxCNC Documentation" "HAL Component"
.SH NAME
classicladder \- realtime software plc based on ladder logic
.SH SYNOPSIS
\fBloadrt classicladder_rt [numRungs=\fIN\fB] [numBits=\fIN\fB] [numWords=\fIN\fB] [numTimers=\fIN\fB] [numMonostables=\fIN\fB] [numCounters=\fIN\fB] [numPhysInputs=\fIN\fB] [numPhysOutputs=\fIN\fB] [numArithmExpr=\fIN\fB] [numSections=\fIN\fB] [numSymbols=\fIN\fB] [numS32in=\fIN\fB] [numS32out=\fIN\fB] [numFloatIn=\fIN\fB] [numFloatOut=\fIN\fB]
\fBloadusr classicladder <file name> [--nogui]
.SH DESCRIPTION
This component consist of a realtime part and a non-realtime part
(often called 'userspace' in the LinuxCNC documentation). 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.
.P
These pins and parameters are created by the realtime \fBclassicladder_rt\fR module.
Each period (minimum 1000000 ns), classicladder reads the inputs, evaluates the ladder logic defined in the GUI, and then writes the outputs.
.SH PINS
.TP
\fBclassicladder.0.in\-\fINN\fB\fR IN bit
These bit signal pins map to \fB%I\fINN\fR variables in classicladder.
.TP
\fBclassicladder.0.out\-\fINN\fB\fR OUT bit
These bit signal pins map to \fB%Q\fINN\fR variables in classicladder.
Output from classicladder.
.TP
\fBclassicladder.0.s32in\-\fINN\fB\fR IN s32
Integer input from classicladder.
These s32 signal pins map to \fB%IW\fINN\fR variables in classicladder.
.TP
\fBclassicladder.0.s32out\-\fINN\fB\fR OUT s32
Integer output from classicladder.
These s32 signal pins map to \fB%QW\fINN\fR variables in classicladder.
.TP
\fBclassicladder.0.floatin\-\fINN\fB\fR IN float
Integer input from classicladder.
These float signal pins map to \fB%IF\fINN\fR variables in classicladder.
These are truncated to S32 values internally. eg 7.5 will be 7.
.TP
\fBclassicladder.0.floatout\-\fINN\fB\fR OUT float
Float output from classicladder.
These float signal pins map to \fB%QF\fINN\fR variables in classicladder.
.TP
\fBclassicladder.0.hide_gui IN bit
This bit pin hides the classicladder window, while still having the userspace code
run. This is usually desirable when modbus is used, as modbus requires the userspace
code to run.
.SH PARAMETERS
.TP
\fBclassicladder.0.refresh.time\fR RO s32
Tells you how long the last refresh took.
.TP
\fBclassicladder.0.refresh.tmax\fR RW s32
Tells you how long the longest refresh took.
.TP
\fBclassicladder.0.ladder\-state\fR RO s32
Tells you if the program is running or not
.SH FUNCTIONS
.TP
\fBclassicladder.0.refresh\fR 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).
.SH BUGS
See http://wiki.linuxcnc.org/cgi\-bin/wiki.pl?ClassicLadder_Ver_7.124 for the latest.
.SH SEE ALSO
\fIClassicladder\fR chapters in the LinuxCNC documentation for a full description of the \fBClassicLadder\fR syntax and examples.
http://wiki.linuxcnc.org/cgi\-bin/wiki.pl?ClassicLadder_Ver_7.124