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

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » передача значений канала в контроллер по OPC

   
Автор / Author Тема / Topic: передача значений канала в контроллер по OPC
serg5raz
Junior Member / Новичок
Участник № / Member № 4267


Icon 1 отправлено / posted      Профиль для / Profile for serg5raz           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
ДАНО:
на экране 2 кнопки и 1 аргумент
кнопка SET передает аргументу значение 1
кнопка RESET передает аргументу значение 0
с аргументом связан канал, к каналу привязан источник (бит памяти контроллера через OPC сервер, направление - выход)
и все замечательно работает: при нажатии SET бит памяти устанавливается в 1, при RESET - сбрасывается в 0, но...

ПРОБЛЕМА
все работает только если нажимать на кнопки последовательно не торопясь.
Если же, например, RESET нажать очень быстро после SET (интервал - доля секунда, как только можно щелкнуть мышкой), то бит памяти контроллера не сбрасывается, но канал при этом (смотрю в разделе компоненты профайлера) показывает значение 0, как и должно быть

ВОПРОС
откуда берется зависимость от скорости переключения? источник OPC привязан же только к каналу, а канал-то сбросился в 0, значит и бит должен установиться в 0.
Приходиться, чтобы сбросить-таки бит, снова жать SET, а потом не так быстро RESET
Повторяю - некорректная работа проявляется только при высокой скорости переключения

надеюсь, что доходчиво объяснил ситуацию

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Такая ситуация возникает из-за асинхронности потоков.

Если упрощенно, то происходит все примерно так:

Вы посылаете 1.
1 отсылается в контроллер.
Посылаете 0.
Приходит подтверждение о приеме 1 и в канале сбрасывается битик отправки.

Т.е. 0 из канала не успевает отправиться в контроллер, т.к. его отправку сбрасывает подтверждение о установке 1.

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


Icon 1 отправлено / posted      Профиль для / Profile for Svasl           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Задача - есть кнопка, при нажатии на которую во входное значение (2,In) канала float-output связанным с OPC-OUT посылается 1. Первый раз это отрабатывается,на контроллере соответствующая переменная меняет значение на true и после обработки на false. Повторные нажатия уже не влияют на значение в контроллере. Понятно, что необходимо, чтобы поменялось значение в канале, делаю отправку в канал последовательности 1-0, но из-за вышеописанной ситуции результат тот же.
Что и куда посылать, чтобы была возможность повторной отправки и изменения значения на контроллере, т.е на нажатие кнопки первое - прямая передача 1 во входное значение, а вот что вторым пунктом в свойствах кнопки, отправка нуля не влияет.

Сообщения / Posts 42 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нужно посылать дополнительно к значению 1 в атрибут 39, Exec этого канала.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / 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



Powered by Infopop Corporation
UBB.classic™ 6.7.2