Data is exchanged between two modules of a programmable controller by originator module writing the information in an interface memory in one of the modules and the recipient module reading the information from the memory. An initialization procedure is performed before any information is exchanged in that manner. The module containing the memory writes the size of the memory for reading by the other module. Sets of test data are stored in the memory by each module and checked by the other module to determine if data can be passed accurately between the modules in both directions. Then data identifying the type of one of the modules is exchanged to insure that the other module knows the type of module with which it is dealing.