Difference between revisions of "CanServo/ReadPosition"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
* 서보의 현재 위치는 [[CanServo/POSITION]] 에 있습니다. | * 서보의 현재 위치는 [[CanServo/POSITION]] 에 있습니다. | ||
** 만일 1회전이 넘어갈 가능성이 있다면 [[CanServo/POSITION-32/LOW]] 를 사용하는 것을 추천합니다. | |||
* 2가지 방법이 있습니다. | * 2가지 방법이 있습니다. | ||
* Read Command | * Read Command |
Revision as of 01:05, 21 April 2022
- 서보의 현재 위치는 CanServo/POSITION 에 있습니다.
- 만일 1회전이 넘어갈 가능성이 있다면 CanServo/POSITION-32/LOW 를 사용하는 것을 추천합니다.
- 2가지 방법이 있습니다.
- Read Command
- 위치값의 주소 0x0C 를 읽는 메시지를 발신합니다.
- 해당하는 서보는 자신의 위치값을 보고합니다.
- 발신/반송 패킷 포맷
Host -> Servo: CAN ID = <Target ID2>, DATA = 'r', <Target ID1>, <Address of Register>, DLC = 3 Servo -> Host: CAN ID = <Servo's ID2>, DATA = 'v', <Servo's ID1>, <Address of Register>, <Low Byte>, <High Byte>, DLC=5
- 예제: 모든 서보에게 방송, 서보1(ID1=5, ID2=15, 위치값=0x1234, TYPE=CAN 2.0B), 서보2(ID1=6, ID2=15, 위치값=0x3344, TYPE=CAN 2.0B)
Host -> Servo: CAN ID = 0, CAN=EXT, DATA = 'r', 0, 0x0C, DLC = 3 Servo1 -> Host: CAN ID = 15, CAN=EXT, DATA = 'v', 5, 0x0C, 0x34, 0x12, DLC=5 Servo2 -> Host: CAN ID = 15, CAN=EXT, DATA = 'v', 6, 0x0C, 0x44, 0x33, DLC=5
- 예제: 특정 서보: Servo ID=10, Servo CAN ID=0x123, Type=CAN 2.0B, 현재 위치값 = 0x1122
Host -> Servo: CAN ID = 0x123, CAN=EXT, DATA = 'r', 10, 0x0C, DLC=3 Servo -> Host: CAN ID = 0x123, CAN=EXT, DATA = 'v', 10, 0x0C, 0x22, 0x11, DLC=5
- Read/Write Command, Return 메시지의 포맷은 SERVO/PROTOCOL/CAN/V1.0/ENG 를 참조해 주십시오.
- Stream 기능 사용
- CanServo/Stream 기능을 켜면, 서보는 자신의 위치값 등의 정보를 발신합니다.
- 추가적으로 원하는 정보들이 있으면, CanServo/Stream/Address 에 지정합니다.
- 참고로 서보의 ID 는 CanServo/ID1, 서보의 CAN ID 는 CanServo/ID2 를 통해 설정합니다.