您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > step7-数据类型
第三章STEP7编程技术数据类型在----18页3.1STEP7中的块在STEP7软件中主要有以下几种类型的块:组织块:OB(OrganizationBlock)功能:FC(Function)功能块:FB(FunctionBlock)系统功能:SFC(SystemFunction)系统功能块:SFB(SystemFunctionBlock)背景数据块:DB(InstanceDataBlock)共享数据块:DB(ShareDataBlock)3.1.1组织块OB启动组织块循环执行的程序组织块定期执行的程序组织块事件驱动执行的程序组织块1.启动组织块(1)OB100为完全再启动类型(暖启动)。启动时,过程映像区和不保持的标志存储器、定时器及计数器被清零,保持的标志存储器、定时器和计数器以及数据块的当前值保持原状态,执行OB100,然后开始执行循环程序OB1。一般S7-300PLC都采用此种启动方式。(2)OB101为再启动类型(热启动)。启动时,所有数据(无论是保持型和非保持型)都将保持原状态,并且将OB101中的程序执行一次。然后程序从断点处开始执行。剩余循环执行完以后,开始执行循环程序。热启动一般只有S7-400具有此功能。(3)OB102为冷启动方式。CPU318-2和CPU417-4具有冷启动型的启动方式,冷启动时,所有过程映像区和标志存储器、定时器和计数器(无论是保持型还是非保持型)都将被清零,而且数据块的当前值被装载存储器的原始值覆盖。然后将OB102中的程序执行一次后执行循环程序。2.循环执行的程序组织块OB1是循环执行的组织块。其优先级为最低。PLC在运行时将反复循环执行OB1中的程序,当有优先级较高的事件发生时,CPU将中断当前的任务,去执行优先级较高的组织块,执行完成以后,CPU将回到断点处继续执行OB1中的程序,并反复循环下去,直到停机或者是下一个中断发生。一般用户主程序写在OB1中。3.定期的程序执行组织块OB10、OB11~OB17为日期中断组织块。通过日期中断组织块可以在指定的日期时间执行一次程序,或者从某个特定的日期时间开始,间隔指定的时间(如一天,一个星期,一个月等)执行一次程序。OB30、OB31~OB38为循环中断组织块。通过循环中断组织块可以每隔一段预定的时间执行一次程序。循环中断组织块的间隔时间较短,最长为1分钟。最短为1毫秒。在使用循环中断组织块时,应该保证设定的循环间隔时间大于执行该程序块的时间,否则CPU将出错。4.事件驱动的程序执行组织块延时中断组织块硬件中断组织块异步错误组织块同步错误组织块延时中断组织块OB20~OB27:延时中断,当某一事件发生后,延时中断组织块(OB20)将延时指定的时间后执行。OB20~OB27只能通过调用系统功能SFC32而激活,同时可以设置延时时间。硬件中断组织块OB40~OB47:硬件中断。一旦硬件中断事件发生,硬件中断组织块OB40~OB47将被调用。硬件中断可以由不同的模块触发,对于可分配参数的信号模块DI、DO、AI、AO等,可使用硬件组态工具来定义触发硬件中断的信号;对于CP模块和FM模块,利用相应的组态软件可以定义中断的特性。异步错误组织块OB80~OB87:异步错误中断。异步错误是PLC的功能性错误。它们与程序执行时不同步地出现,不能跟踪到程序中的某个具体位置。在运行模式下检测到一个故障后,如果已经编写了相关的组织块,则调用并执行该组织块中的程序。如果,发生故障时,相应的故障组织块不存在,则CPU将进入STOP模式。同步错误组织块OB121、OB122:同步错误中断。如果在某特定的语句执行时出现错误,CPU可以跟踪到程序中某一具体的位置。由同步错误所触发的错误处理组织块,将作为程序的一部分来执行,与错误出现时正在执行的块具有相同的优先级。编程错误,例如在程序中调用一个不存在的块,将调用OB121。访问错误,例如程序中访问了一个有故障或不存在的模块,将调用OB122。3.1.2功能FC和功能块FBFC和FB都是用户自己编写的程序块,用户可以将具有相同控制过程的程序编写在FC或FB中,然后在主程序OB1或其他程序块中(包括组织块和功能、功能块)调用FC或FB。FC或FB相当于子程序的功能,都可以定义自己的参数1.FC和FB的变量声明表的差别2.FC和FB参数赋值不同FC没有自己的背景数据块FB有自己的背景数据块FC的参数必须指定实参FB的参数可根据需要决定是否指定实参3.1.3系统功能SFC和系统功能块SFBSFC和SFB是预先编好的可供用户调用的程序块,它们已经固化在S7PLC的CPU中,其功能和参数已经确定。一台PLC具有哪些SFC和SFB功能,是由CPU型号决定的。具体信息可查阅CPU的相关技术手册。通常SFC和SFB提供一些系统级的功能调用,如通讯功能、高速处理功能等。注意:在调用SFB时,需要用户指定其背景数据块(CPU中不包含其背景数据块),并确定将背景数据块下载到PLC中。3.1.4背景数据块和共享数据块背景DB是和某个FB或SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致。共享DB的主要目的是为用户程序提供一个可保存的数据区,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义。需要说明的是,背景DB和共享DB没有本质的区别,它们的数据可以被任何一个程序块读写。3.2STEP7的程序结构和编程语言STEP7的程序结构可分为以下三类:1.线性程序结构2.分块程序结构3.结构化程序结构编程语言(三种基本编程语言)1.梯形图LAD2.语句表STL3.功能图FBD3.3数据类型数据是程序处理和控制的对象,在程序运行过程中,CPU处理的一串二进制符号所代表的意义是由数据类型决定的,数据类型决定了数据的属性,例如数据长度,取值范围等。STEP7中的数据可分为以下三大类:基本数据类型复合数据类型参数数据类型基本数据类型(一)位(BOOL)字节(BYTE)字(WORD)双字(DOUBLEWORD)整数(INT)双整数(DOUBLEINT)浮点数(REAL)基本数据类型(二)S5TIME(SIMATIC时间)IEC时间(TIME)IEC日期(date)日计时(TIME_OF_DAY)字符(CHAR)3.3.2复杂数据类型日期时间数据类型(Data_And_Time)字符串类型(String)数组类型Array结构(STRUCT)用户定义类型(UDT)3.3.3参数数据类型参数数据类型是一类用于功能FC或功能块FB的数据类型,主要包括以下两种:Pointe指针类型6字节指针类型,传递数据块号和数据地址Any指针类型10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型3.4S7的系统存储区和寻址方式S7的系统存储区集成在CPU中,不能被扩展。系统存储区根据功能分为不同的区域供用户使用。S7的寻址方式为:符号地址寻址绝对地址寻址3.4.1系统存储区输入过程暂存区(I)输出过程暂存区(Q)位存储区(M)外部输入输出(PI/PQ)计时器(T)计数器(C)数据块(DB)局部数据(L)3.4.2绝对地址寻址位寻址字节寻址字寻址双字寻址位寻址位寻址是最小存储单元的寻址方式。寻址时,采用以下结构:存储区关键字+字节地址+位地址:例如:Q10.3Q:表示输出过程暂存区;10:表示第十个字节;字节地址从0开始,最大值由该存储区的大小决定;3:表示位地址为3,位地址的取值范围是0~7。字节寻址字节寻址时,访问一个8位的存储区域。寻址时,采用以下结构进行寻址:存储区关键字+字节的关键字(B)+字节地址例如:MB0M:表示位存储区B:表示字节byte0:表示第0个字节。其中最低位的位地址为M0.0,最高位的为M0.7字节寻址字寻址字寻址时,访问一个16位的存储区域,包含两个字节。寻址时采用以下结构:存储区关键字+字的关键字(W)+第一字节地址例如:IW10I:表示输入过程暂存区W:表示字word10:表示从第10个字节开始,包括两个字节的存储空间,即IB10和IB11。字寻址双字寻址双字寻址时,访问一个32位的存储区域,包含4个字节。寻址时采用以下结构:存储区关键字+字的关键字(D)+第一字节地址例如:LD20L:表示局部数据暂存区D:表示字word20:表示从第20个字节开始,包括4个字节的存储空间。包括LB20、LB21、LB22和LB23四个字节双字寻址3.4.3符号地址寻址STEP7中的符号寻址是先给需要使用的绝对地址或参数变量定义符号,然后在程序中使用所定义好的符号进行编程寻址STEP7中可以定义的符号有两种:全局符号局部符号全局符号和局部符号全局符号在符号编辑器中定义适用于所有的程序块以双引号表示局部符号在块中的变量申明表中定义所定符号只在本程序块中有效符号前加#号表示3.5STEP7指令系统(一)S7系列PLC的CPU中的寄存器累加器(Accumulators)地址寻址寄存器(AddressRegister)数据块寄存器(DataBlockRegister)状态字(StatusWord)位逻辑指令3.5.1S7系列PLC的CPU中的寄存器状态字/FC:首次检查位。RLO:逻辑操作结果位。STA:状态位OR:或位OV:溢出位OS:溢出存储位CC0和CC1:条件码BR:二进制结果3.5.2位逻辑指令常开接点常闭接点输出线圈程序实例:位逻辑指令中间输出单元信号流反向指令复位线圈置位线圈复位置位触发器和置位复位触发器位逻辑指令程序实例对应时序图如下所示:位逻辑指令时序图位逻辑指令正跳沿(上升沿)检测指令位逻辑指令负跳沿(下降沿)检测指令位逻辑指令地址正跳沿检测地址负跳沿检测SAVE指令位逻辑指令地址上升沿检测指令示例位逻辑指令以上程序的时序图3.6实训四:PLC控制一台电机正反转使用S7-300PLC实现一台电动机的正反转控制。控制要求如下:要求能实现电机的正转和反转控制,并能进行正反转的直接切换。另外,还可进行正反向的点动控制,当电机处于正常运行时,点动按钮不起作用。3.6.1实训目的:掌握S7-300PLC输入输出模块接线方法;掌握西门子S7-300PLC编程软件的使用方法和程序输入、下载和调试方法;掌握基本指令的使用方法;3.6.2实训设备:PLC实验板(西门子S7-300)开关按钮5个直流继电器两个(线圈电压为24V)直流电动机一台(额定电压9V)导线若干PC机和STEP7编程调试软件3.6.3实训内容:系统分析(预习):PLC硬件配置分析控制要求进行输入输出点分配,并根据资源分配画出外部接线图。根据控制要求设计程序。在线调试程序3.6.4实训步骤:按照输入输出模块接线图以及直流电动机主电路接线图进行外部接线;使用STEP-7软件创建项目,进行硬件配置和参数设置;打开项目中的OB1程序块编写并书写控制程序;下载,并调试程序;打开直流电动机主电路电源进行整体调试;参考硬件配置表序号名称型号说明数量1CPUCPU31312电源模块PS30713开关量输入模块SM32114开关量输出模块SM32215前连接器20针2参考输入输出地址分配表序号输入信号名称地址1正向长动按钮SB1(常开)I0.02正向点动按钮SB2(常开)I0.13反向长动按钮SB3(常开)I0.24反向点动按钮SB4(常开)I0.35停止按钮SB5(常开)I0.4序号输出信号名称地址1正转继电器KM1Q4.02反转继电器KM2Q4.13.7STEP7指令系统(二)定时器指令1.脉冲定时器:--(SP)2.扩展脉冲定时器--(SE)3.开通延时定时器--(SD)4.保持型开通延时定时器--(SS)5.关断延时定时器--(SF)数据装载和传送指令(MOVE)1、脉冲
本文标题:step7-数据类型
链接地址:https://www.777doc.com/doc-5904027 .html