Форум 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 » Порядок отработки каналов. Нюансы

   
Автор / Author Тема / Topic: Порядок отработки каналов. Нюансы
Olexander
Junior Member / Новичок
Участник № / Member № 7774


Icon 1 отправлено / posted      Профиль для / Profile for Olexander           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Подскажите, правильно ли я понимаю, что при создании каналов в узле или базе каналов им по порядку присваивается ID (атрибут 118) и пересчет и отработка этих каналов в основном потоке (в пределах групп каналов INPUT, CALL и OUTPUT) выполняются по возрастанию этого ID? Тогда, чтобы изменить порядок пересчета каналов, мне необходимо уничтожить каналы и создать их заново в узле в нужном порядке? Можно ли вообще как-то узнать ID канала в ИС в режиме конструктора и поменять его?

2. И еще: если некоторые каналы были уничтожены, а затем в узле появились новые, то ID вновь созданным каналам будет присваиваться из образовавшейся области незанятых ID старых каналов или как шел последовательно, так и будет продолжать вне зависимости от появления пустот?

3. Допустим, по недоразумению аргументу канала вызова экрана присваивается сразу несколько значений от других источников. К примеру, в редакторе аргументов канала вызова Экрана#1 задана привязка к аргументу канала вызова Программы#1, а в редакторе аргументов канала вызова Программы#2 задана привязка аргумента ко всё тому же аргументу канала вызова Экрана#1 (см. ниже). Какое значение в итоге присвоится аргументу этого канала? В зависимости от порядка отработки? или же привязки, заданные в канале вызова экрана, скажем, имеют приоритет перед привязками, заданными в каналах вызова программ?

4. Наконец, если канал вызова экрана отрабатывается раньше, чем канал вызова программы, но аргументы первого привязаны к аргументам второго. Тогда монитор будет возвращать значения аргументов программы всякий раз из предыдущего цикла CALC?

Заранее признателен.
______________________________________________
CALL_Экран#1
ARG_0 IN Привязка: CALL_Программа#1.Q1

CALL_Программа#1
Q1 OUT

CALL_Программа#2
Q2 OUT Привязка: CALL_Экран#1.ARG_0

Сообщения / Posts 10 | Из / 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. Принцип организации обработки каналов указан верно.
ID канала можно увидеть при наведении на него курсора - всплывает справочное окошко, в котором среди других свойств указывается и ID.
Изменить ID нельзя.

2. Если сеанс работы инструментальной среды не прерывается, то вновь создаваемые каналы получают ID последовательно, не заполнения "пустот".
Если проект сохранен и перезагружен в ИС, то вновь создаваемые каналы будут заполнять "пустоты".

3. Приоритета в множественных привязках не существует.

4. Поток отработки графики - самостоятельный, асинхронный и низкоприоритетный по отношению к основному потоку CALC, в котором обрабатываются программы. Аргументы экрана получают те значения, которые актуальны на момент его вызова.

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


Icon 1 отправлено / posted      Профиль для / Profile for Olexander           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за разъяснения, но мне не совсем ясна формулировка по третьему вопросу. Как я понимаю, имеется в виду, что приоритет привязок для аргументов CALL-каналов стоит вне зависимости от типа вызова этих каналов? Но влияет ли на это порядок отработки каналов, их ID?

Именно, можно ли, взглянув на вышеприведенную табличку, сказать, какое значение в конце каждого цикла CALC будет присвоено ARG_0: Q1 или Q2? Или для этого необходимо знать ID каналов и их направленность (Input/Output)?

Подчеркиваю, что здесь одному аргументу, по недоглядению, присваивается два различных значения. Поскольку для данного аргумента в ИС нельзя определить, существуют ли для него привязки, заданные в других каналах, то могут возникать (и у меня возникали) подобные "коллизии". Чтобы скорейшим образом выявлять проблему, мне полезно знать, как ведет себя монитор в таких случаях.

Сообщения / Posts 10 | Из / 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 
Как уже было сказано, каналы программ обрабатываются в основном потоке в соответствии со своими ID.

Поток отработки графики асинхронен по отношению к основному потоку и имеет более низкий приоритет. Обработка экрана включает в себя этап снятия среза данных для всех аргументов и последующих функций формирования картинки и отрисовки экрана.

В какой точно момент основного цикла будет получен срез данных для экрана, предсказать невозможно, и уж тем более - когда будут отрисованы эти данные на экране.

"для данного аргумента в ИС нельзя определить, существуют ли для него привязки, заданные в других каналах,"
Правой клавишей мыши на CALL.Screen вызовите диалог и команду "Перейти по ссылке/вызову".
Если в проекте есть внешние привязки к аргументам/атрибутам этого CALL.Screen, они будут показаны.

Сообщения / Posts 17083 | Из / 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