logo
АИУС

2.1.2. Описание языков программирования

Язык Techno FBD предназначен для инженеров-технологов, решающих задачи управления технологическим процессом. Трудно придумать более наглядное средство для программирования контуров управления и регулирования. Программа на Techno FBD представляет собой схему, состоящую из набора функциональных блоков, связанных между собой через входы и выходы. В TRACE MODE 6 включено более 150 типовых функциональных блоков, реализующих широкий набор функций – от простейших логических операций до готового адаптивного регулятора. Фильтрация, ПИД, ПДД, модальное, нечеткое, позиционное регулирование, ШИМ-преобразование, статистические, тригонометрические, а также блоки управления клапаном, задвижкой, мотором - всё это реализовано в виде стандартных FBD-блоков TRACE MODE 6. Пример FBD-блока приведен на рис. 2.1.

Рис. 2.1

Язык Techno LD используется инженерами, привыкшими к составлению схем релейной логики (рис. 2.2). Внешне редактор LD очень похож на редактор FBD, только вместо функциональных блоков пользователю предлагается использовать "контакты" и "катушки". При желании в схему Techno LD можно включать и вкрапления из обычных блоков FBD, хотя эта возможность TRACE MODE 6 несколько выходит за рамки стандарта.

Рис. 2.2

Techno ST ориентирован прежде всего на программистов, он представляет собой язык программирования высокого уровня, похожий на Паскаль. В нем поддерживаются массивы (в том числе многомерные), контроль преобразования типов, присутствуют такие конструкции как DO-WHILE, REPEAT-UNTIL, FOR-TO-DO, IF-THEN-ELSE, CASE-OF и прочие интуитивно понятные любому программисту операторы (рис. 2.3). Заголовок программы строится автоматически по списку аргументов, что позволяет экономить время при оформлении программы. Служебные слова, метки, комментарии и числовые константы выделяются цветом, как это принято в современных средах разработки. Настройки цветов доступны пользователю.

Рис. 2.3

Techno IL это простейший язык мнемонических инструкций, внешне напоминающий ассемблер (рис. 2.4). Этот язык был включен в стандарт для программирования контроллеров, обладающих низкой вычислительной мощностью. Программы IL легко транслируются в машинные коды любого процессора, что позволяет создавать очень быстрые программы. Однако на сегодняшний день проблема производительности давно решена, и реально Techno IL не имеет никаких преимуществ перед ST или FBD, тем более, когда речь идет о программировании операторской станции. Тем не менее, этот язык был включен в TRACE MODE 6 для поддержки устаревшего оборудования. Сам по себе этот факт лишний раз подчеркивает преимущество стандарта МЭК 6-1131/3 перед пусть более совершенными, но локальными средствами автоматизации.

Рис. 2.4

Techno SFC это мощное средство структурирования сложных алгоритмов (рис. 2.5). По сути SFC не является самостоятельным языком. В переводе с английского аббревиатуру SFC можно перевести как "схема функциональной последовательности". Внешне программа на Techno SFC похожа на блок-схему алгоритма, на которой отображены отдельные программные блоки (шаги), переходы между ними и условия, по которым выполняются эти переходы. Каждый программный блок, как и каждое условие перехода – это подпрограмма на любом из языков стандарта МЭК 6-1131/3. Этот язык очень удобен для программирования стадийных (batch) процессов, систем дозирования и бизнес-приложений. Techno SFC может быть легко использован как инженерами, так и бизнес-аналитиками.

Рис. 2.5

Программы на языках МЭК 6-1131/3 могут быть перенесены в TRACE MODE 6 с любой другой платформы, поддерживающей этот стандарт.

В отличие от некоторых других SCADA-систем, в которых реализуются интерпретаторы языков МЭК 6-1131/3, среда разработки TRACE MODE 6 компилирует в машинные коды программы, написанные на всех 5 языках, в том числе SFC. Это позволяет достичь максимальной производительности обработки информации в реальном времени.