ST是一种基于Pascal的编程语言,被广泛应用于可编程逻辑控制器和嵌入式
06月29日 18:42
1 ST(Structured Text)编程语言
(资料图片仅供参考)
ST 是一种基于 Pascal 的编程语言,被广泛应用于可编程逻辑控制器(PLC)和嵌入式系统的编程中。它主要用于实现 PLC 程序中的逻辑和算法部分,使用流程控制语句和逻辑运算符来描述程序的运行逻辑,同时支持多种数据类型的处理。ST 语法结构化,可读性和可维护性都非常高,在工业自动化领域拥有广泛的应用。掌握 ST 语言是从事工控领域开发必不可少的技能。
在逻辑非常复杂的情况下,使用传统梯形图编写程序会产生大量冗长的代码,难以维护和拓展。为了解决这些问题,可以考虑使用计算机编程的方式编写工控程序。
我的主要思路是将每个功能编写成一个独立的功能块,每个小功能块都能满足一个简单的功能,然后将简单的逻辑块逐一组合,最终使用梯形图完成整个控制程序。这种方法既能够简化编写过程,又能够保证程序的可读性和可维护性。
为了更好地阐述我的思路,我将使用一个案例来说明。
2 案例
2.1 问题描述
该程序的主要功能是实现故障自动切换。它的输入包括:启动信号、停止信号、主电机故障信号、备用电机故障信号。同时,该程序还能输出主电机的启停信号、备用电机的启停信号以及状态字。
2.2 问题分析
首先,在用户输入启动时,增加一个判断,判断一下当前的状态。
如果已经处于运行状态,则不做任何处理;
如果不是运行状态,则开始执行自动切换程序。
在自动切换的过程中,同样需要增加一个判断,根据状态来确定主备电机的输出。
当用户输入停止时,主备电机都停止输出。
2.3 程序设计
为了简化一下逻辑,我们将程序分成两块。
首先是电机故障状态判断,我们用一个状态字来表示状态:
当故障状态字为 0 时,表示主备电机都正常;
当故障状态字为 1 时,表示主电机故障;
当故障状态字为 2 时,表示备用电机故障;
当故障状态字为 3 时,表示主备电机都故障;
然后我们编写自动切换程序:
根据不同的故障状态字,来启动不同的电机。
2.4 程序编写
我们来使用西门子 TIA 平台的 scl 语言来编写,SCL(Structured Control Language)和 ST(Structured Text)实际上很相似,都是一种基于 Pascal 的结构化编程语言,其语法和结构非常接近。SCL 是西门子公司开发的一种专门用于 PLC 编程的语言,而 ST 则是国际标准 IEC 61131-3 定义的通用工业控制器编程语言。
首先我们先创建一个功能块如下图,名字为 State_judgment,语言选择 SCL,FC 函数,然后确定
输入输出定义及代码编写如下图,只需要将几种状态按设计好的状态值编写即可。
然后我们创建另一个功能块,名字 Automatic_switching,语言选择 SCL,FC 函数,然后确定
输入输出定义及代码编写如下图,只需要将几种状态按设计好的状态值编写就行。
然后我们创建另一个功能块,名字 Master/slave_motor_failover,语言选择 LAD,FB 函数,然后确定
输入输出定义及代码编写如下图:
我们按照设计好的程序一步步地进行编写。虽然这个过程并不涉及太过复杂的逻辑,但如果我们完全采用梯形图(lad)编程的话,程序会相对复杂一些。而且,这种方式也不便于后期的维护和增加功能。
2.5 程序运行
我们将编写好的功能块 Master/slave_motor_failover 在主程序 OB1 当中调用,如下图:
通过手动给定条件测试正常,如下图:
3 问题拓展
3.1 问题分析
在后期的实践中,有时候虽然 PLC 产生了输出,但是由于某些原因,电机并没有真正启动。为了确认电机是否成功启动,我们可以通过接触器反馈信号和电机旋转检测信号来进行检测。我们可以将多个反馈信号合并为一个条件,并在电机启动后进行运行反馈检测。如果在 5 秒钟内没有检测到反馈信号,则可以判断电机故障,并切换到另一台电机。这样的优化方案可以提高程序的稳定性和可靠性。
3.2 程序设计
主程序不需要太大的改动,只需要增加一个电机运行反馈检测功能块就能完成。
当电机启动时,激活检测功能,
如果在 5 秒钟之内没有检测到反馈信号,则输出故障信号。
3.3 程序编写
首先我们先创建一个功能块如下图,名字为 Feedback_detection,语言选择 SCL,FB 函数,然后确定
输入输出定义及代码编写如下图。
将新增加的功能块添加到功能块 Master/slave_motor_failover 当中,如下图
3.4 程序运行
我们将修改好的功能块 Master/slave_motor_failover 在主程序 OB1 当中调用,如下图:
通过手动给定条件测试正常,如下图:
4 总结
通过借鉴计算机编程的思路,我们可以将一个复杂的逻辑分解成几个简单的逻辑,再将其组合起来,从而将复杂问题简单化。这种方式有以下几个优点:
关键词:
ST是一种基于Pascal的编程语言,被广泛应用于可编程逻辑控制器和嵌入式
06月29日 18:42
2023年06月28日1 (单选题)2020年6月21日,我国迎来一次日环食的天象奇
06月29日 18:37
为啥你越干越累,却只能赚点小钱?为啥别人越干越轻松,却能躺着赚大钱
06月29日 18:29
涉及市区11条道路,将加快推进项目进入运营管理阶段南宁云—南宁晚报讯
06月29日 18:31
1、因为她们要做为一个集体去比赛,b组实力弱是因为抽签问题,没办法,
06月29日 18:25
导读1、我觉得作为一个普通人,就不要想着怎么样成为币圈大佬了,更不
06月29日 18:38
来为大家解答以上的问题。国庆电子小报背景图片,国庆小报图片这个很多
06月29日 18:36
本报北京6月28日电(记者金歆)记者从中央网信办获悉:为进一步强化未
06月29日 18:36
作为中国第三大液化天然气(LNG)来源国,未来几年马来西亚将有更多LNG
06月29日 18:28
快科技6月29日消息,理想L系列车型的OTA4 5升级后,Air车型的悬架舒适
06月29日 18:34
大家好,小胜来为大家解答以上问题。五角星怎么用绳子编,如何用绳子编
06月29日 18:39
6月28日北向资金减持171 21万股胜利精密。近5个交易日中,获北向资金减
06月29日 18:17
最近,每天从杨浦区开车前往浦东外高桥上班的吴小姐发现,上中环高架变
06月29日 18:20
何画眉毛,初学者可以这样画很多人还不知道,现在让我们一起来看看吧!
06月29日 18:17
本报拉萨6月28日电(记者徐驭尧)记者从西藏自治区卫健委了解到:截至目
06月29日 18:30
6月28日,国产最大直径盾构机——“京华号”盾构机出洞,由中铁十四局
06月29日 18:29
电商家居商品零售商OverstockcomOSTKUS正在全力投入对3B家居BBBYQUS的
06月29日 18:36
盛夏时节,杭州地铁车厢内的空调问题再次引发公众关注。有乘客反映地铁
06月29日 18:14
中国长城日前在深圳召开2022年度业绩说明会。回顾2022年,严峻的外部环
06月29日 18:29
根据近期消息,微软正在尝试将其操作系统Windows进行云端化,并已将触
06月29日 18:29
日前,据仰望汽车公众号“问答板块”消息,仰望U8豪华版预计于8月正式
06月29日 18:16
6月28日,深圳市政府新闻办召开中国—东盟新兴产业论坛新闻发布会。
06月29日 18:17
田佳尔,关于田佳尔介绍这个很多人还不知道,我们一起来看看!1、田佳尔
06月29日 18:19
报道称,白宫发言人安德鲁·贝茨在声明中说,“自2008年以来,拜登总统
06月29日 18:17
本报呼和浩特6月28日电(记者陈沸宇)近日,记者在内蒙古自治区鄂尔多
06月29日 18:14
确保各项降成本举措落地见效,要坚持问题导向,聚焦企业反映的突出问题
06月29日 18:29
烽火红领集市在爱心街举行。 渴了能喝到凉茶,累了能歇歇脚,可以免
06月29日 18:16
中马传动:新能源汽车减速器占营收比例极小
06月29日 18:22
在国内短中长期利率市场均在不断下行时,规模庞大的保险资金也在寻觅更
06月29日 18:19
据广东省高级人民法院,28日,广东省高级人民法院依法对温庆运以危险方
06月29日 18:23