Читайте также:
|
|
Для программирования алгоритмов функционирования разрабатываемого проекта АСУ в TRACE MODE 6 включены языки Техно ST, Техно SFC, Техно FBD, Техно LD и Техно IL. Данные языки являются модификациями языков ST (Structured Text), SFC (Sequential Function Chart), FBD (Function Block Diagram), LD (Ladder Diagram) и IL (Instruction List) стандарта IEC61131-3. Эти языки являются стандартными для программирования большинства современных промышленных контроллеров.
Язык программирования может быть независимо задан для основной программы, функции-блока, функции и шага SFC.
Техно ST - алгоритмический язык программа или ее компонент на языке Техно ST определяется как последовательность выражений и предложений. Выражение – последовательность операндов, разделителей и символьных операторов, задающая вычисление без присвоения результата; предложение – последовательность, определяющая выполнение логически законченного промежуточного действия. Таким действием может быть присвоение переменной результата вычислений, вызов функции-блока и т.п.
Техно SFC предназначен для создания программы в виде алгоритма, состоящего из шагов и переходов. Для шага задаются выполняемые действия, для перехода – условия переходов между шагами. Для перехода от одного шага к другому условие, действующее на этом переходе, должно быть истинным (т.е. возвращать TRUE или 1). SFC-программа, как правило, является основной программой, однако может выступать также в качестве подпрограммы. В последнем случае во внутреннем представлении она является функцией-блоком Техно ST. Шаги и условия задаются с помощью Техно ST. Техно SFC удобен для программирования различных счетчиков и таймеров.
FBD-программа представляет собой цепочку (диаграмму) последовательно выполняемых функциональных блоков. Функциональный блок– это графическое изображение вызова встроенной функции Техно FBD (FBD-блока) или функции (функции-блока), определенной пользователем.
Программа на языке Техно IL представляет собой последовательность инструкций.
LD-программа как и FBD представляет собой диаграмму последовательно выполняемых функциональных блоков. Здесь функциональный блок– это графическое изображение вызова встроенной функции Техно LD (LD-блока), функции (функции-блока), определенной пользователем, или FBD-блока. LD – программа предназначена для конструирования схем электрических коммутация.
Основные структурные элементы встроенных программ – это аргументы, локальные переменные, глобальные переменные и константы. Время жизни этих элементов определяется их назначением.
Аргументы – переменные, связанные с внешними переменными (значениями переменных, атрибутов каналов).
Локальные переменные – переменные, имеющие данный тип связаны с внутренней переменной, время жизни их определяется временем пересчеты программы (для Техно FBD для входа и выхода, связанных между собой устанавливаются автоматически)
Глобальные переменные – время жизни этих переменныхопределено как между вызовами программы, так и в течении исполнения программ.
Константы - имеет фиксированное значение и не может меняться в ходе выполнения программы.
Вид константы или переменной (глобальная, локальная) задается оператором, с помощью которого данная переменная (константа) определяется.
Тип данных определяет размер выделяемой памяти. Для указания типа определены следующие ключевые слова (в круглых скобках указано соответствие типу данных C):
BOOL (bool) – булево значение размерностью 1 байт (true (1) или false (0));
SINT (__ int8) – целое со знаком размерностью 1 байт (- 128... 127);
USINT (unsigned __int8) – целое без знака размерностью 1 байт (0... 255);
INT (short) – целое со знаком размерностью 2 байта (- 32768... 32767);
UINT (unsigned short) – целое без знака размерностью 2 байта (0... 65535);
DINT (long) – целое со знаком (4 байта) (- 2147483648... 2147483647);
UDINT (unsigned long) – целое без знака (4 байта) (0... 4294967295);
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME – значения переменных этих типов задаются аналогично соответствующим временным константам;
REAL (float) – вещественное число (4 байта) (максимальное значение 3.402823466e+38);
LREAL (double) – вещественное число (8 байт) (максимальное значение 1.7976931348623158e+308);
STRING (char []) – 256 символов в кодировке UTF-8;
HANDLE – специальный тип, используемый для хранения внешних данных в виде числа, имеет размерность 4 байта, не может быть использован в арифметических, логических и т.п. операциях.
Язык FBD. Общие положения
Язык FBD – язык визуального программирования. Программа разрабатывается в поле редактирования размещением функциональных блоков с заданными функциями, настройкой связей между ними (соединением входов и выходов). Элементарным звеном разработки является функциональный блок – графическое изображение вызова функций. Стандартные функциональные блоки – выполняют фиксированный стандартный набор функций и встроены в систему. Нестандартные функции как правило программируются на встроенном языке (Техно IL, ST) либо на других известных языках программирования общего назначения, т.к. например СИ, Pascal с последующей компиляцией в виде FBD блоков (или используется как метапрограммы, функционирующие параллельно с выполнением других программ обработки информации).
Каждый функциональный блок имеет следующие атрибуты:
1. краткое обозначение функции, выполняемой блоком;
2. функциональные входы (расположены слева), кроме верхнего левого;
3. функциональные выходы (расположены справа);
4. порядковый номер функционального блока;
5. номер следующего функционального блока, который будет выполняться после текущего;
6. вход запуска.
Номер функционального блока устанавливается автоматически. Он показывает очередность выполнения и не может быть скорректирован. Номер следующего функционального блока указывается через двоеточие. Для первого блока в этой области перед номером записывается В, для последнего – Е.
FBD-программа может выступать в роли основной программы, функции и функции-блока.
Для создания FBD-программы и подключения ее к проекту нужно выполнить следующие операции:
· разместить необходимые функциональные блоки в рабочем поле FBD-редактора;
· соединить нужные входы и выходы блоков, образовав единую диаграмму;
· задать аргументы, переменные и константы программы;
· привязать входы/выходы FBD-диаграммы к аргументам, переменным и константам программы;
·
Рис. Алгоритм пересчета функциональных блоков
Первый вход (вход запуска) предназначен для управления пересчетом блока. Если он не свободен и значение его отлично от нуля, то блок вычисляться не будет.
Управления порядком пересчета блоков осуществляется с помощью функционального блока STEP, имеющий один функциональный вход и выход.
Если блок не пересчитывается, то с его выходов снимаются значения, полученные на предыдущем такте квантования, при этом значения выходов не присваиваются привязанным к ним внешним переменным.
Дата добавления: 2015-01-29; просмотров: 60 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Основные теории адсорбции. | | | Место и роль управления персоналом в системе управления предприятием |