欧姆龙SysmacStudio中的联合体的使用核心就是利用联合体的特点,它是由基础数据类型派生出的数据类型,可以帮助我们简化数据类型的转换代码。

所谓联合体,可以理解为一个变量使用时可以用多种数据类型,当然了也不是全部的数据类型,如下图所示,只能使用的类型是Bool、Byte、Word、Dword、Lword 以及组成的数组类型,且成员类型也只能有4个

以下分享联合体的使用技巧

1.新建联合体

在数据类型中选择联合体,在空白处右击点击选择新建数据类型添加联合体,之后点击新建成员;
下方图中,新建了一些常用的联合体,供大家参考;

2.联合体使用

简化数据类型转换的代码!简化数据类型转换的代码!简化数据类型转换的代码!

使用场景1:外部硬件的变量使用


例如我们外部PLC上各有一个输入输出模块,并命名了对应的变量,一个模块对应两路通道,是字类型,内部有16个bit,就可以使用上图参考类型中 " uDwToBool "这个联合体,它的成员有三个对应:双字,单字,和32位布尔量数组;使用下图中的编程方式就省去了在数据类型间转换的麻烦;

使用场景2:报警下使用

在编写大型设备产线时,电机和气缸数量特别多时,报警条件相对也比较多,这时我们可以将报警条件做归纳,分类,然后根据类型分配;例如下方的将64个轴的故障,使用 " uLwToBool "这个联合体,它的成员有两个对应:长字,和64位布尔量数组;做一个FOR循环提取,这只需判断这个长字是否为0就能判断64个轴有没有报错,非常的简单方便;

还有其他的一些应用场景,不再赘述,使用的核心理念就是简化数据类型的转换过程;

联合体使用限制


上次讲到欧姆龙SysmacStudio 全局变量和数据类型命名空间的使用技巧,需要了解的可以复制链接查看
https://blog.csdn.net/q18335189155/article/details/127394811?spm=1001.2014.3001.5502

欧姆龙 SysmacStudio 关于模块化编程 数据类型联合体的应用技巧相关推荐

  1. 欧姆龙SysmacStudio 关于模块化编程的使用技巧---全局变量和数据类型

    欧姆龙SysmacStudio 关于模块化编程技巧-全局变量和数据类型 在平常使用欧姆龙SysmacStudio 编程时,有新建大量的结构体和全局变量,若不分类进行模块化,会造成查找不方便,下面分享的 ...

  2. c++头文件被c语言调用需要注意什么_嵌入式C语言之模块化编程

    C语言中的模块化体现在两个方面: 1 函数. 函数是C语言的最小单位,每个函数均实现一个独立的功能,于是每个函数均可以当做是一个最小的功能模块.这样,C语言就实现了最基本的模块化. 2 文件. 在C语 ...

  3. 信捷PLC程序,八轴程序,有伺服也有步进,内部有伺服和步进计算公式换算,模块化编程框架

    信捷PLC程序,八轴程序,有伺服也有步进,内部有伺服和步进计算公式换算,模块化编程框架,包含各功能区规划,伺服步进电机DOG+JOG,气缸手动,公式计算数据处理,报警功能区,自动步进S调用等. 研究透 ...

  4. python一入深似海-模块化编程-钢铁侠战甲

    文章目录 模块化编程--钢铁侠战甲 函数 函数的作用? 函数的定义和使用 函数的特征及注意事项 函数的参数 函数参数大类分为形参和实参: 函数返回值 return返回值的特征 变量作用域 模块化编程- ...

  5. (转)Javascript模块化编程(一):模块的写法

    转自 ruanyifeng 系列目录: Javascript模块化编程(一):模块的写法 Javascript模块化编程(二):AMD规范 Javascript模块化编程(三):Require.js的 ...

  6. Javascript模块化编程(一):模块的写法

    随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...

  7. keil c语言模块化编程,keil C模块化编程总结

    昨晚看了下模块化编程的东西,把自己的工程整了整,可惜没成功.今早发神经似的起床敲代码,很快就发现了错误,原来是条件宏定义的头文件名忘改了,汗!!! 整理下模块化编程的要点,感谢以下三位UP主的帖子: ...

  8. Javascript模块化编程:AMD规范

    一.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块. 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写 ...

  9. 模块化编程AMDCommonJS

    为什么要模块化编程 如果JS也可以像类似python,Java使用import,引入我们想要的模块,想要什么模块,就加载什么模块,可以给前端编程带来更多的便捷,结构更加清晰明了.但是,这样做有一个前提 ...

最新文章

  1. 重磅!Nature子刊:利用GAN来​“深度伪造大脑数据”可以改善残疾人的脑机接口...
  2. 富文本HTML编辑器UEditor
  3. firefly如何安装mysql_CentOS7 安装Firefly及测试
  4. git push origin master报错
  5. javascript箭头函数和this的指向问题
  6. (五)官方Neo4j 3.3.9 Java API例子
  7. 计算机少年宫辅导教师总结,微机兴趣小组活动总结
  8. 滤波器开发之四:基于算术平均的中值滤波器
  9. 基于python的图像分割并计数
  10. leetcode python3 简单题20. Valid Parentheses
  11. Kinect + OpenNI + OpenCV + OpenGL 三维重建
  12. lamp php用开吗,LAMP环境之PHP安装使用
  13. 思科cisco模拟器路由器的基础配置
  14. 自然语言处理顶会 ACL2019论文接收列表
  15. 栈和队列的常见面试题-栈实现队列-队列实现栈
  16. SpringSecurity 退出登录
  17. oracle excel vba6,如何在WPS个人Excel表格中启用宏功能来使用VBA
  18. python面向对象学习
  19. PLC协议宏通信功能介绍
  20. 树、二叉树、满二叉树、完全二叉树、二叉树的重要性质及其存储结构

热门文章

  1. 联想魔改BIOS详细最优设置
  2. MSE 治理中心重磅升级-流量治理、数据库治理、同 AZ 优先
  3. VS提示“fatal error LNK1169:找到一个或多个多重定义的符号“的终极解决方案
  4. ADODB 入门学习基础教程[多图]
  5. 传输指令ssh,sftp,scp
  6. centos系统关闭ntp服务器,CentOS 7配置NTP客户端
  7. 专利侵权行为类型和专利权的保护
  8. linux网卡EC20型号,Linux系统下使用4G模块EC20实现拨号上网
  9. golang fmt格式化字符串%v,%T
  10. Marklogic学习 —— XQuery语法之排序