I have a setup that has both a modbus master and a slave.
The master works just fine, it read and writes like it should, however the slave allows for read but NOT for write.
It consistently returns modbus error 02, which means 'illegal address'. I must be overlooking something simple and I am very obliged if anyone has a working suggestion.
Modbus master: reads and writes
Modbus slave: read only does not allow ANY write.
I know that in the hardware setup there is a form with a <parameter> below, that in turn opens a new form with a blue envelope, clicking that gives a 8 tabbed form "General, Modbus-Slave, FC 01 05 15, FC 02, FC 03 06 16, FC 04, Limits, Data Transmission"
As I only want to write 16 bit values with function 16, in two consecutive datablocks I entered the number of the first datablock on the tab "FC 03 06 16", on the tab "Limits" I only entered for MIN DB the earlier entered number and in MAX DB the next datablock other entries untouched.
Anyone with a suggestion!?
And yes, I do not read from the 511th dataword in any datablock as the Siemens slave is incapable to that. Nor do I cross kilobyte boundaries as that works neither. And I cannot use anything else .....
And I did not much programming on this, I just used the sample programme that came with the slave-dongle.
The master works just fine, it read and writes like it should, however the slave allows for read but NOT for write.
It consistently returns modbus error 02, which means 'illegal address'. I must be overlooking something simple and I am very obliged if anyone has a working suggestion.
Modbus master: reads and writes
Modbus slave: read only does not allow ANY write.
I know that in the hardware setup there is a form with a <parameter> below, that in turn opens a new form with a blue envelope, clicking that gives a 8 tabbed form "General, Modbus-Slave, FC 01 05 15, FC 02, FC 03 06 16, FC 04, Limits, Data Transmission"
As I only want to write 16 bit values with function 16, in two consecutive datablocks I entered the number of the first datablock on the tab "FC 03 06 16", on the tab "Limits" I only entered for MIN DB the earlier entered number and in MAX DB the next datablock other entries untouched.
Anyone with a suggestion!?
And yes, I do not read from the 511th dataword in any datablock as the Siemens slave is incapable to that. Nor do I cross kilobyte boundaries as that works neither. And I cannot use anything else .....
And I did not much programming on this, I just used the sample programme that came with the slave-dongle.