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

Руководство по программированию 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
страница18 из 40
1   ...   14   15   16   17   18   19   20   21   ...   40
Примеры преобразования с помощью VAL_STRG
Эти примеры основаны на строке OUT, инициализированной следующим образом:
"Current Temp = xxxxxxxxxx C"
Символ "x"представляет пробелы, предназначенные для преобразуемого значения.
Тип данных Значение
IN P SIZE FORMAT
(W#16#....)
PREC Строка OUT
ENO
UInt
123 16 10 0000 0
Current Temp = xxxxxxx123 C
ИСТИНА
UInt
0 16 10 0000 2
Current Temp = xxxxxx0.00 C
ИСТИНА
UDInt
12345678 16 10 0000 3
Current Temp = x12345.678 C
ИСТИНА
UDInt
12345678 16 10 0001 3
Current Temp = x12345,678 C
ИСТИНА
Int
123 16 10 0004 0
Current Temp = xxxxxx+123 C
ИСТИНА
Int
-123 16 10 0004 0
Current Temp = xxxxxx-123 C
ИСТИНА
Real
-0.00123 16 10 0004 4
Current Temp = xxx-0.0012 C
ИСТИНА
Real
-0.00123 16 10 0006 4
Current Temp =
-1.2300E-3 C
ИСТИНА
Real
-INF
16 10
N/A
4
Current Temp = xxxxxx-INF C
ЛОЖЬ
Real
+INF
16 10
N/A
4
Current Temp = xxxxxx+INF C
ЛОЖЬ
Real
NaN
16 10
N/A
4
Current Temp = xxxxxxxNaN C
ЛОЖЬ
UDInt
12345678 16 6
N/A
3
Current Temp = xxxxxxxxxx C
ЛОЖЬ

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 168
Системное руководство, 11/2009, A5E02669003-02
6.2.3.3
Операции со строками
Ваша управляющая программа может использовать следующие операции со строками и символами для формирования сообщений оператору и протоколирования процесса.
Общие ошибки для всех операций со строками
Операции со строками, при исполнении которых возникают показанные ниже недопустимые состояния, приводят к тому, что ENO = 0 и выводится пустая строка.
Ошибочные состояния, которые возникают при определенных операциях, приведены под описанием соответствующей операции.
ENO
Условие OUT
Текущая длина IN1 превышает максимальную длину IN1, или текущая длина IN2 превышает максимальную длину IN2
(неправильная строка)
Максимальная длина IN1, IN2 или OUT не помещается в выделенную область памяти
0
Максимальная длина IN1, IN2 или OUT равна 0 или 255
(недопустимая длина)
Текущая длина устанавливается в
0
LEN: Получить длину строки
CONCAT: Соединить две строки
LEFT: Получить левую подстроку из строки
RIGHT: Получить правую подстроку из строки
MID: Получить среднюю подстроку из строки
FIND: Найти подстроку или символ в строке
INSERT: Вставить подстроку в строку
DELETE: Удалить подстроку из строки
REPLACE: Заменить подстроку в строке

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 169
Команда LEN
Параметр
Тип
параметра
Тип данных Описание
IN IN String
Вводимая строка
OUT OUT UInt Число допустимых символов в строке IN
LEN (длина строки) дает текущую длину строки IN на выходе OUT. Пустая строка имеет длину ноль. В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Недопустимые условия для строки отсутствуют
Действительная длина строки
Команда CONCAT
Параметр
Тип
параметра
Тип данных Описание
IN1 IN String
Вводимая строка 1
IN2 IN String
Вводимая строка 2
OUT OUT String Комбинированная строка (строка 1 + строка 2)
CONCAT (объединить строки) соединяет параметры строк IN1 и IN2, формируя одну строку, представленную в параметре OUT. После объединения строка IN1 является левой частью, а строка IN2 правой частью объединенной строки. В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
0
Результирующая строка после объединения больше максимальной длины строки OUT
Символы результирующей строки копируются, пока не будет достигнута максимальная длина OUT

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 170
Системное руководство, 11/2009, A5E02669003-02
Команда LEFT
Параметр
Тип
параметра
Тип данных Описание
IN IN
String
Вводимая строка
L IN
Int Длина подстроки, которая должна быть создана, используя самые левые L символов строки IN
OUT OUT
String Выводимая строка
Команда LEFT (левая подстрока) выдает подстроку, состоящую из первых L символов строки параметра IN.
● Если L больше, чем текущая длина строки IN, то вся строка IN выводится в параметре OUT.
Если вводится пустая строка, то в OUT тоже выводится пустая строка.
В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
L меньше или равно 0
Текущая длина устанавливается в 0 0
Длина подстроки (L), подлежащей копированию, больше максимальной длины строки OUT
Символы копируются, пока не будет достигнута максимальная длина строки OUT

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 171
Команда RIGHT
Параметр
Тип
параметра
Тип данных Описание
IN IN
String
Вводимая строка
L IN
Int Длина подстроки, которая должна быть создана, используя самые правые L символов строки IN
OUT OUT
String Выводимая строка
Команда RIGHT (правая подстрока) выдает подстроку, состоящую из последних L символов строки параметра IN.
● Если L больше, чем текущая длина строки IN, то вся строка IN выводится в параметре OUT.
● Если вводится пустая строка, то в OUT тоже выводится пустая строка.
В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
L меньше или равно 0
Текущая длина устанавливается в 0 0
Длина подстроки (L), подлежащей копированию, больше максимальной длины строки OUT
Символы копируются, пока не будет достигнута максимальная длина строки OUT

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 172
Системное руководство, 11/2009, A5E02669003-02
Команда MID
Параметр Тип
параметра
Тип
данных
Описание
IN IN String
Вводимая строка
L IN Int Длина подстроки, которая должна быть создана, используя L символов строки IN, начиная с позиции P
P IN Int Положение первого символа подстроки, подлежащей копированию:
P= 1, для позиции первого символа строки IN
OUT OUT String Выводимая строка
Команда MID (средняя подстрока) выводит среднюю часть строки. Средняя подстрока имеет длину L символов и начинается с позиции P (включительно).
Если сумма L и P превышает текущую длину строки в параметре IN, то выводится подстрока, начинающаяся с позиции P и продолжающаяся до конца строки IN. В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
L или P меньше или равно 0
P больше, чем максимальная длина IN
Текущая длина устанавливается в 0 0
Длина подстроки (L), подлежащей копированию, больше максимальной длины строки OUT
Символы копируются, начиная с позиции P, пока не будет достигнута максимальная длина OUT

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 173
Команда DELETE
Параметр Тип
параметра
Тип
данных
Описание
IN IN String
Вводимая строка
L IN Int Число символов, подлежащих удалению
P IN Int Положение первого символа, подлежащего удалению:
Первый символ строки IN находится в позиции 1
OUT OUT String Выводимая строка
Команда DELETE (удалить подстроку) удаляет L символов из строки IN. Удаление символов начинается с позиции P (включительно), а оставшаяся подстрока выводится в параметре OUT.
● Если L равно нулю, то в OUT выводится введенная строка.
● Если сумма L и P больше, чем длина введенной строки, то строка удаляется до конца.
В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
P больше, чем текущая длина IN
IN копируется в OUT без удаления символов
L меньше, чем 0, или P меньше или равно 0
Текущая длина устанавливается в 0 0
Результирующая строка после удаления символов больше максимальной длины строки OUT
Символы результирующей строки копируются, пока не будет достигнута максимальная длина OUT

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 174
Системное руководство, 11/2009, A5E02669003-02
Команда INSERT
Параметр Тип
параметра
Тип
данных
Описание
IN1 IN String
Вводимая строка 1
IN2 IN String
Вводимая строка 2
P IN Int Положение последнего символа в строке IN1 перед точкой вставки для строки IN2. Первый символ строки
IN1 находится в позиции 1.
OUT OUT String Результирующая строка
Команда INSERT (вставить подстроку) вставляет строку IN2 в строку IN1. Вставка начинается после символа, находящегося в позиции P. В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
P больше, чем длина IN1
IN2 присоединяется к IN1 непосредственно после последнего символа IN1
P меньше или равно 0
Текущая длина устанавливается в 0 0
Результирующая строка после вставки больше максимальной длины строки OUT
Символы результирующей строки копируются, пока не будет достигнута максимальная длина OUT

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 175
Команда REPLACE
Параметр Тип
параметра
Тип
данных
Описание
IN1 IN String
Вводимая строка
IN2 IN String
Строка с заменяющими символами
L IN Int Число символов, подлежащих замене
P IN Int Положение первого символа, подлежащего замене
OUT OUT String Результирующая строка
Команда REPLACE (заменить подстроку) заменяет L символов в строке параметра
IN1. Замена начинается с символа строки IN1, находящегося в положении P
(включительно), заменяющими символами их строки параметра IN2.
● Если параметр L равен нулю, то строка IN2 вставляется в позицию P строки IN1 без удаления символов из строки IN1.
● Если P равно 1, то первые L символов строки IN1 заменяются символами строки
IN2.
В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Допустимые символы
P больше, чем длина IN1
IN2 присоединяется к IN1 непосредственно после последнего символа IN1
Позиция P находится внутри IN1, но в IN1 остается менее чем L символов
IN2 заменяет конечные символы IN1, начиная с позиции P
L меньше, чем 0, или P меньше или равно 0
Текущая длина устанавливается в 0 0
Результирующая строка после замены больше максимальной длины строки OUT
Символы результирующей строки копируются, пока не будет достигнута максимальная длина OUT
Команда FIND
Параметр Тип
параметра
Тип
данных
Описание
IN1 IN String
Искать внутри этой строки
IN2 IN String
Искать эту строку
OUT OUT Int
Положение в строке IN1 первого искомого совпадения
Команда FIND (искать подстроку) выдает положение внутри строки IN1 подстроки или символа, указанного в параметре IN2. Поиск начинается слева. Позиция первого появления строки IN2 выводится в OUT. Если строка IN2 не найдена в строке IN1, то выводится ноль. В следующей таблице показаны коды условий для этой команды.
ENO
Условие OUT
1
Ошибки не обнаружены
Действительная позиция символа
0 IN2 больше, чем IN1
Позиция символа устанавливается в 0

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 176
Системное руководство, 11/2009, A5E02669003-02
6.2.4
Команды управления программой
6.2.4.1
Сброс контроля времени цикла
Команда RE_TRIGR (перезапустить контроль времени цикла) используется для увеличения максимально допустимого времени цикла, прежде чем таймер контроля времени цикла сгенерирует ошибку.
Используйте команду RE_TRIGR для перезапуска таймера контроля времени цикла во время исполнения цикла. Благодаря этому максимально допустимое время цикла увеличивается еще на один интервал максимального времени цикла с момента последнего исполнения функции RE_TRIGR.
CPU ограничивает использование команды RE_TRIGR программным циклом, например, OB1, и функциями, которые вызываются из программного цикла. Это значит, что таймер контроля времени цикла сбрасывается, и ENO = EN, если
RE_TRIGR из любого OB, содержащегося в списке OB программного цикла.
ENO = ЛОЖЬ, и таймер контроля времени не сбрасывается, если RE_TRIGR выполняется из OB запуска, OB прерываний или OB ошибок.
Установка максимального времени цикла ПЛК
Вы можете установить значение для максимального времени цикла в конфигурации устройств ПЛК через "Cycle time [Время цикла]".
Контроль времен
цикла
Минимальное
значение
Максимальное
значение
Значение по
умолчанию
Максимальное время цикла
1 мс 6000 мс 150 мс
Контроль времени исполнения
Если максимальное время цикла истекает до того, как цикл завершен, то генерируется ошибка. Если кодовый блок обработки ошибок OB 80 включен в программу пользователя, то ПЛК исполняет OB 80, в который вы можете ввести программную логику для формирования специальной реакции на ошибку. Если OB 80 не включен в программу, то первое превышение лимита времени игнорируется.
Если в том же самом программном цикле происходит второе превышение максимального времени цикла (2-кратное значение максимального времени цикла), то генерируется ошибка, которая заставляет ПЛК перейти в состояние STOP.
В состоянии STOP исполнение вашей программы прекращается, однако системные коммуникации ПЛК и системная диагностика продолжаются.

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 177
6.2.4.2
Команда остановки цикла
Команда STP (остановить цикл сканирования ПЛК) переводит ПЛК в состояние STOP. Когда ПЛК находится в состоянии STOP, исполнение вашей программы и физическое обновление образа процесса прекращаются.
Дальнейшую информацию вы найдете под заголовком: Конфигурирование поведения выходных значений для состояния STOP CPU (стр. 56)
Если EN = ИСТИНА, то ПЛК переходит в состояние STOP, исполнение программы прекращается, и состояние ENO не имеет значения. В противном случае
EN = ENO = 0.
6.2.4.3
Команды получения информации об ошибках
Команды получения информации об ошибках предоставляют информацию об ошибках при исполнении программных блоков. Если вы вставите команду GetError или
GetErrorID в свой кодовый блок, то вы можете обрабатывать ошибки программы в своем программном блоке.
GET_ERROR
Команда GET_ERROR показывает, что произошла ошибка при исполнении программного блока, и заполняет заранее определенную структуру данных ошибки подробной информацией об ошибке.
Параметр
Тип данных
Описание
ERROR ErrorStruct Структура данных об ошибке: Вы можете переименовать эту структуру, но не элементы внутри нее.
Элемент данных
ErrorStruct
Тип
данных
Описание
ERROR_ID Word
Идентификатор ошибки
FLAGS Byte
Всегда 0.
REACTION Byte
Реакция на ошибку:
• 0
= игнорировать; ничего не записано (ошибка записи)
• 1
= заменить: для входного значения был использован 0 (ошибка чтения)
• 2
= пропустить команду
BLOCK_TYPE Byte
Тип блока, где произошла ошибка:
• 1 = OB
• 2 = FC
• 3 = FB
PAD_0 Byte
Внутренне заполняемый байт для целей выравнивания, равен 0

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200 178
Системное руководство, 11/2009, A5E02669003-02
Элемент данных
ErrorStruct
Тип
данных
Описание
CODE_BLOCK_NUMBER UInt
Номер блока, в котором произошла ошибка
ADDRESS UDInt
Внутренний адрес в памяти для команды, в которой произошла ошибка
MODE Byte
Внутреннее отображение того, как будут интерпретироваться оставшиеся поля, предназначенные для использования STEP 7 Basic
PAD_1 Byte
Внутренне заполняемый байт для целей выравнивания; не используется, равен 0
OPERAND_NUMBER UInt Число внутренних операндов команды
POINTER_NUMBER_
LOCATION
UInt (A)
Внутренний адрес указателя команды
SLOT_NUMBER_SCOPE UInt
(B)
Внутренний адрес в памяти
AREA Byte
(C)
Область памяти, на которую делается ссылка при возникновении ошибки:
• L: 16#40 – 4E, 86, 87, 8E, 8F, C0 – CE
• I:
16#81
• Q:
16#82
• M:
16#83
• DB: 16#84, 85, 8A, 8B
PAD_2 Byte
Внутренне заполняемый байт для целей выравнивания; не используется, равен 0
DB_NUMBER UInt
(D)
DB, на который делается ссылка, когда происходит ошибка DB, иначе 0
OFFSET UDInt
(E)
Битовое смещение, на которое делается ссылка при возникновении ошибки (пример: 12 = байт 1, бит 4)

Руководство по программированию
6.2 Расширенные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 179
1   ...   14   15   16   17   18   19   20   21   ...   40


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