演示文稿数据类型_第1页
演示文稿数据类型_第2页
演示文稿数据类型_第3页
演示文稿数据类型_第4页
演示文稿数据类型_第5页
已阅读5页,还剩206页未读 继续免费阅读

下载本文档

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

文档简介

(优选)数据类型当前1页,总共211页。3.1STEP7中的块

在STEP7软件中主要有以下几种类型的块:组织块:OB(OrganizationBlock)功能:FC(Function)功能块:FB(FunctionBlock)系统功能:SFC(SystemFunction)系统功能块:SFB(SystemFunctionBlock)背景数据块:DB(InstanceDataBlock)共享数据块:DB(ShareDataBlock)当前2页,总共211页。组织块OB

启动组织块循环执行的程序组织块定期执行的程序组织块事件驱动执行的程序组织块当前3页,总共211页。1.启动组织块(1)OB100为完全再启动类型(暖启动)。启动时,过程映像区和不保持的标志存储器、定时器及计数器被清零,保持的标志存储器、定时器和计数器以及数据块的当前值保持原状态,执行OB100,然后开始执行循环程序OB1。一般S7-300PLC都采用此种启动方式。(2)OB101为再启动类型(热启动)。启动时,所有数据(无论是保持型和非保持型)都将保持原状态,并且将OB101中的程序执行一次。然后程序从断点处开始执行。剩余循环执行完以后,开始执行循环程序。热启动一般只有S7-400具有此功能。(3)OB102为冷启动方式。CPU318-2和CPU417-4具有冷启动型的启动方式,冷启动时,所有过程映像区和标志存储器、定时器和计数器(无论是保持型还是非保持型)都将被清零,而且数据块的当前值被装载存储器的原始值覆盖。然后将OB102中的程序执行一次后执行循环程序。当前4页,总共211页。2.循环执行的程序组织块OB1是循环执行的组织块。其优先级为最低。PLC在运行时将反复循环执行OB1中的程序,当有优先级较高的事件发生时,CPU将中断当前的任务,去执行优先级较高的组织块,执行完成以后,CPU将回到断点处继续执行OB1中的程序,并反复循环下去,直到停机或者是下一个中断发生。一般用户主程序写在OB1中。当前5页,总共211页。3.定期的程序执行组织块OB10、OB11~OB17为日期中断组织块。通过日期中断组织块可以在指定的日期时间执行一次程序,或者从某个特定的日期时间开始,间隔指定的时间(如一天,一个星期,一个月等)执行一次程序。OB30、OB31~OB38为循环中断组织块。通过循环中断组织块可以每隔一段预定的时间执行一次程序。循环中断组织块的间隔时间较短,最长为1分钟。最短为1毫秒。在使用循环中断组织块时,应该保证设定的循环间隔时间大于执行该程序块的时间,否则CPU将出错。当前6页,总共211页。4.事件驱动的程序执行组织块延时中断组织块硬件中断组织块异步错误组织块同步错误组织块当前7页,总共211页。延时中断组织块

OB20~OB27:延时中断,当某一事件发生后,延时中断组织块(OB20)将延时指定的时间后执行。OB20~OB27只能通过调用系统功能SFC32而激活,同时可以设置延时时间。当前8页,总共211页。硬件中断组织块OB40~OB47:硬件中断。一旦硬件中断事件发生,硬件中断组织块OB40~OB47将被调用。硬件中断可以由不同的模块触发,对于可分配参数的信号模块DI、DO、AI、AO等,可使用硬件组态工具来定义触发硬件中断的信号;对于CP模块和FM模块,利用相应的组态软件可以定义中断的特性。当前9页,总共211页。异步错误组织块OB80~OB87:异步错误中断。异步错误是PLC的功能性错误。它们与程序执行时不同步地出现,不能跟踪到程序中的某个具体位置。在运行模式下检测到一个故障后,如果已经编写了相关的组织块,则调用并执行该组织块中的程序。如果,发生故障时,相应的故障组织块不存在,则CPU将进入STOP模式。当前10页,总共211页。同步错误组织块OB121、OB122:同步错误中断。如果在某特定的语句执行时出现错误,CPU可以跟踪到程序中某一具体的位置。由同步错误所触发的错误处理组织块,将作为程序的一部分来执行,与错误出现时正在执行的块具有相同的优先级。编程错误,例如在程序中调用一个不存在的块,将调用OB121。访问错误,例如程序中访问了一个有故障或不存在的模块,将调用OB122。当前11页,总共211页。功能FC和功能块FBFC和FB都是用户自己编写的程序块,用户可以将具有相同控制过程的程序编写在FC或FB中,然后在主程序OB1或其他程序块中(包括组织块和功能、功能块)调用FC或FB。FC或FB相当于子程序的功能,都可以定义自己的参数当前12页,总共211页。1.FC和FB的变量声明表的差别当前13页,总共211页。2.FC和FB参数赋值不同FC没有自己的背景数据块FB有自己的背景数据块FC的参数必须指定实参FB的参数可根据需要决定是否指定实参当前14页,总共211页。系统功能SFC和系统功能块SFBSFC和SFB是预先编好的可供用户调用的程序块,它们已经固化在S7PLC的CPU中,其功能和参数已经确定。一台PLC具有哪些SFC和SFB功能,是由CPU型号决定的。具体信息可查阅CPU的相关技术手册。通常SFC和SFB提供一些系统级的功能调用,如通讯功能、高速处理功能等。注意:在调用SFB时,需要用户指定其背景数据块(CPU中不包含其背景数据块),并确定将背景数据块下载到PLC中。当前15页,总共211页。背景数据块和共享数据块

背景DB是和某个FB或SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致。共享DB的主要目的是为用户程序提供一个可保存的数据区,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义。需要说明的是,背景DB和共享DB没有本质的区别,它们的数据可以被任何一个程序块读写。当前16页,总共211页。3.2STEP7的程序结构和编程语言STEP7的程序结构可分为以下三类:1.线性程序结构2.分块程序结构3.结构化程序结构编程语言(三种基本编程语言)1.梯形图LAD2.语句表STL3.功能图FBD当前17页,总共211页。3.3数据类型数据是程序处理和控制的对象,在程序运行过程中,CPU处理的一串二进制符号所代表的意义是由数据类型决定的,数据类型决定了数据的属性,例如数据长度,取值范围等。STEP7中的数据可分为以下三大类:基本数据类型复合数据类型参数数据类型当前18页,总共211页。基本数据类型(一)

位(BOOL)字节(BYTE)字(WORD)双字(DOUBLEWORD)整数(INT)双整数(DOUBLEINT)浮点数(REAL)当前19页,总共211页。基本数据类型(二)S5TIME(SIMATIC时间)IEC时间(TIME)IEC日期(date)日计时(TIME_OF_DAY)字符(CHAR)当前20页,总共211页。复杂数据类型日期时间数据类型(Data_And_Time)字符串类型(String)数组类型Array结构(STRUCT)用户定义类型(UDT)当前21页,总共211页。参数数据类型参数数据类型是一类用于功能FC或功能块FB的数据类型,主要包括以下两种:Pointe指针类型

6字节指针类型,传递数据块号和数据地址Any指针类型

10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型当前22页,总共211页。3.4S7的系统存储区和寻址方式S7的系统存储区集成在CPU中,不能被扩展。系统存储区根据功能分为不同的区域供用户使用。S7的寻址方式为:符号地址寻址绝对地址寻址当前23页,总共211页。系统存储区输入过程暂存区(I)输出过程暂存区(Q)位存储区(M)外部输入输出(PI/PQ)计时器(T)计数器(C)数据块(DB)局部数据(L)当前24页,总共211页。绝对地址寻址位寻址字节寻址字寻址双字寻址当前25页,总共211页。位寻址位寻址是最小存储单元的寻址方式。寻址时,采用以下结构:存储区关键字+字节地址+位地址:例如:Q10.3Q:表示输出过程暂存区;10:表示第十个字节;字节地址从0开始,最大值由该存储区的大小决定;3:表示位地址为3,位地址的取值范围是0~7。当前26页,总共211页。字节寻址字节寻址时,访问一个8位的存储区域。寻址时,采用以下结构进行寻址:存储区关键字+字节的关键字(B)+字节地址例如:MB0M:表示位存储区

B:表示字节byte0:表示第0个字节。其中最低位的位地址为M0.0,最高位的为M0.7当前27页,总共211页。字节寻址当前28页,总共211页。字寻址字寻址时,访问一个16位的存储区域,包含两个字节。寻址时采用以下结构:存储区关键字+字的关键字(W)+第一字节地址例如:IW10I:表示输入过程暂存区

W:表示字word10:表示从第10个字节开始,包括两个字节的存储空间,即IB10和IB11。当前29页,总共211页。字寻址当前30页,总共211页。双字寻址双字寻址时,访问一个32位的存储区域,包含4个字节。寻址时采用以下结构:存储区关键字+字的关键字(D)+第一字节地址例如:LD20L:表示局部数据暂存区

D:表示字word20:表示从第20个字节开始,包括4个字节的存储空间。包括LB20、LB21、LB22和LB23四个字节当前31页,总共211页。双字寻址当前32页,总共211页。符号地址寻址STEP7中的符号寻址是先给需要使用的绝对地址或参数变量定义符号,然后在程序中使用所定义好的符号进行编程寻址STEP7中可以定义的符号有两种:全局符号局部符号当前33页,总共211页。全局符号和局部符号全局符号在符号编辑器中定义适用于所有的程序块以双引号表示局部符号在块中的变量申明表中定义所定符号只在本程序块中有效符号前加#号表示当前34页,总共211页。3.5STEP7指令系统(一)S7系列PLC的CPU中的寄存器

累加器(Accumulators)地址寻址寄存器(AddressRegister)数据块寄存器(DataBlockRegister)状态字(StatusWord)位逻辑指令

当前35页,总共211页。系列PLC的CPU中的寄存器状态字/FC:首次检查位。RLO:逻辑操作结果位。STA:状态位OR:或位OV:溢出位OS:溢出存储位CC0和CC1:条件码BR:二进制结果当前36页,总共211页。3.5.2位逻辑指令

常开接点常闭接点输出线圈程序实例:

当前37页,总共211页。位逻辑指令中间输出单元信号流反向指令复位线圈置位线圈复位置位触发器和置位复位触发器当前38页,总共211页。位逻辑指令程序实例对应时序图如下所示:当前39页,总共211页。位逻辑指令时序图当前40页,总共211页。位逻辑指令

正跳沿(上升沿)检测指令当前41页,总共211页。位逻辑指令

负跳沿(下降沿)检测指令当前42页,总共211页。位逻辑指令地址正跳沿检测地址负跳沿检测SAVE指令当前43页,总共211页。位逻辑指令

地址上升沿检测指令示例当前44页,总共211页。位逻辑指令

以上程序的时序图当前45页,总共211页。3.6实训四:PLC控制一台电机正反转

使用S7-300PLC实现一台电动机的正反转控制。控制要求如下:要求能实现电机的正转和反转控制,并能进行正反转的直接切换。另外,还可进行正反向的点动控制,当电机处于正常运行时,点动按钮不起作用。当前46页,总共211页。实训目的:掌握S7-300PLC输入输出模块接线方法;掌握西门子S7-300PLC编程软件的使用方法和程序输入、下载和调试方法;掌握基本指令的使用方法;当前47页,总共211页。实训设备:PLC实验板(西门子S7-300)开关按钮5个直流继电器两个(线圈电压为24V)直流电动机一台(额定电压9V)导线若干PC机和STEP7编程调试软件当前48页,总共211页。实训内容:系统分析(预习):PLC硬件配置分析控制要求进行输入输出点分配,并根据资源分配画出外部接线图。根据控制要求设计程序。在线调试程序当前49页,总共211页。实训步骤:按照输入输出模块接线图以及直流电动机主电路接线图进行外部接线;使用STEP-7软件创建项目,进行硬件配置和参数设置;打开项目中的OB1程序块编写并书写控制程序;下载,并调试程序;打开直流电动机主电路电源进行整体调试;当前50页,总共211页。参考硬件配置表序号名称型号说明数量1CPUCPU31312电源模块PS30713开关量输入模块SM32114开关量输出模块SM32215前连接器20针2当前51页,总共211页。参考输入输出地址分配表序号输入信号名称地址1正向长动按钮SB1(常开)I0.02正向点动按钮SB2(常开)I0.13反向长动按钮SB3(常开)I0.24反向点动按钮SB4(常开)I0.35停止按钮SB5(常开)I0.4序号输出信号名称地址1正转继电器KM1Q4.02反转继电器KM2Q4.1当前52页,总共211页。3.7STEP7指令系统(二)定时器指令

1.脉冲定时器:--(SP)

2.扩展脉冲定时器--(SE)

3.开通延时定时器--(SD)

4.保持型开通延时定时器--(SS)

5.关断延时定时器--(SF)数据装载和传送指令(MOVE)当前53页,总共211页。1、脉冲定时器--(SP)--(SP)指令是产生指定时间宽度脉冲的定时器。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)当前54页,总共211页。1、脉冲定时器--(SP)如图所示程序,定时器定义的时间值为2S当前55页,总共211页。1、脉冲定时器--(SP)上图程序对应的时序图如图所示当前56页,总共211页。1、脉冲定时器--(SP)T1接点控制Q0.0线圈,因此T1接点的状态与Q0.0的状态一致。由时序图可以看出,脉冲定时器每次起动的条件是逻辑位有正跳沿发生,定时器启动计时,T1接点开始输出高电平“1”。从时序图可以看到,--(SP)指令计时的过程中,逻辑位的状态若变为“0”(如图第7秒处)则定时器停止计时,且输出为“0”。因此,脉冲定时器输出的高电平的宽度小于或等于所定义的时间值。当前57页,总共211页。1、脉冲定时器--(SP)脉冲定时器的方框指令如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)当前58页,总共211页。1、脉冲定时器--(SP)如图所示的程序中,可从MW10和MW12中以不同的格式读出定时器计时T1剩余的时间。当前59页,总共211页。1、脉冲定时器--(SP)上图所示的程序对应的时序图如图所示当前60页,总共211页。2、扩展脉冲定时器--(SE)--(SE)指令与--(SP)指令相似,但--(SE)指令具有保持功能。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)当前61页,总共211页。2、扩展脉冲定时器--(SE)如图所示的程序当前62页,总共211页。2、扩展脉冲定时器--(SE)上图所示的程序对应的时序图如图所示当前63页,总共211页。2、扩展脉冲定时器--(SE)一旦逻辑位(即I0.0的状态)有正跳沿发生,定时器T0启动,同时输出高电平“1”。定时时间到后,输出将自动变成低电平“0”。如果定时时间尚未到达,逻辑位的状态就由“1”变为“0”,这时定时器仍然继续运行,直到计时完成。这一点是--(SE)指令与--(SP)指令的不同之处。当前64页,总共211页。2、扩展脉冲定时器--(SE)扩展脉冲定时器的方框指令如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)当前65页,总共211页。3、开通延时定时器--(SD)开通延时定时器指令--(SD),相当于继电器控制系统中的通电延时时间继电器。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)当前66页,总共211页。3、开通延时定时器--(SD)如图所示的程序:当前67页,总共211页。3、开通延时定时器--(SD)上图所示的程序对应的时序图如图所示当前68页,总共211页。3、开通延时定时器--(SD)--(SD)对应的方框如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)当前69页,总共211页。4、保持型开通延时定时器--(SS)保持型开通延时--(SS)与开通延时定时器--(SD)类似,但--(SS)指令有保持功能。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)当前70页,总共211页。4、保持型开通延时定时器--(SS)保持型开通延时定时器的应用方法如图所示当前71页,总共211页。4、保持型开通延时定时器--(SS)上图中的程序对应的时序图如图所示当前72页,总共211页。4、保持型开通延时定时器--(SS)保持型开通延时定时器的方框指令如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)当前73页,总共211页。5、关断延时定时器--(SF)关断延时定时器--(SF)相当于继电器控制系统中的断电延时时间继电器。也是定时器指令中唯一的一个由下降沿启动的定时器指令。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)当前74页,总共211页。5、关断延时定时器--(SF)如图所示的程序当前75页,总共211页。5、关断延时定时器--(SF)上图中的程序对应的时序图如图所示当前76页,总共211页。5、关断延时定时器--(SF)关断延时计时器的方框指令如下表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)当前77页,总共211页。定时器应用举例:1、使用--(SP)或--(SE)指令构成脉冲发生器:使用脉冲定时器如图所示的程序可产生周期性变化的脉冲信号。当前78页,总共211页。定时器应用举例:上图中的程序对应的时序图如图所示当前79页,总共211页。定时器应用举例:程序又可写成如图所示的程序当前80页,总共211页。定时器应用举例:2、使用--(SD)指令产生周期性变化的脉冲信号:使用--(SD)指令可以采用下图所示的程序得到脉冲信号当前81页,总共211页。定时器应用举例:上图所示的程序对应的时序图如图所示当前82页,总共211页。定时器应用举例:使用--(SD)指令还可以用二分频电路产生一个方波。程序如图所示当前83页,总共211页。定时器应用举例:时序图如图所示当前84页,总共211页。数据装载和传送指令:(MOVE)数据装载和传送指令(MOVE)如表所示LAD参数数据类型说明存储区ENBOOL允许输入I,Q,M,D,LENOBOOL允许输出IN长度为8位、16位、32位的所有数据类型源数据OUT长度为8位、16位、32位的所有数据类型目的地地址当前85页,总共211页。数据装载和传送指令:(MOVE)如图所示程序当前86页,总共211页。3.8实训5:交通信号灯控制实训目的

1.掌握交通信号的工作原理

2.熟悉西门子S7-300PLC编程软件的使用方法和程序输入、下载和调试方法

3.掌握S7-300PLC定时器的使用方法实训设备

1.PLC实验板(西门子S7-300)

2.开关按钮1个

3.指示灯6个(也可直接使用S7-300PLC输出模块输出指示灯)

4.PC机和STEP7编程调试软件实训内容:交通信号灯的控制要求实训步骤当前87页,总共211页。实训内容:交通信号灯的控制要求交通信号灯模型如图所示当前88页,总共211页。实训内容:交通信号灯的控制要求控制要求如下:自动开关合上之后,东西绿灯亮8秒灭,黄灯亮3秒之后灭,红灯亮10秒后闪2秒然后绿灯亮......循环,对应东西绿黄灯亮时,南北红灯亮9秒后闪2秒,接着绿灯亮9秒后闪秒灭,黄灯亮3秒,红灯又亮....循环。当断开自动开关时,交通信号灯立刻停止工作。当前89页,总共211页。实训内容:交通信号灯的控制要求根据控制要求画出交通信号灯的时序图如图所示当前90页,总共211页。实训内容:交通信号灯的控制要求系统分析1.PLC硬件配置:控制系统中的硬件配置如下序号名称型号说明数量1CPUCPU31312电源模块PS30713开关量输入模块SM32114开关量输出模块SM32215前连接器20针2当前91页,总共211页。实训内容:交通信号灯的控制要求2.分析控制要求进行输入输出点分配,并根据分配画出外部接线图。序号输入信号名称地址1自动开关QS(常开)I0.0序号输出信号名称地址1东西绿灯HL1Q4.02东西黄灯HL2Q4.13东西红灯HL3Q4.24南北绿灯HL4Q4.35南北黄灯HL5Q4.46南北红灯HL6Q4.5当前92页,总共211页。实训内容:交通信号灯的控制要求输入输出模块接线如图所示当前93页,总共211页。实训内容:交通信号灯的控制要求3.程序设计:设计提示:可先采用SE指令,产生周期为23秒,占空比为11:12的矩形波。再将其分割成所需要的矩形波。参考程序见附录光盘当前94页,总共211页。实训步骤

1.按照输入输出模块接线图以及直流电动机主电路接线图进行外部接线;2.使用STEP-7软件创建项目,并进行硬件配置和参数设置3.打开项目中的OB1程序块编写控制程序4.下载,调试程序当前95页,总共211页。3.9STEP7指令系统(三)移位指令和循环指令控制转移指令及应用比较指令及其应用当前96页,总共211页。移位指令和循环指令字左移指令SHL_W字右移指令SHR_W双字左移指令SHL_DW双字右移指令SHR_DW整数右移指令SHR_I双整数右移指令SHR_DI循环指令能够将累加器1整个内容逐位向左或者向右循环移位。可使用的循环指令有:双字左循环指令ROL_DW双字右循环指令ROR_DW当前97页,总共211页。1.字左移指令当允许输入EN位为高电平“1”时,将执行移位指令,将IN端指令的内容送入累加器1低字中,并左移N端指定的位数,然后写入OUT端指令的目的地址中。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INWORD移位对象NWORD移动的位数OUTWORD移动操作的结果当前98页,总共211页。1.字左移指令字左移指令的工作方式如图所示当前99页,总共211页。1.字左移指令如图所示的程序中,当I0.2的状态为“1”时,CPU把MW2中的数据读入累加器1低字中,并将累加器1低字的内容左移2位(N=W#16#2),然后再将移位后的内容写入到MW10中,注意MW2中的内容并没有变化当前100页,总共211页。1.字左移指令要想在同一个存储字中看到移位的效果,可以将IN和OUT端指定相同的地址。如图所示当前101页,总共211页。1.字左移指令注意:移位指令是高电平执行。要每次按下I0.2的外部输入按钮,移位指令只执行一次,可以在I0.2的常开接点后加上升沿检测指令--(P),将EN端的信号变成只有一个扫描周期的高电平信号。如图所示当前102页,总共211页。2.字右移指令字右移指令执行时,当允许输入EN的状态为“1”时,将执行移位指令LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INWORD移位对象NWORD移动的位数OUTWORD移动操作的结果当前103页,总共211页。2.字右移指令字右移指令工作方式如图所示当前104页,总共211页。2.字右移指令如图所示的程序当前105页,总共211页。3.双字左移指令双字左移指令是移位对象是32位,当EN端的为“1”时,CPU将IN端的内容读入累加器1,并将累加器1中的内容整体左移N端指定的位数。移位过程中,按照高位丢失低位补“0”的原则进行

LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INDWORD移位对象NWORD移动的位数OUTDWORD移动操作的结果当前106页,总共211页。4.双字右移指令双字右移指令移位的对象是32位,当EN端的状态为“1”时,CPU将IN端指定的内容读入累加器1中,并将累加器1整体右移N端指定的位数,按照低位丢失高位补“0”的原则进行

LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INDWORD移位对象NWORD移动的位数OUTDWORD移动操作的结果当前107页,总共211页。5.整数右移指令整数右移指令与字移位指令不同。整数只有右移指令,移位时按照低位丢失,高位补符号位状态的原则,也就是正数高位补“0”,负数高位补“1”的原则

LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出ININT移位对象NWORD移动的位数OUTINT移动操作的结果当前108页,总共211页。5.整数右移指令整数右移指令工作原理如图所示当前109页,总共211页。6.双整数右移指令双整数右移指令与整数右移类似,双整数移位对象为32位LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出ININT移位对象NWORD移动的位数OUTINT移动操作的结果当前110页,总共211页。7.双字左循环指令双字左循环指令的循环移位对象为32位,当EN端的状态为“1”时,将执行指令:CPU将IN端指定的内容读入累加器1中,然后将累加器1中的内容循环左移N端指定的位数,并写入OUT端指定的目的地址中

LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INWORD移位对象NWORD移动的位数OUTWORD移动操作的结果当前111页,总共211页。7.双字左循环指令双字左循环的工作过程如图所示当前112页,总共211页。7.双字右循环指令LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INWORD移位对象NWORD移动的位数OUTWORD移动操作的结果当前113页,总共211页。7.双字右循环指令双字右循环指令的工作方式如图所示当前114页,总共211页。控制转移指令及应用1.转移指令(JMP)2.若非转移指令(JMPN)当前115页,总共211页。1.转移指令(JMP)当逻辑位RLO的状态为“1”时,将触发转移指令,程序将直接跳转至标号指定的网路,并从此网路开始顺序执行以下的程序,在转移指令和标号之间的程序将不予执行当前116页,总共211页。1.转移指令(JMP)如图所示程序当前117页,总共211页。1.转移指令(JMP)如图所示程序当前118页,总共211页。2.若非转移指令(JMPN)若非转移指令(JMPN)与转移指令相似,其转移条件是当逻辑位的状态为“0”时。当前119页,总共211页。2.若非转移指令(JMPN)如图所示程序:当I0.1的状态为“1”,时,跳转条件不成立,CPU将按正常顺序执行程序。当I0.1的状态为“0”时,跳转条件成立,CPU将跳过程序段2,直接执行程序段3的指令。当前120页,总共211页。2.若非转移指令(JMPN)使用跳转指令的以下结构,可实现选择性执行程序段的功能。程序如图所示当前121页,总共211页。比较指令及其应用两个整数的比较(每一整数均为16位);两个双整数的比较(每一双整数均为32位);两个实数的比较(每一实数均为32位);比较类型有以下几种类型:等于(EQ): IN1等于(==)IN2;不等于(NQ): IN1不等于(<>)IN2;大于(GT): IN1大于(>)IN2;小于(LT): IN1小于(<)IN2;大于或等于(GE):IN1大于或等于(>=)IN2;小于或等于(LE):IN1小于或等于(<=)IN2;当前122页,总共211页。1.整数等于比较指令整数比较指令关键字符为I。整数等于比较指令是判断两个正数是否相等,如果相等,则逻辑结果为“1”,如果不相等则逻辑结果为“0”。LAD参数数据类型说明存储区IN1INT比较的第一个数值I、Q、M、D、LIN2INT比较的第二个数值当前123页,总共211页。1.整数等于比较指令如图所示的程序,当MW10中的内容等于23时,Q0.0的状态为“1”,否则,Q0.0的状态为“0”。当前124页,总共211页。1.整数等于比较指令注意:比较指令的使用接点类似,因此比较指令不能放在逻辑串的最后。如图所示注意:上图所示程序是一个不完整的程序,不能被保存或下载。比较指令只能放在逻辑串的中间。当前125页,总共211页。2.整数不等于比较指令整数不等于比较指令是指当两个整数不相等时,比较的逻辑结果为“1”,而当两个数相等时逻辑结果为“0”。这一指令相当于等于比较指令的“非”操作。LAD参数数据类型说明存储区IN1INT比较的第一个数值I、Q、M、D、LIN2INT比较的第二个数值当前126页,总共211页。3.双整数大于比较指令双整数的关键字为D。大于比较指令是当第一个数值大于第二个数值时,即IN1大于IN2,比较逻辑结果为“1”,否则逻辑结果为“0”。LAD参数数据类型说明存储区IN1DINT比较的第一个数值I、Q、M、D、LIN2DINT比较的第二个数值当前127页,总共211页。4.实数小于等于比较指令实数比较指令的关键字为R。小于等于比较指令是当第一个数值小于或等于第二个数值时,即IN1<=IN2时,比较逻辑结果为“1”,否则逻辑结果为“0”。LAD参数数据类型说明存储区IN1DINT比较的第一个数值I、Q、M、D、LIN2DINT比较的第二个数值当前128页,总共211页。3.10实训六彩灯循环实训目的

1.掌握移位指令的使用。

2.锻炼PLC的程序编制和调试能力实验设备

1.PLC实验板(西门子S7-300)

2.开关按钮1个

3.指示灯6个(也可直接使用S7-300PLC输出模块输出指示灯)

4.PC机和STEP7编程调试软件实验内容实验步骤当前129页,总共211页。实验内容用西门子公司S7系列的PLC实现一个16个彩灯循环闪烁的控制系统。控制要求如下:控制项目1:单向手动控制:要求通过按钮SB1使得16灯泡按照HL1、HL2~HL16的顺序亮灭,移到最高位HL16以后,再回到HL1、重复循环下去。按下停止按钮SB2后,彩灯熄灭,停止工作。当前130页,总共211页。实验内容控制项目2:往复手动控制:要求通过按钮SB1使得16灯泡按照HL1、HL2~HL16的顺序亮灭,移到最高位HL16以后,再按HL16、HL15~HL2、HL1的顺序亮灭,如此反复循环下去。按下停止按钮SB2后,彩灯熄灭,停止工作。当前131页,总共211页。实验内容控制项目3:单向自动控制:彩灯亮灭的顺序与实验1要求相同,但要求彩灯能自动循环,彩灯移动的时间间隔为1秒钟(可根据实际情况修改)当前132页,总共211页。实验内容控制项目4:往复自动控制:彩灯亮灭的顺序与实验2要求相同,但要求彩灯能自动循环,彩灯移动的时间间隔为2秒钟(可根据实际情况修改)当前133页,总共211页。实验内容控制项目5:要求按下启动按钮SB1彩灯按照从小到大(HL1、HL2~HL16)的顺序自动亮灭,第一次时间间隔为1秒钟,第二次移动的时间间隔为2秒钟,第三次移动的时间间隔为3秒钟,移动三次后完成一个循环,重复循环。按下停止按钮SB2后彩灯全灭。当前134页,总共211页。系统分析1.PLC硬件配置控制系统中的硬件配置如下序号名称型号说明数量1CPUCPU31312电源模块PS30713开关量输入模块SM32114开关量输出模块SM32215前连接器20针2当前135页,总共211页。系统分析2.分析控制要求进行输入输出点分配,并根据分配画出外部接线图。资源分配表如表所示序号输入信号名称地址1开始按钮SB1(常开)I0.02停止按钮SB2(常开)I0.1当前136页,总共211页。系统分析序号输出信号名称地址序号输出信号名称地址1彩灯HL1Q5.09彩灯HL9Q4.02彩灯HL2Q5.110彩灯HL10Q4.13彩灯HL3Q5.211彩灯HL11Q4.24彩灯HL4Q5.312彩灯HL12Q4.35彩灯HL5Q5.413彩灯HL13Q4.46彩灯HL6Q5.514彩灯HL14Q4.57彩灯HL7Q5.615彩灯HL15Q4.68彩灯HL8Q5.716彩灯HL16Q4.7当前137页,总共211页。系统分析输入输出模块接线图当前138页,总共211页。系统分析3.分析控制要求写出程序清单当前139页,总共211页。实验步骤1.根据实验要求编写PLC程序2.按照PLC实验线路接线并合上电源3.启动编程软件,编写程序4.进行模拟在线调试。当前140页,总共211页。3.11STEP7指令(四)计数器指令算数运算指令转换指令字逻辑指令当前141页,总共211页。计数器指令计数器置初值指令(SC)加法计数器线圈(CU)减法计数器线圈(CD)当前142页,总共211页。1.计数器置初值指令(SC)当逻辑位RLO有正跳沿时,计数器置初值线圈将预置值装入指定计数器中。若RLO位的状态没有正跳沿发生,则计数器的值保持不变。LAD参数数据类型存储区说明计数器号COUNTERC地址表示预置初值的计数器号预置值WORDI,Q,M,D,L预置值(必须是BCD码格式,即为C#,例如C#23)当前143页,总共211页。2.加法计数器线圈当逻辑位RLO有正跳沿时,加法计数器线圈使指定计数器的值加1,如果RLO位的状态没有正跳沿发生,或者计数器数值已经达到最大值999,则计数器的值保持不变。

LAD参数数据类型存储区说明计数器号COUNTERC地址表示要执行加法计数的计数器号当前144页,总共211页。3.减法计数器线圈当逻辑位RLO有正跳沿时,减法计数器线圈使指定计数器的值减1,如果RLO位的状态没有正跳沿发生,或者计数器数值已经达到最小值0,则计数器的值保持不变。

LAD参数数据类型存储区说明计数器号COUNTERC地址表示要执行减法计数的计数器号当前145页,总共211页。计数器指令的使用举例如图所示当前146页,总共211页。计数器指令的使用举例当I0.0的状态由“0”变为“1”时,(SC)指令将数值23装入计数器C0中,当I0.1的状态由“0”变为“1”时,计数器C0的值将减1,当I0.2的状态由“0”变为“1”时,计数器C0的值将加1。计数器的位状态与计数器值的关系如表所示计数器的计数值计数器的位状态不等于0“1”(高电平)等于0“0”(低电平)当前147页,总共211页。计数器指令的使用举例如图所示,若I0.3的状态为“1”,则计数器C0所计的数值立刻变为零,由于(R)指令是高电平执行,因此若I0.3的状态保持“1”,则计数器C0始终处于清零状态而无法正常使用。用户在使用指令时,应注意指令的执行方式。当前148页,总共211页。4.可逆计数器S_CUDLAD参数数据类型说明存储区<地址>COUNTER计数器标识号CCUBOOL加计数输入I,Q,M,D,LCDBOOL减计数输入SBOOL计数器预置输入PVWORD计数器预置值(C#格式)RBOOL复位输入QBOOL计数器状态CVWORD计数器当前值(整数格式)CV_BCDWORD计数器当前值(BCD格式)当前149页,总共211页。4.可逆计数器S_CUD可以看到,可逆计数器方框指令可以完成计数器的加(CU)、减(CD)计数和置初值(S、PV)以及计数器值清零(R)等功能,还可以将计数器当前值以不同的格式输出,整数格式(CV)和BCD格式(CV_BCD)。计数器的状态可以Q端输出,也可以由计数器的触点输出。当前150页,总共211页。4.可逆计数器S_CUD例如,前面例子中两图所示的程序可以由下图所示的程序代替当前151页,总共211页。4.可逆计数器S_CUD使用计数器时应该注意下面几点问题(1)计数器指令的加、减计数输入端以及预置值输入端均为上升沿执行,即逻辑位必须有从“0”到“1”的变化时,指令才会执行。当前152页,总共211页。4.可逆计数器S_CUD(2)计数器的预置的初始值及PV端的数据格式为BCD码二~十进制格式。如果在PV端使用地址如MW10,而不是直接数C#...,应该保证在执行置初值指令时,地址MW10中保存的数据满足BCD码格式,否则执行程序时,CPU将会出错。当前153页,总共211页。4.可逆计数器S_CUD(3)计数器触点的状态由计数器的值决定,如果计数值等于零,则计数器触点的状态为低电平“0”,如果计数值不等于零(无论等于几),则计数器触点的状态为高电平“1”。当前154页,总共211页。算数运算指令加法运算指令ADD减法运算指令SUB乘法运算指令MUL除法运算指令DIV当前155页,总共211页。1.整数加法运算ADD_ILAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT相加的第1个值IN2INT相加的第2个值OUTINT相加的结果当前156页,总共211页。1.整数加法运算ADD_I程序示例如图所示当前157页,总共211页。1.整数加法运算ADD_I如图所示的程序中当前158页,总共211页。1.整数加法运算ADD_I若I0.0后面没有边沿检测指令,程序段1如图所示当前159页,总共211页。2.整数减法运算SUB_I减法指令运算规则为:IN1—IN2=OUTLAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被减数IN2INT减数OUTINT减法运算的结果当前160页,总共211页。3.整数乘法运算MUL_I允许输入EN的状态为“1”时,启动乘法运算指令,将IN1乘以IN2,并将计算结果送至OUT端。如果计算结果正确,ENO端输出为“1”。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT第1个乘数IN2INT第2个乘数OUTINT乘法运算的结果当前161页,总共211页。4.整数除法运算DIV_I除法指令的运算规则为:IN1÷IN2=OUT

LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被除数IN2INT除数OUTINT除法运算的结果当前162页,总共211页。4.整数除法运算DIV_I例如如图所示的程序,运算结果为6。当前163页,总共211页。5.双整数取余数指令MOD_DI双整数取余数指令,是将两个双整数进行除法运算,并将余数作为结果送到OUT端LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1DINT被除数IN2DINT除数OUTDINT除法运算取余数的结果当前164页,总共211页。5.双整数取余数指令MOD_DI例如27与4两个整数相处的余数为3,利用如图所示的程序可以计算出来当前165页,总共211页。转换指令BCD转换为整数: BCD_I整数转换为BCD: I_BCD整数转换为双整数: I_DIBCD转换为双整数: BCD_DI双整数转换为BCD: DI_BCD双整数转换为实数: DI_R整数二进制码的位取反: INV_I双整数二进制码的位取反: INV_DI当前166页,总共211页。转换指令整数的二进制补码: NEG_I双整数的二进制补码: NEG_DI实数求反: NEG_R实数四舍五入为双整数: ROUND实数舍去小数部分为双整数:TRUNC实数向上取整为双整数:CEIL实数向下取整为双整数:FLOOR当前167页,总共211页。1.BCD转换为整数BCD_IBCD_I指令是将IN指定的内容以BCD码二~十进制格式读出,并将其转换为整数格式,输出到OUT端LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INWORDBCD数OUTINTBCD数的整数值当前168页,总共211页。1.BCD转换为整数BCD_I注意:如果IN端指定的内容超出BCD码的范围(例如四位二进制数出现1010~1111的几种组合),则执行指令时将会发生错误,使CPU进入STOP方式,或者调用编程错误组织块OB121(如果OB121被编程且下载到PLC中)。当前169页,总共211页。1.BCD转换为整数BCD_I如图所示的程序中当前170页,总共211页。2.整数转换为BCD:I_BCDI_BCD指令是将IN端指定的内容以整数的格式读出,然后将其转换为BCD码格式输出到OUT端。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出ININT整数OUTWORD整数转换为BCD码当前171页,总共211页。2.整数转换为BCD:I_BCD在使用I_BCD指令可能会遇到以下情况(1)IN端的整数大于999。

这时,PLC不停机,仍然正常运行。由于字的BCD码最大只能表示C#999(最高四位为符号位)。若IN端的内容大于999,CPU将IN端的内容直接送到OUT端输出,不经过I_BCD的转换。这时OUT输出的内容可能超出BCD码的范围。另外OUT端的内容若为BCD码,也有可能是超过999的整数转换出来的,例如整数2457通过I_BCD指令以后,OUT的值为C#999。因此在使用I_BCD指令时应该保证整数的小于等于999。当前172页,总共211页。2.整数转换为BCD:I_BCD如图所示程序段1(Network1)中,由于整数2457的二进制码为2#0000_1001_1001_1001。因此MW10与MW12中的内容相同,以二进制格式表示均为2#0000_1001_1001_1001。当前173页,总共211页。2.整数转换为BCD:I_BCD(2)IN端的整数为负整数时。转换出的BCD码最高四位为“1”。如下图中程序段2所示,MW14中的内容以二进制表示为2#1111_1001_1001_1001。但MW16中的内容为整数-2457的二进制码(负整数以正整数二进制补码形式保存),为2#1111_0110_0110_0111。因此,应保证IN端的内容不小于-999。当前174页,总共211页。3.整数二进制码的位取反运算:INV_IINV_I指令是将IN的指定的内容与W#16#FFFF作逻辑“或”运算,其结果是IN端输入的状态与OUT输出的状态每一位都相反。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出ININT整数OUTWORD整数二进码的取反运算结果当前175页,总共211页。3.整数二进制码的位取反运算:INV_I如图所示的程序中,MW20中的内容与MW22中的内容完全相反。MW20为2#0000_0000_1110_1110,而MW22中为2#1111_1111_0001_0001。当前176页,总共211页。4.整数的二进制补码:NEG_INEG_I是将IN端的内容进行补码运算(将IN端的内容每一位取反以后再加1)。其结果如果以整数格式读出的话,即为整数值取反。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出ININT整数OUTWORD整数的二进制补码结果当前177页,总共211页。5.实数四舍五入为双整数:ROUNDROUND指令是将实数进行四舍五入取整后转换成双整数的格式LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INREAL实数OUTDINT四舍五入后为双整数当前178页,总共211页。6.实数舍去小数部分为双整数:TRUNCTRUNC指令是将实数舍弃小数部分,并将其转换为双整数格式。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INREAL实数OUTDINT舍去小数部分后为双整数当前179页,总共211页。7.实数向上取整为双整数:CEILCEIL指令是将实数向上取整,结果为大于指定实数的最小双整数。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INREAL实数OUTDINT向上取整为双整数当前180页,总共211页。8.实数向下取整为双整数:FLOORFLOOR指令是将实数向下取整,结果为小于指定实数的最大双整数。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INREAL实数OUTDINT向下取整为双整数当前181页,总共211页。字逻辑指令字与字相“与”指令:WAND_W双字与双字相“与”指令:WAND_DW字与字相“或”指令:WOR_W双字与双字相“或”指令:WOR_DW字与字相“异或”指令:WXOR_W双字与双字相“异或”指令:WXOR_DW当前182页,总共211页。1.字与字相“与”指令:WAND_W当EN端状态为“1”时,执行指令。这一指令根据“与”真值表将IN1端和IN2端的内容逐位组合,并将结果送至OUT端指定的地址。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1WORD逻辑运算第1个值IN2WORD逻辑运算第2个值OUTWORD逻辑与运算的结果当前183页,总共211页。1.字与字相“与”指令:WAND_W如图所示的程序:字逻辑“与”指令的操作结果(MW12中的内容)为2#0000_0000_0000_1001。当前184页,总共211页。2.字与字相“或”指令:WOR_W当EN端状态为“1”时,执行字“或”指令,这一指令根据“或”真值表将输入IN1和IN2端指定的内容逐位组合,并将结果送至OUT端指定的地址。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1WORD逻辑运算第1个值IN2WORD逻辑运算第2个值OUTWORD逻辑或运算的结果当前185页,总共211页。3.字与字相“异或”指令:WXOR_W当EN端状态为“1”时,执行字“异或”指令,这一指令根据“异或”真值表将输入IN1和IN2端指定的内容逐位组合,并将结果送至OUT端指定的地址。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1WORD逻辑运算第1个值IN2WORD逻辑运算第2个值OUTWORD逻辑异或运算的结果当前186页,总共211页。3.12实训7仓库存储控制系统实训目的实训设备实训内容:仓库存储控制系统实训步骤当前187页,总共211页。实训目的1.掌握计数器指令的使用方法。2.掌握算术指令的使用方法。3.掌握转换指令的使用方法。当前188页,总共211页。实训设备1.PLC实验板(西门子S7-300)2.数字量给定板3.数字量输出板4.导线5.PC机和STEP7编程调试软件当前189页,总共211页。实训内容:仓库存储控制系统仓库存储控制系统模型如图所示当前190页,总共211页。实训内容:仓库存储控制系统在两台传送带之间有一个仓库区。传送带1将包裹运送至仓库区,传送带1由电动机M1

温馨提示

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

评论

0/150

提交评论