百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

PLC编程原则、语言、方法、常用指令及实例

yund56 2025-02-25 01:18 15 浏览

PLC的编程原则

1.梯形图的每一逻辑行(梯级)均起始于左母线,然后是中间接点,终止于右母线。各种元件的线圈接于右母线一边;任何触点不能放在线圈的右边与右母线相连;线圈一般也不允许直接与左母线相连。正确的接线如图1a所示。

2.编制梯形图时,应尽量按“从左到右、自上而下”的执行程序的顺序,并易于编写指令语句表。图1b所示的是合理的接线方法。

3.在梯形图中应避免将触点画在垂直线上,这种桥式梯形图无法用指令语句编程,应改画成能够编程的形式,如图1c所示。

图1 正确接线示意图

4.继电器线圈和触点的使用。同一编号的继电器线圈在程序中只能使用一次,不得重复使用,否则将引起误操作,但其常开常闭触点可重复多次使用,如图1c中的X1、X2、X3。由此可以看出,在同一逻辑支路中,串联和并联触点数目是无限的。

5.不允许几条并联支路同时运行。当PLC处于运行状态时,PLC就开始按照梯形图符号排列的先后顺序(从上到下,从左到右)逐一进行处理,PLC对梯形图是按扫描方式顺序执行,因此不存在几条并列支路同时动作的因素,所以在设计上可减少许多约束关系的联锁电路,从而使程序简单化。

6.计数器、计时器在使用前要赋值。

7.外部输入设备常闭触点的处理。图2a是电动机直接起动控制的继电器接触器控制电路,其中停止按钮SB1是常闭触头。如用PLC来控制,则停止按钮SB1和起动按钮SB2是它的输入设备。在外部接线时,SB1有两种接法。

如图2b所示的接法,SB1仍接成常闭,接在PLC输入继电器的X1端子上,则在编制梯形图时,用的是常开触点X1。因SB1闭合,对应的输入继电器接通,这时它的常开触点X1是闭合的。按下SB1,断开输入继电器,它才断开。

如图2c所示的接法,将SB1接成常开形式,则在梯形图中,用的是常闭触点X1。因SB1断开时对应的输入继电器断开,其常闭触点X1仍然闭合。当按下SB1时,接通输入继电器,它才断开。

图2 电动机直接起动控制的继电器接触器控制电路

在图2c的外部接线图中,输入端的直流电源E通常是由PLC内部提供的,输出端的交流电源是外接的。“COM”是两边各自的公共端子。

从图2a和图c可以看出,为了使梯形图和继电器接触器控制电路一一对应,PLC输入设备的触点应尽可能地接成常开形式。

此外,热继电器FR的触头只能接成常闭的,通常不作为PLC的输入信号,而将其直接接通断接触器线圈。

PLC的编程语言

1.逻辑语言

逻辑功能图表达方式基本上沿用了数字逻辑电路的“与”、“或”、“非”门电路的逻辑语言来描述,用逻辑框图形式表示。对每一种功能都使用一个运算方块,其运算功能则由方块内外的符号确定,如图3所示。

图3 简单的逻辑图

如,“&”表示逻辑“与”运算;“≥1”表示逻辑“或”运算;“o”(框图右边的小圆圈)表示逻辑“非”。

图3a是一个简单的逻辑功能图。一般与功能块有关的输入信号画在方块的左边,与功能块有关的输出信号画在方块的右边。在左边和右边应分别写上标志符和地址码。图中,X000、X001、M100为输入信号的标志符和地址码;Y030为输出信号的标志符和地址码。功能块表示如下的逻辑关系:

Y030=X000?X001?M100

采用逻辑功能图来描述程序,易于描述较为复杂的控制功能,表达直观,查错容易。因此它是编程中较为常用的一种表达方式。但它必须采用带有显示屏的编程器才能描述,而且连接范围也受到显示屏幅面的限制。

2.梯形图

(1)常用符号

PLC梯形图图形符号借助于继电器接触器的常开触头、常闭触头、按钮、线圈以及它们的串联、并联的术语和符号,两者对照,则直观明了。和电路图一样,在绘制梯形图之前首先熟悉绘制梯形图的有关符号,如表1所示。

表1 梯形图常用符号

对输入信号和被控制对象必须标上相应的标志符和地址码,如图4(与或门)中的X000、X001、X002和Y030。图中所表示的逻辑关系为

Y030=X000?X001+X002

图4 符号在梯形图中

(2)梯形图的绘制

采用触点梯形图来表达程序的方法,看上去与传统的继电器电路图非常类似。因此它比较直观形象,对于那些熟悉继电器电路的设计者来说,易被接受。

另外,为了在编程器的显示屏上直接读出触点梯形图所描述的程序段,构成触点梯形图的图案电流支路都是一行接一行地横着向下排列的。每一条电流支路的触点符号为起点,而最右边的线圈符号为终点,如图5所示。触点梯形图多半适用于简单的连接功能的编程。

图5 多条支路的梯形图

3.语句表

语句表形式是使用助记符来编制PLC程序的语言,表示程序的各种功能。语句表类似于计算机的汇编语言,但比汇编语言容易得多。每一条指令都包含操作码和操作数两个部分,操作数一般由标志符合地址码组成。下面是一个简单的语句表。

LD X000

AND M100

OR Y030

ANI X002

OUT Y030

语句表中各部分含义如表2所示

表2 语句表

采用这种类似计算机语言的编程方式,可使编程设备简单,逻辑紧凑,而且连接范围也不受限制。上述三种程序的表达方式各有所长,在比较复杂的控制系统中,这三种方式可能会同时使用,但对于简单的控制系统采用一般的可编程序控制器进行人工编程时,大多采用触点梯形图编制程序。当设计好触点梯形图后再根据接口、梯形图写出语句表,最后便可将语句表键入可编程序控制器中进行调试。

PLC的常用指令

表3 常用的基本指令表

PLC的编程方法

以图6所示的交流电动机正反转控制电路为例来介绍用PLC控制的编程方法。

图6 交流电动机的正反转控制电路

1.确定I/O点数及其分配

停止按钮SB1、正传起动按钮SB2、反转起动按钮SB3这3个外部按钮须接在PLC的3个输入端子上,可分别分配为X0、X1、X2来接收输入信号;正转接触器线圈KM1和反转接触器线圈KM2须接在两个输出端子上,可分别分配为Y1和Y2。共需用5个I/O点,如表4所示。

表 4 I/O点数

外部接线如图7所示。按下SB2,电动机正转;按下SB3,电动机则反转。在正转时如要求反转,必须先按下SB1。至于自锁和互锁触点是内部的“软”触点,不占用I/O点。

图7 外部接线

2.编制梯形图和指令语句表

表5 语句表

图8 梯形图

PLC的编程举例

用PLC对喷漆机械手的定位控制

喷漆机械手是采用步进顺序器分步控制的,首先介绍步进顺序控制器。

(1)步进顺序控制器

步进顺序器(SS)能够按顺序逐一启动后续的7个内部继电器线圈(ST),组成一个步进顺序器。当第一个标有(SS)的内部继电器得电后,使随后的7个线圈均处于释放状态。随后当其后一个标有(ST)的内部继电器得电时,这组步进顺序器带的其他继电器均释放,通电顺序必定是由小至大,逐一轮流。因此,步进顺序器是把连续的几个内部继电器组合起来,协调行动,它们在梯形图中的图形符号如表6所示。

表6 步进顺序器图形符号

在EPS软件中并不规定步进顺序器从哪个内部继电器编号开始,也不一定在(SS)线圈后要跟随7个(ST)继电器,但最多是7个。如果需要超过8步时,可以把2个步进顺序器串接起来。

(2)喷漆机械手定位控制电路

若有一个带有红、绿、蓝三种颜色油漆喷枪的机械手在一条有4个工位的通道中移动。机械手能喷出三种颜色,在四工位要喷刷四段颜色,如图9a所示。每个工位的交界处都设置一个位置传感器,此外,在起点及终点也各设一个位置传感器,总共5个位置传感器,其梯形图如图9b所示。

喷漆机械手由X0位置传感器启动控制。红色喷枪由输出点Y2控制,绿色喷枪及蓝色喷枪分别由Y3及Y4控制。R0~R5组成一组步进顺序器。输出点YO控制机械手前进,Y1控制机械手返回。

首先,X0位置传感器发出启动信号,使步进顺序器启动,这时R0内部继电器吸合,其余5个线圈释放。由于R0接通,使R10置位,驱动输出点Y0。于是机械手前进,同时R0触点驱动输出点Y2,使机械手上的红色喷枪工作。当机械手行进到X1处,X1位置传感器发出信号,使X1触点接通,内部继电器R1吸合,同时R0断开。因为R0是步进顺序器的第一个线圈。R1触点驱动输出点Y3,使机械手上的绿色喷枪工作。当机械手继续前进到X2处,X2位置传感器动作,使R2吸合,同时断开R1。与此类同,直至机械手到达终点,R4使R10复位,于是机械手停止前进。当R4接通Y1线圈,机械手便返回起始点。起始点X0的位置传感器X0又发出信号,于是PLC的R0又接通,机械手又开始下一次的喷漆工作。

图9 喷漆机械手的定位控制

相关推荐

豆包编程能力升级:支持HTML代码实时预览、交互

IT之家3月19日消息,IT之家从豆包官方获悉,豆包宣布AI编程功能迎来三项升级,包括HTML预览、Python运行、生成完整项目。据介绍,目前豆包支持HTML代码实时预览和交互...

1898款游戏!80、90回忆杀,重温旧梦,快速搭建中文DOS游戏服务

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:羊刀仙大家好,我是羊刀仙。本期来介绍一个特别情怀向的游戏项目:chinese-dos-games。这套包含1898款经典中文DOS游戏的合集...

利用 SVG 文件内的 HTML 代码进行网络钓鱼攻击

随着时间的推移,网络钓鱼攻击的技术越来越精妙,旨在欺骗用户并规避安全措施。攻击者会使用欺骗性的URL重定向策略,例如将恶意网站地址附加到看似安全的链接后,在PDF中嵌入链接,以及发送HTML...

aardio + AI 大模型自动编写 Python 代码、网页前端代码的经验与技巧

在AI时代,老式的编程习惯完全被颠覆。原来可能要一大堆插件或工具辛苦堆出来的程序,现在只要把AI调教好了就行。aardio支持调用十几种编程语言,这很适合发挥AI大模型的优势。对于AI...

用AI制作游戏就是如此简单!

很多人不知道如何利用AI提高效率,不知道AI能帮我们做什么,其实可以让我们实现很多自己根本不懂的领域取得直观体验,比如利用DS或者豆包,输入“我想做一个简单的单机俄罗斯方块游戏”,AI会给出phtho...

不会写代码?教你用DeepSeek 三步做出小游戏

如今,借助人工智能技术,哪怕你完全看不懂代码,也能通过DeepSeek制作出属于自己的网页版大鱼吃小鱼游戏。接下来,就为大家详细介绍制作过程。第一步、向DeepSeek描述需求为何要做网页版的...

《暗黑1》被移植成网页游戏 可在浏览器上玩了

《暗黑1》,这款1996年发售的“鼠标杀手”砍杀游戏,现在可以在浏览器上玩了。国外专注暴雪游戏的Rivsoft分享了一个《暗黑1》的共享版本,该版本只包含地下城的头2个地区和三个角色职业中的一个。不...

网页代码过滤 轻松获取专辑目录

通过过滤网页代码,可以将网页上显示不全的长文件名列表完整地提取出来。我有一个含有75个视频文件的《中医诊断学》课件,文件名是以01.RMVB、02.RMVB……75.RMVB这种格式命名的。我希望能找...

IDEA 2021首个大版本发布,Java开发者感动哭了(附新亮点演示)

工欲善其事,必先利其器!就在不久之前,Java领域的开发神器IntelliJIDEA终于迎来2021年的一个重要的大版本更新:IntelliJIDEA2021.1。现如今大量的Java开发者深度...

View Source:在 iOS 上轻松查看网页源代码

在移动互联网时代,移动端的应用和web体验都尤为重要,在PC上有很多web前端工具可以选择,而在移动端貌似就少之又少了,在NEXT出现的ViewSource能帮你在iOS上查看...

当我们《寻找房祖名》,我们能找到什么?

游戏葡萄原创专稿,未经允许请勿转载柯震东,因为在九把刀电影《那些年我们追过的女孩》中饰演男主角柯景腾而走红的台湾影星,在昨天被爆出了和著名演员成龙之子房祖名吸毒被抓的丑闻,一时间相关讨论席卷社交网络。...

多用途游戏娱乐新闻网站HTML5模板

Retnews是一个响应式的HTML新闻,博客,杂志网站模板,可以使用这套前端模板简约很多设计的工作。模板有许多特性适合流行的主题商业、时尚,游戏,娱乐,生活方式、体育、科技、政治、旅行、天气、视频等...

简约好看的个人引导页HTML源码下载

源码介绍一款非常简约好看的个人引导页HTML源码,非常适合个人主页以及个人导航使用,纯HTML不需要数据库,上传服务器即可使用!...

教你如何在微信公共平台上插入小游戏(图文教程)

很多玩微信公共平台的朋友都想在公共平台上面插入几个小游戏,用来跟用户之间互动,这里花生来分享一下如何在微信公共平台上插入游戏,以及如何制作html5微信小游戏。首先是找游戏,总共有三个方法,本人比较倾...

html5重力感应剖析附源码

下面是测试html5重力感应的demohttp://bbs.qietu.com/html/zhongli/http://www.qietu.com/html/f2/qqqianbao/demo2是切图...