编程

在控制器的注视下写 G 代码。

Studio 的程序编辑器直接连着孪生。每一行都有它实际用掉的时间,每个错误都有对应的规则和行号,每一处改动在碰到金属之前都能完整跑一遍。

Studio 1.2 · 程序工作区(Alt+3)

编辑器停在第 17 行的断点上,行号栏里是每行的秒数,旁边是程序检查。
编辑器停在第 17 行的断点上,行号栏里是每行的秒数,旁边是程序检查。
编辑器

控制器知道的一切,都写在那一行旁边。

基于 Scintilla(Notepad++ 和 SciTE 用的编辑组件),G 代码着色,行号栏由孪生来填。

行号栏里的用时

跑完一遍,每一行都显示它用了几秒。各行加起来正好等于总运行时间,各行去除的体积加起来也正好等于总量。

边写边检查

停止输入 0.4 秒后,控制器的检查模式和 15 条静态规则就把程序过一遍。发现的问题标在行号栏里,各带一个建议的改法。

光标处的状态

状态栏显示执行完光标所在行之后控制器的模态:单位、平面、绝对/增量、坐标系、进给、主轴、冷却、刀具。

断点与条件暂停

停在某一行,或在切削力、主轴负载、跟随误差、颤振裕度越过上限时停,或在第一刀、险些碰撞、快移切料、碰撞、报警时停。虚拟时间冻结,运动本身不受影响。

从某一行重新开始

Studio 为任意一行写出起始段:刀具、坐标系、主轴、冷却和安全的接近路径。示例 02 从第 460 行重新开始,加工出的工件与一次跑完完全相同。

版本与对比

载入或改动过的每个程序都存成一个版本,记着是谁、为什么改的;你自己的文件从不被覆盖。Ctrl+D 把两个版本并排对比,并写出各自的运行时间。

静态规则

十五条规则:控制器照样接受、却不该这样写的地方。

检查模式找出控制器会拒绝的行。这些规则找出它照样会执行的问题——以及这台机床根本做不到的写法。

S01警告第一条移动之前没有安全起始段(单位、绝对/增量、平面、坐标系):程序依赖控制器当时的状态。
S02警告结尾没有 M2/M30:控制器保留它的模态、主轴和冷却。
S03提示换刀(M6)时刀在 Z0 以下:先抬刀。
S04错误第一条切削移动之前没有 F:控制器拒绝(error:22),或沿用之前留下的进给。
S05警告主轴启动时没有 S,或 S 超出主轴的转速范围。
S06提示F 超过这个方向上轴的最高速度:规划器会按它限速。
S08提示很短的线段太密:规划器队列里的路程不够从 F 刹停,实际进给上不去。
S09提示直上直下的深插铣:考虑斜线或螺旋下刀,并用能中心切削的刀。
S10警告Z0 以下、比程序已经切过的还深的快移:快移切进材料会断刀。
S11错误控制器会拒绝的圆弧(error:33):半径与终点对不上。
S12警告水冷主轴在切削移动时转着,却没开冷却水(M8)。
S14警告主轴上的刀和设 Z 零点时的刀长度不同,第一刀之前又没量刀、没重设 Z0。
S15错误程序读 Fanuc 的系统变量(例如 G43 H#4120);这台控制器没有这些变量,读出来是 0。
S16错误G33 螺纹或 G33.1 刚性攻丝需要主轴编码器,MC-1 没有。
S17警告控制器会立刻执行的字符:注释里的 ! ~ ?,以及非 ASCII 文字的字节。
逐行统计

为什么比程序写的慢?

Studio 为每一行记下编程的进给有没有达到;没达到的,写出是什么拖住了它——用的是控制器自己的拐角与制动算法,不是估计。

轴速
进给超过这个方向上某个轴的最高速度
拐角
两段移动之间拐角处的衔接速度
圆弧
小半径上的向心加速度限制
前瞻
已规划的路程太短,来不及从这个进给刹停
发送不及
发送端没能让规划器的队列保持满
解析
控制器还在解析后面的行
倍率
进给倍率低于 100 %
保持
进给保持或程序暂停
一个型腔程序里最慢的十二行,按限制它们的原因上色——孪生画的图,这里是画给 AI 客户端的。
一个型腔程序里最慢的十二行,按限制它们的原因上色——孪生画的图,这里是画给 AI 客户端的。
优化器

更快,但不让任何一把刀多吃一点。

优化器改的是数,不是路径。每个候选结果都在一台全新的孪生上完整跑一遍,只有什么都没变差才被接受。

它改什么

  • 较轻的切削,进给提到同一把刀已经承受过的最重一刀
  • 空中的移动用轴的最高速度;精加工和下刀保持原样
  • 颤振的那一段换成稳定性叶瓣上的主轴转速,每齿进给保持不变
  • 共线的短线段合并;只有发送跟不上的地方才拟合成圆弧
  • 快速抬刀降到下面最高处以上 1 mm

什么时候接受

  • 完整跑完,没有新的事件:没有快移切料、没有主轴停转时切削、没有碰撞或险些碰撞
  • 切削力、切屑厚度和主轴负载不超过原程序最重一刀的 105 %
  • 颤振裕度不高于原程序的(或 1)
  • 零件不变差,运行时间更短
Ctrl+Shift+O:优化后的程序作为一次可撤销的编辑放进编辑器,与优化之前的版本并排,写着两次的运行时间。
Ctrl+Shift+O:优化后的程序作为一次可撤销的编辑放进编辑器,与优化之前的版本并排,写着两次的运行时间。
按特征

简单特征,一句话一个。

描述特征,而不是一行行写代码:CAM 按台上的毛坯写出程序,在孪生里试运行;刀会颤振的地方,换到稳定的主轴转速重写,或把那一层改浅。

  • 平面、型腔(带圆角的矩形或圆)、槽、轮廓(内或外)
  • 钻孔(G81,深于 3 倍直径时 G83 啄钻)、螺旋镗孔、单线字体刻字
  • 按材料(17 种)和刀具定转速与进给;斜坡下刀、顺铣、壁精加工到尺寸
生成器写出的型腔程序:切削参数写在注释里,按 Ctrl+K 就能载入并检查。
生成器写出的型腔程序:切削参数写在注释里,按 Ctrl+K 就能载入并检查。
CAM

整个零件:交给 Studio 的 CAM。

零件不止几个特征时,交给 CAM:图纸、文字和网格进去,型腔、轮廓、自适应清料、刻字和三维粗精加工出来——切削参数由孪生的物理估计,并在孪生里试跑过。

形状来自图纸或你的 AI

SVG、DXF 图纸,单线字或轮廓字,基本形和公式,以及三维加工用的网格(STL、OBJ、3MF、glTF)。

为这台机床算刀路

带岛的型腔(环切、自适应、往复)、带留桥的轮廓、摆线槽、孔与螺纹、刻字与 V 刻,以及三轴的三维粗加工和精加工。

切削参数来自物理模型

从材料和刀具出发,孪生按稳定性叶瓣选主轴转速,按颤振、主轴功率、夹具夹持力和刀具挠度限制每一层的切深;程序里写明理由。

上机之前先验证

默认每个程序都在孪生里跑完;颤振或超载的工序会重写,之后逐行调进给。CAM 在你的电脑上运行。

CAM 的详细介绍:CAM 页。

键盘操作

编辑器全程可以用键盘操作;F 键始终作用于机床,F1 是急停。

Alt+3程序工作区:程序库、编辑器、检查
Ctrl+K载入机床并检查
Ctrl+Shift+O优化
Ctrl+B在这一行设断点;Ctrl+Shift+B:条件暂停
Ctrl+D与保存的版本对比
Ctrl+.采用建议的改法
F5循环启动,或暂停后继续
F1急停,在任何工作区都有效

FAQ

优化器会改我的文件吗?

不会。结果作为一次可撤销的编辑放进编辑器,与优化之前的版本并排;两个都存成版本。你自己的文件从不被覆盖。

编辑器能用来看 CAM 输出的程序吗?

能。打开任何 G 代码文件;检查和规则会告诉你哪些行这台控制器会拒绝,或者执行起来和你想的不一样。

生成器去哪了?

它现在是进入 CAM 最快的一条路:描述简单特征,CAM 写出程序、检查并验证。整个零件请用 CAM 工作区,或交给你的 AI 助手。

省下来的时间是真的吗?

是孪生用名义的机床与切削参数算出来的。等 MC-1 样机和孪生对照标定之后,它们才会变成实测的数字。

下一个程序,在孪生里写。

载入一个示例,改一行,看行号栏、规则和运行时间怎样回答你。