Hello all,
I have came across an interesting problem.
I have no whatsoever experience with Beckhoff systems and never did anything with Modbus.
Two days ago my boss asked me to communicate a PC programm developed by a thrid party and a BK9050 module, which supports the Modbus protocol.
I have eihgt digital inputs, eight digital outputs, four analog input and four analog output attached to it and the program is supposed to control the all of them. The PC based program supports this number of I/O as well as the BK9050.
Both digital I/O and the analog input works wonderfully. The analog output however doesn't.
My question is:
How are the addreses in Modbus protocol implemented? Is it the responsability of the PC programm or are they assigned through hardware?
The PC developer has written a document saying the analog output should be addresed as:
SLAVE1.AA2065.U15
The help from BK9050 says that the analog outputs have an address offset of 0x800 or 2048 (decimal). Considering that the analog module has the first as control byte and the second as write byte I tried to acces it as: SLAVE1.AA2049.U15
Also tried SLAVE1.AA4048.U15 just to be sure. But none has had any effect on setting the output as I wanted.
Not having any experience with this my guess is for wrong addressing, but I am not really sure. As well as having no clue on how to fix it.
I have looked up in internet and found a serious of sources for this but couldn't understand correctly how to assing and access modbus addresses. Even though it won't help much having the sources to implement it as it is impossible to change the PC programm =[
Any one of you guys can help me with this issue??
Thanks in advance
I have came across an interesting problem.
I have no whatsoever experience with Beckhoff systems and never did anything with Modbus.
Two days ago my boss asked me to communicate a PC programm developed by a thrid party and a BK9050 module, which supports the Modbus protocol.
I have eihgt digital inputs, eight digital outputs, four analog input and four analog output attached to it and the program is supposed to control the all of them. The PC based program supports this number of I/O as well as the BK9050.
Both digital I/O and the analog input works wonderfully. The analog output however doesn't.
My question is:
How are the addreses in Modbus protocol implemented? Is it the responsability of the PC programm or are they assigned through hardware?
The PC developer has written a document saying the analog output should be addresed as:
SLAVE1.AA2065.U15
The help from BK9050 says that the analog outputs have an address offset of 0x800 or 2048 (decimal). Considering that the analog module has the first as control byte and the second as write byte I tried to acces it as: SLAVE1.AA2049.U15
Also tried SLAVE1.AA4048.U15 just to be sure. But none has had any effect on setting the output as I wanted.
Not having any experience with this my guess is for wrong addressing, but I am not really sure. As well as having no clue on how to fix it.
I have looked up in internet and found a serious of sources for this but couldn't understand correctly how to assing and access modbus addresses. Even though it won't help much having the sources to implement it as it is impossible to change the PC programm =[
Any one of you guys can help me with this issue??
Thanks in advance