北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8639657

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

工业生产过程往往从逻辑上划分为多个步骤,当满足某种条件时,生产过程从一个步骤跳转到另一个步骤,这些步骤构成了“生产工艺”。比如果汁的生产工艺大致包括:清洗→打浆→榨汁→粗滤→均质→加热→装罐→杀菌等,这种顺序执行的生产工艺特别适合用顺序功能图来控制实现。
顺序功能图(SFC-Sequential Function Chart)是国际编程语言标准IEC 61131-3推荐的五种编程语言之一(其它四种语言分别是:梯形图、功能块图、语句表和结构化文本),西门子PLC所支持的编程语言S7-GRAPH(简称GRAPH)就属于顺序功能图。GRAPH语言在实际工业生产中使用广泛,很多企业标准(比如大众的VASS标准、戴姆勒的Integra标准)的流程控制都使用GRAPH语言实现。本系列教程我们会对GRAPH语言进行系统性介绍,今天这篇文章,先来认识下GRAPH语言。

cover.png

说明:西门子S7-300/400/1500系列PLC支持GRAPH语言,S7-200 SMART及S7-1200不支持GRAPH语言。
在博途环境下新建项目,双击“添加新设备”,选择支持GRAPH语言的PLC(比如CPU 1515-2PN)。然后单击刚添加设备的左侧项目树→“程序块”→“添加新块”,在弹出的对话框中选择函数块(FB),命名为“seqControl1”,语言选择GRAPH,如下图所示:

FB-Graph.png

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

code-overview.PNG

其中:

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

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

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

  • 顺控器(sequencer);

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

  • 报警(alarm);

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

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

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

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

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

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

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

①默认方案;

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

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

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

change-variables.PNG

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

variables.png

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

variables-2.png

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

variables-3.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语言教程的第一篇文章就先介绍到这里。

下面是西门子S7-GRAPH语言编程的文章归档链接:

》》西门子S7-GRAPH编程语言文章归档《《

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

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

来源:本站|   大小:775KB|   下载次数:578次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论