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

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

3天内不再提示

如何将自定义变量添加到默认情况下由编译器设置的静态变量中

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-07-07 16:25 次阅读

49829a24-eee3-11ec-ba43-dac502259ad0.png

顺控程序功能块 在菜单命令“选项” (Options) à“块设置” (Block settings) 下的“编译” (Compile)选项卡上,可以设置是否使用“最小” (minimum)、“标准” (standard)、“最大” (maximum)或“用户定义” (user-defined)功能块参数

“最小”(Minimum) 参数 使用“最小” (minimum) 功能块参数时,功能块中仅包含一个起始参数 INIT_SQ INIT_SQ,并且一旦在 OB1中对其进行处理,就会激活其顺控程序。然后,将会在自动模式下立即执行这些顺控程序。

当仅需要在自动模式下运行顺控程序,并且不需要任何其它控制和监控功能时,可使用“最小” (minimum) 功能块。

49a994da-eee3-11ec-ba43-dac502259ad0.png

参数 INIT_SQ 的上升沿会激活初始步。

“标准”(Standard) 参数 此功能块设置要求用户除选择调用之外,还要选择操作模式。当需要在不同操作模式下运行顺控程序,并且需要有关过程的反馈以及消息确认时,可使用“标准”(standard) 参数设置。

49c18ab8-eee3-11ec-ba43-dac502259ad0.png

顺控程序功能块始终保持在最后激活的操作模式下。只能通过选择新模式来禁用以前模式。不会向不需要的参数提供值。

“最大”(Maximum) 参数 当需要使用比标准参数设置所提供的维护与调试用人机界面选项更多的选项时,可使用“最大” (Maximum) 参数设置。

“用户定义”(User-Defined) 用户定义/扩展参数(GRAPH7V5.x 及更高版本):

提供了所有参数,用户可以删除任何不需要的参数。另外,还可以定义用户特定参数。

“所需的标准功能” 需要一个标准功能,其中包含所有顺控程序功能块的代码的主要部分。提供了以

(Standard FC Required)下标准功能:

• FC70/71 小于 8KB。仅支持 S7 GRAPH 7 V4.0 功能。只能通过 SFC 52 发送消息。

• FC 72 提供完整功能,但大小大约为 11KB,并不是所有较小的CPU 都可将 其下载。

• FC 73 提供S7 - GRAPH 7 V5.x 的功能,大小不到 8KB,但生成的块不支持 诊断功能。

实例 使用最大功能块参数设置,以简单的最小形式激活各个模式。

• 自动:“SW_AUTO”处的上升沿 à“INIT_SQ”处的上升沿 导致对顺控程序进行初始化,当满足转换条件时,启用下一步。

• 手动模式:“SW_MAN”处的上升沿 à“S_SEL”处的步编号 à“S_ON”处的上升沿导致激活所选的步。若要禁用, “S_OFF”处的一个上升 沿就足够了。

• 点动模式:“SW_TAP”处的上升沿和“T_PUSH”处的上升沿 à 必须满足转换条件。在此操作模式下,若通过上升沿满足了转换条件,则启 用下一步。

• “自动或切换到下一个”模式:

“SW_TOP”处的上升沿和“T_PUSH”处的上升沿或满足转换条件。

在 SW_TOP模式下,将会在以下情况下启用下一步: 满足转换条件,或在“T_PUSH”处存在上升沿(即使不满足转换条件)。

49e4949a-eee3-11ec-ba43-dac502259ad0.png

静态变量 上图的上部显示了如何将自定义变量添加到默认情况下由编译器设置的静态变量中。

与参数的情况不同,编译器会将自定义的静态变量插到标准变量的前面。这样,在用户更改编译器设置时,自定义变量的地址在背景数据块中保持不变。若更改编译器设置,则这种更改会导致将背景数据块中的标准变量扩展或缩短,这反过来又会更改自定义变量的访问地址(如果这些变量已附加到列表的末尾)。在保存顺控程序后出现上面幻灯片中显示的顺序。

就像使用 STEP7 对功能块进行编程那样,在这里也可以使用类型为BOOL、WORD、INTEGER等静态变量,而不使用存储器位、位存储器字节、位存储器字和位存储器双字。优点如下:

• 保持行为,与硬件参数设置无关

• 顺控程序不占用 CPU上的标准位存储器

4a135ce4-eee3-11ec-ba43-dac502259ad0.png

临时变量 从 V5.x起,也可以自定义临时变量。由于 S7-GRAPH 系统不进行任何默认设置,因此不会显示任何设置,但内部 L 堆栈中顺控程序块的局部数据存储器要求将取决于编译器设置。

原文标题:S7 - GRAPH功能块参数组概述

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

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

    关注

    38

    文章

    7509

    浏览量

    163975
  • 程序
    +关注

    关注

    117

    文章

    3790

    浏览量

    81148
  • 代码
    +关注

    关注

    30

    文章

    4798

    浏览量

    68725
  • 编译器
    +关注

    关注

    1

    文章

    1635

    浏览量

    49171

原文标题:S7 - GRAPH功能块参数组概述

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

收藏 人收藏

    评论

    相关推荐

    图纸模板的文本变量

    进行定义。无论是系统内置的变量,还是用户自定义变量,都以这种方式表述。 系统内置文本变量 以下表格展示系统内置的文本
    的头像 发表于 11-13 18:21 189次阅读
    图纸模板<b class='flag-5'>中</b>的文本<b class='flag-5'>变量</b>

    如何将自定义逻辑从FPGA/CPLD迁移到C2000™微控制

    电子发烧友网站提供《如何将自定义逻辑从FPGA/CPLD迁移到C2000™微控制.pdf》资料免费下载
    发表于 09-23 12:36 0次下载
    <b class='flag-5'>如何将自定义</b>逻辑从FPGA/CPLD迁移到C2000™微控制<b class='flag-5'>器</b>

    如何创建TestStand自定义步骤

    在之前的课程简单地介绍过TestStand自带的一些步骤类型,如测试、消息弹窗、赋值、标签等等,这些简单的步骤从TestStand的插入选版中就可以添加到序列。那么在使用如果碰到
    的头像 发表于 09-11 14:46 1161次阅读
    如何创建TestStand<b class='flag-5'>自定义</b>步骤

    XC8编译器调用函数后局域变量值被改变是哪里出了问题?

    对局部变量进行了操作,返回后相应的局部变量值发生了改变,所以出错,我现在把函数的所有局部变量全部设置为了
    发表于 07-26 07:36

    请问静态变量如何放到flash

    比如有有很多的静态变量,如何防到flash。 我用了const修饰,编译出来,但是还是在rodate段,该段不是在80k的ram吗?
    发表于 07-12 09:26

    HarmonyOS实战开发-深度探索与打造个性化自定义组件

    的时候,执行build方法渲染系统组件,如果子组件为自定义组件,则创建自定义组件的实例。在执行build()函数的过程,框架会观察每个状态变量的读取状态,将保存两个map: 状
    发表于 05-08 16:30

    XC8调用函数后局域变量值被改变是怎么回事呀!

    子函数对局部变量进行操作,返回后相应的局部变量值发生了改变,所以出错,我现在把函数的所有局部变量全部设置为了
    发表于 04-30 15:33

    HarmonyOS开发实例:【自定义Emitter】

    使用[Emitter]实现事件的订阅和发布,使用[自定义弹窗]设置广告信息。
    的头像 发表于 04-14 11:37 1016次阅读
    HarmonyOS开发实例:【<b class='flag-5'>自定义</b>Emitter】

    如何将F-RAM™添加到现有的PSoC™ Creator项目?

    我们在PSoC™ Creator 中有一个 PSoC6 项目,并希望将 QSPI F-RAM™存储添加到TDA5235_868_5_BOARD。我很难找到如何在F-RAM™ PSoC
    发表于 03-01 12:14

    使用Tasking编译器生成的map文件找不到静态全局变量的地址怎么解决 ?

    使用Tasking编译器生成的map文件找不到静态全局变量的地址(变量在函数已经使用),请问
    发表于 02-06 07:21

    MCAL的DMA如何使得变量存储编译器自动分配 ?

    (DMA_START_SEC_CONFIG_DATA_ASIL_B_CORE0_256),但是Dma_kChannel_40_TcsConfigRoot结构体实际只占用16个字节,请问如何修改配置,使得变量存储编译器自动分配
    发表于 02-02 08:33

    请问TC39x如何将变量放到自定义的段中去呢?

    哪位知道如何将变量放到自定义的段中去呢?__attribute__ ((section(\".MySec\")))const tU32 M_A1 = 0
    发表于 01-31 08:18

    Harmony 鸿蒙页面级变量的状态管理

    这些变量自定义组件都会被通知进行重新渲染。 @ObjectLink装饰的变量不可设置默认值。 必须让父组件中有一个
    发表于 01-24 20:04

    dataflash静态变量值初始化会变吗,怎么改变变量的值?

    dataflash静态变量值初始化会变吗,怎么改变变量的值? 若系统启动初始化时,不改变变量的值该怎么设变量
    发表于 01-15 06:27

    使用SEGGER Embedded Studio编译器发现变量无法自动初始化

    使用SEGGER Embedded Studio编译器发现变量无法自动初始化, 例如声明静态变量static uint8_t i = 0;这种写法i成了静态变量,但没有初始化成功,声明
    发表于 01-11 14:21