Datum: Datei:PRO2_15D.1 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Приложение: косвенный доступ к параметрам FC и FB Regler OB 1 Motor 1 FB1 Motor 2 FB1 Ventilinsel FB2 FB5 FC10... Meas_ValueARRAY[1..20] REAL SumREAL Mean_valueREAL LP##Meas_Value LAR1 LW [AR1,P#0.0] T#DB_Num OPNDB[DB_Num] LD [AR1,P#2.0] LAR1.
Datum: Datei:PRO2_15D.2 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Вызов функции с параметрами комплексного типа Пример: Передача массива (ARRAY) в функцию FC21 Назначение параметров сложного типа возможно только символически Network 1: Meas_Val объявлен как array в FC21 CALL FC 21 Meas_Val:="Temperature".sequence DB5 "Temperature"
Datum: Datei:PRO2_15D.3 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Передача параметров комплексных типов OB1 Function FC10 Выполнение программы CALL FC10 On:= Value.Field Off:= Q8.0 inOnARRAY[1..10] INT outOffBOOL... L #On[8]... = #Off... OB1 BLD1 = L20.0 L5 TLW21 LP#DBX0.0 TLD23 UCFC10 P#L21 P#Q8.0 BLD2 L-Stack (OB1) FieldARRAY[1..10] INT LB Комплексный фактич. парам. в: l L-стеке l Блоке данных DB-No: 5 межзонный указатель DB5: values установка "POINTER" в L-Stack
Datum: Datei:PRO2_15D.4 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Косвенный доступ к сложным типам данных AddressDeclarationNameTypeStart valueComment 0.0inMeas_ValARRAY[1..8] *4.0REAL 32.0outSumREAL 36.0outMean_ValREAL in_out 0.0tempDB_NumWORD Network 1: Определение номера DB и начального адреса LP## Meas_Val// Загрузите адрес POINTER в ACCU1, LAR1// и оттуда загрузите в AR1; LW [AR1,P#0.0]// Определите номер DB T#DB_Num// и загрузите его во временную переменную; OPNDB[DB_Num]// Oткрыть DB LD [AR1,P#2.0]// Определите указатель на область LAR1// и загрузите его в AR1; Network 2: Вычисление суммы L e+000 // 0 в ACCU1 (sum =0.0) L8 // Счетчик в ACCU1; Sum=0 в ACCU2 BEGN:TAK // сумма в ACCU1, счетчик в ACCU2 ENT// счетчик в ACCU3 L D[AR1,P#0.0] // элемент массива в ACCU1 +R // сумма в ACCU1, счетчик в ACCU2 +AR1P#4.0; // Увеличение AR1 на 4 байта TAK// Счетчик цикла в ACCU1, сумма в ACCU2 LOOPBEGN; // Уменьшить на 1 счетчик цикла и переход, если // необходимо T#Sum// Запись суммы в #Sum
Datum: Datei:PRO2_15D.5 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung BLD1 = L20.0 LW#16#1005 TLW21 L10 TLW23 L 0 TLW25 LP#I0.0 TLD27 LP#DBX0.0 TLD23 ACFC10 P#L21 P#Q8.0 BLD2 Передача параметра типа POINTER OB1 Function FC10 Выполнение программы CALL FC10 On:= P#I INT Off:= Q8.0 inOnANY outOffBOOL... L P##On... = #Off... OB1 L-Stack (OB1) LB Параметры типа "POINTER" и "ANY" 10H Тип данных: 05 Коэфф.повтор.: 10 Номер DB: 0 межзонный указательr: P#I Установка указателя "ANY" в L-стек
Datum: Datei:PRO2_15D.6 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Передача параметров параметрического типа OB1 Function FC10 Выполнение программы CALL FC10 On:= DB35 Off:= A8.0 inOnBLOCK_DB outOffBOOL... OPN #ON... = #Off... BLD1 = L20.0 ACFC10 P#4.3 P#A8.0 BLD2 Блоковые параметры: l TIMER, COUNTER l BLOCK_x OB1
Datum: Datei:PRO2_15D.7 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung inOn_1BOOL inOn_2BOOL outOffBOOl... CALL FC10 On_1:= I0.1 On_2:= DB5.DBX2.2 Off:= DB6.DBX2.6 BLD1 = L20.0 OPNDB5 ADBX2.2 =L20.1 ACFC10 P#I 0.1 P#L 20.1 P#L 20.2 AL20.2 OPNDB5 =DBX2.6 BLD2 Специальные возможности для элементарных фактических параметров в DB и константах OB1 Функция FC10 Выполнение программы... A #On_1 A #On_2 = #Off... OB1 L-Stack (OB1) DB5 LB DBB2 Элементарные фактические параметры в: l Константах l Блоках данных
Datum: Datei:PRO2_15D.8 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Упражнение A.1: Оценка параметров типа DATE_АND_TIME в FC FC51 EN ENO IN_DTSec QB1 3 MinQB12 OB1_DATE_TIME Hour QB8
Datum: Datei:PRO2_15D.9 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Вызов FB с параметрами сложных типов Пример: Передача массивов в функциональный блок FB17 Назначение сложных параметров возможно только символически Network 1: CALL FB 17, DB 30 Meas_1:="Temperature".Cylinder Sum_1:=MD20 Sum_2:=MD30 Meas_2:="Temperature".Shaft DB2 "Temperature"
Datum: Datei:PRO2_15D.10 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Косвенная адресация входных и выходных параметров AddressDeclarationNameTypeStart valueComment 0.0inMeas_1ARRAY[1..10] *4.0REAL 40.0outSum_1REAL e outSum_2REAL e in_outMeas_2ARRAY[1..15] *4.0in_outREAL 54.0statDB_NumINT0 Network 1: Определение стартового адреса Meas_1 LAR1P##Meas_1// Загрузите межзонный указатель на параметр без // смещения адреса (мульти экземпляр)в AR1 TAR2// Загрузить смещение адреса в ACCU1 +AR1// Добавить смещение адреса к AR1; // AR1 теперь указывает на параметр в экземпляре DB // экземпляр DB уже открыт Network 2: Доступ к Meas_1 L e+000 // 0 в ACCU1 (сумма =0.0) L10 // Счетчик в ACCU1; сумма =0 в ACCU2 BEGN:TAK // Сумма в ACCU1, счетчик в ACCU2 ENT// Счетчик в ACCU3 L D[AR1,P#0.0] // Компонент массива в ACCU1 +R // Сумма в ACCU1, счетчик в ACCU2 +AR1P#4.0; // Увеличение AR1 на 4 байта TAK// Счетчик цикла в ACCU1, сумма в ACCU2 LOOPBEGN; // Уменьшить счетчик цикла на 1 и переход, если это // необходимо T#Sum_1// Запись суммы в #Sum_1
Datum: Datei:PRO2_15D.11 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Косвенная адресация in_out - параметров AddressDeclarationNameTypeStart valueComment 0.0inMeas_1ARRAY[1..10] *4.0REAL 40.0outSum_1REAL e outSum_2REAL e in_outMeas_2ARRAY[1..15] *4.0in_outREAL 54.0statDB_NumINT0 Network 3: Определение начального адреса Meas_2 LAR1P##Meas_2// Загрузка межзонного указателя на POINTER TAR2// Загрузка смещения адреса в ACCU1, прибавление к AR1; +AR1// AR1-новый указатель на POINTER в экземпляр DB L W [AR1,P#0.0] // Загрузка номера DB из POINTER в ACCU1 T #DB_Num // Запись номера DB (или 0)в статическую переменную OPN DB [#DB_Num] // Открытие DB L D [AR1,P#2.0] // Загрузка межзонного указателя на параметр LAR1 // Загрузка указателя в AR1, AR1 указатель на параметр Network 4: Доступ к Meas_2 L e+000 // 0 в ACCU1 (сумма =0.0) L15 // Счетчик в ACCU1; сумма=0 в ACCU2 BEGN:TAK // Сумма в ACCU1, счетчик в ACCU2 ENT// Счетчик в ACCU3 L D[AR1,P#0.0] // Элемент массива в ACCU1 +R // Сумма в ACCU1, счетчик в ACCU2...//...
Datum: Datei:PRO2_15D.12 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Передача параметров Глубина вложения: l S7-300: max. 8 S7-400: max Передача зависит от блока, типа данных и вида параметра: ВызовFC ваз. FCFB ваз. FCFC ваз. FBFB ваз. FB Тип данныхEC PECPECPECP Input -> Input x--xx-x-xxxx Output -> Outputx--xx-x--xx- in/out -> Input x--x--x--x-- in/out -> Outputx--x--x--x-- in/out -> in/out x--x--x--x-- E:Элементарный тип данных C:Комплексный тип данных P:Параметрический тип (Timer, Counter, Block_x) FB FC OB
Datum: Datei:PRO2_15D.13 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Упражнение A.2: Оценка параметра типа DАTE_AND_TIME в FB FB63 EN ENO IN_DT Sec QB13 MinQB12 OB1_DATE_TIME Hour QB8 FB83 IN_DT 0.0inIN_DT DATE_AND_TIMEDT# :0:0.0 out in_out 8.0statDUMMYARRAY[1..100] *2.0statINT 208.0statFB63_DTFB63
Datum: Datei:PRO2_15D.14 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Упражнение A.3: Оценка In_Out параметров в FB FB64 EN ENO IO_DT Sec QB13 MinQB12 OB1_DATE_TIME Hour QB8 FB84 IN_DT 0.0inIN_DT DATE_AND_TIMEDT# :0:0.0 out in_out 8.0statDUMMYARRAY[1..100] *2.0statINT 208.0statFB64_DTFB64...
Datum: Datei:PRO2_15D.15 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Решение к упражнению A.1: Доступ к DT параметрам в FC
Datum: Datei:PRO2_15D.16 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Решение к упражнению A.2: Доступ к DT параметрам в FB
Datum: Datei:PRO2_15D.17 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Решение к упражнению A.3: Доступ к I/O параметрам в FB (Part 1)
Datum: Datei:PRO2_15D.18 SIMATIC S7 Siemens AG All rights reserved. Informations- und Trainings-Center Wissen für Automatisierung Решение к упражнению A.3: Доступ к I/O параметрам в FB (Part 2)