当前位置: 首页 > article >正文

基于Java的OPCDA采集中间件

1.软件功能及技术特点简介:

软件功能及技术特点简介:

OPCDA是基于Java语言开发的OPC client(OPC客户端)跨平台中间件软件,他支持OPC SERVER的OPC DA1.0/2.0/3.0。OPCDA实时采集数据(包括实时数据、报警数据、历史变化数据等),同时提供MQTT发布订阅功能,为工业大数据平台提供现场基础数据支撑,且适用于所有的工业控制行业。

1、支持读取OPC DA1.0、2.0、3.0;

2、支持MQTT物联网功能,发布内容包括实时值、报警等内容;

3、支持操作系统(Windows);

4、适用于工业互联进程中的车间-车间、车间-厂集控中心、厂集控中心-地区集控中

心。
5.采集频率在5s以上,支持5000点位采集。

2.程序配置

在这里插入图片描述
在这里插入图片描述

1.jre opcdaclient.exe运行所需的java环境
2.lib opcda采集需要的dll文件
3.config.properties 配置文件,程序会默认读取同级目录下的配置文件
4.pointconfig.xlsx文件是点位表,程序会读取同级目录下的pointconfig.xlsx

3.程序界面

双击opcdaclient.exe

img.cn/direct/f926614af1f84b36bd2ac880904d4583.png)

OPC服务设置:

输入OPC服务器地址点击游览,查找opcDA服务,点击连接。
点击同步指标,将pointconfig.xlsx文件的点位信息同步显示出来。
采集频率自定义设置不能低于1000ms

MQTT服务设置

输入服务地址,端口 ,用户名和密码。点击连接,如果成功日志会显示MQTT连接成功。
会自动按照采集频率去发送MQTT。

4.部分代码


```java
// 主面板使用BorderLayoutJPanel mainPanel = new JPanel(new BorderLayout(10, 10));mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));// 左侧面板(使用BorderLayout垂直排列)JPanel leftPanel = new JPanel(new BorderLayout(5, 5));// 顶部面板 - OPC和MQTT设置JPanel settingsPanel = new JPanel(new GridLayout(2, 1, 5, 5));settingsPanel.add(createOpcPanel());settingsPanel.add(createMqttPanel());leftPanel.add(settingsPanel, BorderLayout.NORTH);// 中间表格dataTable = new JTable(new DefaultTableModel(new String[]{"ItemID", "类型", "值", "质量"}, 0));JScrollPane tableScroll = new JScrollPane(dataTable);tableScroll.setBorder(BorderFactory.createTitledBorder("数据表格"));leftPanel.add(tableScroll, BorderLayout.CENTER);// 右侧日志面板(使用JPanel包装确保正确布局)JPanel rightPanel = new JPanel(new BorderLayout());rightPanel.setPreferredSize(new Dimension(350, 0));
// 新增方法:更新采集频率private void updateCollectFrequency() {try {int newInterval = Integer.parseInt(collectFrequencyField.getText());if (newInterval < 999) {logMessage("警告: 采集频率不能低于999ms");return;}if (newInterval != collectInterval) {collectInterval = newInterval;logMessage("采集频率已设置为: " + collectInterval + "ms");// 如果正在采集,则重新启动定时器if (collectTimer != null && collectTimer.isRunning() &&jopc != null && jopc.ping()) {//startDataCollection(); // 这会自动停止旧的定时器并创建新的readAllIndicatorValues();}}} catch (NumberFormatException e) {logMessage("错误: 请输入有效的数字");}}

如有需要请私聊。

http://www.lryc.cn/news/2399380.html

相关文章:

  • 基于PyQt5的相机手动标定工具:原理、实现与应用
  • vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
  • JavaScript 性能优化实战:从原理到框架的全栈优化指南
  • 2025年- H61-Lc169--74.搜索二维矩阵(二分查找)--Java版
  • 微服务商城-用户微服务
  • 数学复习笔记 26
  • 创建型-设计模式
  • 移动AI神器GPT Mobile:多模型自由切换
  • 【黄金评论】美元走强压制金价:基于NLP政策因子与ARIMA-GARCH的联动效应解析
  • ubutu修改网关
  • Flink进阶之路:解锁大数据处理新境界
  • 【论文阅读】Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting
  • 谷歌地图免费下载手机版
  • DeepSeek 赋能金融衍生品:定价与风险管理的智能革命
  • SpringBoot-15-多表查询之多对多查询可选中间表
  • 论文中pdf图片文件太大怎么办
  • 简单爬虫框架实现
  • MVCC理解
  • 705SJBH超市库存管理系统文献综述
  • shell:基础
  • 【JVM】万字总结GC垃圾回收
  • 内网横向之RDP缓存利用
  • 【Linux网络】传输层TCP协议
  • 不同视角理解三维旋转
  • Adobe Acrobat——设置PDF打印页面的大小
  • Android apk装机编译类型: verify、speed-profile, speed与启动耗时
  • 纹理压缩格式优化
  • 使用Virtual Serial Port Driver+com2tcp(tcp2com)进行两台电脑的串口通讯
  • 【从0-1的HTML】第3篇:html引入css的3种方式
  • 数智破局·生态共生:重构全球制造新引擎 2025 WOD制造业数字化博览会即将在沪盛大启幕