Here I am on my last day of work until 2010 and full of wine and maybe song later. I had a brief flirtation with AB for a motion app back in 1999 then spent nine years on planet Siemens with S5, S7 and Simotion and I have recently returned to Planet AB with PLC5, SLC500 and ControlLogix. There is only one thing to be said: all these systems are good/bad bad/good nothing is perfect so we just have to get on with it. Both have their merits, its christmas share the love.
If you were using the right tool you wouldn't need to make your own tool or fix the one you have. All that STL code is simply hidden in the FC but it is still there. It still needs to be written, debugged and documented. I don't see how that your example trumps doing this in one COP or MOV block.
I don't see how making my own Ethernet RMC Read and RMC Write blocks last summer trumps a Rockwell MSG block. Even after all the effort I put into I know that the block doesn't do the queuing like the Rockwell MSG block does.
The reason why my 'integrator winds up into saturation' is that I should not need to write code our own equivalent of a MSG block nor should anyone need to write their own recipe FC. It isn't just the MSG block. It is all the customers that call and need help with the same basic things.
I do think Siemens should be paying you for all the tech support you have supplied.
STL is not so easy to understand at first glance but it contains many powerfull features. And according to me it is always good if the system allows you to interfere low level like accumulators directly. If you dont want to use them you can simply avoid them. And to a microprosesor based guy accumulators arent strange at all.Actully after a certain times you can begin to like them
It is called Step7 beacuse you can write your program in 7 differnet ways and eveyone has it ups and downs compared to the others. And when it comes to data prossing like maths or copying recipes, formulas SCL is a stronger tool but it has downs to like you can not watch the code online very easily.
When it comes to seqeunces grapgh is stong but you need more memory... The important part is to choose the best suitable type for the application
On the other hand the standart features like communication blocks (mosttly), recipe copy blocks, enginering block Scale/Unscale or RTC, etc... are the most important part according to me because one it is standarized you can count on it.You even dont think it will work corretly or not and you only spend time about the interface of the block by reading help data. Maybe it doesnt take so long to write you own FB or FC but when it comes to reading someone others code on a faulty machine without comments, you really will need to press F1 and see the standart in/out features of the block.