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

西门子S7-GRAPH编程语言连载(3)——动作

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

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

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

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

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

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

cover.png

动作是“步”要执行的指令代码(指令和变量)。在编程开发环境下单击步的右上角图标,可以打开步的动作表,如下图所示:

code1.PNG

动作表中“限定符”是指令,其右侧的“动作”则是该指令操作的变量。除此之外还有“事件”和“互锁”两栏。

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

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

code2.PNG

上图中编写了步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:若监控条件满足,则顺控器不再跳转到下一步;若不满足,则顺控器可跳转到下一步;如果监控条件为空,则认为不满足;

监控条件和互锁条件如下图所示:

lv.png

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

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

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

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

西门子S7-GRAPH编程语言连载(3)——动作

来源:本站|   大小:376 KB|   下载次数:276次

取消

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

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

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

发表评论