IO not linked to a hardware input-output..mm_control-
问题描述
史陶比尔机器人在运行主控程序时,出现“VAL 3 runtime error. IO not linked to a hardware input-output..mm_control-”错误。
问题原因
以下两种原因可能导致上述错误。
-
IO板卡配置有问题。
-
sio配置有问题。
解决方案
若IO一直修改不正确,可以考虑删除程序中IO相关内容,只控制机器人移动,不控制IO。 |
-
原因一:
-
若机器人未连接Term_1_(D24403000) EtherCat IO板卡,则将mm_control.dtx文件中的IO相关的程序删除,即删除如下代码段。
mm_control.dtx和statusServer.pgx文件位于Mech-Vision和Mech-Viz软件安装目录下 Communication Component/Robot_Server/Robot_FullControl/staubli/mm_control
文件夹内。<Data name="exDO" access="private" xsi:type="array" type="dio" size="4"> <Value key="0" link="J206_EtherCAT\Term_1_(D24403000)\%Q0" /> <Value key="1" link="J206_EtherCAT\Term_1_(D24403000)\%Q1" /> <Value key="2" link="J206_EtherCAT\Term_1_(D24403000)\%Q2" /> <Value key="3" link="J206_EtherCAT\Term_1_(D24403000)\%Q3" /> </Data> <Data name="exDI" access="private" xsi:type="array" type="dio" size="8"> <Value key="0" link="J206_EtherCAT\Term_1_(D24403000)\%I0" /> <Value key="1" link="J206_EtherCAT\Term_1_(D24403000)\%I1" /> <Value key="2" link="J206_EtherCAT\Term_1_(D24403000)\%I2" /> <Value key="3" link="J206_EtherCAT\Term_1_(D24403000)\%I3" /> <Value key="4" link="J206_EtherCAT\Term_1_(D24403000)\%I4" /> <Value key="5" link="J206_EtherCAT\Term_1_(D24403000)\%I5" /> <Value key="6" link="J206_EtherCAT\Term_1_(D24403000)\%I6" /> <Value key="7" link="J206_EtherCAT\Term_1_(D24403000)\%I7" /> </Data>
同时,修改statusServer.pgx文件中statusNum[7]和statusNum[8]的值,即修改为如下代码。
statusNum[7]=0 statusNum[8]=0
-
若机器人使用其他型号IO板卡,请根据机器人官方手册进行设置。确保IO板卡正常工作,然后根据实际IO设备名称修改mm_control.dtx文件中exDO和exDI的link信息。
<Data name="exDO" access="private" xsi:type="array" type="dio" size="4"> <Value key="0" link="J206_EtherCAT\Term_1_(D24403000)\%Q0" /> <Value key="1" link="J206_EtherCAT\Term_1_(D24403000)\%Q1" /> <Value key="2" link="J206_EtherCAT\Term_1_(D24403000)\%Q2" /> <Value key="3" link="J206_EtherCAT\Term_1_(D24403000)\%Q3" /> </Data> <Data name="exDI" access="private" xsi:type="array" type="dio" size="8"> <Value key="0" link="J206_EtherCAT\Term_1_(D24403000)\%I0" /> <Value key="1" link="J206_EtherCAT\Term_1_(D24403000)\%I1" /> <Value key="2" link="J206_EtherCAT\Term_1_(D24403000)\%I2" /> <Value key="3" link="J206_EtherCAT\Term_1_(D24403000)\%I3" /> <Value key="4" link="J206_EtherCAT\Term_1_(D24403000)\%I4" /> <Value key="5" link="J206_EtherCAT\Term_1_(D24403000)\%I5" /> <Value key="6" link="J206_EtherCAT\Term_1_(D24403000)\%I6" /> <Value key="7" link="J206_EtherCAT\Term_1_(D24403000)\%I7" /> </Data>
-
-
原因二:
按照以下操作检查sio配置。
-
使用SRS(Staubli Robotics Suite)软件,打开工程的Data列表,检查sio节点下是否存在motionsocket和statussocket变量。若不存在,请手动添加:双击sio,在弹出的窗口中,选择类型并填写变量名称。
-
打开Physical IOs配置界面,检查socket节点下是否存在motion和status。若不存在,请手动添加:右键单击sockets节点,选择edit board,打开对话框,单击+号旁边下拉菜单,选择TCP/IP Server,依次添加motion和status,其中motion的端口号需填写为1111,status的端口号需填写为2222。
-
将IO配置通过transfer manager导入控制器。
-
重启控制器。
-