CLASSICLADDER(9)
β¨ CLASSICLADDER β¨
okay bestie, sit down, hydrate, because we're talking about ClassicLadder β a realtime software plc based on ladder logic, and she's a HAL component in section 9 of the manual. this is the one you pull up when you need to know how the whole thing works. no cap. π
π SYNOPSIS π
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]
likeβ¦ look at her. two whole load commands. the way that she needs both a realtime half and a normal half is honestly giving duality. π¦
π DESCRIPTION π
so here's the vibe: this component is two things at once, and she ate.
- the non-realtime part loads the programmable ladder description π
- 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 β and if you don't want that (valid, sometimes we're in our headless era), you can turn it off with 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 β do not come for her with anything faster, she will not be moved), ClassicLadder reads the inputs, evaluates the ladder logic defined in the GUI, and then writes the outputs. that's the whole loop. periodt. π₯
π PINS π
classicladder.0.in-NNIN bit β these bit signal pins map to%INNvariables in ClassicLadder. πΈclassicladder.0.out-NNOUT bit β these bit signal pins map to%QNNvariables in ClassicLadder. output from ClassicLadder. she's the one doing the talking. π¬classicladder.0.s32in-NNIN s32 β integer input from ClassicLadder. these s32 signal pins map to%IWNNvariables in ClassicLadder. π’classicladder.0.s32out-NNOUT s32 β integer output from ClassicLadder. these s32 signal pins map to%QWNNvariables in ClassicLadder. π’classicladder.0.floatin-NNIN float β integer input from ClassicLadder. these float signal pins map to%IFNNvariables in ClassicLadder. and bestie, listen: these are truncated to S32 values internally. e.g.7.5will be7. yes, she's cutting the decimals off. it's giving "i said what i said". βοΈclassicladder.0.floatout-NNOUT float β float output from ClassicLadder. these float signal pins map to%QFNNvariables in ClassicLadder. π«§classicladder.0.hide_guiIN 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. lowkey the most useful girlie here ngl. π§
π¦ PARAMETERS π¦
classicladder.0.refresh.timeRO s32 β tells you how long the last refresh took. β±οΈclassicladder.0.refresh.tmaxRW s32 β tells you how long the longest refresh took. the personal best. the record. the icon. πclassicladder.0.ladder-stateRO s32 β tells you if the program is running or not. a simple girl. a yes or no girl. π
β FUNCTIONS β
classicladder.0.refreshFP β 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 every1millisecond (1000000ns).
bestie, real talk: she said no faster than once every 1 millisecond (1000000 ns). that's not a suggestion, that's the ceiling. put her on a faster thread and she's still gonna do her little refresh at her own pace. main character energy honestly. π
π BUGS π
see http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124 for the latest. (we don't do gossip here, we do links. go read. fr fr.) π
πΈ SEE ALSO πΈ
- ClassicLadder chapters in the LinuxCNC documentation for a full description of the ClassicLadder syntax and examples. π
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124
and that's the whole page, bestie. π«Ά this little love letter to ClassicLadder(9) came to you straight from the LinuxCNC Documentation, dated 2008-11-23 β yes, she's an elder, and yes, she still slays. mwah. πβ¨π
π¦ where this page comes from
- debian trixie: linuxcnc-uspace 1:2.9.4-2+deb13u1 Β· GFDL-1.1-or-later
- ubuntu questing: linuxcnc-uspace 1:2.9.4-2ubuntu2
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms