Алексей Федоров! писал(а): ↑23 май 2022, 16:41
Да, нашел такой (добавил в архив, иначе не прикреплялся)
CAN_log_22.05.23.rar
Так, видимо проблема в том, что у контроллера по какой-то причине номер узла в сети "0", поэтому Юникон на него не реагирует.
Правда не очень понятно, как так получилось. Возможно, есть какие-то проблемы с EEPROM-памятью.
Пока что предлагаю исправить это так:
В файле "Vscr/SM_Net.c" в функции "void SM_Net_Init(TSM_Net *p)" перед строкой
Код: Выделить всё
CANtoRS.nodeID = (Uint16*)&co1_vars.co_nodeID; //Номер узла из CANopen
добавить присваивание какого-нибудь значения в диапазоне от 1 до 127 в переменную "co1_vars.co_nodeID".
Например так:
Код: Выделить всё
////Работа с CANopen через UART (параллельно с CAN, нет конфликта)
co1_vars.co_nodeID = 1;
CANtoRS.nodeID = (Uint16*)&co1_vars.co_nodeID; //Номер узла из CANopen
CANtoRS.callback = Z_co_receiveSDOrequest;//Указатель на функцию обратного вызова из драйвера CANopen по приходу SDO сообщения
CANtoRS.init(&CANtoRS);
Это принудительно выставит номер устройства в сети равный "1" и Юникон его увидит.
Ждём от вас обратной связи.