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

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

   
Автор / Author Тема / Topic: Приоритет канала опроса и др.
vladbond
Junior Member / Новичок
Участник № / Member № 171


Icon 1 отправлено / posted      Профиль для / Profile for vladbond           Редактировать/удалить сообщение / Edit/Delete Post 
Вопрос №1.
Можно ли сделать, чтобы после нажатия кнопки, значение в канал (в порт) посылалось сразу, а не ждала очереди, когда до него дойдет последовательный цикл опроса каналов? ( протокол ModBus ).

Вопрос №2.
Как привязать к кнопке, используя "ввод и посылку" значения, чтобы, введенное в одном окне ввода значение, можно было отправить в несколько каналов?

Вопрос №3. Можно ли поставить ограничения на вводимую в окне "ввод и посылка" значения?

Вопрос №4. Почему, если значение канала равно например 1, а я хочю послать туда 0, мне приходится сначала послать 1, а потом следом только 0? ( протокол ModBus )

Вопрос №5. Как можно сделать переключение текста ( хотя бы двух надписей ) между собой в зависимости от состояния канала, не прибегая к использованию такого метода как наложение двух граф. объектов (цветовых индикаторов), где в одном положении цвет надписи совпадает с цветом фона?

Вопрос №6. В проекте имеются несколько узлов. Как сделать общую форму, откуда можно будет попадать на формы каждого узла? Я знаю одно средство - это действие кнопки - переход на форму, но она дает переходить на формы только текущего узла? Есть другой способ?

Вопрос №7. Вопрос связан с предыдущим вопросом. Почему опрашиваются каналы только текущего узла (открыта форма этого узла), а каналы другого узла не опрашиваются?

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


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Ответ №1.
Цикл пересчета по умолчанию 550 мс, сомневаюсь, что оператор может кликать по кпопкам так быстро, чтобы потом у него еще оставалось время на то чтобы мучительно долго ждать примерно 550 мс когда же значение будет отправлено по протоколу ModBus! [Усмешка / Big Grin]
На самом деле обмен по внешним интерфейсам происходит асинхронно относительно цикла пересчета и асинхронность эта выходит за рамки цикла пересчета базы каналов только тогда, когда поток генерируемых обращений при пересчете базы будет превышать пропускную способность самого канала связи! [clever / умный]

Ответ №2.
Ввод и посылка может посылать значение только в один приемник. Но для одной ФО (формы Отображения) можно задать несколько ФУ (Функций Управления) вроде Ввода и посылки. Однако придется каждый раз вводить это значение для каждой такой ФУ.

Ответ №3.
Ограничения выставляются на основе задания границ канала, в который Вы вводите значения, в РБК (Редакторе Базы Каналов), а не для ФУ в графике.

Ответ №4.
Зачем посылать туда сначала 1? [Недоумение / Confused]
Ведь там и так уже 1, если хотите изменить значение канала, то необходимо посылать значение отличное от его текущего!

Ответ №5.
Для этого необходимо использовать ФО текстового индикатора - по диапазонам, пороговый или булевый.

Ответ №6.
Под узлом в проекте понимается индивидуальное рабочее место оператора (АРМ) или узел контроллера! Нельзя запускать на одном ПК или контроллере сразу несколько узлов проекта. Соответственно каждый АРМ должен иметь свою собственную графическую базу, которая никак не может быть связана с другими графическими базами других узлов. Если Вы хотите иметь возможность продублировать АРМ оператора - подключившись к любому АРМ по сети, то для этого у нас существует специальный продукт NetLink Light, но даже он не позволяет переключаться с окна графической базы одного узла на окно из графической базы другого.

Ответ №7.
Смотрите ответ №6 - каждый узел должен запускаться в своем ПК или контроллере, а не все узлы на одном ПК! [master / мастер]

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


Icon 1 отправлено / posted      Профиль для / Profile for vladbond           Редактировать/удалить сообщение / Edit/Delete Post 
Вы первый вопрос не поняли!
Объясняю подробнее. У меня допустим есть 1000 каналов опроса + 1000 каналов посылки из Trace Mode значений в контроллер (всего 2000). На каждый канал выделяется время ожидания 1000 мс (а если связь по радиомодему, то в несколько раз больше!). Данные 1 канала обновляются только после 1 сек*1000 каналов = 1000 сек. Так как у вас последовательный опрос каналов (или нет? другого я не замечал). Да вот оператор, например, меняет значение в 1500 канале, а Trace Mode сейчас обрабатывает 10 канал, то когда он дойдет до 1500 пройдет 990 сек (худший вариант, конечно ответ приходит у меня до 300 мс). То есть оператору придется ждать 990 сек (16.5 мин), чтобы выполнилась его команда. Нажимает у себя старт системы, и он может спокойно идти чай пить.
А если каналов 32000 и выше (серьезные системы), то ждать несколько часов?
Вот я спрашивал, можно ли после изменения значения в канале оператором (нажатия кнопки), нарушить последовательность прохода каналов и сразу послать значение 1500 канала?
Может использовать период "быстрый"?

На третий ответ:

То есть ставлю ограничения на канал.
Тогда оператор может вводить неправильные данные, но они посылаться не будут. Я так понимаю. Если так, тогда оператор не будет знать что он ввел не верные данные. Это очень плохо! Если так, то как можно сообщить оператору в данной ситуации?

На четвертый ответ:
Догадка: Каналы посылки значений в контроллер по умолчанию имеют 0. Тогда изменения нет, если мы посылаем 0. То есть в реквизитах "при старте" я должен выдумать такое значение, которое не может быть у данного канала?

На шестой ответ:
По вашему определению узел - это АРМ. Пусть будет так. Тогда как мне создавать проект с одним узлом и с 100 станций? Можно, конечно, на 100 объектов разбить и их дублировать. Но все равно они попадают в один АРМ ( будет 50000 каналов = 100 * ~500 каналов ). Усложняется выбор канала в графическом редакторе (например в тренде нет строкового шаблона и как я должен искать канал среди 50000). Также я сейчас сделал одну станцию (демо), где 500 каналов разбил на объекты. В каждом объекте каналы объеденены по смыслу. Значит я от этого отказываюсь и 1 объект = 1 станции. Как мне лучше сгруппировать каналы?

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


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Эх... Вам бы сначала почитать справочную систему по ТМ, основные понятия и определения - многое бы прояснилось. [Улыбка / Smile]

1) Вы совершенно неправильно понимаете работу базы каналов в реальном времени! По вашему получается, что у всех наших пользователей узлы АРМов и контроллеров часами один цикл пересчета выполняют! [Усмешка / Big Grin]
Вся база каналов одного узла может просчитываться очень быстро - например, на Р4 1500Мгц база из 20 тысяч каналов с 20 тысячами FBD алгоритмами ПИД-регулятора сервер пересчитывает за 80 милисекунд! То есть, в реальном временни все это пересчитывается примерно 12.5 раз в секунду и если пользователь изменит значение канала №12500, то как максимум через 80 мс его значение будет готово для отправки по внешнему интерфейсу (конкретно для данного случая).
Вы говорите, что у Вас обработка всей базы на 2000 каналов занимает 2000 секунд! Это нонсенс! Вы что - для узла период пересчета в 2000 секунд выставили?
Таймаут при обмене по последовательным портам никак не может влиять на торможение при пересчете всей базы каналов! Он влияет только на очередность обработки обмена по каналам, которые обмениваются по последовательному интерфейсу. Очевидно у Вас нет вообще никакого обмена, потому что сервер, как Вы утверждаете, ожидает 1000 мс на каждом канале. Зачем тогда вести обмен, если канал обмена вообще не работает?

2) Если каналу заданы границы и выставлен флаг Контроля границ, то при посылке в него значения выходящего за пределы этих границ в его атрибуте Достоверность выставиться флаг Программной недостоверности данных, который можно анализировать в FBD-программе или отображать оператору любыми ФО в графике.

3) Не совсем понятно - для чего выдумывать какие-либо значения? Поясните более конкретно, какую задачу Вы хотите реализовать? [Недоумение / Confused]

4) Узел:
Любое устройство, в котором запущено программное обеспечение ТРЕЙС МОУД, реализующее серверные функции называется узлом. Это может быть контроллер, операторская или архивная станция.
Объект базы каналов:
Объект базы каналов - это группа каналов, которой приписан набор атрибутов. Над каналами объектов могут осуществляться групповые операции.

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

У Вас архитектура объекта автоматизации имеет распределенную структуру или нет?
Вы приравниваете 1 объект=1 станция! Что Вы понимаете по понятием станция, рабочее место оператора, некий отдельный технологический объект, или что-то другое? [Недоумение / Confused]

5) При привязке ФО - Вы всегда можете выбрать из списка Объект базы (он должен быть Загружаемым), канал, его атрибут - для каждого списка можно задать фильтр, или выполнять поиск по первому символу в имени (штатные функции для списков в ОС Windows).

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


Icon 5 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
Простите, что вмешиваюсь, но:
вы же сами сказали: "На самом деле обмен по внешним интерфейсам происходит асинхронно относительно цикла пересчета и асинхронность эта выходит за рамки цикла пересчета базы каналов только тогда, когда поток генерируемых обращений при пересчете базы будет превышать пропускную способность самого канала связи!"
Вот у него как раз тот случай!
Т.е. представьте, что идет асинхронный опрос тысячи каналов по супер медленной линии и нужно в эту же линию послать управляющий сигнал.
Вы утверждаете, что он будет послан по истечение цикла пересчета базы, а не по истечение цикла опроса всей 1000 входных каналов. Верно?

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


Icon 6 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Механизм на самом деле следующий:
При пересчете базы каналов, в которой есть каналы участвующие в обмене по последовательному интерфейсу, эти каналы поступают в некую очередь запросов, которая и обрабатывается асинхронно относительно общего цикла пересчета. По мере выполнения транзакции из этой очереди сервер распределяет результат в базе каналов по каналам, которые участвовали в этой транзакции - если все прошло удачно, то канал получает принятый ответ, если нет - выставляется в 1 его атрибут Достоверность. Если канал обмена очень медленный и не справляется с обработкой очереди запросов, которая генерируется при каждом пересчете базы каналов, то начинает наблюдаться асинхронность в заполнении каналов, участвующих в запросе, значениями (или выставлением атрибута Достоверность), что визуально приводит к тому, что пользователю кажется, что база пересчитывается очень медленно, а на самом деле она пересчитывается со стандартным циклом пересчета.
Если канал обмена очень медленный, то вопрос "Можно ли сделать, чтобы после нажатия кнопки, значение в канал (в порт) посылалось сразу, а не ждала очереди, когда до него дойдет последовательный цикл опроса каналов?", не имеет смысла - потому как это все равно никак не убыстрит обмен по нему. [Вращающиеся глаза / Roll Eyes]

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


Icon 3 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Для решения поставленной задачи воспользуйтесь следующим механизмом: организуйте приоритетную посылку значения выходного канала, работающего через последовательный интерфейс, в момент самой посылки отключая группу входных каналов, ведущих запросы по той же линии к устройству. Для этого используйте механизмом управления каналами через объекты.
Сообщения / Posts 17083 | Из / From: Россия  |  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



Powered by Infopop Corporation
UBB.classic™ 6.7.2