s7-1500与s7-200smart通讯后,1500的DB块传输Bool到Smart的V区的问题

已锁定

手机用户20230228741126

  • 帖子

    2
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2023-02-28

普通 普通 如何晋级?

s7-1500与s7-200smart通讯后,1500的DB块传输Bool到Smart的V区的问题

2862

11

2023-03-07 21:13:45

目的:

s7-1500与s7-200smart在1500侧通过S7通讯后,将1500的DB块发送Bool到Smart的V区。

问题:

       建立PUT与GET块后,实验性的将1500侧的DB11.DBX0.0 BOOL 1发送到DB1.DBX0.0也就是200smart侧的V0.0,这一步成功了。

       但是改变发送的BOOL的数量,后,即DB11.DBX0.0 BOOL 2-DB11.DBX0.0 BOOL 7,bool后的数量在2-7之间时在SD上都显参数分配错误,如图所示。当发送数据为DB11.DBX0.0 BOOL 8时,不再提示参数错误,但PUT块数据发送不成功,无法完成一次完整的发送,200smart侧也读取不到。

       转换思路后,在一个PUT块上使用2个SD,分别发送DB11.DBX0.0 Bool 1和DB11.DBX0.1 Bool 1 到Smart的V区的v0.0和v0.1,这一步成功了,但是接下来在同一个块上使用第3个或者4个SD分别发送一个BOOL 到Smart的V区的v0.2和v0.3时,只有前两个bool发送成功,PUT块显示完成了发送,但是SD_3和SD_4发送的Bool在200Smart侧的v0.2和v0.3读取不到,程序反复检查了错误,重新建立PUT块和DB块,在一个PUT块上都只能发送两个Bool。

       然后在不同的PUT块上发送DB11.DBX0.2 Bool 1和DB11.DBX0.3 Bool 1,这个也成功了。但是同一个put块只能发送两个BOOL,多了不行的这种情况是哪里的问题,求大神指点一下。

 最后:一般情况下,传输bool型的数据应该不会这么麻烦吧,如果用byte字节传输,这个在在s7-1500侧DB块里应该怎么建立数据变量,变量是用byte型还是bool型。



求教大佬们问题:

如果说我想将DB11块上的7.0-7.7这8个bool量发送到smart的V区的V7.0-7.7,我看大家都推荐用BYTE字节传输,那么在PUT块上SD_1上写入DB11.DBX7.0 BYTE 1,在ADD_1上写入DB1.DBX7.0 BYTE 1,这样没问题吧?这样就一次性把DB11块的7.0-7.7的数据传输到Smart的V区的V7.0-7.7了么?想要传输的数据形式在SD或者ADDR这个位置不需要完全对应吗?我一直以为发送的DB块的数据类型为BOOL,那么在SD写入的数据就需要是DB11.DBX7.0 BOOL 8,但实际是DB11.DBX7.0 BYTE 1,不知道这个理解的对不对?

s7-1500与s7-200smart通讯后,1500的DB块传输Bool到Smart的V区的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有8668条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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