Тема / Topic: ОТ узла и сообщения по каналам HEX16
VovsSPB
Junior Member / Новичок
Участник № / Member № 9800
отправлено / posted
Добрый день.
Как изменить настройку генерации сообщений для канала HEX16 не по фронту (0->1, 1->0), а по уровню (0 или 1)?
Сообщения / Posts 8 | Из / From: РФ
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- сообщения пишутся при изменении значения при чем тут фронт ??????????
Сообщения / Posts 916 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Опишите, пожалуйста, более подробнее Вашу задачу. Почему генерация сообщений не устраивает?
Сообщения / Posts 17416 | Из / From: Россия
| IP / IP: IP адрес / IP address |
VovsSPB
Junior Member / Новичок
Участник № / Member № 9800
отправлено / posted
Изменение значения бита и есть фронт. Например, есть два битовых сигнала, у одного аварийное значение 1, у другого - 0. Если при запуске MPB оба сигнала находятся в аварийных значениях, то при генерации по фронту получим только одно аварийное сообщение (для 1), а если по уровню - то два.
Сообщения / Posts 8 | Из / From: РФ
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- инвертировать нужный бит например через трансляцию - инвертировать целиком значение канала( если данные ) биты в разных каналах 40 атрибут(инверсия) в IDE на вкладке канала
Сообщения / Posts 916 | Из / From: Россия
| IP / IP: IP адрес / IP address |
VovsSPB
Junior Member / Новичок
Участник № / Member № 9800
отправлено / posted
>> Опишите, пожалуйста, более подробнее Вашу задачу. Почему генерация сообщений не устраивает?
При запуске MPB в журнале сообщений не отображаются записи о событиях, которые привязаны к значению "0" в словарях сообщений при "0" состоянии дискретных сигналов. Инверсия неприемлема (все сигналы приводятся к норме при первичной обработке в ПЛК) и трудозатратна (большое количество сигналов, графика уже разработана).
Сообщения / Posts 8 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
Например, есть два битовых сигнала, у одного аварийное значение 1, у другого - 0.
Из нашего опыта и опыта Пользователей, при использовании битовых сигналов для аварий, выбирается одно значение бита (у всех 1 аварий или у всех 0 авария).
Если у Вас есть два сигнала, у одного авария это 0, а у другого 1, то можно просто. В Словаре для HEX16/32 можно задать сообщения (и категории) для бита в состоянии 0 (1bit_Off) и 1 (1bit_On). Вы можете в одном случае в Словаре задать аварию на 0, а на втором случае - 1. Тогда, после запуска проекта, в случае аварии (переход значения бита в 0) будет сообщение.
Сообщения / Posts 17416 | Из / From: Россия
| IP / IP: IP адрес / IP address |
VovsSPB
Junior Member / Новичок
Участник № / Member № 9800
отправлено / posted
>> Тогда, после запуска проекта, в случае аварии (переход значения бита в 0) будет сообщение.
После запуска проекта переходы 0-1 и 1-0 отрабатываются корректно и появляются сообщения. Как настроить выдачу сообщений для 0 (bit_Off) при запуске проекта?
Сообщения / Posts 8 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
Как настроить выдачу сообщений для 0 (bit_Off) при запуске проекта?
Значение "ноль" при запуске проекта не отображается. По этому делаем дополнительный канал и шаблон программы.
В шаблоне программы (на примере FBD) делаем два блока "распаковка бит" и "упаковка бит". Соединяем выходы "Распаковки" со входами "Упаковки". Для сигналов, что 0 это авария у выходов "Распаковки" устанавливаем инверсию (ПКМ на выходе).
Вход программы - атрибут Реальное значение канала чтения с устройства. Выход программы - атрибут Входное значение канала, который пишет в Отчет Тревог.
В словаре указываем аварию как взведенный бит (*bit_on).
Если все сделали правильно, то при чтении (даже на старте) значения 0, будет работать программа и канал с Отчетом Тревог выдаст сообщение по (програмно) взведенному биту.
VovsSPB
Junior Member / Новичок
Участник № / Member № 9800
отправлено / posted
Спасибо, получилось.
>>Однако, стоит все привести к виду "1 - событие пришло" и "0 - событие ушло". Например, ёмкость с дискретными уровнями. Для аварийного уровня 0 - норма, 1 - авария, а для уровней защиты насоса или ТЭНа - 0 - авария, а 1 - норма. В большинстве SCADA или панелей операторов есть настройка генерации сообщений: по уровню (0 или 1) или по фронту (0-1, 1-0). Если вводить дополнительные лишние статусы, биты, переменные, то это увеличивает трудозатраты (в меньшей степени) на разработку ПО и (в большей степени) на документацию - технологическую, эксплуатационную и ремонтную.
Сообщения / Posts 8 | Из / From: РФ
| IP / IP: IP адрес / IP address |