123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- =============================================
- Migration notes from the 2.0 series (for 2.2)
- =============================================
- 1 - modbus_init_rtu/tcp takes a new argument, the slave number of the device
- which established the connection.
- 2 - modbus_init_listen_tcp() has been renamed to modbus_slave_listen_tcp() and
- requires a new argument, the maximal number of connections:
- int modbus_slave_init_tcp(modbus_param_t *mb_param, int nb_connection);
- 3 - New function modbus_slave_accept_tcp() to etablish a new connection
- (previously in modbus_init_listen_tcp()):
- int modbus_slave_accept_tcp(modbus_param_t *mb_param, int *socket);
- 4 - modbus_listen() has been renamed to modbus_slave_receive() and requires a
- new argument, the socket file descriptor to listen on. If the sockfd is -1,
- the internal fd of modbus_param_t is used:
- int modbus_slave_receive(modbus_param_t *mb_param, int sockfd,
- uint8_t *query, int *query_length);
- 5 - If you use the HEADER_LENGTH_ defines, their values have been incremented by
- 1 to reflect the PDU and ADU of the Modbus protocol and to reduce the CPU
- consumption:
- - HEADER_LENGTH_RTU 0 -> 1
- - HEADER_LENGTH_TCP 6 -> 7
- 6 - modbus_mapping_new returns 0 on success and -1 on failure.
- =============================================
- Migration notes from the 1.2 series (for 2.0)
- =============================================
- Init
- ====
- modbus_init_tcp requires a third new argument, the port number.
- modbus_init_tcp(modbus_param_t *mb_param, char *ip_address, int port)
- Set the port to MODBUS_TCP_DEFAULT_PORT to use the default one
- (502). It's convenient to use a port number greater than or equal to
- 1024 because it's not necessary to be root to use this port number.
- Pointers of data
- ================
- The coil and input status are now stored in an array of type uint8_t
- (in 1.2.X series, array of type int was used). So now, you need to
- pass a pointer of type uint8_t to use read_coil_status(), for example.
- The holding and input registers are now stored in an array of type
- uint16_t.
- These changes reduce the memory consumption.
|