| PLC programmers have been faced with a steep | | | | exactly where the fault was, the drive was |
| learning curve over the last 25 years, as | | | | replaced and production resumed within half an |
| technologies have moved quickly and almost all | | | | hour. Think information and look at what can hang |
| industries have implemented programmable logic | | | | up the operation. |
| controllers as a standard. This means that good | | | | One good technique I have found on making code |
| experienced programmers are hard to find, and | | | | more robust is sequential counts; I have spent the |
| while most companies offer programming | | | | last 5 years developing my own ladder sequential |
| services there are important features which are | | | | charts. After working with manufacturers own |
| often missed out. | | | | add -on packages ,at a premium, my opinion is |
| Firstly a PLC programmer should write code so | | | | ladder steps are more cost effective and usable. |
| that it can be easily understood. Documentation | | | | Documentation - As a minimum every PLC code |
| and structure are essential. This often involves a | | | | should include as a minimum an Operand |
| working knowledge of the plant or process, a | | | | comment, whether this is an input output or |
| good PLC should be able to solve engineering | | | | internal register. In my project I will also always |
| problems from a specification, not just produce | | | | try to cross reference this with the electrical |
| lines of code. From my experience the best PLC | | | | drawing. Block Comment the first block in a PLC |
| programmers are always firstly engineers. | | | | code should include important traceability |
| Secondly the end user should never need to look | | | | information, a comment of any modifications the |
| at the PLC programmer's code this might seem a | | | | date and reasons should be quickly visible. Rung |
| contradiction of point one but a good program will | | | | comment all rungs should give a functional |
| perform without intervention. I work on the | | | | description of what they are doing. |
| theory if something looks rushed and untidy it | | | | Structure - Structure should always follow the |
| usually is. | | | | flow of the machine, for example a packaging |
| Thirdly think robustness this means if a machine | | | | machine should start a infeed, define each |
| or process stops the operator/technician should | | | | operation in a separate routine and end with the |
| know why straight away, diagnosing software | | | | out feed. This technique seems to have been |
| faults should not require a specialist. With the | | | | missed by many programmers making diagnosis |
| implementation of field busses and integrated | | | | and modification difficult. |
| devices this becomes increasingly difficult as | | | | It should never be underestimated how much |
| programmers often adopt the Idea of it works | | | | machine/process availability can be increased |
| leave it, upon the first failure nobody can ever | | | | through good programming techniques. |
| diagnose the issue. When using new technologies | | | | Remember PLC programming is not a black art, |
| time should be spent looking at the functionality. In | | | | just because something is not visible does not |
| a recent project I managed to mimic the entire | | | | mean it should not be done correctly. Always |
| Profibus network with over 50 drives into the | | | | demand more from systems integrators and PLC |
| SCADA, two days later a drive faulted and an | | | | programmers. |
| operator was able to show the maintenance guy | | | | |