Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тетрадь плк.docx
Скачиваний:
9
Добавлен:
20.04.2019
Размер:
13.6 Mб
Скачать

1.6 Преобразование форматов данных

Присваивание значения MOVE

Описание

Команда Присвоить значение дает возможность предварительно снабдить переменную определенным значением.

Значение, заданное на входе IN, копируется по адресу, указанному на выходе OUT. ENO имеет такое же состояние сигнала, как EN.

С помощью блока MOVE команда Присвоить значение может копировать все типы данных длиной 8,16 или 32 бита.

Таблица 1.6.1. Блок «Присваивание значения» и параметры

Блок КОР

Параметр

Тип данных

Область памяти

Описание

EN

BOOL

I, Q, M, D, L

Разрешающий вход

END

BOOL

I, Q, M, D, L

Разрешающий выход

IN

Все типы данных длиной 8,16 и 32 бита

I, Q, M, D, L или

константа

Исходное значение

OUT

Все типы данных длиной 8,16 и 32 бита

I, Q, M, D, L

Адрес назначения


К оманда выполняется, если состояние сигнала входа 10.0 равно 1. Содержимое слова памяти MW10 копируется в слово данных 12 открытого DB. Если операция выполнена, то выход Q 4.0 равен 1.

Рис.5

П реобразование двоично-десятичного числа в целое

Е сли состояние сигнала входа I 0.0 равно 1, то преобразование выполняется.

Рис.5

Содержимое слова памяти MW10 считывается как трехразрядное двоично-десятичное число и преобразуется в целое. Результат сохраняется в слове памяти MW12. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO - EN).

Преобразование целого числа в двойное целое

Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое слова памяти MW10 считывается как целое число и преобразуется в двойное целое число. Результат сохраняется в двойном слове памяти М012. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN).

Рис.7

Преобразование двойного целого числа в число с плавающей точкой

Е сли состояние сигнала входа i 0,0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти md8 считывается как двойное целое число и преобразуется в вещественное число. Результат сохраняется в двойном слове памяти м012. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN).

Рис.7

Дополнение целого числа до единицы

Описание

Команда Дополнить целое число до единицы считывает содержимое входного параметра in и выполняет над этим словом и маской ffffh поразрядную команду булевой логики Поразрядное исключающее ИЛИ над словами (см. раздел 11.6), так что каждый бит слова изменяет свое значение на противоположное. Выходной параметр out предоставляет результат. eno и en всегда имеют одинаковое состояние сигнала.

Если состояние сигнала входа i 0.0 равно 1, то преобразование, выполняется. Каждый бит в mw8 инвертируется. mw8 = 00000000 00000000 → mw10=11111111 11111111 Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN).

Рис.8

Дополнение двойного целого числа до единицы

Описание

Команда Дополнить двойное целое число до единицы считывает содержимое входного параметра in и выполняет над этим словом и маской ffff ffffh поразрядную команду булевой логики Поразрядное исключающее ИЛИ над двойными словами (см. раздел 11.6), так что каждый бит слова изменяет свое значение на противоположное. Выходной параметр out предоставляет результат. eno и en всегда имеют одинаковое состояние сигнала.

Е сли состояние сигнала входа 10.0 равно 1, то преобразование выполняется.

Рис.9

Каждый бит двойного слова md8 изменяется: md8 =FFFF FFFF → md10 = 0000 0000. Если преобразование не выполнено, то состояние сигнала выхода о 4.0 равно 1 (end = en).

Дополнение целого числа до двух

Описание

Команда Дополнить целое число до двух считывает содержимое входного параметра IN и изменяет его знак (например, с положительного значения на отрицательное). Выходной параметр OUT предоставляет результат. Если состояние сигнала EN равно 0, то и состояние сигнала ENO равно 0. Если состояние сигнала EN равно 1 и происходит переполнение, то состояние сигнала ENO равно 0.

Е сли состояние сигнала входа 10.0 равно 1. то преобразование выполняется. Значение слова памяти MW8 через OUT передается с противоположны м знаком в слово памяти MW10, как показано в следующем примере: MW8 = +10→MW10 = -10. Если состояние сигнала EN равно 1 и происходит переполнение, то состояние сигнала ENO равно 0 и состояние сигнала выхода Q 4,0 равно 1. Если преобразование не выполнено, то состояние сигнала выхода Q 4,0 равно 1 (ENO = EN).

Округление до двойного целого числа

Описание

Команда Округлить до двойного целого числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число, округляя его до ближайшего целого числа.

Результатом является ближайшая целая составляющая вещественного числа (то есть ближайшее целое число). Выходной параметр OUT предоставляет результат. Если происходит переполнение, то END равен 0.

Если состояние сигнала входа 10.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число. Результат этой функции округления до ближайшего двойного целого числа сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1.

Выделение целой части числа

Описание

Команда Выделить целую часть числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число, округляя его до ближайшего меньшего или равного ему целого числа. Результатом является целая составляющая заданного вещественного числа (то есть целая часть вещественного числа). Выходной параметр OUT предоставляет результат. Если происходит переполнение, то END равен 0.

Если состояние сигнала входа 10.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число. Целая часть является результатом и сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода О 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1

Округление до ближайшего большего целого числа

Описание

Команда Округлить до ближайшего большего целого числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число. Результатом является наименьшее целое число, которое больше заданного вещественного числа или равно ему.

Выходной параметр OUT предоставляет результат. Если происходит переполнение, то END равен 0.

Е сли состояние сигнала входа I 0,0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число с округлением до ближайшего большего (или равного) целого числа. Результат сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1.

Рис.10

Округление до ближайшего меньшего целого числа

Описание

Команда Округлить до ближайшего меньшего целого числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число. Результатом является наибольшее целое число, которое меньше заданного вещественного числа или равно ему.

Выходной параметр OUT предоставляет результат. Если происходит переполнение, то END равен 0.

Е сли состояние сигнала входа 10.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число с округлением до ближайшего меньшего (или равного) целого числа. Результат сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4 0 также равно 1.

Загрузить программную среда Simatic manager подготовить программы Рис.5-Рис.10 Проверить отработку этих программ в симуляторе.

Поразрядное И над словами

Описание

Сигнал 1 на разрешающем входе (EN) активизирует команду Поразрядное И над словами. Эта команда побитно объединяет два цифровых значения, указанные на входах IN1 и IN2, в соответствии с таблицей истинности логической операции И. Эти значения интерпретируются как чисто битовые комбинации. Результат можно просмотреть на выходе OUT. END имеет такое же состояние сигнала, как EN.

Состояние сигнала 1 на входе I 0.0 активизирует команду. Важны только биты с 0 по 3; остальная часть слова памяти MW0 маскируется:

IN1= 0101010101010101

IN2=0000000000001111

OUT = 0000000000000101

С остояние сигнала выхода Q 4.0 равно 1, когда операция выполнена.

Рис .11

Поразрядное И над двойными словами

Описание

Сигнал 1 на разрешающем входе (EN) активизирует команду Поразрядное И над двойными словами. Эта команда побитно объединяет два цифровых значения, указанные на входах IN1 и IN2, в соответствии с таблицей истинности логической операции И. Эти значения интерпретируются как чисто битовые комбинации. Результат можно просмотреть на выходе OUT. END имеет такое же состояние сигнала, как EN.

Состояние сигнала 1 на входе I 0.0 активизирует команду. Важны только биты с 4 по 11; остальная часть слова памяти MD0 маскируется:

IN1 =01010101010101010101010101010101

IN2 = 0000000000000000 0000111111110000

OUT = 00000000000000000000010101010000

Состояние сигнала выхода Q 4.0 равно 1, когда операция выполнена.

Рис.12

Поразрядное ИЛИ над словами

Описание

Сигнал 1 на разрешающем входе (EN) активизирует команду Поразрядное ИЛИ над словами. Эта команда побитно объединяет два цифровых значения, указанные на входах IN1 и IN2, в соответствии с таблицей истинности логической операции ИЛИ. Эти значения интерпретируются как чисто

битовые комбинации. Результат можно просмотреть на выходе OUT. END имеет такое же состояние сигнала, как EN.

Состояние сигнала 1 на входе I 0.0 активизирует команду. Биты с 0 по 3 устанавливаются в 1; остальная часть слова памяти MW0 остается неизменной:

IN1 =0101010101010101

IN2 = 0000000000001111

OUT = 0101010101011111

Состояние сигнала выхода Q 4.0 равно 1, когда операция выполнена.

Поразрядное ИЛИ над двойными словами

Описание

Сигнал 1 на разрешающем входе (EN) активизирует команду Поразрядное ИЛИ над двойными словами. Эта команда побитно объединяет два цифровых значения, указанные на входах IN1 и IN2, в соответствии с таблицей истинности логической операции ИЛИ. Эти значения интерпретируются как чисто битовые комбинации. Результат можно просмотреть на выходе OUT. END имеет такое же состояние сигнала, как EN.

Состояние сигнала 1 на входе I 0.0 активизирует команду. Биты с 0 по 11 устанавливаются в 1; остальная часть слова памяти MD0 остается неизменной: IN1 = 01010101010101010101010101010101

IN2 = 00000000000000000000111111111111

OUT = 01010101010101010101111111111111

Состояние сигнала выхода Q 4.0равно 1, когда операция выполнена.

Поразрядное исключающее ИЛИ над словами

Описание

Сигнал 1 на разрешающем входе (EN) активизирует команду Поразрядное исключающее ИЛИ над словами. Эта команда побитно объединяет два цифровых значения, указанные на входах IN1 и IN2, в соответствии с таблицей истинности логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ. Эти значения интерпретируются как чисто битовые комбинации. Результат можно просмотреть на выходе OUT. END имеет такое же состояние сигнала, как EN.

Состояние сигнала 1 на входе I 0.0 активизирует команду.

IN1 = 0101010101010101

IN2 = 0000000000001111

OUT = 0101010101011010

Состояние сигнала выхода Q 4.0равно 1, когда операция выполнена.

Поразрядное исключающее ИЛИ над двойными словами

Описание

Сигнал 1 на разрешающем входе (EN) активизирует команду Поразрядное исключающее ИЛИ над двойными словами. Эта команда побитно объединяет два цифровых значения, указанные на входах IN1 и IN2, в соответствии с таблицей истинности логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ. Эти значения интерпретируются как чисто битовые комбинации. Результат можно просмотреть на выходе OUT. END имеет такое же состояние сигнала, как EN.

Состояние сигнала 1 на входе I 0.0 активизирует команду.

IN1 = 01010101010101010101010101010101

N2 = 0000000000000000 0000111111111111

OUT = 01010101010101010101101010101010

Состояние сигнала выхода Q 4.0 равно 1, когда операция выполнена.

Загрузить программную среда Simatic manager подготовить программы Рис.11-Рис.12. Проверить отработку этих программ в симуляторе.