![头图](https://i-blog.csdnimg.cn/blog_migrate/dd94e3d7da2b7a6ea9d73a192dbbe2b9.png#pic_center)
PLC_博图系列☞STL
关键字:
PLC
、
西门子
、
博图
、
Siemens
、
STL
背景介绍
这是一篇关于
PLC
编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC
编程人员,也不懂电路,所以如果你希望从这里学习PLC
编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC
编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0
的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎点赞
和关注
我❥(^_-)。
STL
[参考链接](西门子stl语言指令_如何读懂西门子STL 编程语言-CSDN博客)
西门子PLC有三种编程语言:梯形图、STL、SCL。今天我们就来介绍一下STL编程语言,这种语言类似汇编语言是西门子一直以来的精华所在,它所能完成的功能内容基本为100%。STL强大的地方在于不仅可以随意处理梯形图中的各种逻辑关系,而且在运算以及指针等复杂的功能上有着梯形图无法做到的功能可谓得STL者得天下。
[参考链接](STL,ST,SCL等PLC高级编程语言介绍 - 知乎 (zhihu.com))
STL,是西门子在STEP7时代推出的语言,它不是STRUCT TEXT LANGUAGE的缩写,所以,它和ST语言完全没关系。STL语言是一种汇编语言,是面向机器底层的语言,可以直接操作寄存器,可读性不强,和80C51单片机的机器语言是一个层面。所以,它是一种低级语言,而ST,SCL都是中高级语言。
越高级的语言,可读性越好,越侧重于变量和算法,和硬件无关,而越低级的语言,越侧重于寄存器地址,和硬件关系紧密,并可以直接操作硬件,但可读性差,执行效率高。现在,西门子的博途平台是主推SCL的。
优势
STL(Statement List)相比其他PLC编程语言有以下优势:
- 执行效率高:STL有点类似汇编语言,和机器码对应,无论哪种语言写的PLC程序都可以转换成STL查看。STL直接操作寄存器,实现同样功能时可以减少运算量和寄存器调用次数,并且只关心数据类型的长度 (例如不区分int和word),减少了数据类型转换。
- 面向机器底层:STL语言是一种汇编语言,是面向机器底层的语言,可以直接操作寄存器。
总的来说,STL在处理复杂的控制逻辑时具有很大的优势。
局限
在使用STL(Statement List)编程语言时,需要注意以下一些局限性:
- 复杂性:STL是一种汇编语言,面向机器底层,可以直接操作寄存器。因此,它的可读性不强,和80C51单片机的机器语言是一个层面。所以,它是一种低级语言,而ST,SCL都是中高级语言。但实现复杂运算和逻辑时编程繁琐。
- 成本:STL语言的使用需要购买额外的授权,这可能会增加项目的成本。
- 可编程性受限:STL编程语言相对于通用编程语言来说功能较为受限,难以实现复杂的算法和逻辑。
- 兼容性:STL语言主要适用于西门子的PLC系统,对于其他品牌的PLC系统可能不支持或者支持有限。
概述
STL 是一种基于文本的编程语言,用于编写逻辑块。
STL 程序通常分为若干个程序段。 每个程序段中可包含一行或多行。 每个程序段中的行编号从 1 开始,每出现一个新行编号便递增。 各 STL 指令都在程序段的行中进行编写,每行只能指定一条 STL 指令。 每条语句都代表一条 CPU 指令。 CPU 将自上而下执行指令。
以下示例说明了如何使用 STL 编写程序段:
STL ![]() | 说明 |
---|---|
A"Tag_Input_1" | // 检查操作数的信号状态是否为“1”,并与当前的 RLO 进行“与”运算 |
A “Tag_Input_2” | // 检查操作数的信号状态是否为“1”,并与当前的 RLO 进行“与”运算 |
S “Tag_Output” | // 如果 RLO 为“1”,则将操作数设置为“1” |
![博客签名2021](https://i-blog.csdnimg.cn/blog_migrate/ea9784c88ca58996dbb1d0e3f456d049.png#pic_center)