фронта сигнала, статус сигнала I 1.1 должен быть сохранен в M_BIT (бит памяти или бит блока данных) (например, M1.0).
Отрицательный фронт - когда состояние сигнала I 1.1 изменяется от “1” к “0”, операция контроля " NEG " дает результат "1" на выходе Q в течение одного цикла, причем д о- полнительный вход I 1.0 также должен иметь состояние "1" (как в примере выше). Чтобы можно было обнаружить изменение фронта сигнала, статус сигнала I 1.1 должен быть сохранен в M_BIT (бит памяти или бит блока данных) (например,
M1.1).
Инструкция перехода Jump
В языке LAD/FBD метка (label) вводится как идентификатор выше элемента катушки или элемента назначения. В STL она вводится после инструкции перехода Jump (рис. 6.9).
Для метки Вы можете использовать до 4-х символов, причем первый символ должен быть буквой или символом “_”. Метка отмечает точку, с которой выполнение программы должно быть продолжено. Любые инструкции или сегменты между инструкцией jump и меткой не выполняются.
Переходы могут быть выполнены как вперед, так и назад. Инструкция jump и адрес перехода (метка) должны быть в том же блоке. Адрес перехода должен быть представлен в блоке только один раз. Инструкции Jump могут быть использованы в
FB, FC и OB.
Инструкция безусловного перехода JU вызывает вы-
полнение программы с нового адреса независимо от RLO. Условный переход JC выполняется только тогда, когда
RLO равен “1”. Если RLO равен “0”, переход не выполняется, RLO устанавливается в “1” и выполнение программы продолжается со следующей инструкции (рис. 6.10).
Условный переход JCN выполняется только тогда, когда RLO равен "0". Если RLO равен "1", переход не выполняется, а выполнение программы продолжается со следующей инструкции.
75
Рис. 6.9. Безусловный переход (Независящий от RLO)
Рис. 6.10. Условный переход (Зависящий от RLO)
76
7. ЧИСЛОВЫЕ ОПЕРАЦИИ
Все данные в программе пользователя должны быть идентифицированы типом данных.
Команды двоичной логики работают с битами. Команды загрузки и передачи (STL) и команды пересылки (LAD и FBD) работают с байтами, словами и двойными словами. Бит – это двоичная цифра "0" или "1". Байт состоит из восьми битов, слово – из 16 битов, а двойное слово – из 32 битов. Математические команды тоже работают с байтами, словами или двойными словами. По адресам этих байтов, слов или двойных слов Вы можете закодировать числа разного формата, такие как целые числа и числа с плавающей точкой.
Числовые функции обрабатывают числовые значения преимущественно типов данных INT (целое), DINT (двойное целое) и REAL (вещественное). На рис. 7.1 представлены форматы 16-разрядных чисел.
Рис. 7.1. Форматы 16-разрядных чисел
77
INT - тип данных INT является стандартным для языков программирования типом integer (16 бит) и служит для хранения целых чисел со знаком. Число типа integer занимает одно слово памяти, находится в диапазоне -32768 и +32767.
В двоичном формате отрицательное число представляется дополнительным кодом. Дополнительный код отрицательного числа получается инверсией всех битов и добавлением к результату "1". Знак (бит 15) показывает, является ли число положительным или отрицательным ("0" = положительное, "1" = отрицательное).
BCD код - каждая цифра десятичного числа кодируется четырьмя двоичными разрядами. Четыре бита используются потому что самая большая десятичная цифра - 9 требует в двоичном коде четыре двоичных разряда (1001).
Двоично-десятичные коды (BCD) чисел от 0 до 9 совпадают с обычным двоичным представлением.
Форматы 32-разрядных чисел представлены на рис. 7.2.
Рис. 7.2. Форматы 32-разрядных чисел
78
DINT - 32-битные числа со знаком называются "double integers" (двойное целое) или “long integers” (длинное целое).
Они лежат в диапазоне L# -2147483648 до L#+2147483647.
REAL - число типа real (известное также как число с плавающей запятой) является положительным или отрицательным числом из диапазона от -3,402823x1038 до 3,402823x1038 . Представление чисел с плавающей запятой соответствует меж-
дународному стандарту IEEE |
|
|
|
Примеры: |
+10.339 |
или |
+1.0339E1 |
|
-234567 |
или |
-2.34567E5. |
Число типа REAL занимает в памяти два слова. Самый старший разряд показывает знак. Другие биты представляют мантиссу и показатель степени числа 2. В экспоненциальном представлении число представляет собой произведение нормированного значения числа на степень числа 10.
Загрузка и передача данных осуществляется оператором MOVE (рис. 7.3). В приведенном примере число 5 пересылается в байт MB5.
Рис. 7.3. Загрузка и передача данных
MOVE (LAD/FBD) Если вход EN (разрешение) активен, значение на входе IN копируется по адресу на выходе OUT. Выход ENO (разрешение выхода) имеет такое же состояние, как и вход EN.
79