@Евгений Кислов, @kondor3000
Спасибо.
Ещё вопрос: можно ли как-то вызвать квитирование события вне самой Таблицы событий?
Хотел бы разместить кнопку квитирования на окне, появляющемся при возникновении нештатной ситуации. Чтобы его закрыть можно было только через квитирование (вызовом функции через макрос или ещё как).
И ещё до кучи платиновый вопрос - как сохранить и вывести кириллицу в макросах?
Заколебался я набивать текст в компоненты...
Последний раз редактировалось stdenits; 08.02.2022 в 10:46.
@kondor3000
>Вы саму таблицу создали?
Таблица - компонент редактора "Историческая таблица". Просто разместил на форме экрана.
>Сколько событий у вас
8 событий на каждый из 8-ми каналов 5-ти модулей МВ110. К каналам подключены ТСМ.
Итого 320 событий.
На каждый канал - отдельная ячейка PSW, в которой используются первые 8 бит (0x00FF, 1 бит на каждое событие канала).
>сколько столбцов (какие) и какой начальный регистр назначили
Три, стандартные: время появления, сообщение, время квитирования.
Начальный регистр: PSW2000.
В таблицу я набью эти сообщения.
А вот в окно извещения о нештатной ситуации заходить на второй круг не хочется.
Про кириллицу в макросах нашёл.
Последний раз редактировалось stdenits; 08.02.2022 в 13:28.
Добрый! Постановка задачи: Имеется связка: ПР200-24.2.2.0+СП307-Р+ПМ210
1-ый порт RS485 ПР200 как мастер опрашивает ПЧ.
2-ой порт RS485 ПР200 используется как slave для СП307 (PRG) master
Порт Download СП307 используется как slave для ПМ210, который master.
Через регистры 4x512-4x571 ПР200 из панели оператора могу записывать измененные значения уставок в ПР200. Тут все работает.
Панелью СП307 при помощи функциональной области (цикл 1 секунда, с галочкой без первой паузы) копирую группу из 60 регистров в PSW панели: регистры 4x512-4x571 из порта PRG (ПР200) -> во внутренние регистры PSW512-PSW571.
ПМ210 корректно читает внутренние регистры панели PSW512-PSW571 и выдает их в owencloud
Задача:
Из owencloud (ПМ210) получить возможность изменять(записывать) регистр 4x531 в ПР200
Написал такой макрос:
WORD Value=0;
Value=PSW[531];
Write(PLC, 1, MODBUS_RTU_REG_4X, 531, 0, TYPE_WORD, Value);
Условие запуска макроса выше при помощи функциональной области - непрерывно. Режим выполнения – параллельно (асинхронно)
Все ли будет у меня работать? Или есть другие варианты попробовать решить мою задачу?
Так как оборудование уже на объекте - попробовать смогу только когда буду непосредственно возле СП307, поэтому хотелось бы подготовиться. Спасибо.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Спасибо за отклик! А в момент старта панели PSW531=0? Или нет? Это ведь оперативная область памяти?
Не вызовет ли эта операция первоначальное обнуление существующей уставки в 4х531 ПР200?
Спасибо.
СП307.png
Последний раз редактировалось BrEST; 08.02.2022 в 22:36.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Нужно сделать компиляцию из двух способов
В ф.область, первой функцией, добавить не мой фрагмент, а вызов Вашего макроса
Только в макросе добавить условие
если PSW[531] не равно нулю, тогда
Write(PLC, 1, MODBUS_RTU_REG_4X, 531, 0, TYPE_WORD, PSW[531])
И режим выполнения макроса нужно делать последовательно.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg