自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受传统的‘梯形图’是较为简单,容易上手,但是编程方式在面对越来越复杂的控

随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受传统的‘梯形图’是较为简单,容易上手,但是编程方式在面对越来越复杂的控制要求时,已显得有所不足。现在很多大品牌的中高级PLC都支持五种编程语言的混合编程,即梯形图(LD)、指令表(IL)、功能模块e(FBD)、顺序功能流程图(SFC)及结构化文本(ST)。

在这五种编程语言中,搭配过这么一个不错的组合就是梯形图+结构化文本,用梯形图写逻辑控制,用结构化文本写计算,这样可以加快编程效率并且使程序的可读性大大提高。而流程图编程则非常适用于一些“顺序控制”场合。至于指令表和功能块,我个人认为实用性并不太大。

西门子S7系列PLC在国内工控领域中使用很广,它的编程软件Step7默认情况下只支持梯形图和指令表编程,但通过安装“S7SCL”软件包和“S7Ggph”软件包可实现结构化文本和流程图编程。下面,笔者就结合自己的一些使用经验介绍一下如何在Step7中用结构化文本编程。

什么是结构化文本编程

结构化文本语言是用结构化的描述文本来描述程序的一种编程语言,它是类似于高级语言的一种编程语言。在大中型PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系,完成所需的功能或操作。

具体的语法规则大家可参考西门子的相关手册,在此就不做详细介绍。下图为Step7中的SCL编程界面:

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

在Step7 中,结构化文本编程被称为结构化控制语言,缩写为SCL. Step7 V5.3的软件包中已包含了S7-SCL软件包,在安装Step7 V5.3时,系统会提示是否要安装S7-SCL,把复选框打钩即可,见下图:

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

SCL软件包用于以“源文件”的方式编写功能块、函数块。步骤如下:

第一步:当Step7中已正确安装SCL软件包后,会有如下界面

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

第二步:进入SCL编程界面,并选择准备编写的程序块的类别

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

第三步:编写程序并编译

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

经过以上四步,就完成了一个用SCL编写功能块的全过程, FC1的源程序,保存在“Sources”文件夹中,可随时打开进行修改。

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

用编程实现“间接寻址”

Step7中,梯形图编程不支持对PLC的间接寻址,用指令表的方式虽可实现,但步骤

烦琐且程序可读性差,相比之下,用SCL的方式来做就简便的多,具体方法如下:

1、位寻址

MX[i,j,i为字节地址,j表示该字节中的哪个位,当i=5;j=0时,表示M50

2、字节、字、双字寻址

MB[i] IW[i]、QB[i]、MD[i]

自动化工程师:结合不同的西门子PLC编程语言,程序编写无压力

这次的分享就到这里,对于个人在学PLC或者在实际应用中,看习惯是用的哪一种编程语言更是有效,就首当其选那种编程语言!

以上,欢迎动动手分享及收藏!以上,欢迎动动手分享及收藏!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/9211.html

(0)
上一篇 2023年 4月 21日 下午10:34
下一篇 2023年 4月 22日 上午12:44

相关推荐

发表回复

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

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信