[西门子] 西门子S7-GRAPH编程语言连载(1)——初识

[复制链接]
查看11049 | 回复0 | 2024-3-26 09:48:46 | 显示全部楼层 |阅读模式
工业生产过程往往从逻辑上划分为多个步骤,当满足某种条件时,生产过程从一个步骤跳转到另一个步骤,这些步骤构成了“生产工艺”。比如果汁的生产工艺大致包括:清洗→打浆→榨汁→粗滤→均质→加热→装罐→杀菌等,这种顺序执行的生产工艺特别适合用顺序功能图来控制实现。
顺序功能图(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语言创建的函数块,会生成一些默认的接口参数(输入/输出变量)。有三种接口参数的选择方案:

①默认方案;

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

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

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



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



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



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



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

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

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

输入参数(上升沿信号执行)
名称
数据类型
说明
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语言教程的第一篇文章就先介绍到这里。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则