你现在位置:首页>技术论文>软件知识>正文
Modbus地址问题
日期:2010-12-5 21:40:27 点击:
来源:本站整理
作者:
点击【】放大字体.
问:modbus代表存储器(应为保持寄存器>的地址是40001~4xxxx,请求帧的16进制数地址应该怎么写呢?S7-1200书上的例7-6将数据16#AA55写入DB3的数组元素Aray[4]中,对应的modbus地址是16#0004,modbus的存储器地址不是40001~4xxxx吗?为什么这里储存器的地址是16#0004,就算转化为10进制也不是4XXXX啊? 
WWW_PL※CJS_COM-PLC-技.术_网

 回答:
WWW_PLC※JS_COM-PmLC-技.术_网

       Modbus地址为包含数据类型和偏移量的6个字符的数值。左边两个字符决定数据类型,右边四个字符是该数据类型中的序号。使用Modbus地址时应注意下述问题:
plcjs.技.术_网

       1)你说的40001~4xxxx是美国Modicon公司和GE公司PLC使用的Modbus地址,它是基于1的地址,即同类元件的首地址为1。西门子PLC的Modbus地址是基于0的地址。
W1WW_P4LCJS_COM-PLC-技.术_网

       2)美国的Modbus地址左起第2位用来表示元件的类型,例如I0.0的Modbus地址为010001。因为数据类型已经包含在功能码中了,西门子的I0.0的Modbus地址实际上为000000,I2.0的Modbus地址为000016(或十六进制数16#0010),而不是010017。
WWW_PLC※JS_COM-PmLC-技.术_网

       例7-6的例程OB1中的MB_SLAVE指令的输入参数MB_HOLD_REG设置的保持寄存器的起始地址为P#DB3.DBX0.0,例7-6的DB3中的数组为Array[0..9]of WORD,数组的字元素Aray[4]在DB3中的寄存器字的编号为4(第1个寄存器字Aray[0]的编号为0),因此Aray[4]的Modbus地址为4。
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行