西门子博图编程:自定义数据类型

回忆起以前项目中上位机和HMI中使用画面弹窗功能,本文谈谈在博图里面自定义数据类型的使用。
创建新的数据类型
新的数据类型有啥用呢?举个例子,假设有8台电机,这8台电机用变频器来控制,那么每台电机用到的数据有:

名称数据类型
运行反馈bool
故障信号bool
运行bool
频率real

古典方法
“古典“的情况下,变量表中M一个一个的加,VD一个接一个的用。稍微会点技巧的人用地址自动分配功能和外部Excel编辑配合使用,不会太浪费时间。但是变量太多,地址自动分配完后,后期的编程中难免会出幺蛾子。
在这里插入图片描述
流行方法
DB数据块在博图编程中应该是越来越流行了,所以很多人会创建一个DB数据块,然后继续在里面堆变量。这么做的好处是如果你使用默认的“优化的块访问”,那么就不用纠结地址问题,软件会自动优化分配。
在这里插入图片描述
如果你不嫌麻烦,你可以创建多个DB块,分开放置每个电机的参数,那在调用的时候就比较舒服了。
在这里插入图片描述
然而,会遇到另外一个问题:如果我想每个电机增加一个参数,那还是得一个一个地调整。
在这里插入图片描述

新建数据类型
好,那么为了便于后期的程序修改或调整,可以采用创建新的数据类型来解决这个问题。

  1. 新建数据类型,名称为motorType,里面创建三个bool,一个real变量。SCL程序如下:(我习惯用SCL了)
TYPE "motorType"
VERSION : 0.1
   STRUCT
      motorRunning : Bool;   //  motor running(feedback singal)
      motorErr : Bool;   // VFD error singal
      motorStart : Bool;   // motor start
      motorFrequence : Real := 0.0;   // motor speed
   END_STRUCT;
END_TYPE

在这里插入图片描述
2.创建DB数据块Motor,新建数据motor1,数据类型为motorType。然后依次新建motor2、motor3…
在这里插入图片描述
3. 如果后期想增添电机参数,可以更改数据类型定义,那么DB数据块会报错,此时只需进行更新就可解决。
如下图,在数据类型中新添一个变量motorStop 在这里插入图片描述
此时刚才建立的数据块会报错
在这里插入图片描述
单机更新接口图标,数据块根据刚才修改的数据类型进行了更新
在这里插入图片描述
这种方式特别方便,基本不用去修改原先的PLC程序中的变量。
在这里插入图片描述
本文参考了付老湿的blog,感谢!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值