数车编程G指令与M指令执行顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数车编程G指令与M指令执行顺序相关的知识,希望对你有一定的参考价值。

例如
...
N0100 G01 X1 Z1 F20 M08
...

这个程序段中M08开冷却液这个操作是在刀具走到X1 Z1这个点之后才开,还是先开了冷却液,然后刀具再才往X1 Z1走

先开冷却液,在走刀,一行代码存在多个指令时的指令执行顺序是有规则的,其他数控系统的我不清楚,我使用Linuxcnc的执行顺序是这样:

1. comment(包括消息)。
2. 设置进给速度模式(G93,G94-反时限或每分钟)。G组4
3. 设定进给速度(F)。
4. 设置主轴转速(S)。
5. 选择工具(T)。
6. 更换工具(M6)。M组0
7. 主轴开或关(M3,M4,M5)。M组1
8. 打开或关闭冷却液(M7,M8,M9)。M组2
9. 启用或禁用覆盖(M48,M49)。M组3
10. 停留(G4)。G组0
11. 设置活动平面(G17,G18,G19)。G组2
12. 设定长度单位(G20,G21)。G组5
13. 刀具半径补偿打开或关闭(G40,G41,G42)。G组6
14. 切刀长度补偿打开或关闭(G43,G49)。G组7
15. 坐标系选择(G54,G55,G56,G57,G58,G59,G59.1,G59.2,G59.3)。G组8
16. 设置路径控制模式(G61,G61.1,G64)。G组10
17. 设定距离模式(G90,G91)。G组3
18. 设置缩回模式(G98,G99)。G组9
19. 回参考点(G28,G30)或更改坐标系数据(G10)或设置轴偏移(G92,G92.1,G92.2,G94)。G组0
20. 执行(可能)由G53修改的运动(G0至G3,G80至G89)。G组1
21. 停止(M0,M1,M2,M30,M60)。M组0
参考技术A 1.M00——程序结束指令M00指令实际上是一个暂停指令。功效是履行此指令后,机床结束一切操作。即主轴停转、切削液关闭、进给结束。但模态信息全数被保存,在按下把持面板上的启动指令后,机床重新启动,持续履行后面的程序。

shell相关

程序编程风格:
对象式:以数据为中心,指令服务于数据
过程式:以指令为中心,数据服务于指令
过程式编程特点:顺序执行,循环执行,选择执行
编程语言:
低级:汇编
高级:
编译:高级语言-->编译器-->目标代码(C,C++,JAVA)
解释:高级语言-->解释器-->机器代码(Shell,Python,Perl)

Sehll编程:过程式,解释执行

变量的类型:
字符:
数值:
整型:
浮点型:

编程语言类型:
强类型:不允许字符与数值做运算
弱类型:把所有要存储的数据统统当作字符

逻辑运算:
与: 第一个为0,结果必定为0;第一个为1,第二个必须要参与运算
1 && 1 = 1
1 && 0 = 0
0 && 1 = 0
0 && 0 = 0
或:第一个为1,结果必定为1;第一个为0,第二个必须要参与运算
1 || 1 = 1
1 || 0 = 1
0 || 1 = 1
0 || 0 = 0
非:
!1 = 0
!0 = 1

以上是关于数车编程G指令与M指令执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

shell 编程进阶与自动化脚本expect的运用

NGINX openrestry(指令的执行顺序)

Golang面向并发的内存模型

Golang面向并发的内存模型

Golang面向并发的内存模型

关于异步执行