西门子S7-GRAPH编程语言初识

2024-07-30  

工业生产过程往往从逻辑上划分为多个步骤,当满足某种条件时,生产过程从一个步骤跳转到另一个步骤,这些步骤构成了“生产工艺”。比如果汁的生产工艺大致包括:清洗→打浆→榨汁→粗滤→均质→加热→装罐→杀菌等,这种顺序执行的生产工艺特别适合用顺序功能图来控制实现。

顺序功能图(SFC-Sequential Function Chart)是国际编程语言标准IEC 61131-3推荐的五种编程语言之一(其它四种语言分别是:梯形图、功能块图、语句表和结构化文本),西门子PLC所支持的编程语言S7-GRAPH(简称GRAPH)就属于顺序功能图。GRAPH语言在实际工业生产中使用广泛,很多企业标准(比如大众的VASS标准、戴姆勒的Integra标准)的流程控制都使用GRAPH语言实现

。本系列教程我们会对GRAPH语言进行系统性介绍,今天这篇文章,先来认识下GRAPH语言。

9662d8e0-21d2-11ee-962d-dac502259ad0.png

说明:西门子S7-300/400/1500系列PLC支持GRAPH语言,S7-200 SMART及S7-1200不支持GRAPH语言。

在博途环境下新建项目,双击“添加新设备”,选择支持GRAPH语言的PLC(比如CPU 1515-2PN)。然后单击刚添加设备的左侧项目树→“程序块”→“添加新块”,在弹出的对话框中选择函数块(FB),命名为“seqControl1”,语言选择GRAPH,如下图所示:

969a5c8e-21d2-11ee-962d-dac502259ad0.png

创建完成后会自动生成GRAPH语言的编程界面,如下图所示:

96b9f30a-21d2-11ee-962d-dac502259ad0.png

其中:

①变量声明区:包括输入变量、输出变量、静态变量等。默认情况下函数块创建完成后会自动生成一些变量,相关内容后序详述;

②导航区:由四部分组成:

前固定指令(permanent pre-instructions);

顺控器(sequencer);

后固定指令(permanent post-instructions);

报警(alarm);

前固定指令是在顺控器指令执行之前所执行的指令,每次调用该函数块时都会被调用(如果编写了的话);

顺控器就是编写的流程控制代码;

后固定指令是在顺控器指令执行之后所执行的指令,每次调用该函数块时都会被调用(如果编写了的话);

报警视图中可以启用报警显示、指定类别启用条件、选择显示类别等;

③代码编辑区:用来编辑GRAPH代码;

接下来详细介绍下函数块的(接口)变量。

使用GRAPH语言创建的函数块,会生成一些默认的接口参数(输入/输出变量)。有三种接口参数的选择方案:

①默认方案;

②最少参数方案(接口参数数目很少);

③最全参数方案(接口参数数目较多);

单击开发环境的工具栏菜单“编辑”→“接口参数”,可以看到三种接口方案,如下图所示:

96ec1f4c-21d2-11ee-962d-dac502259ad0.png

默认接口参数方案自动生成的参数变量如下图所示:

970f3a0e-21d2-11ee-962d-dac502259ad0.png

最少参数方案生成的参数如下图所示(除了静态变量,就只有一个初始化顺控器的参数 INIT_SQ):

973f1c10-21d2-11ee-962d-dac502259ad0.png

最全参数方案生成的接口参数如下图所示:

9766bc8e-21d2-11ee-962d-dac502259ad0.png

最全参数方案生成的参数实在是很多,一般情况下用不到这么多参数。

说明:上述只是初始创建函数块时的参数,静态变量里的参数会随着代码的增加而增加。

下面以默认参数方案为例,介绍下各参数的含义:

输入参数(上升沿信号执行)

名称 数据类型 说明
OFF_SQ 布尔型 关闭顺控器,取消所有步的激活
INIT_SQ 布尔型 初始化顺控器,激活初始步
ACK_EF 布尔型 确认故障,跳到下一步
S_PREV 布尔型 自动模式:向前翻页浏览当前活动步,显示“S_NO”参数中的步号;
手动模式:显示“S_NO”中的上一步(较小编号);
S_NEXT 布尔型 自动模式:向后翻页浏览当前活动步,显示“S_NO”参数中的步号;
手动模式:显示 S_NO 中的下一步(较大编号);
SW_AUTO 布尔型 切换到自动模式
SW_TAP 布尔型 切换到半自动模式
SW_TOP 布尔型 切换到自动或半自动模式
SW_MAN 布尔型 切换到手动模式[1]
S_SEL 整数型 手动模式下选择的步号,
配合S_ON和S_OFF使用
S_ON 布尔型 激活S_SEL选择的步号
S_OFF 布尔型 取消激活S_SEL选择的步号
T_PUSH 布尔型 自动或手动模式下,如果满足条件且该参数有上升沿信号,则跳转到下一步

注[1]:SW_AUTO/SW_TAP/SW_TOP/SW_MAN,每一次上升沿都会激活其对应的模式,并使上一次模式失效;

输出参数

名称 数据类型 说明
S_NO 整数 步号
S_MORE 布尔型 更多步,其它步也被激活
S_ACTIVE 布尔型 所显示的步处于激活状态
ERR_FLT 布尔型 常规故障
AUTO_ON 布尔型 自动模式
TAP_ON 布尔型 半自动模式
TOP_ON 布尔型 半自动模式
MAN_ON 布尔型 手动模式

好了,关于GRAPH语言教程的第一篇文章就先介绍到这里。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。