样例程序2:MM_S2_Viz_Basic

程序简介

功能说明

PLC触发Mech-Viz工程运行,然后获取Mech-Viz规划的路径。

文件路径

Mech-Vision和Mech-Viz软件安装目录下Communication Component/Robot_Interface/Siemens Snap7/TIA Portal/sample applications/SampleProjectSnap7.zip

所需工程

Mech-Vision工程和Mech-Viz工程

使用前提

  1. 已完成标准接口通信配置

  2. 已完成自动标定

此样例程序仅是示例程序。用户需根据实际情况在此基础上进行修改,请勿直接使用该程序。

程序解读

以下为MM_S2_Viz_Basic样例程序的梯形图及相关解释说明。

sample2 1
sample2 2
sample2 3
sample2 4
sample2 5
sample2 6

上述样例程序梯形图对应的流程如下图所示。

sample2 7

下表为上述程序的逻辑解读。

  • 关于西门子PLC使用Snap7通信的标准接口指令,可单击如下解释中指令名称的超链接,便可查看该指令的详细说明。

  • 关于西门子S7系列PLC自带的常用基本指令,可参考常用指令说明

流程 梯形图及说明

初始化参数

sample2 1
  • "MM Interface".FromCamera."Status Code":视觉系统状态码。

  • P_TRIG:扫描逻辑运算结果("MM Interface".FromCamera."Status Code"等于0)的信号上升沿。

  • MOVE:将"Camera_Pose_Ready"赋值为2。

  • "Camera_Pose_Ready":PLC是否已获取规划路径,可取如下值。

    • 0:相机将要或已拍照,或Mech-Viz正在计算规划路径,此时PLC未获取到规划路径。

    • 1:相机已拍照,且PLC已获取到规划路径。

    • 2:相机准备开始第一次拍照,此时PLC未获取到规划路径。

因此,Network 1表示仅在"MM Interface".FromCamera."Status Code"等于0,且P_TRIG检测到上升沿时,将"Camera_Pose_Ready"初始化为2。

复位视觉系统状态码异常标志

sample2 2
  • "Camera_User".Status_Code_Error[0]:视觉系统状态码异常标志。True表示Mech-Viz工程未成功运行,即视觉系统发生异常。

  • "Camera_User".Status_Code_Error[1]:视觉系统状态码异常标志。True表示Mech-Viz工程未成功输出规划路径,即视觉系统发生异常。

  • "External_Reset_Camera_Error":外部复位信号。在视觉系统发生异常时,当信号从False变为True,将其后的"Camera_User".Status_Code_Error[0]和"Camera_User".Status_Code_Error[1]复位。

因此,Network 2表示"External_Reset_Camera_Error"导通时,复位"Camera_User".Status_Code_Error[0]和"Camera_User".Status_Code_Error[1]。

设置Mech-Viz工程相关的接口参数

sample2 3
  • "User_Robot_Pose_Type":指定真实机器人的位姿将以何种形式传Mech-Viz工程。该参数值将赋值给MM_Start_Viz指令中Robot_Pose_Type参数。本样例此处设置为2,用户可根据实际需求修改此处值。

  • "Camera_User".Robot_Pose[0,0]~[0,5]:机器人6个关节角数据。当"User_Robot_Pose_Type"为2时,此处关节角是机器人端自定义的关节角。"Camera_User".Robot_Pose[0,0]~[0,5]参数值将赋值给MM_Start_Viz指令中Robot_Pose[0,0]~[0,5]参数。本样例此处将机器人J1~J6的关节角依次设置为1.0、2.0、3.0、4.0、5.0、6.0,用户可根据实际需求修改此处值,同时也可以添加机器人法兰位姿数据(即MM_Start_Viz指令中Robot_Pose[1,0]~[1,5]参数)。

因此,Network 3表示,若"User_Robot_Pose_Type"等于2,则将"Camera_User".Robot_Pose[0,0]~[0,5]依次设置为1.0、2.0、3.0、4.0、5.0、6.0。

触发外部拍照信号

sample2 4
  • "External_Photo_Signal":外部拍照信号,上升沿有效。

  • "MM Interface".FromCamera."Status Code":视觉系统状态码。2103表示PLC成功触发Mech-Viz工程运行。2100表示PLC成功获取到Mech-Viz规划的路径。

  • "Camera_User".Start_Viz:触发Mech-Viz工程运行的标志,上升沿有效。

  • "Camera_User".Get_VizData:触发获取Mech-Viz规划路径的标志,上升沿有效。

因此,Network 4表示获取外部拍照信号"External_Photo_Signal"上升沿,串联如下三种拍照场景。

  1. 首次拍照。"MM Interface".FromCamera."Status Code"等于0,且"Camera_Pose_Ready"等于2。

  2. 正常下次拍照。"MM Interface".FromCamera."Status Code"等于2100。

  3. 异常下次拍照。"MM Interface".FromCamera."Status Code"不等于2100,且"Camera_User".Status_Code_Error[0]和"Camera_User".Status_Code_Error[1]均等于False。

最后,将"Camera_User".Step_Num赋值为5,并复位"Camera_User".Start_Viz和"Camera_User".Get_VizData;同时将"Camera_Pose_Ready"赋值为0。

触发Mech-Viz工程运行,并判断是否成功触发工程从而做出不同处理

sample2 5
在MM_Start_Viz指令中,关于各输入与输出参数的详细解释,可参考MM_Start_Viz指令说明。

Network 5表示,若"Camera_User".Step_Num等于5,则执行以下逻辑。

  1. 使能功能MM_Start_Viz

  2. 当"MM Interface".FromCamera."Trigger Acknowledge"等于False,且"Camera_User".Status_Code_Error[0]等于False时,置位"Camera_User".Start_Viz,PLC将触发Mech-Viz工程运行。

  3. 若"MM Interface".FromCamera."Status Code"大于等于2001,且小于等于2099,即视觉系统发生异常,此时通过P_TRIG指令获取该逻辑输出上升沿,置位"Camera_User".Status_Code_Error[0],并复位"Camera_User".Start_Viz。用户可根据标准接口状态码及错误排查手册查找具体状态码对应的错误原因。

  4. 若"MM Interface".FromCamera."Status Code"等于2103,即视觉系统已成功执行PLC发送的指令,此时通过P_TRIG指令取该逻辑输出上升沿,将"Camera_User".Step_Num赋值为10,然后复位"Camera_User".Start_Viz和"Camera_User".Status_Code_Error[0]。

获取Mech-Viz规划路径,并判断是否成功获取规划路径从而做出不同处理

sample2 6
在MM_Get_VizData指令中,关于各输入与输出参数的详细解释,可参考MM_Get_VizData指令说明。

Network 6表示,若"Camera_User".Step_Num等于10,则执行以下逻辑。

  1. 使能功能MM_Get_VizData

  2. 当"MM Interface".FromCamera."Trigger Acknowledge"等于False,且"Camera_User".Status_Code_Error[1]等于False时,置位"Camera_User".Get_VizData,PLC开始获取Mech-Viz工程输出的规划路径。

  3. 若"MM Interface".FromCamera."Status Code"大于等于2001,且小于等于2099,即视觉系统发生异常,此时通过P_TRIG指令取该逻辑输出上升沿,置位"Camera_User".Status_Code_Error[1],并复位"Camera_User".Get_VizData。用户可根据标准接口状态码及错误排查手册查找具体状态码对应的错误原因。

  4. 若"MM Interface".FromCamera."Status Code"等于2100,即视觉系统已成功执行PLC发送的指令,此时复位"Camera_User".Get_VizData和"Camera_User".Status_Code_Error[1];通过P_TRIG指令取"MM Interface".FromCamera."Status Code"等于2100的逻辑输出上升沿,将"Camera_User".Step_Num赋值为0,将"Camera_Pose_Ready"赋值为1,即PLC已获取到Mech-Viz规划路径,可将获取的规划路径转发给机器人使用。

我们重视您的隐私

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