====== Using the ComfileHMI as a Modbus RTU Slave ====== Typically, the ComfileHMI operates as a Modbus RTU master and queries an external device that is operating as a Modbus RTU slave. However, the ComfileHMI can also operate as a Modbus RTU slave, and respond to queries from a Modbus RTU master. To enable the Modbus RTU slave, select the "MODBUS RTU SLAVE" via the serial port channel settings: [Project Properties > Communication Configuration > Add Channel] as follows: {{ :comfilehmi:hmi_connection_modbus_rtu_slave:rtuslavesetting.png?nolink |}} When operating as a Modbus RTU slave, only the ComfileHMI's [[comfilehmi:hmieditor_susik:index#internal_memory|internal memory]] is addressable. Modbus address 0 corresponds to internal memory address 0, Modbus address 1 corresponds to internal memory address 1, etc. in a 1-to-1 mapping for the entire address range. Only 16-bit Modbus functions (e.g. Register reading and writing) are supported. If the user stores a value larger than 16-bits to the internal memory location, only the least significant 16-bits will be read from or written to through the Modbus RTU slave. The ComfileHMI also supports slave communication over Ethernet, using the Modbus TCP protocol. See [[comfilehmi:hmi_connection_modbus_tcp:index|Modbus TCP]]. [[comfilehmi:index#ComfileHMI_Connectivity| Back to ComfileHMI]]