Вложений: 8
VISU#34. Формат базы данных элемента Тренд (.sqlite)
Вопрос: в CODESYS элемент визуализации Тренд сохраняет историю в виде файла .sqlite.
Я выгрузил этот файл из контроллера и открыл в программе DB Browser for SQLite.
В моем проекте CODESYS к тренду привязана единственная переменная типа REAL.
В таблице TblTrendData отображаются сохраненные данные, но их значения мне непонятны.
В каком формате они сохраняются? Почему столбцов значений именно 10?
Вложение 69935
Ответ:
1. Метка времени сохраняется формате Unix Timestamp в микросекундах.
https://www.epochconverter.com/
Вложение 69936
2. В DB Browser for SQLite при открытии файла тренда значения перьев всегда интерпретируются как целочисленные (INTEGER).
Фактически вы сейчас видите "сырые" данные с неверной интерпретацией.
Поменяйте формат отображения на HEX и скопируйте их в любой HEX-to-FLOAT конвертер - и вы увидите корректные значения.
https://www.h-schmidt.net/FloatConverter/IEEE754.html
Вложение 69938 Вложение 69939 Вложение 69940
К сожалению, мы не можем предоставить инструкцию или скрипт для DB Browser for SQLite для автоматической конвертации.
3. В таблице 10 столбцов, потому что в настройках тренда по умолчанию задано именно такое ограничение на максимальное число перьев.
Вложение 69937
Примечание: в истории тревог (которая тоже сохраняется в виде .sqlite) метка времени хранится уже в другом формате - LDAP timestamp.
https://www.epochconverter.com/ldap
Вложение 69943 Вложение 69944
OTHER#15. Как отключить возможность входа в экранный конфигуратор СПК?
Вопрос: нужно отключить для оператора возможность входа в экранный конфигуратор СПК.
Также хотелось бы скрыть прогресс-бар (и надписи над ним), отображаемый в процессе загрузки контроллера.
Как это можно сделать?
Ответ: подключитесь к контроллеру по SSH (с помощью утилиты типа Putty или через web-конфигуратор: вкладка Система - Терминал) и выполните команды:
Код:
uci set psplash.config.nomenu='1'
uci set psplash.config.enable_bar='0'
uci set psplash.config.enable_msg='0'
uci commit
Вложений: 4
DEGUG#12. Вопросы о сертификатах безопасности
Вопрос: при подключении к контроллеру появляется следующее сообщение:
Вложение 73301
При нажатии на кнопку Да открывается вкладка Безопасность, где несколько сертификатов выделено желтым цветом.
Вложение 73303
Что это означает и что делать?
Ответ: это просто информационное сообщение о том, что у вас истекает срок действия TLS-сертификатов.
Если вы используете их (например, для подключения к веб-визуализации по протоколу HTTPS или для шифрования трафика между средой CODESYS и контроллером) - то перегенерируйте их
(с помощью кнопки, выделенной на скриншоте выше).
Если вы их не используете - то можете не обращать внимание на эти сообщения.
Вопрос: в журнале контроллера отображаются следующие ошибки:
Вложение 73304
Что они означают?
Ответ: строго говоря, это не ошибки, а информационные предупреждения об отсутствии в контроллере TLS-сертификата для веб-визуализации.
В случае необходимости подключения к веб-визуализации по протоколу HTTPS сертификат можно сгенерировать через CODESYS (см. выше) или в веб-конфигураторе на вкладке ПЛК - Настройки.
В следующих версиях CODESYS эти сообщения перенесли из группы "ошибки" в группу "сообщения отладки":
Вложение 73433
Вложений: 2
VISU#35. Как отключить необходимость ввода пароля ПЛК для web-визуализации?
Вопрос: в контроллере был создан пользователь CODESYS, чтобы устранить возможность неавторизованного подключения из среды разработки.
После этого при попытке подключения к web-визуализации появляется окно с запросом на ввод логина и пароля этого пользователя:
Вложение 73585
Это неудобно - нужно, чтобы авторизация требовалась только при подключении из CODESYS.
Как отключить необходимость авторизации в web-визуализации?
Примечание: описанный ниже способ поддерживается только для ПЛК210-1x и СПК210.
Ответ:
1. Подключитесь к контроллеру с помощью WinSCP (или другим аналогичным SCP-клиентом).
2. Перейдите в рабочую директорию CODESYS (ПЛК210 - /root/CODESYS, СПК210 - /home/root/CODESYS_WRK).
3. Откройте файл CODESYSControl_User.cfg.
4. В секции [CmpWebServerHandlerV3] присвойте параметру AllowFileTransferServices значение 0.
Вложение 73586
5. Сохраните файл.
6. Перезапустите CODESYS (в веб-конфигураторе: ПЛК - Настройки - кнопка Перезапустить CODESYS) или перезагрузите контроллер.
Примечение: после этого перестанет работать функции передачи файлов через визуализацию (Visu Transfer File).
Вложений: 1
OTHER#16. Накопители для обновления прошивки/приложения - требования и рекомендации
Вопрос: периодически требуется обновить прошивку (или приложение CODESYS) контроллера с USB или SD накопителя.
С некоторыми накопителями получается, с некоторыми - нет.
В чём может быть дело?
Ответ: накопители, используемые для обновления прошивки/приложения CODESYS, должны соответствовать следующим требованиям:
1. Файловая система FAT32.
2. Один раздел на накопителе.
3. Стиль таблицы разделов - MBR.
4. Для USB-накопителей потребление тока должно соответствовать возможностям порта контроллера (см. информацию в руководстве по эксплуатации).
Если не получилось, то можно:
1. Отформатировать накопитель.
2. Попробовать другой накопитель.
https://owen.ru/forum/showthread.php...l=1#post429318
Вложение 73587
Тот факт, что накопитель определяется в Linux (например, вы видите это в CODESYS в узле Drives или web-конфигураторе) - не означает, что он подойдет для обновления прошивки/приложения с накопителя.
Основная причина, по которой подходят не все накопители - процесс обновления прошивки/приложения начинается в начальном загрузчике, у которого достаточно жесткие требования к таймингам накопителя.
Особенно часто возникают проблемы с USB flash от noname-вендоров.
Список накопителей, которые мы успешно используем у себя в офисе:
USB: Transcend JetFlash (серии 600, 590), Adata C008, Kingston DT R3.0 G2, Smartbuy (серия Quartz)
SD: Transcend, Kingston, Adata, Samsung (серия Evo Plus)
DEBUG#13. Не работает синхронизация по NTP
Вопрос: не получается настроить синхронизацию времени с NTP-сервером.
В чем может быть проблема?
Ответ:
1. Проверьте работу вашего сервера с каким-нибудь NTP-клиентом, запущенным на ПК.
2. Убедитесь, что в вашей сети не блокируются UDP-пакеты.
3. Если в качестве NTP-сервера используется cлужба W32tm (ОС Windows) - то NTP-клиент ПЛК, настраиваемый через web-конфигуратор (вкладка Система - Время), не сможет синхронизировать время,
так как использует версию протокола NTPv4, а W32tm поддерживает только NTPv3.
Возможные варианты решения для п. 3:
1. Запустить на ПК NTP-сервер, который поддерживает версию протокола NTPv4.
2. Организовать синхронизацию времени по NTP средствами CODESYS (см. пример).
Вложений: 2
DEBUG#14. При установке пакета возникает ошибка подтверждения подписи
Вопрос: при попытке установки пакета с помощью CODESYS Installer появляется сообщение "Не удалось подтвердить подпись для следующего пакета. <путь к файла пакета>. Для следующего пакета подпись не соответствует подписи для принятого контекста установки. <путь к файла пакета>.". Как решить эту проблему?
Вложение 73918
Ответ: используйте для установки пакетов CODESYS Installer версии 2.2.2:
https://ftp.owen.ru/CoDeSys3/01_CODE...er%202.2.2.exe
Данная ошибка проявляется при определенных (не при всех) сочетаниях среды версий CODESYS и CODESYS Installer.
Вложение 73919
Вложений: 1
IDE#12. При установке CODESYS возникает ошибка "gateway.exe is not marked..."
Вопрос: при установке CODESYS возникает ошибка "gateway.exe is not marked for installation".
В чем причина?
Вложение 74374
Ответ: такая ошибка может возникнуть, если на ПК установлена OEM-версия CODESYS (например, SoMachine от Schneider Electric).
Для ее устранения нужно удалить это ПО и запустить установку CODESYS заново.
Вложений: 3
COM#31. Как сделать переменные Modbus Slave Device энергонезависимыми? (RETAIN)
Вопрос: мы настраиваем контроллер в режиме Modbus Slave, используя для этого компоненты Modbus Serial Device и ModbusTCP Slave Device в дереве проекта.
Требуется, чтобы переменные, привязанные к каналам слэйва, сохраняли свои значения после перезагрузки.
Для этого они объявлены в области RETAIN (или PERSISTENT).
Для входных регистров (input registers) и дискретных входов (discrete inputs) значения этих энергонезависимых переменных сохраняются после перезагрузки контроллера.
Но для регистров хранения (holding registers) и обмоток (coils) - значения энергонезависимых переменных после перезагрузки обнуляются.
Как это исправить?
Ответ:
Описанная проблема исправлена в плагине CODESYS Modbus версии 4.1.0.0.
1. Загрузите актуальную версию плагина (рекомендуемая - CODESYS Modbus 4.3.0.0).
2. Установите ее через CODESYS Installer (предварительно потребуется закрыть среду CODESYS).
3. В проект нажмите ПКМ на Modbus Serial Device (или ModbusTCP Slave Device) в дереве проекта и используйте команду Обновить устройство.
Для Modbus Serial Device выберите версию 4.2.0.0, для ModbusTCP Slave Device - версию 4.3.0.0.
Проверьте, что версия компонента обновилась - для этого перейдите на вкладку Информация.
Вложение 75130 Вложение 75131
4. В настройках компонента установите галочку Запись.
Вложение 75132
Вложений: 1
COM#32. Как получать сообщения по протоколу NMEA 0183?
Вопрос: к COM-порту контроллера подключен GPS-приемник, который периодически отправляет по протоколу NMEA 0183 сообщения с текущим временем и географическими координатами (RMC-строки).
Как в коде программы получить и обработать эти сообщения?
Ответ: см. пример.
Для теста примера использовалась программа NMEA Simulator.
Вложение 75388
Отличия в цифрах после запятой для широты и долготы связаны с тем, что обновление данных в окне СODESYS и окне симулятора происходит несинхронно.