geniusintraining said:
Ok, Let's break this down a bit (pun intended)
- STL is easier to program and faster
- LAD is easier to trouble shoot
- CSF is just weird... That was created by someone that was really board
Now lets look at three examples of the same logic and you tell me why STL is easier to trouble shoot (assumption of your thought by your post) how is a bubba expected to get this through that hard head of his???
I didn't say STL is easier to troubleshoot (although in some cases it is). I said that anyone who is capable of troubleshooting Ladder, pneumatic and hydraulic diagrams, and relay logic can learn to troubleshoot it.
In your diagrams, one thing you neglect to mention is that the STL code can be viewed all three ways anyway, so the troubleshooter can view it any way he wants. But in a case where boolean logic can't be viewed in Ladder, the first thing I tell the tech is "pay attention to the RLO". While online, it is very simple to quickly glance to the right and see which part of the logic is affecting the RLO. With a littlel practice, it is just as quick as ladder.
And when it comes to word instrucutions (math, shift, compare, etc), no one should have a problem either. I mean, who can't figure this out:
L MW10
L MW20
+I
T MW30
I consider myself a bubba (a very good bubba) but none the less, I have issue with someone making something hard 'just because they can'
I never make something hard just because I could if I want to. For one thing, I have to troubleshoot my own code while developing, so why would I make it harder? And GIT, I have read your posts, and I know you could understand every program I have ever written.
S7Guy, I disagree about the development time being shorter. SCL is the way to go. It is more efficient to buy a faster S7 to make up for inefficient code than to waste time shuffling registers around.
It depends on how you handle the pointers. I program symbolically and let Step7 calculate the pointers for me. If I change the addresses or alter the UDT and STRUCT sizes, I don't even have to change the code. In most cases, it isn't even obvious that I'm using pointers (or at least, you don't have to
care that I'm using pointers if you want to change the code).