LabVIEW-Solidworks联合仿真

news2024/9/23 7:25:34

介绍

在这里插入图片描述

NI Softmotion介绍

LabVIEW NI SoftMotion 采用高级功能块API (应用程序接口) 便于编写运动程序,该功能块API基于由PLCopen 定义的 Motion Control Library 。SoftMotion 包括用于直线、弧线和轮廓运动的功能块及用于进行电子传动、电子凸轮等高级运行的功能块。该模块还具有设计定制运动的高级功能,如轨迹生成、样条插值、位置速度控制及编码等。

使用LabVIEW NI SoftMotion模块和基于实时或FPGA的系统,例如NI CompactRIO,创建独立的运动控制系统,或使用NI Motion Assistant和基于DSP的插入式运动控制板卡交互式地建立运动控制应用程序的原型

LabVIEW NI SoftMotion 能够与CompactRIO 无缝集成,更好地实现高级运动控制。使用C 系列新款驱动接口模块,可以充分利用CompactRIO 的优势来实现FPGA 编程自动化,在实际应用中融合FPGA 的可靠性,同步性及高速控制等优点。另外,若想使用第三方硬件,LabVIEW NI SoftMotion 还可运行于定制轴。

C系列新款驱动接口模块直接与伺服和步进驱动设备连接,易于将新型或现有电机及驱动器集成到运动系统当中。其中,NI 9512 模块可连接步进电机及其驱动器,而NI 9514、NI 9516 模块分别具有单个和两个反馈编码器,具有与伺服电机及其驱动器相连的接口。由于运动控制计算过程紧密,驱动接口模块可实现板上计算,从而释放了系统计算能力,提高了性能。而且,驱动接口模块配套使用了NI 9144 确定性以太网扩展机箱(具有两个以太网端口),可凭借CompactRIO、NI 3100 工业用控制器及实时PXI 控制器组成菊花链式多机箱系统完成分布式运动控制。

用于NI SoftMotion函数模块的API是非阻塞、异步的API,可以用来与您的运动控制硬件进行通信。

SoftMotion for SolidWorks介绍

NI SoftMotion for SolidWorks 能够使机械,电气和控制工程师们合作创造一个运动控制系统的虚拟原型,其融合了机械仿真,运动控制软件和传感器反馈。

SoftMotion for SolidWorks的LabVIEW NI SoftMotion模块的典型应用包括:

运动轨迹设计您可以使用电子齿轮和凸轮来构建复杂的运动轮廓,其中包含一系列顺序或并发的运动操作,这些操作由多轴直线运动,轮廓运动,弧形运动甚至复杂运动组成。

可视化 通过使用在LabVIEW中设计的运动控制配置文件和时序/定序逻辑对3D SolidWorks装配体进行动画处理,可以快速评估机器总体概念设计的可行性。将工作机器可视化为虚拟原型有助于在开发的早期就验证机器的总体概念设计。这样可以促进与客户以及设计团队成员之间更好的沟通,并有助于封闭设计要求,必备功能和工程设计之间的循环。

碰撞检测使用SolidWorks中的碰撞检测功能,您可以使用实际的3D CAD模型来验证运动轮廓设计。您可以检查干扰,评估是否需要互锁控制逻辑以防止发生碰撞,优化运动曲线以最大程度地减少不必要的停滞时间,快速评估假设情况,安全地测试新的控制系统逻辑而不会损坏物理机器。在将机器设计,原型化并部署到现场后,还可以使用碰撞检测来验证新的运动曲线,然后再将其下载到在客户现场运行的机器上。这样可以减少由于编程错误而导致计划外停机的风险。

吞吐时间研究 通过使用包括实际运动曲线约束和机器机械动力学(例如质量和摩擦)在内的仿真来验证运动系统设计,可以准确地计算出机器的循环时间吞吐量。

电动机,驱动器和传动装置的尺寸 电动机扭矩和速度要求取决于运动曲线的加速特性以及有效载荷和传动装置组件(例如丝杠)的机械动力学。使用NI SoftMotion for SolidWorks,您可以为运动曲线计算所需的电动机转矩和速度图表。

环境

  • LabVIEW 2018(32位);
  • LabVIEW SoftMotion 2018;
  • Solidworks 2021;
  • 无cRIO电机等硬件;

例程测试

启动SolidWorks并从D:\Program Files (x86)\National Instruments\LabVIEW 2018\examples\motion\SolidWorks\SolidWorks Files目录中打开Sorting Machine.SLDASM文件。

打开模型后,导航至选项-插件,并确保SolidWorks Motion和SolidWorks Simulation插件处于活动状态,打勾。

选择左下角的“ Motion Study 1”选项卡,并确保将“ Motion Study”类型下拉菜单设置为“ Motion 分析”。如果不是,会报下面的错误。
在这里插入图片描述

在这里插入图片描述

添加装配体
打开一个空的LabVIEW项目,然后在LabVIEW Project Explorer窗口中右键单击我的电脑,然后从快捷菜单中选择新建»SolidWorks装配体,以打开从装配体文件导入SolidWorks电机对话框。

选择SolidWorks装配体以添加到LabVIEW项目。如果当前打开了SolidWorks装配体,则从装配体文件输入轴对话框将包含该装配体的路径。如有必要,请单击浏览以选择其他程序集文件。

单击确定。选定的SolidWorks装配体将添加到“项目资源管理器”窗口中,包括SolidWorks运动算例中包含的所有电机。

添加轴
要使用模型中随附的SolidWorks电机进行仿真,您需要将电机与NI SoftMotion轴关联。使用NI SoftMotion功能块创建运动曲线时,将使用NI SoftMotion轴。完成以下步骤,将NI SoftMotion轴添加到项目中:

1.右键单击项目浏览器窗口中的我的电脑,然后从快捷菜单中选择新建»NI SoftMotion Axis以打开轴管理器对话框。
在这里插入图片描述

2.选择添加新轴,新轴将自动绑定到可用的SolidWorks电动机。
在这里插入图片描述
3.单击添加新轴,直到所有可用的SolidWorks电机都与NI SoftMotion轴相关联。

4.双击每个轴的轴名称,以更描述性地重命名该轴(例如,传送带,转台,X轴,Y轴)。

5.单击确定。所有轴均添加到Project Explorer窗口中,如图所示。
在这里插入图片描述
向项目添加坐标(可选)
您可以将NI SoftMotion轴分组为坐标空间,以便可以同时使用多个轴执行坐标移动。执行坐标移动时,将坐标空间用作运动应用程序的输入。

完成以下步骤以向项目添加坐标空间:

1.在“项目资源管理器”窗口中右键单击“我的电脑”,然后从快捷菜单中选择“新建»SoftMotion Coordinate Space… ”,以打开“配置坐标空间”对话框,如图所示。
在这里插入图片描述

2.使用箭头将X轴和Y轴从“可用轴”列移动到“坐标轴”列,如图5所示。如果需要,双击坐标空间名称以重命名坐标空间并为其指定一个描述性名称。
在这里插入图片描述
3.单击“确定”关闭“配置坐标空间”对话框,然后将新的坐标空间添加到LabVIEW项目中。现在,您的项目已经设置了应用程序所需的轴和坐标空间。

配置轴
与SolidWorks电动机关联的轴被假定为伺服电动机。由于轴与实际的硬件无关,因此您只需执行最少的配置即可上手。设置好仿真后,您可以更改轴上的配置设置,以便使用您创建的配置文件将其轻松部署到最终硬件上。完成X轴和Y轴的以下步骤以配置要在仿真中使用的轴:

1.在“项目资源管理器”窗口中右键单击轴,然后从快捷菜单中选择“属性”以打开“轴配置”对话框。图显示了SolidWorks轴的“轴配置”对话框的各部分。不适用于您的配置的项目显示为灰色。
在这里插入图片描述

2.在“轴配置”页面上,确认“轴已启用”(Axis Enabled)和“在过渡到活动模式时启用驱动器”(Enable Drive on Transition to Active Mode)复选框包含复选标记。当NI扫描引擎切换到活动模式时,这将自动激活所有轴。(您也可以在VI中使用Power功能块来激活和启用轴。)

3.单击“确定”关闭“轴配置”对话框。确保对X轴和Y轴SoftMotion轴均执行步骤1-3。

建立动作设定档并执行模拟

您可以使用NI SoftMotion»高级»功能块面板上的NI SoftMotion功能块为SolidWorks装配创建仿真运动轮廓。使用这些功能块,您可以执行直线运动,圆弧运动,轮廓运动,齿轮和凸轮操作,以及读取状态和数据信息。

运行和停止仿真
部署项目并运行VI将使用您创建的移动配置文件启动SolidWorks仿真。完成以下步骤,以部署和运行VI并启动SolidWorks仿真:

1.在“项目资源管理器”窗口中右键单击“我的电脑”项,然后选择“属性”以显示“我的电脑属性”对话框。

2.从“类别”列表中选择“扫描引擎”,然后在“在部署时启动扫描引擎”复选框中打勾。
在这里插入图片描述

3.单击“确定”关闭“我的电脑属性”对话框。

4.在“项目资源管理器”窗口中选择“我的电脑”,SolidWorks装配体,轴和坐标项,右键单击并从快捷菜单中选择“部署”。LabVIEW将部署VI使用的所有相关I / O资源和设置,将NI Scan Engine切换至活动模式,并启动SolidWorks仿真。如果显示任何冲突解决方案,请选择“应用”。为确保仿真正确部署,请始终部署NI SoftMotion轴,而不仅要部署“我的电脑”项。

5.在“项目资源管理器”窗口中右键单击SolidWorks装配体,然后选择同步到装配体…。

6.在“项目资源管理器”窗口中右键单击SolidWorks装配体,然后选择开始模拟以在SolidWorks中开始运动模拟。

7.运行VI。按下执行控件,LabVIEW将开始执行您创建的移动配置文件。对于后续的模拟,您可能需要通过选择实用程序»扫描引擎模式»切换到活动来手动切换到活动模式,因为扫描引擎必须处于活动模式才能与SolidWorks交互。

8.要停止仿真,请先停止VI。然后,在“项目资源管理器”窗口中右键单击SolidWorks装配体,然后选择“停止模拟”以停止SolidWorks中的运动模拟。

9.保存您创建的SolidWorks模型,LabVIEW项目和LabVIEW VI,以应用所做的任何更改。

下图 是测试了XY联合坐标系移动的测试,输入position触发execute上升沿后,可以看到龙门在同步运动。也可以测试单轴也多个轴。

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

自定义测试

在Solidwoks中自定义一个简单的装配体,包括一个平移副和一个旋转副;

分别在motion中添加一个直线马达和一个旋转马达:
在这里插入图片描述
在这里插入图片描述
仿真验证。
在这里插入图片描述
同上面的步骤,首先导入装配体:
在这里插入图片描述
添加轴:
在这里插入图片描述
部署:
在这里插入图片描述
在这里插入图片描述

若出错:
在这里插入图片描述
在装配体属性中修改最大步长:
在这里插入图片描述
同步到装配体:
在这里插入图片描述
开始仿真:
在这里插入图片描述
可以看到在Excute上升沿触发时,移动副和旋转副会同步运动;
在这里插入图片描述
在这里插入图片描述

总结

因为这次没有使用cRIO等硬件,所以算是软件在环仿真,也就是离线仿真。如果接上cRIO和电机,就算是在线仿真了。

虽然还算不上数字孪生,不过接上硬件把编码器实时传给模型,也算是一种单方向的数字孪生了(个人理解),毕竟功能有限。

参考

https://mp.weixin.qq.com/s/LX3I9pTu828UDk8tXZjdGw

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle 的删除

前言 最近在工作中需要将一台电脑上的 Oracle ,删除 Oracle 与删除 MySQL 不太一样,删除 Oracle 还需要删除注册表中的内容,不然重新安装的时候会报错。 关闭服务 win r 开启运行窗口,输入 services.msc 打开服务列表。 将 O…

【Redis故障排查】「连接失败问题排查和解决」带你深入分析一下Redis阻塞原因以及问题排查方案指南

Redis阻塞原因以及问题排查 尽管我们在日常工作中经常使用Redis作为数据库的缓存,以大大减轻数据库压力并提升用户体验,但Redis也可能出现阻塞情况,导致整个系统变慢,进而影响用户体验。 因此,在面对Redis阻塞的情况…

傅里叶变换通俗理解,附python代码

傅里叶变换可以简单理解为用一系列三角函数去拟合一个目标函数。为什么可以用三角函数拟合?因为三角函数 是一组正交基。 先来回顾一下正交的概念,在二维平面坐标系中,与这两个单位向量,正交(内积为0,相互…

单机模型并行最佳实践

单机模型并行最佳实践 模型并行在分布式训练技术中被广泛使用。 先前的帖子已经解释了如何使用DataParallel在多个 GPU 上训练神经网络; 此功能将相同的模型复制到所有 GPU,其中每个 GPU 消耗输入数据的不同分区。 尽管它可以极大地加快训练过程&#x…

MySQL的基本操作及实用示例(面试真题老实用了)

一、MySQL基本操作 常用语句 MySQL是一个常用的关系型数据库管理系统,可以用于存储和管理数据。下面是MySQL的一些基本操作: 1. 连接到MySQL服务器: mysql -u username -p 其中,username是你的用户名,执行该命令后会…

【软件分析/静态分析】chapter5 课程07 过程间分析(Interprocedural Analysis)

🔗 课程链接:李樾老师和谭天老师的: 南京大学《软件分析》课程07(Interprocedural Analysis)_哔哩哔哩_bilibili 目录 第五章 过程间分析 5.1 为什么需要过程间分析 5.2 Call Graph 5.2.1 调用图的概念 5.2.2 调…

2023 年 GitHub 上最火的 Java 面试宝典正式上线

笔记特点:条理清晰,含图像化表示更加易懂。 内容概要:包括 Java 集合、JVM、多线程、并发编程、设计模式、Spring 全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Ne…

Vue实现拖拽鼠标圈选、划区域、框选组件sgRectSelect:矩形区域选中checkbox,并回调相关选中、取消选中的操作

边框线虚线动画效果请参阅边框虚线滚动动画特效_虚线滚动效果_你挚爱的强哥的博客-CSDN博客【代码】边框虚线滚动动画特效。_虚线滚动效果https://blog.csdn.net/qq_37860634/article/details/130507289 碰撞检测原理请前往 原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞…

车载以太网 - SomeIP - 协议用例 - RPC

目录 RPC Protocol specification 1、Cleint和Server端应该为一个服务实例的所有的Methodsevents使用一个TCP连接

AtCoder Regular Contest 163 C. Harmonic Mean(构造 补写法)

题目 t(t<500)组case&#xff0c; 给定一个数n(n<500)&#xff0c;构造一个长为n的数组 思路来源 官方题解 题解 注意到 ... 右边累加&#xff0c;等于1-最后一项&#xff0c;可以把最后一项挪到左边 所以&#xff0c; 1. 当n没有在前面的序列里出现过时&#xf…

centos7.6安装mysql

卸载mariadb 解决安装mysql与mariadb冲突问题&#xff08;卸载干净mariadb&#xff09;_何妨徐行的博客-CSDN博客 安装rpm包前可能需要的命令&#xff1a; yum install openssl-devel用于管理rpm包的工具 yum install lrzsz -y 文件传输缺乏rz 下载安装包 去mysql官网 把…

<Linux开发>驱动开发 -之- Linux I2C 驱动

&#xff1c;Linux开发&#xff1e;驱动开发 -之- Linux I2C 驱动 交叉编译环境搭建&#xff1a; &#xff1c;Linux开发&#xff1e; linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下&#xff1a; &#xff1c;Linux开发&#xff1e; -之-系统移植 uboot移植过程详细…

[MMDetection]VOC数据格式转为COCO数据格式

以下脚本可以根据创建VOC格式数据集转换为COCO数据集 其中文件组织格式如下 VOC2007 ------Annotations ------***********.xml ------***********.xml -------ImageSets ------train.txt ------test.txt -------JPEGImages ------***********.jpg ------***********.jpg CO…

【Spring】SpringBoot参数验证10个技巧

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 前言 1.使用验证注解 2 使用自定义验证注解 3 在服务器端验证 4 提供有意义的错误信息 5 将 i18n 用于错误消息 6 使用分组验证 7 对复杂逻辑使用跨域验证 8 对验证错误使…

通过smtp发送邮件及执行异常解决

在日常中遇到了需要实现一个发送邮件的需求&#xff0c;完成之后记录下实现方法及自己遇到的一些问题及解决办法。 常用SMTP服务相关地址及端口 一、通过javax.mail实现发送邮件 1.引入相关坐标 <!-- 发送邮件--><dependency><groupId>org.projec…

矩阵系统源码智能回复私信场景开发

抖音矩阵系统源码智能回复私信场景开发 一、要想开发私信功能开发者需要准备的工作 开发者需要先对接官方api接口以及去申请api提交审核&#xff0c;目前需要了解官方对开发者对该能力开发权限的功能符合开发需求&#xff0c;其次需要了解官方私信触达的规则 1.申请流程&…

基于GPT构建单细胞多组学基础模型

生成式预训练模型在自然语言处理和计算机视觉等各个领域取得了显著的成功。特别是将大规模多样化的数据集与预训练的Transformer相结合&#xff0c;已经成为开发基础模型的一种有前途的方法。文本由单词组成&#xff0c;细胞可以通过基因进行表征。这种类比启发作者探索细胞和基…

Lingo优化软件初步

一、Lingo软件介绍 1、lingo软件的简单介绍 美国芝加哥大学的Linus Schrage教授于1980年左右开发的专门用于求解最优化问题的软件包&#xff0c;后经多年完善与扩充&#xff0c;并成立了LINDO系统公司进行商业运作取得巨大成功。根据 LINDO公司主页&#xff08;http://www.li…

分布式监控系统之zabbix6.0二

分布式监控系统之zabbix6.0二 一、部署 zabbix 代理服务器二、部署 Zabbix 高可用集群三、Zabbix 监控 Windows 系统四、Zabbix 监控 java 应用五、Zabbix 监控 SNMP 一、部署 zabbix 代理服务器 分布式监控的作用&#xff1a; 分担 server 的集中式压力解决多机房之间的网络…

暑假第4天打卡

Java: &#xff08;1&#xff09;标识符命名规范&#xff1a; > 包名&#xff1a;多单词组成时所有字母都小写&#xff1a;xxxyyyzzz。 例如&#xff1a;java.lang、com.atguigu.bean > 类名、接口名&#xff1a;多单词组成时&#xff0c;所有单词的首字母大写&#xf…