基于GRAPH语言教程介绍

电子说

1.3w人已加入

描述

上一篇文章我们对Graph语言的顺控器做过介绍,可以概括为如下几个知识点:

顺控器是由一系列的步和跳转条件组成的代码;

顺控器的步有激活和未激活两种状态;

可以为每个步编辑相应的动作(指令代码),当步处于激活状态时,会执行这些动作;

顺控器有线形、选择、并行三种结构;

步的动作是很重要的内容,通常在动作中我们会对一些全局变量进行操作。通过这些变量,可以与该函数块之外的函数/函数块进行交互,从而实现控制目的。今天这篇文章,我们就来详细介绍下——动作(Action)。

语言教程

动作是“步”要执行的指令代码(指令和变量)。在编程开发环境下单击步的右上角图标,可以打开步的动作表,如下图所示:语言教程动作表中“限定符”是指令,其右侧的“动作”则是该指令操作的变量。除此之外还有“事件”和“互锁”两栏。

事件:如果某条指令与某个事件绑定,则表示仅在该事件发生时该指令才会被执行;在Graph语言中,有些指令必须与事件绑定,这类指令称为依赖于事件的指令。比如定时器、计数器指令均是依赖于事件的指令;有些指令可以与事件绑定,也可以不绑定,这类指令称为标准指令;

互锁:如果某条指令与“互锁”绑定,则表示仅在互锁条件满足的情况下该指令才会被执行。互锁条件用“-(C)-”表示。双击“步”进入编辑状态时,可以看到互锁条件(interlock)代码编辑区,如下图所示:

语言教程

上图中编写了步S3的互锁条件代码,即当变量“temperatue”的值小于100时互锁条件满足(为真)。如果不编写互锁条件代码(留空),则表示互锁条件一直满足;

下面来详细介绍下指令与事件。

1、标准指令

标准指令所完成的动作称为标准动作,具体含义见下面的表格:

指令 数据类型 含义
N BOOL
FB、FC、SFB、SFC
当步激活时,操作数(布尔值)被置位并保持;当步取消激活时,操作数被复位;如果是调用函数/函数块,则步激活时调用,取消激活时不调用;
S BOOL 当步激活时,操作数(布尔值)被置位并保持;
R BOOL 当步激活时,操作数(布尔值)被复位并保持;
D BOOL,TIME 该指令有两个操作数,第一个为布尔型,表示要操作的变量(n);第二个为时间型,表示延时的时间(t)。其含义为:当步激活后,延时t时间,将n置位;
L BOOL,TIME 该指令有两个操作数,第一个为布尔型,表示要操作的变量(n);第二个为时间型,表示延时的时间(t)。其含义为:当步激活后,将n置位,并保持t时间;

注:置位表示将布尔值设置为1(true),复位表示将布尔值设置为0(false)

2、定时器指令

多数定时器指令须与事件绑定(TF指令除外),当事件发生时,定时器指令激活并执行。具体的定时器指令见下面的表格:

指令 含义
TL 扩展脉冲定时器。当绑定的事件发生时,定时器激活并保持设定的时间,该时间段内定时器的输出为true;当超过设定的时间后,定时器的输出为false。
TD 保持接通延时定时器。当绑定的事件发生时,定时器激活,该时间段内定时器的输出为false;当超过设定的时间后,定时器的输出为true。
TR 停止定时器并复位。当绑定的事件发生时,则立即停止指定的定时器,将其状态和时间值将复位;
TF 延时关闭定时器。该指令无需与事件绑定,当步激活时,定时器输出为true。当步取消激活时,定时器开始运行,到达设定的时间后,定时器输出为false;

注:输出为true表示置位(设置为1),输出为false表示复位(设置为0)

3、计数器指令

计数器指令须与事件绑定(下文介绍事件),具体含义见下面的表格:

指令 含义
CS 设置计数器的初始值。有两个操作数:计数器(C#0~C#999)和初始值(WORD)。当绑定的事件发生后,该指令将指定计数器的初始值设置为指定的初始值;
CU 加计数(向上计数)。当绑定的事件发生后,计数器值加“1”。若计数器值达到上限“999”后,则停止增加。达到上限后,即使出现信号上升沿,计数值也不再递增;
CD 减计数(向下计数)。当绑定的事件发生后,计数器值减“1”。若计数器值达到下限“0”时,则停止递减。达到下限后,即使出现信号上升沿,计数值也不再递减;
CR 复位计数器。当绑定的事件发生后,计数器值将立即复位为“0”;

4、事件

事件与指令绑定,以期在特定的条件下执行指令。Graph支持的事件含义见下面的表格:

事件 信号检测 说明
S1 上升沿 步从未激活转为激活状态
S0 下降沿 步从激活转为未激活状态
V1 上升沿 监控条件从不满足转为满足状态
V0 下降沿 监控条件从满足转为不满足状态
L0 上升沿 互锁条件从不满足转为满足状态
L1 下降沿 互锁条件从满足转为不满足状态
A1 上升沿 报警从未确认转为确认
R1 上升沿  注册触发(REG_EF/REG_S 输入端的上升沿)

注1:事件均为沿信号,因此其绑定的指令仅执行一个扫描周期;

注2:互锁条件满足时,与其绑定的指令才会被执行;

注3:若监控条件满足,则顺控器不再跳转到下一步;若不满足,则顺控器可跳转到下一步;如果监控条件为空,则认为不满足;

监控条件和互锁条件如下图所示:语言教程

好了,关于GRAPH语言教程的第三篇文章就先介绍到这里。

        责任编辑:彭菁

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分