Переменные контроллера

В каждом контроллере, который содержит FBD-программу содержится определенный набор переменных, который зависит от типа контроллера. Эти переменные делятся на группы:

  • Состояние устройства

  • Параметры порта

Все переменные устройства можно использовать в главной схеме FBD-программы, так-же, как и локальные переменные. Вставлять переменные контроллера в макросхемы запрещено.

Входы и выходы

Переменные, описывающие входы и выходы устройства. Их количество и тип данных, для аналоговых переменных, зависит от типа контроллера. Блоки, создаваемые для чтение или записи этих переменных имеют следующий вид:

Аналоговый вход:

_images/ain.png

Дискретный вход:

_images/din.png

Аналоговый выход:

_images/aout.png

Дискретный выход:

_images/dout.png

Универсальный входы:

_images/uin.png

В свойствах блоков входов/выходов на сцене можно включить симуляцию. Этот параметр позволяет отключать физические входы и выходы контроллера и управлять ими через панель симулятора.

Параметры порта

Переменные для управления параметрами порта контроллера, а так же адресом контроллера.

Адрес контроллера - эта переменная содержит текущий адрес контроллера, по которому к нему может обращаться мастер. Так же как и локальная переменная, эта переменная имеет настройку сетевого доступа и флаг сохранения в ПЗУ. В случае, если необходимо запретить изменение этого параметра извне, необходимо установить значение сетевого доступа «нет» или «чтение». По умолчанию сетевой доступ равен «чтение/запись», флаг записи в ПЗУ установлен. Использование этой переменной на схеме происходит так же, как и использование локальных переменных.

Параметры порта - эта переменная определяет параметры порта устройства. Для Modbus RTU это скорость и четность порта. Тип данных переменной - Беззнаковый целый 1-байт.

Формат переменной:

старшая тетрада - четность порта

  • 0 - нет/none

  • 1 - нечет/odd

  • 2 - чет/even

  • 3 - метка/mark

  • 4 - пробел/space

младшая тетрада - скорость порта

  • 0 - 9600

  • 1 - 2400

  • 2 - 4800

  • 3 - 9600

  • 4 - 19200

  • 5 - 38400

  • 6 - 57600

  • 7 - 115200

Например, если переменная имеет значение 0x23, то параметры порта следующие 9600-чет.

Список поддерживаемых скоростей и чётностей может отличаться у различных устройств.

Так же как и для адреса, для этих переменных можно установить свойства, запрещающие изменять параметры порта. По умолчанию сетевой доступ равен «чтение/запись», флаг записи в ПЗУ установлен.

Состояние устройства

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

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

Привлечение внимания достигается путем периодических импульсов светодиода или подсветки экрана (вспышек полной яркости). Длительность каждой вспышки 150мс, затем пауза 350мс, т.е. вспышки следуют 2 раза в секунду. Количество импульсов (вспышек) соответствует значению переменной, т.е. коду ошибки. После окончания вспышек делается пауза на 2 секунды, затем, если код ошибки ненулевой, вспышки повторяются. Если код ошибки меняется, или сбрасывается в 0 до окончания серии вспышек, вспышки продолжаются независимо, в соответствии с исходным кодом, до окончания отсчета.

Имеются 2 независимых друг от друга переменных для отображения состояния аппаратуры и правильности работы программного обеспечения контроллера:

  1. Код ошибки программы - записывается прикладным ПО (FBD-программой), для отображения проблем внешних устройств (систем), которые ПО может обнаружить, например разрыв или К.З. аналоговых входов, ошибочные значения любых переменных и прочее, к чему требуется привлечь внимание конечного пользователя. Коды ошибок полностью определяются прикладным ПО и должны соответственно документироваться автором прикладного ПО. При наличии одновременно нескольких ошибок рекомендуется либо фиксировать более раннюю, аналогично Ошибке ядра, либо выбирать более важную, если это возможно.

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

Ошибка ядра является более приоритетной, т.е. при ненулевых значениях обеих переменных отображается именно она.

Визуальное отличие Ошибки ядра от Ошибки программы - Ошибка ядра выполняется двойными вспышками, т.е. вместо одной вспышки в течение 150мс делается 2 коротких вспышки по 50мс.

Общие коды описаны в разделе Внутренние ошибки контроллера

Переменную Код ошибки ядра рекомендуется использовать в схеме для анализа ошибок. При отсутсвии этой переменной программа при проверке будет выдавать предупреждение. По умолчанию сетевой доступ к переменной установлен в «чтение/запись».