IEC61131-3中高级语言(ST)在PLC 编程中的应用

PLC ,工业自动化的基石和核心,历经几十年的发展依旧笑傲江湖。由于PLC 是从继电逻辑控制电路发展而来,因此,从它诞生那一天其,就注定和梯形图必不可分。随着控制技术的发展和控制工艺的复杂性,PLC 的任务也越来越多,梯形图,显然已经力不从心,PLC急需补充新鲜血液,而基于计算机高级语言的ST(结构化文本,西门子博途中称之为SCL)语言的出现,填补了这一空白。特别是在复杂计算,它有着不可替代的作用,是梯形图无法比拟的。不妨看个例子

IEC61131-3中高级语言(ST)在PLC 编程中的应用

比如,在某个项目中,由伺服控制某机械结构,对于操作者来说,设备的位置是他操作的,也是他关心的,而作为设备开发者,我们要做的就是 机械的减速比 导程 以及伺服的电子齿轮 和实际位置之间的换算,变量定义如下

IEC61131-3中高级语言(ST)在PLC 编程中的应用

IEC61131-3中高级语言(ST)在PLC 编程中的应用

如上图所示,就是根据输入的距离计算伺服电机的脉冲数,并根据反馈的脉冲数计算实际的距离。

这种编程方式,就和做数学计算一样简单,如果用梯形图来描述,估计要一个屏幕,恐怕还不够。有兴趣的可以去试试。另外,这里还有令人讨厌的浮点数计算,用梯形图恐怕也是一大麻烦。而用ST 短短两句就搞定了。这就是ST 的优势,因此在牵涉到计算的时候,强烈建议用ST,用过一次,你就会爱上他。当然,简单的逻辑控制也可以用ST实现,因为你一旦爱上ST,就会一发不可收拾。与其他PLC 需要安装插件包不一样,在CODESYS 平台下,ST是原生自带的。不需要安装任何插件。唯一的不足就是,他不像西门子博途,可以在梯形图中插入SCL,需要单独建一个ST 语言的POU.也就是博途中的OB 或者是FB.

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据