TCP ASCII 통신이 지원하는 명령어 및 반환된 상태 코드

TCP ASCII 통신을 사용할 때 외부 장치는 다음과 같은 몇 가지의 명령어를 사용하여 Mech-MSR 프로젝트의 실행을 트리거하고 해당 결과를 얻을 수 있습니다.

  • trigger 명령어: 프로젝트 실행의 트리거에 사용됩니다.

  • return 명령어: 지정된 프로젝트 결과 및 측정 결과를 획득하는 데 사용됩니다.

  • Judge 명령어: 프로젝트의 전체와 각 측정 항목의 품질 분석 결과를 획득하는 데 사용됩니다.

  • Value 명령어: 주로 지정된 프로젝트의 측정값을 획득하는 데 사용됩니다.

  • trigger 명령어를 발송하여 프로젝트를 성공적으로 실행한 후에야 return/judge/value 명령어를 발송할 수 있습니다.

  • Mech-MSR의 출력 관리 창에서 수정한 후 trigger 명령어를 새로 발송하여 프로젝트의 실행을 트리거하고 기타 명령어를 재발송하여 해당 결과를 얻어야 합니다. 프로젝트 실행을 다시 트리거하지 않으면 획득한 결과는 수정한대로 업데이트되지 않습니다.

trigger 명령어

trigger 명령어는 Mech-MSR 프로젝트의 실행을 트리거하는 데 사용되며 여러 프로젝트를 동시에 트리거할 수 있도록 지원합니다.

스텝 1: 프로젝트 번호 확정

Mech-MSR 메인 인터페이스의 프로젝트 리스트 구역에서 트리거할 프로젝트의 번호를 확인합니다.

project number
  • 프로젝트 앞에 번호가 없으면 프로젝트가 있는 솔루션을 선택한 후 오른쪽 메뉴에서 현재 솔루션 자동 로드하기를 선택하여 솔루션의 모든 프로젝트를 자동으로 로드합니다. 이 옵션을 선택해야 외부 장치를 사용하여 프로젝트 실행을 트리거할 수 있습니다.

  • 프로젝트를 위아래로 드래그하여 프로젝트의 순서를 조정한 후 오른쪽 버튼의 메뉴에서 프로젝트 번호 재설정을 선택하면 프로젝트 번호가 업데이트됩니다.

스텝 2: 명령어 전송

전송된 trigger 명령어는 trigger, 프로젝트 번호, 문자열 구분자 세 부분으로 구분됩니다.

  • trigger: 정확한 명령어 명칭이며 대소문자 변경이 불가능합니다.

  • 프로젝트 번호: 트리거할 프로젝트가 Mech-MSR 솔루션에서의 번호입니다.

  • 문자열 구분자: trigger와 프로젝트 번호를 구분하는 부호이며, 기본값으로는 영어 쉼표(,)로 표시됩니다. Mech-MSR의 통신 구성기타 데이터 포맷 파라미터에서 문자열 구분자를 수정할 수 있습니다.

trigger 명령어의 전송 포맷 및 예시 설명은 아래 표와 같습니다.

명령어 포맷 설명 예시

trigger, 프로젝트 번호

한 개의 프로젝트 실행을 트리거합니다.

번호가 1인 프로젝트 실행을 트리거합니다.

trigger, 1

trigger, 프로젝트 번호1, 프로젝트 번호2, 프로젝트 번호3

여러 개의 프로젝트 실행을 트리거합니다.

번호가 각각 1, 2, 3인 프로젝트 실행을 트리거합니다.

trigger, 1, 2, 3

솔루션에서 새로 만들어진 프로젝트의 경우 먼저 솔루션을 닫고 다시 열어야 해당 명령어 트리거를 통해 실행됩니다.

스텝 3: 반환값 확인

trigger 명령어를 전송한 후 수신한 상태 코드가 0인 경우 명령어 실행이 성공임을 의미합니다.

명령어 실행이 실패한 경우 오류 상태 코드 -1 또는 -4를 반환합니다. 가능한 원인과 해결 방법은 오류 상태 코드 설명 부분을 참조하십시오.

return 명령어

trigger 명령어를 전송하여 프로젝트 실행을 트리거한 후 return 명령어를 사용하여 해당 프로젝트의 실행 결과를 획득합니다. return 명령어는 매번 하나의 Mech-MSR 프로젝트 결과만 얻을 수 있습니다.

스텝 1: 반환값 포맷 확인

Mech-MSR의 통신 구성 창에서 실제 요구에 따라 Return 명령어 데이터 포맷을 설정합니다.

기본 포맷은 %judge,%value[%id],%judge[%id]입니다.

return command format

스텝 2: 명령어 전송

전송된 return 명령어는 return, 프로젝트 번호, 문자열 구분자 세 부분으로 구성됩니다.

  • return: 정확한 명령어 명칭이며 대소문자 변경이 불가능합니다.

  • 프로젝트 번호: Mech-MSR 솔루션에서 trigger명령어로 트리거 된 프로젝트의 번호입니다.

  • 문자열 구분자: return과 프로젝트 번호를 구분하는 부호이며, 기본값으로는 영어 쉼표(,)로 표시됩니다.

return 명령어의 전송 포맷 및 예시 설명은 아래 표와 같습니다.

명령어 포맷 설명 예시

return, 프로젝트 번호

프로젝트 실행 결과를 획득합니다.

번호가 1인 프로젝트의 실행 결과를 획득합니다.

return, 1

지정된 프로젝트가 이미 trigger 명령어를 통과하여 실행을 트리거함을 확인해야 합니다. 그렇지 않으면 return 명령어를 전송한 후 정상적인 결과를 획득할 수 없습니다.

스텝 3: 반환값 확인

프로젝트 1을 예로 들면, 외부 장치에서 return, 1 명령어를 전송한 후Mech-MSR에서는 설정한 통신 구성 창에서 설정한 return 명령어 데이터 포맷에 따라 결과를 반환할 수 있습니다.

명령어 실행이 실패한 경우 오류 상태 코드 -1, -2, -3 또는 -4를 반환합니다. 가능한 원인과 해결 방법은 오류 상태 코드 설명 부분을 참조하십시오.

Return 명령어 데이터 포맷 설정 반환값(예시) 설명

%judge

0

프로젝트 1의 전체 품질 분석 결과가 OK임을 표시합니다.

%judge

1

프로젝트 1의 전체 품질 분석 결과가 NG임을 표시합니다.

%judge,%value[%id],%judge[%id]

0,0.0224,0,54.0000,1

프로젝트 1의 전체 품질 분석 결과는 OK임을 표시하며, 이 프로젝트는 두 개의 측정 항목만 지정하여 순서대로 첫 번째 측정 항목의 값은 0.0224로 OK로 판정되고 두 번째 측정 항목의 값은 54.0000으로 NG로 판정됩니다.

1, invalid, 1

프로젝트 1의 전체 품질 분석 결과가 NG임을 표시하며, 이 프로젝트는 한 개의 측정 항목만 지정하여 측정 항목에 측정 결과가 없으며 invalid(무효값)로 반환되며 측정 항목은 NG로 판정됩니다.

%judge,%value[2],%judge[2]

0, invalid, invalid

프로젝트 1의 전체 품질 분석 결과가 OK임을 표시하며, 측정 항목 2의 값과 분석 결과는 모두 무효입니다.

가능한 원인:

  • Mech-MSR의 출력 관리 창의 통신 출력 옵션 카드에서 ID값이 2인 측정 항목을 추가하지 않았습니다.

해결 방법:

  • Mech-MSR의 출력 관리 창의 통신 출력 옵션 카드에서 ID값이 2인 측정 항목이 존재함을 확인합니다.

  • Return 명령어 데이터 포맷을 수정하여 소프트웨어가 유효 결과를 정상적으로 반환할 수 있도록 보장합니다.

측정값과 판정 결과를 확인하여 Mech-MSR에서 외부 장치로 결과를 반환하는 기본 조건을 알아봅니다.

judge 명령어

trigger 명령어를 전송하여 프로젝트의 실행을 트리거한 후 judge 명령어는 지정된 Mech-MSR 프로젝트의 전체 또는 단일 측정 항목의 분석 결과를 획득하는 데 사용됩니다.

스텝 1: 명령어 전송

전송된 judge명령어는 judge, 프로젝트 번호, 문자열 구분자 세 부분으로 구분됩니다.

  • judge: 정확한 명령어 명칭이며 대소문자 변경이 불가능합니다.

  • 프로젝트 번호: Mech-MSR 솔루션에서 trigger명령어로 트리거 된 프로젝트의 번호입니다.

  • 문자열 구분자: judge와 프로젝트 번호를 구분하는 부호이며, 기본값으로는 영어 쉼표(,)로 표시됩니다.

judge 명령어의 전송 포맷 및 예시 설명은 아래 표와 같습니다.

명령어 포맷 설명 예시

judge, 프로젝트 번호

프로젝트의 전체와 각 측정 항목의 품질 분석 결과를 획득하는 데 사용됩니다.

번호가 1인 프로젝트의 전체와 각 측정 항목의 품질 분석 결과를 획득합니다.

judge, 1

스텝 2: 반환값 확인

프로젝트 1을 예로 들면, 외부 장치에서 judge, 1 명령어를 전송한 후 Mech-MSR에서는 설정한 출력 관리 창에서 설정한 품질 분석 규칙통신 출력 내용에 따라 프로젝트의 전체와 각 측정 항목의 품질 분석 결과를 반환할 수 있습니다.

명령어 실행이 실패한 경우 오류 상태 코드 -1, -2, -3 또는 -4를 반환합니다. 가능한 원인과 해결 방법은 오류 상태 코드 설명 부분을 참조하십시오.

반환값 설명

0,0,0

(예시)

첫 번째 0은 프로젝트 1의 전체 분석 결과가 OK임을 나타내고, 마지막 2개의 0은 프로젝트가 출력할 2개의 측정 항목을 설정하고 두 결과 모두 적격(OK)임을 나타냅니다.

1,1,1

(예시)

판정 결과 첫 번째 1은 프로젝트 1의 전체 분석 결과가 NG임을 나타내고 마지막 2개의 1은 프로젝트가 출력할 2개의 측정 항목을 설정하고 두 결과 모두 부적격(NG)임을 나타냅니다.

Mech-MSR에서 결과를 외부 장치로 반환하기 위한 기본 조건에 대해 알아보시려면 판정 결과 부분을 참조하십시오.

value 명령어

trigger 명령어를 전송하여 프로젝트의 실행을 트리거한 후 value 명령어는 지정된 프로젝트의 측정값을 획득하는 데 사용됩니다.

스텝 1: 명령어 전송

전송된 value명령어는 value, 프로젝트 번호, 문자열 구분자 세 부분으로 구분됩니다.

  • value: 정확한 명령어 명칭이며 대소문자 변경이 불가능합니다.

  • 프로젝트 번호: Mech-MSR 솔루션에서 trigger명령어로 트리거 된 프로젝트의 번호입니다.

  • 문자열 구분자: value와 프로젝트 번호를 구분하는 부호이며, 기본값으로는 영어 쉼표(,)로 표시됩니다.

value 명령어의 전송 포맷 및 예시 설명은 아래 표와 같습니다.

명령어 포맷 설명 예시

value, 프로젝트 번호

지정된 프로젝트의 측정값을 획득하는 데 사용됩니다.

번호가 1인 프로젝트의 측정값을 획득합니다.

value, 1

스텝 2: 반환값 확인

프로젝트 1을 예로 들면, 외부 장치에서 value, 1 명령어를 전송한 후 Mech-MSR에서는 설정한 출력 관리 창에서 설정한 품질 분석 규칙통신 출력 내용에 따라 프로젝트의 전체와 각 측정 항목의 품질 분석 결과를 반환할 수 있습니다.

명령어 실행이 실패한 경우 오류 상태 코드 -1, -2, -3 또는 -4를 반환합니다. 가능한 원인과 해결 방법은 오류 상태 코드 설명 부분을 참조하십시오.

반환값 설명

0,54.0000

(예시)

0은 프로젝트 1의 전체 분석 결과가 OK이고 측정 항목 1의 값이 54.000임을 나타내며, 이 프로젝트는 하나의 측정 항목만 출력하도록 지정합니다.

1,54.0000

(예시)

1은 프로젝트 1의 전체 분석 결과가 NG이고 측정 항목 1의 값이 54.0000임을 나타내며, 이 프로젝트는 하나의 측정 항목만 출력하도록 지정합니다.

1,invalid

(예시)

1은 프로젝트 1의 전체 분석 결과가 NG임을 나타냅니다. 프로젝트는 하나의 측정 항목만 출력하도록 지정하지만 측정 항목은 해당 측정 결과가 없으며 invalid(무효값)로 반환됩니다.

가능한 원인:

  • 해당 측정 항목은 측정 결과가 없습니다.

해결 방법:

  • 해당 측정 항목을 검사하여 프로젝트 실행 후 해당 측정 항목의 유효 결과가 출력될 수 있도록 합니다.

측정값과 판정 결과를 확인하여 Mech-MSR에서 외부 장치로 결과를 반환하는 기본 조건을 알아봅니다.

오류 상태 코드

오류 상태 코드를 반환하는 가능한 원인과 해결법은 아래 표와 같습니다.

오류 상태 코드 설명 가능한 원인 해결 방법

-1

프로젝트 번호가 없음을 표시합니다.

  • 지정한 프로젝트 번호가 Mech-MSR 프로젝트 리스트에 없습니다.

  • 프로젝트가 있는 솔루션은 자동으로 로드되지 않았습니다.

  • 지정된 프로젝트는 새로운 프로젝트이며 프로젝트가 속한 솔루션을 닫았다가 다시 열어야 하는 데 그렇게 하지 않았습니다.

  • 입력한 Mech-MSR 프로젝트 번호가 프로젝트 리스트에 존재하는지 확인하십시오.

  • Mech-MSR에서 프로젝트가 속한 솔루션을 선택한 후 오른쪽 버튼을 클릭하여 솔루션 자동 로드하기 옵션을 선택했음을 확인합니다.

  • Mech-MSR에서 프로젝트를 닫았다가 다시 열어봅니다.

-2

결과가 없음을 표시합니다.

  • 지정된 프로젝트 실행이 트리거되지 않았습니다.

  • Mech-MSR 소프트웨어 실행이 비정상입니다.

  • trigger 명령어를 통해 프로젝트 실행을 트리거했음을 확인합니다.

  • Mech-MSR 소프트웨어의 실행이 정상적이고 실행 프로젝트가 정상적으로 결과를 출력할 수 있음을 확인하십시오.

-3

이 명령어를 전송한 후 10초 내에 프로젝트 실행이 완료되지 않으면 이 상태 코드를 반환합니다.

프로젝트 실행 시간이 너무 길어 지정된 제한 시간(10초)을 초과했습니다.

프로젝트 실행 시간이 10초를 초과하는지 검사하고 프로젝트 실행 시간이 너무 길어 비정상적인지 확인합니다. 비정상적인 경우 프로젝트 실행 시간이 긴 원인을 찾아내고 해결합니다. 정상적인 경우 다음과 같은 방법으로 오류를 해결합니다.

  • 클라이언트는 이 명령어를 호출하기 전에 적절한 지연 시간을 설정합니다.

  • 소프트웨어에서 msr_dispatcher.py 프로그램의 제한 시간(self.vision_timeout)을 늘립니다. 기본 제한 시간은 10초입니다. 수정 후 소프트웨어를 저장하고 다시 여십시오.

-4

불법 명령어를 보냈음을 표시합니다.

  • trigger/return/judge/value의 스펠링이 잘못됬거나 대소문자가 일치하지 않습니다.

  • trigger/return/judge/value와 프로젝트 번호간의 구분는 Mech-MSR의 통신 구성 창에서 설정한 문자열 구분자와 일치하지 않습니다.

  • trigger/return/judge/value의 스펠링과 대소문자가 정확함을 검사합니다.

  • trigger/return/judge/value와 프로젝트 번호간의 구분자가 Mech-MSR통신 구성 창에 설정한 문자열 구분자와 일치함을 보장합니다.

저희는 귀하의 개인 정보를 소중하게 생각합니다.

당사 웹사이트는 귀하에게 최상의 경험을 제공하기 위해 쿠키를 사용합니다. "모두 수락"을 클릭하시는 경우, 귀하는 사의 쿠키 사용에 동의하게 됩니다. "모두 거부"를 클릭하시는 경우, 귀하가 이 웹사이트를 방문할 때 추적되거나 기억되지 않도록 하기 위해 단일 쿠키가 사용됩니다.