【数控系统】第十章 数控仿真软件

该文章已生成可运行项目,

受 RTSys:自主自研、简单易用的运动控制集成开发平台(上) 这篇文章的启发,决定制作一个简易的仿真软件。

一、仿真软件需求

仿真软件主要有四个功能:

1、支持HMI组态界面,可以选择NC文件,支持手动、自动,回零、轨迹监控等。

2、支持三维动画显示和交互,可以模拟真实数控机床,对面板进行操作。

3、支持数据采集和绘制,显示加速度、速度、路径等曲线。

4、支持硬件仿真,提供控制器输入开关状态切换及输出状态监控。

二、开发方案设计

1、首先考虑编程语言和图形界面框架

工控软件常见的开发方式有 WPF(C#)、QT(C++)、PyQt(python),由于此前做过上位机软件开发,最熟悉的是 Winform 和 WPF。另外是考虑到后期要制作数字孪生的功能,之前使用过 WPF 制作 3D可视化软件,也使用过 Unity 制作数字孪生。如果是使用 C++,可以使用虚幻引擎来制作。

2、其次考虑性能与跨平台

软件需求是实现数控系统过程数据的可视化,并不要求对加工数据的精确且实时显示,允许有一定的滞后,因此对实时性和平台的需求不是很大。

3、另外考虑混合编程

由于运动控制部分采用 C 和 C++ 混合编程,如果使用 WPF 和 QT 开发便会简单一些。同时要考虑两个进程之间的通信方式,可能会采用共享内存或消息队列的方式。

4、最后考虑我的心情 👻

相较于常规的工控软件,网页端界面的美观和便捷程度要远远超出前者,因此更倾向于采用 JavaScipt 和 vue 来开发。一是页面开发的样式十分好看,二是 threejs 可以实现 3D 模型交互效果,三是有开发经验不用花时间学习。

开发方案采用 Vue 制作交互界面,使用 threejs 3D 库实现数控加工仿真,通过 websocket 和 zmq 消息队列实实时运控系统和界面的数据收发。

三、仿真软件界面

四、联合调试

完成可视化界面的开发后,来尝试一下仿真软件和运控系统之间的联调效果吧。

首先开启通信,启动运动控制软件和仿真软件,实现两者的数据交互。在仿真软件上点击开始自动加工,通过中转站发送到运控系统,运控将运动的过程数据回传到仿真软件,并通过可视化界面动态展示。

插补路径
sin型速度曲线

仿真软件的效果还是很不错的,目前仍有很多功能还需完善。第一步的工作还是很满意的,接下来打算制作一个桌面级的“数控机床“,我希望是一个非常小巧的迷你机床🤖~

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值