admin 管理员组文章数量: 1086019
2024年4月20日发(作者:红盟云发卡商城模板)
《
工业控制计算机
》
2020
年第
33
卷第
12
期
39
基于
Excel
VBA
功能的上位控制系统开发
程
亮
(
上汽通用
(
沈阳
)
北盛汽车有限公司
,
辽宁沈阳
110044
)
摘要
:
当前工控领域上位机的开发组态软件种类较多
遥
虽然组态软件能提供专业和灵活的技术手段来满足不同工控需
求
,
但多数情况下
,
组态软件较大
、
安装过程繁琐
、
多数软件需要授权管理
,
用户熟悉和掌握软件需要一段时间
,
这些都导致
软件使用门槛较高
,
比如
FactoryTalk
、
Wi
nCC
flexb
i
le
和
C
i
mpl
i
c
i
ty
等
。
而有时我们只是想使用其中的一小部分功能
,
那么
有没有简洁的方法来满足我们的需求
?
基于这个背景
,探索一种基于
Excel
VBA
功能的上位控制系统开发方法
。
关键词
:
Excel
VBA
;
上位控制系统
;
开发
1
使用的软件
本公司车身塔灯监控系统界面如图1
所示
。
图
1
首先
,
介绍一下该方法使用到的工具
:
RSLi
nx
:罗克韦尔自动化的一款通信工具软件
,
其作用是集
成了许多硬件间连接和网络间通信的软件协议,
是该公司硬件
产品之间的通信桥梁和纽带
,
除
Lite
版本外均支持
OPC
和
DDE
功能
。
Excel
:
微软公司的一款办公自动化软件
,
自带
DDE功能
。
DDE
:
—
种动态数据交换机制
(
Dynam
i
c
Data
Exchange
)
。
简单说来
,
DDE通过使用共享内存的方法在应用程序之间传输
数据
,
完成应用程序之间的数据交换,实时性比较好
,
适合用于
构建小型系统的数据交换
。
VBA
:
(
V
i
sual
Bas
i
c
for
Appl
i
cat
ions
)
是
Vi
sual
Bas
i
c
的
一种宏语言
,
是在其桌面应用程序中执行通用的自动化
(
OLE
)
任务的编程语言
。
主要能用来扩展
Windows
的应用程序功能
,
特别是Mi
crosoft
Offi
ce
软件
。
它也可说是一种应用程式视觉化
的
Bas
i
c
脚本
[
1
]
遥
以下介绍如何通过
Excel
与
RSLi
nx
开发简易上位控制系统
。
2
通过RSLinx
软件建立与
PLC
的通信通道
1
)
在
RSl
i
nx
软件窗口
中点击
"conf
i
gure
dr
i
vers
"按钮;
2
)
在弹岀窗口中
,
通信驱动类别选择Ethernet
Dev
i
ces
(
这
个根据现场的实际通信协议进行选择
,
本例中采用工业以太网
通信协议)
;
3
)
点击
“
Add
New
冶按钮
,
在弹岀窗口中输入通信通道名
称
,
然后点击
“
OK
”
按钮
;
4
)
在弹岀窗口中输入目标
PLC
的
IP地址
,然后点击
“
确
定
”
按钮
。
3
通过
Excel
实时监控
PLC
程序内标签的变化情况
1
)在
RSl
i
nx
软件窗口中点击
“
DEC/OPC
”
选项
,
然后点击
"
Top
i
c
Conf
i
gurat
i
on
”选项
;
2
)
在弹岀窗口中点击
“
NEW
”
按钮
,
创建
NEW_TOPIC
(
默认
名称为
“
NEW
赃
TOPIC
”
,
可根据实际需求更改
)
;
3
)
在右侧窗口中选择要和
NEW_TOPIC
关联的
PLC
,
然后
点击
"Apply
冶按钮
,
在弹岀对话框中点击
“
yes”
,
最后点击
"
Do
ne
”
按钮
;
4
)
在
RSl
i
nx软件窗口中点击
“
Ed
it
”
选项
,
然后点击
“
COPY
DDE/OPC
LINK
”选项
;
5
)
选择所要监控的
PLC
;
6
)
在
Onl
i
ne选项中选择需要监控的
PLC
内的标签
,
然后
点击
“OK
”按钮
;
7
)
在Excel
表格单元格中右键选择粘贴链接
,
然后点击
“
OK
”
按钮
,
单元格内会实时动态显示
PLC
内标签数值
。
4
通过Excel
对所监控的
PLC
内标签数值进行处理
由于
Excel具有很强的数据处理功能
,
可以将从
PLC采集
过来的数据进行一些美化
,
比如单元格
、
字体颜色变化
、
曲线图
或柱状图的展示等
,
这样会更加直观
。
如图
2
所示
。
5
,
J
.':*--'.
二
«-!□
1
F
.~.
—
1
J
r,
"
Ifa-W
lAUi
■
aaMB.
IBWi
Ba
■
M4W
IW
1
kBA
II
KB
■■
图
2
5
通过
Excel
VBA
功能写数据到PLC标签
如果所监控系统中
,
需要给
PLC
标签赋值
,
则可以利用
Ex
cel
本身自带的
VBA
功能编写脚本程序
,
然后通过调用脚本程
序将指定单元格中的数据写到PLC
对应标签中
。
比如利用
VBA
代码实现单击按钮赋值给
PLC
对应变量的功能,
实现方法如下
:
1
)
在
Excel
软件窗口打开VBA
编程器
,如图
3
所示
。
2
)
在编辑器中编写如下代码
,
保存后关闭编辑器
(
此段程序
功能:实现将Excel
"
开关代码
”
Sheet
中
a2
单元格的值赋值给
PLC
的
MDA[7].16
标签
)
。
Sub
DDE_Write_RSLinx_CV8_LED()
DDEChannel=Appl
i
cat
i
i
t
i
ate(app:="RSLi
nx",top
i
c:="CV8")
DDEItem
=
"MDA[7].16"
Set
RangeToPoke
=
Worksheets("
开关代码
"雪
.Range("a2")
Appl
i
cat
e
DDEChannel,
DDEItem,
RangeToPoke
Appl
i
cat
m
inate
DDEChannel
40
基于
Excel
VBA
功能的上位控制系统开发
图
3
End
Sub
备注
:
DDE_Write_RSLinx_CV8_LED
为此段脚本程序的名
称
,
各指令含义请参考
VBA
指令集
[
2
]
。
3
)
按钮调用脚本程序
。
在
Excel
中
,
绘制一个按钮,右击按
钮,选择
“
指定宏
”
,在弹出窗口中选择对应的宏名称
,
然后点击
图
4
5
)
由于
Excel
没有数据库功能
,
所以不能存储大量的历史
数据
,
少量的数据可以存储在
PLC
中
,
但这将影响
PLC
的内存
占有量以及运行速度
。
基于以上的优缺点
,
当实现小型
、
成本较低的系统和项目
“
确定
”
按钮
。
将鼠标箭头指向
“赋值
”
按钮时
,
此时指针形状变为
“
手形
”
,
单击此按钮时实现将
Excel
中的变量赋值给
PLC
标
签
。
如图
4
所示
。
6
结束语
时
,
该监控系统具有一定的优越性
。
将来传感器
、
数据采集装置
和控制器的智能化程度越来越高
,
实时数据浏览和管理的需求
1
)
系统实现简单
,
不需要拥有和熟练掌握第三方软件来编
写复杂的程序代码
,
只需要
Excel
和
RSLinx
软件
,
降低开发门
槛
,
节省软件成本和开发时间
;
也日益高涨,后续可以结合
Excel
的
VBA
功能
,
设计更复杂的
系统
,
而不仅是实现简易监控的功能
[
3
]
。
参考文献
[
1
]
杨洋
.
深入浅出
Excel
VBA
[
M
]
.
北京
:
电子工业出版社
,
2019
[
2
]
剑指工控
.Excel
如何通过
DDE
控制
PLC
[
EB/OL
]
.
(
2014-08-08
)
[2020-1
0-07
]
/node/291
2
)
监控信息直接来源于最底层的设备网
,
更准确、
可靠
;
3
)
可以充分发挥
Excel自带的一些针对数据统计和分析的
强大功能
,
数据显示更直观
;
4
)
VBA
脚本开发所涉及的难易程度不同
,
涉及到条件判断
和数据运算的许多工作需要在
PLC
中进行处理
,
致使
PLC
增
加额外程序代码
,
增加
PLC
负担
;
(
上接第
38
页
)
[
3
]
周树海
,
邹林君
.
使用
Excel
与
RSLinx
构建简易车间监控系统
[
J
]
汽车制造业
,
2016
(
2
)
:
47-49
[
收稿日期
:
2020.10.29
]
表
1
实验结果
数据集
1
A
模式
训练精度和验证精度相比于前两次实验都要更接近于
1
,
对数
据集
2
采用迁移学习模式B
的训练
,
用时
22
分
33
秒,最大精
数据集
2
度为
0.997785
,
在训练过程中的训练精度和验证精度也都趋近
B
模式
B
模式
14
分
39
秒
A
模式
实验耗时
0
1
2
3
4
5
6
7
8
29
分
7
秒
0.8634
0.9295
0.9416
38
分
6
秒
0.8403
0.9867
22
分
33
秒
0.8095
Epoch
训练精度验证精度训练精度验证精度训练精度验证精度训练精度验证精度
于
[
,
而且比之前的实验更加稳定
。
4
结束语
0.9902
0.9935
0.9967
0.8315
0.9218
0.9339
0.9548
0.9641
0.9967
0.9967
0.9902
0.9967
0.9347
0.9889
0.9922
0.9945
0.9482
0.9581
0.9703
0.9703
0.9515
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.9900
0.9911
0.9867
0.9967
0.9317
0.9229
0.9615
本研究基于
Resnet152
模型的水果分类识别方法
,
将预训
练好的
Resnet152
模型迁移到实验数据集中进行训练
,
保持卷积
层结构不变
,
对全连接层进行替换和训练
。
利用迁移学习的
0.9714
0.9846
0.9725
0.9438
0.9515
0.9581
0.9659
0.9626
0.9780
0.9714
0.9935
0.9967
0.9967
0.9967
0.9967
0.9967
0.9967
0.9935
0.9956
0.9945
0.9967
0.9438
0.9405
0.9416
0.9648
0.9515
0.9934
0.9967
0.9934
0.9934
0.9934
0.9911
0.9934
0.9857
0.9824
0.9879
0.9890
0.9934
0.9857
0.9857
0.9890
0.9890
0.9846
0.9835
0.9626
0.9769
0.9835
0.9868
0.9989
0.9978
Resnet152
模型与其他模型相比水果识别准确率明显提升
。所设
计的分类算法
,
可用于苹果
、
香蕉
、
橙子的准确识别
,
也可应用于
9
0.9581
0.9526
0.9526
10
11
0.9769
0.9780
0.9758
0.9890
0.9879
0.9868
0.9912
0.9824
0.9835
0.9879
0.9791
0.9846
0.9967
0.9890
0.9835
0.9956
0.9978
0.9978
0.9978
0.9978
0.9967
0.9978
0.9978
0.9537
0.9537
0.9559
0.9659
水果采摘与配送等物流环节以及智慧农业的研究
。
而从实验结果
可以看出
,
进行迁移学习的训练用时必进行深度学习训练的用时
更多,准确率也更高
。
但是存在花了更多时间
,
准确率的提升却没
0.9978
0.9956
0.9945
12
13
14
15
16
17
0.9581
0.9637
0.9581
0.9471
0.9659
0.9967
0.9967
0.9967
0.9967
0.9935
0.9967
0.9967
0.9967
0.9967
0.9967
0.9967
0.9967
0.9559
0.9615
0.9515
0.9350
0.9615
0.9934
0.9945
0.9967
0.9900
0.9934
有很大的问题
,
这是因为数据集内样本数量的局限性
。
本研究中
训练集和测试集采用了三种水果
,
每类水果
600
张图片
,
后续的
研究可以通过增加水果种类和扩大数据集来对模型进行训练
。
参考文献
[
1
]
贺智超
.
基于深度学习和迁移学习的多任务图像分类
[
D
]
.
广州
:
华南
18
19
20
21
22
23
24
0.9857
0.9934
0.9857
0.9879
0.9879
0.9835
0.9559
0.9526
0.9504
0.9416
0.9956
0.9989
0.9978
0.9967
0.9615
0.9604
0.9526
0.9934
0.9967
0.9922
0.9967
0.9681
0.9604
0.9659
0.9626
0.9659
0.9504
0.9956
0.9967
0.9967
0.9626
0.9681
0.9967
0.9967
理工大学
,
2017
[
2
]
He
K,Zhang
X,Ren
S,et
residual
learning
for
image
训练
,
用时
29
分
7
秒,经过几次迭代
,
训练精度和验证精度接近
于
1
;对数据集
1
采用迁移学习模式
B
的训练
,
用时
14
分
39
recognition
[C]
椅
Proceedings
of
the
IEEE
Conference
on
Computer
Vision
and
Pattern
Recognition,201
6:770-778
[
收稿日期
:
2020.10.8
]
秒
,
最大精度能达到
0.996732
。
虽然训练过程中精度在
0.95
处
波动,验证精度仍然接近于
1
。
对数据集
2
进行迁移学习模式
A
的训练
,
用时38
分
6
秒
,
最大精度有
0.99889
,
在训练过程中的
版权声明:本文标题:基于Excel VBA功能的上位控制系统开发 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713621866a643805.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论