找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
今天看西门子V90伺服,指导书内写的使用普通的双心线,就可以通讯。
问题1:同样是modbus指令,rs485通讯方式, 为何通讯线不一致?
我在使用modbus指令的时候,才知道地址寄存区这事情。汇川的地址寄存器,需要把16进制的数据转换为10进制(这我能理解),然后smart程序,还需要进行数学加法(增加4万零一,或者四十万零一)。
今天使用西门子V90伺服,发现同样有地址寄存器这事情。
问题1:同样是modbus指令,rs485通讯方式, 为何通讯线不一致?
问题2:这个地址寄存器的变化规律是什么?有什么简短的手册讲解,或者是软件,直接就可以标注出smart程序中应该填写那个数据地址。
问题3: 其他的智能设备,如果也使用modbus指令通讯。我这个新人,如何获得地址寄存器的编号?
问题4:西门子其他型号的plc,如果同样使用modbus通讯,也同样有这地址转化的要求吗?(1500系列,我以前的程序没有地址换算这要求呀)
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
回答1:RS485是串行数据传输的标准,类似于RS232,同时使用不同的电信号。 RS485协议的一个好处是能够让多个设备共享同一总线。 这意味着您不需要多个RS485接口来查询多个设备。 必须使用总线终结器来完成。 您可能需要将开关移至正确位置或在端子上拧一个小电阻。
MODBUS协议有两种变体。 在MODBUS ASCII模式下,消息作为十六进制字符行交换。 使用MODBUS RTU模式可以将消息作为二进制帧直接传输。 要与MODBUS设备通信,主机和设备都需要使用相同的模式。 所有标准设备都支持MODBUS RTU模式,并且是最常用的模式。 MODBUS ASCII没有真正的优势,因为手工制作消息很困难。
回答2:地址寄存器的变化规律是什么?
https://wenku.baidu.com/view/d883d63d29ea81c758f5f61fb7360b4c2e3f2abe.html
输入寄存器指的是读写寄存器,输出寄存器指的是只读寄存器,又叫保持寄存器,分属于不同的寄存器区域,MODBUS的读写指令也不同。
每个寄存器包含两个字节数据长度,也就是相当于一个“字”,一个字等于两个字节,每个字节8位二进制位。
MODBUS读写指令码如下:
01 (0x01) 读线圈
02 (0x02) 读离散量输入
03 (0x03) 读保持寄存器
04(0x04) 读输入寄存器
05 (0x05) 写单个线圈
06 (0x06) 写单个寄存器
15 (0x0F) 写多个线圈
16 (0x10) 写多个寄存器
读写输入寄存器,使用0x04,0x06,0x10三个指令进行读写,0x03用于读连续多个输出寄存器。例如: 01 03 00 00 00 05 CL CH(8字节十六进制指令码),这个指令用于读取输出寄存器的值,指令的第一个字节 01 是设备ID,这个字节值根据前端设备的ID的不同而变化,这里举例为1 ;第二个字节 03 就是指令码,读取连续多个输出寄存器,后面两个字节 00 00 是寄存器起始地址,这里为0, 也就是从第一个寄存器开始读;再后面两个字节 00 05 ,是读取的寄存器数量,这里为5; 最后两个字节CL CH 是CRC16校验码,要根据前面六个字节算出,CRC16包含两个字节的校验码,低字节CL在前,高字节CH在后
回答3:其他的智能设备,如果也使用modbus指令通讯。如何获得地址寄存器的编号?
这个要看其他的智能设备使用手册和操作手册,一般情况其他智能设备会定义好寄存器的区间和编号
回答4:西门子其他型号的plc,如果同样使用modbus通讯,也同样有这地址转化的要求吗?(1500系列,我以前的程序没有地址换算这要求呀)
根据不同型号的PLC寄存器地址是有相应不同的,这个相应的CPU的手册,要根据手册去查询
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!