Siemens has a TXI1.OPEN box, which has an RS485 interface and which can function as a Modbus master - when trying to integrate MCIO2 into the DESIGO version 4 system, the following differences were found:
1. For individual inputs and outputs (analogue and digital) it is necessary to use register addresses lowered by 1 in Siemens. Example: in SoftPLC and in the documentation, AI1 register has number 18, while in Siemens it is necessary to enter the address of the same register by 1 less, i.e. 17.
2. Function 01 is specified in SoftPLC for reading DI and function 15 is specified for writing to DO - the coil address is entered here in the form register_address*16 + bit_offset and the number of bits for the given operation is also entered. In Siemens, the function 03 is used to read DI - in contrast to reading the boolean value, it is possible to read values of type UINT16 etc., and to get a single bit directly from this data type, its position must be specified in another parameter of the function. Similarly, the F16 analog write function can be used to write to the DO, while again it is necessary to specify the position of the bit that interests us. Note: If this parameter is set to 0, then in Siemens it means that we are interested in all bits for AI and AO - ie 16 bits in this case.