IO not linked to a hardware input-output..mm_control-
문제 설명
STAUBL 로봇이 마스터 컨트롤 프로그램을 실행할 시 "VAL 3 runtime error. IO not linked to a hardware input-output..mm_control-" 오류 나타납니다.
원인 분석
위의 오류는 다음 두 가지 이유로 발생할 수 있습니다.
-
IO 보드 구성이 오류 있습니다.
-
sio 구성이 오류 있습니다.
해결 방법
| IO가 계속 정상적으로 수정되지 않을 경우, 프로그램 내 IO 관련 내용을 삭제하고 로봇 이동 제어만 수행하는 방안을 고려하십시오. |
-
원인 1:
-
로봇이 Term_1_(D24403000) EtherCat IO 보드 연결되지 않은 경우, mm_control.dtx 파일 내 IO 관련 프로그램을 삭제하십시오. 즉, 아래 코드 세그먼트를 제거하십시오.
mm_control.dtx 및 statusServer.pgx 파일은 Mech-Vision및 Mech-Viz소프트웨어 설치 디렉토리 아래의 통신 구성 요소/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>
-
-
원인 2:
다음 작업에 따라 sio 구성을 확인하십시오.
-
SRS(Staubli Robotics Suite) 소프트웨어 사용하여 프로젝트의 Data 리스트를 열어 sio 노드에서 motionsocket 및 statussocket 변수가 있는지 확인합니다. 없는 경우 수동으로 추가하십시오: sio를 더블 클릭하여 팝업된 창구에서 유형을 선택한 다음 변수 이름을 입력합니다.
-
Physical IOs 구성 인터페이스를 열어 Sockets 노드 아래 motion 및 status 있는지 확인하십시오. 없는 경우 수동으로 추가하십시오: Sockets 노드를 마우스 오른쪽 버튼으로 클릭하고 edit board를 선택하여 대화 상자를 열고 + 기호 옆의 드롭다운 메뉴를 클릭하여 TCP/IP Server를 선택한 후 motion 과 status를 순서대로 추가하십시오. 이때 motion의 포트 번호는1111, status의 포트 번호는 2222로 설정해야 합니다.
-
IO 구성을 Transfer Manager를 통해 컨트롤러로 가져오십시오.
-
컨트롤러를 재부팅하십시오.
-