DOP通过宏与DVPPLC通讯 点击:891 | 回复:6



piziy

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-11-02 16:48:00
楼主
近来写了一个宏程序,目的是想通过DOP界面通过设置装置地址和功能码等,读取或者改变PLC内装置的状态或者数据。
当一次读取一笔数据时是正常的,可是当一次读取两笔或以上时,返回的数据在不停的跳动,当写数据时(只用了06),数据一直在跳,有点费解。可是又没有232转485模块,没有办法抓数据,希望有朋友能为我指点一下。图片贴在下面:



piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-11-02 16:53:00
1楼
不好意思,图片没有传上去

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-11-02 17:10:00
2楼
支持一下!

piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-11-02 18:58:00
3楼
有空的话在那边帮我试试吧

teamo.wan

  • 精华:1帖
  • 求助:0帖
  • 帖子:40帖 | 442回
  • 年度积分:0
  • 历史总积分:732
  • 注册:2005年12月13日
发表于:2006-11-02 22:38:00
4楼
刚试过,读两笔以上数据,显示乱跳的原因:你的GETCHARS指令中的数据长度小于PLC实际回的数据长度,这样,放不下的数据就会不断的去覆盖以前收到的数据,从而导致接收到的数据的错位.只要你的GETCHARS指令中的数据长度一直等于PLC实际回的数据长度的话,就不会出现这种情况.

piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-11-03 09:16:00
5楼
收到!
经验证,确实是这样,经过调整后,再也没有出现数据乱跳的现象。
谢谢

piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-11-03 10:09:00
6楼
出现了新问题:
当我把读取的长度手动改得比较大(比实际读取的字节要长很多),读回来的数据应该会跳动的,可是也不见跳
还有,当数据在跳动的时候,手动把读取的数据改短一点(PUTCHARS里面读取=实际应该读取的字节)之后,数据还是跳的很厉害,大约过了30秒之后,数据就稳定了,这是怎么回事?通过$202可以看出在数据跳动的时间,CLOCK执行周期很快,因为$202变化的速度很快。


热门招聘
相关主题

官方公众号

智造工程师