Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемДиана Строева
1 Date: Filename:SCL_3e.1 SIMATIC S7 Siemens AG All rights reserved. Создание и вызов блоков
2 Date: Filename:SCL_3e.2 SIMATIC S7 Siemens AG All rights reserved. Cтруктура SCL- исходного файла FUNCTION_BLOCK FB10 END_FUNCTION_BLOCK Раздел описаний Раздел инструкций Атрибуты OB1 FC61 FC62 FB10 DB5
3 Date: Filename:SCL_3e.3 SIMATIC S7 Siemens AG All rights reserved. Начало и конец блоков (например функционального блока) Раздел описаний Begin (* Раздел инструкций *) FUNCTION_BLOCK FB10 END_FUNCTION_BLOCK Атрибуты Ключевые слова для начала и конца блоков
4 Date: Filename:SCL_3e.4 SIMATIC S7 Siemens AG All rights reserved. Атрибуты блока Раздел описаний Begin (* Раздел инструкций *) FUNCTION_BLOCK FB10 END_FUNCTION_BLOCK Атрибуты TITLE='Controller' VERSION:'2.1' KNOW_HOW_PROTECT AUTHOR:Training NAME:Mot FAMILY:ANALOG {S7_m_c:='true'; S7_blockview:='big'}
5 Date: Filename:SCL_3e.5 SIMATIC S7 Siemens AG All rights reserved. Раздел описаний CONST FIX_VALUE:=5; P_Part:=0.8; END_CONST VAR Value1,Value2,V33:INT; END_VAR VAR_INPUT IN1,IN2:BOOL; END_VAR VAR_OUTPUT Q01:BOOL; Display:INT; END_VAR Раздел описаний Begin (* Раздел инструкций *) FUNCTION_BLOCK FB10 END_FUNCTION_BLOCK Атрибуты
6 Date: Filename:SCL_3e.6 SIMATIC S7 Siemens AG All rights reserved. Раздел инструкций Раздел описаний Begin ( * Раздел инструкций *) FUNCTION_BLOCK FB10 END_FUNCTION_BLOCK Атрибуты BEGIN // Пример двоичных и арифм.операций A0.0 := E0.0 AND E0.1; MW20 := MW22 + MW24; // Пример присвоения Measured value:=0 ; // Пример управляющей инструкции IF E1.1 THEN N:=0; SUM:=0.0; ELSIF START = TRUE THEN N:=N+1; SUM:=SUM + IN; ELSE OK:=FALSE; END_IF; // Пример вызова подпрограммы FB10.DB2(Pa1:=10,Pa2:=MW2); Result:=DB2.MVal7;
7 Date: Filename:SCL_3e.7 SIMATIC S7 Siemens AG All rights reserved. Структура организационных блоков (OB) FUNCTION FC62 : BOOL VAR_INPUT IN1 : BOOL; IN2 : BOOL; END_VAR BEGIN FC2 := IN1 AND IN2; END_FUNCTION //******************************************** FUNCTION FC61 : VOID BEGIN Q0.0 := I0.0 AND I0.1; END_FUNCTION //******************************************** ORGANIZATION_BLOCK OB1 VAR_TEMP info : ARRAY[0..19] OF BYTE; END_VAR BEGIN FC61(); Q4.0 := FC62(IN1:=I4.0,IN2:=I4.1); Q4.1 := M10.4; END_ORGANIZATION_BLOCK Должно иметься объявление 20 байтов локальных данных! Далее локальные переменные могут объявляться Вызов FC61 - блока без параметров Вызов FC62, который имеет входные параметры и возвращаемое значение. Вместо OB1 может использоваться имя из таблицы символов. SCL - исходный файл Любые команды. Могут быть написаны в абсолютной или символьной форме.
8 Date: Filename:SCL_3e.8 SIMATIC S7 Siemens AG All rights reserved. Структура функций (FC и SFC) FUNCTION FC62 : BOOL VAR_INPUT IN1 : BOOL; IN2 : BOOL; END_VAR BEGIN FC62 := IN1 AND IN2; END_FUNCTION //******************************************** FUNCTION FC61 : VOID BEGIN Q0.0 := I0.0 AND I0.1; END_FUNCTION //******************************************** ORGANIZATION_BLOCK OB1 VAR_TEMP info : ARRAY[0..19] OF BYTE; END_VAR BEGIN FC61(); Q4.0 := FC62(IN1:=I4.0,IN2:=I4.1); Q4.1 := M10.4; END_ORGANIZATION_BLOCK SCL - исходный файл Блоки в CFC Блоки в FBD
9 Date: Filename:SCL_3e.9 SIMATIC S7 Siemens AG All rights reserved. Структура функций (FC и SFC) FUNCTION FC63 : REAL // FC63 описывает расстояние // между 2 точками и VAR_INPUT // градиент линии x1,x2: REAL; y1,y2: REAL; END_VAR VAR_OUTPUT GRADIENT: REAL; END_VAR BEGIN FC63 := SQRT((x2-x1)**2 + (y2-y1)**2); GRADIENT := (y2-y1)/(x2-x1); END_FUNCTION //************************************************************************ ORGANIZATION_BLOCK OB1 VAR_TEMP info : ARRAY[0..19] OF BYTE; inclination : REAL; distance: REAL; END_VAR BEGIN distance:=FC63(x1:=1,x2:=3,y1:=1,y2:=5,GRADIENT:=Inclination); QW0 := INT_TO_WORD(REAL_TO_INT(inclination)); QW4 := INT_TO_WORD(REAL_TO_INT(distance)); // Дальнейшие инструкции END_ORGANIZATION_BLOCK SCL - исходный файл y1 y2 x x x2x1 расстояние
10 Date: Filename:SCL_3e.10 SIMATIC S7 Siemens AG All rights reserved. Структура функций (FC и SFC) Соединение блоков в FBD
11 Date: Filename:SCL_3e.11 SIMATIC S7 Siemens AG All rights reserved. Структура функциональных блоков (FB и SFB) OB1 FC64 FB10 Экземпляр DB DB2 Вызов с входами и выходами Возвр. знач. Вызов с входами Входы: VAR_INPUT VAR_IN_OUT Возвращаемые значения: RET_VAL VAR_OUTPUT VAR_IN_OUT Входы: VAR_INPUT VAR_IN_OUT Возвращаемые значения: VAR_OUTPUT VAR_IN_OUT нет RET_VAL В OB и FC, существуют только временные (temp) переменные. В следующем цикле их предыдущие значения теряются. В FB имеются временные и статические (stat) переменные. Статические переменные сохраняются в экземпляре DB, что означает, что они доступны в течение следующего цикла. VAR VAR_INPUT VAR_IN_OUT VAR_OUTPUT xyz:= IN1; : OUT1:= uvw;
12 Date: Filename:SCL_3e.12 SIMATIC S7 Siemens AG All rights reserved. Структура функциональных блоков (FB и SFB) Абсолютный вызов FB10.DB2(x1:=5,x2:=delta,x3:=MW20); Motor.Mx7(x1:=5,x2:=delta,x3:=MW20); Символический вызов Подстановка параметра: FB снабжен только входом и in/ out параметрами. Параметры, которые не имеют подстановки сохраняют прошлое значение. (X3 в данном случае имеет тип WORD. Иначе MW20 нужно описать в Symbol Table) Нет параметра выхода, никакакого значения не возвращается. Экземпляр- DB result := DB2.speed; MW22:= Mx7.amp; Вызов с входным параметром Доступ к выходным параметрам Переменная вызывающего блока Экземпляр DB для FB Выходной параметр FB
13 Date: Filename:SCL_3e.13 SIMATIC S7 Siemens AG All rights reserved. Мультиэкземпляры, локальные экземпляры FUNCTION_BLOCK FB22 VAR_OUTPUT OUTPUT, VALUE : DINT; END_VAR BEGIN... END_FUNCTION_BLOCK FUNCTION_BLOCK FB11 VAR Test, Status : DINT; Regulator_1, Regulator_2 : FB22; END_VAR BEGIN... Regulator_2(); Test:= Regulator_2.OUTPUT; Regulator_1(); Status :=Regulator_1.OUTPUT;... END_FUNCTION_BLOCK ORGANIZATION_BLOCK OB1... BEGIN... FB11.DB33();... END_ORGANIZATION_BLOCK DB33 Test Status Regulator_1 OUTPUT VALUE OUTPUT VALUE Regulator_2 DB33 OB1FB11 FB22 Regulator_1 Regulator_2
14 Date: Filename:SCL_3e.14 SIMATIC S7 Siemens AG All rights reserved. Структура блока данных (DB) Data view Declaration view
15 Date: Filename:SCL_3e.15 SIMATIC S7 Siemens AG All rights reserved. Структура типа данных, определенного пользователем (UDT) TYPE UDT1 STRUCT Power : REAL; Speed : INT; Motor : STRUCT Ein0 : BYTE; // Байт 0 Codierer : WORD; // Код перекл. Zahlen : ARRAY[1..4] OF INT; Aus4 : BYTE := 16#2E; Zeichen: STRING[8]:= 'SIEMENS'; Anz : WORD := 16#123a; END_STRUCT; END_STRUCT END_TYPE SCL-исходный файл Объявление UDT
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.