第3章基本逻辑指令新.docx
- 文档编号:11058389
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:29
- 大小:567.88KB
第3章基本逻辑指令新.docx
《第3章基本逻辑指令新.docx》由会员分享,可在线阅读,更多相关《第3章基本逻辑指令新.docx(29页珍藏版)》请在冰豆网上搜索。
第3章基本逻辑指令新
第3章
基本逻辑指令
教学目标
3.1概述
基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算,在梯形图中是指对触点的简单连接和对标准线圈的输出。
语句表编程语言用指令助记符创建控制程序,它是一种面向具体机器的语言,可被PLC直接执行,一般来说,语句表语言更适合于熟悉可编程序控制器和逻辑编程方面有经验的编程人员。
用这种语言可以编写出用梯形图或功能框图无法实现的程序,但利用语句表时进行位运算时需要考虑主机的内部存储结构。
S7-1200PLC基本逻辑指令主要包括位逻辑指令、定时器指令、计数器指令、比较指令、数学指令、移动指令、转换指令、程序控制指令、逻辑运算指令以及移位和循环移位指令等。
3.2PLC的基本逻辑指令
3.2.1位逻辑指令
3.2.1.1触点指令及线圈指令
1、常开触点与常闭触点
常开触点(见表3-2)在指定的位为1状态(0N)时闭合,为0状态(OFF)时断开。
常闭触点在指定的位为1状态时断开,为0状态是闭合。
表3-2位逻辑指令
指令
描述
指令
描述
常开触点
RS锁存器
置位优先锁存器
常闭触点
SR锁存器
复位优先锁存器
取反触点
上升沿检测触点
输出线圈
下降沿检测触点
取反输出线圈
上升沿检测线圈
置位
下降沿检测线圈
复位
P_TRIG
上升沿触发器
区域置位
N_TRIG
下降沿触发器
区域复位
2、NOT取反触点
NOT触点用来转换能流动输入的逻辑状态。
如果没有能流流入NOT触点,则有能流流出(见图3-3a)。
如果有能流流入NOT触点,则没有能流流出(见图3-3b)。
(a)
(b)
图3-3NOT触点
3、输出线圈
线圈输出指令系统将线圈的状态写入指定的地址,线圈通电时写入1,断电时写入0如果是Q区的地址,CPU将输出的值传送给对应的过程映像输出。
在RUN模式,CPU不停地扫描输入信号,根据用户程序的逻辑处理输入状态,通过向过程映像输出寄存器写入新的输出状态值来作出响应。
在写输出阶段,CPU将存储在过程殃像寄存器中的新的输出状态传送给对应的输出电路。
可以用Q0.0:
P的线圈将位数据值立即写入过程映像输出Q0.0,同时直接写给对应的物理输出点。
反相输出线圈中间有“/”符号,如果有能流流过M4.1的反相输出线圈(见图3-4a),则M10.0的输出位为0状态,其常升触点断开(见图3-4b),反之M10.0的输出位为1状态,其常开触点闭合。
(a)
(b)
圈3-4反相输出线圈
3.2.2其他位逻辑指令
1、置位复位指令
S(Set,置位或置1)指令将指定的地址位置位(变为l状态并保持)。
R(Reset,复位或置O)指令将指定的地址位复位(变为O状态并保持)。
置位指令与复位指令最主要的特点是有记忆和保持功能。
如果图3-5中I0.0的常开触点闭合,Q0.0变为1状态并保持该状态。
即使I0.0的常开触点断开,Q0.0也仍然保持l状态(见图3-6中波形图)。
在程序状态中,用Q0.0的S和R线圈连续的绿色圆弧和绿色的字母表示l状态,用间断的蓝色圆弧和蓝色的字母表示0状态。
图3-5置位与复位指令图3-6波形图
I0.1的常开触点闭合时,Q0.0变为0状态并保持该状态,即使I0.1的常开触点断开,Q0.0也仍然保持0状态。
2、多点置位复位指令
SET_BF(Setbitfield,多点置位)指令将指定的地址开始的连续的若干个位地址置位(变为1状态并保持)。
在图3-7的I0.0的上升沿(从O状态变为l状态),从Q0.0开始的4个连续的位被置位为1并保持l状态。
RESET_BF(Resetbitfield,多点复位)指令将指定的地址开始的连续的若干个位地址复位(变为O状态并保持)。
在图3-7的I0.1的下降沿(从l状态变为0状态),从Q0.0开始的4个连续的位被复位为0并保持O状态。
与S7-200和S7-300/400不同,S7-1200的梯形圈允许在一个程序段内网络内输入多个独立电路(见图3-7)。
图3-7边沿检测触点与多位置置位复位
3、置位优先锁存器与复位优先锁存嚣
SR是复位优先锁存器见图3-8a,其输入/输出关系见表3-9,两种锁存器的区别仅在于表的最下面一行。
在置位(S)和复位(R1)信号同时为l时,SR锁存器的输出位M10.0被复位为0。
Q0.0输出为0状态。
RS是置位优先锁存器见图3-8b,其输入/输出关系见表3-9,在置位(S)和复位(R1)信号同时为l时,RS锁存器的输出位M10.1被置位为1。
Q0.1输出为1状态。
(a)
(b)
图3-8SR锁存器与RS锁存器
表3-9RS与SR锁存器的功能
复位优先锁存器(SR)
置位优先锁存器(RS)
S
R1
输出位
S
R1
输出位
0
0
保持前一状态
0
0
保持前一状态
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
4、边沿检测触点指令
图3-7中间有P的触点是上升沿检测触点,如果输入信号I0.0由O状态变为l状态(即输入信号I0.0的上升沿),则该触点接通一个扫描周期。
边沿检测触点不能放在电路结束处。
P触点下面的M10.0为边沿存储位,用来存储上一次扫描循环时I0.0的状态。
通过比较输入信号的当前状态和上一次循环的状态,来检测信号的边沿。
边沿存储位的地址只能在程序中使用一次,它的状态不能在其他地方被改写。
只能使用M、全局DB和静态局部变量(Static)来作边沿存储位,不能使用临时局部变量或I/O变量来作边沿存储位。
图3-7中间有N的触点是下降沿检测触点,如果输入信号I0.1由l状态变为O状态(即输入信号I0.1的下降沿),RESET_BF的线圈“通电”一个扫描循环周期。
N触点下面的M10.1为边沿存储位。
5、边沿检测线圈指令
中间有P的线圈是上升沿检测线圈(见图3-10),仅在流进该线圈的能流的上升沿(线圈由断电变为通电),输出位M10.0为1状态。
M11.0为边沿存储位。
中间有N的线圈是下降沿检测线圈(见图3-10),仅在流进该线圈的能流的下降沿(线圈由通电变为断电),输出位M10.1为1状态。
M11.1为边沿存储位。
边沿检测线圈不会影响逻辑运算结果RLO,它对能流是畅通无阻的,其输入端的逻辑运算结果被立即送给线圈的输出端。
边沿检测线圈可以放置在程序段的中间或程序段的最右边。
在运行时用外接的小开关使I0.0变为l状态,I0.0的常开触点闭台,能流经P线圈和N线圈流过Q0.0的线圈。
在I0.0的上升沿,M10.0的常开触点闭合一个扫描周期,使Q0.1置位。
在I0.0的下降沿,M10.1的常开触点闭合一个扫描周期,使Q0.1复位。
图3-10边沿检测线圈指令
6、P_TRIG指令与N_TRIG指令
在流进P_TRIG指令的CLK输入端(见图3-11)的能流的上升沿(能流刚出现),Q端输出脉冲宽度为一个扫描用期的能流,使Q0.0置位。
P_TRIG指令框下面的M10.0是脉冲存储器位。
在流进N_TRIG指令的CLK输入端的能流的下降沿(能流刚消失),Q端输出脉冲宽度为一个扫描周期的能流,使Q0.0复位。
N_TRIG指令框下面的M10.1是脉冲存储器位。
P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。
在设计程序时应考虑输入和存储位的初始状态,是允许还是应避免首次扫描的边沿检测。
图3-11P_TRIG指令与N_TRIG指令
7、边沿检测指令的比较
下面比较3种边沿检测指令的功能(以上升沿检测为例):
在
触点上面的地址的上升沿,该触点接通一个扫描周期。
因此P触点用于检测触点上面的地址的上升沿,并且直接输出上升沿脉冲。
在流过
线圈的能流的上升沿,线圈上面的地址在一个扫描周期为l状态。
因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。
在流入P_TRIG指令的CLK端的能流的上升沿,Q端输出一个扫描周期的能流。
因此P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。
如果P_TRIG指令左边只有I0.0的常开触点,可以用I0.0的P触点来代替它们。
3.2.2定时器与计数器指令
S7-1200采用IEC标准的定时器和计数器指令。
3.2.2.1定时器指令
1、定时器指令的基本功能
S7-1200有4种定时器,图3-12给出了它们的基本功能。
1)脉冲定时器(TP):
在输入信号IN的上升沿产生一个预置宽度的脉冲,闭中的t为定时器的预置值。
2)接通延时定时器(TON):
输入IN变为l状态后,经过预置的延迟时间,定时器的输出Q变为l状态。
输入IN变为O状态时,输出Q变为0状态。
3)断开延时定时器(TOF):
输入IN为1状态时,输出Q为1状态。
输入IN变为0状态后,经过预置的延迟时问,输出Q变为O状态。
4)保持型接通延时定时器(TONR):
输入IN变为l状态后,经过预置的延迟时间,定时器的输出Q变为1状态。
输入IN的脉冲宽度可以小于时间预置值。
图3-12定时器的基本功能
定时器的输入IN为启动定时的使能输入端,IN从O状态变为1状态时,启动TP、TON和TONR开始定时。
IN从1状态变为0状态时,启动TOF开始定时。
PT(PresetTime)为时间预置值,ET(ElapsedTime)为定时开始后经过的时间,或称为已耗时间值,它们的数据类型为32位的Time,单位为ms,最大定时时间长选T#24D_20H_31M_23S_647MS(D、H、M、S、MS分别是日、小时、分、秒和毫秒)。
可以不给输出ET指定地址。
Q为定时器的位输出,各变量均可以使用I(仅用于输入变量)、Q、M、D、L存储区。
2、脉冲定时器
IEC定时器和IEC计数器属于功能块,调用时需要指定配套的背景数据块,定时器和计数器指令的数据保存在背最数据块中。
在梯形图中输入定时器指令时,打开右边的指令窗口,将“定时器操作”文件夹中的定时器指令拖放到梯形图合适当的位置。
在出现的“调用选项”对话框中(见图3-14),可以修改将要生成的背景数据块的名称,或采用默认的名称。
点击“确认”按钮,自动生成数据块。
脉冲定时器类似于数字电路中上升沿触发的单稳态电路。
在IN输入信号的上升沿,Q输出变为l状态,开始输出脉冲。
达到PT预置的时间时,Q输出变为O状态(见图3-15的波形A、B、E)。
IN输入的脉冲宽度可以小于Q端输出的脉冲宽度。
在脉冲输出期间,即使IN输入又出现上升沿(见波形B),也不会影响脉冲的输出。
用程序状态功能可以观察已耗时间的变化情况(见图3-13)。
定时开始后,已耗时间从Oms开始不断增大,达到PT预置的时间时,如果IN为l状态,则已耗时间值保持不变(见波形A)。
如果IN为0状态,则定时时间变为Os(见波形B)。
定时器指令可以放在程序段的中间或结束处。
IEC定时器没有编号,在使用对定时器复位的RT指令时,可以用背景数据块的编号或符号名来指定需要复位的定时器。
如果没有必要,不用对定时器使用RT指令。
图3-13中的I0.1为1时,定时器复位线圈(RT)通电,定时器被复位。
如果此时正在定时,且IN输入为0状态,将使已耗时间清零,Q输出也变为0状态(见波形C)。
如果此时正在定时,且IN输入为1状态,将使已耗时间清零,但是Q输出保持l状态(见波形D)。
复位信号I0.1变为O状态时,如果IN输入为l状态,将重新开始定时(见波形E)。
图3-13脉冲定时器的程序状态
图3-14生成定时器的背景数据块图3-15脉冲定时器的波形图
3、接通延时定时器
接通延时定时器(TON)的使能输入端(IN)的输入电路由断开变为接通时开始定时。
定时时间大于等于预置时间(PT)指定的设定值时,输出Q变为l状态,已耗时间值(ET)保持不变(见图3-17中的波形A)。
IN输入端的电路断开时,定时器被复位,已耗时间被清零,输出Q变为O状态。
CPU第一次扫描时,定时器输出Q被清零。
如果输入IN在未达刭PT设定的时间时变为0状态(见波形B),输出Q保持0状态不变。
图3-16中的I0.1为1状态时,定时器复位线圈RT通电(见波形C),定时器被复位,已耗时间被清零,Q输出端变为0状态。
I0.1变为O状态时,如果IN输入为l状态,将开始重新定时(见波形D)。
图3-16接通延时定时器图3-17接通延时定时器的波形图
4、断开延时定时器指令
断开延时定时器(TOF)的IN输入电路接通时,输出Q为l状态,当前值被清零。
输入电路由接通变为断开时(IN输入的下降沿)开始定时,当前值从0逐渐增大。
当前值大于等于设定值时,输出Q变为0状态,当前值保持不变(见图3-19的波形A),直到IN输入电路接通。
断开延时定时器可以用于设备停机后的延时,例如大型变频电动机的冷却风扇的延时。
如果定时时间未达到PT设定的值,IN输入就变为l状态,输出Q将保持1状态不变(见波形B)。
图3-18的I0.1为1时,定时器复位线圈RT通电。
如果IN输入为0状态,则定时器被复位,定时时间被清零,输出Q变为O状态(见波形C)。
如果复位时IN输入为1状态,则复位信号不起作用(见波形D)。
图3-18断开延时定时器图3-19断开延时定时器的波形图
5、保持型接通延时定时器
保持型接通延时定时器(TONR,见图3-20)的IN输入电路接通时开始定时(见图3-21中的波形A和B)。
输入电路断开时,当前值保持不变。
可以用TONR来累计输入电路接通的若干个时间间隔。
图3-21中的时间间隔t1+t210s时,定时器的输出Q变为l状态(见波形D)。
复位输入I0.1为l状态时(见波形C),TONR被复位,它的当前值变为0,同时输出Q变为0状态。
图3-20保持型接通延时定时器图3-21保持型接通延时定时器的波形图
3.2.3计数器指令
1、计数器的数据类型
S7-1200有3种计数器:
加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。
它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。
如果需要速度更高的计数器,可以使CPU内置的高速汁数器。
调用计数器指令时,需要生成保存计数器数据的背景数据块。
CU和CD分别是加计数输入和减计数输入,在CU或CD由0状态变为1状态(信号的上升沿),实际计数当前值CV被加1或减1。
复位输入R为l状态时,计数器被复位。
CV被清0,计数器的输出Q变为0状态。
CU、CD、R和Q均为Bool变量。
将指令列表的“计算器操作”文件夹中的CTU指令拖放到工作区后,点击方框中CTU下面的3个问号(见图3-22左)再点击问号右边出现的
按钮,用下拉式列表设置PV和CV的数据类型。
PV为预置的计数值.CV为实际的计数值,它们可以使用的数据类型见图3-22右。
各变量均可使用I(仪用于输入变量)、Q、M、D和L存储区。
图3-22设置计数器的数据类型
2.加计数器
当接在R输入端的复位输入I0.1为O状态(见图3-24),接在CU输入端的加计数脉冲输入电路由断开变为接通时(即在CU信号的上升沿),实际计数值CV加1,直到CV达到指定的数据类型的上限值。
达到上限值后,CU输入的状态变化不再起作用,CV的值不再增加。
实际计数值CV大于等于设定值PV时,输出Q为1状态,反之为0状态。
第一次执行指令时,CV被清零。
各类计数器的复位输入R为l状态时,计数器被复位,输出Q变为O状态,CV被清零。
图3-25是加计数器的波形图。
图3-24加计数器图3-25加计数器的波形图
3、减计数器
减计数器的装载输入LOAD为1状态时,输出Q被复位为0,并把预置计数值PV的值装入CV。
在减计数脉冲CD的上升沿(从OFF列ON),实际计数前值CV减l,直到CV达到指定的数据类型的下限值。
达到下限值时,CD输入的状态变化不再起作用,CV的值不再减少。
实际计数值CV小十等于0时,输出Q为l状态(见图3-26),反之Q为O状态。
第一次执行指令时,CV被清零。
图3-27是减计数器的波形图。
图3-26减计数器图3-27减计数器的波形图
4.加减计数器
在加计数输入CV的上升沿,实际计数值CV加1,直到CV达到指定的数据类型的上限值。
达到上限值时,CV的值不再增加。
在减计数脉冲CD的上升沿,实际计数值CV减1,直到CV达到指定的数据类型的下限值。
达到下限值时,CV的值不再减小。
如果同时出现计数脉冲CU和CD的上升沿,CV保持不变。
CV大于等于预置计数值PV时,输出QU为1(见图3-25),反之为O。
CV小于等于0时,输出QD为1,反之为0。
装载输入LOAD为l状态时,预置值PV被装入实际值CV,输出QU变为1状态,QD被复位为0状态。
复位输入R为l状态时,计数器被复位。
实际计数值被清零,输出QU变为0状态,QD变为l状态。
R为l状态时.CU、CD和LOAD不再起作用。
图3-26是加减计数器的波形图。
图3-25加减计数器图3-26加减计数器波形图
3.3PLC仿真软件的使用
PLC仿真技术伴随计算机应用技术的发展而来,是对工业生产系统进行分析、诊断和优化的有力工具之一。
有效的仿真系统,可以起到投资少、效果好、效率高的作用。
在工业控制系统领域。
由于工业生产向着高速、大型化及自动化方向发展。
大量重大生产设备或过程控制设备的应用,成本日益增高,对运行操作人员素质要求愈来愈高,仿真系统可以基本真实贴近现场控制实际。
(因果关系有点问题,读起来不通顺)
3.3.1S7-PLCSIMV13仿真基本操作
启动仿真软件步骤:
在项目树中选择要仿真的设备;在“在线”菜单中,选择“仿真>启动”命令。
1、仿真器切换到项目视图:
2、仿真软件导入变量表:
3、选择从TIAProtalV13导出的变量表文件:
4、弹出导入成功提示框:
5、监控/修改变量状态:
6.也可以从TIAV13中直接监视,返回TIAV13点击启用监视:
3.4基本指令的应用
3.4.1 经验设计法
在PLC发展的初期,沿用了设计继电器电路图的方法来设计梯形图,即在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图。
有时需要多次反复地调试和修改梯形图,不断地增加中间编程元件和辅助触点,最后才能得到一个较为满意的结果。
这种方法没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果不是唯一的,设计所用的时间、设计的质量与设计者的经验有很大的关系,所以有人把这种设计方法叫做经验设计法,它可以用于较简单的梯形图(如手动程序)的设计。
1、经验编程方法总结:
(1)PLC编程的根本点是找出符合控制要求的系统各个输出的工作条件,这些条件又总是以机内各种器件的逻辑关系出现的。
(2)梯形图的基本模式是启-保-停电路,每个启-保-停电路一般只针对一个输出,这个输出可以是系统的实际输出,也可以是中间变量。
(3)梯形图编程中常使用一些约定俗成的基本环节,他们都有一定的功能,可以像积木一样在许多地方应用,如延时环节、振荡环节、互锁环节等。
2、经验法总结如下:
①在准确了解控制要求后,合理地为控制系统中的事件分配输入输出口。
选择必要的机内器件,如定时器、计数器、辅助继电器等。
②对于一些控制要求较简单的输出,可以直接写出他们的工作条件,依启-保-停电路模式完成相关的梯形图支路。
工作条件稍复杂的可借助辅助继电器。
③对于较复杂的控制要求,为了能用启-保-停电路模式绘出各输出口的梯形图,要正确分析控制要求,并确定组成总的控制要求的关键点。
在空间类逻辑为主的控制中关键点为影响控制状态的点,在时间类逻辑为主的控制中,关键点为控制状态转换的时间。
④用程序将关键点表示出来。
关键点总是要用机内器件来代表的,在安排机内器件时,需要考虑并安排好。
绘制关键点的梯形图时,可以使用常见的基本环节。
如定时器计时环节、振荡环节、分频环节等。
⑤在完成关键点梯形图的基础上,针对系统最终的输出进行梯形图的编绘。
使用关键点器件综合出最终输出的控制要求。
⑥审查以上草绘图纸,在此基础上,补充遗漏功能,更正错误,进行最后的完善。
3、梯形图编程的基本规则:
(1)PLC内部元件触点的使用次数是无限的,在遇到需要较多的变量时,我们应该合理运用。
(2)梯形图的每一行都是从左边母线开始,然后是各种触点的逻辑连接,最后以线圈或指令盒结束。
(3)线圈和指令盒一般不能直接连接在左边的母线上,如需要的话可通过特殊的中间继电器SM0.0(常用ON特殊中间继电器)。
(4)在同一程序中,同一编号的线圈使用两次以上称做双线圈输出,双线圈输出非常容易引起误动作,所以应避免使用。
S7-1200的PLC中不允许双线圈输出。
(5)应把串联多的电路块放在左边,把并联多的电路块放在左边;这样可以节省指令和比较美观。
3.4.2案例分析
【例3.1】:
根据要求编写一个闪烁电路梯形图
任务提出:
编写一个控制程序,当I0.0按下时Q0.0闪烁输出。
解决方案:
程序时序图如图3.51(a)所示;梯形图如图3.51(b)所示。
当按下I0.0按钮,T1计时器开始计时,2S计时时间到,T1常开触点闭合,Q0.0输出,同时T2定时器接通开始计时,当T2定时器计时1S时间到,T2常闭触点断开,T1计时器复位,从而T1常开触点断开,T2定时器常闭触点复位,T2定时器重新接通,重复上一步动作。
(a)时序图
(b)梯形图
图3.51闪烁电路
【例3.2】:
根据要求编写一个标准的工业报警电路
任务提出:
当有故障信号出现时报警灯亮,报警电铃铃响。
消铃按钮
输入信号:
I0.0为故障信号;I1.0为消铃按钮;I1.1为测试按钮。
输出信号:
Q0.0为报警灯;Q0.7为报警电铃。
解决方案:
报警电路时序图如图3.52(a)所示。
图3.52(a)报警电路时序图
标准的报警功能应该是声光报警。
当故障发生时,报警指示灯闪烁,报警电铃或蜂鸣器鸣响。
操作人员知道故障发生后,按消铃按钮,把电铃关掉,报警指示灯从闪烁变为长亮。
故障消失后,报警灯熄灭。
另外还应该设置试灯、试铃按钮,用于平时检测报警指示灯和电铃的好坏。
梯形图如图3.52(b)所示。
图3.52(b)报警电路
【例3.3】:
根据要求设计一个4组抢答器。
任务提出:
设计一个4组抢答器,任一组抢先按下抢答按钮后,对应指示灯指示抢答结果,同时锁定抢答器,使其他组抢答按钮无效。
在主持人按下复位开关后,可重新开始抢答。
要点说明:
①由于抢答按钮一般均为非自锁按钮,为保持抢答输出结果,就需要输出线圈所带触点并联在输入触点上,实现自锁功能。
②要实现一组抢答后,其他组不能再抢答的功能,就需要在其他组控制线路中串联本组输出线圈的常闭触点,从而形成互锁关系。
解决方案:
I/O分配表见表3.11。
表3.114组抢答器I/O分配表
输入触点
功能说明
输出线圈
功能说明
I0.1
第一组抢答按钮
Q0.1
第一组抢答指示灯
I0.2
第二组抢答按钮
Q0.2
第二组抢答指示灯
I0.3
第三组抢答按钮
Q0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 逻辑 指令