Главная страница
Навигация по странице:

  • RET_VAL (W16....) Описание

  • 6.2.3 Операции над строками и символами 6.2.3.1 Обзор данных строки Тип данных String

  • Инициализация данных типа String

  • Действительные данные типа String

  • 6.2.3.2 Команды преобразования строки Преобразования строки в значения и значения в строку

  • S_CONV (преобразование строки символов в числовое значение) Параметр Тип параметра Тип данных Описание

  • S_CONV (преобразование числового значения в строку символов) Параметр Тип параметра Тип данных Описание

  • Команда STRG_VAL STRG_VAL

  • Параметр Тип параметра Тип данных Описание

  • Параметр FORMAT команды STRG_VAL Параметр FORMAT команды STRG_VAL определен ниже. Неиспользуемые битовые позиции должны быть установлены в ноль. Бит 16 Бит

  • FORMAT (W16) Формат представления Представление десятичной точки

  • Команда VAL_STRG VAL_STRG

  • Параметр FORMAT команды VAL_STRG Параметр FORMAT команды VAL_STRG определен ниже. Неиспользуемые битовые позиции должны быть заменены нулями. Бит 16 Бит

  • FORMAT (WORD) Символ для знака числа Формат представления Представление десятичной точки

  • Условия, сообщаемые параметром ENO

  • Состояние ENO Описание

  • Примеры преобразования строк в числовые значения с помощью S_CONV Строка IN Тип данных OUT Значение OUT ENO

  • Примеры преобразования числовых значений в строки с помощью S_CONV Тип данных Значение IN Строка OUT ENO

  • Примеры преобразования с помощью STRG_VAL Строка IN FORMAT (W16....) Тип данных OUT Значение OUT ENO

  • Руководство по программированию 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
    страница17 из 40
    1   ...   13   14   15   16   17   18   19   20   ...   40
    Коды условий: ENO = 1 означает, что ошибок не было. ENO = 0 означает, что произошла ошибка исполнения, и на выходе RET_VAL находится код условия.
    RET_VAL (W#16#....) Описание
    0000
    Нет ошибки
    8080
    Отсутствует местное время
    8081
    Недопустимое значение года
    8082
    Недопустимое значение месяца
    8083
    Недопустимое значение дня
    8084
    Недопустимое значение часа
    8085
    Недопустимое значение минуты
    8086
    Недопустимое значение секунды
    8087
    Недопустимое значение наносекунды
    80B0
    Часы реального времени вышли из строя
    6.2.3
    Операции над строками и символами
    6.2.3.1
    Обзор данных строки
    Тип данных String
    Данные типа String хранятся в виде 2-байтного заголовка, за которым следует до 254 байтов символов ASCII. Заголовок для данных типа String содержит два байта для длины. Первый байт содержит максимальную длину строки, которая указывается в квадратных скобках при инициализации строки, или устанавливается на 254 по умолчанию. Второй байт заголовка – это текущая длина, равная числу действительных символов в строке. Текущая длина не должна превышать максимальную длину. Число сохраняемых байтов, занимаемых форматом типа String на 2 байта больше, чем максимальная длина.

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200
    Системное руководство, 11/2009, A5E02669003-02 157
    Инициализация данных типа String
    Входные и выходные данные типа String должны быть инициализированы в памяти как действительные строки перед исполнением команд над строками.
    Действительные данные типа String
    Действительная строка имеет максимальную длину, которая должна быть больше нуля, но меньше 255. Текущая длина не должна превышать максимальной длины.
    Строки не должны назначаться областям памяти входов (I) или выходов (Q).
    Дальнейшую информацию вы найдете под заголовком "Формат типа данных STRING"
    (стр. 65)
    6.2.3.2
    Команды преобразования строки
    Преобразования строки в значения и значения в строку
    С помощью этих команд вы можете преобразовывать строки цифровых символов в числовые значения и числовые значения в строки цифровых символов:
    ● S_CONV преобразует строку цифровых символов в числовое значение или числовое значение в строку цифровых символов
    ● STRG_VAL преобразует строку цифровых символов в числовое значение с возможностями форматирования
    ● VAL_STRG преобразует числовое значение в строку цифровых символов с возможностями форматирования
    S_CONV (преобразование строки) преобразует строку символов в соответствующее число или число в соответствующую строку символов. Команда S_CONV не имеет возможностей форматирования выхода. Это делает команду S_CONV боле простой, но менее гибкой, чем команды STRG_VAL и VAL_STRG.
    Выберите типы данных параметров из ниспадающих списков.

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200 158
    Системное руководство, 11/2009, A5E02669003-02
    S_CONV (преобразование строки символов в числовое значение)
    Параметр Тип параметра
    Тип данных
    Описание
    IN IN
    String
    Вводимая строка символов
    OUT
    OUT
    String, SInt, Int, DInt, USInt, UInt,
    UDInt, Real
    Выводимое числовое значение
    Преобразование параметра строки символов IN начинается с первого символа и продолжается до конца строки или до тех пор, пока не встретится первый символ, отличный от "0"
    − "9", "+", "-", или ".". Результирующе значение передается по адресу, указанному в параметре OUT. Если выходное числовое значение не соответствует диапазону типа данных OUT, то параметр OUT устанавливается в 0, а ENO устанавливается в ЛОЖЬ. В противном случае параметр OUT содержит действительный результат, и ENO принимает значение ИСТИНА.
    Правила форматирования для ввода строки:
    ● Если в строке IN используется знак, разделяющий целую и дробную часть, то вы должны использовать символ ".".
    ● Символы "," используемые в качестве разделителей тысяч слева от десятичной точки, допускаются, но игнорируются.
    ● Ведущие пробелы игнорируются.
    ● Допускается представление чисел только с фиксированной точкой. Символы "e" и "E" не распознаются в качестве экспоненциального представления.

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200
    Системное руководство, 11/2009, A5E02669003-02 159
    S_CONV (преобразование числового значения в строку символов)
    Параметр Тип параметра
    Тип данных
    Описание
    IN
    IN
    String, SInt, Int, DInt, USInt, UInt,
    UDInt, Real
    Вводимое числовое значение
    OUT OUT
    String
    Выводимая строка символов
    Целое, целое без знака или число с плавающей точкой на входе IN преобразуется в соответствующую строку символов на выходе OUT. Параметр OUT должен ссылаться на действительную строку перед выполнением преобразования. Действительная строка содержит максимальную длину строки в первом байте, текущую длину строки во втором байте и символы текущей строки в следующих байтах. Преобразованная строка заменяет символы в строке OUT, начиная с первого символа, и согласует байт фактической длины строки со строкой OUT. Байт максимальной длины строки OUT не изменяется.
    Количество заменяемых символов зависит от типа данных параметра IN и числового значения. Число заменяемых символов должно подходить к длине строки параметра
    OUT. Максимальная длина (первый байт) строки OUT должна быть не меньше максимально ожидаемого числа преобразуемых символов.
    В следующей таблице показаны максимально возможные длины строк, необходимые для каждого из поддерживаемых типов данных.
    Тип
    данных IN
    Максимальное число
    преобразуемых символов в
    строке OUT
    Пример
    Общая длина строки, включая
    байты максимальной и текущей
    длины
    USInt 3 255 5
    SInt 4
    -128 6
    UInt 5 65535 7
    Int 6
    -32768 8
    UDInt 10 4294967295 12
    DInt 11
    -2147483648 13
    Правила форматирования для вывода строки:
    ● Значения, записываемые в параметр OUT, не используют ведущий знак "+".
    ● Используется представление чисел с фиксированной точкой (не экспоненциальное представление).
    ● Если параметр IN имеет тип данных Real, то для разделения целой и дробной части числа используется десятичная точка ".".

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200 160
    Системное руководство, 11/2009, A5E02669003-02
    Команда STRG_VAL
    STRG_VAL (строка в значение) преобразует строку цифровых символов в соответствующее целое число или число с плавающей точкой. Преобразование начинается во вводимой строке IN со смещения, указанного в параметре P, и продолжается до конца строки или до тех пор, пока не встретится первый символ, не являющийся "+", "-", ".", ",",
    "e", "E" или цифрой от "0" до "9". Результат помещается по адресу, указанному в параметре OUT.
    Параметр P также возвращается как величина смещения в исходной строке символов на том месте, где заканчивается преобразование. Перед исполнением команды данные строки должны быть инициализированы в памяти как действительная строка.
    Параметр Тип параметра Тип данных
    Описание
    IN IN
    String
    Строка символов ASCII, подлежащая преобразованию
    FORMAT IN
    Word
    Варианты для формата вывода
    P IN_OUT
    UInt
    IN:
    Указатель на первый символ, подлежащий преобразованию (первый символ = 1)
    OUT: Указатель на следующий символ после завершения преобразования
    OUT OUT
    SInt,
    Int, DInt, USInt,
    UInt, UDInt, Real
    Преобразованное числовое значение

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200
    Системное руководство, 11/2009, A5E02669003-02 161
    Параметр FORMAT команды STRG_VAL
    Параметр FORMAT команды STRG_VAL определен ниже. Неиспользуемые битовые позиции должны быть установлены в ноль.
    Бит
    16
    Бит
    8
    Бит
    7
    Бит
    0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 f r f = формат представления
    1= экспоненциальное представление
    0 = представление с фиксированной точкой r = формат десятичной точки 1 = "," (запятая)
    0 = "." (точка)
    FORMAT (W#16#)
    Формат представления
    Представление десятичной
    точки
    0000 (по умолчанию) "."
    0001
    Фиксированная точка ","
    0002 "."
    0003
    Экспоненциальное "," от 0004 до FFFF
    Недопустимые значения
    Правила преобразования для STRG_VAL:
    ● Если для разделения целой и дробной части числа используется символ ".", то запятые "," слева от десятичной точки интерпретируются как символы разделения тысяч. Запятые допускаются, но игнорируются.
    ● Если для разделения целой и дробной части числа используется символ "," то точки "." слева от запятой интерпретируются как символы разделения тысяч. Эти точки допускаются, но игнорируются.
    ● Ведущие пробелы игнорируются.

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200 162
    Системное руководство, 11/2009, A5E02669003-02
    Команда VAL_STRG
    VAL_STRG (значение в строку) преобразует целое, целое без знака или число с плавающей точкой в соответствующую строку символов. Значение, представленное параметром IN, преобразуется в строку, на которую ссылается параметр OUT. Перед выполнением преобразования параметр OUT должен быть действительной строкой.
    Конвертированная строка заменяет символы в строке OUT, начиная с указанного в параметре P смещения до числа символов, указанного в параметре SIZE. Число символов в SIZE должно укладываться в длину строки OUT, начиная с позиции P. Эта команда полезна для встраивания цифровых символов в текстовую строку. Например, вы можете поместить цифры "120" в строку "Давление насоса = 120 кг/кв.см".
    Параметр Тип
    параметра
    Тип данных
    Описание
    IN IN
    SInt,
    Int,
    DInt, USInt, UInt,
    UDInt, Real
    Значение, подлежащее преобразованию
    SIZE
    IN
    USInt
    Число символов, подлежащих записи в строку OUT
    PREC IN
    USInt
    Точность или размер дробной части. Он не включает десятичную точку.
    FORMAT IN
    Word
    Возможности форматирования выхода
    P IN_OUT
    UInt
    IN:
    Указатель на первый символ строки
    OUT, подлежащий замене (первый символ = 1)
    OUT: Указатель на следующий после замены символ строки OUT
    OUT OUT
    String
    Преобразованная строка
    Параметр PREC определяет точность или число символов для дробной части в строке символов. Если значение параметра IN – целое число, то PREC определяет положение десятичной точки. Например, если значение данных равно 123 и PREC = 1, то результатом будет "12.3". Максимальная поддерживаемая точность для типа данных REAL составляет 7 цифр.
    Если параметр P больше, чем текущий размер строки OUT, то до позиции P вставляются пробелы, а результат присоединяется к концу строки. Преобразование заканчивается, когда достигнута максимальная длина строки OUT.

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200
    Системное руководство, 11/2009, A5E02669003-02 163
    Параметр FORMAT команды VAL_STRG
    Параметр FORMAT команды VAL_STRG определен ниже. Неиспользуемые битовые позиции должны быть заменены нулями.
    Бит
    16
    Бит
    8
    Бит
    7
    Бит
    0
    0 0 0 0 0 0 0 0 0 0 0 0 0 s f r s = символ для знака числа 1= использовать знаки "+" и "-"
    0 = использовать только знак "-" f = представление формата
    1= экспоненциальное представление
    0 = представление с фиксированной точкой r = формат для разделителя целой и дробной части
    1 = "," (запятая)
    0 = "." (точка)
    FORMAT (WORD)
    Символ для знака
    числа
    Формат
    представления
    Представление
    десятичной точки
    W#16#0000 "."
    W#16#0001
    Фиксированная точка ","
    W#16#0002 "."
    W#16#0003
    Только "-"
    Экспоненциальное ","
    W#16#0004 "."
    W#16#0005
    Фиксированная точка ","
    W#16#0006 "."
    W#16#0007
    "+" и "-"
    Экспоненциальное "," от W#16#0008 до
    W#16#FFFF
    Недопустимые значения
    Правила форматирования для строки в параметре OUT:
    ● Если преобразованная строка короче указанного размера, то слева к ней добавляются ведущие пробелы.
    ● Если бит знака параметра FORMAT имеет значение ЛОЖЬ, то целые со знаком и без знака записываются в выходной буфер без ведущего знака "+". В случае необходимости используется знак "-".
    <ведущие пробелы><цифры без ведущих нулей>'.'<цифры PREC>
    ● Если бит знака имеет значение ИСТИНА, то целые со знаком и без знака всегда записываются в выходной буфер с ведущим знаком.
    <ведущие пробелы><знак><цифры без ведущих нулей>'.'<цифры PREC>
    ● Если в качестве параметра FORMAT устанавливается экспоненциальное представление, то числа, имеющие тип данных REAL, записываются в выходной буфер следующим образом:
    <ведущие пробелы><знак><цифра> '.' <цифры PREC>'E' ><знак><цифры без ведущего нуля>

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200 164
    Системное руководство, 11/2009, A5E02669003-02
    ● Если в качестве параметра FORMAT устанавливается представление с фиксированной точкой, то целые, целые без знака и вещественные значения записываются в выходной буфер следующим образом:
    <ведущие пробелы><знак><цифры без ведущих нулей>'.'<цифры PREC>
    ● Ведущие нули слева от десятичной точки (кроме цифры, стоящей непосредственно перед десятичной точкой) подавляются.
    ● Значения справа от десятичной точки округляются, чтобы уместиться в число цифр справа от десятичной точки, заданное параметром PREC.
    ● Размер выводимой строки должен, по крайней мере, на три байта превышать число цифр справа от десятичной точки.
    ● Значения в выводимой строке выравниваются вправо.
    Условия, сообщаемые параметром ENO
    Если при преобразовании возникает ошибка, то выводятся следующие результаты:
    ● ENO устанавливается в 0.
    ● OUT устанавливается в 0, или на значение, показанное в примерах на преобразование строк в значение.
    ● OUT остается неизменным или устанавливается на значение, показанное в примерах, когда OUT является строкой.
    Состояние
    ENO
    Описание
    1
    Нет ошибки
    0
    Недопустимый или недействительный параметр; например, обращение к несуществующему DB
    0
    Недопустимая строка с максимальной длиной 0 или 255 0
    Недопустимая строка, в которой текущая длина больше, чем максимальная
    0
    Преобразованное числовое значение слишком велико для указанного типа данных OUT
    0
    Максимальный размер строки для параметра OUT должен быть достаточно велик, чтобы принять число символов, указанное в параметре SIZE, начиная с позиции символа, указанной в параметре P
    0
    Недопустимое значение P, где P=0 или P больше, чем текущая длина строки
    0
    Параметр SIZE должен быть больше параметра PREC

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200
    Системное руководство, 11/2009, A5E02669003-02 165
    Примеры преобразования строк в числовые значения с помощью S_CONV
    Строка IN
    Тип данных OUT
    Значение OUT
    ENO
    "123" Int/DInt 123
    ИСТИНА
    "-00456" Int/DInt -456
    ИСТИНА
    "123.45" Int/DInt 123
    ИСТИНА
    "+2345" Int/DInt 2345
    ИСТИНА
    "00123AB" Int/DInt
    123
    ИСТИНА
    "123" Real 123.0
    ИСТИНА
    "123.45" Real
    123.45
    ИСТИНА
    "1.23e-4" Real
    1.23
    ИСТИНА
    "1.23E-4" Real
    1.23
    ИСТИНА
    "12,345.67" Real
    12345.67
    ИСТИНА
    "3.4e39" Real
    3.4
    ИСТИНА
    "-3.4e39" Real
    -3.4
    ИСТИНА
    "1.17549e-38" Real
    1.17549
    ИСТИНА
    "12345" SInt
    0
    ЛОЖЬ
    "A123" N/A
    0
    ЛОЖЬ
    "" N/A
    0
    ЛОЖЬ
    "++123" N/A
    0
    ЛОЖЬ
    "+-123" N/A
    0
    ЛОЖЬ
    Примеры преобразования числовых значений в строки с помощью S_CONV
    Тип данных
    Значение IN
    Строка OUT
    ENO
    UInt 123
    "123"
    ИСТИНА
    UInt 0
    "0"
    ИСТИНА
    UDInt 12345678
    "12345678" ИСТИНА
    Real -INF
    "INF"
    ЛОЖЬ
    Real +INF
    "INF"
    ЛОЖЬ
    Real NaN
    "NaN"
    ЛОЖЬ

    Руководство по программированию
    6.2 Расширенные команды
    Программируемый контроллер S7-1200 166
    Системное руководство, 11/2009, A5E02669003-02
    Примеры преобразования с помощью STRG_VAL
    Строка IN
    FORMAT
    (W#16#....)
    Тип данных OUT Значение
    OUT
    ENO
    "123" 0000
    Int/DInt
    123
    ИСТИНА
    "-00456" 0000
    Int/DInt
    -456 ИСТИНА
    "123.45" 0000
    Int/DInt
    123 ИСТИНА
    "+2345" 0000
    Int/DInt
    2345 ИСТИНА
    "00123AB" 0000 Int/DInt 123
    ИСТИНА
    "123" 0000
    Real
    123.0
    ИСТИНА
    "-00456" 0001
    Real -456.0 ИСТИНА
    "+00456" 0001
    Real 456.0 ИСТИНА
    "123.45" 0000
    Real 123.45
    ИСТИНА
    "123.45" 0001
    Real 12345.0
    ИСТИНА
    "123,45" 0000
    Real 12345.0
    ИСТИНА
    "123,45" 0001
    Real 123.45
    ИСТИНА
    ".00123AB" 0001 Real
    123.0
    ИСТИНА
    "1.23e-4" 0000
    Real 1.23 ИСТИНА
    "1.23E-4" 0000
    Real 1.23 ИСТИНА
    "1.23E-4" 0002
    Real 1.23E-4
    ИСТИНА
    "12,345.67" 0000 Real
    12345.67 ИСТИНА
    "12,345.67" 0001 Real
    12.345 ИСТИНА
    "3.4e39"
    0002
    Real
    +INF
    ИСТИНА
    "-3.4e39" 0002
    Real -INF ИСТИНА
    "1.1754943e-38"
    (и меньше)
    0002 Real
    0.0
    ИСТИНА
    "12345" N/A
    SInt 0
    ЛОЖЬ
    "A123" N/A
    N/A 0
    ЛОЖЬ
    "" N/A
    N/A
    0
    ЛОЖЬ
    "++123" N/A
    N/A 0
    ЛОЖЬ
    "+-123" N/A
    N/A 0
    ЛОЖЬ

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


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