通过示例学习三菱PLC的ST编程
前面文章中跟大家聊了很多西门子SCL编程语言的使用,今天通过一个示例来看看三菱ST语言的使用,其实无论是ST还是SCL本质是相同的。只是在指令的使用的有所区别。
示例的功能要求:通过一个按钮控制三组灯
用一个按钮控制三组灯,每按一次按钮亮一组灯。当三组灯全亮之后,每按一次按钮,灭一组灯。长按按钮三组灯全灭。
功能实现很简单,就是利用按钮的上升沿来进行加1计数,也就是INC指令。
那么问题来了:INC指令用ST语言怎么写呢?同时怎么使用上升沿指令呢?
这就是不同于SCL的地方,也是个人感觉非常适合初学编程人使用的地方了。在三菱中可以完美使用LAD中的指令。
你可以在编程界面中输入INC后按ctrl+F1,会自动出现指令格式,对应填入标签即可,如下图所示:
在本例中,是使用按钮的上升沿作为INC的使能端,那么就直接在“?BOOL_EN?”输入指令LDP(上升沿指令)同样按ctrl+F1。如下图所示:
自动添加的英文;要手动删除。否则编译会出错。
对于本例中,按钮的上升沿是不需要使能条件,也就是说使能条件常为1即可,也就是说“?BOOL_EN?”输入1。
那么针对本例完成的INC指令如下图所示:
也就是说每按一次按钮,都会对K1M0进行加1。
利用对应M位进行控制即可实现前面的功能要求。
下面是本例的完整程序:
仿真如下所示:
计数值为1:
计数值为2:
计数值为3:
计数值为4:
计数值为5:
计数值为6或长按按钮则复位:
本例的源码如下:
INC(LDP( 1, START), K1M0);
IF M0 AND (NOT M1) AND (NOT M2) THEN LIGHT_1:=1;
ELSIF M1 AND (NOT M0) AND (NOT M2 )THEN LIGHT_2:=1;
ELSIF M0 AND M1 AND (NOT M2) THEN LIGHT_3:=1;
ELSIF M2 AND NOT M0 AND NOT M1 THEN LIGHT_1:=0;
ELSIF M0 AND M2 THEN LIGHT_2:=0;
ELSIF M1 AND M2 THEN LIGHT_3:=0;
ELSE
LIGHT_1:=0;
LIGHT_2:=0;
LIGHT_3:=0;
END_IF;
ZRST( (M1 AND M2) OR TS0, M0 , M2);
OUT_T( START , TC0 , K20 );
通过一个示例来看看三菱PLC的ST编程语言的使用
前面文章中跟大家聊了很多西门子SCL编程语言的使用,今天通过一个示例来看看三菱ST语言的使用,其实无论是ST还是SCL本质是相同的。只是在指令的使用的有所区别。
示例的功能要求:通过一个按钮控制三组灯
用一个按钮控制三组灯,每按一次按钮亮一组灯。当三组灯全亮之后,每按一次按钮,灭一组灯。长按按钮三组灯全灭。
功能实现很简单,就是利用按钮的上升沿来进行加1计数,也就是INC指令。
那么问题来了:INC指令用ST语言怎么写呢?同时怎么使用上升沿指令呢?
这就是不同于SCL的地方,也是个人感觉非常适合初学编程人使用的地方了。在三菱中可以完美使用LAD中的指令。
你可以在编程界面中输入INC后按ctrl+F1,会自动出现指令格式,对应填入标签即可,如下图所示:
在本例中,是使用按钮的上升沿作为INC的使能端,那么就直接在“?BOOL_EN?”输入指令LDP(上升沿指令)同样按ctrl+F1。如下图所示:
自动添加的英文;要手动删除。否则编译会出错。
对于本例中,按钮的上升沿是不需要使能条件,也就是说使能条件常为1即可,也就是说“?BOOL_EN?”输入1。
那么针对本例完成的INC指令如下图所示:
也就是说每按一次按钮,都会对K1M0进行加1。
利用对应M位进行控制即可实现前面的功能要求。
下面是本例的完整程序:
仿真如下所示:
计数值为1:
计数值为2:
计数值为3:
计数值为4:
计数值为5:
计数值为6或长按按钮则复位:
本例的源码如下:
INC(LDP( 1, START), K1M0);
IF M0 AND (NOT M1) AND (NOT M2) THEN LIGHT_1:=1;
ELSIF M1 AND (NOT M0) AND (NOT M2 )THEN LIGHT_2:=1;
ELSIF M0 AND M1 AND (NOT M2) THEN LIGHT_3:=1;
ELSIF M2 AND NOT M0 AND NOT M1 THEN LIGHT_1:=0;
ELSIF M0 AND M2 THEN LIGHT_2:=0;
ELSIF M1 AND M2 THEN LIGHT_3:=0;
ELSE
LIGHT_1:=0;
LIGHT_2:=0;
LIGHT_3:=0;
END_IF;
ZRST( (M1 AND M2) OR TS0, M0 , M2);
OUT_T( START , TC0 , K20 );
相关问答
三菱plcST语法基本语句?
关于这个问题,ST语言是三菱PLC(可编程逻辑控制器)中的一种编程语言,用于编写逻辑控制程序。以下是ST语言的基本语句:1.赋值语句:变量:=表达式;例如...
三菱plcFX系列怎样用ST方式编程?
可以使用ST方式编程。因为ST(StructuredText)是一种高级的编程语言,它可以更灵活地编写复杂的控制逻辑,适用于需要进行复杂计算和逻辑判断的控制系统。相比...
三菱st语言如何写注释?
在三菱st语言中,写注释可以帮助程序员更好地理解代码的逻辑和功能。以下是三种常见的注释方式:1.单行注释:使用“//”符号在一行内添加注释。例如:MOVD10...
三菱plc为什么不用st语言?
三菱PLC不使用ST语言的原因是因为ST语言相比其他编程语言,其环境和语法都比较复杂,需要熟悉C语言等其他语言的编程规则和语法,对于初学者而言可能会有一定的难...
三菱plc怎么内嵌st框?
内嵌ST是指在梯形图编辑器中相当于线圈的指令单元格中,创建用于显示ST程序的内嵌ST框,并进行编辑/监视的功能。因此,可以简单地在梯形图程序中创建数值运算及...
三菱FX3U系列PLC到底能不能用ST语言编程?
三菱FX3U系列PLC可以用S-T语言编程,但需要根据具体的PLC型号和编程语言版本进行选择。S-T语言是一种常用的PLC编程语言,由三菱公司开发。它是一种结构化编程...
三菱fx2nplc能用st语言吗?
1可以使用ST语言2因为三菱FX2NPLC可以通过GXDeveloper编程软件进行编程,该软件支持IL、LD、FBD、SFC和ST等多种编程语言,因此可以使用ST语言进行编程。3...
三菱plcbkrst指令详解?
三菱PLC的BKRST指令是用于清除程序执行过程中的故障标志和错误代码。当PLC系统发生故障或错误时,可通过BKRST指令将故障标志和错误代码清零,以便系统恢复正常...
三菱PLC编程软件Developer.8.86中STL怎么样输入?-ZOL问答
三菱PLC编程软件GX-developer安装详细说明:下载完后,解压到x盘,保持原文件夹名,不能有中文目录名。系统支持WINDOWS98/2000/XP。1、先安装通用环境,进入...
三菱st语言从哪里学习?
学习三菱st语言可以通过多种途径,如参加培训课程、阅读相关资料、参考案例等。可以选择参加由三菱电机或其授权培训机构提供的培训课程,这些课程会涵盖从基础...