您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 模板/表格 > PLC的位逻辑指令详细说明
STEP7软件结构及调用执行按用户程序分:系统块、用户块系统块:系统功能块(SFB)、系统功能(SFC)和系统数据块(SDB)用户块:组织块(OB)、功能块(FB)、功能(FC)及数据块(DB)开放水富网操作中的预定义的功能或功能块,这些块不占用用户的任何存储空间。这些块在系统中具有相同的接口、相同的名称和相同的编号,所以可被不同的CPU或CPU之间互换用户程序用户块是提供给用户用于管理用户程序代码和数据的区域,用户块也称为程序块。3.2位逻辑指令及应用位逻辑指令的运算结果用两个二进制数字1和0来表示。可以对布尔操作数(BOOL)的信号状态扫描并完成逻辑操作。逻辑操作结果为RLO(resultoflogicoperatian)(PLC对第一条语句的扫描称为首次扫描,被直接保存在RLO中)位逻辑指令:位逻辑运算、定时器指令、计数器指令及位测试指令。3.2.1基本逻辑指令及应用基本逻辑指令见P36表3-2。PLC规定:如果触点是常开触点,则常开触点“动作”认为是“1”,常开触点“不动作”认为是“0”;如果触点是常闭触点,则常闭触点“动作”认为是“0”,常闭触点“不动作”认为是“1”;一、位操作指令介绍1.逻辑取(装载)及线圈驱动指令LD(load):常开触点逻辑运算的开始。LDN(loadnot):常闭触点逻辑运算的开始=(OUT):线圈驱动指令。位操作类指令2.触点串联指令A/AN指令A(And):与操作,表示串联连接单个常开触点。AN(Andnot):与非操作,表示串联连接单个常闭触点。位操作类指令3.触点并联指令:O(Or)/ON(Ornot)O:或操作,表示并联连接一个常开触点。ON:或非操作,表示并联连接一个常闭触点。网络1LDI0.0OI0.1ONM0.0=Q0.0网络2LDNQ0.0AI0.2OM0.1ANI0.3OM0.2=M0.1位操作类指令4、“异或”和“异或非”XXN表示两信号结果不同时为“1”,两信号结果相同时为“0”在S5系列中不具备此功能,只有在S7系列中才有“异或”和“异或非”指令,但该功能只在STL(语句指令)/FBD(功能块图指令)方式下编程。位操作类指令5.电路块的串联指令ALDALD:块“与”操作,串联连接多个并联电路组成的电路块。位操作类指令()I0.0I0.1I0.2I0.3I0.4I0.5Q0.0OLDOLDLDI0.0AI0.1LDI0.2AI0.3LDNI0.4AI0.5=Q0.0OLDOLD6.电路块的并联指令OLDOLD:块“或”操作,并联连接多个串联电路组成的电路块。位操作类指令M0.0T37()Q0.1()Q0.0注意输出线圈不能串联位操作类指令7.嵌套表达式和先“与”后“或”当逻辑串是串并联的复杂组合时,CPU的扫描是先“与”后“或”。指令规则:先“与”后“或”逻辑不加括号先“或”后“与”逻辑加括号位操作类指令▲▲▲注意电路图上的常闭开关不一定要在PLC等效梯形图中画成常闭的,比如一些机械的限位开关,在电路图里一般画成常开点,这样正常状态下该路通,具体画成什么点要根据程序的逻辑判断。此为PLC内部的软触点和外接硬元件的关系。但根据中央电大考核要求:在考试范围内,凡常闭的在梯形图上一律画成常闭的。实验题:起动保持停止电路(起保停电路)()I0.0I0.1Q0.0Q0.0()I0.0I0.1Q0.0Q0.0LDI0.0起动I0.0停止I0.1Q0.0OQ0.0ANI0.1=Q0.0010111位操作类指令8.置位/复位指令S/R置位指令S:使能输入有效后从起始位S-bit开始的N个位置“1”并保持。复位指令R:使能输入有效后从起始位R-bit开始的N个位清“0”并保持。网络1LDI0.0SQ0.0,1网络2LDI0.1RQ0.0,1……位操作类指令置位/复位功能:复位优先型RS触发器置位优先型RS触发器详情见P47-489.边沿触发指令EU/ED上升沿触发指令:EU在EU指令前有一个上升沿时(由OFF→ON)产生一个宽度为一个扫描周期的脉冲,驱动后面的输出线圈。下降沿触发指令:ED在ED指令前有一个下降沿时(由ON→OFF)产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。基本位操作指令应用举例•抢答器程序设计•(1)控制任务:有3个抢答席和1个主持人席,每个抢答席上各有1个抢答按钮和一盏抢答指示灯。参赛者在允许抢答时,第一个按下抢答按钮的抢答席上的指示灯将会亮,且释放抢答按钮后,指示灯仍然亮;此后另外两个抢答席上即使在按各自的抢答按钮,其指示灯也不会亮。这样主持人就可以轻易的知道谁是第一个按下抢答器的。该题抢答结束后,主持人按下主持席上的复位按钮(常闭按钮),则指示灯熄灭,又可以进行下一题的抢答比赛。位操作类指令(2)I/O分配表输入I0.0SB0//主持席上的复位按钮I0.1SB1//抢答席1上的抢答按钮I0.2SB2//抢答席2上的抢答按钮I0.3SB3//抢答席3上的抢答按钮输出Q0.1L1//抢答席1上的指示灯Q0.2L2//抢答席2上的指示灯Q0.3L3//抢答席3上的指示灯位操作类指令(3)程序设计请写出指令表.位操作类指令三、定时器指令定时器的定时时间:T=PT*S(PT设定值,S时基)工作方式:3种定时指令分别为TON、TONR和TOF3.4定时指令及应用时基(定时器的精度)按脉冲分,有1ms、10ms、100ms三种定时器。1ms定时器每隔1ms刷新一次,当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。10ms定时器则由系统在每个扫描周期开始自动刷新。由于每个扫描周期内只刷新一次,故而每次程序处理期间,其当前值为常数。100ms定时器则在该定时器指令执行时刷新。下一条执行的指令,即可使用刷新后的结果,非常符合正常的思路,使用方便可靠。定时器的工作原理:使能输入有效后,当前值PT对PLC内部的时基脉冲增1计数,当计数值大于或等于定时器的预置值后,状态位置1。用于单一间隔的定时。上电周期或首次扫描,定时器状态位OFF(0),当前值为0。使能输入接通时,定时器位为OFF(0),当前值从0开始计数时间,当前值达到预置值时,定时器位ON(1),当前值最大到32767并保持。使能输入断开,定时器自动复位,即定时器状态位OFF(0),当前值为0。指令格式:TONTxxx,PT1.接通延时定时器用于对许多间隔的累计定时。上电周期或首次扫描,定时器状态位OFF(0),当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器状态位ON(1),当前值连续计数最大到32767。指令格式:TONRTxxx,PT2.保持型接通延时定时器•断电延时型定时器用来在输入断开,延时一段时间后,才断开输出。使能端(IN)输入有效时,定时器输出状态位立即置1,当前值复位为0。使能端(IN)断开时,定时器开始计时,当前值从0递增,当前值达到预置值时,定时器状态位复位为0,并停止计时,当前值保持。•指令格式:TOFTxxx,PT3.断电延时延时定时器例2:闪烁电路I0.0的常开触点接通后,T37的IN输入端为1状态,T37开始定时。2S后定时时间到,T37的常开触点接通,使Q0.0变为ON,同时T38开始计时。3s后T38的定时时间到,它的常闭触点断开,使T37的IN输入端变为0状态,T37的常开触点断开,Q0.0变为OFF,同时使T38的IN输入端变为0状态,其常闭触点接通,T37又开始定时,以后Q0.0的线圈将这样周期性地“通电”和“断电”,直到I0.0变为OFF,Q0.0线圈“通电”时间等于T38的设定值,“断电”时间等于T37的设定值。闭•计数器用来累计输入脉冲的次数。计数器也是由集成电路构成,是应用非常广泛的编程元件,经常用来对产品进行计数。•计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。•指令操作数有4方面:编号、预设值、脉冲输入和复位输入。3.5计数器指令LDI0.0//计数脉冲信号输入端LDI0.1//复位信号输入端CTUC20,+3//增计数,计数设定值//为3个脉冲LDC20//计数值达到3,则=Q0.0//将输入位置1LDI0.0//减计数脉冲输入端LDI0.1//复位输入端CTDC40,+4//减计数器,设定计数//脉冲数为4。LDC40//装入计数器触点=Q0.0//输出触点•CTUD,增减计数器指令。有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。•指令格式:CTUDCxxx,PV•例:CTUDC30,5举例指令表格式LDI0.1LDI0.2LDI0.3CTUDC50,+4LDC50=Q0.0增减计数程序及时序注:在同一程序段里不能同时使用同一计数器的线圈编号。将其中一个C8改为C0-C255之间的任意其他线圈PV为0~32767任意数3.6比较指令•1.字节比较LDB、AB、OB•2.整数比较LDW、AW、OW•3.双字整数比较LDD、AD、OD•4、实数比较LDRAROR比较运算符:==等于、〈小于、〉大于、〈=小于等于、〉=大于等于、〈〉不等于控制要求:•一自动仓库存放某种货物,最多6000箱,需对所存的货物进出计数。货物多于1000箱,灯L1亮;货物多于5000箱,灯L2亮。•其中,L1和L2分别受Q0.0和Q0.1控制,数值1000和5000分别存储在VW20和VW30字存储单元中。程序举例LDI0.0//增计数输入端LDI0.1//减计数输入端LDI0.2//复位输入端CTUDC30,+10000//增减计数,//设定脉冲数//为10000。LDW=C30,VW20//比较计数器//当前值是否大于//VW20中的值=Q0.0//输出触点LDW= C30,VW30//比较计数器//当前值是否大于//VW30中的值=Q0.1//输出触点600060006000时序图1000100050005000C30当前值Q0.0Q0.1一、算术运算指令二、逻辑运算指令3.7运算指令算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变LAD功能IN1+IN2=OUTIN1-IN2=OUTIN1+IN2=OUTIN1-IN2=OUT一、算术运算指令1.整数与双整数加减法指令(INT/DINT)1、将累加器1中的16位整数与累加器2中的16位整数相加,产生一16位整数保存在累加器1中2、用累加器2中的16位整数减去累加器1中的16位整数,产生一16位整数保存在累加器1中3、将累加器1中的32位整数与累加器2中的32位整数相加,产生一32位整数保存在累加器1中4、用累加器2中的32位整数减去累加器1中的32位整数,产生一32位整数保存在累加器1中例4-7运行结果如下(演示)将+500装入累加器1中将+400装入累加器1中,累加器1中的原有值移至累加器2中将运算的结果送到ACO里LAD功能IN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUT2.整数乘除法指令1、用累加器1中的16位整数乘以累加器2中的16位整数,产生一16位整数保存在累加器1中2、用累加器2中的16位整数除以累加器1中的16位整数,产生一16位整数保存在累加器1中,不留余数3、用累加器1中的32位整数乘以累加器2中的32位整数,产生一32位整数保存在累加器1中4、用累加器2中的32位整数除以累加器1中的32位整数,产生一32位整数保存在累加器1中,不留余数5、用累加器1中的16位整数乘以累加器2中的16位整数,产生一32位整数保存在累加器1中6、用累加器2中的16位整数除以累加器1中的16位整数,产生一32位整数保存在累加器1中低16位为商,高16位
本文标题:PLC的位逻辑指令详细说明
链接地址:https://www.777doc.com/doc-7859796 .html