问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何编写PROFINET IO设备通讯块FC11和FC12

发布网友 发布时间:2022-04-21 02:14

我来回答

1个回答

热心网友 时间:2022-06-17 07:11

  如果您要使用 S7-300 工业以太网模板作为 PROFINET IO 控制器或者 PROFINET IO 设备, 那么您必须调用一下通讯功能块在用户程序中:

  FC11 "PNIO_SEND"
  FC12 "PNIO_RECV"
  通讯块 FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 的特性:

  FC11 和 FC12 是同步通讯块。
  块被包含在 S7-300 控制器“SIMATIC_NET_CP” 库中。
  块必须被调用在 OB1 中
  功能调用结束通过 “DONE”, “NDR” 或 “ERROR” 表示。
  FC11 “ PNIO_SEND” 通讯功能块的特性 :

  作为 PROFINET IO 控制器
  功能块通过通讯处理器传送指定输出范围内的过程数据 (输出) 到 PROFINET IO 设备并且提供同样的状态给 PROFINET IO 设备的输出。
  作为 PROFINET IO 设备
  功能块读取 PROFINET IO 设备 CPU 的过程映像输入区并且传送它们到 PROFINET IO 控制器 (被组态的输入地址);提供同样的状态给 PROFINET IO 控制器。
  FC12“ PNIO_RECV” 通讯功能块的特性 ::

  作为 PROFINET IO 控制器
  功能块接受 PROFINET IO 设备的过程数据(输入) 并且提供来自于 PROFINET IO 设备的指定输入区的状态。
  作为 PROFINET IO 设备
  功能块接受 PROFINET IO 控制器发送的数据 (被组态的输出地址) 并把 PROFINET IO 控制器的传送数据的状态写到 PROFINET IO 设备以组态好的数据区中。
  组态描述:
  STEP 7 项目包括以下被组态成 PROFINET IO 控制器的 S7-300 站:

  CPU 319-3PN/DP
  STEP 7 项目包括以下被组态成 PROFINET IO 设备的 S7-300 站:

  CPU 315-2DP 和 CP343-1 Lean (6GK7 343-1CX10-0XE0)
  ET 200S

  接下来的输入/输出模块被组态到 PROFINET IO 设备 CP343-1 Lean中:

  地址是 0-15 的 16 字节输入模块
  地址是 16-23 的 8 字节输入模块
  地址是 0-15 的 16 字节输出模块
  地址是 16-19的 4 字节输出模块
  这表明输入地址区和输出地址区分别是 24 字节 (0-23) 和 20 字节 (0-19)。 输入和输出首地址可以不是"0".

  

  接下来的输入/输出模块被组态到 ET 200S 中:

  地址是 20.0-20.1 的 2 位输出模块

  最终的地址区是:

  输入: 0-23 = 24 字节
  输出: 0-20 = 21 字节
  用户程序描述:
  在这个例子中, 一个 CP343-1 Lean 被用作连接一个作为 PROFINET IO 设备的S7-300 站到一个 PROFINET IO 系统中。字节 MB0 被定义成 S7-300 CPU 时钟位。STEP 7 程序包括 OB1, FB100, DB30, DB31, DB12, FC11 and FC12.

  OB1
  OB1 被循环调用。 在这个OB中, FB100 (实例 DB: DB100)被调用。

  FB100
  FB100 被调用在 OB1 中。 在这个 FB 中,FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 被调用。

  输入参数 MODE=0, 因为通讯处理器仅被用作 PROFINET IO 设备。如果通讯处理器被同时用作 PROFINET IO 控制器和 PROFINET IO 设备,那么输入参数 MODE=1。

  输入通讯功能参数 CPLADDR 是你指定的 PROFINET IO 设备的模块地址。你从硬件组态中可以得到它,在工业以太网通讯模块 -> “ 地址” 标签 (参看 图. 06)。在这个例子中, CP343-1 Lean 模块地址是 256dec = 100hex.。

  FC11 “ PNIO_SEND” 的输入参数 LEN 是你组态的 CP343-1 Lean (24 字节) 的输入地址区的长度。 这段数据长度被指定为 FC11 “PNIO_SEND” 发送数据的 LEN 参数。这段数据必须与已组态的的输入 (24 字节) 保持一致。

  FC12 “ PNIO_RECV” 的输入参数 LEN 是你组态的 CP343-1 Lean (20 字节) 的输出地址区的长度。 这段数据长度被指定为 FC12 “PNIO_RECV” 发送数据的 LEN 参数。这段数据必须与已组态的的输出 (20字节) 保持一致。

  发送接收缓冲区 (例如 数据块) 包含了被发送和接收的数据,长度至少要和被定义的发送和接收数据一样长。在这个例子中,DB 包含的发送数据长度必须大于等于 24 字节并且 DB 包含的接收数据长度必须大于等于 20 字节。

  FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 的输出参数 “DONE”、“NDR”、“ERROR” 和 “STATUS”是通讯功能块的工作标示位。
  如果发送任务成功完成,那么 FC11 “PNIO_SEND”的 “DONE”将被置位。
  如果接收任务成功完成 (例如:数据被接收到) ,那么 FC12 “PNIO_RECV”的 “NDR”将被置位。

  如果 FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 由于错误而结束,可通过状态字进行错误分析。

  PROFINET IO 控制器的用户程序描述:
  在这个例子中,一个带有集成以太网接口的 S7-300 CPU 被用作 PROFINET IO 控制器。 字节 MB0 被定义成 S7-300 CPU时钟位。
  STEP 7 程序包括 OB1, FB100 和 DB20。

  在用户程序中没有必要调用通讯功能块。可以通过装载和传送命令来访问输入/输出区,例如,读出输入值和写值到输出。读到的输入值被保存到数据块 (DB20)中。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win7窗口淡入淡出慢 iPhone 小技巧:如何将 Safari 浏览器中的网页添加到桌面? 锰粉是什么颜色的金属 铁精粉的常见颜色是什么 烟花爆竹中的金属粉末如何使其呈现绚丽色彩? 金粉有哪些种类 灰土每层回填最大厚度 灰土基础简史 如何让一个喜欢你的女孩讨厌你! 西环里新区基本资料 Profinet IO是什么意思 老贡梦世界梦价格? 阴阳师我妻善逸技能是什么 我妻善逸技能详情 日本的西日本国际教育学院好吗??? 横滨设计学院的费用明细 口碑宝卡签到送流量赠送的流量有有效期吗 百度如何签到 虚拟机ubuntu怎么连接wifi 如何在虚拟机virtue box上设置wifi 虚拟机如何连接wifi 在虚拟机里面如何使用外置无线网卡 虚拟机怎么连接外网? 怎样设置虚拟机连网线 本机连wifi 如何让虚拟机扫描并连接wifi 虚拟机XP系统如何连接无线网络? 虚拟机下的ubuntu怎样连接wifi 如何在虚拟机下使用主机的无线网卡 虚拟机怎么设置热点wifi上网 虚拟机怎么使用无线网卡连接网络 虚拟机怎么用无线网卡 西门子et-200sp和profinet远程IO模块有什么关系 西门子siemens系统中什么是PROFIBUS DP 和PROFINET IO 如何为PROFINET IO控制器分配新的IP地址 PROFINET IO 设备与PROFINET IO控制器有什么区别 S7-1500与2块S7-1200 Profinet IO通讯 S71500PROFINETIO或DP从站故障诊断 如何设置分布式IO模块的PROFINET地址 “如何”“怎样”“怎么样”的区别是什么? 如何寻址PROFINET IO设备 西门子1500PLC通过profinet与分布式IO通讯距离问题 怎样查看自己电脑配置 PROFINET总线技术基础 怎么在用户程序中测试profinet io 的通讯速度 西门子PROFINET工业通信指南的目录 如何虚拟测试profinet通讯 如何实现SIMOTION 与计算机的PROFINET RT通信 西门子PROFINET工业通信指南的介绍 吃柚子有什么营养功效呢? 柚子营养价值功效作用 柚子的营养价值与功效?