Об управляющей вычислительной системе и прикладном программировании систем промышленной автоматики

Прикладное программирование в АСУ ТП во многом определяется архитектурой и свойствами элементов вычислительной си­стемы. Качество программ систем промышленной автоматики зависит от зна­ний прикладного программиста, представле­ния информации в памяти машины, спосо­бов адресации, системы команд и системы прерывания, организации ввода-вывода.           Вычислительная система также представляется пользователю в оболочке операционной си­стемы.

Числа с фиксированной запятой представляются в виде 16- и 32-разрядных двоичных чисел в дополнительном коде. По­ложение фиксированной запятой подразуме­вается в любом месте разрядной сетки. Чис­ла с плавающей запятой представляются в виде 32-разрядных слов.

Максимальная емкость оперативной па­мяти систем промышленной автоматики, подключаемой к процессору, состав­ляет 128 Кбайт. Память условно разделяется на страницы по 512 слов, исключение со­ставляет нулевая страница размером 1024 слова.

Каждой задаче выделяется целое число страниц памяти (обычно не более 32 Кбайт). В СМ-2 оперативная память делится на про­извольное число разделов.

Для обращения к данным, размещаемым в оперативной памяти, используются шесть       схем адресации:

  • прямая адресация к нулевой странице систем промышленной автоматики;
  • прямая адресация к текущей странице систем промышленной автоматики;
  • косвенная адресация через нулевую страницу систем промышленной автоматики;
  • косвенная адресация через текущую страницу систем промышленной автоматики;
  • индексная или автоиндексная адресация с использованием индексного регистра систем промышленной автоматики;
  • индексная или автоиндексная адреса­ция с использованием индексного регистра систем промышленной автоматики.

Изменения в организации памяти из­меняют схемы адресации. При адресации в СМ-1 и СМ-2 различают адреса трех типов: базовые, относительные и испол­нительные (базовый — адрес первой ячейки раздела, относительный - адрес ячейки па­мяти систем промышленной автоматики внутри раздела, исполнительный - но­мер ячейки памяти, к которому производит­ся фактическое обращение).

При обработке данных прикладной про­граммой можно использовать следующую регистровую память: регистр А, регистр Б, индексные регистры 7, 2, регистр номера ко­манды, регистр базы 7, 2, регистры верхней и нижней границы памяти задач, регистр адреса возврата, регистр расширения и ре­гистр переполнения.

 

Система команд процессоров АСУ ТП

 

В качестве процессоров в АСУ ТП приме­няется ряд мини- и микро-ЭВМ. Для примера приводим систему команд систем промышленной автоматики. Система разноформат­ная. Она разделена на следующие группы: адресные команды основного формата; адресные команды двойного формата; безадресные команды сдвигов; безадресные команды изменений и пропу­сков; команды ввода-вывода; команды расширенной арифметики; команды дополнительного набора (вы­числительного комплекса).  Программы мини- и микро-ЭВМ разра­батываются на мнемонических языках низко­го уровня (МНЕМОКОД, АССЕМБЛЕР) или на языках высокого уровня Программы, составленные на языках низ­кого уровня, состоят из отдельных команд систем промышленной автоматики.

 

Элементы машинно-ориентированного языка ПЛК АСУ ТП

 

В качестве примера рассмотрим МНЕ­МОКОД мини-ЭВМ М-6000, М-7000, СМ.

Основные символы. К ним относятся буквы латинского алфавита от А до Z (за­главные), дополненные не совпадающими по начертанию буквами русского алфавита, арабские цифры 0—9, специальные символы:

+ (плюс);

— (минус);

, (запятая);

. (десятичная точка);

* (звездочка);

),( (скобки);

= (знак равенства).

Термы и выражения систем промышленной автоматики. Термом может быть: идентификатор, указатель счетчика адреса, число. Термы могут быть абсолютными и перемещаемыми. Идентификатор исполь­зуется для обозначения команд, областей па­мяти, констант. Он может содержать буквы, цифры и точки и состоять из одного — пяти символов, причем первый символ должен быть буквой или точкой. Идентификатор определен, если он встречается в поле метки команды, записанной на мнемокоде. При за­писи команды структура должна быть сле­дующей: поле метки, поле мнемокода, поле операндов и комментария. Примеры иденти­фикаторов: ВОСК, Р1, ТОРАН. Счетчик ячеек программы систем промышленной автоматики используется для подсчета числа ячеек памяти, выделяемых для команд, адресов или данных, получаемых при транс­ляции каждого оператора. Каждому иденти­фикатору присваивается текущее значение счетчика ячеек программы, причем макси­мальное значение счетчика 215 -1. Чтобы использовать текущее значение счетчика ячеек, записывают в поле операнда. Числа являются абсолютными термами и исполь­зуются для указания констант, абсолютных адресов, приращения адресов, адресов устройств ввода-вывода. Используются деся­тичные и восьмеричные числа. Десятичные числа должны лежать в диапазоне от - 32768 до +32767. Восьмеричные числа со­держат одну — шесть цифр, за которыми сле­дует буква В.            Максимально допустимое зна­чение восьмеричного числа равно 177777В.

Термы с помощью знаков плюс и минус объединяются в выражение, значение которого вычисляется во время трансляции. При­меры выражений: МАР+ 5, ВОН + А13 —7.  В зависимости от режима трансляции ре­зультирующая программа может быть абсо­лютной (загружаемой в одно и то же место памяти при каждом ее использовании) либо перемещаемой (загружаемой в произволь­ную область памяти в зависимости от сво­бодного места). В соответствии с этим раз­личают абсолютные и перемещаемые выра­жения.

Литералы систем промышленной автоматики. Они предназначены для ввода данных в исходную программу и исполь­зуются только в перемещаемой программе. Признак литерала — знак равенства, ставя­щийся перед данными. Допустимы следую­щие типы литералов: = D — десятичное це­лое число; = F — десятичное число с пла­вающей точкой в диапазоне от 10“38 до 10+38; = В — восьмеричное число; =А — два алфавитно-цифровых символа; =L — абсо­лютное выражение.

Транслятор размещает литералы в ячей­ках памяти непосредственно после последней команды программы.

Команды и псевдокоманды систем промышленной автоматики. Мнемокоды команд приведены в параграфе 3 гл. XIV. Адресные команды используют обращение к памяти. К ним относятся:

команды выполнения арифметических операций:

команды расширенной арифметики

команды выполнения логических опера­ций

команды управления ходом вычислитель­ного процесса

Безадресные команды состоят из микро­команд, которые могут объединяться в ма­крокоманды.

Псевдокоманды систем промышленной автоматики. Используются шесть групп псевдокоманд» которые несут инфор­мацию для транслятора.

1. Команды управления трансляцией, определяющие границы поля и адрес загруз­ки программы:

а) определение названия программы (пробел) NAM (название программы) название программы следует непосред­ственно за оператором ASMB.

б) установление начального адреса (пробел) ORG (восьмеричное число)     Псевдокоманда ORG определяет на­чальный адрес абсолютной программы.

в) окончание программы

(пробел) END (пробел или идентификатор)

г) повторение (пробел) REP (абсолютное выражение) Оператор, следующий после этой псевдо­команды, повторяется и транслируется ука­занное операндом число раз.

2. Команды объединения результирую­щей программы систем промышленной автоматики, используемые для установ­ки связи между основной программой и одной или несколькими подпрограммами: а) резервирование общей области памяти (пробел) СОМ (идентификатор! (размер!), идентификатор2 (размеру, идентификатор (размер),.. >.

Резервируется область памяти, которая может использоваться несколькими переме­щаемыми подпрограммами.

б) определение идентификаторов входных точек

в) определение внешних идентификаторов

Каждый идентификатор определяет вход­ную точку в другой подпрограмме.

3. Команды определения адресов и иден­тификаторов систем промышленной автоматики:

а) определение адресной константы. Определяется константа» являющаяся адре­сом операнда адресной команды или под­программы.

б) эквивалентность

в) определение абсолютной константа.

4. Команды резервирования памяти и определения констант:

а) резервирование области памяти да данных

б) определение символьной константы

в) определение десятичных констант

г) определение восьмеричных констант

5. Команды вызовов арифметических подпрограмм. Они используются только в перемещаемых программах для обращения к командам расширенной арифметики.

6. Команды управления печатью листин­га систем промышленной автоматики. К ним относятся следующие команды: UNL — подавить печать, LST — продолжение печати, SKP — переход на новую страницу, SPS - пропуск строк, SUP-подавить пе­чать дополнительных строк, которые со­здаются псевдокомандами, генерируемыми в несколько строк, UNS — разрешить печать дополнительных строк, HED — печать загла­вий.

Макросредства Мнемокода (М-7000, СМ-1, СМ-2). Макросредства служат для бо­лее экономной и надежной записи програм­мистом мнемокод-программы систем промышленной автоматики. Суть заклю­чается в том, что повторяющиеся в програм­ме группы команд мнемокода называют некоторым именем, которое образует код операции макрокоманды, и в дальнейшем программист использует этот код, не повто­ряя запись группы команд Макросредства

включают макроопределение, макрокоманду и макрорасширение, выполняемое спе­циальным макроассемблером.

Макроопределение имеет следующую структуру систем промышленной автоматики:

  1. Оператор MCR, указывающий начало макроопределения.
  2. Прототип, определяющий формат ко­манды (макрокоманды), соответствующей данному макроопределению.
  3. Набор операторов, составляющих ма­кроопределение. Этими операторами могут быть любые операторы мнемокода, кроме END.
  4. Оператор MND, указывающий конец макроопределения.

Порядок за­писи значений параметров систем промышленной автоматики в макрокоманде должен соответствовать порядку перечисле­ния параметров в прототипе. Код операции макрокоманды не должен совпадать с мнекодами машинных команд и псевдокоманд Постоянному параметру, записанному в по­ле метки прототипа, соответствует значение, записанное в поле метки макрокоманды.

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

Макрокоманда содержит всю информа­цию, необходимую для генерации макрорас­ширения из соответствующего макроопреде­ления.

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

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

В макроопределении систем промышленной автоматики кроме постоянных параметров можно применять системные па­раметры: $Х и: SL, значения которым при­сваивает макроассемблер. Системные параметры можно использовать в любом поле оператора макроопределения (в поле метки, поле операции, поле операндов), как и другие параметры.

Системный параметр: SX служит для со­здания уникальных имен в операторах ма­кроопределения при многократном обраще­нии к нему. Параметр: SX — это трехраз­рядный порядковый номер макрокоманды, причем макроассемблер присваивает параметру: SX начальное значение 001, встретив в программе первую макрокоманду, а для каждой следующей макрокоманды это значе­ние увеличивается на единицу. Значение: SX представляет собой константу, которая не изменяется при обработке макроопределе­ния, соответствующего данной макрокоман­де.

Для создания уникального имени систем промышленной автоматики пара­метр: SX соединяется с другими символами, максимальное число которых не должно пре­вышать двух, чтобы идентификатор (имя) не содержал более пяти символов. Первый из этих символов должен быть буквой или точкой.

Системный параметр: SL позволяет обра­щаться к операторам макрокоманды с указа­нием только номера операнда в виде индекса при: SL., например, запись: SL(N) означает обращение к операнду макрокоманды, имею­щему номер N. Можно обращаться и к эле­ментам списка, являющегося операндом ма­крокоманды. Для экономии памяти используются фрагментарные макрорасширения, реали­зуемые с помощью генераторных переходов AIF и AGO (AIF — оператор условного пере­хода, AGO — оператор безусловного перехо­да). При этом записывается сложное макро­определение, а генерируется в виде макро­расширения только определенный его фраг­мент в зависимости от условия, задаваемого в команде. Оператор систем промышленной автоматики, на который делается генераторный переход, должен иметь метку, состоящую из знака /, сопровождаемого од­ним — четырьмя символами (буквами или цифрами), причем первой после знака / дол­жна быть буква.

Метки, начинающиеся с символа /, являются макрометками и не появляются в выходном тексте программы после генера­ции макрорасширений.

 

Новости

Установка производства кристаллов по методу MPECVD, модернизация системы автоматического управления, г. Москва

22.11.22

Установка производства кристаллов по методу MPECVD, модернизация системы автоматического управления,...

Установка для точного дозирования заданного объема реагента, пос. Кузьмолово, Ленинградская обл.

02.12.22

Установка для точного дозирования заданного объема реагента, пос. Кузьмолово, Ленинградская обл. В ...

Водогрейная газовая котельная 30 МВт, разработка ПО и пуско-наладочные работы, г. Кудрово, Санкт-Петербург

01.12.22

Водогрейная газовая котельная 30 МВт, разработка ПО и пуско-наладочные работы, г. Кудрово, Санкт-Пет...

Заказчики
Поставщики