cRIO9040中NI9871模块的测试

硬件准备

  • CompactRIO9040
  • NI9871
  • 直流电源(可调)
  • 网线
  • RJ50转DB9线
  • 鸣志STF03-R驱动器和步进电机

软件安装

参考:cRIO9040中NI9381模块的测试

此外,需安装NI-Serial 9870和9871扫描引擎支持

打开NI Measurement&Automation Explorer(MAX)- 远程系统 - cRIO9040 - 添加/删除软件 - 选择NI-Serial 9870和9871扫描引擎支持。
在这里插入图片描述

硬件准备

NI-9871介绍
NI‑9871为CompactRIO系统增加了RS485/RS422串行端口。 串行端口可直接通过FPGA访问,从而灵活地与串行设备通进行信。 模块的各个端口上均配有独立缓冲器,可节省FPGA空间,并简化编程。 NI‑9871支持标准启动位、停止位和握手设置。 该接口使用外接电源,在各种串行端口条件下均能提供最高兼容性和可靠性。
在这里插入图片描述
将NI9871插入卡槽内,需外接+8 V ~ +28 V的DC电源,将可调直流电源接到NI9871下部电源并调整到+10V。

将RJ50转DB9线接入PORT1-PORT4任意端口(这里注意要用RJ50的网口,和常规的RJ45不一样)

将DB9端口接入一个转换接口接到鸣志STF03-R驱动器的COM1.
在这里插入图片描述
采用四线制接线方式,将鸣志STF03-R驱动器的RX+连接至主控制器的TX+,驱动器的RX-连接至主控制器的TX-;驱动器的TX+连接至主控制器的RX+,驱动器的TX-连接至主控制器的RX-;驱动器的GND连接至主控制器的GND。STF03-R

注意:驱动器RS-485通讯口内部已作隔离,从机驱动器通讯口GND必须与主机上位控制器GND共地,与其他从机驱动器通讯口GND共地;

鸣志STF03-R驱动器接线:
在这里插入图片描述
NI-9871 RS485/RS422 DB-9接线:NI-9871 Getting Started
在这里插入图片描述

软件测试

首先新建终端
在这里插入图片描述
在这里插入图片描述

由于NI9381仅支持扫描模式和FPGA模式,故测试这两种模式。(NI-DAQmx API不用)
C Series Module and CompactDAQ or CompactRIO Hardware Compatibility with LabVIEW

在这里插入图片描述

实时扫描模式

在机箱属性中,选择扫描接口
在这里插入图片描述

直接在cRIO下新建VI,方法和串口通信一样,选择串口号时,前两个是机箱上的串口,后面4个串口就是NI9871的4个串口。
在这里插入图片描述

简单测试了正转、反转、停止。
在这里插入图片描述

具体指令参考:Modbus_Manual_CN202203.pdf

FPGA模式-中断模式

前期步骤同上,机箱属性编程模式更改为FPGA接口。
在这里插入图片描述
该设备不支持FPGA I/O 节点,所以无法拖入,直接创建method选择写入方法

在这里插入图片描述

在C:\Program Files\NI\LVAddons\crio\1\examples\CompactRIO\Module Specific\NI 987x\Serial Loopback中可参考NI-987x Serial Loopback例程。

由于自己利用例程新建项目时出现找不到op control 属性的问题,最后干脆直接在例程基础上修改了。(把例程文件的只读属性取消了,备份一份)

首先把例程中cRIO模块属性的IP修改为自己的设备,并且连接。
在这里插入图片描述
移除原来的9870模块,在FPGA中重新添加自己的9871模块。在这里插入图片描述
打开9870 Interface Interrupt (FPGA).vi修改为9871的对应端口
在这里插入图片描述
修改好以后编译FPGA程序,这里FPGA程序执行所请求的动作后,将IRQ 1设置为向主机VI发出信号,表明FPGA已准备好进行下一次操作。在这里插入图片描述
打开Serial Loopback Interrupt (Host).vi进行修改,把两次write中间增加约100ms的延时,将发送格式转为16进制。

配置FPGA VI引用,选择之前编译好的FPGA程序并绑定引用至自定义类型 用来将FPGA VI引用作为接口。
在这里插入图片描述

在这里插入图片描述
运行Host程序,电机即可正反转。

FPGA模式-DMA模式

步骤同前类似,修改9870 Interface DMA (FPGA).vi为9871的对应端口
在这里插入图片描述
这里新建两个FIFO ,READ_FIFO用于从Target to Host,WRITE_FIFO用于从 Host to Target 。

写入时,主机将要写入字节先传入WRITE_FIFO然后再给9871的写入字节方法。

读取时,将9871读取的字节传入READ_FIFO,再传给主机。

打开Serial Loopback DMA (Host).vi同样进行修改,把两次write中间增加约100ms的延时,将发送格式转为16进制。
在这里插入图片描述

运行Host程序,电机即可正反转。

参考

在扫描模式下发现,配置NI 987x模块并与之通信
NI 9871 (Scan Interface)
NI 9871 (FPGA Interface)
C Series Serial Module Error Codes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/415558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

字节面试问题

实现三列布局的方法 第一种&#xff1a;可以使用浮动margin 第二种&#xff1a;浮动BFC <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…

向日葵、Todesk、teamviewer等工具远程连接电脑时第三方应用显示白屏

问题描述&#xff1a;用向日葵远程等桌面时&#xff0c;当把显示器断电或者就没有显示器时或者笔记本盖子合住时&#xff0c;第三方软件显示白屏或显示不出来的问题。 原因&#xff1a;某些显卡在断开屏幕时自动降为低功耗模式。 解决 1、下载工具 https://www.amyuni.com/d…

前后端依赖下载上传

在某些情况下&#xff0c;可能需要在没有互联网连接的环境中进行构建或部署。通过提前下载所有依赖&#xff0c;你可以将它们保存在本地&#xff0c;然后在没有网络连接时使用&#xff0c;提高构建或部署的效率。 前端下载依赖 脚本getTzgUrl.js const { readFileSync, writ…

深度学习PyTorch 之 RNN-中文多分类

关于RNN的理论部分我们已经在前面介绍过&#xff0c;所以这里直接上代码 1、 数据部分 1.1 读取数据 # 加载数据 data_path ./data/news.csv data pd.read_csv(data_path)# 预览数据的前几行 data.head()数据是csv格式&#xff0c;只有两列&#xff0c;第一列是标签&#…

基于springboot+vue的城镇保障性住房管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

大工程 从0到1 数据治理 之数据模型和设计篇(sample database classicmodels _No.7)

大工程 从0到1 数据治理 之数据模型和设计篇 我这里还是sample database classicmodels为案列&#xff0c;可以下载&#xff0c;我看 网上还没有类似的 案列&#xff0c;那就 从 0-1开始吧&#xff01; 文章目录 大工程 从0到1 数据治理 之数据模型和设计篇什么是数据模型设计…

【Java程序设计】【C00321】基于Springboot的在线租房和招聘平台(有论文)

基于Springboot的在线租房和招聘平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的在线租房和招聘平台&#xff0c;本系统有管理员、用户、房东以及公司四种角色&#xff1b; 管理员&#xff1a;首页、个人中心…

使用pytorch实现一个线性回归训练函数

使用sklearn.dataset 的make_regression创建用于线性回归的数据集 def create_dataset():x, y, coef make_regression(n_samples100, noise10, coefTrue, bias14.5, n_features1, random_state0)return torch.tensor(x), torch.tensor(y), coef 加载数据集&#xff0c;并拆分…

蓝桥杯_中断系统

一 中断 中断&#xff0c;即cpu暂停执行当前程序&#xff0c;转而执行另外一段特殊程序&#xff0c;处理结束后。返回之前暂停程序继续执行。 中断向量&#xff0c;中断服务程序的入口地址&#xff0c;每个中断源都对应一个固定的入口地址。 中断服务函数&#xff0c;内核响应中…

仿牛客网项目---用户注册登录功能的实现

从今天开始我们来写一个新项目&#xff0c;这个项目是一个完整的校园论坛的项目。主要功能模块&#xff1a;用户登录注册&#xff0c;帖子发布和热帖排行&#xff0c;点赞关注&#xff0c;发送私信&#xff0c;消息通知&#xff0c;社区搜索等。这篇文章我们先试着写一下用户的…

重拾前端基础知识:HTML

重拾前端基础知识&#xff1a;HTML 前言HTML编辑器标签锚链接 id和class表单Iframe字符实体HTML CSSHTML JavaScriptHTML 统一资源定位器(Uniform Resource Locators)XHTMLHTML5新的语义化元素视频和音频支持Canvas绘图本地存储表单增强Web Workers地理定位Web存储伸缩矢量图形…

《TCP/IP详解 卷一》第10章 UDP和IP分片

目录 10.1 引言 10.2 UDP 头部 10.3 UDP校验和 10.4 例子 10.5 UDP 和 IPv6 10.6 UDP-Lite 10.7 IP分片 10.7.1 例子&#xff1a;IPV4 UDP分片 10.7.2 重组超时 10.8 采用UDP的路径MTU发现 10.9 IP分片和ARP/ND之间的交互 10.10 最大UDP数据报长度 10.11 UDP服务器…

2024深度学习主流框架对比

tensorFlow 是最受欢迎和广泛使用的深度学习框架之一&#xff0c;目前在github的start数为181k。 TensorFlow是一个由Google Brain团队开发的开源深度学习框架。它允许开发者创建多种机器学习模型&#xff0c;包括卷积神经网络、循环神经网络和深度神经网络等&#xff0c;该框架…

全国产飞腾E2000Q +复旦微FPGA的轨道交通、电力解决方案

产品概述 ITX-XMF201是一款高性能边缘计算网关主板&#xff0c;采用飞腾E2000Q 4核处理器&#xff0c;国产化率达到95%国产化。 板载2电口&#xff0c;2路CAN&#xff0c;6路RS232接口&#xff0c;1路RS485接口&#xff0c;16路GPIO&#xff0c;可以满足银行、轨道交通、电力等…

【ArcGIS Pro二次开发】(83):ProWindow和WPF的一些技巧

在ArcGIS Pro二次开发中&#xff0c;SDK提供了一种工具界面【ArcGIS Pro ProWindow】。 关于ProWindow的用法&#xff0c;之前写过一篇基础的教程&#xff1a; 【ArcGIS Pro二次开发】(13)&#xff1a;ProWindow的用法_arcgispro二次开发教程-CSDN博客 主要是对几个常用控件…

Java开发的核心模式 - MVC

文章目录 1、MVC设计模式2、Web开发本质3、服务器的性能瓶颈 1、MVC设计模式 MVC设计模式示意图 在整个Java学习之旅中&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;设计模式无疑占据着极其重要的地位&#xff0c;堪称理解和掌握Java项目开发精髓的钥匙。如…

【Python】Python实现串口通信(Python+Stm32)

&#x1f389;欢迎来到Python专栏~Python实现串口通信 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望…

3D数字孪生

数字孪生&#xff08;Digital Twin&#xff09;是物理对象、流程或系统的虚拟复制品&#xff0c;用于监控、分析和优化现实世界的对应物。 这些数字孪生在制造、工程和城市规划等领域变得越来越重要&#xff0c;因为它们使我们能够在现实世界中实施改变之前模拟和测试不同的场景…

Spring 类型转换、数值绑定与验证(三)— Formatting 与 Validation

1 Formatting 在Spring中用于格式化数据及根据地域展示不同格式的数据。 图 Formatting接口 UML 1.1 注解驱动Formatting 自定义像“DateTimeFormat”注解来对相关字段格式化的步骤为&#xff1a; 自定义注解。定义一个实现AnnotationFormatterFactory接口的工厂类。往容器…

H3C OSPF Stub特殊区域+认证实验

H3C OSPF Stub特殊区域认证实验 实验拓扑 ​​ 实验需求 按照图示配置 IP 地址&#xff0c;所有路由器配置环回口 IP 地址为 X.X.X.X/32​ 作为 Router-id&#xff0c;X 为设备编号&#xff08;R5 除外&#xff09;按照图示分区域配置 OSPFR1 上配置默认路由&#xff0c;指…