《西门子S7-300高级编程培训教材,内部教材 5、STEP 7中的.ppt》由会员分享,可在线阅读,更多相关《西门子S7-300高级编程培训教材,内部教材 5、STEP 7中的.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Date:2023/1/14File:PRO2_05E.1SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and DrivesSTEP 7数据类型和变量数据类型和变量 Date:2023/1/14File:PRO2_05E.2SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives 数据类型描述了数据基本特性数据类型描述了数据基本特性l连续区域:例如连续区域:例如:实际
2、速度实际速度l“是是/非非”特性特性:例如例如:扰动扰动 数据类型建立:数据类型建立:l允许范围允许范围(INT:-32 768.+32 767,等等。等等。)l允许使用的指令允许使用的指令(算术指令算术指令:+,-等。等。)l存储器中位的表示方法抽象出的数据类型存储器中位的表示方法抽象出的数据类型变量可以保存并在以后继续处理数值变量可以保存并在以后继续处理数值 Actual_speed:REAL扰动:扰动:BOOLSet_speed:REAL使能:使能:BOOL变量及数据类型含义变量及数据类型含义Date:2023/1/14File:PRO2_05E.3SIMATIC S7Siemens A
3、G 2001.All rights reserved.SITRAIN Training for Automation and Drives 变量声明确定变量的如下特性:变量声明确定变量的如下特性:l符号名符号名l数据类型数据类型l有效范围有效范围 声明类型变量可以:声明类型变量可以:l在全局符号表中声明在全局符号表中声明(基本数据类型)基本数据类型)l在全局数据块的声明表中进行声明在全局数据块的声明表中进行声明 l(所有数据类型)所有数据类型)l在逻辑块的声明表中进行声明在逻辑块的声明表中进行声明(OB,FB和FC)变量特性及变量的声明变量特性及变量的声明Meas_point1:RealMea
4、s_point2:RealMeas_point3:RealMeas_point10:RealMeas_point:ARRAY1.10Date:2023/1/14File:PRO2_05E.4SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives STEP 7数据类型概述数据类型概述基本数据类型(最长32位)复杂数据类型(长度大于32位)用户自定义数据类型(长度大于32位)位(位(Bit)数据类型数据类型(BOOL,BYTE,WORD,DWORD,CHAR)算术数据类型算术数
5、据类型(INT,DINT,REAL)时间数据类型时间数据类型(S5TIME,TIME,DATE,TIME_OF_DAY)时间型时间型(DATE_AND_TIME)数组型数组型(ARRAY)结构型结构型(STRUCT)字符串型字符串型(STRING)UDT数据类型数据类型(用户自定义型)Date:2023/1/14File:PRO2_05E.5SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and DrivesSTEP 7中的基本数据类型中的基本数据类型长度(单位:位)长度(单位:位)BO
6、OLBYTEWORDDWORDCHARINTDINTREALS5TIMETIMEDATETIME-OF-DAY181632816323216321632关键字关键字 类型常数示例类型常数示例1或或0B#16#A9W#16#12AFDW#16#ADAC1EF5w12365539或或L#-11.2或或34.5E-12S5T#5s_200msT#2D_1H_3M_45S_12MSD#1999-06-14TOD#12:23:45.12Date:2023/1/14File:PRO2_05E.6SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Tr
7、aining for Automation and Drives复杂数据类型的重要性复杂数据类型的重要性Set_speed:REALActual_speed:REALEnable:BOOLDisturbance:BOOLMotor:STRUCTEND_STRUCT“更好地更好地”构造数据:构造数据:l适合于任务适合于任务l具有具有“适当的适当的”数据类型数据类型在块调用中在块调用中 数据传输的精简形式:数据传输的精简形式:l一个参数传送一个参数传送“多个多个”数据项数据项l使结构化编程成为可能使结构化编程成为可能l仅通过参数便实现仅通过参数便实现 块间块间“通信通信”l软件可重用性软件可重用性
8、5.CALL#Controller Motor:=Hall_1.M5 .A#Motor.Enable.inDriveUDT1out.stat Control.FB1in Motor UDT1out.Date:2023/1/14File:PRO2_05E.7SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and DrivesSTEP 7中的复杂数据类型中的复杂数据类型长度(位)长度(位)DATE_AND_TIME(日期和时间)STRING(字符串,最多254个字符)ARRAY(相同数据类型
9、一组元素的集合)STRUCT(结构,不同数据类型一组元素的集合)UDT(用户自定义类型用户自定义类型=由基本数据类型和/或复杂数据类型组成的“模板”)648*(字符数字符数+2)用户自己定义用户自己定义用户自己定义用户自己定义用户自己定义用户自己定义关键字关键字示例示例DT#99-06-14-12:14:55.0This is a stringSIEMENSMeas_vals:ARRAY1.20 INTMotor:STRUCTSpeed:INTCurrent:REALEND_STRUCTUDT 作为块作为块UDT 作为数组元素作为数组元素STRUCTDrive:ARRAY1.4Speed:IN
10、TUDT1Current:REALEND_STRUCTDate:2023/1/14File:PRO2_05E.8SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives STEP 7参数类型参数类型长度(位长度(位)TIMERCOUNTERBLOCK_FBBLOCK_FCBLOCK_DBBLOCK_SDBPointerANY1616164880关键字关键字示例示例Contact time:TIMER.SI#Contact_timeNoCompParts:COUNTER.LC#
11、No_Comp_PartsRecall:BLOCK_FB.UC#RecallMeasure:POINTER.L P#Measure.Measured Values:ANY.L P#Meas_Values.Date:2023/1/14File:PRO2_05E.9SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives变量建立的区域变量建立的区域数据块数据块DBxDByDBz.位(位(Bit)存储器存储器PIQPIII/O 区域(区域(P)本地数据本地数据堆栈堆栈“传统传统“P
12、LC区域区域Date:2023/1/14File:PRO2_05E.10SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives本地数据堆栈工作方式本地数据堆栈工作方式为组织块为组织块OB1分配分配L Stack 如:256个字节5OB1FB1FC5FC10.CALL FB1.12345.CALL FC10.CALL FC5.6LD for OB1LD for OB11LD for FB1LD for OB12LD for FB1LD for FC5循环开始LD for OB
13、13LD for FB1LD for OB14LD for OB15LD for FC10freefreefreefreefreefreeLD for OB16freeLD=本地数据Date:2023/1/14File:PRO2_05E.11SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives示例:暂存器的替换示例:暂存器的替换LAD中的分支中的分支来自本地数据堆栈的来自本地数据堆栈的帮助变量帮助变量STL表示表示分支位置分支位置Date:2023/1/14File:PR
14、O2_05E.12SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives数据块(数据块(DB)功能功能FC10功能功能FC20功能块功能块FB1OB1全局数据块全局数据块 DB20可以被所有块访问可以被所有块访问背景数据背景数据 DB5 FB1的背景的背景DBDate:2023/1/14File:PRO2_05E.13SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation a
15、nd Drives数据类型:数据类型:ARRAYARRAY(域):域):l数组是相同数据类型数组是相同数据类型元素的组合元素的组合 l数组的声明:数组的声明:一维数组:域名:ARRAY最小索引.最大索引 OF 数据类型;多维数组:域名:ARRAY最小索引1.最大索引1,最小索引2.最大索引2,.OF数据类型;索引:数据类型INT(-32768.32767)示例:示例:l数组变量的声明:数组变量的声明:一维:Meas_value:ARRAY1.10 OF REAL;多维:Position:ARRAY1.5,2.8,.OF INT;l数组变量的访问:数组变量的访问:L#Meas_value5 /装
16、载数组的第5个元素 /将Meas_value装载到ACCU1中去T#Result10,5Meas_value1:RealMeas_value2:RealMeas_value3:RealMeas_value10:RealMeas_value:ARRAY1.10.Date:2023/1/14File:PRO2_05E.14SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and DrivesARRAY的声明和初始化的声明和初始化DB5 Declaration viewDB5 Data view
17、Date:2023/1/14File:PRO2_05E.15SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives存储器中存储器中ARRAY变量的存储变量的存储Byte n1)lBYTE,CHAR数据类型数据类型 一维数组一维数组 多维数组多维数组lBOOL数据类型数据类型8 7 6 5 4 3 2 17 6 5 4 3 2 1 012 11 10 9Byte n+1Byte n1)Byte n+1Byte n+2Byte 1Byte 2Byte 3lWORD,DWORD,
18、.数据类型数据类型Byte n1)Byte n+1Byte n+2Byte 3.Word 2Byte n+2.l示例示例ARRAY1.2,1.3,1.2 OF BYTEByte n1)Byte n+1Byte n+2Byte 1.1.1Byte 1.1.2Byte 1.2.1.Byte 1.2.2Byte 1.3.1Byte 1.3.2Byte 2.1.1Byte 2.1.2Byte 2.2.1Byte 2.2.2Byte 2.3.1Byte 2.3.21)n=偶数偶数Word 1等Date:2023/1/14File:PRO2_05E.16SIMATIC S7Siemens AG 2001.
19、All rights reserved.SITRAIN Training for Automation and DrivesSTRUCT(结构):结构):l结构是不同数据类型结构是不同数据类型元素的组合元素的组合l结构的声明:结构的声明:结构名称:STRUCT元素1名称:数据类型;元素2名称:数据类型;.END_STRUCT 示例:示例:l结构变量的声明:结构变量的声明:访问结构变量:访问结构变量:MotorControl:STRUCTS#MotorControl.ONON:BOOL;L#MotorControl.ActualSpeed OFF:BOOL;T#MotorControl.SetS
20、peedSetSpeed:INT;.ActualSpeed:INT;END_STRUCT;数据类型:数据类型:STRUCTSet_Speed:REALActual_Speed:REALEnable:BOOLDisturbance:BOOLMotor:STRUCTEND_STRUCTDate:2023/1/14File:PRO2_05E.17SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives结构(结构(STRUCT)的声明)的声明示例:示例:数组数组 结构结构 数组的声明
21、数组的声明DB6 Declaration viewDB6 Data viewDate:2023/1/14File:PRO2_05E.18SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives存储器中存储器中STRUCT变量的存储变量的存储Byte n1)基本数据类型结构基本数据类型结构 复杂复杂数据类型结构数据类型结构 6 5 4 3 2 17 6 5 4 3 2 1 0Byte n+1Byte n+2Byte 1Byte 2Byte 3Byte n+8Byte n+9By
22、te 3Word 1Word 2.1)n=evenFiller byteFiller byteByte n+3Byte n+4Byte n+56 5 4 3 2 1Filler byteByte n+6Byte n+7.基本数据类型元素Word limit ARRAY类型元素 STRUCT类型元素Word limit.Word limitDate:2023/1/14File:PRO2_05E.19SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives用户自定义数据类型:用户
23、自定义数据类型:UDTUDT用户自定义数据类型:用户自定义数据类型:l在声明部分创建了在声明部分创建了一个数据模板一个数据模板供以后使用供以后使用l对程序文件夹的所有对程序文件夹的所有块来说,是全局有效的块来说,是全局有效的示例:示例:l新数据类型新数据类型(结构)的定义:结构)的定义:UDT1 STRUCTSetSpeed:REAL;.ActualSpeed:REAL;Enable:BOOL;Disturbance:BOOL;END_STRUCT;l变量的声明:变量的声明:Motor_1:UDT1;Motor_2:UDT1;l对变量的访问:对变量的访问:L#Motor_1.ActualSpe
24、edSet_Speed:REALActual_Speed:REALEnable:BOOLDisturbance:BOOLUDT1:STRUCTEND_STRUCTDate:2023/1/14File:PRO2_05E.20SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and DrivesUDT的使用的使用UDT5FC23Date:2023/1/14File:PRO2_05E.21SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN
25、Training for Automation and Drives数据类型:数据类型:DATE_AND_TIMEByte n1)Byte n+2Byte n+4Byte n+1Byte n+3Byte n+5年年(90.89)结构:结构:月月(01.12)日日(01.31)小时小时(00.23)分钟分钟(00.59)秒秒(00.59)Byte n+6Byte n+7毫秒毫秒(000.999)星期星期(1.7)l所有数值都以所有数值都以BCD码格式存储码格式存储l变量的预先设置:变量的预先设置:DT#年年-月月-日日-小时小时:分钟分钟:秒秒.毫秒毫秒示例:示例:DT#1998-03-21-1
26、7:23:00:00l通过通过IEC-Library功能处理功能处理1=星期日星期日2=星期一星期一3=星期二星期二4=星期三星期三5=星期四星期四6=星期五星期五7=星期六星期六1)n=偶数偶数Date:2023/1/14File:PRO2_05E.22SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives处理处理DT型变量的功能型变量的功能标准库标准库V3.x里的里的 IEC库库lFC1(AD_DT_TM):功能FC 1将一个时间段(TIME格式)加到一个时刻时间(DT
27、格式)上去,并返回新的时刻时间。lFC34(SB_DT_DT):功能FC 34将两个时刻时间(DT格式)相减,返回一个时间段(TIME格式)。lFC35(SB_DT_TM):功能FC 35从一个时刻时间(DT格式)上减去一个时间段(TIME格式),并返回新的时刻时间(DT格式)。lFC3(D_TOD_DT):功能FC 3将DATE和TIME_OF_DAY(TOD)日期格式组合起来,并将它们转换成DATE_AND_TIME(DT)这种日期格式。lFC6(DT_DATE):功能FC 6是从DATE_AND_TIME格式中提取日期。lFC7(DT_DAY):功能FC 7是从DATE_AND_TIME
28、格式中提取星期。.lFC8(DT_TOD):功能FC 8是从DATE_AND_TIME格式中提取TIME_OF_DAY。lDT#变量比较函数:变量比较函数:FC9(EQ_DT),FC12(GE_DT),FC14(GT_DT),FC18(LE_DT),FC23(LT_DT),FC28(NE_DT)Date:2023/1/14File:PRO2_05E.23SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives数据类型:数据类型:STRING STRING(字符串)型变量:字符
29、串)型变量:l数据类型数据类型STRING表示了一个最多有表示了一个最多有254字符的字符串字符的字符串l应用:处理消息文本应用:处理消息文本l声明方法:声明方法:字符串名称:STRING最大数目:I初始化的文本(这样声明的字符串变量最多可有maxNo个字符,maxNo:0.254)字符串名称:STRING:初始化的文本(这样声明的字符串变量最多可有254个字符)示例:示例:l变量的声明:变量的声明:Fault signal:STRINGMotor failure_4(变量Fault signal,并初始化为上面的文本内容)Warning:STRING50(“empty”变量Warning,最
30、多可以接受50个字符)l处理:处理:基本访问方式:L#Fault signal5(装在变量Fault signal中的第5个字符)通过IEC库里的FC进行处理Date:2023/1/14File:PRO2_05E.24SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives存储器中字符串(存储器中字符串(STRING)变量的存储变量的存储Byte n1)示例:示例:l声明并初始化声明并初始化Given name:STRING8:OTTOl存储存储STRING变量变量“Give
31、n name“Byte n+1Byte n+2最大长度=8当前长度=41st.char=OByte n+8.1)n=偶数偶数2nd.char=TByte n+3Byte n+4Byte n+5Byte n+6Byte n+73rd.char=T4th.char=O指定可存储字符的最大数目,即指定可存储字符的最大数目,即在声明中所指定的长度在声明中所指定的长度指定存储在指定存储在STRING变量里的变量里的当前字符个数当前字符个数B#16#00B#16#00B#16#00Byte n+9B#16#00m由由IEC库功能评估的有关可存储字符的最大数目库功能评估的有关可存储字符的最大数目 或当前长或
32、当前长度的信息。度的信息。.Date:2023/1/14File:PRO2_05E.25SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives处理处理STRING型变量的功能型变量的功能(挑选部分挑选部分)标准库标准库里的里的 IEC库库lFC2(CONCAT):功能FC2是将两个STRING变量组合成一个字符串。lFC4(DELETE):功能FC 4是在一个字符串中删除L个字符,直到字符P位置为止。lFC11(FINF):功能FC 11提供第一个字符串里的第二个字符串的位
33、置。lFC17(INSERT):功能FC 17是将参数IN2处的字符串插入到参数IN1处的字符串的字符Pth之后。lFC20(LEFT):功能FC 20提供一个字符串的第一个L个字符。lFC21(LEN):功能FC 21输出字符串当前长度(有效字符数)。lFC26(MID):功能FC 26提供字符串的中间部分。lFC31(REPLACE):功能FC 31是用第二个字符串(IN2)替换第一个字符串(IN1)的L个字符直到P字符位置为止(包括P字符)。lFC32(RIGHT):功能FC 32提供一个字符串的最后L个字符。lSTRING变量比较的相关功能:变量比较的相关功能:FC10(EQ_STRI
34、NG),FC13(GE_STRING),FC15(GT_STRING),FC19(LE_STRING),FC24(LT_STRING),FC29(NE_STRING)Date:2023/1/14File:PRO2_05E.26SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives示例示例5.1:复杂数据类型的使用:复杂数据类型的使用.UDT99 MotorDB51 Conv_area_MotorsHall_1Date:2023/1/14File:PRO2_05E.27SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives示例示例5.2:复杂数据类型的访问:复杂数据类型的访问Date:2023/1/14File:PRO2_05E.28SIMATIC S7Siemens AG 2001.All rights reserved.SITRAIN Training for Automation and Drives附加练习附加练习5.3:使用使用SFC 1(READ_CLK)读取实时时钟读取实时时钟SFC1ENRET_VALENO?.?CDT?.?