分享

数控机床领域的软件系统!开源啦!

 西北望msm66g9f 2024-04-23 发布于江苏

每天介绍github上最宝贵的项目:  数控机床领域的软件系统!开源啦!

cncjs

源代码

http://www./snakefamer/cncjs-cn

基于 Web 的 CNC 铣削控制器界面,运行GrblSmoothieware或TinyG。它在安装了 Node.js 的Raspberry Pi或笔记本电脑上运行,使用 USB 串行端口、蓝牙串行模块或串行转 WiFi 模块(如 XBee 或 USR)通过串行连接连接到Arduino 。WIFI232-T。

图片

CNC背景介绍

 CNC控制器是数控机床的核心部分,它负责接收来自计算机或PLC的指令,控制机床进行各种加工操作。

CNC控制器通过解析加工程序,控制机床的各个轴运动、刀具进给、主轴转速等参数,实现对工件的加工。

图片

CNC控制器的主要功能如下

1. 接收加工程序:CNC控制器接收来自编程人员编写的加工程序,加工程序包含了加工过程中所需的全部信息,如加工路径、速度、刀具补偿、进给速度等。

2. 解析加工程序:CNC控制器对接收到的加工程序进行解析,生成相应的控制指令。

3. 控制机床运动:根据生成的控制指令,CNC控制器驱动机床各轴的运动,实现刀具与工件之间的相对运动。

4. 控制刀具切削力:CNC控制器根据加工程序中的刀具补偿信息,调节刀具的切削力,以保证加工质量。

5. 监控机床运行状态:CNC控制器实时监控机床的运行状态,如刀具磨损、工件尺寸等,并通过反馈系统对加工过程进行调整。

6. 与人机交互:CNC控制器通过显示屏、键盘等设备,与操作人员进行交互,实现对加工过程的实时监控和调整。

7. 与其他设备通信:CNC控制器可以与其他设备(如PLC、上位机等)进行通信,实现协同控制。

现代CNC控制器普遍采用嵌入式系统或通用计算机作为硬件平台,运行相应的数控系统软件。随着技术的不断发展,CNC控制器的性能也在不断提高,如更高的运算速度、更大的存储容量、更完善的故障诊断功能等。这使得CNC控制器在各种加工场合的应用越来越广泛,成为现代制造业的重要支柱。

2、  Grbl 开源  CNC 铣削控制器

源代码

http://www./snakefamer/grbl-cn

 Grbl 是一款开源、嵌入式、高性能的 G 代码解析器和 CNC 铣削控制器,采用优化的 C 语言编写,可直接在 Arduino 上运行。它为制造商提供了一种低成本、高性能的 CNC 解决方案,广泛应用于各种嵌入式设备和机器人项目中。

Grbl 的特点包括:

1. 开源:Grbl 遵循开源协议,允许用户自由使用、修改和分享源代码,有助于推动 CNC 技术的发展和创新。

2. 嵌入式:Grbl 设计为嵌入式系统,可以轻松集成到各种 CNC 设备中,如 3D 打印机、激光切割机、钻孔机等。

3. 高性能:Grbl 采用了优化的 C 语言编写,具有较高的运行速度和稳定性,可在较短的时间内完成复杂的 CNC 加工任务。

4. 跨平台:Grbl 支持多种操作系统,如 Windows、Linux、macOS 等,可用于各种硬件平台,如 Arduino、Raspberry Pi 等。

5. 易于配置:Grbl 提供了详细的配置选项,用户可根据实际需求进行调整,如步进电机速度、加速度、插补精度等。

6. 社区支持:Grbl 有一个活跃的开源社区,用户可以在社区中获取技术支持、分享经验和解决问题。

总之,Grbl 作为一款开源、嵌入式、高性能的 G 代码解析器和 CNC 铣削控制器,为制造商和开发者提供了一种灵活、高效、低成本的 CNC 解决方案。

源代码:

http://www./snakefamer/grbl-cn

3、 Smoothieware    C++ 编写的模块化、开源、高性能 G 代码解释器和 CNC 控制器

源代码

http://www./snakefamer/smoothieware-cn

 Smoothieware 是一款采用面向对象 C++ 编写的模块化、开源、高性能 G 代码解释器和 CNC 控制器。它专为 CNC 机床和机器人的控制而设计,具有高性能、稳定性、易用性等特点,广泛应用于各种 CNC 加工项目和机器人领域。

Smoothieware 的特点包括:

1. 面向对象:Smoothieware 使用面向对象的 C++ 编程风格,使代码更加模块化、易于理解和维护。

2. 开源:Smoothieware 遵循开源协议,允许用户自由使用、修改和分享源代码,有助于推动 CNC 技术的发展和创新。

3. 高性能:Smoothieware 针对 CNC 控制进行了性能优化,可实现高速、高精度的加工任务。

4. 模块化:Smoothieware 采用模块化设计,用户可以根据实际需求选择和使用相应的模块,如插补、限位、手轮控制等。

5. 易用性:Smoothieware 提供了简洁的配置界面和丰富的文档,用户可以轻松地进行参数设置和故障排查。

6. 跨平台:Smoothieware 支持多种操作系统,如 Windows、Linux、macOS 等,可用于各种硬件平台,如 Arduino、Raspberry Pi 等。

7. 社区支持:Smoothieware 有一个活跃的开源社区,用户可以在社区中获取技术支持、分享经验和解决问题。

快速开始

以下是在计算机上安装 Smoothie 依赖项的快速步骤:

  • 将 Smoothie github 项目的克隆下载到本地计算机。

  • 在克隆的 Smoothie 项目的根子目录中,有支持平台的安装脚本。运行适合您平台的安装脚本:

    • Windows:win_install.cmd

    • OS X:mac_install

    • Linux:linux_install

  • 然后,您可以运行安装期间创建的 BuildShell 脚本,以正确配置 PATH 环境变量,使其指向刚刚安装在您的计算机上的 GCC for ARM 所需版本。您可能需要编辑此脚本以进一步自定义您的开发环境。

总之,Smoothieware 作为一款面向对象、模块化、开源、高性能的 G 代码解释器和 CNC 控制器,为 CNC 制造商和开发者提供了一种灵活、高效、易于使用的解决方案。

图片

硬件部分:数控机床的硬件核心部分包括以下几个方面:

1. 数控装置:数控装置是数控机床的核心,包括硬件(如印刷电路板、CRT显示器、键盒、纸带阅读机等)以及相应的软件。数控装置负责接收和处理数字化的零件程序,完成输入信息的存储、数据变换、插补运算以及实现各种控制功能。

2. 驱动装置:驱动装置是数控机床执行机构的驱动部件,包括主轴驱动单元、进给单元、主轴电机及进给电机等。在数控装置的控制下,通过电气或电液伺服系统实现主轴和进给驱动。

3. 主机:主机是数控机床的主体,包括机床身、立柱、主轴、进给机构等机械部件。主机用于完成各种切削加工的机械部件。

4. 辅助装置:辅助装置包括液压和气动装置、排屑装置、交换工作台、数控转台和数控分度头等。这些装置有助于保证数控机床的稳定运行,如冷却、排屑、润滑、照明、监测等。

5. 编程及其他附属设备:编程及其他附属设备可用于机外进行零件的程序编制、存储等。

6. 制造精度与自动化程度:制造精度和自动化程度是数控机床的重要指标,影响着加工质量和效率。高精度和高自动化水平的数控机床可以实现高速、高精度的加工,提高生产效率。

总之,数控机床的核心部分包括数控装置、驱动装置、主机、辅助装置、编程及其他附属设备以及制造精度与自动化程度等。这些部分相互配合,共同实现数控机床的高效、高精度加工功能。

软件部分:数控机床的软件部分主要包括以下几种类型:

1. 数控系统软件:数控系统软件是数控机床的核心软件,负责解析加工程序,控制机床运行。主要包括操作系统、插补算法、刀具补偿、通信接口等功能。

2. 编程软件:编程软件用于编写数控程序,输出给数控系统执行。常见的编程软件有Mastercam、UG Unigraphics等,它们集二维绘图、三维实体造型、曲面设计、数控编程等功能于一身。

3. CAD/CAM软件:CAD(计算机辅助设计)和CAM(计算机辅助制造)软件集成了设计、分析、工艺规划、数控编程等一系列生产活动的自动化处理。常见的CAD/CAM软件有UG NX、AutoCAD、SolidWorks等。

4. 仿真模拟软件:仿真模拟软件用于模拟数控机床的加工过程,验证程序的正确性。常见的仿真模拟软件有CNC Simulator Lite等。

5. 操作软件:操作软件负责数控机床的实时监控、参数设置、故障诊断等。常见的操作软件有Fanuc、Siemens等。

6. 辅助编程软件:辅助编程软件用于简化数控程序的编写,提高编程效率。如车削助手、铣削助手等。

7. 专用软件:针对特定行业和工艺需求的专用软件,如航空、航天、汽车、模具制造等行业。

综上所述,数控机床的软件部分包括数控系统软件、编程软件、CAD/CAM软件、仿真模拟软件、操作软件、辅助编程软件以及专用软件等。这些软件共同支持数控机床的高效、高精度加工。

解释清楚之后,用起来!

cncjs

基于 Web 的 CNC 铣削控制器界面,运行GrblSmoothieware或TinyG。它在安装了 Node.js 的Raspberry Pi或笔记本电脑上运行,使用 USB 串行端口、蓝牙串行模块或串行转 WiFi 模块(如 XBee 或 USR)通过串行连接连接到Arduino 。WIFI232-T。

图片

入门

Node.js 安装

建议使用 Node.js 4 或更高版本。您可以安装Node Version Manager来管理多个 Node.js 版本。如果您已git安装,只需克隆nvm存储库,然后查看最新版本:

git clone https://github.com/creationix/nvm.git ~/.nvm
cd ~/.nvm
git checkout `git describe --abbrev=0 --tags`
cd ..
. ~/.nvm/nvm.sh

将这些行添加到您的~/.bash_profile~/.bashrc~/.profile文件中,以便在登录时自动获取它:

export NVM_DIR='$HOME/.nvm'
[ -s '$NVM_DIR/nvm.sh' ] && . '$NVM_DIR/nvm.sh' # This loads nvm

安装后,您可以通过以下方式选择 Node.js 版本:

nvm install 4
nvm use 4

如果您使用的是 Node.js 4 或更早版本,建议您将 npm 升级到最新版本。要升级,请运行:

npm install npm@latest -g

安装

以非 root 用户身份安装 cncjs,否则串口模块可能无法在某些平台(如 Raspberry Pi)上正确安装。

npm install -g cncjs

如果您要使用 sudo 或 root 来安装 cncjs,则需要指定--unsafe-perm以 root 帐户运行 npm 的选项。

sudo npm install --unsafe-perm -g cncjs

建议您在 RPi2 或 RPi3 上运行Raspbian Jessie 。对于 Raspbian Wheezy,请务必在 npm install 之前安装 gcc/g++ 4.8

查看https://cnc./docs/installation/了解其他安装方法。

树莓派设置指南

由于 Node.js 应用程序的性能要求,我们建议您使用Raspberry Pi 3Raspberry Pi 2 。如果您要购买树莓派,请购买树莓派 3或最新型号。

推荐软件(适用于完整的网络 CNC 软件堆栈):

  • jscut(将 SVG 文件转换为 CNC 切割路径)

  • Kiri:Moto(将 3D 模型转换为 3D 网格 CNC 切割路径)

Raspberry Pi 安装:系统准备

在您的 Raspberry Pi 上安装 NOOBS 和 RASPBIAN

  • https://www./downloads/noobs/

配置树莓派

  • https://www./documentation/linux/usage/users.md

  • https://www./documentation/configuration/raspi-config.md

# Change User Passwords
sudo passwd pi
sudo passwd root

sudo raspi-config
# Change Timezone
# Change Hostname
# Change Boot Option: Boot to CLI (No GUI)

更新和升级系统

# Update System
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
# sudo rpi-update. # Update Raspberry Pi kernel and firmware, [is already done with 'apt-get update / upgrade'](github.com/cncjs/cncjs/issues/97)

# Install Build Essentials & GIT
sudo apt-get install -y build-essential git

# Install Useful Tools (Optional)
sudo apt-get install htop iotop nmon lsof screen -y

在此暂停!!!,决定使用哪种方法:

  • 通过包管理器安装 Node.js (推荐)

  • 通过节点版本管理器 (NVM) 安装 Node.js

  • 手动安装 Node.js

  • 附加配置选项

    • 无线设置


通过包管理器安装 Node.js

# Install Node.js via Package Manager & Add Package Source
curl -sL https://deb./setup_7.x | sudo -E bash - # Install NodeJS v7
sudo apt-get install -y nodejs # npm nodejs-legacy #(Installed with nodesource)

更新节点包管理器 (NPM)

# Update Node Package Manager (NPM)
sudo npm install npm@latest -g

# Get Version info
echo '[NPM] ============'; which npm; npm -v;
echo '[NODE] ============'; which node; node -v

### 首先安装 Node.JS 串行端口应用程序(可选) npm install serialport

安装 CNCjs

# Install Latest Release Version of CNCjs
sudo npm install -g cncjs@latest --unsafe-perm

#
--- OR ----

#
Install Specific Version of CNCjs
#sudo npm install -g cncjs@v1.9.0-beta.1 --unsafe-perm # Installs Specific Version based on TAG

安装生产流程管理器 [PM2]

# Install PM2
sudo npm install -g pm2

# Setup PM2 Startup Script
# sudo pm2 startup # To Start PM2 as root
pm2 startup # To start PM2 as pi / current user
#[PM2] You have to run this command as root. Execute the following command:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi

# Start CNCjs (on port 8000, /w Tinyweb mount point) with PM2
pm2 start $(which cncjs) -- --port 8000 -m /tinyweb:/home/pi/tinyweb

# Set current running apps to startup
pm2 save

# Get list of PM2 processes
pm2 list

iptables(允许从80端口访问8000端口)

# Iptables (allow access to port 8000 from port 80)
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8000

#
Make Iptables Persistent
sudo apt-get install iptables-persistent -y

#
How-to: Save & Reload Rules
#sudo netfilter-persistent save
#sudo netfilter-persistent reload

#
How-to: Manually Save Rules
#sudo sh -c 'iptables-save > /etc/iptables/rules.v4'
#sudo sh -c 'ip6tables-save > /etc/iptables/rules.v6'

#
Run this if issues to reconfigure iptables-persistent
# sudo dpkg-reconfigure iptables-persistent

重启测试

sudo reboot

成功!

还有windows桌面版本

桌面应用程序

图片

工作空间

小部件

图片

展示器小部件

该小部件可视化 G 代码文件并模拟刀具路径。

连接小部件

该小部件可让您建立与串行端口的连接。

轴小部件

该小部件显示 XYZ 位置。它包括点动控制、归零和轴归零。

控制台小部件

该小部件允许您向连接到串行端口的 CNC 控制器读取和写入数据。

G 代码小部件

该小部件显示 G 代码命令的当前状态。

GRBL小工具

此 Widet 显示 Grbl 状态并提供 Grbl 特定功能。

更多请参考文档

https://cnc./docs/user-guide/

这个项目也提供了 简体中文版

 全球数控机床产业格局呈现出以下特点:

1. 产业集中度高:全球数控机床产业主要集中在亚洲、欧盟和美洲三大区域。其中,中国、日本和德国是全球数控机床产业的主要生产国家。日本稳居数控机床世界第一宝座,2019年产业规模为479亿元。

2. 亚洲地区市场份额大:中国是全球数控机床产业的最大市场,近年来产业规模逐年增长。2019年,中国数控机床产业规模占比达到52%,位居全球第一。

3. 欧盟地区竞争力强:德国和日本在欧洲市场具有较强的竞争力,分别占据欧洲数控机床市场的主要份额。德国以高端数控机床见长,而日本则在数控金属切削机床领域占据优势。

4. 美洲地区市场稳定:美国作为数控机床的起源地,拥有较高的技术水平。尽管美国在全球市场份额不高,但其在高端数控机床领域具有较强竞争力。

5. 数控机床技术不断创新:随着信息技术的发展,数控机床技术不断革新。自动化、网络化、智能化成为数控机床发展的重要趋势。IT互联网技术开始全面融入数控机床产业,数控装置明显趋向小型化、自动化、网络化和智能化。

6. 市场竞争激烈:全球数控机床市场竞争格局加剧,各国企业纷纷加大研发投入,以提高产品性能和竞争力。尤其是在高端数控机床领域,竞争更为激烈。

总体而言,全球数控机床产业格局呈现出高度集中、区域竞争特点明显、技术创新不断、市场竞争激烈等特征。在未来,随着新兴市场国家技术水平的提升和需求的扩大,全球数控机床产业格局有望进一步调整。

图片

 全球知名的数控机床软件厂商有以下几家:

1. Mazak(马扎克):日本数控机床制造商,提供复合加工、五轴加工、铣削、车削、数控系统及自动化解决方案。

2. DMG MORI(DMG莫里):德国数控机床制造商,全球范围内提供数控车床、铣床、钻床、磨床等机床产品,以其卓越的质量和技术而享有盛誉。

3. TRUMPF(通快):德国数控机床制造商,工业生产机床和激光领域的市场和技术领导者,全球制造技术领域的知名企业。

4. AMADA(天田):日本数控机床制造商,全球著名机床制造商,专业从事数控冲床、折弯机、剪板机、激光切割机等钣金加工机械的大型跨国公司。

5. Okuma(大隈):日本数控机床制造商,主要从事龙门加工中心、数控车床、铣床、钻床等多种机床类型,以其高端技术和卓越品质而享有盛誉。

6. HAAS(哈斯):美国数控机床制造商,全球领先的数控机床品牌之一,产品线涵盖数控车床、铣床、钻床、加工中心等。

7. FANUC(法那科):日本知名数控机床品牌,主要生产数控车床、铣床、钻床、机器人等机器人智能装备,具有先进的技术和卓越的品质。

8. Siemens(西门子):德国数控机床制造商,提供高端数控系统和解决方案,广泛应用于各种机床和工业领域。

9. Heidenhain(海德汉):德国数控机床制造商,专注于数控系统和测量技术,为各类机床提供高性能的数控解决方案。

10. Schneeberger(申克):瑞士数控机床制造商,提供高精度、高效率的数控机床和解决方案。

以上是全球知名的数控机床软件厂商,他们凭借先进的技术、高品质的产品和良好的服务,在全球范围内拥有广泛的客户群。

数控机床领域的软件系统!开源啦!

1、cncjs

基于 Web 的 CNC 铣削控制器界面。

源代码

http://www./snakefamer/cncjs-cn

2、  Grbl 开源  CNC 铣削控制器

源代码

http://www./snakefamer/grbl-cn

3、 Smoothieware    C++ 编写的模块化、开源、高性能 G 代码解释器和 CNC 控制器

源代码

http://www./snakefamer/smoothieware-cn

数控机床领域都是大巨头,数控软件做得相当好。

这些开源项目是学习数控技术的好东东,学习起来吧

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多