技术论坛

smart200 modbus通讯双字高低位转换问题

作者 主题
新手

经验值: 44
发帖数: 2
精华帖: 0
主题:【求助】smart200 modbus通讯双字高低位转换问题


只看楼主 楼主 2022-07-09 11:36:54

smart200采用modbus通讯读取信捷伺服驱动器编码器反馈信号,写入到VB1000开始的双字地址内,直接查看VD1000的数据与实际反馈信号不一致,通过查阅资料得知需要使用MOV_W进行高低位转换,但是转换以后仍然对不上,不知是什么原因,还请各位大神不吝赐教!程序截图如下(伺服驱动器实际反馈值为112814):








 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1769717&b_id=64&s_id=0&num=14

至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 1楼 2022-07-09 12:20:14
modbus的返回数据存放在VD1000,但是状态图表你去看VD1100,这能一样呢?
 
以下网友喜欢您的帖子:

  
至圣

经验值: 19305
发帖数: 3875
精华帖: 1
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 2楼 2022-07-09 16:25:43

VD1100哪里来的数据,你要去找下。数据传输不能用P,否则不能更新。


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 3楼 2022-07-09 16:27:32

vd1000高低字交换一下就行了。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2321
发帖数: 407
精华帖: 2
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 4楼 2022-07-09 16:47:07

高低位对调有专门的指令,你用那个指令试下。


6
以下网友喜欢您的帖子:

  
至圣

经验值: 14230
发帖数: 3256
精华帖: 1
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 5楼 2022-07-09 22:28:30

你把你查看的那个资料能截个图吗?


就是一个字——坚持!!!
以下网友喜欢您的帖子:

  
至圣

经验值: 67551
发帖数: 14784
精华帖: 100
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 6楼 2022-07-09 22:46:28

现在这个数的视觉效果就是112814了。问题点是你要如何使用这个值,才得到这个结果。如果你是按照另一种用途去看这个结果,这个结果将会是723710。这个值最终是由程序使用的,而不是人看的。有些问题我也不是一下子想到怎么说出来。

你试试前前后后说多一点情况看看。你有没有怀疑自己的出发点可能会是错的?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17196
发帖数: 2948
精华帖: 6
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 7楼 2022-07-10 08:09:04

楼主,你的程序修改一下就能读到正确的数据。将第二段的完成位+上升沿去掉,更换成SM0.0。


 
以下网友喜欢您的帖子:

  
侠客

经验值: 751
发帖数: 48
精华帖: 0
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 8楼 2022-07-10 12:40:13

貌似没有问题啊


 
以下网友喜欢您的帖子:

  
新手

经验值: 44
发帖数: 2
精华帖: 0
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 楼主 9楼 2022-07-10 15:23:05

感谢各位大神的热心帮助,指出了程序中的错误,第二张截图中的程序确实不应该上升沿,我之前提供的状态表不全面,我重新截了一张图,这次实际的伺服驱动器反馈值为:122595




 
以下网友喜欢您的帖子:

  
至圣

经验值: 19305
发帖数: 3875
精华帖: 1
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 10楼 2022-07-11 08:44:53
以下是引用遵超在2022-07-10 15:23:05的发言 >9楼

感谢各位大神的热心帮助,指出了程序中的错误,第二张截图中的程序确实不应该上升沿,我之前提供的状态表不全面,我重新截了一张图,这次实际的伺服驱动器反馈值为:122595



你这张图显示不就对了吗?


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
游民

经验值: 128
发帖数: 3
精华帖: 0
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 12楼 2022-07-13 15:40:27

结果想得到122595,VW1000里边是2595;VW1002里边是12;换算成十进制VW1002对应120000

所以应先对VW1002里边的数值12做处理,然后再与VW1000相加,最后得到122595


 
以下网友喜欢您的帖子:

  
hf1
奇侠

经验值: 8201
发帖数: 1460
精华帖: 3
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 13楼 2022-07-13 16:02:26

使用高低位对调有专门的指令


 
以下网友喜欢您的帖子:

  
至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 14楼 2022-07-14 10:28:40

自己用临时变量转一下,vw1000赋值给lw2,vw1002赋值给lw0,然后再把ld0输出。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
新手

经验值: 36
发帖数: 1
精华帖: 0
回复:smart200 modbus通讯双字高低位转换问题


只看楼主 15楼 2023-05-21 16:22:18

朋友解决了吗


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
smart200 modbus通讯双字高低位转换问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。