06_InstructionSet_r (1087186), страница 17
Текст из файла (страница 17)
Допустимые операнды для умножения целых чисел с представлением результата ввиде двойного целого числа и деления целых чисел с остаткомВходы/выходыТипыданныхОперандыIN1, IN2INTIW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LD, *AC,константаOUTDINTID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *ACПример: Умножение целых чисел с представлением результата в виде двойного целогочисла и деление целых чисел с остаткомNetwork 1LDI0.0MUL AC1, VD100DIVVW10, VD200Умножение целых чиселс представлениемрезультата в видедвойного целого числа400200*AC1=80000VW102VD100остат.Деление целыхчисел с остатком4000VW202/41=VW10Примечание: VD100 содержит VW100 и VW102, а VD200 содержит VW200 и VW202.14423частн.97VW200 VW202VD200Набор команд S7–200Глава 6Числовые функцииСинус, косинус и тангенсКоманды вычисления синуса (SIN), косинуса (COS) итангенса (TAN) вычисляют тригонометрическую функциюугловой величины IN и помещают результат в OUT.Входной угол задается в радианах.SIN (IN) = OUTCOS (IN) = OUTTAN (IN) = OUTДля преобразования угла из градусов в радианы:Используйте MUL_R (*R) для умножения угла в градусахна 1.745329E-2 (примерно на π/180).Натуральный логарифм и натуральнаяэкспонентаКоманда вычисления натурального логарифма находитнатуральный логарифм числа в IN и помещает результатв OUT.Команда вычисления натуральной экспонентывыполняет экспоненциальную операцию по возведениюе в степень, заданную значением в IN, и помещаетрезультат в OUT.LN (IN) = OUTEXP (IN)= OUTДля получения десятичного логарифма из натурального: Разделите натуральныйлогарифм на 2,302585 (примерно натуральный логарифм 10).Для возведения любого вещественного числа в степень, заданную другимвещественным числом, включая дробные: Объедините команду вычисления натуральнойэкспоненты с командой вычисления натурального логарифма.
Например, для возведенияX в степень Y введите следующую команду: EXP (Y * LN (X)).Квадратный кореньКоманда вычисления квадратного корня (SQRT) извлекает квадратный корень извещественного числа (IN) и дает результат в виде вещественного числа OUT.SQRT (IN)= OUTДля получения других корней:5 в кубе = 5^3 = EXP(3*LN(5)) = 125Кубический корень из 125 = 125^(1/3) = EXP((1/3)*LN(125))= 5Квадратный корень из 5 в кубе = 5^(3/2) = EXP(3/2*LN(5)) = 11.18034Биты специальной памяти и ENO для числовых операцийДля всех команд, описанных на этой странице, SM1.1 используется для указания наошибки переполнения и недопустимые значения. Если SM1.1 установлен, то состояниеSM1.0 и SM1.2 не имеет значения, первоначальные входные операнды не изменяются.Если SM1.1 не установлен, то арифметическая операция завершилась с допустимымрезультатом, а SM1.0 и SM1.2 содержат действительное состояние.Сбойные состояния,устанавливающие ENO = 0■ SM1.1 (переполнение)Биты специальной памяти, на которые действует команда■ SM1.0 (ноль)■ 0006 (косвенный адрес)■ SM1.2 (отрицательное число)■ SM1.1 (переполнение)Таблица 6–41.
Допустимые операнды числовых функцийВходы/выходы Типы данныхОперандыINREALID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *AC, константаOUTREALID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *ACВещественные числа (или числа с плавающей точкой) представляются в формате, описанном встандарте ANSI/IEEE 754-1985 (одинарная точность). За дополнительной информацией обратитесь кэтому стандарту.145Программируемый контроллер S7-200. Системное руководствоКоманды инкрементирования и декрементирования Marker 22Увеличение на 1IN + 1 = OUTOUT + 1 = OUTLAD и FBDSTLУменьшение на 1IN - 1 = OUTOUT - 1 = OUTLAD и FBDSTLКоманды инкрементирования и декрементированияприбавляют 1 к входу IN или вычитают из него 1 ипомещают результат в переменную OUT.Операции увеличения байта на 1 (INCB) и уменьшениябайта на 1 (DECB) являются беззнаковыми.Операции увеличения слова на 1 (INCW) и уменьшенияслова на 1 (DECW) учитывают знак.Операции увеличения двойного слова на 1 (INCD)увеличения и уменьшения двойного слова на 1 (DECD)учитывают знак.Сбойные состояния, устанавливающие ENO = 0 :■ SM1.1 (переполнение)■ 0006 (косвенный адрес)Биты специальной памяти, на которые действует команда:■ SM1.0 (ноль)■ SM1.1 (переполнение)■ SM1.2 (отрицательное число) для операций со словами идвойными словамиТаблица 6–42.
Допустимые операнды для команд инкрементирования и декрементированияВходы/выходыТипыданныхОперандыINBYTEINTDINTIB, QB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *AC, константаIW, 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, константаBYTEINTDINTIB, QB, VB, MB, SMB, SB, LB, AC, *VD, *AC, *LDIW, QW, VW, MW, SMW, SW, T, C, LW, AC,*VD, *LD, *ACID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *ACOUTПример: Команды инкрементирования и декрементированияNetwork 1LDI4.0INCWAC0DECDVD100Увеличение слова на 1125AC0AC0Уменьшение двойного слована 1146128000VD100126+1=-1=127999VD100Набор команд S7–200Глава 6Пропорционально-интегрально-дифференциальный (PID)регуляторКоманда "PID-регулятор" выполняет расчет контура PIDрегулятора для заданного контура регулирования LOOPс помощью данных о входных величинах иконфигурации в таблице (TBL).Сбойные состояния, устанавливающие ENO = 0 :■ SM1.1 (переполнение)■ 0006 (косвенный адрес)Биты специальной памяти, на которые действует команда:■ SM1.1 (переполнение)Команда PID-регулятор (пропорционально-интегральнодифференциальный регулятор) предназначена длярасчета PID-регуляторов.
Чтобы эти расчеты можнобыло выполнять, вершина логического стека (TOS)должна быть активизирована (поток сигнала). Командаимеет два операнда: TABLE, являющийся начальнымадресом таблицы с данными контура регулирования, иLOOP – номер контура регулирования, являющийсяконстантой от 0 до 7.В программе можно использовать до восьми команд PID.
Если две или более команд PIDиспользуются с одним и тем же номером контура регулирования (даже если у них разныеномера таблиц), то расчеты PID-регуляторов будут влиять друг на друга, и выход будетнепредсказуемым.Таблица контура регулирования хранит девять параметров, используемых для управленияи контроля за работой контура регулирования. Сюда входят текущее и предыдущеезначение регулируемой переменной (фактическое значение), заданное значение,регулирующее воздействие (выход), коэффициент усиления, период квантования,постоянная времени интегрирования (или время интегрирования), постоянная временивоздействия по производной (скорость) и интегральная сумма (смещение).Для выполнения расчета PID-регулятора с желаемым временем квантования команда PIDрегулятор должна выполняться или из программы обработки прерывания по времени, илииз главной программы со скоростью, управляемой таймером.
Время квантования должноподаваться как вход в команду PID-регулятор через таблицу контура регулирования.В команду PID-регулятор встроена возможность автоматической настройки. В главе 15 вынайдете подробное описание автонастройки. Панель управления настройкой PID работаеттолько с PID-регуляторами, созданными с помощью мастера PID.Таблица 6–43.
Допустимые операнды для PID-регулятораМастеркомандВходы/выходыТипы данныхОперандыTBLBYTEVBLOOPBYTEконстанта (от 0 до 7)STEP 7–Micro/WIN предоставляет в распоряжение мастер PID для руководства вами приопределении PID-алгоритма для процесса с замкнутым контуром управления.
Выберитекоманду меню Tools → Instruction Wizard [Инструментальные средства → Мастеркоманд], а затем выберите PID из окна Instruction Wizard [Мастер команд].СоветЗаданное значение нижней границы и заданное значение верхней границы должнысоответствовать верхней и нижней границе регулируемой переменной.147Программируемый контроллер S7-200. Системное руководствоPID-алгоритмВ установившемся режиме PID-регулятор управляет своим выходом (регулирующимвоздействием) таким образом, чтобы свести ошибку регулирования (e) к нулю.
Меройошибки является разность между заданным значением (setpoint, SP) и значениемрегулируемой переменной (process variable, PV) (фактическое значение). Принцип PIDрегулятора основан на следующем уравнении, которое выражает регулирующеевоздействие M(t) как функцию пропорциональной составляющей, интегральнойсоставляющей и дифференциальной составляющей:Выход(регулирующеевоздействие)=Пропорциональнаясоставляющая+Интегральнаясоставляющая+Дифференциальнаясоставляющая+KC * de/dttM(t)=KC * e+KCe dt+ Mнач0где:M(t)KCeMнач- регулирующее воздействие (выход регулятора) как функция времени- коэффициент усиления контура регулирования- ошибка регулирования (разность между заданным значением и регулируемойпеременной)- начальное значение регулирующего воздействияЧтобы реализовать эту функцию управления в цифровой вычислительной машине, должнобыть выполнено квантование непрерывной функции в соответствии с периодическимизамерами значения ошибки с последующим расчетом регулирующего воздействия.Соответствующее уравнение, являющееся основой для решения на цифровойвычислительной машине, имеет вид:nKI * Σ1 ex + MначMn=Kc * en+Выход(регулирующеевоздействие)=Пропорциональнаясоставляющая+где:- расчетное значение регулирующего воздействия в момент квантования n- коэффициент усиления контура регулирования- значение ошибки регулирования в момент квантования n- предыдущее значение ошибки регулирования (в момент квантования n - 1)- коэффициент пропорциональности интегральной составляющей- начальное значение регулирующего воздействия- коэффициент пропорциональности дифференциальной составляющейMnKCenen - 1KIMначKDИнтегральнаясоставляющая+KD * (en-en-1)+ДифференциальнаясоставляющаяИз этого уравнения следует, что интегральная составляющая является функцией всехсоставляющих ошибки от первого до текущего отсчета.