5.外部제어与통신방식
디렉터리
원격프로그램설정
원격 모드연결상태
조회 Modbus、外部 IO 연결상태
명령어: 0x5032 REMOTE_CONNECT_INQUIRE
요청包体:
{}반환연결상태
명령어: 0x5033 REMOTE_CONNECT_RESPOND
응답包体:
{
"ModbusConnect": false,
"ExternIOConnect": true,
"type": 2
}| 매개변수 | 유형 | 설명 |
|---|---|---|
| ModbusConnect | bool | Modbus 연결상태:false 미연결,true 已연결 |
| ExternIOConnect | bool | 外部 IO 연결상태:false 미연결,true 已연결 |
| type | int | 연결유형:0:NAN, 1:RTU, 2:TCP |
원격작업파일설정
설정원격작업파일
명령어: 0x2C01 REMOTE_JOBFILE_SET
| 매개변수 | 유형 | 설명 |
|---|---|---|
| robot | int | 로봇번호 |
| jobFile | array | 작업파일열테이블 |
jobFile 배열요소:
| 매개변수 | 유형 | 설명 |
|---|---|---|
| name | string | 작업파일이름 |
| times | int | 실행회수 |
요청包体:
{
"robot": 1,
"jobFile": [
{"name": "Q1", "times": 1},
{"name": "Q2", "times": 1},
{"name": "Q3", "times": 1},
{"name": "Q4", "times": 1},
{"name": "Q5", "times": 1}
]
}最多 10 번째작업파일
가져오기원격작업파일
명령어: 0x2C02 REMOTE_JOBFILE_INQUIRE
요청包体:
{
"robot": 1
}반환작업파일조회결과
명령어: 0x2C03 REMOTE_JOBFILE_RESPOND
응답包体:
{
"robot": 1,
"jobFile": [
{"name": "Q1", "times": 3},
{"name": "Q2", "times": 3},
{"name": "", "times": 1},
{"name": "Q4", "times": 2},
{"name": "", "times": 1}
]
}원격 모드매개변수설정
설정원격 모드매개변수
명령어: 0x2C04 REMOTE_PARA_SET
| 매개변수 | 유형 | 설명 |
|---|---|---|
| robot | int | 로봇번호 |
| remoteDefaultSpeed | int | 원격 모드속도,범위 1~100 |
| reserveIsStart | int | 예약并시작:1 시작,0 닫기 |
| reserveTrgTime | int | 确认시작시간,범위 200~1000ms |
| waitingTime | int | IO 重复触发시간 |
요청包体:
{
"robot": 1,
"remoteDefaultSpeed": 15,
"reserveIsStart": 1,
"reserveTrgTime": 200,
"waitingTime": 500
}조회원격 모드매개변수
명령어: 0x2C05 REMOTE_PARA_INQUIRE
요청包体:
{
"robot": 1
}반환원격 모드매개변수조회결과
명령어: 0x2C06 REMOTE_PARA_RESPOND
응답包体:
{
"robot": 1,
"remoteDefaultSpeed": 15,
"reserveIsStart": 1,
"reserveTrgTime": 200,
"waitingTime": 500
}Lua프로그램
Lua파일存放在 ~/robot/job/lua 디렉터리内。
업로드파일和查看파일열테이블用 SCP 的방식。
실행프로그램
호스트 컴퓨터 전송: 0x2511
{
"fileName": "xxx.lua"
}컨트롤러 응답: 0x2512
{
"fileName": "xxx.lua",
"result": true,
"error": "오류原因"
}| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| fileName | string | 예 | Lua파일이름 |
| result | bool | 예 | 실행여부성공 |
| error | string | 예 | 오류原因,성공时을/를空문자열 |
정지프로그램
호스트 컴퓨터 전송: 0x2513
{
"fileName": "xxx.lua"
}| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| fileName | string | 예 | Lua파일이름 |
현재실행
호스트 컴퓨터 전송: 0x2515
{}컨트롤러응답: 0x2516
{
"fileNames": [
{
"fileName": "xxx.lua",
"status": 1
}
]
}| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| fileNames | array | 예 | 실행中的파일열테이블 |
| fileNames[].fileName | string | 예 | Lua파일이름 |
| fileNames[].status | int | 예 | 1-일시정지,2-실행 |
Modbus
1. 설정 Modbus 프로그램
명령어: 0x5701 EXTERN_PROGRAM_SET
{
"robot": 1,
"programid": 1,
"jobname": "xxxx"
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호,범위 1-4 |
| programid | int | 예 | 프로그램 ID,범위 1-300 |
| jobname | string | 예 | 작업파일이름(아님含后缀) |
2. 조회 Modbus 프로그램
명령어: 0x5702 EXTERN_PROGRAM_INQUIRE
{
"robot": 1,
"startprogramid": 1,
"num": 10
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호,범위 1-4 |
| startprogramid | int | 예 | 프로그램시작 ID |
| num | int | 예 | 필요가져오기的프로그램번째수,범위 1-10 |
3. 조회 Modbus 프로그램응답
명령어: 0x5703 EXTERN_PROGRAM_RESPOND
{
"robot": 1,
"startprogramid": 1,
"jobnamelist": ["xxx", "", "yyyy"]
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호,범위 1-4 |
| startprogramid | int | 예 | 프로그램시작 ID |
| jobnamelist | array | 예 | 작업파일이름열테이블,共 10 번째요소,没有则填空문자열 |
4. 설정컨트롤러的 Modbus 유형
명령어: 0x5711
{
"RTU": {
"baudrate": 115200,
"port": 2,
"slaveId": 1
},
"TCP": {
"IP": "192.168.1.11",
"port": 502
},
"master-slave": 1,
"scancycle": 100,
"stoprun": 0,
"type": "TCP"
}| 매개변수分클래스 | 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|---|
| RTU | baudrate | string | 예 | Modbus RTU 통신Baud Rate |
| RTU | port | int | 예 | Modbus RTU 통신串口번호 |
| RTU | slaveId | int | 예 | Modbus RTU 통신从设备 ID |
| TCP | IP | string | 예 | Modbus TCP 통신서버 IP 주소 |
| TCP | port | int | 예 | Modbus TCP 통신포트 번호 |
| 범용 | master-slave | string | 예 | 主从모드:0 의미主모드,1 의미从모드 |
| 범용 | scancycle | int | 예 | 扫描주기,단위:ms |
| 범용 | stoprun | bool | 예 | 실행정지标志:0 의미미정지,1 의미정지 |
| 범용 | type | string | 예 | 통신유형,선택 RTU 或 TCP |
5. 조회컨트롤러的 Modbus 유형
명령어: 0x5712
{}컨트롤러응답 (0x5713):
{
"RTU": {
"baudrate": 115200,
"port": 2,
"slaveId": 1
},
"TCP": {
"IP": "192.168.1.11",
"port": 502
},
"enable": true,
"master-slave": 1,
"scancycle": 100,
"stoprun": 0,
"type": "TCP"
}| 매개변수分클래스 | 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|---|
| RTU | baudrate | string | 예 | Modbus RTU 통신Baud Rate |
| RTU | port | int | 예 | Modbus RTU 통신串口번호 |
| RTU | slaveId | int | 예 | Modbus RTU 통신从设备 ID |
| TCP | IP | string | 예 | Modbus TCP 통신서버 IP 주소 |
| TCP | port | int | 예 | Modbus TCP 통신포트 번호 |
| 범용 | enable | bool | 예 | 여부启用 Modbus 통신 |
| 범용 | master-slave | string | 예 | 主从모드:0 의미主모드,1 의미从모드 |
| 범용 | scancycle | int | 예 | 扫描주기,단위:ms |
| 범용 | stoprun | bool | 예 | 실행정지标志:0 의미미정지,1 의미정지 |
| 범용 | type | string | 예 | 통신유형,선택 RTU 或 TCP |
6. 컨트롤러 Modbus 활성화
명령어: 0x5714
{
"enable": false
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| enable | bool | 예 | 여부启用 Modbus 통신:false 禁用,true 启用 |
7. 설정 Modbus 하트비트감지
명령어: 0x5715 MODBUS_CHECKHEART_SET
{
"checkheart": true
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| checkheart | bool | 예 | Modbus 하트비트감지스위치 |
8. 조회 Modbus 하트비트감지
명령어: 0x5716 MODBUS_CHECKHEART_INQUIRE
{}컨트롤러응답 (0x5717):
{
"checkheart": true
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| checkheart | bool | 예 | Modbus 하트비트감지상태:true 开启,false 닫기 |
9. 조회컨트롤러作을/를슬레이브여부연결
명령어: 0x5718
요청:
{}응답:
{
"ModbusConnect": false
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| ModbusConnect | bool | 예 | 연결상태:false 미연결,true 已연결 |
10. 컨트롤러作을/를마스터的매개변수설정
명령어: 0x5719
{
"masterStation": {
"RTU": {
"baudrate": 115200,
"checkBit": "E",
"dataBit": 5,
"port": 2,
"slaveId": 1,
"stopBit": 1
},
"TCP": {
"IP": "192.168.10.56",
"port": 503
},
"processNumber": 1,
"type": "TCP"
},
"startAddress": false
}| 매개변수分클래스 | 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|---|
| masterStation | type | string | 예 | 통신유형:RTU 或 TCP |
| masterStation | processNumber | int | 예 | 프로세스번호 |
| masterStation.RTU | baudrate | int | 예 | Baud Rate |
| masterStation.RTU | checkBit | string | 예 | 검증비트:如 "E"(偶검증)、"O"(奇검증)、"N"(없음검증) |
| masterStation.RTU | dataBit | int | 예 | 데이터비트 |
| masterStation.RTU | port | int | 예 | 串口번호 |
| masterStation.RTU | slaveId | int | 예 | 从设备 ID |
| masterStation.RTU | stopBit | int | 예 | 정지비트 |
| masterStation.TCP | IP | string | 예 | TCP 서버 IP 주소 |
| masterStation.TCP | port | int | 예 | TCP 포트 번호 |
| 범용 | startAddress | bool | 예 | 시작주소스위치 |
11. 조회컨트롤러作을/를마스터时的정보
명령어: 0x5744
{
"processNumber": 2
}| 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| processNumber | int | 예 | 프로세스번호 |
12. 조회마스터정보응답
명령어: 0x5745
{
"RTU": {
"baudrate": 115200,
"checkBit": "E",
"dataBit": 5,
"port": 3,
"slaveId": 56,
"stopBit": 1
},
"TCP": {
"IP": "192.168.1.14",
"port": 503
},
"modbus_state": false,
"response_time_out": 100,
"startAddress": true,
"type": "RTU"
}| 매개변수分클래스 | 매개변수이름 | 유형 | 필수 | 설명 |
|---|---|---|---|---|
| RTU | baudrate | int | 예 | Baud Rate |
| RTU | checkBit | string | 예 | 검증비트 |
| RTU | dataBit | int | 예 | 데이터비트 |
| RTU | port | int | 예 | 串口번호 |
| RTU | slaveId | int | 예 | 从设备 ID |
| RTU | stopBit | int | 예 | 정지비트 |
| TCP | IP | string | 예 | TCP 서버 IP 주소 |
| TCP | port | int | 예 | TCP 포트 번호 |
| 범용 | modbus_state | bool | 예 | MODBUS 상태 |
| 범용 | response_time_out | int | 예 | 응답타임아웃시간,단위:ms |
| 범용 | startAddress | bool | 예 | 시작주소스위치 |
| 범용 | type | string | 예 | 통신유형:RTU 或 TCP |
13. 명령어汇总
| 명령어 | 기능 | 방향 |
|---|---|---|
| 0x5701 | 설정 Modbus 프로그램 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5702 | 조회 Modbus 프로그램 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5703 | 조회 Modbus 프로그램응답 | 컨트롤러 → 호스트 컴퓨터 |
| 0x5711 | 설정컨트롤러 Modbus 유형 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5712 | 조회컨트롤러 Modbus 유형 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5713 | 조회컨트롤러 Modbus 유형응답 | 컨트롤러 → 호스트 컴퓨터 |
| 0x5714 | 컨트롤러 Modbus 활성화 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5715 | 설정 Modbus 하트비트감지 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5716 | 조회 Modbus 하트비트감지 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5717 | 조회 Modbus 하트비트감지응답 | 컨트롤러 → 호스트 컴퓨터 |
| 0x5718 | 조회슬레이브연결상태 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5719 | 설정마스터매개변수 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5744 | 조회마스터정보 | 호스트 컴퓨터 → 컨트롤러 |
| 0x5745 | 조회마스터정보응답 | 컨트롤러 → 호스트 컴퓨터 |
TCP통신
설정네트워크매개변수
명령어: 0x4180 MSGCOMM_PARAM_SET
클라이언트
요청 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| frameHeader | string | 帧头 |
| ip | string | IP주소 |
| numberSystem | int | 0: 10진수, 1: 16진수 |
| port | int | 포트 번호 |
| separator | string | 分隔符 |
| terminator | string | 종료符 |
| craft | int | 프로세스번호 (1~9) |
| robot | int | 로봇번호 |
| type | int | 0: 서버, 1: 클라이언트 |
요청 예시
{
"client": {
"frameHeader": "@",
"ip": "192.168.1.111",
"numberSystem": 1,
"port": 9000,
"separator": ",",
"terminator": "!"
},
"craft": 1,
"robot": 1,
"type": 1
}服务端
요청 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| frameHeader | string | 帧头 |
| ip | string | IP주소 |
| numberSystem | int | 0: 10진수, 1: 16진수 |
| port | int | 포트 번호 |
| separator | string | 分隔符 |
| terminator | string | 종료符 |
| craft | int | 프로세스번호 (1~9) |
| robot | int | 로봇번호 |
| type | int | 0: 서버, 1: 클라이언트 |
요청 예시
{
"craft": 3,
"robot": 1,
"server": {
"frameHeader": "@A",
"ip": "192.168.1.14",
"numberSystem": 0,
"port": 9001,
"separator": "B",
"terminator": "C"
},
"type": 0
}조회네트워크매개변수
명령어: 0x4181 MSGCOMM_PARAM_INQUIRE
요청 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| robot | int | 로봇번호 |
| craft | int | 프로세스번호 |
| type | int | 0: 서버, 1: 클라이언트 |
요청 예시
{
"robot": 1,
"craft": 1,
"type": 2
}응답네트워크매개변수조회
명령어: 0x4182 MSGCOMM_PARAM_RESPOND
클라이언트
응답 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| frameHeader | string | 帧头 |
| ip | string | IP주소 |
| numberSystem | int | 0: 10진수, 1: 16진수 |
| port | int | 포트 번호 |
| separator | string | 分隔符 |
| terminator | string | 종료符 |
| craft | int | 프로세스번호 |
| netState | bool | true: 연결, false: 연결 해제 |
| robot | int | 로봇번호 |
| type | int | 0: 서버, 1: 클라이언트 |
응답 예시
{
"client": {
"frameHeader": "@",
"ip": "192.168.1.111",
"numberSystem": 0,
"port": 9000,
"separator": ",",
"terminator": "!"
},
"craft": 1,
"netState": false,
"robot": 1,
"type": 1
}服务端
응답 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| frameHeader | string | 帧头 |
| ip | string | IP주소 |
| numberSystem | int | 0: 10진수, 1: 16진수 |
| port | int | 포트 번호 |
| separator | string | 分隔符 |
| terminator | string | 종료符 |
| craft | int | 프로세스번호 |
| netState | bool | true: 연결, false: 연결 해제 |
| robot | int | 로봇번호 |
| type | int | 0: 서버, 1: 클라이언트 |
응답 예시
{
"craft": 1,
"netState": false,
"robot": 1,
"server": {
"frameHeader": "@",
"ip": "192.168.1.14",
"numberSystem": 0,
"port": 22,
"separator": ",",
"terminator": "!"
},
"type": 0
}연결MSGCOMM네트워크
명령어: 0x4183 MSGCOMM_DEVICE_CONNECT
요청 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| robot | int | 로봇번호 |
| craft | int | 프로세스번호 |
요청 예시
{
"robot": 1,
"craft": 1
}닫기MSGCOMM네트워크
명령어: 0x4184 MSGCOMM_DEVICE_CLOSE
요청 매개변수
| 필드 | 유형 | 설명 |
|---|---|---|
| robot | int | 로봇번호 |
| craft | int | 프로세스번호 |
요청 예시
{
"robot": 1,
"craft": 1
}