2014-01-30 2 views
-2

CAN을 통해 모터에 연결된 내 컴퓨터에 모터가 연결되어 있습니다. 기본적으로, 나는 내 컴퓨터에서 USB 케이블을 연결하는 USB-CAN 어댑터를 가지고있다. 그런 다음 어댑터에서 모터가 CAN을 통해 연결됩니다.CAN 통신을 통해 컴퓨터에 연결된 모터 프로그래밍?

이제 모터에 데이터를 보내고 싶습니다. 전송해야하는 바이트의 순서는 이미 알고 있지만 CAN을 통해 연결된 모터에 "말하기"위해 사용할 명령은 무엇인지 모르겠습니다. 컴퓨터에서 모터로 직접 USB 연결을 통해 데이터를 보낼 수 있었지만 (C++의 WriteFile 명령 사용)이 방법은 CAN에서는 작동하지 않습니다.

C++에서 CAN을 통해 모터와 통신하는 데 사용할 수있는 라이브러리/기능이 있습니까?

+0

약간 넓습니다. CANBUS는 11 비트 또는 29 비트 어드레싱, 수용 필터 및 이러한 모든 오류를 가지고 있습니다. 우리는 버스 비트율 등을 설정하기 위해 USB <> CAN 어댑터와 통신하는 데 어떤 프로토콜이 사용되는지 알지 못합니다. 우리는 CAN 네트워크가 물리적으로 작동하는지 여부조차 모릅니다. 정확하게 끝났습니다. –

+1

모든 모터 컨트롤러 공급 업체는 자신의 프로토콜을 고안하여 자신의 명령 세트가 경쟁 업체보다 우수하다고 주장했습니다. 때로는 컨트롤러가 동일하게 만들어지지 않습니다. 때로는 그렇지 않지만 시간을 투자하여 다시 구매하게됩니다. RTFM을해야합니다. –

답변

2

모터를 CAN 버스에 직접 연결할 수 없으므로 버스 사이에 일종의 모터 컨트롤러, 드라이브 또는 I/O 컨트롤러가 있어야합니다. 이 장치의 세부 사항은 근본적인 수준 이상으로 조언을하기 위해 필요합니다.

CAN 자체는 응용 프로그램 계층 프로토콜을 정의하지 않으며 CANopen, DeviceNet 및 SDS와 같은 CAN에 대한 몇 가지 응용 프로그램 프로토콜이 있습니다. 기기에서 이러한 프로토콜을 사용하거나 독점권을 사용할 수 있습니다. 시작점은 I/O 장치의 설명서 여야합니다.

테스트를 위해 대부분의 PC CAN 어댑터 제조업체는 낮은 수준에서 개별 메시지와 메시지 시퀀스를 구성하고 보낼 수있는 일종의 디버그 또는 개발 도구를 제공합니다. 이러한 도구를 사용하면 버스 및 I/O 장치의 작동을 확인할 수 있습니다.

관련 문제