对于 S7-1500,为什么当调用一个功能块时应该使用整个结构代替大量的单个元素来传递参数?

描述
本条目将阐述如何处理“传送整个元素来代替大量的单个元素”,及其在 STEP 7 V5.x 和STEP 7 (TIA 博途) V12 中不同的处理步骤。

用户可以创建程序以便将所有的数据记录(设备数据,配方等)能够在不同的块中调用,每个块处理一部分数据。使用数据记录使得数据传输简 单化,可保证上述数据处理过程同步进行。

在 STEP 7 V5.x 中的步骤
在 STEP 7 V5.x 中的数据块中的结构声明大部分是没有变量名的。数据块本身以这种方式被写入数值:结构体的值作为实际参数传递,计算结果被传送回结构中。也可以传送 DB 块号和块中的绝对地址。这里必须注意参数的数量通常是非常大的。实际数据被存储于 DB 块中,并且运算后的值再一次被传送到其它块中。在传送数据块的变量时,符号名不再可用。

在 STEP 7 TIA 博途中的步骤
在 STEP 7 (TIA 博途) 中也可以传送结构体参数。如果一个块的输入接口中声明了一个结构体类型的形参,则必须传送一个具有相同结构的实参。这意味着所有结构体里元素的名称和数据 类型必须是一致的。如果结构中的某个元素的数据类型与形参相互匹配,那么也可以传送结构中的这个元素作为实参。推荐使用结构变量作为 PLC数据类型,由于其可以反复使用及统一修改。这样使编程更加简单。

  1. 用结构型 PLC 数据类型创建一个数据记录并给其一个变量名,例如 "Machine data"。
  2. 使用这个数据类型来声明一个数据块或者 DB 块中的变量。
  3. 在块的接口中定义 VAR_IN_OUT 类型的形参。
  4. 对于块调用可以参数化整个数据记录(DB 或者 DB 中的变量)作为一个参数。
  5. 可以在数据记录中直接读取结果。

优势

  • 通过减少了大量的参数从而简化了调用接口
  • 由于数据处理直接在数据记录中进行而节省了存储空间
  • 没有额外的大量拷贝,提高系统性能
  • 同时优化了数据块的访问

图01 显示了如何使用两个 DB 块的变量调用和参数化功能块。DB 块变量 (Array[1..10] of Bool) 的数据类型和 PLC 数据类型 (用户自定义数据类型) 与 FB1 的参数的数据类型是一致的。

对于 S7-1500,为什么当调用一个功能块时应该使用整个结构代替大量的单个元素来传递参数?
图 01

更多关于“在 S7-1500 创建 PLC 数据类型”的详细信息参考条目:67599090

S7-1500 中结构的最大数量
在 S7-1500 的一个数据块中,最多可以定义 252 个结构,与每个结构中数据类型无关。

安全注意事项
警告
本条目中所描述的功能和方法目的局限于为了实现自动化系统任务。另外,当需要连接设备到工厂的其它部分、企业网络或者 Internet 时,需要考虑相关的保护措施,更详细内容请参考条 目:50203404

创建环境
本 FAQ 的图片是在 STEP 7 V12 中创建的。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论