西门子西门子 GRAPH 语言研究及系统设计语言研究及系统设计1. STEP 7 编程语言简述编程语言简述STEP7 是 S7-300/400 系列 PLC 应用设计软件包,所支持的 PLC 编程语言非常丰富,该软件的标准版支持 STL(语句表) 、LAD(梯形图)及FBD(功能块图)3 种基本编程语言,并且在 STEP7 中可以相互转换专业版附加对 GRAPH(顺序功能图语言) 、SCL(结构化控制语言) 、HiGraph(图形编程语言) 、CFC(连续功能图)等编程语言的支持不同的编程语言可供不同知识背景的人员采用,表 1 是各种编程语言的应用对照表表 1 各编程语言应用对比编程语言编程语言用户类用户类应用应用语句表 STL愿意用机器码语言编程 的用户程序在运行时间和存储 空间要求上最优梯形逻辑 LAD习惯电路图的用户编写逻辑控制程序功能块图 FBD熟悉布尔代数逻辑图的 用户编写逻辑控制程序SCL(结构控制语言)可选 软件包用高级语言,如 PASCAL 或 C 编程的用 户数据处理任务程序S7-GRAPH 可选软件包有技术背景但没有多少 PLC 编程经验的用户对顺序过程的描述很方 便HiGRAPH 可选软件包有技术背景但没有多少 PLC 编程经验的用户对异步过程的描述很方 便CFC 可选软件包有技术背景但没有多少 PLC 编程经验的用户适于连续过程的描述其中,图形编程语言 S7-GRAPH 属于可选软件包,适用于顺序控制的编程,它包括一系列顺序步,确定每一步的内容,以及步与步之间的转换条件。
编写每一步的程序要用特殊的编程语言,转换条件是在梯形逻辑编程器中输入2.顺序功能图简介.顺序功能图简介顺序功能图(SFC)是 IEC 标准编程语言,是描述控制系统的控制过程、功能和特性的一种图形,它是 PLC 顺序控制程序设计的得力工具,用于编制复杂的顺序程序,其编程规律性强,很容易被初学者接受,对于有经验的电气工程师,也会大大提高工作效率顺序功能图并不涉及所描述的控制功能的具体技术,它是一种通用的直观的技术语言图 2.1 顺序功能图举例2.1 顺序功能图顺序功能图如图 2.1 所示的用于描述顺序控制系统的图我们称之为顺序功能图,顺序功能图由一系列的步、每一步的转移条件以及动作命令三部分组成1)步步(step)表示与生产流程对应的工艺过程,用 S1、S2、S3...表示,可不按照顺序使用,初始步 S1 用双线框绘制,每一个顺序功能图至少要有一个初始步,系统运行之前首先要进入规定的初始步2)转移条件转移条件是指由上一步到下一步的转移所需条件,当转移条件满足的时候,自动从前一步跳到后一步,即关闭上一步激活下一步,转移条件在当前步下方,用短水平线引出并放的右边步的转移不一定按顺序进行,也可以直接跳转。
3)动作命令动作命令位于步序框的右边,表示与当前步有关的操作,一般用输出类指令,这些命令一般不执行,只有当前步被激活时动作命令才会被执行2.2 顺序功能图结构顺序功能图结构顺序功能图有三种基本结构类型,分别为单流程、选择分支流程和并进分支流程,三种基本类型如图 2.2 所示图 2.2 顺序功能图的结构类型2.3 顺序功能图的编程顺序功能图的编程在 STEP7 环境下,顺序功能图既可以用梯形图编程,也可以用 S7-GRAPH 进行编辑梯形图编程是一种通用的编程方法,是 PLC 工程技术人员必须掌握的编程方法,相对而言,S7-GRAPH 语言没梯形图应用广泛,但它有自己的优势,它可以极其快速地组织和编写顺序功能图,并且其顺序性极强,很容易被初学者接受,它是一种专门的顺序功能图语言,在 S7-GRAPH 中生成顺序功能图后便完成了编辑工作3..S7-GRAPH 介绍介绍顺序功能图语言 S7-GRAPH 是西门子公司专门开发的适用于 S7-300/400的顺序功能图编辑语言,它以图形方式直观地表示出整个控制过程,非常适合于顺序控制系统的程序设计S7-GRAPH 表达复杂的顺序控制非常清晰,用于编程及故障诊断更为有效,S7-GRAPH 类似于解决问题的流程图,它利用 S7-GRAPH 编程语言,可以清楚快速地组织和编写 PLC 系统的顺序控制程序,它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方式的文件。
一个 S7-GRAPH 的功能块(FB)最多可以编写 250 个“步”和 250 个“转换” 可以由多个 Sequencer(顺序控制器)组成,每个 Sequencer 最多可以编写 256 个分支、249 个并行分支及 125 个选择分支,具体容量与 CPU 的型号有关3.1 S7-GRAPH 语言环境语言环境在 SIMATIC Manager 窗口内双击 Blocks 文件夹,然后执行菜单命令Insert >Function Block 打开 FB 属性对话框,如图 3.1.1 所示图 3.1.1 FB 属性对话框在“name”区域输入功能块名称,如 FB1,在“Symbolic Name”区域输入 FB 的符合名,在“Symbolic Comment” 区域输入 FB 的说明文字,在“Created in Language”区域选择 FB 的编程语言,单击下拉列表选择GRAPH 语言,最后单击 OK 按钮插入一个功能块 FB1,双击功能块 FB1,打开 GRAPH 编辑器,编辑器自动为 FB1 生成初始步 S1 以及第一个转换 T1,如图 3.1.2 所示图 3.1.2 S7-GRAPH 编辑器S7-GRAPH 编辑器由生成和编辑程序的工作区、标准工具栏、视窗工具栏、浮动工具栏、详细信息窗口和浮动浏览窗口等组成。
左视窗有三个选项卡:图形选项卡、顺序器选项卡和变量选项卡 3.2 步与步的动作命令步与步的动作命令一个 S7-GRAPH 由多个步组成,其中每一步都由步序、步名、转换编号、转换名、转换条件和步的动作组成,如图 3.2.1 所示,其中,步序、转换编号和步名由系统自动生成一般无需修改,也可自己定义但必须唯一;转换条件可以用 LAD 或者 FBD 指令编辑;步的动作由命令和操作数组成,左边的方框用于写入命令,右边的方框为操作数地址,动作分为标准动作和事件有关的动作,动作中可以有定时器、计数器和算术运算,常用的动作命令如表 3-1 所示图 3.2.1 步的说明图表 3.2 常用标准动作另外,还有互锁命令、ON 命令及 OFF 命令等多种命令可供使用,这里不一一列出,需使用时查询相关书目即可3.3 S7-GRAPH 的功能参数集的功能参数集在 S7-GRAPH 编辑器中执行命令 Option>Block Setting 可打开 S7-GRAPH 功能块参数设置对话框,如图 3.3.1 所示在 FB Parameters 区域有四个参数集选项,分别为:Minimum(最小参数集)、Standard(标准参数集)、Maximum(最大参数集)、User-defined(用户自定义参数集)。
不同的参数集对应的功能块也不相同,在不同情形下可选择不同参数集图 3.3.1 GRAPH 功能块参数设置对话框4..S7-GRAPH 程序设计流程图程序设计流程图图 4.1 具体说明利用 S7-GRAPH 为顺序控制系统编程的步骤图 4.1 GRAPH 程序设计流程图5.系统.系统应用应用实例实例顺序控制是区别于组合逻辑控制的另外一种控制方式,很适合流水作业式的工业控制系统,下面是对一种简易自动打孔系统的 GRAPH 语言编程设计与调试如图 5.1 所示,为一个自动打孔系统图,它主要由以下几个部分组成:1.带有钻头转速反馈信号的转动电机2.开始按钮和冷却开关3.带有冷却温度反馈信号的冷却泵4.带反馈信号的夹紧装置5.钻头上下移动装置图 5.1 自动打孔系统首先,分析系统启动前的状态:1.电机和冷却泵均关闭2.钻头移动装置处于高位3.夹紧装置上无工件其次,对钻孔过程进行顺序流程分析:1.放入工件(手动) 2.如有必要,按下冷却开关3.按下启动按钮,电机开始转动4.夹紧装置将工件夹紧5.开启冷却泵(当冷却开关按下时) 6.钻头移动装置下降至低位7.钻头移动装置在低位停留 0.5 秒钟 8.钻头移动装置上升至高位。
9.夹紧装置松开,关闭电机和冷却泵10.移走工件(手动) 这样就得到如下钻孔控制流程图:放入工件(手动)系统启动前 电机关闭、钻头位于高位按下启动按钮工件需要冷却?按下冷却开关夹紧装置将工件夹紧并达到要求松紧度钻头移动装置下降并降至最低位钻头在低位停留0.5秒钟钻头移动装置上升并升至最高位夹紧装置松开,关闭电机和冷却泵结束,移除工件(手动)YN开启冷却泵并达到要 求冷却温度冷却开关是否按下?开启电机,并达到要求转速YN图 5.2 钻孔顺序流程图并由此得到以下信号图:图 5.3 信号图在分析系统之后,就需按照本文第 4 部分流程图中所述的编程步骤来对自动打孔系统进行编程设计,下文的 5.1 到 5.5 具体讲述编程的实现过程5.1 系统顺序结构以及输入输出信号的确定系统顺序结构以及输入输出信号的确定钻孔过程在 GRAPH 里面是以步序的形式来描述的,一个步序代表一个单独的步以及可以控制程序运行到下一步的条件,为确定顺序功能图结构,需要按照一下原则进行:1 将钻孔过程进行多步分解,并确定各步的次序2 每一步中,指明应当完成的动作3 确定每两相邻步中间的条件,只有条件满足时,程序方能由上一步运行至下一步。
由以上分析,确定系统顺序功能图的结构为选择分支流程结构,即如图5.1.1 所示结构图 5.1.1 孔加工系统顺序功能图结构完成了系统的结构分析,就需要确定每一步的输入、输出信号,因此,将自动打孔系统的所有输入输出进行列表,见表 5.1.1,其中,第一列为绝对地址,第二列为代表符号,第三列为解释说明信息表 5.1.1 自动打孔系统输入、输出列表5.2 在在 SIMATIC Manager 中创建项目中创建项目1.创建项目并组态硬件首先,打开 SIMATIC Manager,执行菜单命令:File > New 创建一个项目,命名为“Drill”,然后插入 SIMATIC 300 station 工作站,并选择 SIMATIC 300 station 文件夹,双击硬件组态图标 hardware 可进入硬件组态窗口进行硬件配置,如图 5.2.1 至 5.2.4 所示,本文对于硬件配置不做详细讨论图 5.2.1 创建项目对话框图 5.2.2 插入SIMATIC 300 station 工作站图 5.2.3 进行硬件配置图 5.2.4 硬件组态图2.编辑符号表在“Drill”项目下插入 SIMATIC 300 station 工作站后,单击其子文件夹S7 program,然后双击右工作区内的 Symbol 图标打开符号表编辑器,进行符号表编辑。
如图 5.2.3 到 5.2.4 所示图 5.2.3 S7 program 界面图 5.2.4 符号分配表5.3 编辑编辑 S7-GRAPH 功能块功能块在 SIMATIC Manager 窗口内双击 S7 program 文件夹下的 Blocks 文件夹,如图 5.3.1 所示然后执行菜单命令 Insert>Funtion Block,打开 FB 属性对话框,在 Name 区域输入功能块名称,默认为 FB1,在 Symbolic Name 区域输入 FB 的符合名,在 Created in Language 区域选择 GRAPH 语言,最后单击OK 按钮,便插入了功能块 FB1如图 5.3.2 所示图 5.3.1 S7 program 文件夹的 Blocks 文件图 5.3.2 插入 FB1 功能块1.规划顺序功能图双击功能块 FB1,打开 GRAPH 编辑器,编辑器界面如图 5.3.3 所示图 5.3.3 GRAPH 编辑器界面规划顺序功能图即相当于完成顺序功能图的总体结构、设计步。