The CANOpen master of my IMC card loses sometimes slaves and / or the PLC stops without obvious reason
It is not recommended to use CANOpen-related variables in other tasks but MAST because it can create instabilities.
For example here is a typical PDO mapping from an ATV71:
“_” is added at the end of each variable to clearly mark that they come from CANOpen.
Now to be able to use these variables in other tasks (like Freewheel_Task) global variables have to be created. These global variables act as an interface between MAST and Freewheel_Task.
For example it can be:
CMD_Eject : UINT;
LFRD_Eject : INT;
ETA_Eject : UINT;
RFRD_Eject : INT;
LCR_Eject : UINT;
Code has to be added in MAST task to copy from/to these variables:
CMD_Eject_ := CMD_Eject; // RPDO
LFRD_Eject_ := LFRD_Eject; // RPDO
ETA_Eject := ETA_Eject_; // TPDO
RFRD_Eject := RFRD_Eject_; // TPDO
LCR_Eject := LCR_Eject_; // TPDO
Now CANOpen-related variables are used in MAST task only and the machine should run without trouble.
For example here is a typical PDO mapping from an ATV71:
“_” is added at the end of each variable to clearly mark that they come from CANOpen.
Now to be able to use these variables in other tasks (like Freewheel_Task) global variables have to be created. These global variables act as an interface between MAST and Freewheel_Task.
For example it can be:
CMD_Eject : UINT;
LFRD_Eject : INT;
ETA_Eject : UINT;
RFRD_Eject : INT;
LCR_Eject : UINT;
Code has to be added in MAST task to copy from/to these variables:
CMD_Eject_ := CMD_Eject; // RPDO
LFRD_Eject_ := LFRD_Eject; // RPDO
ETA_Eject := ETA_Eject_; // TPDO
RFRD_Eject := RFRD_Eject_; // TPDO
LCR_Eject := LCR_Eject_; // TPDO
Now CANOpen-related variables are used in MAST task only and the machine should run without trouble.
게시 대상: 슈나이더 일렉트릭 Korea


도움이 필요하신가요?
제품 선택기
애플리케이션에 적합한 제품과 액세서리를 빠르고 쉽게 찾을 수 있습니다.
견적 받기
영업 관련하여 온라인으로 문의하시면 전문가가 연락드립니다.
구매처
해당 지역의 가장 가까운 슈나이더 일렉트릭 대리점을 쉽게 찾을 수 있습니다.
지원 센터
한 곳에서 모든 요구 사항에 대한 지원 리소스를 찾아보십시오.