回复:VB上位机与s7-200 cpu226自由口通讯以设置PLC工作参数的问题

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2011-07-30 00:29:50

7楼

不知道你通讯用的什么协议,也就不清楚你的数据格式,无从回答你的问题。
如果是modbusRTU协议的话:
1 协议规定保持寄存器是32位的Word类型数据,不是VB,而是VW。如果你定义了MBUS_INIT的HoldStart是&VB100的话,那么6个保持寄存器连续排列就是VW100、VW102、VW104、VW106、VW108、VW110,你用16功能码写的6个数据就是按这个顺序保持到上述6个字内存中,而不是字内存VB。

2 结束符?用库不是比较简单么?反正266大把内存可用。

3 如果用VB分开写保持寄存器,只要用写单个寄存器功能码06就可以了,不要用16功能码多写。
比如往12号地址的PLC写你说的分割数据用到6次写指令:
0C 06 00 0A 00 0A 28 D2
0C 06 00 0F 00 14 B8 DB
0C 06 00 14 00 1E 48 DB
0C 06 00 19 00 28 59 0E
0C 06 00 1E 00 32 69 04
0C 06 00 23 00 3C 79 0C

....既然是自己写的程序,何必分隔开来?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。