Ravioli
Member
And colorization IS a nice feature, I'll admit that, but I don't see why ST couldn't do the same thing. If it's a boolean variable and it's ON, then show the variable name in bright green.
Colorization would be fantastic if added to RSLogix, to at least show the value of BOOLs. Right now hovering over a tag will tell you at that time what the value is, but doesn't update unless you move off and move back. Plus if you're looking at 6 conditions for a machine to change state, it can be hard to monitor vs. in ladder where you can see the inputs come in as they happen. There's no reason they couldn't add this colorization, but they haven't, and that's what cripples ST for troubleshooting. SFC at least highlights the active step.
Another good thing with Ladder, is when other constructs are used (counters, timers, messages), you also see what the accumulator and preset values are as they come in, if it's in error, DN, etc.
Excessive JMPs can be hazerdous in a PLC program cause done improperly they can lead to watchdog fault, if you never leave your loopGood point about use of JMPs and LABELS. It's just not considered good programming practice. Leave that stuff to the compiler writer.
As to your reply regarding the "popularity" of Ladder logic, I really believe Ladder has survived because Industrial Controls programming (for whatever reason) has lived in a vaccum all these years, while conventional programming languages have continued to evolve. Windows OS is not written in Ladder logic. No application that runs on your phone is written in Ladder Logic. Ladder Logic is not "popular", it's just a niche "language" that evolved for PLC processors out of the early days of relays. But instead of moving mainstream with the PLC programming language, Rockwell chose to expand Ladder to include Function Blocks, then user-defined Function Blocks, and that's about it. And while Ladder was probably readable in the early days, it's gotten too convoluted with all the rungs extending down the screen, and all the awkward wiring connections you have to insert when IFs start getting more complicated.
Industrial controls probably exist in a vacuum because products have really long lifecycles. So much time and cost goes into building any given custom PLC panel and program, upgrades can be hard to justify, as it can easily costs hundreds of thousands to upgrade a complex system, with no major improvement in functionality since the mechanical system it's controlling is the same. For this reason we have PLC2 ladder programs that were converted to PLC5 programs, and we're struggling to get funding to convert to ControlLogix as PLC5 is approaching its sunset date.
With ladder it's probably more readable now because high resolution monitors are so common place vs text based 6200 software, or handheld programmers.
Use the right tool for the job. We have programs that use a combination of ST, SFC, and LD.
ST for algorithms, and initialization code
SFC to control the main state of the process (with steps that aren't that complicated)
LD dealing with the actual IO.
Usually when maintenance are in, they are looking at the IO in the ladder, as that's where the problem usually resides. This combinations leaves maintenance happy because they can still troubleshoot their ladder, and leaves the programmers happy because they can use ST.