版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PLC第三章(1)编程技术第一页,共136页。CPU按照执行的条件是否成立来决定是否执行相应的程序块或访问对应的数据块STEP7中主要有以下几种类型的块:组织块: OB(OrganizationBlock)功能: FC(Function)功能块: FB(FunctionBlock)系统功能:SFC(SystemFunction)系统功能块:SFB(SystemFunctionBlock)背景数据块:DB(InstanceDataBlock)共享数据块:DB(ShareDataBlock)第二页,共136页。第三页,共136页。一、组织块OB是程序块(逻辑块)根据启动条件的不同,组织块分为以下几类:启动组织块--STOP转为RUN时执行1次,有OB100(暖启动)、OB101(热启动)、OB102(冷启动)等3个循环执行的程序组织块--OB1定期执行的程序组织块--OB10~OB17(日期中断)、OB30~OB38(循环中断)共17个事件驱动执行的程序组织块--OB20~OB27(延时中断)、OB40~OB47(硬件中断)、OB80~OB87(例如OB82为诊断错误)、OB86(扩展机架、DP主站系统或分布式I/O站故障)、OB121(编程错误)、OB122(I/O访问错误)等。当某一事件发生时会执行相应的组织块。如该组织块不存在,CPU将进入STOP。第四页,共136页。二、功能和功能块--由用户编写的程序块在FC和FB中的“变量声明表”中定义变量,当调用此FC或FB时要明确指定这些变量的实际参数。程序代码区变量声明表第五页,共136页。FC和FB的主要区别:FC没有自己的存储区,FB有自己专用的存储区--背景数据块DB。在调用FC时必须指定变量的实际参数在调用FB时必须指定一个背景数据块(如DB10)。可以指定变量的实际参数,也可不指定,此时FB在背景数据块DB中自动读取参数。第六页,共136页。三、系统功能SFC和系统功能块SFBSFC和SFB是系统预先编好可供用户调用的程序块,固化在CPU中第七页,共136页。四、背景数据块和共享数据块--是为用户提供的一个保存数据的区域背景数据块DB是和某个FB或SFB相关联,其内部的数据结构是与其对应的FB或SFB的变量声明表一致的。背景数据块不是由用户编辑的,是由编辑器自己生成的。共享数据块DB用于存储全局数据,所有程序块(OB、FC、FB)都可以访问共享数据块内存储的信息。它的大小和数据结构是由用户自行定义的。第八页,共136页。执行OB1中的程序
(循环执行)事件(日期时间中断、硬件中断等)调用其他
OB,FB,FCAI0.1AI0.2=Q8.0块OB1循环监视时间的开始启动块
(OB100)上电后执行一次从模块读信号状态,并保存到过程映象区(PII)CPU循环输出
模块把过程映象输出表(PIQ)写到输出模块输入
模块S7-300PLC的工作过程:#3第九页,共136页。$2程序结构和编程语言一、STEP7的程序结构分类线性程序结构分块程序结构结构化程序结构第十页,共136页。1.线性程序结构整个用户程序都写在1个连续的程序块中(OB1)。2.分块程序结构整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中,在OB1中顺序调用各个块。在分块程序中,既无数据交换,也不存在重复利用的程序段,FC、FB不传递及不接收参数。第十一页,共136页。3.结构化程序结构整个控制过程按过程要求类似或相关的进行分类,分割成数个小任务。把具有相同控制过程,但控制参数不一致的程序段写在各个可以分配参数的FC或FB中,在OB1中通过多次调用这些FC或FB来完成整个自动化控制任务。第十二页,共136页。二、STEP7的编程语言1.梯形图(LAD)触点、线圈等符号组成第十三页,共136页。2.语句表(STL)由STEP7的指令以文本编程的形式构成语句表编程可使用STEP7的全部指令梯形图和语句表可相互转换,但LAD都可转换成STL,而STL不一定能转换成LAD第十四页,共136页。3.功能图(FBD)类似数字电路的逻辑功能图,指令用功能盒表示,根据一定的逻辑关系连接,以实现一定的控制功能。第十五页,共136页。$3S7-300PLC的数据类型基本数据类型复合数据类型参数数据类型第十六页,共136页。一、基本数据类型
1.位(BOOL)数据长度1位,对应数值为“0”和“1”2.字节(BYTE)数据长度8位,数据格式为“B#16#”,数值范围为B#16#0~B#16#FF第十七页,共136页。3.字(WORD) 数据长度16位,有4种表达形式:二进制:2# 如2#101十六进制:W#16# 如W#16#90F,取值范围W#16#0~W#16#FFFFBCD码:C# 如C#354,取值范围C#0~C#999无符号十进制:B#(*,*) 如B#(12,254),取值范围为B#(0,0)~B#(255,255) 括号中的数字是用十进制的0~255来表示二进制中1个字节的内容,则16位的数就要用2个0~255的数来表示。 如B#(12,254)=2#000011001111111012254第十八页,共136页。以上4种形式均表示1个16位的二进制数。如1个16位存储单元中保存的内容为: 0000_0010_0101_0111, 则这个数既可以写成2#10111,也可写成W#16#257、C#257、B#(2,87)(注:写成不同形式时所对应的数值是不相等的)STEP7中常用十六进制格式,即W#16#**第十九页,共136页。4.双字(DoubleWord)数据长度32位常用十六进制格式:DW#16#取值范围DW#16#0~DW#16#FFFFFFFF5.整数(INT)数据长度16位,带符号,最高位是符号位:0为正数,1为负数。后面15位表示数值,以补码表示。第二十页,共136页。6.双整数(DoubleINT)数据长度32位,最高位表示符号用L#表示双整数,如L#27648表示32位的整数+27648(十进制);L#-9764表示32位的整数-9764。7.浮点数(REAL)数据长度32位,格式:*.****e±**如3.524e+3表示3.524×103=3524
1.0513e-2表示1.0513×10-2=0.010513(数值范围:±1.175495×10-38~±3.402823×1038)第二十一页,共136页。8.S5TIME(SIMATIC时间)表示时间,数据长度16位,包括时基和时间常数二个部分。时间常数采用BCD码,占12位,取值范围0~999;时基占2位,表示时间单位。S5TIME格式为S5T#※h※m※s※ms上例即表示为S5T#439s或S5T#7m19s第二十二页,共136页。二、复合数据类型
长度超过32位的数据称为复合数据类型 复合数据类型是由基本数据类型组合而成的日期时间数据类型字符串类型数组类型结构用户定义类型第二十三页,共136页。数组类型数组(ARRAY)--由一批相同类型的数据组成的一个整体数组定义中包括数组的名称、维数、大小、数组元素的数据类型、各数组元素的初始值。第二十四页,共136页。在数据块DB中用数组来定义数据的方法:
生成数据块DB10第二十五页,共136页。双击DB10图标,在变量声明表中定义数组变量声明表数组名称1维数组,有100个元素,数组元素的数据类型是字节数组元素的初始值每输入1项内容后要按一下“回车”调用数组元素时可用DB10.DBB*或DB10.DBW*的形式。第二十六页,共136页。三、参数数据类型用于功能FC或功能块FB的数据类型,主要包括POINT指针类型和ANY指针类型等指出用于传递数据的数据块DB的块号、数据地址、数据数量、数据类型。 例:P#M50.0(Point指针) P#M10.0BYTE4(Any指针) P#DB10.DBX4.0BYTE32
#4第二十七页,共136页。$4S7-300的寻址方式对编程元件进行访问的方式立即寻址直接寻址间接寻址#第二十八页,共136页。一、立即寻址指令中直接提供操作数 如:SET;RLO位置1 L27648;27648装入累加器ACC1 ;16384÷50→MW20第二十九页,共136页。二、直接寻址(绝对地址寻址)直接指定所访问的存储区域、访问形式及地址数据绝对地址由地址标识符和存储器位置组成地址标识符:指定存储区(如I、Q、M)加上描述数据大小的符号(如B、W、D);指定软元件(如T、C)或块(如FC、DB、SFC)加上软元件或块的编号第三十页,共136页。有4种绝对寻址方式:位寻址字节寻址字寻址双字寻址1.位寻址格式:地址标识符+字节地址+位地址(0-7)例:I4.0,Q20.3,M100.1,DBX0.0第三十一页,共136页。2.字节寻址格式:存储区关键字+B+字节地址(存储区关键字+B即为地址标识符)例:MB0,IB10,QB2,DBB13.字寻址格式:存储区关键字+W+第1字节地址例:MW0,IW10,PIW752,DBW12(1)1个字包括2个字节,如MW0包括MB0、MB1(2)2个字节中地址编号小的是高位字节第三十二页,共136页。4.双字寻址格式:存储区关键字+D+第1字节地址例:MD50,DBD20(1)1个双字包括4个字节,如MD50包括MB50、MB51、MB52、MB53(2)4个字节中地址编号最小的是高位字节第三十三页,共136页。注意:应尽量避免地址重叠情况的发生,使用字寻址时,尽量采用偶数地址;使用双字寻址时,采用加4寻址。第三十四页,共136页。$5S7-300的梯形图(LAD)指令一、位逻辑指令
位逻辑指令用于处理位信号,根据布尔逻辑对位信号进行逻辑组合,或改变位元件的状态。第三十五页,共136页。可执行下列功能的位逻辑指令:
<地址>1.常开触点---||---<地址>2.常闭触点---|/|---<地址>3.线圈输出---()
第三十六页,共136页。<地址>4.中间输出---(#)---5.信号流反向---|NOT|---
中间输出指令是一个中间赋值元素,可以将RLO位(信号流状态)保存到指定的<地址>而不影响能流的逻辑关系。与其它触点联接时,---(#)---可以象一个触点那样插入。---(#)---元素只能放在梯形图的中间,不能连接到母线上也不能放在一个分支的末尾。使用---|NOT|---(信号流反向)元素,可以生成求反的中间逻辑运算结果。第三十七页,共136页。
<地址>6.线圈置位
---(S)<地址>7.线圈复位---(R)当有能流流过线圈时(RLO为“1”),指令所指定<地址>处的位被置位为“1”(或复位为“0”)。RLO为“0”(没有能流流过线圈)时没有任何作用,并且元素指定地址的状态保持不变第三十八页,共136页。<地址>8.RLO下降沿检测---(N)---<地址>9.RLO上升沿检测---(P)---RLO下降沿检测指令可以检测“边沿存储位”的状态从“1”到“0”的变化。如果“边沿存储位”的信号状态发生了下降沿,则使得其后的线圈产生一个脉宽为1个扫描周期的脉冲。RLO上升沿检测指令的功能与其类似,但检测上升沿第三十九页,共136页。RLO-边沿检测I1.0I1.1RLOM1.0M8.0M8.1M1.1OB1-循环例如第四十页,共136页。二、定时器指令脉冲定时器 ---(SP)扩展脉冲定时器 ---(SE)接通延时定时器 ---(SD)保持型接通延时定时器 ---(SS)断开延时定时器 ---(SF)第四十一页,共136页。1、脉冲定时器--(SP)--(SP)指令是产生指定时间宽度脉冲的定时器。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的定时器号时间值S5TIMEI,Q,M,D(数据块),L(局域数据)定时时间值(S5TIME格式)第四十二页,共136页。脉冲定时器--(SP)如图所示程序,定时器T1定义的时间值为2S
第四十三页,共136页。脉冲定时器--(SP)上图程序对应的时序图如图所示第四十四页,共136页。脉冲定时器--(SP)T1接点控制Q0.0线圈,因此T1接点的状态与Q0.0的状态一致。由时序图可以看出,脉冲定时器每次起动的条件是逻辑位有正跳沿发生,定时器启动计时,T1接点开始输出高电平“1”。从时序图可以看到,--(SP)指令计时的过程中,逻辑位的状态若变为“0”(如图中第7秒处)则定时器停止计时,且输出为“0”。因此,脉冲定时器输出的高电平的宽度小于或等于所定义的时间值。第四十五页,共136页。脉冲定时器--(SP)脉冲定时器的方框指令如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)第四十六页,共136页。脉冲定时器--(SP)如图所示的程序中,可从MW10和MW12中以不同的格式读出定时器计时T1剩余的时间。第四十七页,共136页。脉冲定时器--(SP)上图所示的程序对应的时序图如图所示第四十八页,共136页。2、扩展脉冲定时器--(SE)--(SE)指令与--(SP)指令相似,但--(SE)指令具有保持功能。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)第四十九页,共136页。扩展脉冲定时器--(SE)如图所示的程序第五十页,共136页。扩展脉冲定时器--(SE)上图所示的程序对应的时序图如图所示第五十一页,共136页。扩展脉冲定时器--(SE)一旦逻辑位(即I0.0的状态)有正跳沿发生,定时器T0启动,同时输出高电平“1”。定时时间到后,输出将自动变成低电平“0”。如果定时时间尚未到达,逻辑位的状态就由“1”变为“0”,这时定时器仍然继续运行,直到计时完成。这一点是--(SE)指令与--(SP)指令的不同之处。第五十二页,共136页。扩展脉冲定时器--(SE)扩展脉冲定时器的方框指令如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)第五十三页,共136页。3、开通延时定时器--(SD)开通延时定时器指令--(SD),相当于继电器控制系统中的通电延时时间继电器。通电后延时一段时间触点动作LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)第五十四页,共136页。开通延时定时器--(SD)如图所示的程序:第五十五页,共136页。开通延时定时器--(SD)上图所示的程序对应的时序图如图所示第五十六页,共136页。开通延时定时器--(SD)--(SD)对应的方框如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)第五十七页,共136页。4、保持型开通延时定时器--(SS)保持型开通延时--(SS)与开通延时定时器--(SD)类似,但--(SS)指令有保持功能。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)第五十八页,共136页。保持型开通延时定时器--(SS)
保持型开通延时定时器的应用方法如图所示第五十九页,共136页。保持型开通延时定时器--(SS)上图中的程序对应的时序图如图所示第六十页,共136页。保持型开通延时定时器--(SS)保持型开通延时定时器的方框指令如表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)第六十一页,共136页。5、关断延时定时器--(SF)关断延时定时器--(SF)相当于继电器控制系统中的断电延时时间继电器。也是定时器指令中唯一的一个由下降沿启动的定时器指令。LAD参数数据类型存储区说明<地址>TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)第六十二页,共136页。关断延时定时器--(SF)如图所示的程序第六十三页,共136页。关断延时定时器--(SF)上图中的程序对应的时序图如图所示第六十四页,共136页。关断延时定时器--(SF)关断延时计时器的方框指令如下表所示LAD参数数据类型说明存储区<地址>TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)第六十五页,共136页。定时器应用举例:(1)使用--(SP)或--(SE)指令构成脉冲发生器:使用脉冲定时器如图所示的程序可产生周期性变化的脉冲信号。第六十六页,共136页。上图中的程序对应的时序图如图所示第六十七页,共136页。(2)使用--(SD)指令产生周期性变化的脉冲信号:使用--(SD)指令可以采用下图所示的程序得到脉冲信号第六十八页,共136页。上图所示的程序对应的时序图如图所示第六十九页,共136页。(3)使用--(SD)、(SP)、(SF)等指令,实现洗手间冲水控制的功能。程序和工作波形如图所示第七十页,共136页。时序图如图所示第七十一页,共136页。定时器归纳:2种脉冲定时器(SP、SE),2种通电延时定时器(SD、SS),1种断电延时定时器(SF)SP、SD为电平控制,SE、SS为边沿控制SP、SE、SD、SS通电开始延时,SF断电开始延时SP、SE、SF通电触点就动作,延时到触点断开;SD、SS延时到触点动作。#5第七十二页,共136页。三、计数器指令STEP7提供3种计数器:加法计数器、减法计数器、可逆(加/减)计数器。本节只对可逆(加/减)计数器进行介绍。第七十三页,共136页。1.计数器线圈指令
计数器置初值指令(SC)加法计数器线圈(CU)减法计数器线圈(CD)第七十四页,共136页。(1)计数器置初值指令(SC)当逻辑位RLO有正跳沿时,计数器置初值线圈将预置值装入指定计数器中。若RLO位的状态没有正跳沿发生,则计数器的值保持不变。LAD参数数据类型存储区说明计数器号COUNTERC地址表示预置初值的计数器号预置值WORDI,Q,M,D,L预置值(必须是BCD码格式,即为C#,例如C#23)第七十五页,共136页。(2)加法计数器线圈
(CU)当逻辑位RLO有正跳沿时,加法计数器线圈使指定计数器的值加1,如果RLO位的状态没有正跳沿发生,或者计数器数值已经达到最大值999,则计数器的值保持不变。
LAD参数数据类型存储区说明计数器号COUNTERC地址表示要执行加法计数的计数器号第七十六页,共136页。(3)减法计数器线圈(CD)
当逻辑位RLO有正跳沿时,减法计数器线圈使指定计数器的值减1,如果RLO位的状态没有正跳沿发生,或者计数器数值已经达到最小值0,则计数器的值保持不变。
LAD参数数据类型存储区说明计数器号COUNTERC地址表示要执行减法计数的计数器号第七十七页,共136页。计数器线圈指令的使用举例
如图所示第七十八页,共136页。计数器指令的使用举例当I0.0的状态由“0”变为“1”时,(SC)指令将数值23装入计数器C0中,当I0.1的状态由“0”变为“1”时,计数器C0的值将减1,当I0.2的状态由“0”变为“1”时,计数器C0的值将加1。计数器的位状态与计数器值的关系如表所示计数器的计数值计数器的位状态(即触点状态)不等于0“1”(高电平)等于0“0”(低电平)第七十九页,共136页。计数器指令的使用举例如图所示,若I0.3的状态为“1”,则计数器C0所计的数值立刻变为零,由于(R)指令是高电平执行,因此若I0.3的状态一直保持“1”,则计数器C0始终处于清零状态而无法正常使用。用户在使用指令时,应注意指令的执行方式(可加脉冲位)。第八十页,共136页。2.可逆计数器(S_CUD)的方框指令LAD参数数据类型说明存储区<地址>COUNTER计数器标识号CCUBOOL加计数输入I,Q,M,D,LCDBOOL减计数输入SBOOL计数器预置输入PVWORD计数器预置值(C#格式)RBOOL复位输入QBOOL计数器位状态CVWORD计数器当前值(整数格式)CV_BCDWORD计数器当前值(BCD格式)第八十一页,共136页。可以看到,可逆计数器方框指令可以完成计数器的加(CU)、减(CD)计数和置初值(S、PV)以及计数器值清零(R)等功能,还可以将计数器当前值以不同的格式输出,整数格式(CV)和BCD格式(CV_BCD)。计数器的状态可以Q端输出,也可以由计数器的触点输出。第八十二页,共136页。例如,前面例子中两图所示的程序可以由下图所示的程序代替第八十三页,共136页。计数器归纳:SC指令设置计数器预置值CU指令加法计数CD指令减法计数当前计数值不为零触点接通(ON);仅在当前计数值为零时触点断开(OFF)用复位指令—(R)—可使当前计数值清零,触点断开仅在计数脉冲上升沿计数,加到999(或减到0)后当前计数值不再增大(或减小)。第八十四页,共136页。注意!定时器的定时时间值和计数器预置值都必须是BCD码格式,数值范围0-999第八十五页,共136页。计数器的使用举例:第八十六页,共136页。四、数据处理指令数据处理指令包括数据传送、转换、算术运算、移位及字逻辑指令第八十七页,共136页。1.数据装载和传送指令:(MOVE)数据装载和传送指令(MOVE)如表所示LAD参数数据类型说明存储区ENBOOL允许输入I,Q,M,D,LENOBOOL允许输出IN长度为8位、16位、32位的所有数据类型源数据OUT长度为8位、16位、32位的所有数据类型目的地地址第八十八页,共136页。数据装载和传送指令(MOVE)举例:第八十九页,共136页。2.数据转换BCD转换为整数(BCD_I)整数转换为BCD(I_BCD)第九十页,共136页。(1)BCD转换为整数(BCD_I)BCD_I指令是将IN指定的内容以BCD码(二~十进制)格式读入,并将其转换为整数格式,输出到OUT端LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出INWORDBCD数OUTINTBCD数的整数值第九十一页,共136页。注意:如果IN端指定的内容超出BCD码的范围(例如四位二进制数出现1010~1111的几种组合),则执行指令时将会发生错误,使CPU进入STOP方式,或者调用编程错误组织块OB121(如果OB121被编程且下载到PLC中)。第九十二页,共136页。程序举例C#123:0000_0001_0010_0011(MW8)=C#123(MW10)=123=2#0000_0000_0111_1011W#16#12A超出BCD码范围,I0.2=1时将出错,CPU的SF灯亮,调用OB121。无OB121时CPU进入STOP;有OB121时CPU带错运行。第九十三页,共136页。(2)整数转换为BCD(I_BCD)I_BCD指令是将IN端指定的内容以整数的格式读入,然后将其转换为BCD码格式输出到OUT端。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出ININT整数OUTWORD整数转换为BCD码第九十四页,共136页。在使用I_BCD指令可能会遇到以下情况(1)IN端的整数大于999。
这时,PLC不停止,仍然正常运行。由于字(Word)的BCD码最大只能表示C#999(最高四位为符号位)。若IN端的内容大于999,CPU会将IN端的内容直接送到OUT端输出,不经过I_BCD的转换。这时OUT输出的内容可能超出BCD码的范围。注意当OUT端的内容为BCD码时,不一定是正确的转换结果,也有可能是超过999的整数直接传送过来的。例如整数2457通过I_BCD指令以后,OUT的值为C#999。因此在使用I_BCD指令时应该保证整数的值小于等于999。第九十五页,共136页。例如图示程序段1(Network1)中,由于整数2457的二进制码为2#0000_1001_1001_1001。因此MW10与MW12中的内容相同,以二进制格式表示均为2#0000_1001_1001_1001,但MW12中是错误变换的结果。第九十六页,共136页。(2)IN端的整数为负整数时。转换出的BCD码最高四位为“1”。如下图中程序段2所示,MW14中的内容以二进制表示为2#1111_1001_1001_1001。但MW16中的内容为整数-2457的二进制码(负整数以二进制补码形式保存,即2#1111_0110_0110_0111),形式上为十进制数-667,但实际是错误结果。因此,应保证IN端的内容不小于-999。第九十七页,共136页。3.算术运算加法运算指令ADD减法运算指令SUB乘法运算指令MUL除法运算指令DIV第九十八页,共136页。(1)16位整数加法运算ADD_ILAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT相加的第1个值IN2INT相加的第2个值OUTINT相加的结果第九十九页,共136页。程序示例如图所示第一百页,共136页。运算结果可能失控的情况下需加脉冲指令第一百零一页,共136页。(2)16位整数减法运算SUB_I减法指令运算规则为:IN1-IN2=OUTLAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被减数IN2INT减数OUTINT减法运算的结果第一百零二页,共136页。(3)16位整数乘法运算MUL_I
允许输入EN的状态为“1”时,启动乘法运算指令,将IN1乘以IN2,并将计算结果送至OUT端。如果计算结果正确,ENO端输出为“1”。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被乘数IN2INT乘数OUTINT乘法运算的结果第一百零三页,共136页。如果运算结果超出16位范围(-32768~+32767)时,ENO=0,同时CPU的状态字中OV=1、OS=1若估计运算结果可能会超出16位范围,应采用32位乘法指令:LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1DINT或常数被乘数IN2DINT或常数乘数OUTDINT乘法运算的结果第一百零四页,共136页。如果I0.0=“1”,则MUL_DI方块指令激活。MD0与MD4相乘的结果放入MD10中。如果结果超出双整数的允许范围,则输出Q4.0置位。第一百零五页,共136页。(4)16位整数除法运算DIV_I
除法指令的运算规则为:IN1÷IN2=OUT
LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被除数IN2INT除数OUTINT除法运算的结果第一百零六页,共136页。例如如图所示的程序,运算结果为6。第一百零七页,共136页。(5)双整数取余数指令MOD_DI
在16位整数除法中,余数被舍弃,若要取余数,要用双整数取余数指令MOD_DI。双整数取余数指令,是将两个双整数进行除法运算,并将余数作为结果送到OUT端
LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1DINT被除数IN2DINT除数OUTDINT除法运算取余数的结果第一百零八页,共136页。例如27与4两个整数相除的余数为3,利用如图所示的程序可以计算出来(L#为双整数)第一百零九页,共136页。4.比较指令是比较触点指令对2个源数据(IN1和IN2)进行比较,如果条件满足,则比较触点接通;条件不满足,比较触点断开。第一百一十页,共136页。比较指令及其应用源数据:两个整数(I)的比较(每一整数均为16位);两个双整数(DI)的比较(每一双整数均为32位);两个实数(R)的比较(每一实数均为32位);比较关系有以下几种类型:等于(EQ): IN1等于(==)IN2;不等于(NQ): IN1不等于(<>)IN2;大于(GT): IN1大于(>)IN2;小于(LT): IN1小于(<)IN2;大于或等于(GE): IN1大于或等于(>=)IN2;小于或等于(LE): IN1小于或等于(<=)IN2;第一百一十一页,共136页。(例1)整数等于比较指令整数比较指令关键字符为I。整数等于比较指令是判断两个整数是否相等,如果相等,则逻辑结果RLO为“1”,如果不相等则逻辑结果RLO为“0”。LAD参数数据类型说明存储区IN1INT比较的第一个数值I、Q、M、D、LIN2INT比较的第二个数值第一百一十二页,共136页。如图所示的程序,当MW10中的内容等于23时,Q0.0的状态为“1”,否则,Q0.0的状态为“0”。第一百一十三页,共136页。注意:比较指令的使用类似触点,因此比较指令不能放在梯级的最后。如图所示说明:上图所示程序是一个不完整的程序,不能被保存或下载。比较指令只能放在逻辑串的中间,在它右边一定还应有线圈或其它指令。第一百一十四页,共136页。(例2)整数不等于比较指令
整数不等于比较指令是指当两个整数不相等时,比较的逻辑结果RLO为“1”,而当两个数相等时逻辑结果RLO为“0”。这一指令相当于“等于”比较指令的“非”操作。LAD参数数据类型说明存储区IN1INT比较的第一个数值I、Q、M、D、LIN2INT比较的第二个数值第一百一十五页,共136页。其余16位整数比较的方框指令格式与上述指令相同,只是方框中的操作码不同:第一百一十六页,共136页。(例3)双整数大于比较指令双整数的关键字为D。大于比较指令是当第一个数值大于第二个数值时,即IN1大于IN2,比较逻辑结果RLO为“1”,否则逻辑结果RLO为“0”。LAD参数数据类型说明存储区IN1DINT比较的第一个数值I、Q、M、D、LIN2DINT比较的第二个数值第一百一十七页,共136页。(例4)实数小于等于比较指令实数比较指令的关键字为R。小于等于比较指令是当第一个数值小于或等于第二个数值时,即IN1<=IN2时,比较逻辑结果RLO为“1”,否则逻辑结果RLO为“0”。LAD参数数据类型说明存储区IN1DINT比较的第一个数值I、Q、M、D、LIN2DINT比较的第二个数值第一百一十八页,共136页。字与字相“与”指令:WAND_W双字与双字相“与”指令:WAND_DW字与字相“或”指令:WOR_W双字与双字相“或”指令:WOR_DW字与字相“异或”指令:WXOR_W双字与双字相“异或”指令:WXOR_DW5.字逻辑指令第一百一十九页,共136页。(1)字与字相“与”指令:WAND_W
当EN端状态为“1”时,执行指令。这一指令根据“与”真值表将IN1端和IN2端的内容逐位相与,并将结果送至OUT端指定的地址。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1WORD逻辑运算第1个值IN2WORD逻辑运算第2个值OUTWORD逻辑与运算的结果第一百二十页,共136页。如图所示的程序:设MW10中的内容为 2#0111_0010_0101_1001AND2#0000_0000_0000_1111字逻辑“与”指令的操作结果(MW12中的内容)为 2#0000_0000_0000_1001。第一百二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大语言模型多模态能力在PC端全面落地
- 2026年县域消费增长快潜力大的底层逻辑:占全国七成人口六成GDP的消费蓝海
- 江苏省苏州市工业园区达标名校2025-2026学年中考三轮模拟试卷生物试题卷含解析
- 2025-2026学年四川省邛崃市初三4月普通高中毕业班中考适应性考试化学试题含解析
- 2026年校园碳普惠场景开发:零碳校园与环保研学旅站建设
- 福建省龙岩市连城县2025-2026学年初三5月质检(模拟)化学试题含解析
- 天津市大港油田重点达标名校2026年初三下学期第一次周考化学试题(重点班)试题含解析
- 2026届北京市宣武区名校初三毕业班第一次调研测试生物试题含解析
- 2026届河南省安阳市林州市达标名校初三4月调研考试化学试题含解析
- 2026年湖北省武汉外国语校中考预测金卷生物试题文(湖南卷)含解析
- 2025新版压疮防治指南解读
- 做账实操-增值税强制申报情况说明书
- 胃食管反流病
- 洗衣店和单位洗衣合同范本
- 高中英语单选题100道及答案
- 2025年江苏省南京市、盐城市高考数学一模试卷(含答案)
- 上海2024年高考英语试卷
- 保安证考试的复习方法及技巧试题及答案
- 化工设计知到智慧树章节测试课后答案2024年秋浙江大学
- 苏教版六年级数学下册第2单元《圆柱和圆锥》全部课件(共10课时)
- 中小学寒假安全教育主题班会课件
评论
0/150
提交评论