西门子S7-300高级编程培训教材,内部教材__5、STEP_7中的数据类型和变量.ppt_第1页
西门子S7-300高级编程培训教材,内部教材__5、STEP_7中的数据类型和变量.ppt_第2页
西门子S7-300高级编程培训教材,内部教材__5、STEP_7中的数据类型和变量.ppt_第3页
西门子S7-300高级编程培训教材,内部教材__5、STEP_7中的数据类型和变量.ppt_第4页
西门子S7-300高级编程培训教材,内部教材__5、STEP_7中的数据类型和变量.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

STEP7数据类型和变量,数据类型描述了数据基本特性连续区域:例如:实际速度“是/非”特性:例如:扰动数据类型建立:允许范围(INT:-32768.+32767,等等。)允许使用的指令(算术指令:+,-等。)存储器中位的表示方法抽象出的数据类型变量可以保存并在以后继续处理数值,Actual_speed:REAL,扰动:BOOL,Set_speed:REAL,使能:BOOL,变量及数据类型含义,变量声明确定变量的如下特性:符号名数据类型有效范围声明类型变量可以:在全局符号表中声明(基本数据类型)在全局数据块的声明表中进行声明(所有数据类型)在逻辑块的声明表中进行声明(OB,FB和FC),变量特性及变量的声明,Meas_point:ARRAY1.10,STEP7数据类型概述,基本数据类型(最长32位),复杂数据类型(长度大于32位),用户自定义数据类型(长度大于32位),STEP7中的基本数据类型,长度(单位:位),BOOLBYTEWORDDWORDCHARINTDINTREALS5TIMETIMEDATETIME-OF-DAY,181632816323216321632,关键字,类型常数示例,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,复杂数据类型的重要性,Motor:STRUCT,END_STRUCT,“更好地”构造数据:适合于任务具有“适当的”数据类型在块调用中数据传输的精简形式:一个参数传送“多个”数据项使结构化编程成为可能仅通过参数便实现块间“通信”软件可重用性,5,.CALL#ControllerMotor:=Hall_1.M5.,.A#Motor.Enable.,inDriveUDT1out.statControl.FB1,inMotorUDT1out.,STEP7中的复杂数据类型,长度(位),DATE_AND_TIME(日期和时间)STRING(字符串,最多254个字符)ARRAY(相同数据类型一组元素的集合)STRUCT(结构,不同数据类型一组元素的集合)UDT(用户自定义类型=由基本数据类型和/或复杂数据类型组成的“模板”),648*(字符数+2)用户自己定义用户自己定义用户自己定义,关键字,示例,DT#99-06-14-12:14:55.0ThisisastringSIEMENSMeas_vals:ARRAY1.20INTMotor:STRUCTSpeed:INTCurrent:REALEND_STRUCTUDT作为块UDT作为数组元素STRUCTDrive:ARRAY1.4Speed:INTUDT1Current:REALEND_STRUCT,STEP7参数类型,长度(位),TIMERCOUNTERBLOCK_FBBLOCK_FCBLOCK_DBBLOCK_SDBPointerANY,1616164880,关键字,示例,Contacttime:TIMER.SI#Contact_timeNoCompParts:COUNTER.LC#No_Comp_PartsRecall:BLOCK_FB.UC#RecallMeasure:POINTER.LP#Measure.MeasuredValues:ANY.LP#Meas_Values.,变量建立的区域,位(Bit)存储器,本地数据堆栈,“传统“PLC区域,本地数据堆栈工作方式,为组织块OB1分配LStack,如:256个字节,5,OB1,FB1,FC5,FC10,.CALLFB1.,1,2,3,4,5,.CALLFC10.,.CALLFC5.,6,LDforOB1,LDforOB1,1,LDforFB1,LDforOB1,2,LDforFB1,LDforFC5,循环开始,LDforOB1,3,LDforFB1,LDforOB1,4,LDforOB1,5,LDforFC10,free,free,free,free,free,free,LDforOB1,6,free,LD=本地数据,示例:暂存器的替换,LAD中的分支,来自本地数据堆栈的帮助变量,STL表示,分支位置,数据块(DB),功能FC10,功能FC20,功能块FB1,OB1,数据类型:ARRAY,ARRAY(域):数组是相同数据类型元素的组合数组的声明:一维数组:域名:ARRAY最小索引.最大索引OF数据类型;多维数组:域名:ARRAY最小索引1.最大索引1,最小索引2.最大索引2,.OF数据类型;索引:数据类型INT(-32768.32767)示例:数组变量的声明:一维:Meas_value:ARRAY1.10OFREAL;多维:Position:ARRAY1.5,2.8,.OFINT;数组变量的访问:L#Meas_value5/装载数组的第5个元素/将Meas_value装载到ACCU1中去T#Result10,5,Meas_value:ARRAY1.10,.,ARRAY的声明和初始化,DB5Declarationview,DB5Dataview,存储器中ARRAY变量的存储,Byten1),BYTE,CHAR数据类型,一维数组多维数组BOOL数据类型,8,7,6,5,4,3,2,1,76543210,12,11,10,9,Byten+1,Byten1),Byten+1,Byten+2,Byte1,Byte2,Byte3,WORD,DWORD,.数据类型,Byten1),Byten+1,Byten+2,Byte3,.,Word2,Byten+2,.,示例ARRAY1.2,1.3,1.2OFBYTE,Byten1),Byten+1,Byten+2,Byte1.1.1,Byte1.1.2,Byte1.2.1,.,Byte1.2.2,Byte1.3.1,Byte1.3.2,Byte2.1.1,Byte2.1.2,Byte2.2.1,Byte2.2.2,Byte2.3.1,Byte2.3.2,1)n=偶数,Word1,等,STRUCT(结构):结构是不同数据类型元素的组合结构的声明:结构名称:STRUCT元素1名称:数据类型;元素2名称:数据类型;.END_STRUCT示例:结构变量的声明:访问结构变量:MotorControl:STRUCTS#MotorControl.ONON:BOOL;L#MotorControl.ActualSpeedOFF:BOOL;T#MotorControl.SetSpeedSetSpeed:INT;.ActualSpeed:INT;END_STRUCT;,数据类型:STRUCT,Motor:STRUCT,END_STRUCT,结构(STRUCT)的声明,示例:数组结构数组的声明,DB6Declarationview,DB6Dataview,存储器中STRUCT变量的存储,Byten1),基本数据类型结构复杂数据类型结构,6,5,4,3,2,1,76543210,Byten+1,Byten+2,Byte1,Byte2,Byte3,Byten+8,Byten+9,Byte3,Word1,Word2,.,1)n=even,Fillerbyte,Fillerbyte,Byten+3,Byten+4,Byten+5,6,5,4,3,2,1,Fillerbyte,Byten+6,Byten+7,.,基本数据类型元素,Wordlimit,ARRAY类型元素,STRUCT类型元素,Wordlimit,.,Wordlimit,用户自定义数据类型:UDT,UDT用户自定义数据类型:在声明部分创建了一个数据模板供以后使用对程序文件夹的所有块来说,是全局有效的示例:新数据类型(结构)的定义:UDT1STRUCTSetSpeed:REAL;.ActualSpeed:REAL;Enable:BOOL;Disturbance:BOOL;END_STRUCT;变量的声明:Motor_1:UDT1;Motor_2:UDT1;对变量的访问:L#Motor_1.ActualSpeed,UDT1:STRUCT,END_STRUCT,UDT的使用,UDT5,FC23,数据类型:DATE_AND_TIME,Byten1),Byten+2,Byten+4,Byten+1,Byten+3,Byten+5,年(90.89),结构:,月(01.12),日(01.31),小时(00.23),分钟(00.59),秒(00.59),Byten+6,Byten+7,毫秒(000.999),星期(1.7),所有数值都以BCD码格式存储变量的预先设置: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):功能FC1将一个时间段(TIME格式)加到一个时刻时间(DT格式)上去,并返回新的时刻时间。FC34(SB_DT_DT):功能FC34将两个时刻时间(DT格式)相减,返回一个时间段(TIME格式)。FC35(SB_DT_TM):功能FC35从一个时刻时间(DT格式)上减去一个时间段(TIME格式),并返回新的时刻时间(DT格式)。FC3(D_TOD_DT):功能FC3将DATE和TIME_OF_DAY(TOD)日期格式组合起来,并将它们转换成DATE_AND_TIME(DT)这种日期格式。FC6(DT_DATE):功能FC6是从DATE_AND_TIME格式中提取日期。FC7(DT_DAY):功能FC7是从DATE_AND_TIME格式中提取星期。.FC8(DT_TOD):功能FC8是从DATE_AND_TIME格式中提取TIME_OF_DAY。DT#变量比较函数:FC9(EQ_DT),FC12(GE_DT),FC14(GT_DT),FC18(LE_DT),FC23(LT_DT),FC28(NE_DT),数据类型:STRING,STRING(字符串)型变量:数据类型STRING表示了一个最多有254字符的字符串应用:处理消息文本声明方法:字符串名称:STRING最大数目:I初始化的文本(这样声明的字符串变量最多可有maxNo个字符,maxNo:0.254)字符串名称:STRING:初始化的文本(这样声明的字符串变量最多可有254个字符)示例:变量的声明:Faultsignal:STRINGMotorfailure_4(变量Faultsignal,并初始化为上面的文本内容)Warning:STRING50(“empty”变量Warning,最多可以接受50个字符)处理:基本访问方式:L#Faultsignal5(装在变量Faultsignal中的第5个字符)通过IEC库里的FC进行处理,存储器中字符串(STRING)变量的存储,Byten1),示例:声明并初始化Givenname:STRING8:OTTO存储STRING变量“Givenname“,Byten+1,Byten+2,最大长度=8,当前长度=4,1st.char=O,Byten+8,.,1)n=偶数,2nd.char=T,Byten+3,Byten+4,Byten+5,Byten+6,Byten+7,3rd.char=T,4th.char=O,指定可存储字符的最大数目,即在声明中所指定的长度,指定存储在STRING变量里的当前字符个数,B#16#00,B#16#00,B#16#00,Byten+9,B#16#00,由IEC库功能评估的有关可存储字符的最大数目或当前长度的信息。.,处理STRING型变量的功能(挑选部分),标准库里的IEC库FC2(CONCAT):功能FC2是将两个STRING变量组合成一个字符串。FC4(DELETE):功能FC4是在一个字符串中删除L个字符,直到字符P位置为止。FC11(FINF):功能FC11提供第一个字符串里的第二个字符串的位置。FC17(INSERT):功能FC17是将参数IN2处的字符串插入到参数IN1处的字符串的字符Pth之后。FC20(LEFT):功能FC20提供一个字符串的第一个L个字符。FC21(LEN):功能FC21输出字符串当前长度(有效字符数)。FC26(MID):功能FC26提供字符串的中间部分。FC31(REPLACE):功能FC31是用第二个字符串(IN2)替换第一个字符串(IN1)的L个字符直到P字符位置为止(包括P字符)。FC32

温馨提示

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

评论

0/150

提交评论