Вопрос 1: в символьной конфигурации был включен экспорт комментариев - чтобы они отображались в OwenCloud в качестве названий параметров.
После этого контроллер перестал подключаться к облаку. В чем может быть проблема?
Ответ: при отправке комментариев в OwenCloud их длина обрезается до 31 символа.
В результате такие "обрезанные" комментарии для разных переменных могут стать одинаковыми.
Пример:
Для обоих переменных комментарии при их отправке в OwenCloud будут обрезаны до ФС Отказ датчика уровня воды Ем и станут одинаковыми.Код:xVolume1_SensorFailed: BOOL; // ФС Отказ датчика уровня воды Емкость 1 xVolume2_SensorFailed: BOOL; // ФС Отказ датчика уровня воды Емкость 2
При разборе символьной конфигурации в OwenCloud в ряде конкретных случаев из-за таких повторяющихся имен могут возникнуть ошибки, из-за которых импорт конфигурации будет прерван, и связь контроллера с облаком не будет установлена. При этом всё зависит от сочетания переменных в символьной конфигурации - например, если в символьной конфигурации будут только две переменные, показанные выше (с совпадающим "обрезанным" именем) - то связь установится, но если в символьной конфигурации будут другие переменные, то при их определенном сочетании связь установлена не будет.
Поэтому разработчик должен проанализировать комментарии к переменным, выбранным в символьной конфигурации, и исключить возможность того, что комментарии разных переменных будут совпадать (в том числе, при их обрезании до 31 символа).
Вопрос 2: в проект была добавлена символьная конфигурация. Через некоторое время (измеряемое часами) в работе контроллера начинаются проблемы.
Примеры таких проблем:
- не удается подключиться к контроллеру из CODESYS
- не отображается веб-визуализация
- перестает работать обмен
- на экране СПК пропадают изображения
С чем это может быть связано?
Ответ: в текущей реализации библиотеки OwenStorage (отвечающей за связь с OwenCloud) есть ошибка: если в символьной конфигурации нет ни одной переменной "элементарного" типа (BOOL, INT и т. д.) - то начинается утечка дескрипторов, приводящая к описанному поведению.
Характерный признак утечки дескрипторов - отображение в логе контроллера сообщения "Could not open /dev/random: Too many open files".
2024-05-07_12-54-55.png
Обычно это проявляется у клиентов, добавляющих в символьную конфигурацию только экземпляры структур. Для решения проблемы достаточно добавить в символьную конфигурацию хотя бы одну переменную "элементарного" типа.
Ошибка будет исправлена в следующей версии библиотеки, после чего данный ответ будет обновлен.
Upd. - проблема устранена в прошивке 3.7.0228.1046.
Ошибка исправлена в обновлении компонента OwenCloud (3.5.17.3003) в дереве проекта и библиотеки OwenStorage (3.5.17.32).
Вопрос 3: для добавления контроллера в OwenCloud требуется указать его серийный номер.
У моего контроллера в веб-конфигураторе серийный номер не отображается:
sn.png
Почему так случилось и что можно сделать?
Ответ: такое может случиться из-за некорректно проведенной процедуры перепрошивки.
Вам требуется отправить прибор в сервисный центр.
Вопрос 4: для связи с OwenCloud контроллер должен быть подключен к сети, которая имеет доступ в интернет.
Должны ли быть в ней открыты какие-то порты?
Ответ: для связи с OwenCloud контроллер устанавливает клиентское соединение с ресурсом gate.owencloud.ru по порту 26502.
Соответственно, никакие настройки сети не должны мешать ему это делать.
Самый простой способ проверки - выполнить пинг до gate.owencloud.ru в веб-конфигураторе контроллера на вкладке Сеть/Диагностика:
25-04-2024 8-57-24.png
Если пинга нет - то проверьте корректность сетевых настроек контроллера на вкладке Сеть/Интерфейсы.
В большинстве случаев проблема связана с тем, что не указан (или некорректно указан) IP-адрес шлюза.
25-04-2024 9-00-55.png
Если вы не знаете, какой адрес шлюза в вашей локальной сети - обратитесь к ее системному администратору.