Hi David
I mentioned PLC was ABB 800xA ..............................................
.........
Hugh
That processor has some nice features, but a limited instruction set so it is not as simple to do the functions that are available in PLCs with advanced instructions. A lot more needs to be done to deal with math on files. Where one function in advanced PLCs will average a group of words, unless I am missing something, that is not available in the ABB 800
One of its strengths however is that you can use several programming languages which gives you some flexibility to decide which one is best for your application.
I did a large Job for American Family Insurance Headquarters in Madison Wisconsin several years ago - We put together a SCADA for their DATA Center. They have 7 large generators and we used a Modicon PLC to handle the switching. I used FB programming for that. It was very complex, I never programmed anything that had so many conditions controlling one output.
I would have hated to have had to use Ladder logic for that job. FB made it much easier to see the flow. So If you are wanting to get into Function Block programming, although it has some drawbacks it would be worth a try just to get familiar.
One suggestion to you is to break up your program into separate files of associated control parts as sub-routines. Such as.. if you are controlling say, the doors on a parts washer, put all the door control in one file by its self. It is then easy to copy that logic to another program that uses the same logic and much easier to trouble shoot then scattering it through your program with unrelated logic.
There are many ways to break up a program in the order that makes the most sense for a given application. I put all lighting control in a subroutine for example and Alarm Monitoring in another, and so on.
Other programmers have their preferences and there is no real wrong way but you need to understand how the I/O and other data tables are updated regardless what you do or you can be scratching your head trying to figure out why something looks like it should be turning on or off is not doing what you think it should when you look at the logic. The Obvious is not always so obvious.