查看: 864|回复: 7
收起左侧

[教程经验] 【发帖达人赛2】---结构体功能扩展

邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 路过的工控仔 于 2023-4-24 13:56 编辑

一.简介
在日常编程中,为了程序编写的便利性与规范,结构体是我们常用的一种功能。下面分享两种结构体功能的相关使用 ----1.结构体比较功能   2.触摸屏结构体使用

二.功能介绍
1.结构体比较
在日常编程中,我们会对数据进行比较从而输出相关结果,但如果是对两个同类型的结构体比较时,汇川编程系统中的比较指令则无法实现,但像西门子与欧姆龙PLC有相关指令可以实现结构体整体比较操作。那如果没有直接的指令比较,自己对结构体中每一个变量进行比较则麻烦费时。下面介绍一种相比起对每个变量单独比较,较为为简便的方法,结合联合体来判断。
1679301101(1).png
如上图所示,定义一个结构体,首先我们要计算出结构体的数据长度,上述结构体占110Byte,在此要注意,不能用sizeof来取结构体长度,该指令取出的结构体长度是错误的,除了SIZEOF指令可以读取数据长度以为我们还可以通过ANY变量的功能来读取数据长度 image.png
下面定义一个联合体,其中包含两个变量,一个是需要比较的结构体,另一个是于结构体长度相同的数组(数组类型不限,长度可以比结构体数据长度大,相应占用的资源大,如果资源充裕,则对程序没有影响)。接下来我们就可以利用联合体中的变量共用相同地址的特性,来进行结构体比较。这个时候我们其实就只需要比较联合体中的数组,即可知道两个相同结构体里的值是否一致.(在定义字符串变量时,建议清楚一次初值,防止有初始值导致判断错误)。
image.png
1679301978(1).png
image.png
2.HMI中结构体的使用
在我们日常编程中,只要用到伺服轴,都避免不了使用点动,复位,标定等功能,那如果有多个轴,我们在HMI关联变量时,如果一个个关联变量会比较麻烦,那这个情况如果相同功能可以像结构体一样整体关联,那可以减少编程时间。
例如先在程序中定义一个结构体
1679308201.png
后续在HMI,里结构体里添加相同的结构体,注意触摸屏结构体里的变量和顺序要和程序中的一一对应。
1679308241(1).png
然后将结构体变量关联到对应控件上
1679308630(1).png
最后将结构体关联的多个控件成组,后续即可直接关联程序中的结构体。


三.总结
以上就是对结构体功能的一些扩展,如有不对之处,还请大家指正。后续上传了程序连接,大家有需求的可以下载查看。

1679308473(1).png

下载链接.zip

217 Bytes, 下载次数: 15

售价: 5  [记录]

程序下载链接

点评

跟着***  发表于 2023-3-21 13:21




上一篇:收放卷工艺功能块使用说明
下一篇:求助汇川库开发者

已有 1 人打赏作者

Inovance版主 赏了楼主1水滴
回复 邀请回答送花

使用道具 举报

晨曦2022 2023-3-21 14:31:44 | 显示全部楼层
如上图所示,定义一个结构体,首先我们要计算出结构体的数据长度,上述结构体占109Byte(在此要注意,不能用sizeof来取结构体长度,该指令取出的结构体长度是错误的)。
怎么没有图?

点评

感谢分享!!!  发表于 2023-3-22 20:34
回复 送花

使用道具 举报

路过的工控仔 2023-3-21 18:56:30 | 显示全部楼层
晨曦2022 发表于 2023-3-21 14:31
如上图所示,定义一个结构体,首先我们要计算出结构体的数据长度,上述结构体占109Byte(在此要注意,不能用 ...

抱歉之前上传有些问题,图片未导入
回复 送花

使用道具 举报

007ABCD 2023-4-3 09:40:19 | 显示全部楼层
高手厉害哈,向楼主学习。
回复 送花

使用道具 举报

@小黑 2023-4-4 03:07:46 | 显示全部楼层
这下算是明白了不少
回复 送花

使用道具 举报

喜欢丶黑夜 2023-4-24 16:38:20 | 显示全部楼层
向楼主学习学习                        
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部