Форум 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 канал Input/Output

   
Автор / Author Тема / Topic: Совмещенный OPC канал Input/Output
Иннокентий М.
Junior Member / Новичок
Участник № / Member № 1876


Icon 1 отправлено / posted      Профиль для / Profile for Иннокентий М.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть OPC-сервер, и тэги с доступом на чтение/запись совмещенные (Input/Output).
Тэги связаны как с платой DO (digital output) контроллера (воздействие на механизм),
как и внутренней переменной ISA Graf с доступом на чтение/запись.

В случае с платой DO нужно как воздействовать, так и проверять в каком положении он находится. Переменная ISA Graf это некая уставка, которая может меняться принудительно как оператором, так и самой программой в контроллере, и при этом нужно постоянно оператору знать значение этой уставки.

Так вот, хотелось бы через одну переменную в “Источники/Приемники” производить с ней операции на чтение и запись. Но направление переменной может быть только input или output, но никак не совмещенной, что повергло меня в ступор.

Ладно, в документации нашел упоминание про “смена типа вх/выход”, информации мало, и как я понял это только для первого запуска, а нужно постоянно отслеживать этот канал, т.к. контроллер сам может поменять его значение. Здесь ничего не вышло. Или я сделал что-то не так(мало информации) или это не мой случай. Как правильно здесь сделать?

Закончилось тем, что пришлось вместо одной переменной в “Источники/Приемники”, сделать две, которые ссылаются на один и тот же opc-тег (идентификатор) и имеют разные направления, один соответственно на управление (output), а другой на чтение значения (input). В этом случае все работает как надо, т.е. значении меняются как и оператором, так и контроллером, при этом оператор видит в реальном времени изменения.
Соответственно возник вопрос, а можно ли так делать(двойная ссылка на opc-тег) или есть другой способ(желательно поподробнее)?
И получилось вместо одного источника – два, что не есть хорошо.

Сообщения / Posts 2 | Из / 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 
Вы все сделали правильно - источник/приемник может быть либо Входной точкой ввода данных, либо Выходной точкой вывода данных. Иначе нельзя.
Для реального оборудования это так и есть - не бывает плат УСО, где один и тот же канал есть и вход и выход. То же и с ОРС (для его внутренних переменных). То, что стандарт ОРС подразумевает полный дуплекс именно для тэгов - не значит, что этот стандарт распространяется также на внутреннюю архитектуру нашей системы по работе с точками ввода/вывода. К тому же в любом случае тэг ОРС - это реальный канал аппаратуры УСО, а в ней объединения канала ввода-вывода пока еще не предусмотрено.

Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Иннокентий М.
Junior Member / Новичок
Участник № / Member № 1876


Icon 1 отправлено / posted      Профиль для / Profile for Иннокентий М.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Будем разделять opc-тэг на две точки.

Тогда подскажите как правильно работать с ними.
В контроллере есть внутренняя переменная типа BOOL с направление IN/OUT.
Соответственно через OPC-сервер она видна как BOOL на чтение/запись.

Создал источник с направлением IN/Дискрет для просмотра состояния.
Создал приемник с направлением OUT/Дискрет для управления, авто-построением создал для нее канал (OUT/Hex16).
На экране создал текст и значение связал на прямую с источником(состоянием).
Создал две кнопки, одна посылает 0 – другая 1 на “входное значение” канала, при этом промежуточная переменная на экране имеет тип OUT/BOOL.

Просмотр состояния работает нормально.
А вот с управлением как-то не заладилось.

Если в контроллере значение переменной равно 1, и после запуска МРВ по нажатию кнопки посылаю 0, то ничего не происходит, приходится сначала послать 1, а потом только 0. Дальше все работает нормально.
Если в контроллере значение переменной равно 0, и после запуска МРВ посылаю 1 – все ок.
Я так понял, что это связано с начальным значение канала OUT/Hex16 – по умолчанию 0, и при попытки послать туда ноль – ничего не происходит, т.к. по логике значение на канале не поменялось и не зачем его тогда обновлять контроллере (хотя в контроллере оно равно 1).

Ладно, стал обновлять принудительно, т.е. на кнопку отправки 0 дополнительно повесил “передать значение” 1 на атрибут “отработать”. Все заработало как надо.

Посему возник вопрос, а правильно ли так делать или есть другой путь ????????
Что-то больно запутанно получилось.

Возможно есть второй способ, заполнить начальное значение канала реальным числом.
Пробовал ставить галочку “смена типа Вх/Вых”, пробовал принудительно посылать туда 1, ничего не происходит, т.е. направление меняется, а вот значение нет, менял канал на IN а потом делал смену типа – тоже не помогло. Как в этом случае корректно работать (в help-e можно сказать информации ноль по этому вопросу) ??????

Сообщения / Posts 2 | Из / 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 
Данную задачу надо решать программно - алгоритмом, который будет отрабатывать при старте один раз и будет передавать значение Входного канала на его Выходной дубль. Синхронизировать значение через атрибут "смена Вх/Вых" нельзя из-за особенностей обмена по ОРС - в начале все тэги попадают в группы - Входы, Выходы и перемещать их в реальном времени между этими группами уже нельзя, фиксировано.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Bcube
Junior Member / Новичок
Участник № / Member № 3663


Icon 1 отправлено / posted      Профиль для / Profile for Bcube           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
К тому же в любом случае тэг ОРС - это реальный канал аппаратуры УСО, а в ней объединения канала ввода-вывода пока еще не предусмотрено.

Для технической поддержки: тэг OPC это НЕ ТОЛЬКО!!!! реальный канал аппаратуры УСО!!!. в контроллере кроме физических каналов есть еще всякие переменные, которые также могут быть переданы на комп и они могут быть и для чтения и для записи... кроме всего тот же дискретный выход (реальный физический канал УСО) кроме как на запись должен еще и считываться с УСО, дабы знать его состояние. ТАК ЧТО ВЫ В КОРНЕ НЕ ПРАВЫ ОПРЕДЕЛЯЯ что МОЖНО ЛИБО ЧИТАТЬ, ЛИБО ПИСАТЬ....

Должно быть так: Канал либо только для чтения, либо для чтения/записи!!!!!

ЗЫ:Очень бы хотелось пообщаться с разработчиками (особенно с теми которые формируют идеологию продукта) в живую, но увы до Москвы далеко [Улыбка / Smile] [Улыбка / Smile] [Улыбка / Smile]

Сообщения / Posts 4 | Из / 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 
В Trace Mode не запрещено читать переменную для записи. Канала для чтения\записи нет и пока не планируется, но данная возможность реализуется при помощи двух каналов.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Bcube
Junior Member / Новичок
Участник № / Member № 3663


Icon 1 отправлено / posted      Профиль для / Profile for Bcube           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Как же не запрещено..когда для того чтобы прочитать реальное значение, перед тем как его изменить нужно городить такой огород (смотрите свой же ответ "Данную задачу надо решать программно - алгоритмом, который будет отрабатывать при старте один раз и будет передавать значение Входного канала на его Выходной дубль.").
Не проще сразу написать этот алгоритм и заложить его внутрь системы дабы конечный пользователь не ломал голову что да как....ГОСПОДА РАЗРАБОТЧИКИ для вас это дело минут на 10...ну если постараться то на день [Улыбка / Smile] [Улыбка / Smile] , а для отдела МАРКЕТИНГА еще один повод похвастаться какая хорошая система ТРЕЙСМОД....
ЗЫ просто такая капелька дегтя портит все плюсы системы и лишает вас очередных заработанных пары млн.рублей

Сообщения / Posts 4 | Из / 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 
Еще раз повторим, канал для чтения\записи на данный момент не планируется.
Сообщения / Posts 17114 | Из / 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