Благодарю, курс стОящий, многие вопросы автоматически отпали по мере освоения.
В общем - по плану-минимуму я победил.
Опишу здесь, что и как. Может быть: кому-то поможет, у кого аналогичная задача стоит.
Сразу только условимся, что я - нуб, и задача решена "в лоб" и совершенно неэлегантно. Вероятно: я сам над её решением буду истово ржать, спустя какое-то время, когда в материале лучше разберусь.
Вводная:
1. То ли лыжи не едут, то ли какой-то конфликт версий, но с Owen OPC Server работает нестабильно: иногда выход остаётся "висеть" включенным, несмотря на отжатую кнопку и значение "0" на выходе переменной, и наоборот - не включается, хотя кнопка нажата, и в переменную записалось значение "1000" (допускаю, что где-то накосячил и недоразобрался с обратными связями). В то же время при работе через MasterOPC Universal ModBus Server - всё ОК, всё переключается стабильно. Поэтому работать будем через MasterOPC Universal ModBus Server;
2. Будем полагать, что к решению задачи мы подходим, уже зная, на каком порту, с какими параметрами связи и с каким сетевым номером висит наша исполнительная железяка (просто оставим необходимость с этим разбираться за рамками темы, т.к. ответ будет слишком "раздут"). Поясним только, что в нашем случае это RS-485, COM20, 9600/8/N/1, сетевой номер 16;
3. Будем полагать, что к решению задачи мы подходим с уже созданным описанием исполнительного устройства в MasterOPC Universal ModBus Server, и знаем, что в какие регистры надо писать, почему это именно так, и какова разрядность данных. Поясним, что в случае с МУ 110-32Р значения всех 32 выходов лежат в регистрах ModBus с адресами с 0 по 31 [0x1F]. Это описано на 38й странице мануала. Соответственно - в MasterOPC Universal ModBus Server теги у нас будут с соответствующими адресами и разрядностью;
4. Будем полагать, что решающий задачу прошёл первый раздел вышеприведённых курсов, и уже ориентируется в интерфейсе MasterSCADA и базовых элементах. Если нет, то - надо это устранить.
Решение:
1. Запускаем MasterOPC Universal ModBus Server и MasterSCADA, делаем новый проект.
2. Подцепляем в Систему MasterSCADA MasterOPC Universal ModBus Server, создаём объект, назначаем объекту компьютер, и импортируем в компьютер три тега с нашего устройства (если надо "дёргать" больше, чем тремя выходами - тегов в OPC надо создавать больше, и импортировать, соответственно, тоже не три, а столько, сколько надо):
11_1.png
3. Добавляем в Объект три команды и три расчёта, даём осмысленные имена, тип команд меняем на "дискретный":
11_2.png.
4. Связываем теги Системы с соответствующими расчётами Объекта (тащим drag-n-drop'ом теги на расчёты):
11_3.png
5. Задаём формулы для расчётов. На вход расчёта подаём наши команды (на вход первого расчёта - первую команду, на вход второго - вторую, и т.д.), с выхода расчёта будем снимать значение вычисления по формуле, где вход умножается на 1000 (т.к. 0 в регистре - это значение ШИМ на соответствующем выходе "всегда выключено", а 1000 в регистре - это значение ШИМ на соответствующем выходе "всегда включено"). Убеждаемся, что у входа формулы тип данных подтянулся "логический":
11_4.png
6. Создаём объекту мнемосхему. На мнемосхему тащим наши команды drag-n-drop'ом правой кнопкой мыши и назначаем им отображение "кнопка". Меняем кнопкам на мнемосхеме надписи на осмысленные. Меняем кнопкам флаг "Кнопка с фиксацией" на "Истина":
11_5.png
7. Сохраняем проект. Запускаем. Переходим на мнемосхему. Тыкаем в кнопки, смотрим на МУ 110-32Р. Наблюдаем соответствие. Приходим в состояние глубокого удовлетворения
11_6.jpg11_7.jpg11_8.jpg11_9.jpg11_10.jpg
Если что-то не так - идём проверять типы данных, соответствие выходов расчётам, формулы.





Ответить с цитированием