西门子S7300高级编程培训教材内部教材STE7中数据类型和变量_第1页
西门子S7300高级编程培训教材内部教材STE7中数据类型和变量_第2页
西门子S7300高级编程培训教材内部教材STE7中数据类型和变量_第3页
西门子S7300高级编程培训教材内部教材STE7中数据类型和变量_第4页
西门子S7300高级编程培训教材内部教材STE7中数据类型和变量_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、STEP 7数据类型和变量 数据类型描述了数据基本特性连续区域:例如:实际速度“是/非” 特性:例如:扰动 数据类型建立: 允许范围 (INT:-32 768 . +32 767,等等。)允许使用的指令(算术指令: +,- 等。)存储器中位的表示方法抽象出的数据类型变量可以保存并在以后继续处理数值 Actual_speed: REAL扰动: BOOLSet_speed: REAL使能: BOOL变量及数据类型含义变量声明确定变量的如下特性:符号名数据类型有效范围 声明类型变量可以: 在全局符号表中声明(基本数据类型)在全局数据块的声明表中进行声明 (所有数据类型)在逻辑块的声明表中进行声明(O

2、B,FB和FC) 变量特性及变量的声明Meas_point1:RealMeas_point2:RealMeas_point3:RealMeas_point10: RealMeas_point: ARRAY1.10 STEP 7数据类型概述基本数据类型(最长32位)复杂数据类型(长度大于32位)用户自定义数据类型(长度大于32位) 位(Bit)数据类型(BOOL, BYTE, WORD, DWORD, CHAR) 算术数据类型(INT, DINT, REAL) 时间数据类型(S5TIME, TIME, DATE, TIME_OF_DAY)时间型 (DATE_AND_TIME)数组型 (ARRAY

3、)结构型 (STRUCT)字符串型(STRING)UDT数据类型 (用户自定义型)STEP 7中的基本数据类型长度(单位:位)BOOLBYTEWORDDWORDCHARINTDINTREALS5TIMETIMEDATETIME-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.12复杂数据类型的重要性Set_speed:REALActual_s

4、peed:REALEnable: BOOLDisturbance: BOOLMotor: STRUCTEND_STRUCT“更好地”构造数据:适合于任务具有“适当的”数据类型在块调用中 数据传输的精简形式: 一个参数传送“多个”数据项使结构化编程成为可能仅通过参数便实现 块间“通信”软件可重用性5.CALL #Controller Motor:=Hall_1.M5 . . . .A #Motor.Enable .inDriveUDT1out.statControl.FB1in Motor UDT1out .STEP 7中的复杂数据类型长度(位)DATE_AND_TIME(日期和时间)STRIN

5、G(字符串,最多254个字符)ARRAY(相同数据类型一组元素的集合)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: INTUDT

6、1Current: REALEND_STRUCT STEP 7参数类型长度(位)TIMERCOUNTERBLOCK_FBBLOCK_FCBLOCK_DBBLOCK_SDBPointerANY1616164880关键字示例Contact time: TIMER.SI #Contact_timeNoCompParts: COUNTER.LC #No_Comp_PartsRecall: BLOCK_FB.UC #RecallMeasure: POINTER.L P#Measure.Measured Values: ANY.L P#Meas_Values.变量建立的区域数据块DBxDByDBz.位(B

7、it)存储器PIQPIII/O 区域(P)本地数据堆栈“传统“ PLC区域本地数据堆栈工作方式为组织块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 OB13LD for FB1LD for OB14LD for OB15LD for FC10freefreefreefreefreefreeLD for OB16freeLD= 本地数据示例:暂存器的替换LA

8、D中的分支来自本地数据堆栈的帮助变量STL表示分支位置数据块(DB)功能FC10功能FC20功能块FB1OB1全局数据块 DB20可以被所有块访问背景数据 DB5 FB1的背景DB数据类型:ARRAYARRAY(域): 数组是相同数据类型元素的组合 数组的声明:一维数组:域名:ARRAY最小索引.最大索引 OF 数据类型;多维数组: 域名: ARRAY最小索引1.最大索引1,最小索引2.最大索引2,. OF数据类型;索引:数据类型INT(-32768.32767)示例:数组变量的声明:一维:Meas_value: ARRAY1.10 OF REAL;多维:Position: ARRAY1.5,

9、2.8,. OF INT;数组变量的访问:L #Meas_value5 / 装载数组的第5个元素 / 将Meas_value装载到ACCU1中去T #Result10,5Meas_value1:RealMeas_value2:RealMeas_value3:RealMeas_value10:RealMeas_value: ARRAY1.10.ARRAY的声明和初始化DB5 Declaration viewDB5 Data view存储器中ARRAY变量的存储Byte n1)BYTE, CHAR数据类型 一维数组 多维数组BOOL数据类型876543217 6 5 4 3 2 1 0121110

10、9Byte n+1Byte n1)Byte n+1Byte n+2Byte 1Byte 2Byte 3WORD, DWORD,.数据类型Byte n1)Byte n+1Byte n+2Byte 3.Word 2Byte n+2.示例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

11、等STRUCT(结构): 结构是不同数据类型元素的组合结构的声明: 结构名称:STRUCT元素1名称: 数据类型;元素2名称: 数据类型;.END_STRUCT 示例:结构变量的声明: 访问结构变量:MotorControl: STRUCTS #MotorControl.ONON: BOOL;L #MotorControl.ActualSpeed OFF: BOOL;T #MotorControl.SetSpeedSetSpeed: INT;.ActualSpeed: INT;END_STRUCT;数据类型:STRUCTSet_Speed:REALActual_Speed:REALEnable

12、: BOOLDisturbance: BOOLMotor: STRUCTEND_STRUCT结构(STRUCT)的声明示例: 数组 结构 数组的声明DB6 Declaration viewDB6 Data view存储器中STRUCT变量的存储Byte n1) 基本数据类型结构 复杂数据类型结构 6543217 6 5 4 3 2 1 0Byte n+1Byte n+2Byte 1Byte 2Byte 3Byte n+8Byte n+9Byte 3Word 1Word 2.1) n = evenFiller byteFiller byteByte n+3Byte n+4Byte n+56543

13、21Filler byteByte n+6Byte n+7.基本数据类型元素Word limit ARRAY类型元素 STRUCT类型元素Word limit.Word limit用户自定义数据类型:UDTUDT用户自定义数据类型:在声明部分创建了一个数据模板供以后使用对程序文件夹的所有块来说,是全局有效的示例:新数据类型(结构)的定义:UDT1 STRUCTSetSpeed: REAL;.ActualSpeed: REAL; Enable: BOOL;Disturbance: BOOL;END_STRUCT;变量的声明:Motor_1:UDT1;Motor_2:UDT1;对变量的访问:L #

14、Motor_1.ActualSpeedSet_Speed:REALActual_Speed:REALEnable: BOOLDisturbance: BOOLUDT1: STRUCTEND_STRUCTUDT的使用UDT5FC23数据类型: 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)所有数值都以BCD码格式存储变量

15、的预先设置: DT#年-月-日-小时:分钟:秒.毫秒示例:DT#1998-03-21-17:23:00:00通过IEC-Library功能处理1=星期日2=星期一3=星期二4=星期三5=星期四6=星期五7=星期六1) n = 偶数处理DT型变量的功能标准库V3.x里的 IEC库FC1 (AD_DT_TM):功能FC 1将一个时间段(TIME格式)加到一个时刻时间(DT格式)上去,并返回新的时刻时间。 FC34 (SB_DT_DT):功能FC 34将两个时刻时间(DT格式)相减,返回一个时间段(TIME格式) 。FC35 (SB_DT_TM) :功能FC 35从一个时刻时间(DT格式)上减去一个

16、时间段(TIME格式) ,并返回新的时刻时间(DT格式) 。 FC3 (D_TOD_DT) :功能FC 3将DATE和TIME_OF_DAY (TOD)日期格式组合起来,并将它们转换成DATE_AND_TIME(DT)这种日期格式。 FC6 (DT_DATE) :功能FC 6是从DATE_AND_TIME格式中提取日期。FC7 (DT_DAY) :功能FC 7是从DATE_AND_TIME格式中提取星期。.FC8 (DT_TOD) :功能FC 8是从DATE_AND_TIME格式中提取TIME_OF_DAY。 DT#变量比较函数: FC9 (EQ_DT),FC12 (GE_DT),FC14 (

17、GT_DT),FC18 (LE_DT),FC23 (LT_DT),FC28 (NE_DT)数据类型: STRING STRING (字符串)型变量:数据类型STRING表示了一个最多有254字符的字符串应用:处理消息文本声明方法:字符串名称: STRING最大数目: I初始化的文本(这样声明的字符串变量最多可有maxNo个字符,maxNo: 0. 254)字符串名称: STRING:初始化的文本(这样声明的字符串变量最多可有254个字符)示例:变量的声明:Fault signal :STRINGMotor failure_4(变量Fault signal,并初始化为上面的文本内容)Warnin

18、g : STRING50 (“empty” 变量Warning,最多可以接受50个字符)处理:基本访问方式:L #Fault signal5(装在变量Fault signal中的第5个字符)通过IEC库里的FC进行处理存储器中字符串(STRING) 变量的存储Byte n1)示例:声明并初始化Given name: STRING8: OTTO存储STRING变量“Given 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#00由IEC库功能评估的有关可存储字符的最大数目 或当前长度的信息。.处理STRING型变量的功能 (挑选部分)标准库里的 IEC库FC2 (CONCAT):功能FC2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论