|MODBUS Client FB dont write Coil registers and create one connection by Block [message #1767772]
||Tue, 11 July 2017 02:28
| Felipe Adriano
Registered: February 2017
When the function block modbus client is used to read Coils, Discrete Inputs, Holding Registers and Input Registers it works well, but if you try to write coil registers it will always write in the the holding register.|
The problem is that the poll (modbuspoll.h) have one field (m_nFunctionCode ) that permit the function block switch and read the correct register.
When the function block will write in some register the Send data struct don't have information about the register type, and the FB will always write in some holding register using the the function modbus_write_registers (modbusclientconnection.cpp).
Another problem is that some PLCs just accept a limited number of connections, and each modbus client function block create one conection with the server. As is not possible write and read different registers using the parameters proposed by documentation, I would like to know if is possible to use multiple blocks on the same connection? Using something like a singleton class asused in the OPC UA server.
PS.: I am not expert in IEC61499 then the singleton solution is just a guess.
Powered by FUDForum
. Page generated in 0.01938 seconds