Стартовая страница › Форумы › Вопросы без категории › Управление com портом в рантайме.
- В этой теме 51 ответ, 6 участников, последнее обновление 7 месяцев, 2 недели назад сделано Mikhail.
-
АвторСообщения
-
02.03.2022 в 14:41 #22071bhunУчастник
Здравствуйте. Возможно ли управлять com портом (закрывать/открывать) при работе скады в рантайме?
Описание задачи:
1. В штатном режиме скада общается с удаленным устройством по RS485/ModbusRtu.
2. В некоторый момент времени (по нажатию на кнопку) запускается программа-конфигуратор удаленного устройства, связь с уд.устройством также осуществляется по RS485.
2.1 Скада закрывает порт, перестает производить опрос уд.устройсва.
2.2 Программа-конфигуратор открывает порт, взаимодействует с уд.устройством. Закрывается.
2.3 Скада открывает порт, возобновляет опрос уд.устройства.Каким образом возможно реализовать данный алгоритм работы с удаленным устройством (манипулировать работой com порта)?
02.03.2022 в 15:00 #22072manjey73УчастникВ версии 5 только в ручном режиме и если Администратор установлен на сервере.
Вы можете остановить опрос отдельной линии.Если Администратор на удаленной машине тоже можно путем передачи файла, но не уверен.
Обычно передачей всей конфигурации,, отключив в настройках опрос.На счет 6-й версии не скажу.
По идее это требуется для тестирования или изменения каких-то настроек и не имеет особого смысла городить огород. Ручного варианта вполне достаточно.
- Этот ответ был изменен 2 года, 1 месяц назад от manjey73.
02.03.2022 в 16:08 #22076MikhailМодераторДобрый день!
Подтверждаю предыдущий ответ.
Добавлю, что в 6-й версии команды на запуск и остановку линии связи (соответственно, закрытие порта) можно отправлять через веб-интерфейс.02.03.2022 в 16:11 #22078a80808УчастникПо кнопке запустить внешнюю программу-конфигуратор не удастся (в 5 версии). Так что скорее придется пойти с другой стороны. @mikhail а через API SCADAе удастся управлять линией?
02.03.2022 в 16:22 #22079RomirosУчастникДобавлю, что в 6-й версии команды на запуск и остановку линии связи (соответственно, закрытие порта) можно отправлять через веб-интерфейс.
А можно подробнее, как это настроить каналах?
03.03.2022 в 10:03 #22083MikhailМодераторИсходный код Коммуникатора для обработки команд: ссылка.
Доступные команды: ссылка.Нужно создать канал типа «Выходной». Код тега — имя команды, например, Comm.StartLine. Значение передаваемой команды — номер линии. Значение можно либо внести фиксировано в формулу канала, либо вводить вручную при отправке команды.
Если что-то не заработает, пишите.03.03.2022 в 11:55 #22088bhunУчастникЗдравствуйте. С сайта скачал Rapid SCADA 5.8.4. Версию 6 видел только в Гите в виде исходников, т.е. она еще на этапе разработки?
03.03.2022 в 12:06 #22091a80808УчастникДа, только в бета версии и еще не полностью работоспособна. Идет тестирование.
03.03.2022 в 15:47 #22101bhunУчастникПо кнопке запустить внешнюю программу-конфигуратор не удастся (в 5 версии). Так что скорее придется пойти с другой стороны.
Подскажите, что за другая сторона?
Обычно в скадах можно назначить различные действия по нажатию на кнопку. Я думал назначить исполнения своего скрипта для запуска сторонней программы. Я так понял RapidScada обладает встроенным языком C# думал на нем писать пользовательский код на исполнение(по триггерам, событиям), это возможно?03.03.2022 в 15:52 #22102manjey73Участник@bhun вы в описании хотите запустить другое приложение, это не то же самое, что выполнить какой-то скрипт и результат положить в другой канал.
03.03.2022 в 16:07 #22103a80808УчастникЯ имел в виду, что придется идти от внешнего приложения. Не умеет пока SCADA запускать внешние скрипты/процессы. Я обдумывал сильно кривую идею: Написать какую то прогу, которая регулярно (ну раз в секунду) читает определенный файл. Если там 0 или его нет — ничего не делаем. Если 1 — то запускаем нужную процедуру и записываем в него 0. Как то так…
03.03.2022 в 16:12 #22104RomirosУчастникМихаил, команды на перезапуск линии связи из web работают, проблем нет. Все получилось, спасибо.
03.03.2022 в 16:42 #22105a80808Участник@romiros, т.е это так:
1.Создаем канал типа «Выходной». Привязываем его к кнопке на схеме (?)
2. Присваиваем Код тега — имя команды, например, Comm.StartLine.
3. Присваиваем Значение передаваемой команды — номер линии.
Правильно?03.03.2022 в 21:13 #22111RomirosУчастникДа, все верно.
04.03.2022 в 10:13 #22120bhunУчастник@manjey73 в моем
понимании скрипты это более мощный инструмент (исходя из опыта работы с др.скадами), когда есть возможность из скрипта через api скады получить доступ к ее внутренностям, в том числе доступ к WinApi или работу с командным интерпретатором.
Получается в SimpleScada скрипты могут работать только с канальными данными и каналами. -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.