06_InstructionSet_r (1087186), страница 8
Текст из файла (страница 8)
Вы можете также осуществлятьпреобразования между целым двоично-десятичным(BCD) форматом.Округление и округление отбрасываниемКоманда округления (ROUND) преобразуетвещественное число IN в двойное целое число ипомещает округленный результат в переменную,указанную в OUT.Команда округления отбрасыванием дробной части(TRUNC) преобразует вещественное число IN вдвойное целое число и помещает целую частьрезультата в переменную, указанную в OUT.Генерирование комбинации двоичныхразрядов для семисегментного индикатораКоманда генерирования комбинации двоичныхразрядов для семисегментного индикатора (SEG) даетвозможность создать битовую комбинацию, с помощьюкоторой высвечиваются сегменты семисегментногоиндикатора.Таблица 6–17.
Допустимые операнды для стандартных команд преобразованияВходы/выходыТип данныхОперандыINBYTEWORD, INTDINTREALIB, QB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *AC, константаIW, QW, VW, MW, SMW, SW, T, C, LW, AIW, AC, *VD, *LD, *AC,константаID, QD, VD, MD, SMD, SD, LD, HC, AC, *VD, *LD, *AC, константаID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *AC, константаBYTEWORD, INTDINT, REALIB, QB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *ACIW, QW, VW, MW, SMW, SW, T, C, LW, AC, *VD, *LD, *ACID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *ACOUT101Программируемый контроллер S7-200.
Системное руководствоПринцип действия команды преобразования BCD в целое и целого в BCDКоманда преобразования BCD в целое число (BCDI)преобразует входное число, представленное в двоичнодесятичном формате, IN в целое число и загружаетрезультат в переменную, указанную в OUT. Допустимыйдиапазон для IN: от 0 до 9999 (BCD).Сбойные состояния,устанавливающие ENO = 0■ SM1.6 (недопустимое значениеBCD)Команда преобразования целого числа в BCD (IBCD)преобразует входное целое число IN в двоичнодесятичный формат и загружает результат впеременную, указанную в OUT. Допустимый диапазондля IN: от 0 до 9999 (целое).Биты специальной памяти (SM),на которые оказываетсявоздействие:■ SM1.6 (недопустимое значениеBCD)■ 0006 (косвенный адрес)Принцип действия команды преобразования двойного целого ввещественноеКоманда преобразования двойного целого числа ввещественное (DTR) преобразует 32–битовое целое сознаком IN в 32–битовое вещественное число ипомещает результат в переменную, указанную в OUT.Сбойные состояния,устанавливающие ENO = 0■ 0006 (косвенный адрес)Принцип действия команды преобразования двойного целого числа в целоеКоманда преобразования двойного целого числа вцелое (DTI) преобразует двойное целое число IN вцелое число и помещает результат в переменную,указанную в OUT.Сбойные состояния,устанавливающие ENO = 0■ SM1.1 (переполнение)Если преобразованное вами значение слишком велико,чтобы быть представленным на выходе, тоустанавливается бит переполнения, а выход неизменяется.Биты специальной памяти, накоторые действует команда:■ SM1.1 (переполнение)■ 0006 (косвенный адрес)Принцип действия команды преобразования целого числа в двойное целоеКоманда преобразования целого числа в двойное целое Сбойные состояния,устанавливающие ENO = 0(ITD) преобразует целое число IN в двойное целоечисло и помещает результат в переменную, указанную в ■ 0006 (косвенный адрес)OUT.
Знак распространяется.Принцип действия команды преобразования байта в целое числоКоманда преобразования байта в целое число (BTI)преобразует байт IN в целое число и помещаетрезультат в переменную, указанную в OUT. Байт неимеет знака, поэтому распространение знака непроисходит.Сбойные состояния,устанавливающие ENO = 0■ 0006 (косвенный адрес)Принцип действия команды преобразования целого числа в байтКоманда преобразования целого числа в байт (ITB)преобразует слово IN в байт и помещает результат впеременную, указанную в OUT.
Преобразуютсязначения от 0 до 255. Все остальные значенияприводят к переполнению и не влияют на выход.Сбойные состояния,устанавливающие ENO = 0■ SM1.1 (переполнение)■ 0006 (косвенный адрес)Биты специальной памяти, накоторые действует команда:■ SM1.1 (переполнение)СоветДля преобразования целого числа в вещественное используйте команду преобразованияцелого числа в двойное целое, а затем команду преобразования двойного целого числа ввещественное.102Набор команд S7–200Глава 6Принцип действия команд округления и округления отбрасываниемКоманда округления (ROUND) преобразуетвещественное число IN в двойное целое число ипомещает результат в переменную, указанную в OUT.Если дробная часть равна 0,5 или больше, то числоокругляется в большую сторону.Команда округления отбрасыванием (TRUNC)преобразует вещественное число IN в двойное целое ипомещает результат в переменную, указанную в OUT.Преобразуется только целая часть вещественногочисла, а дробная часть отбрасывается.Сбойные состояния,устанавливающие ENO = 0■ SM1.1 (переполнение)■ 0006 (косвенный адрес)Биты специальной памяти, накоторые действует команда:■ SM1.1 (переполнение)Если преобразуемое вами значение не является допустимым вещественным числом илислишком велико, чтобы быть представленным на выходе, то устанавливается битпереполнения, а выход не меняется.Пример: Стандартные команды преобразованияNetwork 1 //Преобразовать дюймы в сантиметры://1.
Загрузить значение счетчика (дюймы) в//аккумулятор 1.//2. Преобразовать это значение в//вещественное число.//3. Умножить на 2,54 (преобразовать в//сантиметры).//4. Преобразовать значение обратно в целое//число.LDI0.0ITDC10, AC1DTRAC1, VD0MOVRVD0, VD8*RVD4, VD8ROUND VD8, VD12Network 2//Преобразовать BCD в целое числоLDI0.3BCDIAC0Преобразование двойного целого в вещественное и округлениеC10VD0101Значение счетчика = 101 дюйм101.0VD42.54VD8256.54VD12257BCD в целоеAC0Значение счетчика (как вещественное число)Константа 2,54 (дюймы в сантиметры)1234BCDIAC004D2256,54 сантиметра как вещественное число257 сантиметров как двойное целое103Программируемый контроллер S7-200.
Системное руководствоПринцип действия команды генерирования комбинации двоичных разрядовдля семисегментного индикатораДля высвечивания сегментов семисегментного индикатора команда генерированиякомбинации двоичных разрядов для семисегментного индикатора (SEG) преобразуетсимвол (байт), указанный в IN, чтобы сгенерировать битовую комбинацию (байт) по адресу,указанному в OUT.Высвечиваемые сегменты представляют собой символ в Сбойные состояния,младшей цифре входного байта. На рис.
6–14 показано устанавливающие ENO = 0■ 0006 (косвенный адрес)кодирование семисегментного дисплея, используемоекомандой SEG.(IN)LSD0Отображениесегментов(IN)LSD(OUT)-g f e dcba0011(OUT)-g f e dcbaОтображениесегментов0111811111111a901100111gA01110111100000110201011011301001111401100110501101101D01011110601111101E01111001700000111F01110001febcdB01111100C00111001Рис. 6–14.
Кодирование семисегментного индикатораПример: Команда генерирования комбинации двоичных разрядов для семисегментногоиндикатораNetwork 1LDI1.0SEGVB48, AC110405SEGVB486DAC1(символ на индикаторе)Набор команд S7–200Глава 6Команды преобразования ASCIIДопустимые символы ASCII представляются шестнадцатеричными числами от 30 до 39 иот 41 до 46.Преобразования между ASCII ишестнадцатеричными числамиКоманда преобразования строки символов ASCII в 16ричное число (ATH) преобразует строку символов ASCIIдлиной LEN, начинающуюся с адреса IN, вшестнадцатеричные цифры, начиная с адреса OUT.Команда преобразования 16-ричного числа в строкусимволов ASCII (HTA) преобразует шестнадцатеричныецифры, начинающиеся с входного байта IN, в строкусимволов ASCII, которая начинается по адресу OUT.Количество шестнадцатеричных цифр, подлежащихпреобразованию, задается длиной LEN.Максимальное количество шестнадцатеричных цифр,которое может быть преобразовано, равно 255.Допустимыми входными символами ASCII являютсяалфавитно-цифровые символы от 0 до 9 сшестнадцатеричными значениями от 30 до 39 ибольшие буквы от A до F с шестнадцатеричнымизначениями от 41 до 46.Сбойные состояния, устанавливающие ENO = 0■ SM1.7 (недопустимый код ASCII) только для ASCII в 16ричный код■ 0006 (косвенный адрес)■ 0091 (операнд вышел за пределы допустимого диапазона)Биты специальной памяти, на которые действует команда:■ SM1.7 (недопустимый код ASCII)Преобразование числовых значений в ASCIIКоманды преобразования целого числа в строкусимволов ASCII (ITA), преобразования двойного целогов строку символов ASCII (DTA) и преобразованиявещественного число в строку символов ASCII (RTA)преобразуют целое, двойное целое или вещественноечисло в символы ASCII.Таблица 6–18.
Допустимые операнды для команд преобразования ASCIIВходы/выходыТип данныхОперандыINBYTEINTDINTREALIB, QB, VB, MB, SMB, SB, LB, *VD, *LD, *ACIW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LD, *AC,константаID, QD, VD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC, константаID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *AC, константаLEN, FMTBYTEIB, QB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *AC, константаOUTBYTEIB, QB, VB, MB, SMB, SB, LB, *VD, *LD, *ACПринцип действия команды преобразования целого числа в строкусимволов ASCIIКоманда преобразования целого числа в строкусимволов ASCII (ITA) преобразует целое число,содержащееся в слове IN, в массив символов ASCII.Операнд FMT (формат) определяет точностьпреобразования справа от десятичной точки, а такжеформу представления разделителя целой и дробнойчасти – в виде запятой или точки.