Siemens — Команды преобразования

Программируемый контроллер S7-200. Системное руководство На рис. 6–15 описан операнд формата для команды преобразования целого числа в строку символов ASCII. Размер выходного буфера всегда равен 8 байтам. Количество цифр справа от десятичной точки в выходном буфере определяется полем nnn . Допустимый диапазон поля nnn составляет от 0 до 5. Задание 0 цифр справа от десятичной точки приводит к тому, что число отображается без десятичной точки. Для значений nnn , больших 5, выходной буфер заполняется пробелами ASCII. Бит c определяет использование запятой (с=1) или десятичной точки (с=0) в качестве разделителя целой и дробной части. Старшие 4 бита формата должны быть нулями. На рис.

6–15 показаны примеры чисел, форматированных с помощью десятичной точки (c = 0), с тремя цифрами справа от десятичной точки (nnn=011). Выходной буфер форматируется в соответствии со следующими правилами: - Положительные числа записываются в выходной буфер без знака. - Отрицательные числа записываются в выходной буфер с ведущим знаком минус (-). - Нули в старших разрядах слева от десятичной точки (кроме цифры, смежной с десятичной точкой) подавляются. - Числа в выходном буфере выравниваются вправо. FMT MSB LSB 2 1 0 6 7 5 4 3 in=12 c = запятая (1) или десятичная точка (0) nnn = цифры справа от десятичной точки in = -12345 in=1234 in=-123 Рис. 6–15.

Операнд FMT для команды преобразования целого в строку символов ASCII (ITA) Принцип действия команды преобразования двойного целого в строку символов ASCII Размер выходного буфера всегда равен 12 байтам. На рис. 6–16 описан операнд формата для команды преобразования двойного целого в строку символов ASCII. Количество цифр справа от десятичной точки в выходном буфере определяется полем nnn . Допустимый диапазон поля nnn составляет от 0 до 5. Задание 0 цифр справа от десятичной точки приводит к тому, что число отображается без десятичной точки. Для значений nnn , больших 5, выходной буфер заполняется символами пробела ASCII.

Бит c определяет использование запятой (с=1) или десятичной точки (с=0) в качестве разделителя целой и дробной части. Старшие 4 бита формата должны быть нулями. На рис. 6–16 показаны примеры чисел, форматированных с помощью десятичной точки (c = 0), с четырьмя цифрами справа от десятичной точки (nnn=100). Выходной буфер форматируется в соответствии со следующими правилами: - Положительные числа записываются в выходной буфер без знака. - Отрицательные числа записываются в выходной буфер с ведущим знаком минус (-). - Нули в старших разрядах слева от десятичной точки (кроме цифры, смежной с десятичной точкой) подавляются. - Числа в выходном буфере выравниваются вправо.

106 Out Out +1 Out +2 Out +3 Out +4 Out +5 Out +6 Out +7 0 . 0 1 2 - 0 . 1 2 3 1 . 2 3 4 - 1 2 . 3 4 5 0 0 0 0 c n n n Команда преобразования двойного целого в строку символов ASCII (DTA) преобразует двойное слово IN в массив символов ASCII. Операнд формат FMT определяет точность преобразования справа от десятичной точки. Результат преобразования помещается в 12 последовательных байтов, начиная с адреса OUT. Сбойные состояния, устанавливающие ENO = 0 ■ 0006 (косвенный адрес) ■ Недопустимый формат ■ nnn > 5