A Coloured Petri Net (CPN) based method for Programmable Logic Controller (PLC) program validation is proposed in this paper. It uses a simple fixed net structure and does not require the creation of different Petri Nets for every new PLC program. The base of the method is the so-called technology description and operation state table used in engineering practice. The CPN simulates the operation of the PLC and compares the resulted values to the desired ones. In the case of a difference it indicates the existence of an error. The method is capable of automatic program validation and safety analysis, which is demonstrated through the example of an oil tank system.