0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于GRAPH语言教程介绍

jf_61nrsJTz 来源:方正智芯 2023-07-26 09:07 次阅读

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

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

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

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

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

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

2b9dad10-2b40-11ee-a368-dac502259ad0.png

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

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

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

2bd14ad0-2b40-11ee-a368-dac502259ad0.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:若监控条件满足,则顺控器不再跳转到下一步;若不满足,则顺控器可跳转到下一步;如果监控条件为空,则认为不满足;

监控条件和互锁条件如下图所示:2c0c01d4-2b40-11ee-a368-dac502259ad0.png

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

责任编辑:彭菁

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

    关注

    30

    文章

    4556

    浏览量

    66814
  • 语言教程
    +关注

    关注

    0

    文章

    2

    浏览量

    5672
  • Graph
    +关注

    关注

    0

    文章

    36

    浏览量

    8833

原文标题:西门子S7-GRAPH编程语言连载(3)——动作

文章出处:【微信号:方正智芯,微信公众号:方正智芯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HTML语言教

    HTML语言教
    发表于 04-13 14:50

    汇编语言教

    汇编语言教
    发表于 08-01 00:29

    经典c语言教程下载

    经典c语言教程下载
    发表于 04-08 01:56 214次下载

    C语言教程下载

    C语言教程下载
    发表于 04-08 01:57 147次下载

    单片机c语言教程单片机c语言教

    单片机c语言教程单片机c语言教程 前面的文章中介绍了 C 语言的基本数据类型,为了更有效的处理更复杂的数据,C 语 言引入了构造类型的数据类型。构造类型就是将一批各
    发表于 04-15 09:45 5049次阅读
    单片机c<b class='flag-5'>语言教</b>程单片机c<b class='flag-5'>语言教</b>程

    单片机C语言教程-C语言教程附录

    单片机C语言教程-C语言教程附录 附录一 C51中的关键字
    发表于 01-07 15:10 1673次阅读

    C语言教程之百元买百鸡

    C语言教程之百元买百鸡,很好的C语言资料,快来学习吧。
    发表于 04-22 11:00 0次下载

    C语言教程之亲密数

    C语言教程之亲密数,很好的C语言资料,快来学习吧。
    发表于 04-22 17:45 0次下载

    C语言教程之求总数问题

    C语言教程之求总数问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:03 0次下载

    C语言教程之彩球问题

    C语言教程之彩球问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:03 0次下载

    C语言教程之卖西瓜问题

    C语言教程之卖西瓜问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:03 0次下载

    C语言教程之递归解决分鱼问题

    C语言教程之递归解决分鱼问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:49 0次下载

    C语言教程之求任意数的n次幂问题

    C语言教程之求任意数的n次幂问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:49 0次下载

    单片机C 语言教

    单片机C 语言教
    发表于 09-22 10:05 47次下载
    单片机C <b class='flag-5'>语言教</b>程

    西门子S7-GRAPH编程示例

    前面的文章介绍了S7-Graph语言的顺控器和动作,今天这篇文章我们用Graph语言来编写一个简单应用。
    的头像 发表于 09-06 10:56 782次阅读
    西门子S7-<b class='flag-5'>GRAPH</b>编程示例