高效学习PLC编程,使用ST语言编写控制程序无压力
大家都知道PLC编程有很多语言可选择,在学习 CoDeSys 的过程中常会问一个问题,哪种编程语言最好?
其实,没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可根据实际工程应用的需求选用合适的编程语言。
涉及到算法部分建议选择 ST 语言,编写的程序往往简洁而高效。
简单介绍
结构化文本(ST-Struct Text)是一种高级的文本语言,在西门子中称为SCL(Structured Control Language)语言,不要与STL混淆,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
结构化文本编程语言是一种高级语言,是 CoDeSys 中最常用的一种语言,对于熟悉计算机高级语言开发的人员来说,结构化文本语言更是易学易用,它可以实现选择、迭代、跳转语句等功能。在复杂控制系统中,结构化文本可以大大减少其代码量,使复杂系统问题变得简单。
当你的14寸电脑界面装不下一行梯形图,当你做一个算术运算洋洋洒洒几十步,那个时候发现用ST还是挺香的,只是看逻辑没有梯形图直观,编译速度相对较慢。大意了,有得必有失嘛,如果你不介意那就一起了解一下吧。
程序执行顺序
使用结构化文本的程序执行顺序根据“行号”依次从上至下开始顺序执行,每个周期开始,先执行行号较小的程序行。这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。
这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。
表达式执行顺序
表达式中包括操作符和操作数,操作数按照操作符指定的规则进行运算,得到结果并返回。操作数可以为变量、常量、寄存器地址、函数等。
在做算术运算时,根据表格中的表达式优先级运算,小括号的优先级最高,可以将你想要先执行的表达式写在小括号内。
指令语句
结构化文本语句表主要有 5 种类型,即赋值语句、函数和功能块控制语句、选择语句、迭代(循环)语句、跳转语句。
转发是最大的鼓励!谢谢您的支持!
小贴士
PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
3种PLC软件中来看ST编程中的定时器编程
昨晚的文章用同一段点动控制程序,让大家看了一下博图/三菱/3S,三个品牌PLC中ST编程的一些特点,很相似吧!今天继续用同一段定时器程序,来看看这个3种PLC中对定时器编程的异同!
同样的废话不多说了,直接上动态图来看:
1,博图ST编程调用定时器运行程序:
TIA Portal V14中的SCL程序中对定时器监控动态图
在博图中SCL编程时,因为我是在0B1块中直接写的程序,因此调用调用定时器TON时,其实是调用IEC定时器,相当于一个功能块,熟悉STEP7的人应该知道和SFB4一样,总之是FB块就需要一个DB块,因此我程序中的T1.TON,这个T1其实就是一个DB块,我给他命名成T1了!
同样这个程序就是PB1值为1时,就让CONDITION_OK为真,这样定时器的IN管脚就接通了,定时器就开始工作!时间运行5S后,定时器的Q点也就是STEP_DONE就输出为真了!
PT处是设定的延时时间,T#5S就代表是5秒钟。
注意一下Q=>"STEP_DONE",这里的这个=>符号不是比较的意思,而是输出的意思!
别的就没什么说的了,直接看另外2种PLC程序!
2,三菱ST编程调用定时器运行程序:
GX WORKS3中的定时器程序监控动态图
三菱这个程序是基于FX5U PLC的,这个TON指令,其实属于通用函数/FB下的定时器,和梯形图编程时使用的OUT T0是不一样的! OUT TO,OUTH T0这些不清楚的可以去看一下我的问答!
程序的内容是和上面博图软件中的解释一样的,就是延时接通而已,很简单!继续往下看。
3:3S codesys ST编程调用定时器运行程序:
codesys V2.39中的定时器程序监控动态图
codesys中的定时器和三菱的就很相似了,T1出现在了声明中,且是一个标准功能块FB,可以看一下变量声明中的图片:
T1是被声明成一个TON类型的参数
这个图片上T1不是被声明成TIME,而是声明成TON,这个TON是标准功能块中的一个函数!
从3种编程软件中可以看到,在ST编程中调用定时器时,其实这个定时器是相当于一个FB函数功能块!这个是他们的共同点!
博图/三菱/3S编程软件中ST编程定时器时的用法就如本篇文章所描述的,希望对小伙伴们有点帮助。STEP7软件中的定时器用法,我在问答中也有提及,需要的朋友可以关注我到主页中去搜索!
本文到此结束,感谢阅读!
相关问答
置位(SET)与复位(RESET)指令在PLC编程中用ST语言怎样实现?
置位(SET)和复位(RESET)是我们在梯形图经常使用的元素,因为它不受双线圈的制约。当然这个和个人习惯有关。其实在ST语言中,是不存在置位复位问题的,因为赋...
三菱plcFX系列怎样用ST方式编程?
使用GXIECDeveloper软件或者GXWorks软件。;使用GXWorks2编程软件可以用ST语言编程。;补充:本书主要内容包括15章,详细讲述了三菱FX2N系列PLC的结构原理、...
支持带参调用子程序st语言plc推荐?
ST语言支持功能块调用,子程序调用,函数调用,目前支持ST语言的有倍福,和利时,AB,三菱,西门子,ST语言基于IEC-61131-3国际通用PLC语言系统。功能强大,编...ST...
PLC编程语言中LD/IL/FBD,ST/SFC/CFC的全称是什么?望高手指点?
LD:laderdiagramIL:这个又叫STL,statementlist而IL应该是日系叫法,I什么list的意思吧,没仔细研究过日系的PLC。FBD:FunctionBlockd...
st-20plc用什么软件?
西门子PLC模块ST20提供不同类型、I/O点数丰富的CPU模块,单体I/O点数可达60点,可大部分小型自动化设备的控制需求。另外,CPU模块配备型和经济型供用户选择,对...
plc中st什么意思?
在PLC中ST是结构化文本的缩写结构化文本(StructuredText)是一种类似于编程语言的标准化文本,广泛应用于PLC编程ST的语法结构严谨,可读性好,具备传统编程语...
三菱plc为什么不用st语言?
三菱PLC不使用ST语言的原因是因为ST语言相比其他编程语言,其环境和语法都比较复杂,需要熟悉C语言等其他语言的编程规则和语法,对于初学者而言可能会有一定的难...
三菱st指令详解?
三菱ST指令是用于三菱PLC编程的指令,主要用于程序运算、数据操作和I/O点操作等功能。1、程序运算指令:ADD、SUB、MUL、DIV、AND、OR、MOV、EQU等。2、数据...
倍福PLC的ST程序如何转换成LD的?
不可以转换,手动根据ST语言描述的流程图重新写LD,如果ST中包含指针的话,那么LD中是不可使用的。不可以转换,手动根据ST语言描述的流程图重新写LD,如果ST中包...
PLC模拟量编程实例?
1.使用ST结构编写一个简单的PLC模拟量程序,实现当模拟量A的值大于50时,将模拟量B的值设置为100。LD0,A//将模拟量A的值加载到寄存器0MOVD,0//将寄存...