PLC가 비전 시스템과 통신을 구축하기 |
-
"CameraIO".MM.ToCamera.COMM_ENABLE: 통신이 활성화되어 있는지 여부를 확인합니다. 유효한 값은 다음과 같습니다.
-
P_TRIG: "CameraIO".MM.ToCamera.COMM_ENABLE이 True일 때 논리 연산 결과의 상승 에지를 감지합니다.
-
MOVE: "Camera_Pose_Ready"를 2로 설정합니다.
-
"Camera_Pose_Ready": PLC가 비전 결과를 획득한지 여부를 확인합니다. 유효한 값은 다음과 같습니다.
-
0: 카메라가 이미지 캡처 준비 중이거나 이미 캡처하기를 완료했습니다. Mech-Vision가 비전 결과를 계산하는 중일 때 PLC는 비전 결과를 수신하지 못합니다.
-
1: 카메라가 이미지 캡처하기를 완료했고 PLC는 비전 결과를 수신했습니다.
-
2: 카메라가 첫 번째 캡처를 준비하는 중일 때 PLC는 비전 결과를 수신하지 못합니다.
따라서, Network 1은 "CameraIO".MM.ToCamera.COMM_ENABLE이 True이고 P_TRIG가 상승 에지를 감지했을 때만 "Camera_Pose_Ready" 를 2로 초기화함을 의미합니다.
|
비전 시스템 비정상 상태 코드 플래그 리셋 |
-
"Camera_User".Status_Code_Error[0]: 비전 시스템 비정상 상태 코드 플래그. True는 Mech-Vision 프로젝트가 성공적으로 실행되지 않음을 의미합니다. 즉, 비전 시스템에 오류가 발생합니다.
-
"Camera_User".Status_Code_Error[1]: 비전 시스템 비정상 상태 코드 플래그. True는 Mech-Vision 프로젝트가 성공적으로 비전 결과를 출력하지 않음을 의미합니다. 즉, 비전 시스템에 오류가 발생합니다.
-
"External_Reset_Camera_Error": 외부 리셋 신호. 비전 시스템에 오류가 발생하고 해당 신호가 False에서 True로 전환되면, 이후의 "Camera_User".Status_Code_Error[0] 및 "Camera_User".Status_Code_Error[1] 값이 초기화됩니다.
따라서, Network 2는 "External_Reset_Camera_Error" 신호가 True 상태일 때 "Camera_User".Status_Code_Error[0] 및 "Camera_User".Status_Code_Error[1] 가 초기화됨을 나타냅니다.
|
Mech-Vision 프로젝트와 관련된 인터페이스 파라미터를 설정하기 |
-
"User_Vision_Project_Num": Mech-Vision 프로젝트 번호.
-
"User_Robot_Pose_Type": 실제 로봇의 포즈가 Mech-Vision 프로젝트에 전송하는 방식을 지정합니다. 해당 파라미터 값은 MM_Start_Vis 명령어의 Robot_Pose_Type 파라미터에 할당됩니다. 이 예시에서는 이 값이 0으로 설정되어 있습니다. 실제 요구 사항에 맞게 값을 수정할 수 있습니다.
-
"Camera_User".Robot_Pose[0,0]~[0,5]: 로봇의 6개 관절 각도 데이터. 해당 파라미터 값은 MM_Start_Vis 명령어의 Robot_Pose[0,0]~[0,5] 파라미터에 할당됩니다. 이 예시에서는 0으로 설정되었습니다. 사용자는 실제 필요에 따라 값을 수정할 수 있습니다. 동시에 로봇 플랜지 포즈 데이터(MM_Start_Vis 명령어의 Robot_Pose[1,0]~[1,5] 파라미터)를 추가할 수도 있습니다.
따라서 Network 3은 Mech-Vision 프로젝트 번호를 1로, "User_Robot_Pose_Type"을 0으로 설정하는 것을 의미합니다. Mech-Vision 프로젝트 번호가 1이고 "User_Robot_Pose_Type"이 0이면 "Camera_User".Robot_Pose[0,0]~[0,5]를 순서대로 0으로 설정합니다.
|
외부 이미지 캡처 신호를 트리거하기 |
-
"External_Photo_Signal": 상승 에지가 발생할 때 이미지 캡처를 트리거하는 외부 신호입니다.
-
"CameraIO".MM.FromCamera.STATUS_CODE: 비전 시스템 상태 코드. 1102는 PLC가 성공적으로 Mech-Vision 프로젝트 실행을 트리거함을 의미합니다. 1100은 PLC가 성공적으로 비전 결과를 획득함을 의미합니다.
-
"Camera_User".Start_Vis: 상승 에지가 발생할 때 Mech-Vision 프로젝트가 실행되도록 하는 플래그입니다.
-
"Camera_User".Get_VisData: 상승 에지가 발생할 때 Mech-Vision 프로젝트가 비전 결과를 획득하도록 하는 플래그입니다.
따라서 Network 4는 외부 이미지 캡처 신호 "External_Photo_Signal"의 상승 에지를 감지하여 다음 세 가지 촬영 시나리오를 연속으로 수행함을 나타냅니다.
-
이미지를 처음으로 캡처합니다. "CameraIO".MM.FromCamera.STATUS_CODE가 0으로 설정되고 "Camera_Pose_Ready"가 2로 설정됩니다.
-
다음번에는 이미지가 정상적으로 캡처됩니다. "CameraIO".MM.FromCamera.STATUS_CODE는 1100과 같습니다.
-
다음번에는 이미지가 비정상적으로 캡처됩니다. "CameraIO".MM.FromCamera.STATUS_CODE가 1100과 같지 않고 "Camera_User".Status_Code_Error[0]와 "Camera_User".Status_Code_Error[1]이 모두 False와 같습니다.
마지막으로 "Camera_User".Step_Num을 5로 설정하고, "Camera_User".Start_Vis와 "Camera_User".Get_VisData를 리셋합니다. 또한 "Camera_Pose_Ready"를 0으로 설정합니다.
|
Mech-Vision 프로젝트 실행을 트리거하고, 성공적으로 트리거되었는지를 판단한 후 그에 따라 다른 처리를 수행하기 |
|
MM_Start_Vis 명령어의 입력 및 출력 파라미터에 대한 자세한 설명은 MM_Start_Vis 명령어 설명을 참조할 수 있습니다.
|
Network 5는 "Camera_User".Step_Num이 5와 같으면 다음 논리가 실행됨을 의미합니다.
-
기능 MM_Start_Vis를 활성화합니다. 획득할 포즈 수량 Req_Pose_Num의 기본값은 0입니다(즉, 모든 비전 포인트를 획득하고, 최대값은 20입니다).
-
"MM_Start_Vis".ENO가 True이고 "CameraIO".MM.FromCamera.TRIGGER_ACKNOWLEDGE가 False일 때, "Camera_User".Start_Vis가 셋트되어 PLC가 Mech-Vision 프로젝트 실행을 트리거합니다.
-
"CameraIO".MM.FromCamera.STATUS_CODE가 1001 이상 1099 이하인 경우, 이는 비전 시스템에 오류가 발생했음을 의미하며, 이때 P_TRIG 명령어를 통해 해당 논리 출력의 상승 에지를 감지하여 "Camera_User".Status_Code_Error[0]를 셋트하고, 동시에 "Camera_User".Start_Vis를 리셋합니다. 사용자는 표준 인터페이스 상태 코드 및 오류 분석에 따라 특정 상태 코드에 해당하는 오류 원인을 찾을 수 있습니다.
-
"CameraIO".MM.FromCamera.STATUS_CODE가 1102이고 "CameraIO".MM.FromCamera.COMMAND_COMPLETE가 True인 경우, 이는 비전 시스템이 PLC에서 보낸 명령어를 성공적으로 수행했음을 의미하며, 이때 P_TRIG 명령어를 통해 해당 논리 출력의 상승 에지를 감지한 후 "Camera_User".Status_Code_Error[0]와 "Camera_User".Start_Vis를 리셋하고 "Camera_User".Step_Num을 10으로 설정합니다.
|
Mech-Vision 비전 결과를 획득하고, 성공적으로 획득한지를 판단한 후 그에 따라 다른 처리를 수행하기 |
|
MM_Get_VisData 명령어의 입력 및 출력 파라미터에 대한 자세한 설명은 MM_Get_VisData 명령어 설명을 참조할 수 있습니다.
|
Network 6은 "Camera_User".Step_Num이 10과 같으면 다음 논리가 실행됨을 의미합니다.
-
MM_Get_VisData 기능을 활성화합니다.
-
"MM_Get_VisData".ENO가 True이고 "CameraIO".MM.FromCamera.TRIGGER_ACKNOWLEDGE가 False일 때, "Camera_User".Get_VisData가 셋트되어 PLC가 Mech-Vision 프로젝트 출력한 비전 결과를 획득합니다.
-
"CameraIO".MM.FromCamera.STATUS_CODE가 1001 이상 1099 이하인 경우, 이는 비전 시스템에 오류가 발생했음을 의미하며, 이때 P_TRIG 명령어를 통해 해당 논리 출력의 상승 에지를 감지하여 "Camera_User".Status_Code_Error[1]를 셋트하고, 동시에 "Camera_User".Get_VisData를 리셋합니다. 사용자는 표준 인터페이스 상태 코드 및 오류 분석에 따라 특정 상태 코드에 해당하는 오류 원인을 찾을 수 있습니다.
-
"CameraIO".MM.FromCamera.STATUS_CODE가 1100이고 "CameraIO".MM.FromCamera.COMMAND_COMPLETE가 True인 경우, 이는 비전 시스템이 PLC에서 보낸 명령어를 성공적으로 수행했음을 의미하며, 이때 "Camera_User".Status_Code_Error[1]과 "Camera_User".Get_VisData를 리셋하고, P_TRIG 명령어를 통해 "CameraIO".MM.FromCamera.STATUS_CODE가 1100이고 "CameraIO".MM.FromCamera.COMMAND_COMPLETE가 True인 논리 출력의 상승 에지를 감지하여 "Camera_User".Step_Num을 0으로 설정하고 "Camera_Pose_Ready"를 1로 설정하며, 이는 PLC가 비전 결과를 수신하였고 이 결과를 로봇에게 전달할 수 있음을 의미합니다.
|