2 ms·
Industrial control systems are often excellent candidates for visual programming, particularly because much of the logic is conditional and combinational in nat
by barik 14y ago
Industrial control systems are often excellent candidates for visual programming, particularly because much of the logic is conditional and combinational in nature (that is, IF X AND Y OR (P OR Z AND NOT Y) AND NOT ALARM) THEN OPEN VALVE), so they are often programmed in a language called "ladder logic" [1] or "relay logic". Such an approach lets you very quickly see what condition is "breaking" the chain that enables the output to actuate.
After some Googling, here's a screen capture [2] of what it looks like in practice (from the vendor of RSLogix).
On the other hand, if your logic is highly non-combinational (requires latches or states), then such a language can indeed become incredibly annoying to both write and debug, in which case you can often elect to use a traditional programming paradigm (as shown in the top right of [2]).
[1] http://en.wikipedia.org/wiki/Ladder_logic http://en.wikipedia.org/wiki/Ladder_logic
[2] http://www.rockwellautomation.com/rockwellsoftware/design/rslogix5000/images/rslogix5000.jpg http://www.rockwellautomation.com/rockwellsoftware/design/rs... The picture for the main sequencer might be read as "If you're not out of Ingredient A, and you're not out of Ingredient B, and you're not out of Vanilla, ...". There needs to be a "lighted green" path from the left to the output for the device to turn on; if it doesn't, then non-green element(s) are the reasons why the output is blocked.