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

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

3天内不再提示

GRAPH编程语言

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-04-09 15:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

GRAPH编程语言

6300ed5c-9417-11eb-8b86-12bb97331649.png

① 导航视图

② 导航工具栏

③ 工作区

GRAPH 是一种创建顺序控制系统的图形编程语言。使用顺控程序,可以更为快速便捷和直观地对顺序进行编程。通过将过程分解为多个步,而且每个步都有明确的功能范围,然后再将这些步并组织到顺控程序中。在各个步中定义待执行的动作,以及步之间的转换条件。这些转换条件包括切换到下一步的条件。

顺序控制系统的模块

顺序控制系统可通过预定义的顺序对过程进行控制,并受某些条件的限制。顺序控制系统的复杂度取决于自动化任务。在顺序控制系统中,至少包含三个块。

637d0874-9417-11eb-8b86-12bb97331649.png

① 调用块

② GRAPH 函数块

③ 背景数据块

● GRAPH 函数块

在GRAPH 函数块中,可以定义一个或多个顺控程序中的单个步和顺序控制系统的转换条件。

● 背景数据块

背景数据块中包含顺序控制系统的数据和参数。可以将背景数据块分配给 GRAPH 函数块,并由系统自动生成。

● 调用代码块

要在循环中执行 GRAPH 函数块,则必须从较高级的代码块中调用该函数块。该块可以是一个组织块 (OB)、函数 (FC) 或其它函数块 (FB)。通常将 GRAPH 函数块调用为一个单背景。

GRAPH 函数块的周期取决于调用块的周期。在每个周期,都会先执行 GRAPH 函数块中的

前永久指令。然后再处理活动步中的动作。最后再执行后永久指令。

有关顺控程序的基本知识

在 GRAPH 函数块中,可以按照顺控程序的格式编写程序。顺控程序既可以处理多个独立任务,也可以将一个复杂任务分解成多个顺控程序。如果顺控程序处理多个独立任务,则这些顺控程序将在程序流中并行处理。如果使用多个顺控程序将一个复杂任务分解成更小部分,则必须将相关的顺控程序与程序跳转相关联。

可以将程序划分为顺控程序中的各个步。在最简单的情况下,各个步将以线性方式逐个处理。但也可使用选择分支或并行分支,创建结构更为复杂的顺控程序。程序将始终从定义为初始步的步开始执行。一个顺控程序可以有一个或多个初始步。初始步可以在顺控程序中的任何位置。

激活一个步时,将执行该步中的动作。也可以同时激活多个步,例如在并行分支中。激活一个步时,将经常检查以下转换条件。一旦满足所有条件而且没有未决监控错误时,转换条件会立即切换到下一步。该步将变成活动步。结束顺控程序时,可使用跳转或顺序结尾。跳转目标可以是同一顺控程序中的任意步,也可以使其它顺控程序中的任意步。这样,可以支持顺控程序的循环执行。

并行分支:

63dd4234-9417-11eb-8b86-12bb97331649.png

选择分支:

6418d1fa-9417-11eb-8b86-12bb97331649.png

跳转到步:

64afbff2-9417-11eb-8b86-12bb97331649.png

顺序结尾:

可以使用“顺序结尾”元素结束顺控程序或分支的执行。该元素将终止顺控程序或分支的执行。在并行分支中,顺序结尾前必须有一个转换条件。“顺序结尾”元素在顺控程序中以黑点表示。

64c8f828-9417-11eb-8b86-12bb97331649.png

有关动作的基本知识:

可在步中对动作进行编程。例如,这些动作可控制输入或输出,激活或禁用顺控程序的其它步,或者调用块。因此,动作中可包含过程控制的相关指令。

64f1f69c-9417-11eb-8b86-12bb97331649.png

① 互锁条件

② 可选事件

③ 标识符

④ 操作数、赋值或块调用

标准动作:

N - 只要激活步,就立即置位.

只要激活该步,操作数的信号状态即为“1”。

只要激活该步,将立即调用所指定的块。

该步在发生 S1 事件的周期中也视为激活。

S - 置位为 1

只要激活该步,则立即将操作数置位为“1”并保持为“1”。

R - 置位为 0

只要激活该步,则立即将操作数置位为“0”并保持为“0”。

D - 接通延时

在激活该步 n 秒之后,将操作数置位为“1”并在步激活的持续时间内保持为“1”。如果步激活的持续时间小于 n 秒,则不适用。可以将时间指定为一个常量,或指定为一个 TIME/DWORD 数据类型的 PLC 变量。

L - 在设定时间内置位

激活该步时,则操作数将置位为“1”n 秒时间。之后将复位该操作数。如果步激活的持续时间小于 n 秒,则操作数也会复位。可以将时间指定为一个常量,或指定为一个 TIME/DWORD 数据类型的 PLC 变量。

事件型动作

可以选择将动作与事件相关联,根据一定条件执行动作。带有标识符为“D”、“L”和“TF”的动作无法与事件相关联。如果将动作与事件相关联,则会通过边沿检测功能检测事件的信号状态。这意味着,只能在发生事件的周期内才能执行指该令。

S1 上升沿 步已激活(信号状态为“1”)

S0 下降沿 步已取消激活(信号状态为“0”)

V1 上升沿 满足监控条件,即发生错误(信号状态为“1”)

V0 下降沿 不再满足监控条件,即错误已消除(信号状态为“0”)

L0 上升沿 满足互锁条件,即错误已消除(信号状态为“1”)

L1 下降沿 不满足互锁条件,即发生错误(信号状态为“0”)

A1 上升沿 报警已确认。

R1 上升沿 到达的注册。

可以使用事件的信号状态编写其它动作。这样,不但可以监控和影响各个步,也可以监控

和影响整个顺序控制系统。

使用标识符“ON”(激活步)和“OFF”(取消激活步)的动作必须始终与事件相关联。事件将确定步的激活或取消激活时间。如果在同一个周期内既有激活步也有取消激活步,则取消激活操作的优先级更高。

也可以将使用“S1”、“V1”、“A1”或“R1”事件的动作与互锁条件相关联。因此,只有在满足互锁条件时,才执行这些动作。

652b9352-9417-11eb-8b86-12bb97331649.png

只要“Step4”步变为活动状态且满足互锁条件后,则“MyTag1”将置位为“0”并保持为“0”。如果发生监控错误,则将取消激活“MyStep”步。如果发生互锁错误,则将取消激活所有步。

---------------------------------------1---end----------------------------------

责任编辑:lq

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

    关注

    41

    文章

    6989

    浏览量

    114378
  • 编程语言
    +关注

    关注

    10

    文章

    1965

    浏览量

    39864
  • 函数
    +关注

    关注

    3

    文章

    4422

    浏览量

    67834

原文标题:STEP7-V16 -GRAPH 编程语言-1基础

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机C语言编程的心得

    写这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和编程规范有很多不懂的地方,有些是自己以前的编程习惯不好,有些就是基础知识不扎实的表现,所以总结
    发表于 12-08 07:44

    如何调试和编程CW32F030C8T7?支持哪些调试工具和编程语言

    了解如何调试和编程CW32F030C8T7是开发过程中的重要环节。它支持哪些调试工具(如JTAG、串口调试等)和编程语言(如C、C++等)?如何设置和使用这些工具来加速开发过程?
    发表于 12-05 06:48

    为什么单片机还在用C语言编程

    说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、PYTHON、PHP等等,为什么这些语言不能
    发表于 11-28 07:37

    C语言编程技巧

    设计,分层开发代码,便于理解和维护。 ‌8、避免使用GOTO语句‌:尽管GOTO语句在某些情况下仍然有用,但现代编程更倾向于使用函数和循环控制结构,以提高代码的可读性和维护性。 ‌9、利用C语言的灵活性
    发表于 11-27 06:46

    开源鸿蒙技术大会2025丨编译器与编程语言分论坛:语言驱动系统创新,编译赋能生态繁荣

    在万物智联的时代背景下,操作系统底层能力的构建离不开编程语言与编译器的关键支撑。作为开源鸿蒙生态的核心技术,语言设计与编译器、虚拟机实现的进步直接关系到开发效率、运行性能与系统安全。本次分论坛聚焦
    的头像 发表于 11-20 17:24 1153次阅读
    开源鸿蒙技术大会2025丨编译器与<b class='flag-5'>编程</b><b class='flag-5'>语言</b>分论坛:<b class='flag-5'>语言</b>驱动系统创新,编译赋能生态繁荣

    2025年最佳的嵌入式编程语言有哪些呢?

    嵌入式系统是现代科技不可或缺的一部分。它们存在于家用电器、汽车、住宅、医院、商店等各个领域。它们与我们的社会紧密相连。选择合适的语言来构建嵌入式系统对于成功至关重要。那么,2025年最佳的嵌入式编程
    的头像 发表于 11-14 10:27 1769次阅读
    2025年最佳的嵌入式<b class='flag-5'>编程</b><b class='flag-5'>语言</b>有哪些呢?

    C语言和单片机C语言有什么差异

    区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。 3、单片机c语言编程是基于C语言的单片机编程。单片机的C
    发表于 11-14 07:55

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(AI)、高性能计算(HPC)和系统级编程场景。
    发表于 11-07 05:59

    Linux 编程语言盘点:从内核到AI的全栈选择

    在工控圈和嵌入式圈里,有一个常年被讨论的问题:  “在 Linux 上,到底该用什么语言编程?” 有人坚信:C 才是真正的工业语言。有人反驳:Python 才是效率王者。还有人推崇 Go、Rust
    的头像 发表于 11-06 17:05 781次阅读

    深度操作系统deepin 25全面支持凹语言

    近日,deepin(深度)社区宣布,deepin 25 现已完成对国产通用编程语言语言 (Wa-Lang) 的兼容性测试。在 deepin 25 默认安装环境下,即可直接使用凹语言
    的头像 发表于 07-10 15:26 1130次阅读
    深度操作系统deepin 25全面支持凹<b class='flag-5'>语言</b>

    梯形图语言补充编程说明书

    电子发烧友网站提供《梯形图语言补充编程说明书.pdf》资料免费下载
    发表于 07-09 14:14 3次下载

    深入理解C语言:函数—编程中的“积木块”艺术

    编程的世界里,函数就像建筑中的“积木块”——它们是构建复杂程序的基石。通过灵活组合这些模块,开发者能打造出功能强大且结构清晰的代码。函数之所以成为C语言的核心,正是因为它解决了编程中的三大关
    的头像 发表于 06-30 17:26 2052次阅读
    深入理解C<b class='flag-5'>语言</b>:函数—<b class='flag-5'>编程</b>中的“积木块”艺术

    详解TIA Portal SCL编程语言中的IF语句

    IF 语句是编程中最基本和最重要的控制结构之一,它的主要作用是根据条件决定程序的执行路径,IF 语句是编程中实现逻辑判断和决策的基础。
    的头像 发表于 05-24 15:01 2143次阅读
    详解TIA Portal SCL<b class='flag-5'>编程</b><b class='flag-5'>语言</b>中的IF语句

    单片机c语言编程实例大全

    单片机c语言编程实例大全_18
    发表于 04-30 16:11 7次下载

    深入理解C语言:C语言循环控制

    在C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C语言提供了多种循环控制语句,如break、continue和
    的头像 发表于 04-29 18:49 2218次阅读
    深入理解C<b class='flag-5'>语言</b>:C<b class='flag-5'>语言</b>循环控制