GRAPH 是创建顺序控制系统的图形编程语言使用顺控程序,可以更为快速便捷和直观地对顺序进行编程。通过将过程分解为多个步,而且每个步都有明确的功能范围,然后再将这些步并组织到顺控程序中。在各个步中定义待执行的动作以及步之间的转换条件。这些转换条件包括切换到下一步的条件。
利用S7 GRAPH编程语言,可以清楚快速地组织和编写S7 PLC系统的顺序控制程序。它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方式的文件。可非常方便地实现全局、单页或单步显示及互锁控制和监视条件的图形分离。
GRAPH是用于创建顺序控制系统的图形编程语言。可快速、便捷地对顺序控制系统进行编程。GRAPH编程时将过程分解为多个步,每个步都有明确的功能域并用图形方式表示。用户可以在各个步中定义要执行的动作,把步间进行转换的条件作为转换条件。
在每一步中要执行相应的动作并且根据条件决定是否转换为下一步。它们的定义、互锁或监视功能用STEP 7的编程语言LAD或FBD来实现。TIA博途软件FB块集成了GRAPH 编程环境,此FB可以被其他程序(OB、FC、FB)调用,例如OB1。
1.创建S7项目
打开SIMATIC Manager,然后执行菜单命令【File】→
【New】创建一个项目,并命名为“信号灯Graph”。如图3-37所示。
2.硬件配置
选择“信号灯Graph”项目下的“SIMATIC 300 Station”文件夹,进入硬件组态窗口按图完成硬件配置,最后编译保存并下载到CPU。按照图3-38添加硬件,图3-39修改I/O地址。
图3-37 创建新项目对话框图
图3-38 添加新设备图
图3-39 修改I/O地址图
3.输入变量表
添加新变量表,并输入如图3-40所示变量表。
图3-40 变量表图
4.插入S7 GRAPH功能块(FB)
在TIA博途软件项目的程序块目录下,双击“添加新块”,在弹出界面中选择函数块,编程语言类型选择GRAPH,如图3-41所示。
图3-41 添加程序块图
程序双击新生成的GRAPH FB后,可以打开用户界面。如图3-42所示。
图3-42 编程界面图
5.调用S7 GRAPH功能块
打开编辑器左侧浏览窗口中的“FB Blocks”文件夹,双击其中的FB1图标,在OB1的Nework 1中调用顺序功能图程序FB1,在模块的上方输入FB1的背景功能块DB1的名称。在“INIT_SQ”端口上输入“Start”,也就是用起动按钮激活顺控器的初始部S1;在“OFF_SQ”端口上输入“Stop”,也就是用停止按钮关闭顺控器。最后用菜单命令【File】→【save】保存OB1。
6.用S7-PLCSIM仿真软件调试S7 GRAPH程序
调试窗口如图3-43所示。
图3-43 仿真软件调试
7.GRAPH程序规则
用户可以在工作区编辑GRAPH程序,此程序应当遵循如下规则:
(1)顺控器规则
GRAPH程序是这样工作的:
①每个GRAPH程序,都可以作为一个普通FB被其他程序调用;
②每个GRAPH程序,都被分配一个背景数据块,此数据块用来存储FB参数设置,当前状态等;
③每个GRAPH程序,都包括三个主要部分:顺控器之前的固定指令、一个或多个顺控器,顺控器之后的固定指令。
(2)固定指令
在“前固定指令”(Permanent pre-instructions)和“后固定指令”(Permanentpost-instructions)工作区视图中,用户可以编写固定指令。GRAPH-FB 总共可包含250个前固定指令和250个后固定指令程序段。无论顺控程序的状态如何,固定指令都会在每个循环内处理一次。
①GRAPH的FB可以是简单的线性结构顺控器;
②GRAPH的FB可以是包括选择结构及井行行结构顺控器;
③GRAPH的FB可以包括多个顺控器。
(3)顺控器执行规则
①每个顺控器都以如下情况开始。一个初始步或者多个位于顺控器任意位置的初始步:只要某个步的某个动作(action)被执行,则认为此步被激活(active),如果多个步被同时执行,则认为是多个步被激活。
②一个激活的步在如下情况退出。
Ⅰ.任意激活的干扰(active disturbaces),例如互锁条件或监控条件的消除或确认;
Ⅱ.并且至后续步的转换条件(transition)满足。
③满足转换条件的后续步被激活。
④在顺控器的结束位置如果有。
Ⅰ.一个跳转指令(jump),指向本顺控器的任意步,或者FB的其他顺控器,此指令可以实现顺控器的循环操作:
Ⅱ.分支停止指令,顺控器的步将停止。
(4)步(Step)
在GRAPH程序中,控制任务被分为多个独立的步。在这些步中将声明一些动作,这些动作将在某些状态下被控制器执行(例如控制输出,激活或去激活某些步)。
激活的步(Active Step),是一个当前自身的动作正在被执行的步。一个步在如下任意情况下都可被激活。
①当步前面的转换条件满足;
②当某步被定义为初始步(initial step),并且顺控器被初始化;
③当某步被其他基于事件的动作调用(event-dependent action)。
(5)顺控器元素
在新建的GRAPH FB中,默认会有一个步及转换条件,用户可以在此基础上增加新的步及转换条件。用户添加步或转换条件时,它们会被系统自动分配一个编号,此编号可以被任意修改。
①初始步。当一个GRAPH FB被调用时,顺控器中的初始步将被无条件执行,此步不一定是顺控器中编号第一的步。顺控器由FB的参数INIT SQ=1被初始化,由初始步开始执行。与系统的初始状态相对应的步称为初始步,初始状态一般是系统等待启动命令的相对静止的状态。在顺序功能图中初始步用双线框表示,一般步用矩形框表示,矩形框中用数字表示步的编号。
②活动步。当系统正处于某一步所在的阶段时,称该步处于活动状态,该步为“活动步”。
当步处于活动状态时,相应的动作被执行。
处于不活动状态时,相应的非存储型动作被停止执行。
在工作区的顺控器视图中有如下顺控器元素。
标准动作—激活一个步后,将执行标准动作。
(6)顺序控制中的定时器与计数器(www.xing528.com)
在顺序功能图中,常用的定时器和计数器如表3-9和3-10所示。
表3-9 常用定时器表
表3-10 计数器的应用表
续表
可以在动作中使用计数器。要指定计数器的激活时间,则通常需要为计数器关联一个事件。这意味着在发生相关事件时将激活该计数器。也可以将使用“S1”“V1”“A1”或“R1”事件的动作与互锁条件相关联。因此,只有在满足互锁条件时,才执行这些动作。
(7)动作与事件
动作的组成元素:
1)互锁条件(可选)
可以将动作与互锁条件相关联,以影响动作的执行。
用户可以选择此动作是否与互锁条件相关,如果不相关,则选择“无条件”;如果相关,则选择“互锁条件”。
2)事件(可选)
事件将定义动作的执行时间。必须为某些标识符指定一个事件。
用户可以选择此动作是否与事件相关,如果不相关,则选择“无条件”;如果相关,则可以在下拉菜单中选择相应的事件。
①S1:步变为活动状态
②S0:步已取消激活
③V1:发生监视错误(故障)
④V0:已解决监视错误(无故障)
⑤L0:满足互锁条件(故障消除)
⑥L1:不满足互锁条件(发生故障)
⑦A1:报警已确认。
⑧R1:到达的注册(FB 输入管脚REG EF/REG_S输入端的上升沿)
3)标识符(必需)
标识符将定义待执行动作的类型,如置位或复位操作数。
①CD:减计数
②CR:复位计数器
③CS:设置计数器值
④CU:加计数
⑤D:接通延时
⑥L:设置制时间
⑦N:在步处于活动状态时设置
⑧ON:激活步
⑨OFF:禁用步
⑩R:置位为0
S:置位为1
TD:保持型接通延时
TF:关闭定时器
TL:扩展脉冲
TR:保持定时器和复位
D.动作(必需)
动作将确定执行该动作的操作数。常用动作如表3-11所示。
表3-11 动作表
例如:
D.“My Tag”,T#2s。在激活步 2秒钟之后,将“My Tag”操作数置位为“1”,并在步激活期间保持为“1”。如果步激活的持续时间小于 2秒,则不适用。在取消激活该步后,复位操作数(无锁存)。
L.“My Tag”,T#20s。如果激活该步,则“My Tag”操作数将置位为“1”20秒钟时间。20秒后将复位该操作数(无锁存)。如果步激活的持续时间小于 20秒,则操作数也会复位。
图3-44 指令栏图
如图3-44它们依次为:步+转换条件、步、转换条件、顺控器结尾、跳转、打开选择分支、打开并行分支、结束分支。
图3-45 工具栏图
图3-45工具条中的图标功能依次为:
①插入顺控器、删除顺控器、同步导航;
②前固定指令、顺控器视图、单步视图、后固定指令、报警视图;
③插入程序段、删除程序段;
④插入行、添加行;
⑤复位启动值;
⑥打开所有程序段、关闭所有程序段、启用/禁用自由格式的注释、绝对/符号操作数在编辑器中显示收藏;
⑦转到上一个错误、转到下一个错误、更新不一致的块调用;
⑧启用/禁用监视。
顺控器常用的参数功能如表3-12所示。
表3-12 功能说明表
续表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。