可编程控制器PLC程序设计基础.docx
- 文档编号:730350
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:18
- 大小:366.95KB
可编程控制器PLC程序设计基础.docx
《可编程控制器PLC程序设计基础.docx》由会员分享,可在线阅读,更多相关《可编程控制器PLC程序设计基础.docx(18页珍藏版)》请在冰点文库上搜索。
可编程控制器PLC程序设计基础
PLC程序设计基础
3.1 PLC的编程语言
3.1.1 PLC编程语言的国际标准
国际标准:
IEC6ll31—3
编程语言:
(1)顺序功能图(SequentialFunctionChart)。
(2)梯形图(LadderDiagram)。
(3)功能块图(FunctionBlockDiagram)。
(4)指令表(InstructionList)。
(5)结构文本(StructuredText)。
1.顺序功能图(SFC)
是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。
顺序功能图提供了一种组织程序的图形方法,在状态转移图中可以用别的语言嵌套编程。
2.梯形图(LD)
梯形图是用得最多的可编程序控制器图形编程语言。
梯形图由触点、线圈和用方框表示的功能块组成。
触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。
线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出条件等。
功能块用来表示定时器、计数器或者数学运算等附加指令。
3.功能块图(FBD)
是一种类似于数字逻辑门电路的编程语言。
该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
国内很少有人使用功能块图语言。
4.指令表(IL)
FX2N系列可编程序控制器将指令表称为语句表。
PLC的指令是一种与微机的汇编语言中的指令相似的助记符表达式,由指令组成的程序叫
做指令表程序或语句表程序。
5.结构文本(ST)
结构文本(ST)是为IEC6ll31—3标准创建的一种专用的高级编程语言。
与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。
6.编程语言的相互转换和选用
梯形图程序中输入信号与输出信号之间的逻辑关系一目了然,易于理解,与继电器电路图的表达方式极为相似,设计开关量控制程序时建议选用梯形图语言。
语句表输入方便快捷,梯形图中功能块对应的语句只占一行的位置,还可以为每一条语句加上注释,便于复杂程序的阅读。
在设计通信、数学运算等高级应用程序时建议使用语句表语言。
3.1.2 梯形图的主要特点
(1)PLC梯形图中的某些编程元件沿用了继电器这一名称。
(2)根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的ON/OFF状态,称为梯形图的逻辑运算。
(3)梯形图中各编程元件的常开触点和常闭触点均可以无限多次地使用。
(4)输入继电器的状态唯一地取决于对应的外部输入电路的通断状态梯形图中不能出现继电器的线圈。
3.2FX2N系列PLC的基本指令
3.2.1取、取反和输出指令
1.指令功能
取:
逻辑运算开始指令,用于与母线连接的常开触点。
取反:
逻辑运算开始指令,用于与母线连接的常闭触点。
取和取反的操作元件:
X、Y、M、S、T、C。
输出:
驱动线圈的输出指令,将运算结果输出到指定的继电器。
输出的操作元件:
Y、M、S、T、C。
2.梯形图和时序图
程序解释:
(1)当X000接通(ON)时,Y000接通输出(ON);X000断开(OFF)时,Y000断开(OFF)。
(2)当X001接通(ON)时,Y001断开(OFF);X001断开(OFF)时,Y001接通输出(ON)。
3.指令使用说明
(1)取和取反指令将指定操作元件中的内容取出并送入操作器。
(2)输出 指令在使用时不能直接从左母线输出(应用步进指令控制除外);不能串联使用,在梯形图中位于逻辑行末尾紧靠右母线;可以连续使用,相当于并联输出;如未特别设置(输出线圈使用设置),则输出指令在程序中同名输出继电器的线圈只能使用一次。
(3)用于驱动定时器和计数器线圈时,输出指令后必须设置常数K或指定数据寄存器的地址号(在指定数据寄存器内设定常数)。
3.2.2与和与反指令
1.指令功能
与:
常开触点串联指令,把指定操作元件中的内容和原来保存在操作器里的内容进行逻辑“与”,并将逻辑运算的结果存入操作器。
与反:
常闭触点串联指令,把指定操作元件中的内容取反,然后和原来保存在操作器里的内容进行逻辑“与”,并将逻辑运算的结果存入操作器。
与和与反的操作元件:
X、Y、M、S、C、T。
2.梯形图和时序图
3.指令使用说明
当串联常开触点时使用与指令;当串联常闭触点时使用与反指令。
与和与反可以连续使用。
3.2.3或和或反指令
1.指令功能
或:
常开触点并联指令,把指定操作元件中的内容和原来保存在操作器里的内容进行逻辑“或”,并将这一逻辑运算的结果存入操作器。
或反:
常闭触点并联指令,把指定操作元件中的内容取反,然后和原来保存在操作器里的内容进行逻辑“或”,并将运算结果存入操作器。
或和或反的操作元件:
X、Y、M、S、C、T。
3.指令使用说明
或将常开触点进行逻辑“或”运算,或反将常闭触点进行逻辑“或”运算;或和或反均可以连续使用。
3.2.4边沿检测指令
1.指令功能
上升沿检测指令:
仅在指定操作元件的上升沿(OFF→ON)时,接通一个扫描周期,又称为上升沿微分指令。
下降沿检测指令:
仅在指定操作元件的下降沿(ON→OFF)时,接通一个扫描周期,又称为下降沿微分指令。
边沿检测指令的操作元件是X、Y、M、S、C、T。
2.梯形图和时序图
程序解释:
当输入信号X000由断开变为接通(即OFF→ON)或者输入信号X001由接通变为断开(即ON→OFF)时,输出Y000接通一个扫描周期;当内部辅助继电器M0处于接通状态(即ON),且定时器T0由断开变为接通(即OFF→ON)时,输出Y001接通一个扫描周期。
3.指令使用说明
(1)边沿检测指令的功能与脉冲指令相同,如图(a)所示。
在图(a)中,无论采用边沿检测指令还是脉冲指令,当输入信号X000由断开变为接通(即OFF→ON)时,输出Y000接通一个扫描周期。
(2)在使用功能指令编程时,也可以使用边沿检测指令实现,同样也很方便,如图(a)(b)所示。
在图(b)中,当输入信号X000由断开变为接通(即OFF→ON)时,只执行一次传送(MOV)数据操作。
3.2.5SET和RST(置位和复位)指令
1.指令功能
SET:
置位指令,使其操作对象置“1”并保持。
RST:
复位指令,使其操作对象置“0”或复位,即清除动作保持、当前值及寄存器清零。
SET指令的操作元件是Y、S、M(特殊M除外)。
RST指令的操作元件是Y、M、S、T、C、D、V、Z。
2.梯形图和时序图
程序解释:
(1)当X000接通(ON)时,输出Y000接通(ON),并保持ON状态。
(2)当X001接通(ON)时,输出Y000断开(OFF),即输出Y000复位。
SET和RST指令用于内部元件M、S等置位和复位时同上。
3.指令使用说明
(1)利用SET和RST指令对Y、M、S置位复位时,可以无限次使用,且没有顺序限制。
(2) RST指令可用于数据寄存器(D)、变址寄存器(V、Z)的内容清零。
(3)RST指令也可用于积算定时器T和计数器C的当前值和触点的复位。
3.2.6PLS和PLF(上升沿脉冲和下降沿脉冲)指令
1.指令功能
PLS:
上升沿脉冲输出指令,PLS指令在输入信号的上升沿使得控制对象输出一个扫描周期的信号。
PLF:
下降沿脉冲输出指令,PLF指令在输入信号的下降沿使得控制对象输出一个扫描周期的信号。
PLS和PLF指令的操作元件是Y、M。
2.梯形图和时序图
程序解释:
(1)当输入信号X001接通(由OFF→ON)时,M0接通(ON)一个扫描周期,同时使得输出线圈Y001接通(ON)并保持。
(2)当输入信号X002断开(由ON→OFF)时,M1接通(ON)一个扫描周期,同时使得输出线圈Y001断开(OFF)即复位
3.指令使用说明
PLS和PLF指令的操作元件只能是Y和M,并且在输入信号接通或断开时只接通一个扫描周期。
特殊辅助继电器不能作为PLS和PLF指令的操作元件。
3.2.7INV(取反)指令
1.指令功能
INV:
取反指令,将INV指令执行之前的运行结果取反。
运算结果为0将它变为1,运算结果为1则变为0。
INV指令没有操作元件。
2.梯形图和时序图
程序解释:
当输入信号X001接通(由OFF→ON)时,INV指令对X001取反,使输出线圈Y001断开(OFF);当输入信号X001断开(由ON→OFF)时,INV指令对X1取反,使输出线圈Y001接通(ON)。
3.指令使用说明
(1) INV指令只能是用在可以使用取、取反、上升沿检测指令和下降沿检测指令的位置,不能直接连接母线,也不能像或、或反、上升沿检测指令和下降沿检测指令那样单独使用。
(2)在包含有逻辑块的程序中使用INV指令时,INV指令的功能是仅对以取、取反、上升沿检测指令和下降沿检测指令开始到本身(INV)之前的运算结果取反
3.2.8NOP、END(空操作、结束)指令
1.指令功能
NOP:
空操作指令,无动作。
END:
程序结束指令,表示程序结束,返回起始地址。
NOP、END指令都没有操作元件。
2.指令使用说明
(1)如果PLC执行程序全部清除后,所有内容均变成NOP。
(2) PLC采用巡回扫描方式工作,分为三个阶段,即输入处理、程序执行和输出处理。
在进入程序执行阶段后,以END表示程序执行阶段结束,然后进入输出处理阶段。
因此,在调试程序时,可以在程序中间任何位置插入END指令,实现分段调试。
该段调试完成后删除END指令,然后再插入,依次进行。
(3) RUN运行是从END指令开始,同时执行END时刷新监视定时器。
(4)在程序的最后必须编写END指令。
若无END指令,PLC将扫描整个程序存储空间直至程序最后步,然后从0步重新开始处理,这将延长程序扫描周期。
3.3 FX系列PLC梯形图中的编程元件
3.3.1基本数据结构
1.位元件
X:
输入继电器,用于直接输入给PLC的物理信号
Y:
输出继电器,用于从PLC的直接输出物理信号
M:
辅助继电器,PLC内部的运算标志
S:
状态继电器,PLC内部的运算标志
2.字元件
3.3.2 FX系列PLC的编程元件
•输入继电器
•输出继电器
•辅助继电器
•定时器
•计数器
3.3.3 输入继电器与输出继电器
(1)输入/输出继电器(X、Y)
•输入继电器(X0~X7,X10~X17,X20~X27,……)
输入继电器(X)是PLC接收外部输入信号的窗口。
PLC将外部信号的状态读入并存储在输入映像寄存器内,即输入继电器。
外部输入电路接通时对应的映像寄存器为ON,表示该输入继电器常开触点闭合、常闭触点断开。
输入继电器的状态惟一地取决于外部输入信号,在梯形图中绝对不能出现输入继电器线圈.
•FX2NPLC的输入继电器最多可达256点
•输出继电器(Y0~Y7,Y10~Y17,Y20~Y27,……)
输出继电器(Y)是PLC向外部负载发送信号的窗口。
输出继电器用来将可编程序控制器的输出信号传送给输出模块,再由后者驱动外部负载。
•FX2NPLC的输出继电器最多可达256点
•输入输出继电器虽然最多分别可达256点,但总点数不可超过256点。
3.3.4 辅助继电器(M)
FX2N系列PLC内部有很多辅助继电器(M),辅助继电器和PLC外部无任何直接联系,只能由PLC内部程序控制。
其常开/常闭触点只能在PLC内部编程使用,且可以使用无限次,但是不能直接驱动外部负载。
外部负载只能由输出继电器触点驱动。
FX2N系列PLC的辅助继电器分为通用辅助继电器、断电保持辅助继电器和特殊辅助继电器。
•在FX2N系列PLC中,除了输入/输出继电器的元件编号采用八进制外,其他编程元件的元件编号均采用十进制。
各类辅助继电器编号和功能如表3.6所示。
作用:
在逻辑运算中作为辅助运算用,如作状态暂存、移位运算等。
•通用辅助继电器M0-M499(500点)
通用辅助继电器有500点,其元件号按十进制编号。
•电池后备/锁存辅助继电器M500-M3071(2572点)
电池后备/锁存辅助继电器用途举例
•
特殊辅助继电器M8000-M8255(256点)
(1)触点利用型
由PLC的系统程序来驱动触点利用型特殊辅助继电器的线圈,在用户程序中直接使用其触点,但是不能出现它们的线圈。
M8000(运行监视):
当PLC执行用户程序时,M8000为ON;停止执行时,M8000为OFF。
M8002(初始化脉冲):
M8002仅在PLC由OFF变为ON状态时的一个扫描周期内为ON。
(2)线圈驱动型
3.3.5 状态继电器(S)
状态继电器(S)是用于编制顺序控制程序的一种编程元件,与STL指令组合使用。
有四种类型:
初始状态:
S0-S9(10点)
回零:
S10-S19(10点)
通用:
S20-S499(480点)
保持:
S500-S899(400点)
3.3.6 定时器(T)
PLC中的定时器T相当于继电器接触器控制系统中的时间继电器。
FX2N系列PLC内部共有256个定时器,其编号为T0~T255。
其中常规定时器有246个,积算定时器有10个。
定时器的种类和编号如表3.8所示。
常规定时器没有保持功能,在输入电路断开或停电时自动复位(清零),工作原理如图所示;积算定时器具有断电保持功能,在输入电路断开或停电时保持当前值,当输入再接通或者重新通电时,在原计时当前值的基础上继续累计,工作原理如图所示。
PLC中定时器有一个设定值寄存器、一个当前值寄存器及无数个触点。
同一定时器这三个量使用同一名称。
在PLC内定时器是根据时钟脉冲累积计时的,当所计时间达到设定值时,其输出触点动作。
分辨率:
1ms、10ms、100ms
以常数K或数据寄存器D的内容作为设定值。
定时器的动作及元件号
●通用定时器
通用定时器在输入信号断开时自动复位。
●积算定时器
积算定时器具有保持功能,因此必须使用RST指令对其复位。
3.2.7 计数器
FX2N系列PLC提供了两类计数器,一类是内部计数器,它是PLC在执行扫描操作时对内部信号X、Y、M、S、T、C等进行计数的计数器,要求输入信号的接通或断开时间应大于PLC的扫描周期;另一类是高速计数器,其响应速度快,因此对于频率较高的计数就必须采用高速计数器。
两类计数器的功能都是设定预置数,当计数器输入端信号从OFF变为ON时,计数器减1或加1,计数值减为“0”或者加到设定值时,计数器线圈ON。
计数器的种类和编号下表。
●内部信号计数器
是在执行扫描操作时对内部元件(X、Y、M、S、T和C)的信号进行计数的计数器。
其接通和断开时间应比PLC的扫描周期长,通常其输入信号频率大约为几个扫描周期/秒。
•16bit增计数器(设定值1-32767)
分通用(C0-C99)和停电保持用(C100-C199)两种。
16bit增计数器
在图中,当计数器复位信号X1的常开触点闭合时,C0被复位,C0对应的位存储单元被置“0”,则C0的常开触点断开,常闭触点闭合,同时计数器当前值也被置“0”,并且不对输入信号X011进行计数。
计数器复位信号X010的常开触点断开时,在输入信号X011的上升沿计数器当前值加“1”,当有10个输入信号之后,C0的当前值等于设定值,C0对应的位存储单元被置“1”,则C0的常开触点闭合,常闭触点断开。
再有计数输入信号X011到来时,当前值保持不变。
直到复位信号X010的常开触点闭合时,计数器C0被复位,当前值又被置“0”。
计数器设定值可以用常数K或者通过数据寄存器D来设置。
32bit双向计数器
计数器设定值可以用常数K或者通过数据寄存器D来设置。
用数据寄存器设置时,设定值存放于元件号相连的两个数据寄存器中,如指定寄存器为D0,则设定值存放于D1和D0中。
32位加/减计数器的计数方式通过特殊辅助继电器M8200~M8234设定。
当特殊辅助继电器M82××为ON时,对应的计数器C2××为减计数,反之则为加计数。
图中C200的设定值为6,当X10断开时,特殊辅助继电器M8200线圈断开,即OFF,此时计数器C200进行加计数,在当前值≥6时,计数器的常开触点闭合;当X10闭合时,特殊辅助继电器M8200线圈接通,即ON,此时计数器C200进行减计数,在当前值<6时,计数器的常开触点断开;当复位信号X11闭合(ON)时,C200被复位,其常开触点断开,常闭触点闭合。
•设定值:
-2147483648至+2147483647
•
•分通用(C200-C219)和停电保持用(C220-C234)两种。
计数的方向由特殊辅助继电器M8200-M8234设定,对应的特殊辅助继电器为ON时,为减计数器,反之为加计数器。
习题:
1、根据下列时序图,用不同的指令编制两种实现该功能的梯形图。
2、根据下列梯形图,在给出的时序图上画出输出Y001的波形。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程控制器 PLC 程序设计 基础