TRACE MODE® 6 предоставляет широкий набор средств программирования задач АСУТП и бизнес-приложений (АСУП), ориентированный на специалистов разной квалификации и профессиональной подготовки. В систему TRACE MODE® 6 включены 5 языков программирования – Techno SFC, Techno LD, Techno FBD, Techno ST, и Techno IL. Данные языки являются расширением языков
SFC (Sequential Function Chart),
LD (Ladder Diagram),
FBD (Function Block Diagram),
ST (Structured Text) и
IL (Instruction List)
международного стандарта МЭК 6-1131/3. Данный стандарт разрабатывается с 1993 года Международной Электротехнической Комиссией (International Electrotechnical Commission) и давно признан как в Европе и в США, так и во всем мире ведущими производителями средств автоматизации.
Языки программирования TRACE MODE® 6 стандарта МЭК 6-1131/3 включают в себя 3 визуальных языка (FBD, SFC, LD), ориентированных на инженеров и бизнес-аналитиков и 2 текстовых (ST, IL), ориентированных на программистов. С помощью языков IEC 61131-3 TRACE MODE® 6 одинаково комфортно программируются и контроллеры, и алгоритмы человеко-машинного интерфейса (HMI) и задачи EAM и MES.
Языки МЭК 6-1131/3 TRACE MODE® 6 сочетают в себе достаточную функциональность, простоту и предохраняют пользователя TRACE MODE® 6 от большинства ошибок, которые нередко возникают при использовании обычных языков программирования. Реализация МЭК 6-1131/3 в интегрированной SCADA/SOFLOGIC/MES/EAM/HRM системе TRACE MODE® 6 не только полностью удовлетворяет требованиям стандарта, но и предоставляет пользователю дополнительный сервис в виде расширенного набора библиотек функциональных блоков, реализующих типовые алгоритмы управления.
Для всех 5 языков существует единый механизм связи с базой данных реального времени TRACE MODE® 6. Каждая программа обладает набором аргументов, исходные данные передаются в программу через входные аргументы, а результаты вычислений возвращаются в выходных аргументах. Аргументы связываются с атрибутами каналов TRACE MODE 6, т.е. с реальными входами и выходами контроллеров и УСО, ячейками корпоративных баз данных, либо с внутренними переменными. Таким образом, одна и та же программа может вызываться несколько раз за цикл для обработки разных потоков данных.
Программирование и отладка программ на языках МЭК 6-1131/3 в TRACE MODE 6 производится в интегрированной среде разработки, включающей в себя несколько различных редакторов. Программы на языках Techno FBD, Techno LD и Techno SFC создаются и отлаживаются в специальных визуальных редакторах, а Techno ST и Techno IL представляют собой более традиционные языки, программирование на которых осуществляется в текстовом редакторе. Несмотря на различия, программы на разных языках стандарта МЭК 6-1131/3 в TRACE MODE® 6 могут взаимодействовать между собой. Например, программа на Techno FBD может вызывать функциональный блок, написанный на языке Techno ST, а внутри этого блока может вызываться подпрограмма на Techno LD и т.д. Такая гибкость в выборе средств описания алгоритмов позволяет эффективно работать над одной задачей и программисту, и технологу, и инженеру-наладчику и бизнес-консультанту, когда каждый из них выполняет свою часть работы удобным ему способом.
Краткое описание языков
Язык Techno FBD предназначен для инженеров-технологов, решающих задачи управления технологическим процессом. Трудно придумать более наглядное средство для программирование контуров управления и регулирования. Программа на Techno FBD представляет собой схему, состоящую из набора функциональных блоков, связанных между собой через входы и выходы. В TRACE MODE® 6 включено более 150 типовых функциональных блоков, реализующих широкий набор функций - от простейших логических операций до готового адаптивного регулятора. Фильтрация, ПИД, ПДД, модальное, нечеткое, позиционное регулирование, ШИМ-преобразование, статистические, тригонометрические, а также блоки управления клапаном, задвижкой, мотором - всё это реализовано в виде стандартных FBD-блоков TRACE MODE® 6.
Язык Techno LD понравится инженерам, привыкшим к составлению схем релейной логики. Внешне редактор LD очень похож на редактор FBD, только вместо функциональных блоков пользователю предлагается использовать "контакты" и "катушки". При желании в схему Techno LD можно включать и вкрапления из обычных блоков FBD, хотя эта возможность TRACE MODE® 6 несколько выходит за рамки стандарта.
Techno ST ориентирован прежде всего на программистов, он представляет собой язык программирования высокого уровня, похожий на Паскаль. В нем поддерживаются массивы (в том числе многомерные), контроль преобразования типов, присутствуют такие конструкции как DO-WHILE, REPEAT-UNTIL, FOR-TO-DO, IF-THEN-ELSE, CASE-OF и прочие интуитивно понятные любому программисту операторы. Заголовок программы строится автоматически по списку аргументов, что позволяет экономить время на оформлении программы. Служебные слова, метки, комментарии и числовые константы выделяются цветом, как это принято в современных средах разработки, настройки цветов доступны пользователю.
Techno IL это простейший язык мнемонических инструкций, внешне напоминающий ассемблер. Этот язык был включен в стандарт для программирования контроллеров, обладающих низкой вычислительной мощностью. Программы IL легко транслируются в машинные коды любого процессора, что позволяет создавать очень быстрые программы. Однако, на сегодняшний день проблема производительности давно решена, и реально Techno IL не имеет никаких преимуществ перед ST или FBD, тем более, когда речь идет о программировании операторской станции. Тем не менее, этот язык был включен в TRACE MODE® 6 для поддержки устаревшего оборудования. Сам по себе этот факт лишний раз подчеркивает преимущество стандарта МЭК 6-1131/3 перед пусть более совершенными, но локальными средствами автоматизации.
Techno SFC это мощное средство структурирования сложных алгоритмов. По сути SFC не является самостоятельным языком. В переводе с английского аббревиатуру SFC можно перевести как "схема функциональной последовательности". Внешне программа на Techno SFC похожа на блок-схему алгоритма, на которой отображены отдельные программные блоки (шаги), переходы между ними и условия, по которым выполняются эти переходы. Каждый программный блок, как и каждое условие перехода - это подпрограмма на любом из языков стандарта МЭК 6-1131/3. Этот язык очень удобен для программирования стадийных (batch) процессов, систем дозирования и бизнес-приложений. Techno SFC может быть легко использован как инженерами, так и бизнес-аналитиками.
Программы на языках МЭК 6-1131/3 могут быть перенесены в TRACE MODE 6 с любой другой платформы, поддерживающей этот стандарт.
В отличие от некоторых других SCADA-систем, в которых реализуются интерпретаторы языков МЭК 6-1131/3, среда разработки TRACE MODE 6 компилирует в машинные коды программы, написанные на всех 5 языках, в том числе SFC! Это позволяет достичь максимальной производительности обработки информации в реальном времени.
Исчерпывающие средства отладки и использование стандартных языков МЭК 6-1131/3 гарантируют надежность конечного продукта. Затраты на программирование, отладку и поддержание алгоритмов в SCADA и SOFTLOGIC системе TRACE MODE 6 как правило оказываются на порядок меньше, чем при использовании универсальных языков.
Примеры программирования в TRACE MODE
Пример разработки простого программного задатчика на языке FBD в SCADA TRACE MODE показан в следующем учебном фильме: