qt quick scene graph_S7-GRAPH的使用

本人对一个抓料机械手设备进行改造,使用的是S7-GRAPH顺序编程功能 在此针对于S7-GRAPH的使用做一个简单的介绍,希望给大家有所学习和帮助。

基于S7-GRAPH的抓料机械手设备改造

· 第一部分:S7-GRAPH的简介

· 第二部分:S7-GRAPH的相关概念及使用方法

· 第三部分:顺控器规则

· 第四部分:抓料机械手程序的编写及调试

第一部分:S7-GRAPH的简介

S7-GRAPH具有以下特点:

(1. 适用于顺序控制程序。

(2. 符合国际标准IEC61131-3。

(3. PLCopen基础级认证。

(4. 适用于 SIMATIC S7-300(推荐用于CPU314以上的CPU),S7-400, C7 andWinAC。

S7-GRAPH 顺序控制功能在编程上做了相应优化处理,它不仅仅具有PLC典型的元素(输入/输出、定时器、计数器),而且增加了以下概念:

多个顺控器(最多8个)

步骤(每个顺控器最多250个)

每个步骤的动作(每步做多100个)

转换条件(每个顺控器最多250个)

分支条件(每个顺控器最多250个)

逻辑互锁(最多32个条件)

监控条件(最多32个条件)

切换运行模式:手动、自动及点动模式

第二部分:S7-GRAPH的相关概念及使用方法

作为 STEP7 的选项包,S7-GRAPH软件在安装后,将被集成在STEP7中使用。S7-GRAPH 的编程界面为图形界面,是针对顺序控制系统进行编程的图形编程语言,S7-GRAPH 中包含了顺序器(S7-GRAPH 程序)的创建,每个'步'的内容,跳转和转移的规范。同时S7-GRAPH 还表示了顺序的结构,以方便进行编程,调试和查找故障。

1. 顺序控制程序的结构

用S7-GRAPH编写的顺序功能图程序,以功能块(FB)的形式被主程序OB1调用。S7-GRAPH FB 包含许多系统定义的参数,通过参数设置来对整个顺序系统进行控制,从而实现系统的初始化和工作方式的转换等功能。

一个顺序控制项目至少需要3个块

(1) 一个调用S7-GRAPH FB 的块,它是以组织块、功能、或功能块。

(2) 一个用来描述顺序控制系统各子任务和相互关系的S7-GRAPH FB ,它由一个或多个顺序控制器和可选的永久性指令组成。

(3) 一个指定给S7-GRAPH FB 的背景数据块,它包含了顺序控制系统的参数。

一个S7-GRAPH FB 最多可以包含250步和250个转换。

在调用S7-GRAPH FB时,顺序控制器从第一步或从初始步开始启动。

一个顺序控制器最多包含了256个分支,249条并行序列的分支和125条选择序列的分支,实际上这与CPU的型号有关,一般只能用20-40条分支,否则执行的时间将会变长。

可以在路径结束时,在转换之后添加一个跳步(jump)或一个支路的结束点(stop)。结束点将使正在执行的路径变为不活动的路径。

92d18404-da18-eb11-8da9-e4434bdf6706.png

2. 用户界面

(1)生成新S7-GRAPH 程序

首先,在STEP7 当中生成一个新项目,命名为: 机械手控制

S7-GRAPH 格式的 FB ,右键点击Block 中文件夹, Insert new object-function 在block-created inlanguage 中选择GRAPH。如图:

94d18404-da18-eb11-8da9-e4434bdf6706.png

S7-GRAPH格式的SOURCE 文件,右键点击项目中的SOURCE 文件夹,Insert new object-function 选择GRAPH source:

95d18404-da18-eb11-8da9-e4434bdf6706.png

两者可以相互转化:S7-GRAPH 格式的FB 可以通过菜单 file-create file 生成S7-GRAPH 格式的 SOURCE 文件。S7-GRAPH 格式的 SOURCE 文件也可以通过菜单 file-compile 生成S7-GRAPH 格式的 FB。

双击新生成的GRAPH FB 后,可以打开用户界面,如下图:

96d18404-da18-eb11-8da9-e4434bdf6706.png

1) 工具条

2) 工作区

3) 概览窗口

4) 详细窗口

5) 状态条

(2)工具条

工具条可以分为4类功能:

标准功能:主要为文件功能,例如打开。复制,粘贴等功能。

视图功能:调整显示作用,如是否显示符号名等。

顺控器 :包含顺控器元素,如分支,跳转,步等。

LAD/FBD :可以为每步添加LAD/FBD指令。

(3)工作区

工作区是S7-GRAPH 中最重要的区域,典型的工作区域视图如下图:

98d18404-da18-eb11-8da9-e4434bdf6706.png

互锁条件(interlock):

Interlock是每部的一个编程条件,它将影响到每个单步的执行情况。

1) 如果互锁条件(interlock)满足,则互锁条件组成的指令将被执行。(S7-GRAPH中有专门与interlock状态相关的指令)

2) 如果互锁条件(interlock)不满足,则互锁条件组合的指令不被执行,互锁错误信号将为1 (时间event L1)

每个互锁条件最多可以容纳32个LAD/FBD元素,在工作区域中用'C'表示,如果每个互锁条件为空,即没有编程,系统则认为条件满足。

监控条件(Supervision)

Supervision是每部的一个可编程条件,它将影响每个单独步向下一步转换的执行情况。

1) 如果监控条件(Supervision)满足,则事件V1发生,顺控器不在转换到下一步,当前步保持激活,步的激活时间Si.U停止。

2) 如果监控条件(Supervision)不满足,并且当前步向下一步的转换条件满足,顺控器将转换到下一步。

每个监控条件最多可以容纳32个LAD/FBD元素,在工作区域用字母'V'来表示,如果监控条件为空,即没有编程,系统则认为监控条件不满足。

(4) 概览窗口

概览窗口的GRAPHIC 的视图如下:

9ad18404-da18-eb11-8da9-e4434bdf6706.png

可以通过右键点击图中的区域,在提示Insert New Element Permanent Instruction 下,选择Condition 或者Call。不论顺控器的状态如何,这些指令可以在每次扫描时被执行,可以在S7-GRAPH的FB中编写任意多的指令。

注意:Permanent Instruction只支持两种格式,即:

LAD/FBD格式的AND, OR,比较指令

Call 指令

如果希望Permanent Instruction使用其它LAD/FBD格式指令,请将这些指令编写为FB,FC,然后用Call格式调用。如下图:

9bd18404-da18-eb11-8da9-e4434bdf6706.png

概览窗口的Sequence视图:

对于每一个S7-GRAPH的FB程序,可以包括多个顺控器(Sequence),如果对多个顺控器进行查看,可以选择概览窗口的Sequence视图,如下图;

9cd18404-da18-eb11-8da9-e4434bdf6706.png

概览窗口的Variable视图:

在S7-GRAPH的FB程序中,可以通过概览窗口的Variable视图,查看并编辑如下资源,如图:

9dd18404-da18-eb11-8da9-e4434bdf6706.png

(5) 详细窗口

可以查看编辑信息,变量监控,交叉参考等。

(6) 状态条

显示在线,离线,CPU状态等。

(7) S7-GRAPH格式的FB与Source文件

在生成STEP7项目后,可以通过两种方式生成S7-GRAPH程序:

S7-GRAPH格式的FB,右键点击项目中的Block文件夹,Insert New Object Function Block Created in language选择GRAPH.

S7-GRAPH格式的Source文件,右键点击项目中Source文件夹,Insert New Object 选择GRAPH Source

两者相互转换:S7-GRAPH格式的FB可以通过菜单File Generate Source File生成S7-GRAPH格式的Source文件,S7-GRAPH格式的source文件也可以通过菜单file compile生成S7-GRAPH格式的FB。

两者的区别:S7-GRAPH格式的FB保存时会自动检查语法错误,如果有语法错误,则无法保存;S7-GRAPH格式的Source文件可以随时保存,不检查语法错误。FB保存后即为可执行代码,可以下载调试;S7-GRAPH格式的Source文件只能用于记录用户程序,无法下载调试,因此,编程者如果不能保证一次编写完成语法正确的程序,建议不使用source文件格式。

第三部分:顺控器规则

S7-GRAPH格式的FB程序是这样工作的:

每个S7-GRAPH格式的FB,都可以作为普通FB被其它程序调用。

每个S7-GRAPH格式的FB,都被分配一个背景数据块,此数据块用来存储FB参数设置,当前状态等等。

每个S7-GRAPH格式的FB,都包括三个主要部分:顺控器之前的Permanent Instruction,一个或多个顺控器,顺控器之后的Permanent Instruction。

1. 顺控器执行规则

请注意下面描述的英文关键词,这些关键词对于学习使用S7-GRAPH非常重要。

(1) 每个顺控器都以如下情况开始:

一个初始步或者多个位于顺控器任意位置的初始步。

只要某个步的动作(action)被执行,则认为此不被激活,如果多个步被同时执行,则认为多个步被同时激活。

(2) 一个激活的步在如下情况退出:

任意激活步的干扰(active disturbance)列如互锁条件或监控条件的消

除或确认并且至后续步的转换条件(transition)满足。

(3) 满足转换条件的后续步的转换条件满足。

(4) 在顺控器的结束位置如果有一个跳转指令(jump),指向本顺控器的任意

步,或者FB的其它顺控器。此指令可以实现顺控器的循环控制。

在S7-GRAPH程序中,控制任务被分成多个独立的步,在这些步中将声明一些动作,这些动作将在某些状态下被控制器执行。

(5) 激活的步(active step)

激活的步是一个当前自身的动作正在被执行的步。

一个步在如下任意情况下,都可被激活:

当某步前面的转换条件满足。

当某步被定义为初始步,并且顺控器被初始化。

当某步被其它基于事件的动作调用。

2. 顺控器结构

由下图示例中可以归纳三点:

9ed18404-da18-eb11-8da9-e4434bdf6706.png

(1) S7-GRAPH的FB可以是简单的线性结构顺控器。

(2) S7-GRAPH的FB可以是包括选择结构及并行结构顺控器。

(3) S7-GRAPH的FB可以包括多个顺控器。

3. 顺控器元素

在工具栏中有如下顺控器元素,用户应当熟练使用:

9fd18404-da18-eb11-8da9-e4434bdf6706.png

Step+Transition(步+转换条件)

在新建的S7-GRAPH FB中,默认会有一个步及转换条件,用户可以在此基础上增加新的步及转换条件,步+转换条件的形式总是组合出现的,他们会被系统自动分配一个编号,此编号可以被修改。

初始步:当一个S7-GRAPH FB被调用时,顺控器中的初始步将被无条件执行,此步不一定是顺控器中的第一步,顺控器是由FB的参数INIT_SQ=1被初始化,由初始步开始执行。

a1d18404-da18-eb11-8da9-e4434bdf6706.png

Jump(跳转指令)

a2d18404-da18-eb11-8da9-e4434bdf6706.png

Open Alternative Branch(打开选择分支)

a3d18404-da18-eb11-8da9-e4434bdf6706.png

Close Alternative Branch(关闭选择分支)

a5d18404-da18-eb11-8da9-e4434bdf6706.png

Open Simultaneous Branch(打开并行分支)

a6d18404-da18-eb11-8da9-e4434bdf6706.png

Close Simultaneous Branch(关闭并行分支)

a9d18404-da18-eb11-8da9-e4434bdf6706.png

Branch Stop(分支停止)

abd18404-da18-eb11-8da9-e4434bdf6706.png

Insert Sequencer(插入顺控器

acd18404-da18-eb11-8da9-e4434bdf6706.png

第三部分:GRAPH 编程及参数设置

(1) 条件与动作的编程

1) 步的结构及属性

双击顺控器的结构视图的某步后,在工作区可以对每步进行详细的编程。

aed18404-da18-eb11-8da9-e4434bdf6706.png

2) 步的动作

步的动作(action)在S7-GRAPH的FB中占有重要位置。用户大部分控制任务要由步的动作来完成,编程者应当熟悉掌握所有动作(action)指令。

afd18404-da18-eb11-8da9-e4434bdf6706.png

可以通过右键点击步的动作图标,添加新的动作。

动作执行顺序:

b1d18404-da18-eb11-8da9-e4434bdf6706.png

3) 动作分类

动作可以分为以下几类:

标准动作

与interlock有关或无关

基于事件的动作

与interlock有关或无关

与步的激活或非激活有关

4) 没有动作的步

顺控器中可以有没有动作的步,顺序执行到这些步后,此步激活,并直接转换到后续的转换条件判断部分。

(2) S7-GRAPH特有地址

在S7-GRAPH FB中存在一些特有地址,用户可以像使用普通PLC地址一样来使用这些地址,具体含义如下表:

b2d18404-da18-eb11-8da9-e4434bdf6706.png

(3) S7-GRAPH FB参数设置

注意:由于S7-GRAPH FB是在其他程序中被调用的,所以其借口参数的设置及编译设置对程序的后续调试及执行有着重大的影响。

在S7-GRAPH编译器菜单中选择option block setting可以进行设置FB,如下图:

b3d18404-da18-eb11-8da9-e4434bdf6706.png

1) S7-GRAPH FB参数设置

S7-GRAPH FB参数设置包含4中类型:

(I)Minimum,FB只包括SQ_INIT启动参数,如果用户的程序仅

仅会运行在自动模式,并且不需要在其他的控制及监控功能,可以选择此模式。

(II)Standard,FB包括默认参数,如果用户希望程序运行在各种模式,并提供反馈及确认消息功能,可以选择此模式。

(III)Maximum,FB包含默认参数,扩展参数,提供更多的控制,监控参数。

(IV)User-defined包含默认参数,扩展参数,提供更多的控制,监控参数。

2) 接口描述设置

在编译选项菜单中,Interface Description及Executability两个选项

是密切关联的,当选择占用内存最小(Mmemory Minimized)时,必须选择FC73.

(I). Mmemory Minimized占用内存最小,但诊断及调试的功能受限制。

(II).Structure arrays步的描述以数组的方式存储在背景数据块中,不允许以符号名方式访问步。

(III).Individual structures步的描述以独立的数据结构方式存储在背景数据块中,允许符号名方式访问步及转换条件。这种方式增加了背景数据块的大小。

3) Executability选项

(I) Full code全代码,所有运行S7-GRAPH FB程序需要的代码将被

包括在FB自身当中,不需要额外的FC。

(II)Standard FC required 标准的FC,如果选择此选项,则S7-GRAPH 使用标准FC来支持所有的S7-GRAPH FB,填入FC的标号即可。

4) 顺控器属性的设置

(I) Criteria analysis data in DB 当使用SIMATIC 标准程序

ProTool/ProAgent时,此选项用来分析数据存储在背景数据块中。

(II)Skip steps 激活步跳转功能。

(III)Acknoeledge error如果在顺控器执行时,发生了干扰,此时必须在输入参数"ACK_EF"上确认,顺控器才会继续执行,此选项在把FB参数设置为Minimum时不可选。

(IV)Synchronization 同步允许将程序与过程同步。

(V)Permanent processing of all interlocks inmanual operation在手动模式下没有选择此项,无论实际情况如何,每步interlock都将满足,并在将空的装填显示出来。

(VI)Lock operating mode selection锁定操作模式。如果选择此参数,则当程序运行时,无法通过编程设备改变顺控器运行模式。

(VII)Safe activation mode 安全激活模式,此选项影响步的激活状态,当某步被激活时,系统同时将所有其它不能激活的步去除激活。列如:在分支选择程序中某步被激活时,另一个分支的所有步都将被去激活。

5) S7-GRAPH FB程序的背景数据块

S7-GRAPH FB程序的背景数据块保存着顺控器执行的所有信息。因此,

S7-GRAPH FB程序的背景数据块在调试及运行中有着重要的作用。应注意:

在修改顺控程序后,下载时务必下载背景数据块。

PLC断电后,背景数据块将保持,建议用户在供电恢复后,执行顺控器初始化操作。

在其他用户程序中,不要随意改写S7-GRAPH FB程序背景数据块内容,否则将引起顺控器执行混乱,并对系统安全性构成威胁。

在其他用户程序中,改写S7-GRAPH FB程序用户数据内容,可以改变顺控器状态。

在下载S7-GRAPH FB程序时,建议选中下图所有选项:

b4d18404-da18-eb11-8da9-e4434bdf6706.png

在用户其他程序中调用S7-GRAPH FB程序时,S7-GRAPH 提供给用户的接口资源是有限的,用户希望使用S7-GRAPH 的更多,更高级的功能,就需要对FB背景数据块的结构有所了解。

S7-GRAPH 的背景数据块结构

b6d18404-da18-eb11-8da9-e4434bdf6706.png

6) 程序调试

把程序下载后,可以进行调试工作,在菜单debug-Monitor中,可以监控顺控程序执行的状态,在菜单debug-Control Sequence中,可以控制顺序执行的手动/自动模式,当前激活的步骤如下:

b8d18404-da18-eb11-8da9-e4434bdf6706.png

菜单Debug-synchronization可以同步顺控器,模式为手动模式,可以选择当前激活的步,如下图:

b9d18404-da18-eb11-8da9-e4434bdf6706.png

重要提示,调试功能可以改变当前程序的手动/自动模式,当前激活

步的步骤(手动模式下程序限定条件无效,并可以直接选择当前激活的步骤,例

如直接从第一步跳转到最后一步)。这样的操作有可能跳过系统原有的保护,可

能对人身和生产造成伤害及影响,所以工艺及S7-GRAPH不熟悉的情况下,请勿

用此功能。

7) 利用S7-PLCSIM仿真软件调试S7-GRAPH程序

利用S7-PLCSIM 仿真软件调试S7-GRAPH程序的步骤如下:

(I) 在STEP7中生成项目

(II) 点击SIMATIC管理器工具条中的仿真按钮,打开S7-PLCSIM窗口

(III) 选中SIMATIC管理器左边窗口的块对象,点击工具条上的下载按钮,将所有块下载到仿真PLC。

(IV) 在S7-PLCSIM窗口创建IB1和QB1的视图对象。

(V) 在S7-PLCSIM中模拟实际系统的操作。

点击CPU视图对象中有RUN或RUN-P的小框,将仿真PLC的CPU设置运行模式。在S7-GRAPH编辑器中点击监控按钮,对顺控器的工作进

行监控。刚开始监控时只有初始步是绿色的,表示它为活动步,点击方框内相应的I点,使转换条件满足,则可以进入下一步,从而达到仿真的目的。

· 第四部分:抓料机械手程序的编写及调试

使用S7-300软件用GRAPH语言编写一个控制机械手抓件,放件的程序。

以下是自己在工作中所写的程序:

1.控制要求:

原位 抓手下降 夹抓夹紧 抓手上升

向右旋转

抓手上升夹抓松开抓手下降向左旋转

2.符号表:

bbd18404-da18-eb11-8da9-e4434bdf6706.png

3.建立FB1块,编写程序。

自动程序:

bcd18404-da18-eb11-8da9-e4434bdf6706.png
bed18404-da18-eb11-8da9-e4434bdf6706.png
bfd18404-da18-eb11-8da9-e4434bdf6706.png

建立FB2块,编写程序

自动回原点程序:

c0d18404-da18-eb11-8da9-e4434bdf6706.png
c1d18404-da18-eb11-8da9-e4434bdf6706.png

4. 在OB1中编写调用程序。

调用自动程序块FB1

c2d18404-da18-eb11-8da9-e4434bdf6706.png

调用回原点程序块FB2

c3d18404-da18-eb11-8da9-e4434bdf6706.png

5. OB100中程序的编写

在西门子软件中,在CPU执行Warm Restart时执行,且执行一次。可用于数据的初始化。(相当三菱中的初始化指令M8002)

OB100组织块用来编写初始化程序。

c4d18404-da18-eb11-8da9-e4434bdf6706.png

另外在FC块中别写手动操作程序,在这不作介绍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值