Тема / Topic: OPC сигнал, тип out, как сбросить в "0"?
FiXiZ
Active Forum Member / Активный участник форума
Участник № / Member № 5069
отправлено / posted
Добрый день! Связал кнопку с OPC-каналом типа out, событие передать значение "1" в контроллер БЦП-2 фирмы "ЗЭИМ". Значение доходит до адресата, но в канале остается данное значение. Что нужно сделать, чтобы после отправки любого значения, канал сбрасывался в "0"?
Сообщения / Posts 70 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Если значение канала сбросится в 0, то "0" уйдет адресату. Канал OUT отрабатывает (в данном случае - передает) любое изменение своего значения. Вам действительно нужно передать 0?
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FiXiZ
Active Forum Member / Активный участник форума
Участник № / Member № 5069
отправлено / posted
Нет, 0 передавать не нужно. Нужно, чтоб он после передачи сбрасывался в 0, но его не передавал. Есть гарантия, что переданное последнее значение будет просто висеть и не будет постоянно или не постоянно срабатывать и записывать это значение в контроллер?
Сообщения / Posts 70 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Есть гарантия, что самостоятельно канал без изменения значения не отработает. При постоянном значении он может отработать только при взведении атрибута EXEC(39) в "1". После каждой отработки этот атрибут сбрасывается. Если канал в соответствии с протоколом обмена должен получить подтверждение об успешной передаче, и он этого подтверждения в течение заданного таймаута не получил, он будет повторять попытки передачи до тех пор, пока не получит подтверждения или не будет выключен.
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FiXiZ
Active Forum Member / Активный участник форума
Участник № / Member № 5069
отправлено / posted
Хотел еще поинтересоваться, если бы все-таки нужно было отослать число (отличное от нуля) и через небольшой промежуток послать нуль, то как это можно реализовать? На ум приходит простая ST-программа, но там проблема сделать задержку. Кнопка же с двумя событиями "передать значение" не помогает, слишком короткий промежуток.
Сообщения / Posts 70 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Гарантированную задержку на передачу "0" можно реализовать только программно. Величина задержки не может быть меньше, чем цикл обработки канала программы и квантуется тоже величиной этого цикла. Реализовать задержку можно с помощью, например, FBD раздела "Триггеры и счетчики".
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FiXiZ
Active Forum Member / Активный участник форума
Участник № / Member № 5069
отправлено / posted
Хотелось бы задержку больше цикла обработки канала, где то 300 - 1000 млсек. В FBD это можно организовать?
Сообщения / Posts 70 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Величина задержки квантуется величиной цикла и может быть задана количеством циклов.
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |