Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Мониторы Реального Времени / Real Time Monitors » ФУ "Посылка значения в канал"

   
Автор / Author Тема / Topic: ФУ "Посылка значения в канал"
Mischa
Forum Member / Участник форума
Участник № / Member № 781


Icon 5 отправлено / posted      Профиль для / Profile for Mischa           Редактировать/удалить сообщение / Edit/Delete Post 
В АРМе созданы дискретные каналы ручного управления арматурой. Управление битами каналов осуществляется посылкой значения в канал "прямая" с восстановлением.
Бывает "залипание" команды(после снятия воздействия остается "1" в битах канала);
Самопроизвольное присвоение "1" битам каналов(самопроизвольная подача команд управления арматурой). "1" снимается при записи в бит канала "0" вручную.
В чем может быть проблема?

Сообщения / Posts 48 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Посылка на кнопке или на ГЭ?
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119


Icon 1 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
Если цикл "Нажатие-отпускание кнопки" укладывается в цикл пересчета базы каналов, то залипать обязательно будет. Нажимайте медленно [Улыбка / Smile]
Сообщения / Posts 337 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Mischa
Forum Member / Участник форума
Участник № / Member № 781


Icon 1 отправлено / posted      Профиль для / Profile for Mischa           Редактировать/удалить сообщение / Edit/Delete Post 
Посылка организована на пороговом цветовом индикаторе(отображение состояния и управление).
Цикл пересчета базы каналов - 500мс.
Разве нажатие-отпускание кнопки должно зависеть от цикла пересчета базы каналов?
А почему происходит сбой(самопроизвольное запись "1" в биты каналов управления) в процессе работы МРВ и отсутствия ручного воздействия?

Сообщения / Posts 48 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
1) Это не от цикла пересчета зависит, а от настроек ОС. Дело в том, что есть три типа событий: нажатие, отжатие и клик. Так вот клик - это нажатие+отжатие за определенное время, настраивается оно в настройках чувствительности мыши в ОС Windows, поэтому если будете быстро нажимать и отжимать, то система будет интерпретировать это не как два события, а как одно - "клик".
2) Причину самопроизвольных 1 в битах ищите либо в алгоритмах, которые ссылаются на этот канал, либо в сетевых послыках, графический интерфейс ну никак не способен самопроизвольно значения в каналы послыать без каких-либо действий оператора.

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119


Icon 1 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
Прошу прощения за ошибку.
Не нашел такой настройки в системе. Там только скорость двойного клика. [Недоумение / Confused]

Я считаю, что ФО с флажком "Восстанавливать значение" должна интерпретировать клик так же как и пару нажатие-отжатие. [clever / умный]

Я никогда не пользуюсь этой функцией, как потенциально опасной, хоть и приходится заметно усложнять алгоритм.

Сообщения / Posts 337 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Mischa
Forum Member / Участник форума
Участник № / Member № 781


Icon 1 отправлено / posted      Профиль для / Profile for Mischa           Редактировать/удалить сообщение / Edit/Delete Post 
От цикла пересчета базы каналов залипание ФО зависит(проверял), однако проблемы не решает.
Настройка у мыши скорости двойного клика также мало что дает.
Как все таки решить эту реальную и опасную проблему?

Сообщения / Posts 48 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119


Icon 1 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
По моему скромному мнению, алгоритм подачи импульсной команды должен отслеживать её прохождение и сам её сбрасывать. Т.е. надо просто записать в канал (или бит) единицу и успокоиться на этом. В этот же канал всунуть FBD, которая его сбросит либо по тайм-ауту, либо по факту его прохождения дальше или исполнения, либо по невозможности того и другого.

Можно использовать потенциальные команды, т.е.хочу, чтоб задвижка была открыта - устанавливаю 1, хочу, чтоб закрыта - 0. (Ну это упрощённо). Очень удобно при этом использовать для посылки единицы в бит или канал функцию XOR с 0х1 (каждое нажатие инвертирует).

Но мнение Адастры мне тоже интересно.

Сообщения / Posts 337 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Mischa
Forum Member / Участник форума
Участник № / Member № 781


Icon 1 отправлено / posted      Профиль для / Profile for Mischa           Редактировать/удалить сообщение / Edit/Delete Post 
Включать и отключать один и тот же канал(бит канала) от разных источников не получается, если команды висящие.
Если привязать к каналу FBD-программу, она жестко пишет в него либо "0", либо "1" и изменить значение канала от ФО невозможно.
Как можно автоматически сбрасывать висящую команду от ФО?

Сообщения / Posts 48 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Если у одного приемника есть несколько источников данных, они должны обрабатываться программно и выход этого алгоритм обязательно должен быть один, иначе получается неопределенность в управлении, а от нее и все проблемы.
Относительно восстановления значения - в ОС Windows есть еще одна неприятная особенность в обработчике событий - если удерживая кнопку мыши нажатой, убрать курсор с элемента, то действие будет отменено и функция по отжатию выполнена не будет, а соответственно по нажатию уже будет отработана. Поэтому, если ситуация с "залипанием" значения критична для Вас, то как уже упомянул Станислав Крамаренко: лучшее решение - программное.

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Mischa
Forum Member / Участник форума
Участник № / Member № 781


Icon 1 отправлено / posted      Профиль для / Profile for Mischa           Редактировать/удалить сообщение / Edit/Delete Post 
А как вообще стандартно реализуется управление запорной арматурой при смешанном управлении(ручном и от программ-пошаговых, логических).В ситуации, когда необходимо повторно подать команду в том же направлении прийдется производить два действия:сначала команду вручную снять, потом снова подать.
Сообщения / Posts 48 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Зачем? Для выдачи повторных команд по внешним интерфейсам, можно использовать функцию принудительной отработки Output-каналов. А так - обычно реализуется алгоритм, который подразумевает два режима работы: ручное управление и автоматическое. И в автоматическом режиме нельзя управлять оборудованием вручную до тех пор, пока не переведешь алгоритм в ручной режим. Если же необходимо одновременное смешанное управление - все равно логика алгоритма должна это учитывать и принимать команды ручного управления как корректирующие и согласовать их с текущими алгоритмическими командами, а уж затем выдавать команду на "железо".
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Mischa
Forum Member / Участник форума
Участник № / Member № 781


Icon 1 отправлено / posted      Профиль для / Profile for Mischa           Редактировать/удалить сообщение / Edit/Delete Post 
Вы меня не поняли.Я имел в виду следующее:
Если подать команду без восстановления на открытие арматуры,она останется висеть в канале(это дальше в алгоритме можно ограничить длительность команды). Далее,по прошествии времени включается программа, которая закрывает эту арматуру.Дальше, если необходимо, вручную открыть эту арматуру(программа может уже и не работать) как это сделать - ведь на ФО(на привязанном к ней канале)висит "1", а это первоисточник. Эту "1" можно сбросить только другой ФО(например на закрытие),но это уже несколько действий,так и запутаться можно.

Сообщения / Posts 48 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Вам же уже сказали выше, что подобные вещи решаются алгоритмически на уровне программы управления, а не на уровне графических форм - программа должна следить за значениями управляющих каналов и она должна их сбрасывать, а не графический интерфейс оператора.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119


Icon 1 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
Пример.
Чтобы послать команду управления Вам надо подать единичный импульс в канал "Open".
Пишете FBD, которая имеет два входа: "Вход" и "Обратная связь" и один выход: "Выход". Внутри RS-триггер, который устанавливается по "Входу" и сбрасывается по "Обратной связи". И "Вход" и "Выход" привязываете к Open.In, а "Обратную связь" к Open.Out.
Теперь в Open.In из графики посылаете 1, которая гарантированно продержится там один цикл пересчета канала, а затем сбросится. Изменяя цикл пересчета канала, можно управлять длительностью импульса.

Сообщения / Posts 337 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2