结构体是包含一个以上的标签的数据类型,那怎么理解这个定义呢,我们可以打个比喻说明:结构体就好像是我手中的一个碗(不管是铁碗还是瓷碗)就是碗是属性,他可以装一碗面条,也可以装一碗肉。
只要是可以封装成结构体的属性,可以封装成气缸控制的数据,也可以封装成轴的控制数据,也可以封装成扫条码的数据包。
三菱语境下的结构体(STRUCT),特指其PLC(可编程逻辑控制器) 中的自定义复合数据类型,用于将多个不同数据类型的变量 / 标签按逻辑封装为一个整体,是三菱结构化编程(ST/FBD/LD)的核心工具之一。
结构体是多个标签的集合体,内部可包含不同数据类型的成员(如 BOOL、INT、REAL、WORD、DINT、ARRAY,甚至嵌套结构体),本质是自定义的 “数据包”/“数据模板”,可被全局调用与实例化。
● 设备参数封装:如电机控制参数(使能、正反转指令、速度、电流、故障状态)
● 功能块接口设计:统一 FB 的输入输出参数,简化接口定义与调用。
● 配方管理:批量存储产品参数、配方数据,配合数组实现高效读写。
● 状态机建模:封装设备运行状态、过渡条件、报警信息等整体状态数据。
●模块化编程:按功能模块划分结构体,提升大型项目的可维护性。
●编程方便:结构化寻址。
下面会举例说明:比如第一个气缸,双控气缸数据1[1].气压信号,如第二个气缸只需要修改双控气缸数据1[2].气压信号,就可以完成修改并使用。
(以GX Works3+MELSEC-iQ-R/Q/FX5U/MXF/MXR为例)
打开 GX Works3,在左侧导航树中找到“工程” -> “标签” -> “结构体”。
右键点击“结构体”,选择“新建数据”。
输入气缸控制需要的变量,这个例子中我们把下表的变量作为气缸控制的数据集合。
创建结构体变量标签后,它只是一个“实例化的数据”。必须在程序中使用这些实例化的数据。
一般都在“全局标签”中进行声明变量标签,这样所有的PLC程序和HMI都能访问它了。
打开 GX Works3,在左侧导航树中找到“工程” -> “标签” -> “全局标签”。
标签名中输入“双控气缸数据1”,类型分类为:“结构体”;数据类型为建立好的结构体“双控气缸数据”。如下图所示:
点击数据类型,可以分配多个气缸的数组,如下图所示:
*第一个气缸的软元件数据
*第二个气缸的软元件数据,以此类推,20个气缸的数据都在这里了。
FB程序实例化。(把FB程序拖到气缸控制程序1里面)
以上就是结构体的使用方法。
以上的文字图片如果有什么错误,请各位看官老爷指正和批评,O(∩_∩)O谢谢!
结构体就等于标签变量数据的打包工具。
多设备的情况,变量复用性强,标准化模块化程度高, 标准化操作较少错误。
做好一次标签变量数据模板,全工程都可以重复用,标签变量数据逻辑比较清晰,程序干净又好维护。
(注:本文为“海亿自动化”原创文稿,如需转载,请标明出处并附上原文链接)