汇川Easy系列PLC的ST语言编程示例

yumo6665个月前 (06-17)技术文章26

结构化文本(ST)是IEC61131-3推荐的五种PLC编程语言之一,在西门子PLC中它被称为SCL语言。不同厂家的PLC产品,只要支持ST语言,其语法都是相同的。如果你熟悉西门子的SCL语言编程,也可以很容易地使用其它PLC厂家的产品。今天这篇文章,我们以汇川公司的Easy320系列PLC为例,使用ST语言编写一个简单的电机启停控制的函数。

启动AutoShop,新建工程,如下图所示:

选中左侧项目树【编程】→【功能块(FB)】,单击右键。在弹出的菜单中单击【新建】,给功能块命名为“motorControl”,语言选择【结构化文本】,如下面的图片所示:


单击【确定】按钮,会创建该函数块并打开编辑器。其中上部分是变量声明区,下部分是代码编辑区,如下图所示:

变量声明区用于声明该功能块的接口(函数的形参)和内部参数,有四种类型:

  • IN:输入参数;
  • OUT:输出参数;
  • IN/OUT:输入/输出参数(可读/可写);
  • VAR:静态变量(用于程序内部);

本例程声明变量及代码如下图所示:

说明:这里将停止信号设置为常开触点,如果你设置为常闭触点,代码里的stop应该取反(实际上常闭触点的安全性更高一些)。

功能块编辑完成后,需要实例化才能使用。

实例化的方法有两种:

①双击项目树的【全局变量】→【功能块实例】,在列表中声明实例,如下图所示:

②双击右侧工具箱的【FB】下已经创建的功能块,会弹出实例化窗口,定义一个合适的变量即可,如下图所示:


实例化完成后,就可以调用实例了。

我们在子程序1中调用该实例,如下图所示:

在主程序中调用子程序1,如下图所示:

启动离线调试可以看到函数块运行正常,如下图所示:

好了,这是一个很简单的使用ST语言编写的电机启停控制的函数。如果你读过我的书或者我之前SCL的文章,就会发现代码编写都是一样的。稍微有点差别的地方是西门子的功能块还可以声明临时变量,而这里没有。不过这不影响使用。后期的文章我们会继续介绍相关的内容。

我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件,比较详细的介绍了SCL语言的编程,感兴趣的话可以点击下面的链接查看:

<script type="text/javascript" src="//mp.toutiao.com/mp/agw/mass_profit/pc_product_promotions_js?item_id=7430630045573448243"></script>

相关文章

PLC的五种编程语言

(1)梯形图编程语言梯形图编程语言是目前用得最多的 PLC 编程语言。梯形图是在继电器-接触器控制电路的基础上简化符号演变而来的,也就是说,它是借助类似于继电器的常开、常闭触点、线圈及串联与并联等术语...

LAD语言与SCL语言相比,谁将成为PLC编程主流语言?

在西门子博图软件中,有很多种编程语言,其中包括SCL语言、LAD(梯形图)等,这两种编程语言在现目前1200系列编程语言中用的是最多的两种,这两种编程语言在逻辑上其实差不多,SCL逻辑控制会相对强一些...

哪种语言最适合 PLC 编程?

引言当您学习 PLC 编程时,您需要了解五种常用的编程语言:梯形图语言(LD)、结构化文本语言(ST)、顺序功能流程图语言(SFC)、功能模块图语言(FBD)和指令表语言(IL)。这些语言都可以用来编...

IEC61131-3 PLC编程语言介绍(5种编程语言的优缺点)

IEC 61131-3是国际电工委员会(IEC)发布的针对可编程逻辑控制器(PLC)的编程语言标准。该标准定义了五种编程语言,包括梯形图(Ladder Diagram)、指令表(Instruction...

PLC中ST语言的几种程序流程控制语句,温故而知新吧

ST语言是IEC61131-3中规定的5中标准语言之一,ST语言的一个好处是移植性好,各家的ST语言基本都是类似的,所以如果有一个巨牛逼的算法,用ST语言实现是再好不过的了,这样可以很容易的在多个品牌...

PLC编程小白必知:关于SCL语言编程方法的简介

PLC编程难不难?SCL语言VS梯形图,你选哪个?程序员觉得写代码很浪漫,一行行指令让机器动起来。PLC编程工程师的浪漫,是工业自动化里那些精妙指令,让生产效率提高。今天说说TIA博途软件里一个强大的...