문제

  1. CAN 인터페이스 카드가 COM 포트로 설치 될 수 있습니까?

  2. 별도의 프레임으로 전송 될 메시지를 어떻게 나누려면? 수신 된 여러 프레임에서 하나의 메시지로 데이터를 조립하는 것은 어떻습니까? 이것이 유효한 관심사입니까?

  3. 캐노펜 스택은 무엇입니까? 직렬 포트와 통신하기위한 API가 이미 있다면 Canopen 스택없이 Canopen 메시지를 읽거나 보내도록 할 수 있습니까? 내 프로그램은 정확히 무엇을해야합니까?

  4. 소프트웨어에서 객체 사전 (OD)을 구현하는 이상적/올바른 방법은 무엇입니까?

(현재 상황 : Canopen 메시지를 해석하기 위해 Java 프로그램을 작성해야합니다. 특정 상황에서는 캔 하드웨어를 손에 넣을 수 없습니다.)

(이것은 지난주에 게시 한 스택 오버플로 질문의 일련의 연속입니다. Java와 Canopen.)

도움이 되었습니까?

해결책

  1. 이는 인터페이스 카드에 따라 다릅니다. 그러나 아마도 COM 포트가되지는 않지만 카드에 액세스하기 위해 함수를 내보내는 DLL 파일을 얻을 수 있습니다 (대부분 사용 가능한 인터페이스는 USB 포트를 통해 PC에 연결됩니다). 그러나 걱정하지 마십시오. 공식 표준이 아니더라도 대부분의 DLL 파일은 동일한 기능을 사용하므로 다른 제조업체와의 인터페이스를 다른 제조업체와 교환 할 수 있습니다.

  2. 캔 버스를 통해 많은 데이터를 보내서 여러 프레임으로 분할 해야하는 것은 매우 드문 일입니다. 그러나 당신이 절대적으로해야한다면, 당신은 스스로해야합니다.

  3. Canopen Stack은 사용할 수있는 더 높은 수준의 기능을 제공하는 라이브러리입니다. Canopen이 요구하는 모든 것을 처리해야합니다 (예 : 하트 비트). 직접 할 필요가 없습니다. 좋은 스택은 또한 여러 프레임을 처리합니다 (2). 불행히도, 그러한 스택은 저렴하게 사용할 수 없지만 IMHO는 그만한 가치가 있습니다.

  4. 대부분의 구현은 OD를 수정할 수 있는지 여부에 따라 ROM 또는 RAM에서 구조물을 사용합니다. 그러나 좋은 캐 노펜 스택은 이미 당신을 위해 이것을 돌보고 있습니다.

다른 팁

3) 상업용 캐노펜 스택은 가장 좋은 아이디어이지만, 사용하지 않고도 캐노펜 메시지를 읽거나 보내는 것이 여전히 가능합니다.

우리는 귀하의 응용 프로그램의 목적이 무엇인지 모릅니다. 그러나 캐노펜 스택이 없으면 괜찮을 때 예를 들어 마스터 및 슬레이브 노드가 포함 된 기능이있는 캐노펜 버스가 있고 특정 메시지를 듣고 싶을 때입니다. 또 다른 예는 소규모 구성 또는 잘 정의 된 메시지 세트가 사용하여 작은 구성 또는 테스트 유틸리티를 작성하는 경우입니다. 이러한 경우 본격적인 상업용 캐노펜 스택은 많은 과잉 일 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top