2.12.4 2.12.3 2.12.2 2.12.1 2.12 2.11.2 2.11.0.1 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
2.12.4 2.12.3 2.12.2 2.12.1 2.12 2.11.2 2.11.0.1 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

통합예제 - DR_VS_CUSTOM

통신프로토콜

비전 시스템에서 하기 프로토콜을 준수해야만, 비전 명령어가 정상적으로 동작합니다.

image2021-11-18_14-34-47.png

vs_request (cmd)

  1. 로봇 제어기 → 비전 시스템“MEAS_START" +cmd[4byte]cmd는 검출 물체 개수: integer를 4byte로 변환 ex) cmd=1 → 00000001ex) cmd= 1 인 경우: “MEAS_START"+00000001실제 패킷: 4D4541535F535441525400000001

  2. 비전 시스템 → 로봇 제어기비전 시스템이 정상인 경우 “MEAS_OK” 비 정상인 경우 “MEAS_NG”를 전송

vs_result ( )

  1. 로봇 제어기 → 비전 시스템“MEAS_REQUEST"

  2. 비전 시스템 → 로봇 제어기“MEAS_INFO" +cnt[4byte] +[(x[4byte] + y[4byte] + t[4byte]) x cnt개수]cnt 는 검출된 물체의 개수를 의미 함.x(x좌표), y(y좌표), t(회전값)는 100배 스케일링한 값을 전송해야 함. ex) cnt = 1, (x=1.1 , y=2.2, t=3.3)“MEAS_INFO"+1[4byte] +110[4byte] +220[4byte] +330[4byte]실제 패킷: 4D4541535F494E464F000000010000006E000000DC0000014A ex) cnt = 2, (x=1.1 , y=2.2, t=3.3) (x=1.1 , y=-2.2, t=-3.3)“MEAS_ INFO"+2[4byte] +110[4byte] +220[4byte] +330[4byte] +110[4byte] -220[4byte] -330[4byte]실제 패킷: 4D4541535F494E464F000000020000006E000000DC0000014A0000006EFFFFFF24FFFFFEB6

예제

Python
vs_set_info(DR_VS_CUSTOM)
res = vs_connect("192.168.137.200", 9999)       #비전과 통신 연결 시도
if res !=0:                                     #통신 연결 결과 확인 
 tp_popup("connection fail",DR_PM_MESSAGE)      #접속 실패 시, 프로그램 종료  
 exit() 
 
ret = vs_request(1)                              #1번 물체 비전측정 정보 요청 
 
cnt, result = vs_result()                         #물체 측정결과 정보 가져 오기
 
for i in range(cnt):
 x = result[i][0] 
 y = result[i][1] 
 t = result[i][2]
 tp_popup("x={0},y={1}, t={2}".format(result[i][0], result[i][1], result[i][2]),DR_PM_MESSAGE)