Инструкции преобразования

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

- BCD_I : Преобразование BCD- кода в Integer;

- I_BCD : Преобразование Integer в BCD – код;

- BCD_DI : Преобразование BCD - кода в Double Integer;

- I_DI : Преобразование Integer в Double Integer;

- DI_BCD : Преобразование Double Integer в BCD;

- DI_R : Преобразование Double Integer в Real.

Для формирования дополнения чисел формата integer или инверсии знака чисел с плавающей точкой можно использовать одну из следующих инструкций:

- INV_I : Инверсия числа типа Integer;

- INV_DI : Инверсия числа типа Double Integer;

- NEG_I : Дополнительный код числа типа Integer;

- NEG_DI : Дополнительный код числа типа Double Integer;

- NEG_R : Инверсия знака числа типа Real.

Для преобразования 32-битового IEEE числа с плавающей точкой в аккумуляторе 1 в 32-битовое целое (Double Integer). можно использовать одну из следующих инструкций. Отдельные инструкции отличаются методом округления:

- ROUND : Округление до двойного целого;

- TRUNC : Выделение целой части;

- CEIL : Округление в большую сторону;

- FLOOR : Округление в меньшую сторону.

Рассмотрим не примере инструкции DI_ R: Преобразование двойного целого числа в число с плавающей точкой.

Обозначение:

Таблица 6.3 – Характеристики параметров инструкции DI_ R

Параметр Тип данных Область памяти Описание
EN BOOL I, Q, M, D, L, T, C Деблокировка входа
IN DINT I, Q, M, D, L или константа Преобрауемая величина
OUT REAL I, Q, M, D, L Результат
ENO BOOL I, Q, M, D, L Деблокировка выхода

Инструкция преобразования «Двойное целое в вещественное» считывает содержимое входного параметра IN как двойное целое число и преобразует его в число с плавающей точкой. Выходной параметр OUT содержит результат. ENO всегда имеет такое же состояние сигнала, как и EN.

 

 

Пример

 

Преобразование выполняется, если состояние сигнала на I0.0 равно 1. Содержимое двойного меркерного слова MD8 считывается как двойное целое число и преобразуется в число с плавающей точкой. Результат сохраняется в двойном меркерном слове MD12. Если преобразование не выполняется, то состояние сигнала на выходе Q4.0 равно 0.

 

Контрольные вопросы

1. Перечислите инструкции перехода, доступные на языке FBD. Как они реализуются?

2. Какие математические инструкции доступны на языке FBD? Как они реализуются?

3. Какие инструкции преобразования доступны на языке FBD? Как они реализуются?