A method for converting a first control program and a first hardware configuration for a first PLC to a second control program and a second hardware configuration for a second PLC, said first PLC including a rack into which a plurality of first PLC hardware modules may be situated, said second PLC including a rack into which a plurality of second PLC hardware modules may be situated, said first control program include a plurality of logic statements, said method comprising the steps of:
- displaying a representation of a plurality of hardware modules which are usable with said first PLC;
- selecting from said plurality of hardware modules in said displaying step those modules which are actually employed in a particular hardware configuration for said first PLC;
- creating a first hardware configuration representation of the hardware configuration selected in said selecting step;
- determining those second PLC hardware modules which are equivalent to first PLC hardware modules employed in said first hardware configuration by referencing a first data base which includes information as to which hardware modules for use on said second PLC are equivalent to corresponding hardware module for use on said first PLC;
- generating a mapping of I/O points from said first PLC to I/O points of said second PLC, said determining and generating a mapping steps thus defining said second hardware configuration of said second PLC;
- and
- generating said second control program for use with the second PLC from the statements of said first PLC and said mapping of I/O points.