CLASSICLADDER(9)

πŸ“¦
version 2.9.4 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ 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-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. she's the one doing the talking. πŸ’¬
  • 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. and bestie, listen: these are truncated to S32 values internally. e.g. 7.5 will be 7. yes, she's cutting the decimals off. it's giving "i said what i said". βœ‚οΈ
  • 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. lowkey the most useful girlie here ngl. 🧚

πŸ¦‹ PARAMETERS πŸ¦‹

  • 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. the personal best. the record. the icon. πŸ‘‘
  • classicladder.0.ladder-state RO s32 β€” tells you if the program is running or not. a simple girl. a yes or no girl. πŸ’€

⭐ FUNCTIONS ⭐

  • 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).
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 🌸


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. πŸ’–βœ¨πŸŽ€