"How is the most intelligent way to start the ladder to meet the spec's?"
I've never seen any specs for ladder exept of a general structure. Some have pretty complete specs on structure, not on how you'll make da thingy work.
They say thing like... all Grafcet will include a reset BIT. All actions will be driven by an internal BIT and these real output BIT will be place at the end of the Grafcet... Every lines or rung will have 3 lines of comments and you can only put a maximum of 2 parallel branches in a rung, etc, etc.
The more precise the specs are, the bigger the xcrew-up...
It is becoming so difficult to find a descent programmer that some companies thinck that by specifying the manner in which the program will be made, thay will assure a minimum of ease to troubleshoot or modify in the futur. Not so!
To start intelligently a ladder, in order to meet the specs... make a checklist of the specs and check all when done...
IMHO, a high level programming laguage like LL is only good when it does what its made for... i.e. make the machine work according to specs.
If you have caught 90% of the "what-ifs" by your analysis and you have a good, well organised and documented structure... then your not an intelligent but just a good programmer.
Some of my programs are just so dumb simple... some have thousand of lines but are still so dumb simple.
A-Write down the I/O list
B-Write down the process description
C-Write the Flowchart (or something close to it in your own words)
D-Mess it up with the What-Ifs
E-Write down your guess about the structure
F-Chesk if all this meets the specs ???
G-Write down your first line comments
H-Make the code match these comments
... Lather-Rinse-Repeat ...
As for what could the first rung be... myne are ALWAYS the same.
BUZZERS and ALARMS annonciators. When I have to intervine it's usually the first place I look for... and it's on the first line also
Try and find in the archive one of Terry's post which was darn good on this structure thingy...