최근에 Anybus Compactcom을 제거하고 약간의 펌웨어 업데이트를 실시하여 장치를 ModbusRTU에서 CANopen으로 전환했습니다. 이 디바이스는 이제 CANopen 노드로서 정상적으로 작동하는 것으로 보이지만, 주기적 데이터 전송을 위해 PDO를 매핑하는 데 문제가 있습니다.Anybus Compactcom을 사용하여 CANopen을 통한 PDO 매핑 및 사이 클릭 데이터 전송
호스트 응용 프로그램은 117 개의 Anybus ADI로 구성되며 각각 UINT16입니다. Anybus 문서에 따르면 ADI는 2001h에서 5fffh (ADI 1-3fff)까지 CANopen 노드의 객체 사전에있는 객체에 해당합니다.
마스터 시뮬레이터를 사용하여 CANopen 노드에서 직접 객체를 읽으려고 할 때마다 매번 예상되는 값을 얻지 만, 내 PDO를 매핑 한 후 첫 번째 ADI (모든 0)를 얻습니다. 주기적인 데이터 읽기. 내 EDS 파일에서
, 나는이 같은 각 ADI 매핑 : 내 마스터 구성 프로그램에서[2001]
ParameterName=ADI1
ObjectType=0x7
DataType=0x0006
LowLimit=0x0000
HighLimit=0xFFFF
DefaultValue=0x0
AccessType=ro
PDOMapping=1
를, 내가 PDO를 필요 마스터에 구성을 다운로드 ADI의지도. 데이터 전송을 시작하면 첫 번째 ADI가됩니다. 매핑하지 않은 경우에도 마찬가지입니다. ANY 객체가 매핑되어있는 한, 첫 번째 ADI에서 데이터를 가져온 다음 그 이후에 모두 0을 얻습니다.
나는 이것이 복잡한 설정 인 것을 알고 있으며 이것은 좋은 답변을 얻기에 충분한 정보는 아니지만 CANopen을 처음 사용하는 사람이라면 (특히 Anybus-CC를 사용하는) 제안 사항을 확인하거나 설정에 대해 알아야 할 기타 사항을 알려주십시오.
적어도 첫 번째 TPDO에 대해 PDO 매핑을 게시 할 수 있습니까? 이것이 Idx 1A00의 모든 가치입니다. – LogicG8