PLC的ST编程方式--文本编程,简洁啊

一、ST语言介绍

发现网上PLC的ST编程资料极少。不过,道理也很简单,因为做PLC的基本都是电气出身,梯形图类似于继电器逻辑,比较接近他们的习惯。。。ST属于文本编程,符合程序员的习惯,兼职做plc的程序员极少,原因你们懂的。(我是个例外,无奈脸)。

由于我只用过三菱的PLC,下面的使用,全以三菱PLC为依据。其他品牌的若有出入,勿喷,欢迎补充

下面是一个ST程序的例子:当X0接通时,打开Y0。

IF X0 THEN
    Y0 := TRUE;
END_IF;

很像C语言对不对?不过呢,建议写成下面这个样子(更简洁):

SET(X0,Y0);

set,rst都是函数,传入参数就可以了,可以看帮助。(直接给答案吧:第一个参数时,触发条件,第二个参数是操作对象)

二、T形图

上面的例子这么写:

看到没,其实差不多。但是呢,当代码长了之后,就会发现:

1)梯形图臃肿,一页屏幕显示不了多少语句
2)梯形图只能用软元件名,不能自己取一个有意义的名字。(可以设置标签,但是只是输入时方便。写完后,显示不了标签);

而ST语言则可以,而且鼠标停靠时,可以显示注释。

三、编程工具

T形图:GX Developer、GX Works2

ST语言:GX Works2

建议使用GX Works2!因为它比较新,支持多种编程方式:程序员风格的ST语言,电气工程师风格的T形图、流程图风格的SFC、门电路风格的FBD。GX Developer是老古董了

四、开始

1.创建工程

2.创建标签

标签就是给软元件取名字,有名字,编程才流畅啊,谁记得那么多点编号啊。有全局标签、局部标签,顾名思意,相当于全局变量/局部变量嘛。

要先设置软元件,回车就会自动帮你填好。然后再设置标签名。

3.开始写代码

先写一个最简单的

4.设置通讯方式

5.写入PLC

先编译,编译时会检查程序是否有错误。(相当于T形图中的“转换”)

再写入

接下来,再PLC上测试就好了。接通X0,看看Y0是不是会亮(PLC每个电位都有指示灯的)。

如果没有PLC呢?或者怕写入PLC把东西搞烧了咋办呢?嗯,可以模拟嘛!见第6节-PLC模拟

6.PLC模拟

启动之后,是下面这个样子

我们把急停信号打开,看看报警输出会不会打开

注意:

因为这是模拟PLC,才可以通过软件改变输入信号。如果是接PLC,输入信号只能通过外部接线来改变。

五、补充一点发现

发现一:

1)将ST语言写入PLC,然后再读出来(顶部菜单-在线-PLC读取),ST工程无法读取,只有当工程是梯形图工程时才能读取。

2)而且,不管哪种编程方式写的,写到PLC,再读出来的都是梯形图。

好吧,原来不管是写入时,是转成T形图再写进入的。

发现二:

这样的例子,让Y0等于X0。

写法1:

IF X0 THEN
    Y0 :=TRUE;
ELSE
    Y0 :=FALSE;
END_IF;

写法2:

SET(X0,Y0);
RST(NOT X0,Y0);

写法1虽然更直白,但是语句更多,写入到PLC的梯形图很复杂(如下图)。所以建议用第二种风格

而第2种写法,则是下面这样的,这才像是人写的嘛。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章