在使用Siemens PLC协议通信时,为什么会偶尔出现PLC接受的状态码正常,但位姿数据为0?

问题描述

在使用Siemens PLC协议通信时,PLC向视觉系统发送指令后,视觉系统的日志界面显示已经发送位姿数据,PLC接收到的状态码也显示正常,但PLC接收到的位姿数据却为0。

faq22 1
faq22 2

问题原因

PLC通过周期性清空位姿寄存器进行了防错处理,但清空时序与视觉系统写入位姿数据偶发冲突。

解决方案

  1. 为清空位姿寄存器操作单独设置“自动运行步骤编号”,比如拍照周期的初始化阶段。

  2. 若使用了“MM_Empty_Target”功能,同样需要采用上述1中的方法(如下图所示)。

    faq22 3
    如果功能一直使能,每个扫描周期都会读、写一次INOUT接口参数。如果在位姿为0的执行周期内,此时视觉系统正在写入位姿数据(下图中的Target_Pose参数),那么位姿数据就会被清除。
    faq22 4
  3. 如果MM Interface数据块整体作为功能块的INOUT接口参数,并且该功能块一直处于使能状态,则也会引发位姿数据为0的问题。用户可参照如下方法,例如,在MM Interface数据块内增加“控制相机”和“读取相机”结构体,并将结构体数据分别作为功能块的OUT接口参数和IN接口参数(如图示)。

    faq22 5

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。