Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: samum от 12 Января 2024, 10:19:29
-
Имеется связка ПЛК ОВЕН ПЛК210 (CodeSys 3.5) и ПК Windows 11 x64 (Simple-Scada 2.6.10.0). OPC-сервер бесплатный CodeSys OPC.DA версии 3.5.16.20.
В связи с разным временем загрузки ПК и ПЛК стал тестировать на разные ситуации выявил следующую особенность.
При запуске Simple-Scada Client после загрузки ПЛК всё работает идеально, даже при потери/восстановлении связи с ПЛК переменные обновляются. НО !!! если запустить Simple-Scada Client без связи с ПЛК - переменные никогда не обновлятся после восстановления связи, пока не перезапустить Проект на Simple-Scada Server. При этом, после установки связи ПК с ПЛК стороннее ПО видит все переменные ОРС-сервера (проверял через ItemProperty и OPC Explorer). При этом StartPing отрабатывает и показывает о наличии связи, а значения в 0 ... В логах сервера Ошибка "CoDeSys.OPC.DA (localhost) ошибка при добавлении новых тегов: Cannot add Items:...."
Частично решил данную проблему планировщиком заданий Windows (запуск через 1 мин. Simple-Scada Client) и включением в Options Simple-Scada Server "Деактивировать проект если у него нет клиентов". С такой конфигурацией идёт задержка на запуск Client`a, а в случае отсутствия связи с ПЛК при запуске помогает перезапуск Client`a после восстановления связи. Но для Заказчика это неприемлемо ... да и глупо сидеть отслеживать пока появится связь, когда это можно сделать через StartPing ...
Подскажите, возможно ли программно перезапускать Проект на Simple-Scada Server? Либо возможность программно перезапустить Client? Настройки Client`a и Server`a перебирал разные - ничего не помогает, данные переменных сами не обновляются.
Прикрепляю логи сервера при запуск Client`a без связи с ПЛК -> связь с ПЛК установлена -> ожидание около 2 мин. -> перезапуск Client`a (закрыл и сразу запустил) -> закрытие Client`a.
ps. другие платные ОРС-сервера не вариант, Заказчика устраивает бесплатный от CodeSys, ведь "он же работает".
pps. СУБД MySQL 8.0.22 установлена на этот же ПК, настроена через MySQL Workbench согласно Руководству. Работает.
-
Здравствуйте.
В логах сервера Ошибка "CoDeSys.OPC.DA (localhost) ошибка при добавлении новых тегов: Cannot add Items:...."
Данную ошибку ("Cannot add Items") возвращает OPC-сервер. Она говорит о том, что в момент подключения скады к OPC-серверу в его конфигурации отсутствуют переменные на которые скада хочет подписаться и подписаться не удаётся (а значит и данные в скаду приходить не будут). Причина явно в том, что OPC-сервер долго загружает конфигурацию при первом подключении, или при отсутствии связи с ПЛК.
При этом, после установки связи ПК с ПЛК стороннее ПО видит все переменные ОРС-сервера
Верно, если OPC-сервер уже загрузил конфигурацию, то все OPC-клиенты (включая скаду) будут без проблем подписываться на переменные, ведь они уже есть в конфигурации OPC-сервера.
При нормальной работе OPC-сервер должен сначала загрузить конфигурацию, а затем разрешить подключение к нему со стороны клиентов. В данном случае для решения нужно сначала запустить OPC-сервер, дождаться пока он загрузит свою конфигурацию и только после этого подключаться к нему OPC-клиентами.
Подскажите, возможно ли программно перезапускать Проект на Simple-Scada Server?
Нет, перезапустить проект можно вручную в окне сервера (https://simple-scada.com/help/manual/server-project.html), либо (если включена опция "Деактивировать проект если у него нет клиентов") отключить всех клиентов от сервера, что вызовет остановку проекта.
-
Данную ошибку ("Cannot add Items") возвращает OPC-сервер.
Это понятно, поэтому первым делом стал разбираться с ОРС-сервером, но там настроек не так много ....
В данном случае для решения нужно сначала запустить OPC-сервер, дождаться пока он загрузит свою конфигурацию и только после этого подключаться к нему OPC-клиентами.
Это конечно идеальный случай, но из-за особенностей Установки боюсь не всегда выполним. Проводил эксперименты: Без подключения к ПЛК через минуту запускал Client, ItemProperty и OPC Explorer - все подключались к OPC-серверу, но переменные не видели (так и должно быть, ПО не закрываю). Подключаю ПЛК и дожидаюсь PingData.Result в Client . Далее опять пытаюсь добавить переменные - переменные видятся и добавляются в ItemProperty и OPC Explorer, Client по прежнему сам не обновляет, индикация (!). Поэтому стал экспериментировать с Настройками Client + Server но ничего кроме "Деактивировать проект если у него нет клиентов" не помогает вообще ... вот и решил написать на форум, может всётаки есть "правильная" комбинация и настройка ...
Спасибо за ответ.