PLC的结构化文本编程(ST)-小案例
作为PLC编程语言中的一种,结构化文本编程近些年越来越受欢迎。那么什么是结构化文本编程呢?
"结构"是指高水平的结构化编程能力,像一个"结构化的编程";"文本"是指应用文本而不是梯形图和顺序函功能表的能力。ST语言不能代替其它的语言,每种语言都有它自己的优点和缺点。ST主要的一个优点就是能简化复杂的数学方程。
今天我们做一个简单的案例,来熟悉一下ST编程方式。
编程要求:
以上为编程要求
有了题目之后,我们第一步需要做什么呢?当然是建立相关的变量表啦,变量表的建立如下:
建立变量表
变量表建立之后,我们就可以根据要求写程序啦,程序已经写好,但不完整,小伙伴们可以改进完善哦。
编程程序
程序编写完成之后,我们需要进行仿真测试。
首先我们将模拟量的输入值模拟为200,那么这个值在整个占比中为5%。因为小于设置的25%,因此结果输出为LOW。
输出结果为LOW
然后我们将模拟量的输入值模拟为2000和3800,那么这两个值在整个占比中分别为50%和95%。按照程序设定,我们分别会得到OK和HIGH的运行结果。
输出结果为HIGH
输出结果为OK
小伙伴们,看完之后是否有了一点点收获呢?欢迎小伙伴的添加补充,更欢迎小伙伴们的转发和收藏,有什么问题也可以私信小编哦,小编会尽力回答各位“控油”的。让我们一起在工控的道路上一起变得强大吧!!!
在PLC编程使用结构文本ST语言编程中使用CASE语句实现移位功能
在PLC进行编程中常常会用到移位指令,大家也都是很熟悉,今天要跟大家聊聊的就是如何使用case语句来实现移位指令的功能。
一、首先条件语句CASE的语法结构和功能
CASE语句 :用来选择几个分支程序部分之一。选择是基于选择表达式当前值的。
语法:
CASE语句按下列规则执行:
选择表达式必须返回一个整数类型的值。当CASE语句被处理时,程序检查是否选择表达式的值包含在指定的值表之中。如果找到匹配项,列表指定的语句部分将被执行。如果没有发现匹配项,程序选择ELSE后面的语句,或者如果ELSE分支不存在则无语句可执行。下表列出了case语句的参数:
值表 :包含允许的选择表达式的值。如下面的语句表达:
二、通过一个示例来看看如何通过CASE语句来实现移位的功能
功能要求,当按下启动按钮,六盏灯每隔2s,从左到右依次点亮;当按下停止按钮,灯全部熄灭。
看到本例,相信大家首先想到的就是移位指令,可以很容易实现此功能,今天我们主要要练习的就是CASE语句的使用,所以,看看如何通过CASE语句来实现本例的功能。
编程过程:
1、使用条件语句IF,当按下启动按钮来对灯赋值1(点亮第一盏灯),当按下停止按钮,则对灯赋值0(熄灭所有灯)
IF #START THEN
#LIGHT_TEMP := 1;
ELSIF #STOP THEN
#LIGHT_TEMP := 0;
END_IF;
2、设定时间,间隔2s
#TIME.TON(IN := (#LIGHT_TEMP = 1),
PT := T#2S);
#TIME_1.TON(IN := (#LIGHT_TEMP = 2),
PT := T#2S);
#TIME_2.TON(IN := (#LIGHT_TEMP =4),
PT := T#2S);
#TIME_3.TON(IN := (#LIGHT_TEMP = 8),
PT := T#2S);
#TIME_4.TON(IN := (#LIGHT_TEMP = 16),
PT := T#2S);
#TIME_5.TON(IN := (#LIGHT_TEMP = 32),
PT := T#2S);
3、使用CASE语句来进行选择赋值
CASE #LIGHT_TEMP OF
1:IF #TIME.Q AND #LIGHT_TEMP=1 THEN
#LIGHT_TEMP := 2;
END_IF;
2:IF #TIME_1.Q AND #LIGHT_TEMP=2 THEN
#LIGHT_TEMP := 4;
END_IF;
4:IF #TIME_2.Q AND #LIGHT_TEMP=4 THEN
#LIGHT_TEMP := 8;
END_IF;
8:IF #TIME_3.Q AND #LIGHT_TEMP=8 THEN
#LIGHT_TEMP := 16;
END_IF;
16:IF #TIME_4.Q AND #LIGHT_TEMP=16 THEN
#LIGHT_TEMP := 32;
END_IF;
32:IF #TIME_5.Q AND #LIGHT_TEMP = 32 THEN
#LIGHT_TEMP := 1;
END_IF;
END_CASE;
4、赋值输出
#LIGHT := #LIGHT_TEMP;
5、完整程序如下图所示:
6、仿真运行:
注:通过本示例,主要是跟大家看看case语句的使用,同时,也是通过本示例来看看使用结构文本ST编程的多种方法。
相关问答
PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞?
原图文请查看我头条号文章结合项目的实际情况,选用合适的程序设计结构,注意编程常用技巧,可以事半功倍。题图:西门子S7-1200PLC来源:EVERYPIXELPLC...过...
plc常见的语言编程方法?
PLC的编程方法大体上有5种:经验法、解析法、图解法、技巧法及计算机辅助设计法。(1)经验法:运用已掌握的成功设计经验,结合实际的情况,选择与实际情...
plc指令集架构?
PLC的指令集是通过编程语言实现的,主要包括:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)...PLC的...
plc编程语言有哪些?
PLC编程语言主要包括以下几种:1.LadderDiagram(梯形图):是PLC最常用的程序设计语言,采用电气线路图的形式表示控制逻辑,能够可视化控制方案,易学易懂。...
三菱plc如何编程与文本才有手动?
首先要保证文本与plc通讯链接好,然后在plc里写好手动程序。文本中做软元件按钮控制Plc首先要保证文本与plc通讯链接好,然后在plc里写好手动程序。文本中做软...
plc五种编程语言?
plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...
plc编程知识点?
6.自动控制系统有两中最基本的形式分别是开环控制、闭环控制。17.在控制系统中,若通过某种装置将反映输出量的信号引回来去影响控制信号,这种作用称为...
plc结构文本。ST语言。台达PLC不支持吗?
2、梯形图(LAD-LAdderDiagram)3、语句表(STL-STatementList)4、功能块图(FBD-FunctionBlockDiagram)5、结构化文本(ST-St...
plc与C语言有什么关系啊!-ZOL问答
大部分厂家的plc支持结构化文本语言,这是iec61131规定的一种高级语言,语法类似于pascal。例如西门子的step7软件,rockwell的rslogix5000软件等另外,西门子的t.....
plc单独编程到调试过程详情?
熟悉控住对象、PLC选型及确定硬件配置、设计PLC的外部接线。设计控制程序、程序调试和编制技术文件。1了解控制对象,确定控制要求这一步是系统设计的基础。...
扫一扫微信交流