工业生产过程往往从逻辑上划分为多个步骤,当满足某种条件时,生产过程从一个步骤跳转到另一个步骤,这些步骤构成了“生产工艺”。比如果汁的生产工艺大致包括:清洗→打浆→榨汁→粗滤→均质→加热→装罐→*菌等,这种顺序执行的生产工艺特别适合用顺序功能图来控制实现。
顺序功能图(SFC-Sequential Function Chart)是国际编程语言标准IEC 61131-3推荐的五种编程语言之一(其它四种语言分别是:梯形图、功能块图、语句表和结构化文本),西门子PLC所支持的编程语言S7-GRAPH(简称GRAPH)就属于顺序功能图。GRAPH语言在实际工业生产中使用广泛,很多企业标准(比如大众的VASS标准、戴姆勒的Integra标准)的流程控制都使用GRAPH语言实现。本系列教程我们会对GRAPH语言进行系统性介绍,今天这篇文章,先来认识下GRAPH语言。
说明:西门子S7-300/400/1500系列PLC支持GRAPH语言,S7-200 SMART及S7-1200不支持GRAPH语言。
在博途环境下新建项目,双击“添加新设备”,选择支持GRAPH语言的PLC(比如CPU 1515-2PN)。然后单击刚添加设备的左侧项目树→“程序块”→“添加新块”,在弹出的对话框中选择函数块(FB),命名为“seqControl1”,语言选择GRAPH,如下图所示:
创建完成后会自动生成GRAPH语言的编程界面,如下图所示:
其中:
①变量声明区:包括输入变量、输出变量、静态变量等。默认情况下函数块创建完成后会自动生成一些变量,相关内容后序详述;
②导航区:由四部分组成:
- 前固定指令(perMANent pre-instructions);
- 顺控器(sequencer);
- 后固定指令(permanent post-instructions);
- 报警(alarm);
前固定指令是在顺控器指令执行之前所执行的指令,每次调用该函数块时都会被调用(如果编写了的话);
顺控器就是编写的流程控制代码;
后固定指令是在顺控器指令执行之后所执行的指令,每次调用该函数块时都会被调用(如果编写了的话);
报警视图中可以启用报警显示、指定类别启用条件、选择显示类别等;
③代码编辑区:用来编辑GRAPH代码;
接下来详细介绍下函数块的(接口)变量。
使用GRAPH语言创建的函数块,会生成一些默认的接口参数(输入/输出变量)。有三种接口参数的选择方案:
①默认方案;
②最少参数方案(接口参数数目很少);
③最全参数方案(接口参数数目较多);
单击开发环境的工具栏菜单“编辑”→“接口参数”,可以看到三种接口方案,如下图所示: