добрый день.
Есть ли для СПК107 библиотека подобная pid_reg2.lib, а желательно та же самая?
добрый день.
Есть ли для СПК107 библиотека подобная pid_reg2.lib, а желательно та же самая?
Добрый день.
Такая библиотека есть - она называется CmpOwenPidRegs.
https://youtu.be/hm6QMQUWdYM
Добрый день.
СПК107 версия прошивки 1.2.0131.1405, ядро 3.5.14.30.
Установил CmpOwenPidRegs версия 3.15.14.33, наваял проект.
Скомпилировал без ошибок, но при загрузке в СПК возникают следующие ошибки:
[FATAL ERROR] Несоответствие сигнатур: 'APID_PWM__FB_INIT' Требуемая сигнатура: 0xC76A7F18 Реализуемая сигнатура: 0x2F853E20
[FATAL ERROR] Несоответствие сигнатур: 'APID_PWM__MAIN' Требуемая сигнатура: 0xC4173AE5 Реализуемая сигнатура: 0xD9AF3345
[FATAL ERROR] Несоответствие сигнатур: 'GET_APID_PWM__MAIN' Требуемая сигнатура: 0x88D2019 Реализуемая сигнатура: 0xC771233B
[FATAL ERROR] Несоответствие сигнатур: 'SET_APID_PWM__MAIN' Требуемая сигнатура: 0x56205B6 Реализуемая сигнатура: 0x7501F2C5
Что подкрутить? :)
Добрый день.
Вам нужно обновить прошивку контроллера до свежей версии.
https://ftp.owen.ru/CoDeSys3/10_Firm....0803.1220.zip
Всех с прошедшим!
С недавних пор через какое-то время работы (сутки-трое) стал отказывать экран СПК. Выглядит это так: подсветка вырубается, на нажатия не реагирует, код программы продолжает выполняться, веб-визуализация работает, по TCP опрос идёт. В журнале следующие предупреждения: Touchhandling activated by application but not supported by the device. Touchhandling disabled и Deriving touch support from operating system not supported. Touchhandling will not be active. Остальное информационные сообщения. Пока больше никакой информации нет. Написал с той мыслью, что возможно у кого-то была такая же проблема
Я описанную ошибку не наблюдал, но для начала рекомендовал бы обновить прошивку и проект до актуальной версии:
https://owen.ru/forum/showthread.php...l=1#post342993
Пока, с вашего позволения, не буду. СПК нормально работал больше месяца, потом добавил код по управлению яркостью экрана + ещё кое-какие плюшки, потом ещё было аварийное отключение электричества и вот где-то с тех пор начались зависания. Надеюсь проблема всё-таки в коде. Сейчас переработал код ответственный за подсветку (хотя ничего критичного там не было на мой взгляд) - жду зависаний, двое суток уже работает.
В продолжение этого обсуждения (до поста №294)
Кусок кода при котором наблюдались зависания каждые 2-3 дня:
Переработанный код при котором зависаний нет уже 12 суток:Код:IF (screenCurB = 99 OR screenCurB = 0) AND (globalAlarm1 > 0 OR globalAlarm2 > 0) THEN
flagUpScreen := TRUE;
END_IF
Переменные привязанные к входам-выходам узла "Screen":Код:timerScreen(in := (screenCurB = 99 OR screenCurB = 0) AND (globalAlarm1 > 0 OR globalAlarm2 > 0), pt := T#60S); // TON
IF timerScreen.ET >= T#5S THEN
flagUpScreen := TRUE;
IF timerScreen.ET >= T#15S THEN
flagScreenError := TRUE;
IF timerScreen.Q THEN
flagRestart := TRUE;
END_IF
END_IF
END_IF
Во всём коде были только эти изменения. Добавлена задержка на переключение экрана из режима "притушен" в режим "полной" яркости в 5 секунд. Уверенности в устранении неисправности, конечно, нет. Я мог бы попытаться воспроизвести проблему со старым кодом - мне не сложно, но уезжаю в отпуск, так что предоставлю эту возможность всем заинтересованным лицам.Код:flagUpScreen: BOOL; // выход из режима погашен или притушен
screenOffT: UDINT := 3600; // off задержка
screenDimT: UDINT := screenOffT-10; // dim задержка
screenOffB: UDINT := 0; // off яркость
screenDimB: UDINT := 99; // dim яркость
screenFullB: UDINT := 100; // full яркость
screenCurB: UDINT; // текущая яркость
Во время тестирований со старым и новым кодом "globalAlarm1" всегда больше "0"