Mitsubishi 三菱FXPLC入门之这磨人的PLC语法(下)

发布时间 2023-08-07 11:15:23作者: 一杯清酒邀明月
终于写到了第三章的最终话:这磨人但又该死甜美的梯形图。梯形图是目前使用最多的PLC编程语言,也是所有漂流在PLC学海的历险者必须要掌握的语言,包括我这只被海浪拍死在沙滩的小白。

现在就让小白我以PLC初学者的身份来说一下梯形图的一些内容吧。

一、梯形图与继电控制图

  梯形图是源自继电控制系统电气原理图的形式,所以两者很相似。电气原理图中的一些继电器、接触器等配菜的符号,会经过翻炒出锅(简化),来到PLC梯形图。

  上图是电机启停的继电控制电路图和PLC控制的梯形图,两者电路结构很相似,且功能相同,但是梯形图却简单得多。梯形图的学习对于熟悉继电器控制想原理图的人来说是容易接受的,当然这其中不包括我,梯形图于我而言,就如嗷嗷待哺的婴儿去学说话一样,从零开始。所以李金城老师所说的“一旦入了门,必须完全离开继电控制电路图的思维方式”与我完全没有关系。

  虽然梯形图和继电控制电路图很相似,但是它们之间还是有差异的,虽然我对继电控制电路图没有多熟悉,但修炼过第三章功法的我还是要在这里班门弄斧,简单说一下,让各位见笑了。

1、在继电控制图中的所有符号均表示器件实体,例如按钮、接触器、电磁阀等,这些器件的符号各不相同。而在梯形图中不存在器件实体,其符号表示的是各种编程元件,也就是我上篇文章提到的软元件,如X、Y、M等。用脚指头想也知道,看PLC这小身板,想装得下各种器件的实体简直是痴人说梦。

2、在继电控制图中,可以根据电流的流向判断元件的得电和失电,类似的,在梯形图中,我们可以假设有一个信号流从左到右、自上而下流到Y、M、T等元件使它们导通。

3、在继电控制图中,线圈得电和触点动作是同时进行的,而在梯形图中,其虚拟触点和线圈是由PLC按顺序扫描,先后工作的。虽然这个时间上的差异我们肉眼看不出,但在响应要求比较高时还是会有明显的不同。

  另外,在继电控制图中,各个器件除了有特定的图形符号外,还有各自的文字符号,例如按钮用SB来表示,有多个按钮就用序号加以区分,如SB1、SB2等。类似的,PLC本身的编程元件有很多,如X1、X2、Y0、Y1、M500等,这么多的虾兵蟹将,我们该怎样地使唤它们而不至于让自己张冠李戴,弄错身份呢?

  这时候就要用到PLC的I/O口地址分配表了,这个分配表就像是PLC调兵遣将(调用各个编程元件)的名单,从这个分配表上我们可以知道小虾X0用作什么,小蟹Y0去到哪里等。例如上图就是电机启停的继电控制图转化为梯形图,并制出其相应的I/O口地址分配表。

二、梯形图的组成

  梯形图是一种编程语言,但是它的组成却不仅仅是文字,还包括了图形。接下来我们一起揭开面纱,好好欣赏梯形图的美貌吧。

我们以上图这个梯形图为模特,一一诉说。

1、梯形图按行(又称逻辑行)从上到下、从左到右编写,这也是PLC对梯形图的执行顺序。写这句的时候,其实我的手已经脱离我的控制,先行一步点开了PLC的编程软件尝试了一下编程,有趣极了,真香!

2、上图中,左右两边的垂直线分别称为左母线和右母线,每一逻辑行必须从左母线开始,右母线结束,但有时候在画梯形图时把右母线忽略不画。显然,针对右母线可以不画这一点,我是松了一口气的,毕竟画多一条母线真的很累。

3、每个梯形图由多个梯级组成,一个输出元件构成一个梯级,而且输出元件必须和右母线相连。因为右母线可以不画,所以所谓输出元件必须和右母线相连,其实就是输出元件的右边不能有其他元件。例如上图的Y0、Y1右边要么是母线,要么留空。

4、梯形图中字符表示PLC所规定的不同编程元件,触点只有两种形式:常开和常闭。也就是说,PLC没规定的字符我们不能乱用,例如A、Z等。继电控制电路中有各种不同的触点,例如通电延时、断电延时等,但是在PLC中要实现这种通电延时等的功能,就要通过T、C等配合完成。

5、一个完整的梯形图程序必须用“END”结束。当然,这里说的是三菱。

其实,我觉得梯形图的美用上面的文字根本不能完全表达,但是这个具体编程我也还没真正开始接触,所以,我目前也找不出更多华丽的语言去夸它了。

三、梯形图的编程规则

梯形图的编程规则不少,包括上面“梯形图的组成”中的一些内容也是其基本规则,这里再补充几条。

1、触点不能接在输出线圈的右边;输出线圈也不能直接与左母线相连,必须通过触点连接。如下图所示。

说白了就是输出线圈非常矫情,明明很喜欢左母线,却非要有触点作为传话筒才肯与左母线交流,然后它又不允许触点出现在右边。而触点也很听话,输出线圈不让它出现在右边,它就打死也不会去输出线圈的右边。

2、在每个逻辑行上,当几条支路并联时,串联触点多的应排在上面;几条支路串联时,并联触点多的应排在左边,这样可以减少编程指令。

关于第2点,怎么说呢,左母线比较宠触点,巴不得所有触点都粘着它,梯形图中左母线最大,我们为了成线之美,也就尽量把触点安排在左上位置,让左母线能更快更近地与触点交流。

3、梯形图的触点应画在水平支路上,不能画在垂直支路上。

 

关于第3点,我持着怀疑的态度打开编程软件看了一下,发现我们想把触点画在垂直支路上都画不了,因为编程软件没有这个选项!不过这是一条规则,那么我们就算用手画也是不能这样画的,尽管你的心蠢蠢欲动。

4、输出线圈只能并联,不能串联。

回顾上文,一个输出元件构成一个梯级,如果输出线圈串联,一个梯级就含有两个输出元件,显然与前文矛盾(怎么感觉我在辩论一样)。另外,有多少个输出线圈并联,也就有多少个梯级了。

5、在用一个程序中,同一个输出线圈不能使用两次或两次以上。

输出线圈虽然矫情,但是它很专一,每个输出线圈在一个程序中要出现的话就只会出现一次,如果出现两次或多次,则前一个或前面的线圈输出无效,仅最后一个线圈输出有效。

6、梯形图中,除了输入继电器X没有线圈只有触点外,其他继电器既有线圈,又有触点。

如上图所示,梯形图中输出继电器Y0可以作为输出线圈出现,也可以触点的形式出现,而输入继电器X3不能以线圈的形式出现,输入继电器真可怜。

除了以上规则,还有一些其他的规则第三章没有讲述,在这里我也就不再啰嗦,毕竟我也不懂。

综上,第三章的最终话到此为止了,我们第四章再会。