回复:两台200smart进行get/put通讯,发现有延时怎么办

已锁定

holdkcsxyz

西门子1847工业学习平台

  • 帖子

    1560
  • 精华

    24
  • 被关注

    162

论坛等级:至圣

注册时间:2015-06-03

钻石 钻石 如何晋级?

发布于 2022-12-06 16:25:33

10楼

PUT/GET通讯一般最小间隔是50ms,延时是存在的.对数据交互出现问题,一般的处理办法:

(1):规划好PUT/GET读写区,尽量做到仅在一处交互数据(类似Zane版说的对于每个变量只写一次)

(2):对非常重要的有时序耦合紧凑的若干个布尔量压缩在同一个字节内(字节类比原子,布尔类比电子)

(3):还有个简单的不一定合适的仅供参考的做法:

第一:比如A设备PUT给B设备VB0-VB65(A/B组态的数据区域一致),开头VD0,结尾VD62是毫秒级Bitime时钟数数值,VD0和VD62在A设备的同处赋时钟值;

第二:B程序里:

if(PUT/GET心跳时间OK)

  { 

    if((VD0==VD62)&(VD0!=VD100)&(VD62!=VD111))

    {

        VD100=VD0;

        VD111=VD62;

        //其余代码

    }

}

第(3)点对上位机和机械臂ModbusTCP或者TCP通讯有一定参考作用

if((机械臂出发点[i]!=机械臂上个出发点)&(机械臂到达点[i]!=机械臂上个到达点)&(机械臂开始走==1))

{

    机械臂上个出发点=机械臂出发点[i];

    机械臂上个到达点=机械臂到达点[i];

    //执行其余代码,MOVEL/C等指令;

}

其中机械臂出发点[i];机械臂到达点[i];机械臂开始走都是上位机TCP发给机械臂的变量,其余是机械臂内部静态变量.

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8946条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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