- 博客(12)
- 收藏
- 关注
原创 【无标题】用TCP协议控制MCD模型
简单介绍一下思路:1)在MCD中,建立外部信号配置。在“连接”中,输入服务器IP和端口,如果本地电脑连接局域网,该地址应该选择局域网地址。端口自己设置一个,但是记住要在计算机中开放这个端口(具体设置可以搜索相关网页)。用户也可以下载 Tcp test tool软件进行测试。在‘数据交换’中,有“接收数据”和“发送数据”两个部分。“接收数据”是MCD传给TCP Server的数据;“发送数据”是TCP Server传给MCD的数据;在这两个部分定义数据类型,双精度在这里占据4给字节。用户可以在
2022-05-02 13:01:04 2306
原创 gcode.c
2.4.1 gcode.h#define MODAL_GROUP_G0 0 // [G4,G10,G28,G28.1,G30,G30.1,G53,G92,G92.1] 非模态指//组#define MODAL_GROUP_G1 1 // [G0,G1,G2,G3,G38.2,G38.3,G38.4,G38.5,G80] 运动指令#define MODAL_GROUP_G2 2 // [G17,G18,G19] 坐标平面#define MODAL_GROUP_G3 3 // [G90,G9
2022-02-02 08:08:49 408
原创 stepper.c
#define DT_SEGMENT (1.0/(ACCELERATION_TICKS_PER_SECOND*60.0)) // min/segment 一个分段是多长时间(分钟)#define REQ_MM_INCREMENT_SCALAR 1.25 //如果小于1.25倍的脉冲当量,不发出脉冲#define RAMP_ACCEL 0 //加速阶段#define RAMP_CRUISE 1 //巡航阶段#define RAMP_DECEL 2 //减速阶段#define RAMP...
2022-02-02 08:05:12 345
原创 Grbl代码分析 cpu-map.h
//Arduino Mega328p.#ifdef CPU_MAP_ATMEGA328P // (Arduino Uno) //串口中断向量 #define SERIAL_RX USART_RX_vect #define SERIAL_UDRE USART_UDRE_vect // 步进电机脉冲端口,所有步进端口必须在一个通道里. #define STEP_DDR DDRD #define STEP_PORT PORTD #...
2022-01-22 19:22:48 3613
原创 Grbl代码分析 Planner_recalculate()
static void planner_recalculate(){ //读前一个块数据 uint8_t block_index = plan_prev_block_index(block_buffer_head); // 如果前一个块已经优化了返回 if (block_index == block_buffer_planned) { return; } /*粗略地最大化所有可能的加速曲线,从缓冲区的最后一个区块开始反向规划。当达到最后一个最优计划或尾部指针时,停止计划...
2022-01-22 19:16:54 708
原创 Grbl代码分析 Serial.c
#define RX_RING_BUFFER (RX_BUFFER_SIZE+1)//串口接收缓存区尺寸#define TX_RING_BUFFER (TX_BUFFER_SIZE+1) )//串口发送缓存区尺寸uint8_t serial_rx_buffer[RX_RING_BUFFER]; //串口接收缓存区uint8_t serial_rx_buffer_head = 0; //串口接收缓存区首地址,新的数据写入此位置volatile uint8_t serial_rx_buffer_
2022-01-22 19:13:47 353
原创 Grbl代码分析 motion.c
2.7.2 motion.c/*以绝对毫米坐标执行线性运动。进给率以毫米/秒为单位,除非invert_feed_rate为true。那么feed_rate意味着运动应该在(1分钟)/feed_rate时间内完成。注意:这是通往grbl规划器的主要通道。所有的直线运动,包括弧形线段,在传递给规划器之前必须通过这个例程。*/void mc_line(float *target, plan_line_data_t *pl_data){ // 如果软限位触发. if (bit_istrue(..
2022-01-22 19:07:46 527
原创 Grbl代码分析 main.C
system_t sys; // 系统变量,在system.h中定义int32_t sys_position[N_AXIS]; // 保存CNC实时位置数据(脉冲数)int32_t sys_probe_position[N_AXIS]; // 探头采集的机床坐标系位置(脉冲数)volatile uint8_t sys_probe_state; // 探头状态,用于探头采集过程(ISR)控制)volatile uint8_t sys_rt_exec_state; // 用于...
2022-01-22 19:04:18 411
原创 Grbl config.h
#define CMD_RESET 0x18 // ctrl-x //系统命令复位#define CMD_STATUS_REPORT '?' //系统命令状态打印#define CMD_CYCLE_START '~' //系统命令循环启动#define CMD_FEED_HOLD '!' //系统命令进给保持#define CMD_SAFETY_DOOR 0x84 //系统命令门开#define CMD_JOG_CANCEL 0x85 //系统命令JOG取消#define CM...
2022-01-22 19:00:49 477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人