A very rough indicator, I would say?
If you have 1000 rungs with 2 discrete instructions each...
Or...
If you have 500 rungs with 6 discrete instructions each...
Or...
If you have 250 rungs with 1000 instructions made up of Discrete, Compute, Arithmetic, PID and Message instructions?
Which do you think would have involved more work?
If you have two programs with an equal number of rungs, the work contained within those rungs could vary significantly between the two programs.
Don't forget branches. Branches form part of a rung and so all your branching or nesting code would not be considered separately. This could be substantial.
The number of rungs used does not account for how many tags had to be created. Nor does it consider the amount of I/O Configuration that has been done.
The point I am making is that basing the amount of work done on the number of rungs used is not really a good basis to begin with, even for a rough estimate. The time taken to do work is usually the most effective method of quantifiction and costing. Also, controller memory used is another indicator you can go by for a rough estimate.
If you are a customer trying to quantify the amount of work done to second guess a programmer's bid or bill, then they will not accept any claims you make that they charge too much based on the number of rungs used.
If you are a programmer trying to cost work done, based on the number of rungs used, you could potentially be doing yourself a disservice.
Most, I'm sure, charge by the hour. The more complex the program, the more hours are spent. Billable hours are what most go by.
Regards
George