
adccommunitymod (AutomationDirect) asked a question.
Created Date: August 20,2014
Created By: engnerdan
**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****
I am trying to use a Do-More for the remedial task of adding some IO to a motion controller I have in my CNC mill. I want to use the Do-More as a Modbus RTU Slave. The motion controller has a RS232 port and code for speaking Modbus RTU to a PLC. The problem I have is the only addresses listed in the documentation for the Do-More is the Modbus 984 addresses. I need the hex addresses. Does anybody have a list of the addresses for the 4 modbus data types? Thanks
Created Date: August 20,2014
Created by: BobO
Are you asking for Do-more's addresses, or for the mill? All Do-more Modbus addresses start at 1...meaning...the first addressable Modbus coil is MC1, regardless of what the master side address is.
Created Date: August 20,2014
Created by: engnerdan
Are you asking for Do-more's addresses, or for the mill? All Do-more Modbus addresses start at 1...meaning...the first addressable Modbus coil is MC1, regardless of what the master side address is.
I want the Do-More addresses, but I don't want the 984 address which would be
MI - 1xxxx
MC - 0xxxx
MIR - 3xxxx
MHR - 4xxxx
I want the HEX address to these locations. On a click for example address XD0 has the following addresses
Modbus 984 - 357345
Modbus HEX - E000
So I need the hex address to the 4 Do-More modbus data types. By trial and error I was able to write to one of the MHR addresses but I don't have the time to find all the data types by trial and error.
Created Date: August 20,2014
Created by: BobO
The Do-more address is always 1...the question is the master side address. What is the first HEX address of each type?
Created Date: August 20,2014
Created by: bcarlton
Modbus 984 - 357345
Remove the '3 ' Memory section identifier = 57345
Minus '1 ' (one's based addressing) = 57344
Using the Windows calculator - enter (as decimal) 57344
Press the 'Hex ' key - get E000
No 'guesswork ' involved
Created Date: August 20,2014
Created by: engnerdan
Modbus 984 - 357345
Remove the '3 ' Memory section identifier = 57345
Minus '1 ' (one's based addressing) = 57344
Using the Windows calculator - enter (as decimal) 57344
Press the 'Hex ' key - get E000
No 'guesswork ' involved
Bernie,
THANKS, so to make sure I got this right
HEX ADDRESS
MI - 10001 = 0000
MC - 00001 = 0000
MIR - 30001 = 0000
MHR - 40001 = 0000
So they all end up with the same hex address. Am I correct to assume that the function code would be responsible for directing the incoming value to the correct location? Or do I need to edit the memory block locations in the Do-More so each block has unique address ranges?
Example for the first address of each memory block.
Unit ID#\FC\HEX address
MI - 1\1\0000
MC - 1\5\0000
MIR - 1\3\0000
MHR - 1\16\0000
Created Date: August 20,2014
Created by: bcarlton
Yes - the function code determines the memory area. I wish they had used something other than numbers to designate the areas.
Created Date: August 20,2014
Created by: engnerdan
I am trying to use a Do-More for the remedial task of adding some IO to a motion controller I have in my CNC mill. I want to use the Do-More as a Modbus RTU Slave. The motion controller has a RS232 port and code for speaking Modbus RTU to a PLC. The problem I have is the only addresses listed in the documentation for the Do-More is the Modbus 984 addresses. I need the hex addresses.
Does anybody have a list of the addresses for the 4 modbus data types?
Thanks