LabVIEW在OPC中使用基金会现场总线
LabVIEW在OPC中使用基金会现场总线
本文讨论了如何使用开放的OPC(用于过程控制的OLE)接口访问基金会现场总线网络和设备。
NI-FBUS通信管理器随附了一个OPC数据访问服务器。
(NI-FBUS Configurator自动包含NI-FBUS通信管理器。)
以下是NI-FBUS通讯管理器不同版本的OPC相关信息:
-NI-FBUS通讯管理器2.3.5
-
支持基金会现场总线H1通信。
-
支持OPC数据访问1.0。
-NI-FBUS通讯管理器2.3.6和3.0
-
支持基金会现场总线H1和HSE通信。
-
支持OPC数据访问2.0。
-NI-FBUS通讯管理器3.1
-
支持基金会现场总线H1和HSE通信。
-
支持OPC数据访问2.05a。
-
通过OPC数据访问2.05a一致性测试。有关详细信息,请参见www.opcfoundation.org上的合规性测试结果。
-
一个新的地址空间旨在支持多个链接和多个设备以有效访问数据。
-
通过基于VIEW的机制提高了数据访问性能,尤其是对于ARRAY类型的数据访问而言。
-
改善了OPC服务器的稳定性。
强烈建议升级到NI-FBUS Communications Manager 3.1,以提高效率和稳定性。
OPC服务器配置
NI-FBUSOPC数据访问服务器易于配置。
对于基金会现场总线H1通信,您需要:
1. 设置NI基金会现场总线接口卡
2. 安装NI-FBUS通信管理器(或NI-FBUS配置器)
3. 导入设备的设备描述文件
根据您的接口卡,请参阅《 AT-FBUS入门手册》,《 PCI-FBUS入门手册》或《 PCMCIA-FBUS入门手册》。
对于基金会现场总线HSE通信,您需要:
1. 设置FBUS-HSE / H1链接设备
2. 安装NI-FBUS通信管理器(或NI-FBUS配置器)
3. 导入设备的设备描述文件
请参阅《 HSE链接设备入门手册》。
配置完成后,您可以将设备连接到接口卡和链接设备。 NI-FBUS OPC数据访问服务器将自动检测设备及其块。
OPC数据类型映射规则
基金会现场总线中共有三种数据类型:SIMPLE,ARRAY和RECORD。
SIMPLE类型和ARRAY类型变量被视为OPC地址空间中的叶节点。 RECORD类型变量被视为分支节点,这意味着您不能直接访问记录类型变量,而只能一个一个地访问其字段。
下表显示了数据类型映射规则。

表1. OPC数据类型映射规则
基金会现场总线地址空间
NI-FBUSOPC数据访问服务器根据基金会现场总线层次结构定义地址空间:
§ 顶层是链接
§ 第二层是连接到每个链接的设备
§ 第三级是每个设备下的VFD
§ 第四级是每个VFD下的块
§ 第5级和第6级是每个块下的参数。 SIMPLE和ARRAY类型参数是叶节点,而RECORD类型参数是分支节点。

图1显示了典型的基金会现场总线地址空间。
通过简单的OPC客户端访问基金会现场总线
服务器浏览器是OPC客户端,它随NI-FBUS软件一起提供。以下步骤显示了如何使用服务器资源管理器访问基金会现场总线:
1.启动服务器资源管理器
2.连接NI-FBUS OPC数据访问服务器:
1. 右键单击NIFB_OPCDA.3>连接到服务器…,然后弹出OPC连接对话框
2. 单击连接关闭对话框,服务器图标变为绿色。
3.添加一个OPC组:
1. 右键单击NIFB_OPCDA.3>添加/编辑组…,然后弹出OPC服务器:NIFB_OPCDA.3对话框
2. 在对话框中单击添加>>。
3. 单击确定关闭对话框,并在服务器图标下添加一个组Gr1图标
4.添加OPC项:
1. 右键单击Gr1->>添加/编辑项目…,然后弹出OPC组:Gr1对话框
2. 在项目定义区域中选择项目
3. 单击添加>>,然后将项目添加到名称(设备\项目)区域
4. 单击确定关闭对话框,并将项目图标添加到组图标中,并且项目列在服务器资源管理器的右侧区域中
5.阅读OPC项:
1. 右键单击要阅读的项目->属性…,然后弹出 OPC项对话框
2. 切换到读写AsyncIO
3. 点击阅读!纽扣
6.编写一个OPC项:
1. 右键单击要编写的项目->属性...,然后弹出 OPC项对话框
2. 切换到读写AsyncIO
3. 输入值,然后单击写!按钮。
开发技巧
使用这些技巧可帮助您开发更高效的FOUNDATION Fieldbus OPC应用程序。
§ 一次阅读多个项目,而不是一个一个地阅读
§ 由于OPC服务器针对多项目操作进行了优化,因此一次读取多个项目要比逐个读取项目快。出于相同的原因,一次添加多个项目,然后一次刷新多个项目。
§ 添加多个OPC组,而不是一个
§ 对于大多数应用程序,要读取的项目远远大于要写入的项目。添加多个OPC组而不是仅一个组就可以有效地组织OPC项目。
§ 例如,将您要监视的项目放入一个组,然后将您要写入的项目放入更新速度较慢(例如10s)的另一个组中。这样,写入操作将不会被读取操作延迟。 OPC客户端通常为一台OPC服务器支持多个服务器实例和/或多个组。 OPC客户端仅支持多个服务器实例,每个服务器仅支持一组。您可以改为创建多个服务器实例。
§ 不要将太多的静态项目放入监视组
§ 基金会现场总线中的参数可以分为两组:静态项目(在VIEW_2和VIEW_4.x中)和动态项目(在VIEW_1和VIEW_3.x中)。
§ 您可以将静态项目放入更新速度慢的OPC组中,因为这些项目很少更改。
§ 为每个OPC组设置适当的更新速率
§ 由于基金会现场总线H1的速率仅为31.25Kb / s,因此OPC组更新速率不能太快。为每个OPC组设置适当的更新速率可以节省通信带宽。
§ 您可以通过以下步骤找到特定OPC组的建议最快更新速率:
1. 通过OPC客户端(例如服务器浏览器)连接NI-FBUS OPC服务器
2. 添加组G1
3. 将您要监视的项目添加到组
4. 将组更新速率设置为一个较小的值,例如100ms,并将OPC客户端显示的实际更新速率作为建议的更新速率。
结论
NI-FBUSOPC数据访问服务器为FOUNDATIONFieldbus提供开放的OPC接口。在服务器的帮助下,我们可以有效地访问基金会现场总线网络。
这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。
相关文章:
LabVIEW在OPC中使用基金会现场总线
LabVIEW在OPC中使用基金会现场总线 本文讨论了如何使用开放的OPC(用于过程控制的OLE)接口访问基金会现场总线网络和设备。 NI-FBUS通信管理器随附了一个OPC数据访问服务器。 (NI-FBUS Configurator自动包含NI-FBUS通信管理器。)…...
京东数据分析:2023年Q3户外鞋服市场分析报告(冲锋衣行业销售数据分析)
从露营、骑行、徒步、桨板、垂钓、飞盘、滑雪到如今的city walk,近两年户外运动已经成为了年轻人新的生活方式。户外运动的爆发也刺激了人们对于鞋服在穿搭、场景化、专业性功能等方向的需求,户外鞋服市场迎来增长。 而全国性的降温则带给目前的户外鞋服…...
使用Pytorch的一些小细节(一)
文章目录 前言数据结构-张量max函数索引函数赋值函数拼接函数 前言 由于不经常动手写代码,所以对于python语言中的常见数据结构的用法也不是很熟悉,对于pytorch中的数据结构就更加不熟悉了。之前的代码基础是基于C语言的,属性都是自己定义&a…...
PDF Expert for mac(专业pdf编辑器)苹果电脑
PDF Expert for Mac 是一款功能强大、界面简洁的PDF阅读、编辑和转换工具,为Mac用户提供了全面而便捷的PDF处理体验。无论是日常工作中的文档阅读、标注,还是专业需求下的编辑、转换,PDF Expert 都能满足您的各种需求。 首先,PDF…...
班级新闻管理系统asp.net+sqlserver
班级新闻管理系统 附加功能 新闻图片,点击次数访问自增,每个人都只能增删改查自己发布的新闻,并可以看到所有人发布的新闻 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql serve…...
navicat导入.sql文件出现:[ERR] 1067 - Invalid default value for ‘create_date‘
比较老的系统生成的数据库导入5.7时报错[Err] 1067 - Invalid default value for create_time 错误分析 表中的第一个TIMESTAMP列(如果未声明为NULL或显示DEFAULT或ON UPDATE子句)将自动分配DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP属…...
Labview利用声卡捕获波形
一般的计算机上自带的声卡,均既有A/D功能,又有D/A功能,就是一款具备基本配置的数据采集卡,并且技术成熟,性能稳定。 后台如下:...
ElasticSearch7.x - HTTP 操作 - 索引操作
创建索引 对比关系型数据库,创建索引就等同于创建数据库 在 Postman 中,向 ES 服务器发 PUT 请求 :http://192.168.254.101:9200/shopping 说明 {"acknowledged"【响应结果】: true, # true 操作成功"shards_acknowledged"【分片结果】: true, # 分片操…...
Banana Pi BPI-M6(Raspberry Pi 5 替代品)初始设置及固件烧录
Banana Pi BPI-M6:初始设置和镜像烧录 Banana Pi BPI-M6 的首次测试 在上一篇文章中,我比较了Banana Pi BPI-M6和Raspberry Pi 5的硬件特性。两者都拥有出色的硬件技术,在性能方面应该不会有太大的问题。 今天我想测试一下 Banana Pi。作为…...
Ubuntu18.04.6安装qt5.7.1(超级详细教程)
目录 1、下载对应Linux版本的qt 2、安装完qt,可能也要安装下对应的编译工具 1、下载对应Linux版本的qt (1)准备安装的是qt5.7.1:qt-opensource-linux-x64-5.7.1.run (2)在虚拟机进入存放qt安装包的目录…...
进程线程
从Android3.0开始,系统要求网络访问必须在子线程中进行,否则会抛出异常,这么做是为了避免主线程被阻塞而导致ANR,那么网络访问的操作就必须要放到线程中去执行。 进程 进程是操作系统结构的基础,是程序在一个数据集合…...
【ubuntu 快速熟悉】
ubuntu 快速熟悉 2.ubuntu桌面管理器3.ubuntu常见文件夹说明4.ubuntu任务管理器4.1 gnome桌面的任务管理器4.2 实时监控GPU4.3 top 命令 5.ubuntu必备命令5.1 .deb文件5.2 查找命令5.2.1 find文件搜索5.2.2 which查找可执行文件的路径5.2.3 which的进阶,whereis5.2.…...
全局异常处理器(黑马程序员)
定义全局异常处理器非常简单,就是定义一个类,在类上加上一个注解 RestControllerAdvice,加上这个注解就代表我们定义了一个全局异常处理器。 在全局异常处理器当中,需要定义一个方法来捕获异常,在这个方法上需要加上注…...
虹科示波器 | 汽车免拆检测 | 2017款路虎发现车行驶中发动机抖动且加速无力
一、故障现象 一辆2017款路虎发现车,搭载3.0L发动机,累计行驶里程约为3.8万km。车主反映,车辆在行驶过程中突然出现发动机抖动且加速无力的现象,于是请求拖车救援。 二、故障诊断 拖车到店后首先试车,发动机怠速轻微抖…...
数据结构与算法C语言版学习笔记(6)-树、二叉树、赫夫曼树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、树的定义1.结点的度、树的度2.结点的逻辑关系3.树的深度4.有序树和无序树5.森林 二、树的存储结构(1)双亲表示法(2&…...
Leetcode刷题详解——电话号码的字母组合
1. 题目链接:17. 电话号码的字母组合 2. 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。…...
dream_ready
🧸欢迎来到dream_ready的博客,📜相信您对这篇博客也感兴趣o (ˉ▽ˉ;) Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法 路的尽头是什么?这是我年少时常伴在嘴…...
离线视频ocr识别
sudo apt-get install libleptonica-dev libtesseract-dev sudo apt-get install tesseract-ocr-chi-sim python -m pip install video-ocrwindows安装方法: 下载安装 https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.3.20231005.exe 下…...
双十一流量卡选购指南:不要只看月租,性价比高才是硬道理!
双十一来了,流量卡也推出了不少性价比较高的套餐,为了方便大家选择,这篇文章给大家推荐如何流量卡,希望大家都能够买到合适自己的流量卡,不该花的钱坚决不花! 这篇文章内容较多,请大家耐…...
时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制)
时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制) 目录 时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制)预测效果基本描述模型描述程序设计参考资料 预测效果 基本描述 1.MATLAB实现…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
