ЖУРНАЛ СТА 3/1997

рами (системами исполнения), управля- ющими технологическим процессом, и системой визуализации данных верхне- го уровня (SCADA/MMI). Сетевые ресурсы автоматически включаются в порождае- мый код системы исполнения. Количест- во участников сети может достигать 256. Временная диаграмма цикла работы системы исполнения (контроллера) представлена на рис. 2. Сеанс сетевого обмена с верхним уровнем показан в цикле контроллера условно. На самом деле сетевой обмен носит случайный характер и всегда инициируется системой верхнего уров- ня. В систему встроен драйвер, поддер- живающий обмен по RS485. В качестве опции поставляются драйверы для се- тевого обмена, использующие прото- кол IPX/SPX. БАЗОВЫЕ КОНЦЕПЦИИ ULTRALOGIC Программа управления в ULTRALOGIC представляется как некоторое логическое программное устройство, описывающее технологический процесс и операции над переменными величинами (параметрами) этого процесса. Программа может содер- жать следующие базовые типы объектов: ● переменные; ● константы; ● комментарии; ● функциональные блоки. Поддерживаемые типы переменных приведены в табл. 1. Типы констант соответствуют основ- ным типам переменных. Любой переменной могут быть при- своены следующие атрибуты: Public — глобальная переменная, мо- жет использоваться всеми програм- мами проекта; Network — переменная доступна дру- гим участникам сетевого обмена. По отношению ко входам и выходам контроллера пе- ременные могут иметь признак: Input — входная перемен- ная, логически соединен- ная со входом контролле- ра, или Output — выходная пере- менная, логически соеди- ненная с выходом (выхо- дами) контроллера. Язык функциональных блоковых диа- грамм (FBD) описывает функции меж- ду входными переменными и выход- ными переменными (рис. 3). Эти функ- ции описываются в виде сочетания элементарных функциональных бло- ков. Выход функционального блока может быть соединен с другими блока- ми. Каждый функциональный блок представляет из себя прямоугольник, внутри которого имеется обозначение функции, выполняемой блоком. Один или несколько функциональ- ных блоков, соединенных между собой, и образуют программу на языке FBD. Имеются следующие формальные пра- вила языка FBD: ● функциональные блоки могут распо- лагаться произвольно в поле про- граммы; ● не может быть свободных (несоеди- ненных) входов и выходов функцио- нального блока; ● любая связь (NET) может иметь имя переменной; ● входы и выходы функциональных блоков, присоединенные к связям, имеющим одинаковые имена, счита- ются соединенными; ● очередность выполнения блоков в программе: слева направо, сверху вниз. Переменные FBDпрограмм присое- диняются к входным/выходным точкам функциональных блоков (рис. 4.). На входе FBDблока может быть ● константное выражение; ● любая внутренняя или входная пере- менная; ● выходная переменная. На выходе FBDблока может быть лю- бая внутренняя или выходная перемен- ная. В табл. 2 приведены примеры базовых функций языка FBD. Программы на языке FBD напомина- ют электрические принципиальные схемы логических устройств и фор- мально соблюдают алгоритмы их ра- боты. Однако, несмотря на всю схожесть с электрическими схемами, язык FBD содержит метки, операторы условного и безусловного переходов, которые свойственны традиционным процедур- ным языкам программирования. При- меры 14 иллюстрируют реализацию некоторых простых функций с помо- щью языка FBD. МЕНЕДЖЕР ПРОЕКТОВ Окно, где создаются и редактируются проекты, называется окном менеджера проектов. Оно представляет собой на- бор секций с закладками в нижней и верхней части. Каждая секция предна ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ 3/97 98 Рис. 2. Циклограмма функционирования системы исполнения на целевом контроллере Таблица 1 Поддерживаемые типы переменных в системе ULTRALOGIC Тип переменной Принимаемые значения Двоичные переменные ( Boolean ) TRUE — истина, FALSE — ложь Переменные целого типа ( Integer ) -32768 … +32767 Переменные с плавающей точкой ( Float ) ±1.18Е-38 … ±3.4Е+38 ( IEEE 754 ) Таймерные переменные ( Timer ) не более 8760h59m59s99 Здесь h — часы, m — минуты, s — секунды, 99 — сотые доли секунды. Рис. 4. Входные и выходные переменные языка FBD Рис. 3. Язык FBD описывает функции между входными и выходными переменными Таблица 2 Примеры базовых функций языка FBD Функции двоичного типа NOT , AND , OR , XOR , SET , RESET Функции управления RETURN , GOTO , СALL , TSTART , программой TSTOP , GSTART , GSTOP Арифметические функции ADD , SUB , DIV , MUL Функции сравнения = , <> , > , < , => , <= Математические функции ABS , EXPT , LOG , SQRT Tригонометрические функции АCOS , ASIN , ATAN , COS , SIN , TAN

RkJQdWJsaXNoZXIy MTQ4NjUy