This is topic Время опроса модулей контроллером Lagoon in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.
Нельзя ли более подробно описать процедуру опроса модулей IC контроллером Lagoon? Мы создали проект, включающий 3 канала (ввод с IC7041,вывод на IC7042, ПУСТОЙ IN с FBD). Период опроса каналов - 1 цикл. Цикл системы 550 мс. При этом видим, что на первом цикле контроллер производит опрос модуля ввода, где уже есть информация об изменении значения, а информацию на вывод Lagoon выдает только на следующем цикле, да и то после опроса модуля на ввод (в нашем случае 550+55 мс). Можно ли настроить систему так, чтобы информация на вывод выдавалась в том же цикле, где первый раз контроллером была получена информация об изменении значения канала на ввод? Верно ли, что опрос модулей IC контроллером Lagoon ( и МРВ вообще) производится с периодом - один модуль за 55 мс., и можно ли уменьшить время реакции системы увеличив скорость обмена по RS-485 (например с 9600 до 115200 Бод)?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Видимо, сигнал для выходного модуля формируется у Вас с помощью "пустого канала с FBD". В соответствии с порядком обработки каналов (см. раздел РАБОТА В РЕАЛЬНОМ ВРЕМЕНИ), сначала осуществляется опрос и первичная обработка каналов INP, затем все процедуры (FBD) УПРАВЛЕНИЕ, только потом обрабатываются каналы OUT. При этом в рамках каждого такта обработки учитываются индексы каналов. Для ЛАГУНЫ не существует других способов задания порядка обработки, кроме соответствующего порядка создания каналов или расположения процедур УПРАВЛЕНИЕ в соответствующих каналах. В Вашем случае для ускорения выдачи сигнала на выход, необходимо, чтобы индекс канала с процедурой УПРАВЛЕНИЕ был меньше индекса внешнего канала OUT. Предельная интенсивность обмена по одному каналу RS в ЛАГУНЕ не превышает 20 команд в сек. При этом частота обмена может выбираться любой из ряда частот, поддерживаемых в этом процессоре.
Posted by qwartz (Участник № / Member № 73) on :
1). > При этом в рамках каждого такта обработки учитываются индексы каналов. Под индексами каналов подразумеваются номера каналов в базе, расположение каналов в объекте _БАЗА или что-то другое?
2). > При этом частота обмена может выбираться любой из ряда частот, поддерживаемых в этом процессоре. Частота обмена – скорость обмена по каналу RS?
3). Исправили проект таким образом: N канала в базе-Имя-Тип-Подтип-I/O-H/F 0-DI-DCS-DI-I-H 1-UPR-УПРАВЛЕНИЕ-Управление-I-H 2-DO-DCS-DO(I7042)-O-H Расположение каналов в объекте _БАЗА аналогичное. На процедуре УПРАВЛЕНИЕ канала UPR установлена простейшая программа FBD, выполняющая пересылку одного бита с DI на DO. При этом последовательность опроса осталась прежней (сигнал на вывод проходит только на следующем цикле системы). Может для данной системы это невозможно принципиально?
4). Поддерживается ли для каналов Lagoon задание фазы F1…F4?
Posted by Павел (Участник № / Member № 48) on :
Хотелось бы увидеть подтверждение по предложенному. И еще. Индекс канала, по-прежнему, можно изменить, только заново создав проект? Уже который год предлагается сделать отдельную процедуру, задав условие которой, можно было бы сменить внутренний индекс у одного или группы каналов.
Posted by romer (Участник № / Member № 2) on :
1. Возможно, что в эксперименте, описанном в письме от 06.09.01, эффект наблюдения связан с асинхронностью потока информации по RS и цикла обработки базы каналов. Видимо, для получения более строгой оценки надо существенно, до 4-5 секунд увеличить цикл обработки базы каналов, чтобы обеспечить обработку по RS в одном цикле всех необходимых каналов.
2. В версии 5.0 нельзя менять индексы каналов (в версии 6.0 эта проблема будет решена). Сейчас можно лишь путем удаления каналов с сохранением и последующего копирования разместить их по другому индексу. При этом надо учитывать, что вновь вводимый или копируемый канал будет занимать в системе индексации "дырки" с минимальными значениями индексов. Довольно сложными манипуляциями - заполнение дырок пустыми каналами, - сохранение и удаление канала, на место которого надо переместить нужный канал, - СОЗДАНИЕ КАНАЛА ПО ОБРАЗЦУ нужного канала (он займет ИМЕННО ТО место, которое нужно), - удаление канала-оригинала, - восстановление того канала, на место которого установлен нужный канал и т.д., можно добиться какого-то результата, но, очеивдно, только в исключительно случае (в силу ее большой трудоемкости).
Фридлянд А.В.
Posted by qwartz (Участник № / Member № 73) on :
Провели и этот эксперимент – увеличили время цикла до 5,5 секунд (Период пересчета =100, разрешение 0,055). Последовательность опроса по циклам осталась прежней, а время между получением сигнала и выдачей управляющего воздействия соответственно увеличилось примерно до 5,5 секунд! Не совсем понятно о какой асинхронности Вы говорите, если время необходимое на запрос/ответ для одного модуля IC на скорости 9600 составляет всего 13,5 мс., т.е. времени для опроса (5500 мс.) всего двух модулей IC более чем достаточно. Не думаю, что остальное время у процессора уходит на пересчет базы состоящей всего из 3 каналов. ROM-DOS, которая прошита в контроллере I-7188, как известно, система однозадачная. Вопрос: Чем занимается процессор остальные более чем 5000 мс.? Время от момента срабатывания сигнала на ввод и моментом выдачи сигнала на вывод измерялось непосредственно в системе с контроллером Lagoon осциллографом, а прохождение команд от контроллера с помощью простейшей програмы контроля передачи информации по RS порту установленной на внешней ЭВМ. Как вариант, можно предположить, что процессор при пересчете базы каналов выдает в порт RS запрос на модуль ввода, затем, не ожидая ответа от опрашиваемого модуля, производит пересчет базы каналов. Если это так, то в такой системе в принципе невозможно получить выдачу воздействия в том же такте пересчета. Но это лишь мое предположение. Хотелось бы это узнать от Вас, т.к. разработчику виднее, как у него построена программа.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Уважаемый qwartz!
Спасибо за уточнение. Вы правы в своем анализе и предположении относительно временных связей между опросом входного канала и его обработкой. Именно упомянутая мною асинхронность процесса обмена по RS по отношению к циклу обоработки базы каналов приводит к указанному Вами эффекту. Только выглядит это не как задержка выдачи сигнала управления, а как задержка обработки принятого сигнала.
Фридлянд А.В.
Posted by qwartz (Участник № / Member № 73) on :
Спасибо за ответы, теперь стало немного понятно каким образом происходит опрос модулей. На будущее хотелось, чтобы данные вопросы были подробнее описаны в документации и не приходилось заниматься перестановкой каналов в базе, подбором фаз для каналов и т.п. с целью получить приемлемое время реакции системы и потом ломать голову, почему все работает не так как описано, когда оказывается, присутствуют еще процессы, которые влияют на время реакции в еще большей мере, чем последовательность пересчета. Тем более, что время реакции системы является главнейшим показателем качества системы регулирования. На мой взгляд в документации не помешали бы временные диаграммы и графики, показывающие последовательность опроса системой внешних устройств, а также, формулы для расчета времени реакции системы. С уважением, qwartz.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Уважаемый qwartz! Спасибо за высказанные предложения по улучшению качества документации Трейс Моуд. Мы их обязательно учтем при модернизации системы ТМ.