gcode()

描述

输入 G-Code 控制 Machine。
Motion86 支援的 G-Code 如下:

请参照 G-Code 参考表

G-Code 说明
G1 直线运动
G2 顺时针圆弧运动
G3 逆时针圆弧运动
G4 暂停命令
G17 选择 XY 平面作圆弧运动
G18 选择 XZ 平面作圆弧运动
G19 选择 YZ 平面作圆弧运动
G90 绝对位置模式
G91 相对位置模式
G90.1 弧线圆心绝对位置模式
G91.1 弧线圆心相对位置模式
G92 坐标系偏移

语法

machine.gcode(cmd);

参数

machine:为 Machine物件。

cmd:欲发送的 G-Code 字串。

回传

bool:

true: 机器存在且创建成功。
false: 机器不存在或创建失败。

范例


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

#include "Motion86.h"

 

// 产生机器物件,最多可使用 machine 0~2 三台机器,每台机器三轴。

Machine machine(0);

 

// 步进马达 enable pin。

int EnablePin = 4;

 

void setup() {

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

 

  // 若有需要,可以反转运动轴的运动方向。

  // 在此范例中,需要反转 x 轴和 y 轴的方向。

  machine.config-ReverseDirection(AXIS-X);

  machine.config-ReverseDirection(AXIS-Y);

 

  // PPU (pulse per unit) 是一虚拟长度单位,依照不同需求而定。

  // 此例 x 轴的单位长度设定为 80 pulses,对应到实际应用为 1 mm。

  machine.config-PPU(AXIS-X, 80.0);

  machine.config-PPU(AXIS-Y, 80.0);

  machine.config-PPU(AXIS-Z, 1600.0);

 

  // 控制之前,必须启动机器。

  machine.machineOn();

 

  // 启动步进马达。

  digitalWrite(EnablePin, LOW);

}

 

void loop() {

  // 向左移到 (-10, 0)。

  machine.gcode("G1 X-10 Y0 F400");

 

  // 以半径 10 顺时针移动 90 度到 (0, 10)。

  machine.gcode(“G2 X0 Y10 R10 F400”);

 

  //迭代移至(0, -10)。

  machine.gcode(“G1 X0 Y-10 F400”);

 

  //以半径10逆时针移动90度到(10, 0)。

  machine.gcode(“G3 X10 Y0 R10 F400”);

 

  //向左移到(0, 0)。

  machine.gcode(“G1 X0 Y0 F400”);

 

  //等待直到已规划之运动完成。

  while (machine.isMoving());

}

函式库参考主页

86Duino参考资料的文字遵循知识共享署名-Creative Commons Attribution-ShareAlike 3.0许可证。参考资料中的程序代码示例已发布到公共领域