Главная страница

Руководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8


Скачать 3.76 Mb.
НазваниеРуководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8
Дата27.07.2022
Размер3.76 Mb.
Формат файлаpdf
Имя файлаs71200_system_manual_r.pdf
ТипРуководство
#636782
страница16 из 40
1   ...   12   13   14   15   16   17   18   19   ...   40
6.1.9
Логические операции
Команды AND (И), OR (ИЛИ) и XOR (исключающее ИЛИ)
AND: Логическое И для типов данных BYTE, WORD и DWORD
OR: Логическое ИЛИ для типов данных BYTE, WORD и DWORD
XOR: Логическое исключающее ИЛИ для типов данных BYTE, WORD и DWORD
Щелкните под именем блока и выберите тип данных из ниспадающего меню.
Параметр
Тип данных
Описание
IN1, IN2
Byte, Word, DWord
Логические входы
OUT
Byte, Word, DWord
Логический выход
Выбором типа данных параметры IN1, IN2 и OUT устанавливаются на один и тот же тип данных. Соответствующие битовые значения IN1 и IN2 логически сопрягаются, формируя логический двоичный результат в параметре OUT. После выполнения этих команд ENO всегда принимает значение ИСТИНА.
Команда инвертирования
Команда INV используется для получения двоичного дополнения до единицы параметра IN. Дополнение до единицы образуется инвертированием значения каждого бита параметра IN (замена каждого 0 на 1 и каждой 1 на 0). После выполнения этой команды
ENO всегда принимает значение ИСТИНА.
Щелкните под именем блока и выберите тип данных из ниспадающего меню.
Параметр
Тип данных
Описание
IN
SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord Элемент данных, подлежащий инвертированию
OUT
SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord Инвертированный выход

Руководство по программированию
6.1 Основные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 147
Команды кодирования и декодирования
Команда ENCO преобразует (кодирует) битовый образ в двоичное число.
Команда DECO преобразует (декодирует) двоичное число в битовый образ.
Щелкните под именем блока и выберите тип данных из ниспадающего меню.
Параметр Тип данных
Описание
IN
ENCO: Byte, Word, DWord
DECO: UInt
ENCO: Бит образ для кодирования
DECO: Значение для декодирования
OUT ENCO:
Int
DECO: Byte, Word, DWord
ENCO: Закодированное значение
DECO: Декодированный битовый образ
Команда ENCO преобразует параметр IN в двоичное число, соответствующее положению самого младшего установленного бита параметра IN, и возвращает результат в параметр OUT. Если параметр IN равен 0000 0001 или 0000 0000, то в
OUT возвращается значение 0. Если значение параметра IN равно 0000 0000, то ENO устанавливается в ЛОЖЬ.
Команда DECO декодирует двоичное число из параметра IN, устанавливая соответствующую битовую позицию в параметре OUT в 1 (все остальные биты устанавливаются в 0). После выполнения команды DECO ENO всегда принимает значение ИСТИНА.
Выбором типа данных Byte, Word или DWord для параметра OUT команды DECO ограничивается полезный диапазон параметра IN. Если значение параметра IN выходит за пределы полезного диапазона, то выполняется операция modulo для извлечения младших значащих битов, как показано ниже.
Битовый диапазон для параметра IN команды DECO:
● 3 бита (значения 0-7) IN используются для установки 1 битовой позиции в байте
OUT
● 4 бита (значения 0-15) IN используются для установки 1 битовой позиции в слове
OUT
● 5 битов (значения 0-31) IN используются для установки 1 битовой позиции в двойном слове OUT
Значение IN для DECO
Значение OUT для DECO (декодирование позиции отдельного
бита)
Byte OUT (8 битов): мин. IN
0 00000001 макс. IN
7 10000000
Word OUT (16 битов): мин. IN
0 0000000000000001 макс. IN
15 1000000000000000
DWord OUT: (32 бита): мин. IN
0 00000000000000000000000000000001 макс. IN
31 10000000000000000000000000000000
Состояние ENO
Условие
Результат (OUT)
1
Нет ошибки
Допустимый номер бита
0 IN равно нулю OUT устанавливается в ноль

Руководство по программированию
6.1 Основные команды
Программируемый контроллер S7-1200 148
Системное руководство, 11/2009, A5E02669003-02
Команды выбора (SEL) и мультиплексирования (MUX)
• Команда SEL присваивает одно из двух входных значений параметру OUT, в зависимости от значения параметра G.
• Команда MUX присваивает одно из нескольких входных значений параметру OUT, в зависимости от значения параметра K. Если значение параметра K выходит за пределы допустимого диапазона, то параметру OUT присваивается значение параметра
ELSE.
Щелкните под именем блока и выберите тип данных из ниспадающего меню.
SEL
Тип данных
Описание
G Bool
Селекторный переключатель:
• ЛОЖЬ для IN0
• ИСТИНА для IN1
IN0, IN1
SInt, Int, DInt, USInt, UInt, UDInt, Real, Byte, Word,
DWord, Time, Char
Входы
OUT
SInt, Int, DInt, USInt, UInt, UDInt, Real, Byte, Word,
DWord, Time, Char
Выход
MUX
Тип данных
Описание
K UInt
Значение переключателя:
• 0 для IN0
• 1 для IN1
• ...
IN0, IN1,....
SInt, Int, DInt, USInt, UInt, UDInt, Real, Byte, Word,
DWord, Time, Char
Входы
ELSE
SInt, Int, DInt, USInt, UInt, UDInt, Real, Byte, Word,
DWord, Time, Char
Заменяющее входное значение
(факультативно)
OUT
SInt, Int, DInt, USInt, UInt, UDInt, Real, Byte, Word,
DWord, Time, Char
Выход

Руководство по программированию
6.1 Основные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 149
Входные переменные и выходная переменная должны быть одного и того же типа данных.
● Команда SEL всегда осуществляет выбор между двумя значениями IN.
● Команда MUX после ее вставки в программном редакторе всегда имеет два параметра IN, но она может быть расширена добавлением еще нескольких параметров IN.
Для добавления и удаления входных параметров команды MUX действуйте следующим образом:
● Для добавления входа щелкните правой клавишей мыши у одного из имеющихся параметров IN и выберите команду "Insert input [Вставить вход]".
● Для удаления входа щелкните правой клавишей мыши у одного из имеющихся параметров IN (если имеется более чем два первоначальных входа) и выберите команду "Delete [Удалить]".
Коды условий: ENO всегда принимает значение ИСТИНА после выполнения команды
SEL.
Состояние ENO
(MUX)
Условие MUX
Результат выполнения MUX в OUT
1
Нет ошибки
Выбранное значение IN присваивается параметру OUT
0 K больше или равно числу параметров IN
Параметр ELSE не задан:
OUT не меняется
ELSE задан: значение ELSE присваивается параметру OUT

Руководство по программированию
6.1 Основные команды
Программируемый контроллер S7-1200 150
Системное руководство, 11/2009, A5E02669003-02
6.1.10
Операции сдвига и циклического сдвига
Команда сдвига
Команды сдвига используются для смещения битового образа параметра IN. Результат присваивается параметру OUT. Параметр N определяет битовых позиций, на которые осуществляется сдвиг:
• SHR:
Сдвинуть битовый образ вправо
• SHL:
Сдвинуть битовый образ влево
Щелкните под именем блока и выберите тип данных из ниспадающего списка.
Параметр
Тип данных
Описание
IN
Byte, Word, DWord
Битовый образ, подлежащий сдвигу
N UInt
Число битовых позиций, на которые осуществляется сдвиг
OUT
Byte, Word, DWord
Битовый образ после операции сдвига
● При N=0 сдвиг не производится, и значение IN присваивается параметру OUT.
● Битовые позиции, которые освобождаются операцией сдвига, заполняются нулями.
● Если число позиций, на которые осуществляется сдвиг, (N) превышает число битов в целевом значении (8 для байта, 16 для слова, 32 для двойного слова), то все первоначальные значения битов бит выдвигаются и заменяются нулями (выходу
OUT присваивается нулевое значение).
● Для операций сдвига ENO всегда принимает значение ИСТИНА.
Пример SHL для размера данных Word: Вставка нулей на освободившиеся позиции
IN
1110 0010 1010 1101
Значение OUT перед первым сдвигом:
1110 0010 1010 1101
После первого сдвига:
1100 0101 0101 1010
После второго сдвига:
1000 1010 1011 0100
После третьего сдвига:
0001 0101 0110 1000

Руководство по программированию
6.1 Основные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 151
Команда циклического сдвига
С помощью команд циклического сдвига вы можете циклически сдвигать битовый образ параметра IN. Результат присваивается параметру OUT. Параметр N определяет число битовых позиций, на которое осуществляется циклический сдвиг.
• ROR:
Циклический сдвиг битового образа вправо
• ROL:
Циклический сдвиг битового образа влево
Щелкните под именем блока и выберите тип данных из ниспадающего меню.
Параметр
Тип данных
Описание
IN
Byte, Word, DWord
Битовый образ, подлежащий циклическому сдвигу
N UInt
Число битовых позиций, на которое должен быть произведен циклический сдвиг
OUT
Byte, Word, DWord
Битовый образ после операции циклического сдвига
● При N=0 циклический сдвиг не производится, и значение IN присваивается параметру OUT.
● Битовые данные, выдвигаемые с одной стороны целевого значения, вдвигаются с другой стороны целевого значения, так что ни одно из первоначальных битовых значений не теряется.
● Если число битовых позиций, на которое осуществляется циклический сдвиг, (N) превышает число битов в целевом значении (8 для байта, 16 для слова, 32 для двойного слова), то циклический сдвиг все равно выполняется.
● ENO всегда принимает значение ИСТИНА после выполнения команд циклического сдвига.
Пример ROR для данных размера WORD размер: Биты, выдвигаемые с правой стороны,
вдвигаются с левой стороны
IN
0100 0000 0000 0001
Значение OUT перед первым циклическим сдвигом:
0100 0000 0000 0001
После первого циклического сдвига вправо:
1010 0000 0000 0000
После второго циклического сдвига вправо:
0101 0000 0000 0000

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 152
Системное руководство, 11/2009, A5E02669003-02
6.2
Расширенные команды
6.2.1
Общие параметры ошибок для расширенных команд
Описания расширенных команд содержат сведения об ошибках этапа исполнения, которые могут произойти для каждой команды. Кроме этих ошибок, возможны также общие ошибки, приведенные ниже. Если при исполнении кодового блока происходит одна из общих ошибок, то CPU переходит в состояние STOP, если вы не используете внутри этого кодового блока команду GetError или GetErrorID для формирования запрограммированной реакции на эту ошибку.
Значение кода ошибки
(W#16#....)
Описание
8022
Область для ввода слишком мала
8023
Область для вывода слишком мала
8024
Недопустимая область ввода
8025
Недопустимая область вывода
8028
Недопустимое назначение входного бита
8029
Недопустимое назначение выходного бита
8030
Областью вывода является DB, защищенный от записи
803A DB не существует

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 153
6.2.2
Команды для часов и календаря
Команды для часов и календаря
Команды для часов и календаря используются для расчетов, связанных с календарем и временем.
● T_CONV преобразует тип данных значения времени: (Time to DInt [Время в двойное целое]) или (DInt to Time [Двойное целое во время])
● T_ADD складывает значения Time и DTL: (Time + Time = Time) или (DTL + Time =
DTL)
● T_SUB вычитает значения Time и DTL: (Time - Time = Time) или (DTL - Time = DTL)
● T_DIFF выдает разность между двумя значениями DTL как значение Time: DTL -
DTL = Time
Тип данных
Размер (в
битах)
Допустимые диапазоны
Time [Время] 32
Хранится как от T#-24d_20h_31m_23s_648ms до
T#24d_20h_31m_23s_647ms от -2 147 483 648 мс до +2 147 483 647 мс
Структура данных DTL
Год: UInt
16 от 1970 до 2554
Месяц: USInt
8 от 1 до 12
День: USInt
8 от 1 до 31
День недели: USInt
8 от 1=воскресенье до 7=суббота
Час: USInt
8 от 0 до 23
Минута: USInt
8 от 0 до 59
Секунда: USInt
8 от 0 до 59
Наносекунды: UDInt
32 от 0 до 999,999,999
T_CONV (преобразование времени) преобразует тип данных Time в тип данных DInt, или осуществляет обратное преобразование из типа данных DInt в тип данных Time.
Параметр
Тип
параметра
Тип данных
Описание
IN IN DInt,
Time
Входное значение типа Time или Dint
OUT OUT DInt,
Time
Преобразованное значение типа DInt или Time
Выберите типы данных IN и OUT из ниспадающих списков под именем команды.
T_ADD (сложение времен) складывает входное значение IN1 (типа данных DTL или Time) с входным значением IN2 (тип Time). Параметр
OUT выдает результат в виде значения типа DTL или Time.

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 154
Системное руководство, 11/2009, A5E02669003-02
Возможны операции с двумя типами данных:
● Time + Time = Time
● DTL + Time = DTL
Параметр
Тип
параметра
Тип данных
Описание
IN1 IN DTL,
Time
Значение типа DTL или Time
IN2 IN Time Значение типа Time, которое нужно прибавить
OUT OUT DTL,
Time
Сумма типа DTL или Time
Выберите тип данных IN1 из ниспадающего списка под списком команды. Выбор типа данных
IN1 устанавливает также тип данных параметра OUT.
T_SUB (вычитание времени) вычитает значение типа Time в IN2 из IN1
(значение типа DTL или Time). Параметр OUT выдает значение разности, используя тип данных DTL или Time.
Возможны операции с двумя типами данных:
● Time - Time = Time
● DTL - Time = DTL
Параметр
Тип
параметра
Тип данных
Описание
IN1 IN DTL,
Time
Значение типа DTL или Time
IN2 IN Time Значение типа Time, которое нужно вычесть
OUT OUT DTL,
Time
Разность типа DTL или Time
Выберите тип данных IN1 из ниспадающего списка под именем команды. Выбор типа данных
IN1 устанавливает также тип данных параметра OUT.
T_DIFF (разность времен) вычитает значение типа DTL в IN2 из значения типа DTL в IN1. Параметр OUT выдает значение разности, используя тип данных Time.
• DTL - DTL = Time
Параметр
Тип
параметра
Тип данных
Описание
IN1 IN DTL Значение типа DTL
IN2 IN DTL Значение типа DTL, которое нужно вычесть
OUT OUT Time
Разность типа Time
Коды условий: ENO = 1 означает, что ошибки не произошло. ENO = 0 и параметр
OUT = 0 – ошибки:
● Недопустимое значение DTL
● Недопустимое значение Time

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 155
Команды для работы с часами
Команды для работы с часами позволяют устанавливать и считывать системные часы
ПЛК. Для вывода значений даты и времени используется тип данных DTL.
Структура DTL
Размер
Допустимые диапазоны
Год: UInt
16 битов от 1970 до 2554
Месяц: USInt
8 битов от 1 до 12
День: USInt
8 битов от 1 до 31
День недели: USInt
8 битов от 1=Sunday до 7=Saturday
Час: USInt
8 битов от 0 до 23
Минута: USInt
8 битов от 0 до 59
Секунда: USInt
8 битов от 0 до 59
Наносекунды: UDInt
32 бита от 0 до 999,999,999
WR_SYS_T (запись системного времени) устанавливает часы истинного времени ПЛК с помощью значения типа данных DTL в параметре IN.
Это значение времени не учитывает ни местного часового пояса, ни переходов на зимнее время и обратно.
Параметр
Тип
параметра
Тип
данных
Описание
IN IN DTL
Истинное время, подлежащее установке в системных часах ПЛК
RET_VAL OUT
Int
Код условия выполнения
RD_SYS_T (считывание системного времени) считывает текущее системное время из ПЛК. Это значение времени не учитывает ни местного часового пояса, ни переходов на зимнее время и обратно.
Параметр
Тип
параметра
Тип
данных
Описание
RET_VAL OUT
Int
Код условия выполнения
OUT OUT DTL Текущее системное время ПЛК
RD_LOC_T (считывание местного времени) предоставляет текущее местное время ПЛК как тип данных DTL.
Параметр
Тип
параметра
Тип
данных
Описание
RET_VAL OUT
Int
Код условия выполнения
OUT OUT DTL Местное время

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 156
Системное руководство, 11/2009, A5E02669003-02
● Для расчета местного времени используются часовой пояс и времена переключения на зимнее время и обратно, которые вы ввели в конфигурации устройств для часов CPU.
● Часовой пояс представляет собой смещение по отношению к скоординированному универсальному времени (Universal Time Coordinated, UTC).
● Для переключения на летнее время необходимо ввести месяц, неделю, день и час, когда осуществляется перевод.
● Для переключения на зимнее время также необходимо ввести месяц, неделю, день и час, когда осуществляется перевод.
● Разность часовых поясов относительно системного времени действует всегда.
Переключение на летнее время действует только тогда, когда этот переход имеет место.
1   ...   12   13   14   15   16   17   18   19   ...   40


написать администратору сайта