This is topic Каналы управления: сколько? in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.
В Лагуне есть предел: 16 FBD-программ. Что он обозначает? 1. Количество созданных разных FBD-программ в проекте для Лагуны. 2. Количество вызовов одной FBD-программы за один такт пересчета.
Принципиально есть ли отличие и как влияет на производительность вызов FBD-программы из 1. процедуры трансляции 2. из процедуры управления(для Лагуны - вызов каналом УПРАВЛЕНИЕ)
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Системное ограничение накладывается на количество используемых FBD-программ, а не их вызовов. Однако существует также большая вероятность появления ограничения на вызовы FBD-программ за счет ограниченности ресурсов. Вычислить такое ограничение заранее невозможно. Оно зависит от общего объема информационной структуры и объема самих программ. 2. Тип вызова программы - процедура ТРАНСЛЯЦИЯ или через канал УПРАВЛЕНИЕ - на производительность не влияет.
Posted by sldk_buf (Участник № / Member № 2898) on :
А сколько выходов может быть у FBD программы привязанной к каналу УПРАВЛЕНИЕ? Я завел канал управление и его процедурой устанавливаю значение каждого бита канала(т.е. типа ch.bit1 = 0, ch.bit3 = 1 и т.д.) В таком виде моя программа не работает и в отладке я не вижу резултатов её о=работы.(количество выходов fbd равно 19) Если же я упаковываю биты с помощью блоков и передаю во "Вход" канала уже его значение, то программа работает нормально.
Если же поменять подтип канала на ПУСТОЙ и прявязать программу с 19 выходама к процедуре трансляции, то в отличии от канала УПРАВЛЕНИЯ, она работает.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ограничения на количество выходов в FBD, вызываемых процедурами УПРАВЛЕНИЕ И ТРАНСЛЯЦИЯ, не существует. Для FBD, вызываемых в качестве пользовательских FBD-блоков, существует ограничение на количество входов/выходов, описанное в документации. Надо искать проблему в привязках аргументов программы.
Posted by sldk_buf (Участник № / Member № 2898) on :
Создал канал. Установил подтип: УПРАВЛЕНИЕ. Привязал FBD. Потом поменял подтип на ПУСТОЙ. Привязал к процедуре трансляции ту же FBD. Нажал на кнопку "Каналы" и вижу что к каналу привязаны две процедуры: Трансляции и Управления. Запускаю отладчик и действительно, при установке аппаратной недостоверности у канала выполняется несуществующая процедура управления. В чем дело? Прислать проект, посмотрите?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Здесь нет ничего неожиданного. Канал УПРАВЛЕНИЕ не может исполнять процедуру ТРАНСЛЯЦИЯ. Но канал ПУСТОЙ может вызывать обе процедуры - ТРАСЛЯЦИЯ и УПРАВЛЕНИЕ. При изменении подтипа канала УПРАВЛЕНИЕ на ПУСТОЙ Вы процедуру УПРАВЛЕНИЕ не отключили. Поэтому в канале она осталась.