Блок "Уровень неподсоединенных портов"

Описание ситуаций и процесса применения блока (только для схем автоматики)

Данный блок предназначен для присвоения "по умолчанию" какого-либо значения в те входные порты блоков, к которым не подведено никаких связей. Данная ситуация возникает в следующих случаях:

  • при отладке схем, когда схема еще не полностью набрана, а нужно протестировать какую-либо ее часть;
  • когда в процессе работы над алгоритмом удаляются блоки вместе со связями;
  • когда для работы используются блоки, количество входных портов которых больше, чем реально использующихся. Такая ситуация возникает, например, если пользователь работает с массивом, но ему нужно, чтобы только несколько элементов массива меняли свое значение, на остальные же не оказывать такого влияния. В этом случае обычно используется блок Мультиплексор. Однако при его использовании пользователь подаст значения только на нужные ему входы блока, а остальные входы будут при этом не задействованы (см. Рис. 1).


    Рис. 1. Блок "Мультиплексор" с не подключенными входами

Такая же ситуация возникает при создании алгоритмов и моделей управления оборудованием: задвижками, клапанами, насосами и пр. Такие алгоритмы реализуют сложные логические схемы, которые формируют управляющие выходные сигналы на привод, в зависимости от приходящих управляющих входных сигналов. Однако очень редко бывает, чтобы в таких алгоритмах были задействованы все управляющие входные сигналы, обычно задействуются только несколько, остальные же остаются не подключенными, т.к. не участвуют в каких-либо блокировках.

В этом случае целесообразно использовать блок Уровень неподсоединённых портов.

Данный блок позволяет задать любое значение к входным портам, не имеющим подведенных связей. Таким образом ко всем неподключенным входным портам будет присвоено то значение, которое присвоил пользователь в данный блок.

Рассмотрим, как правильно воспользоваться данным блоком:

  1. Поставим на схему блок "Уровень неподсоединенных портов" (вкладка"Субструктуры") (см. Рис. 2);


    Рис. 2. Выделенный для замены блок
  2. Поставим на схему блок "Константа" (вкладка Источники). Зададим значение этого блока равным 0, тип данных Boolean, что сформирует на выходе блока значение "Логическое НЕТ" (см. Рис. 3);


    Рис. 3. Свойства блока "Константа"
  3. Соединим два блока математической связью для того, чтобы то значение, которое задано в блоке "Константа" было оттранслировано по всем неподключенным портам (см. Рис. 4);


    Рис. 4. Окончательный вид алгоритма использования блока "Уровень неподсоединенных портов"

Пользователь может по своему усмотрению изменять значение, подаваемое на блок "Уровень неподсоединенных портов", в зависимости от того, какой тип неподключенных входных портов наиболее распространен (при использовании блока "Константа" пользователь может задать значения "Логическое ДА", "Логическое НЕТ", "Целое" с любым значением, "Вещественное" с любым значением). При необходимости в блок "Уровень неподсоединенных портов" может приходить значение, которое меняется в зависимости от какого- либо алгоритма, созданного пользователем, т.е. блок поддерживает динамическое изменение типа и значения, которые транслируются.

Данный алгоритм достаточно прописать один раз. После этого присвоение будет проходит по всем участкам модели.

При использовании данного алгоритма иногда возникает ситуация, когда тип данных, используемых в не подключенном входном порте какого-либо блока, не соответствует типу данных, транслируемому блоком "Уровень неподсоединенных портов". В этом случае SimInTech автоматически заменяет тип данных на нужный при расчете алгоритма, однако следует стремиться к тому, чтобы на все неподключенные входы с самого начала подавалось правильное значение. Для этого после определения типа наиболее распространенных неподключенных входных портов входы менее распространенных соединить с выходами блоков "Константа", которые следует предварительно установить рядом. В блоках "Константа" при этом установить нужный тип и значение выходящего сигнала.