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

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

3天内不再提示

西门子PLC GETIO和SETIO的编程示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-07-25 10:32 次阅读

GETIO 和 SETIO 的编程示例

简介

在以下示例中,将通过 GETIO读取数字量输入模块的通道,并通过 SETIO 将新值写入数字量输出模块的通道中。之后,再通过 GETIO 和数字量输入模块读取相应变化。

要求

互连参数:“SLI_itemiseByte_gsIO”函数

要传递位序列 (0..7) 的值,可创建函数“SLI_itemiseByte_gsIO”。

在该函数中创建以下局部变量。

f8d295b8-2a0d-11ee-a368-dac502259ad0.png

程序段 1:根据程序段 1 的示例,为所有位 (0..7) 创建互连。

f902ccec-2a0d-11ee-a368-dac502259ad0.png

互连参数:“SLI_FB_GETIO_SETIO”函数块

在函数块“SLI_FB_GETIO_SETIO”中创建以下互连。在 IO 设备/DP 从站中,在程序循环 OB (OB1) 中调用函数块“SLI_FB_GETIO_SETIO”。

程序段 1:互连“GETIO”指令的参数,如下所示:

f938ba96-2a0d-11ee-a368-dac502259ad0.png

程序段 2:结束“GETIO”指令,如下所示:

f95f91c0-2a0d-11ee-a368-dac502259ad0.png

程序段 3:根据以下示例创建互连,转换 GETIO 的通道值。此时,将互连函数“SLI_itemiseByte_gsIO”中所有的输入和输出 (0..7)。

f9784d32-2a0d-11ee-a368-dac502259ad0.png

程序段 4:根据以下示例创建互连,转换 SETIO 的通道值。此时,将互连函数“SLI_itemiseByte_gsIO”中所有的输入和输出 (0..7)。

f9b128c8-2a0d-11ee-a368-dac502259ad0.png

程序段 5:互连“SETIO”指令的参数,如下所示:

f9dfb8fa-2a0d-11ee-a368-dac502259ad0.png

程序段 6:结束“SETIO”指令,如下所示:

f9f8caf2-2a0d-11ee-a368-dac502259ad0.png

程序段 1 (GETIO) 的运行结果

输入参数 EN(“executeRead”)返回信号状态“TRUE”时,启动指令“GETIO”。“GETIO”指令将通过输入参数 ID(“id_Read”)调用该输入模块。并通过输入参数 INPUTS(“#readBYTE”)读取该输入模块的通道。在输出参数 LEN(“lengthRead”)中,将记录 BYTE 中读取的通道长度。“2”值引用 16 个输入通道。

并在输出参数 STATUS(“statusRead”)处,显示该块的状态。该过程成功执行且无任何错误。

fa0f0998-2a0d-11ee-a368-dac502259ad0.png

程序段 2 (GETIO) 的运行结果

执行“GETIO”指令时,输出参数 ENO(“doneRead”)将返回信号状态“TRUE”。此后,重置程序将变量“executeRead”置位为“FALSE”,并结束“GETIO”的运行。

程序段 3 (GETIO) 的运行结果

通过函数 SLI_itemiseByte_gsIO,结构“#readBYTE”将变量值传送到结构“readInputs”的变量中。此时,通道 0 到 7 和 8 到 15 的值从 BYTE 转换为 ARRAY of BOOL。

为了便于理解,可使用具体的描述性名称表示“readInputs”结构的变量。

程序段 4 (SETIO) 的运行结果

通过函数 SLI_itemiseByte_gsIO,结构“writeOutputs”将变量值传送到结构“#writeBYTE”的变量中。通道 0 到 7 和 8 到 15 的值从 ARRAY of BOOL 转换为 BYTE。

为了便于理解,可使用具体的描述性名称表示“writeOutputs”结构的变量。

程序段 5 (SETIO) 的运行结果

输入参数 EN(“executeWrite”)返回信号状态“TRUE”时,启动指令“SETIO”。“SETIO”指令将通过输入参数 ID(“id_Write”)调用该输出模块。新值将通过输入参数 OUTPUTS(“#writeBYTE”)写入输出模块的通道中。

并在输出参数 STATUS(“statusWrite”)处,显示该块的状态。该过程成功执行且无任何错误。

fa32c126-2a0d-11ee-a368-dac502259ad0.png

程序段 6 (SETIO) 的运行结果

执行“SETIO”指令时,输出参数 ENO(“doneWrite”)将返回信号状态“TRUE”。此后,重置程序将变量“executeWrite”置位为“FALSE”,并结束“SETIO”的运行。

GETIO 重新运行的结果

如果变量“executeRead”复位为“TRUE”,则在执行 GETIO 后将在“readInputs”结构中显示该输入模块通道中的新值。通道 1 和 2(“Channel_0-7[1]..[2]”)将返回信号状态“TRUE”。

fa54d9d2-2a0d-11ee-a368-dac502259ad0.png

说明
更改通道的信号状态
如果已为通道赋值但该通道的信号状态将改变(如,通过 PLC 变量),则可通过 SETIO 将信号状态的变更转至无效。此时,请确保将发送变更的通道信号状态与其它因素无关。

创建带有一个数字量输入模块和一个数字量输出模块的 IO 设备/DP 从站。

说明 使用 SETIO 进行更改,并使用 GETIO 读取更改 数字量输入模块必须连接到数字量输出模块处,确保写入的值可使用 GETIO通过 SETIO 进行读取。

在全局数据块中,创建 9 个变量和 2 个结构“readinputs”和“writeOutputs”进行数据存储。 使用“id_Read”变量,存储数字量输入模块的硬件标识符。使用“id_Write”变量,存储数字量输出模块的硬件标识符。

说明 查找硬件标识符 使用“PLC 变量 > 系统常量”(PLC tags > System constants),查找硬件标识符。例如,数字量输入模块可使用数据类型“HW_Submodule”搜索“Local~<数字量输入模块名称>”。在相关单元格“值”(value) 中,将列出该硬件的标识符。

f83b5c34-2a0d-11ee-a368-dac502259ad0.png

要进行数据传送,需在函数块“SLI_FB_GETIO_SETIO”中创建以下局部变量。

f859b3aa-2a0d-11ee-a368-dac502259ad0.png

要更改通道状态,需在全局数据块中,将以下位(通道 1 和 2)设置为“TRUE”:

f8a2b00a-2a0d-11ee-a368-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    5008

    文章

    13146

    浏览量

    461967
  • 西门子
    +关注

    关注

    93

    文章

    3007

    浏览量

    115611
  • 编程
    +关注

    关注

    88

    文章

    3587

    浏览量

    93580
  • 数字量
    +关注

    关注

    0

    文章

    67

    浏览量

    11261

原文标题:西门子PLC: 读取数字量输入模块/写入数字量输出模块

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

收藏 人收藏

    评论

    相关推荐

    西门子PLC中文编程手册

    西门子PLC中文编程手册,感兴趣的可以看看。
    发表于 09-08 14:15 474次下载

    浅谈西门子PLC的“SCL语言”编程

    介绍西门子PLC的“SCL语言”编程,相关编程代码
    发表于 01-22 17:25 0次下载

    西门子PLC编程电缆型号

    西门子PLC编程电缆型号,感兴趣的小伙伴们可以看看。
    发表于 07-29 18:42 38次下载

    西门子PLC编程手册

    西门子PLC编程手册,感兴趣的小伙伴们可以看看。
    发表于 07-29 18:42 56次下载

    西门子PLC培训编程讲义

    西门子PLC培训编程讲义,感兴趣的小伙伴们可以看看。
    发表于 07-29 18:42 105次下载

    西门子PLC中文编程手册

    西门子PLC中文编程手册,感兴趣的小伙伴们可以看看。
    发表于 07-29 18:42 70次下载

    西门子plc编程入门教程

    德国西门子公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子公司的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-
    发表于 11-14 16:55 4.7w次阅读

    西门子PLC教程之PID编程资料

    西门子PLC关于PID编程资料
    发表于 12-20 10:30 77次下载

    西门子plc数据类型_西门子plc通讯方式

    西门子PLC的品质非常好,其网络稳定性、开放性深受工控人员的喜爱,而且编程软件分类多,使用方便。在国内工控界具有显著地位。虽然大家对西门子PLC
    发表于 07-25 10:57 1.5w次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>plc</b>数据类型_<b class='flag-5'>西门子</b><b class='flag-5'>plc</b>通讯方式

    西门子PLC中使用SCL语言编程的技巧

    西门子PLC中使用SCL语言编程的技巧说明。
    发表于 04-22 11:15 65次下载

    浅谈西门子PLC的SCL语言编程

    西门子PLC的SCL语言编程说明。
    发表于 04-22 14:39 47次下载

    西门子PLC编程软件功能及安装

    西门子PLC编程软件官方版是一款专为西门子产品打造的PLC编程工具。
    发表于 04-17 14:31 8次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>编程</b>软件功能及安装

    西门子PLC的几种编程语言简单介绍

    西门子PLC的几种编程语言简单介绍 来源: wanggaosheng 作者:华仔 浏览:1563 时间:2016-08-10 14:18 标签: 摘要: 西门子
    发表于 04-19 09:35 4次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>的几种<b class='flag-5'>编程</b>语言简单介绍

    大型西门子PLC程序结构示例

    大型的西门子PLC程序结构示例
    的头像 发表于 07-06 10:34 1287次阅读

    西门子PLC编程技巧(软件篇)

    为大家整理一些西门子PLC的软件编程小窍门
    的头像 发表于 07-10 09:34 2051次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>编程</b>技巧(软件篇)