1552 lines
41 KiB
C
1552 lines
41 KiB
C
|
||
#ifndef __OPERATOR_H__
|
||
#define __OPERATOR_H__
|
||
|
||
#include "config.h"
|
||
#include "comm.h"
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
/*
|
||
通讯命令一览表
|
||
|
||
1. 上位机发送命令
|
||
|
||
名称 符号 代码 类型 回复 说明
|
||
读取机器信息 UCMD_GET_MC_INFO 0x0001 FLDP 有 机器信息包括机器种类,配置,控制系统版本等信息
|
||
读取机器状态 UCMD_GET_MC_STATUS 0x0002 FLDP 有 读取机器的运行状态,包括机器工作状态,常用输入状态,电机位置,工作进度,文件信息等。
|
||
读取机器参数 UCMD_GET_MC_PARAS 0x0003 FLDP 有 读取内存中机器参数列表
|
||
读取内存数据 UCMD_GET_MEM_DATA 0x0004 FLDP 有 读取机器存储器数据,包括片内SRAM,片外SRAM,NAND FLASH等的内容
|
||
读取传感信号 UCMD_GET_SENSORS 0x0005 FLDP 有 读取IO信号状态及电机位置,编码器位置等信息
|
||
读取文件信息 UCMD_GET_FILE_INFO 0x0006 FLDP 有 读取数据文件的信息
|
||
读取传输结果 UCMD_GET_TRANS_RESULT 0x0007 FLDP 有 读取文件传输的结果位图,包括数据文件和升级文件
|
||
|
||
设置机器配置 UCMD_SET_MC_CONFIG 0x0101 VLDP 无 设置机器的配置,包括信号使用的端口等信息
|
||
设置机器状态 UCMD_SET_MC_STATUS 0x0102 FLDP 无 设置机器的工作状态,包括是否允许工作,清除报警等。
|
||
设置机器参数 UCMD_SET_MC_PARAS 0x0103 VLDP 无 传输机器参数列表到下位机
|
||
设置内存数据 UCMD_SET_MEM_DATA 0x0104 FLDP 无 改变某个内存单元的数据内容==
|
||
|
||
手动控制命令 UCMD_ACT_BYHAND 0x0201 FLDP 无 手动控制电机转动,OUTPUT信号开关等动作
|
||
机器工作命令 UCMD_MC_WORK 0x0202 FLDP 无 控制机器的工作命令,包括启动,停止,结束,或运动到某个位置等
|
||
移动XY命令 UCMD_MOVE_TO 0x0203 FLDP 无 移动XY到坐标
|
||
|
||
启动文件传输 UCMD_START_TRANS 0x0301 VLDP 无 启动文件传输
|
||
文件传输命令 UCMD_TRANS_FILE_DATA 0x0302 VLDP 无 传输文件数据包
|
||
|
||
下位机升级 UCMD_MC_UPDATE 0x0401 VLDP 无 升级主控
|
||
|
||
遍历命令 UCMD_TRA_BOARD 0x0501 FLDP 无 遍历总线中某种协议类型的节点
|
||
|
||
2. 下位机发送命令
|
||
|
||
名称 符号 代码 类型 回复 说明
|
||
发送机器信息 DCMD_SEND_MC_INFO 0x8001 VLDP 无 发送机器信息包括机器种类,配置,控制系统版本等信息
|
||
发送机器状态 DCMD_SEND_MC_STATUS 0x8002 VLDP 无 发送取机器的运行状态,包括机器工作状态,常用输入状态,电机位置,工作进度,文件信息等。
|
||
发送机器参数 DCMD_SEND_MC_PARAS 0x8003 VLDP 无 发送内存中机器参数列表
|
||
发送内存数据 DCMD_SEND_MEM_DATA 0x8004 VLDP 无 发送机器存储器数据,包括片内SRAM,片外SRAM,NAND FLASH等的内容
|
||
发送传感信号 DCMD_SEND_SENSORS 0x8005 VLDP 无 发送IO信号状态及电机位置,编码器位置等信息
|
||
发送文件信息 DCMD_SEND_FILE_INFO 0x8006 VLDP 无 发送数据文件的信息
|
||
发送传输结果 DCMD_SEND_TRANS_RESULT 0x8007 VLDP 无 发送文件传输的结果位图
|
||
|
||
|
||
|
||
*/
|
||
|
||
// 上位机发送命令
|
||
#define UCMD_GET_MC_INFO 0x0001 // 读取机器信息
|
||
#define UCMD_GET_MC_STATUS 0x0002 // 读取机器状态
|
||
#define UCMD_GET_MC_PARAS 0x0003 // 读取机器参数
|
||
#define UCMD_GET_MEM_DATA 0x0004 // 读取内存数据
|
||
#define UCMD_GET_SENSORS 0x0005 // 读取传感信号
|
||
#define UCMD_GET_FILE_INFO 0x0006 // 读取文件信息
|
||
#define UCMD_GET_TRANS_RESULT 0x0007 // 读取传输结果
|
||
#define UCMD_GET_SENSORS_BMP 0x0008 // 读取有效传感器位图
|
||
|
||
#define UCMD_GET_BOARD_VER 0x000A // 读取外围板程序版本
|
||
#define UCMD_GET_HEAD_PARA 0x000B // 读取机头板参数
|
||
#define UCMD_GET_COLOR_PARA 0x000C // 读取换色控制板参数
|
||
#define UCMD_GET_HEAD_NVPARAS 0x000D // 选择性读取机头参数
|
||
|
||
#define UCMD_SET_MC_CONFIG 0x0101 // 设置机器配置
|
||
#define UCMD_SET_MC_STATUS 0x0102 // 设置机器状态
|
||
#define UCMD_SET_MC_PARAS 0x0103 // 设置机器参数
|
||
#define UCMD_SET_MEM_DATA 0x0104 // 设置内存数据
|
||
#define UCMD_SET_FILE_PARAS 0x0105 // 设置文件参数
|
||
#define UCMD_SET_EXEC_PROGRESS 0x0106 // 设置执行进度
|
||
#define UCMD_SET_INSTALLMENT 0x0107 // 设置分期密码
|
||
#define UCMD_SET_ELAPSED_TIME 0x0108 // 设置经过的时间
|
||
#define UCMD_SET_DEF_PARA 0x0109 // 设置默认参数
|
||
|
||
#define UCMD_SET_HEADDEF_PARA 0x010A // 设置机头板默认参数
|
||
#define UCMD_SET_HEAD_PARA 0x010B // 设置机头板参数
|
||
#define UCMD_SET_COLOR_PARA 0x010C // 设置换色控制板参数
|
||
#define UCMD_SET_MVANGDEF_PARA 0x010D // 设置动框角度默认参数
|
||
#define UCMD_SET_COLORDEF_PARA 0x010E // 设置换色板默认参数
|
||
#define UCMD_SET_FILE_EXDATA 0x010F // 设置文件扩展数据
|
||
#define UCMD_SET_HEAD_NVPARA 0x0110 // 选择性设置机头参数
|
||
|
||
#define UCMD_ACT_BYHAND 0x0201 // 手动控制命令
|
||
#define UCMD_MC_WORK 0x0202 // 机器工作命令
|
||
#define UCMD_MOVE_TO 0x0203 // 移动XY到坐标
|
||
#define UCMD_MOVE_OFST 0x0205 // XY移动偏移量
|
||
|
||
#define UCMD_START_TRANS 0x0301 // 启动文件传输
|
||
#define UCMD_TRANS_FILE_DATA 0x0302 // 文件传输命令
|
||
#define UCMD_INVALID_FILE 0x0303 // 文件失效命令
|
||
#define UCMD_SET_FILE_LIST 0x0304 // 设置文件列表
|
||
#define UCMD_GET_FILE_LIST 0x0305 // 获取下位机文件列表
|
||
|
||
|
||
#define UCMD_MC_UPDATE 0x0401 // 下位机升级
|
||
#define UCMD_BOARD_UPDATE 0x0402 // 外围板升级
|
||
|
||
#define UCMD_TRA_BOARD 0x0501 // 遍历命令
|
||
|
||
// 下位机发送命令
|
||
#define DCMD_REQUEST_DAT 0x8000 // 请求文件数据
|
||
#define DCMD_SEND_MC_INFO 0x8001 // 发送机器信息
|
||
#define DCMD_SEND_MC_STATUS 0x8002 // 发送机器状态
|
||
#define DCMD_SEND_MC_PARAS 0x8003 // 发送机器参数
|
||
#define DCMD_SEND_MEM_DATA 0x8004 // 发送内存数据
|
||
#define DCMD_SEND_SENSORS 0x8005 // 发送传感信号
|
||
#define DCMD_SEND_FILE_INFO 0x8006 // 发送文件信息
|
||
#define DCMD_SEND_TRANS_RESULT 0x8007 // 发送传输结果
|
||
#define DCMD_SEND_SENSORS_BMP 0x8008 // 发送有效传感器位图
|
||
|
||
#define DCMD_SEND_BOARDVER 0x800A // 发送外围板程序版本
|
||
#define DCMD_SEND_HEADPARA 0x800B // 发送机头板参数
|
||
#define DCMD_SEND_COLORPARA 0x800C // 发送换色控制板参数
|
||
|
||
#define DCMD_SEND_HEAD_NVPARAS 0x800E // 选择性发送机头参数
|
||
|
||
#define DCMD_SEND_DEBUG_INFO 0x8010 // 调试信息发送
|
||
|
||
#define DCMD_SEND_FILE_LIST 0x8011 // 发送下位机文件列表
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 命令详解
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取机器信息
|
||
#ifdef UCMD_GET_MC_INFO
|
||
|
||
// 机器信息结构定义
|
||
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取机器状态
|
||
#ifdef UCMD_GET_MC_STATUS
|
||
|
||
/*
|
||
|-------------------------------------------------------------------|
|
||
|-------------------------------------------------------------------|
|
||
| B10 B11 | B12 B13 | 附加数据 |
|
||
|-------------------------------------------------------------------|
|
||
| 命令切换标志字 | 保留 | 附加数据 |
|
||
|-------------------------------------------------------------------|
|
||
| | | | |
|
||
| | | | |
|
||
|-------------------------------------------------------------------|
|
||
|-------------------------------------------------------------------|
|
||
|
||
*/
|
||
|
||
// 附加数据结构定义
|
||
|
||
|
||
// 机器信息结构定义
|
||
typedef struct
|
||
{
|
||
// 0
|
||
char fpgaHardVerStr[16]; // FPGA硬件版本
|
||
char fpgaSoftVerStr[16]; // FPGA软件版本
|
||
char softwareVerStr[48]; // 软件版本
|
||
char buildInfoStr[32]; // 编译日期信息
|
||
char boardId[32]; // 板卡ID
|
||
char installment[32]; // 最后一次的分期密码字符串
|
||
// 176
|
||
char rev1[512-176];
|
||
|
||
// 512
|
||
u32 localIP; // 板卡IP地址
|
||
u32 submask; // 子网掩码
|
||
u32 gateIP; // 网关IP
|
||
|
||
// 524
|
||
u8 rev2[1024-524];
|
||
|
||
} __attribute__ ((packed)) MCInfo;
|
||
|
||
//-------------------------------------------------------------------------------
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取机器参数
|
||
#ifdef UCMD_GET_MC_PARAS
|
||
|
||
|
||
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取传感信号
|
||
#ifdef UCMD_GET_SENSORS
|
||
|
||
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取文件信息
|
||
#ifdef UCMD_GET_FILE_INFO
|
||
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取传输结果
|
||
#ifdef UCMD_GET_TRANS_RESULT
|
||
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 设置机器配置
|
||
#ifdef UCMD_SET_MC_CONFIG
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 设置机器状态
|
||
#ifdef UCMD_SET_MC_STATUS
|
||
|
||
#define MC_STA_CLENA_ERR 0x0000 // 清除错误
|
||
#define MC_STA_EN_WORK 0x0001 // 允许工作(状态)
|
||
#define MC_STA_DIS_WORK 0x0002 // 禁止工作(状态)
|
||
#define MC_STA_EN_TIME 0x0003 // 允许工作(时间)
|
||
#define MC_STA_DIS_TIME 0x0004 // 禁止工作(时间)
|
||
#define MC_CLEAN_COUNT 0x0005 // 产量计数清零
|
||
#define MC_STA_MANUAL 0x0006 // 手动工作状态
|
||
#define MC_STA_AUTO 0x0007 // 自动工作状态
|
||
#define MC_FILE_SWITCH 0x0008 // 文件切换
|
||
#define MC_INVALID_FILE 0x0009 // 文件失效命令
|
||
#define MC_CLEAN_PARA_REF 0x000A // 清除刷新参数标志
|
||
#define MC_SET_TO_NORMAL 0x000B // 设置为正常工作状态
|
||
#define MC_SET_TO_SIMULATE 0x000C // 设置为模拟工作状态
|
||
|
||
#define MC_SET_ERR_STA 0x000D // 设置为错误状态(报错)
|
||
#define MC_SEL_WORK_HEADS 0x000E // 设置工作机头
|
||
#define MC_CLEAN_FIDX 0x000F // 索引复位
|
||
|
||
#define MC_CLEAN_BOBBIN 0x0010 // 底线计数复位
|
||
|
||
#define MC_SET_ENTER_SCAN_SENSOR 0x0011 // 设置为 进入 扫描传感器状态
|
||
#define MC_SET_EXIT_SCAN_SENSOR 0x0012 // 设置为 退出 扫描传感器状态
|
||
|
||
#define MC_SET_ENTER_TEST_OUTPUT 0x0013 // 设置为 进入 测试输出状态
|
||
#define MC_SET_EXIT_TEST_OUTPUT 0x0014 // 设置为 退出 测试输出状态
|
||
|
||
|
||
#define MC_CHANGE_HOOK_START 0x0020 // 进入换梭状态
|
||
#define MC_CHANGE_HOOK_END 0x0021 // 退出换梭状态
|
||
|
||
#define MC_STA_EXIT_TRA 0x0023 // 退出遍历状态
|
||
#define MC_STA_EXIT_THREADBK 0x0024 // 退出断线测试
|
||
|
||
#define MC_INVALID_FILEBLOCK 0x0026 // 文件数据块失效命令
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 设置机器参数
|
||
#ifdef UCMD_SET_MC_PARAS
|
||
|
||
#define SEW_MCPARA_MACH 0x00 // 机器配置参数
|
||
#define SEW_MCPARA_WORK 0x01 // 机器工作参数
|
||
|
||
#define EMB_MVSTANG_PARA 0x06 // 起始动框角度
|
||
|
||
#define EMB_PATCH_DATA_IDX 0x09 // 贴布绣数据,按针
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 读取内存数据
|
||
// 设置内存数据
|
||
#ifdef UCMD_GET_MEM_DATA
|
||
#ifdef UCMD_SET_MEM_DATA
|
||
|
||
// 对象 (作为基地址,最高字节)
|
||
#define MEM_INSRAM 0x01 // 片内存储器(只读)
|
||
#define INSRAM_ADDR_MIN 0
|
||
#define INSRAM_ADDR_MAX (0xFFFF)
|
||
|
||
#define MEM_EXSRAM 0x02 // 片外存储器(读写)
|
||
#define EXSRAM_ADDR_MIN 0
|
||
#define EXSRAM_ADDR_MAX ((512*1024+512*1024)-1)
|
||
|
||
#define MEM_NORFLASH 0x03 // 片外 norflash (读写)
|
||
#define NORFLASH_ADDR_MIN 0
|
||
#define NORFLASH_ADDR_MAX ((512*1024+512*1024)-1)
|
||
|
||
#define MEM_FRAM 0x04 // FRAM 存储器
|
||
#define FRAM_ADDR_MIN 0
|
||
#define FRAM_ADDR_MAX ((8*1024)-1)
|
||
|
||
#define MEM_GPIO 0x05 // IO 端口
|
||
#define GPIO_ADDR_MIN 0
|
||
#define GPIO_ADDR_MAX ((1*1024)-1)
|
||
|
||
|
||
#define MEM_MOTOS 0x06 // 电机控制
|
||
#define MOTOS_ADDR_MIN 0
|
||
#define MOTOS_ADDR_MAX (0x5F)
|
||
// 0x00--0x03 电机1位置
|
||
// 0x10--0x13 电机2位置
|
||
// 0x20--0x23 电机3位置
|
||
// 0x30--0x33 电机4位置
|
||
// 0x40--0x43 电机5位置
|
||
// 0x50--0x53 电机6位置
|
||
|
||
// 设置到某个位置,电机转动到这个位置,读取位置到达设定位置,运动结束
|
||
|
||
#define MEM_ECDS 0x07 // 编码器(只读)
|
||
#define ECDS_ADDR_MIN 0
|
||
#define ECDS_ADDR_MAX (0x2F)
|
||
// 0x00--0x03 编码器1计数
|
||
// 0x10--0x13 编码器2计数
|
||
// 0x20--0x23 MP计数
|
||
|
||
#define MEM_ADC 0x08 // AD值(只读)
|
||
#define ADC_ADDR_MIN 0
|
||
#define ADC_ADDR_MAX (0x1F)
|
||
// 0x00--0x01 ADC1值
|
||
// 0x10--0x11 ADC2值
|
||
|
||
#define MEM_COMM 0x09 // 通讯端口
|
||
|
||
#define COMM_ADDR_MIN 0
|
||
#define COMM_ADDR_MAX (0x1F)
|
||
// 0x00 -- 0x0F 232 串口1发送BUF
|
||
// 0x10 -- 0x1F 232 串口2发送BUF
|
||
// 0x20 -- 0x2F 485 串口3发送BUF
|
||
|
||
// 0x70 -- 0x7F CAN发送BUF
|
||
|
||
// 0x100 -- 0x10F 232 串口1接收BUF
|
||
// 0x110 -- 0x11F 232 串口2接收BUF
|
||
// 0x120 -- 0x12F 485 串口3接收BUF
|
||
|
||
// 0x170 -- 0x17F CAN接收BUF
|
||
|
||
#endif
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
// 设置文件参数
|
||
#ifdef UCMD_SET_FILE_PARAS
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
// 设置执行进度
|
||
#ifdef UCMD_SET_EXEC_PROGRESS
|
||
|
||
#endif
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
// 设置分期密码
|
||
#ifdef UCMD_SET_INSTALLMENT
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
// 设置经过时间
|
||
#ifdef UCMD_SET_ELAPSED_TIME
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 手动控制命令
|
||
#ifdef UCMD_ACT_BYHAND
|
||
|
||
/*
|
||
|-------------------------------------------------------------------|
|
||
|-------------------------------------------------------------------|
|
||
| B6 B7 | B8 B9 | B10 B11 | B12 B13 |
|
||
|-------------------------------------------------------------------|
|
||
| 控制动作代码 | 控制参数1 | 控制参数2 | 控制参数3 |
|
||
|-------------------------------------------------------------------|
|
||
| | | | |
|
||
| | | | |
|
||
| | | | |
|
||
|-------------------------------------------------------------------|
|
||
|-------------------------------------------------------------------|
|
||
|
||
*/
|
||
|
||
//--------------------------------------------------
|
||
// 控制动作定义
|
||
|
||
#define MOTO_TO_ZERO 0x0001 // 电机归零
|
||
#define MOVE_BY_HAND 0x0002 // 电机手动移动
|
||
#define OUTPUT_CTRL 0x0003 // 输出控制
|
||
#define MOTO_EN_CTRL 0x0004 // 电机使能控制
|
||
#define MANUAL_ACTION 0x0005 // 手动控制功能
|
||
#define TEST_THREADBK 0x0007 // 测试断线检测
|
||
#define SHAKE_FRAME_TEST 0x0008 // 抖框测试
|
||
|
||
// 参数1要看具体应用
|
||
|
||
// 手动移动的 控制参数2 定义
|
||
#define MT_MOVE_DIR_STOP 0x0000 // 停止转动
|
||
#define MT_MOVE_DIR_POSI 0x0001 // 正向移动(x向右,y向上,升降向上)
|
||
#define MT_MOVE_DIR_NEGA 0x0002 // 反向移动(x向左,y向下,升降向下)
|
||
|
||
|
||
// 手动移动的 控制参数3 定义
|
||
// 速度值,rpm 或 mmps
|
||
|
||
|
||
// 电机使能的 控制参数2 定义
|
||
#define MT_SERVO_ON 0x0001 // 电机使能开
|
||
#define MT_SERVO_OFF 0x0002 // 电机使能关
|
||
|
||
|
||
// 手动控制功能的具体代码要看具体应用
|
||
|
||
|
||
|
||
|
||
|
||
#endif
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 机器工作命令
|
||
#ifdef UCMD_MC_WORK
|
||
|
||
/*
|
||
|-------------------------------------------------------|
|
||
|-------------------------------------------------------|
|
||
| B6 B7 | B8 B9 B10 B11 | B12 B13 |
|
||
|-------------------------------------------------------|
|
||
| 工作控制功能 | 控制参数1 | 控制参数2 |
|
||
|-------------------------------------------------------|
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
|-------------------------------------------------------|
|
||
|-------------------------------------------------------|
|
||
|
||
*/
|
||
|
||
// 工作控制功能
|
||
|
||
#define WORK_START 0x0001 // 启动工作
|
||
#define WORK_PAUSE 0x0002 // 暂停工作
|
||
#define WORK_FINISH 0x0003 // 结束工作(流程复位)
|
||
#define WORK_FIND_ZERO 0x0004 // 自动找零
|
||
|
||
#define WORK_GOTO_START 0x0005 // 回起点
|
||
#define WORK_GOTO_ANCHOR 0x0006 // 回定位点
|
||
#define WORK_GOTO_OFFSET 0x0007 // 回偏移点
|
||
#define WORK_CHECK_FRAME 0x0008 // 边框检查
|
||
#define WORK_CUT_FRAME 0x0009 // 边框切割
|
||
#define WORK_CUT_XLINE 0x000A // 手动断布
|
||
|
||
#define WORK_FAST_JUMP 0x000B // 快速进退
|
||
#define WORK_GOTO_WKPOS 0x000C // 回工作点
|
||
|
||
#define WORK_GOTO_FEEDT 0x000D // 回穿线点
|
||
#define WORK_GOTO_CHGBO 0x000E // 回换梭位
|
||
|
||
#define WORK_FEED_MOVE 0x000F // 进料退料
|
||
|
||
#define WORK_DRAW_LATTICE 0x0010 // 画格子图
|
||
|
||
#define WORK_GOTO_FINISH 0x0011 // 回结束点
|
||
#define WORK_GOTO_ZERO 0x0012 // 回零点(回绣框原点)
|
||
|
||
|
||
#define WORK_RPM_CHG 0x0020 // 速度改变
|
||
#define WORK_FILE_IDX_CHG 0x0021 // 文件序号改变
|
||
|
||
|
||
#define WORK_SIMULATION_FRAME 0x0026 // 空走边框
|
||
#define WORK_GOTO_FEED 0x0027 // 回上料点
|
||
#define WORK_SET_OFFSET 0x0028 // 定偏移点
|
||
#define WORK_SET_FEED 0x0029 // 定上料点
|
||
|
||
#define WORK_ACT_OIL 0x0050 // 工作中加油
|
||
|
||
// 启动工作参数
|
||
#define WKMD_ONCE 0
|
||
#define WKMD_NORMAL 1 // 正常
|
||
#define WKMD_SIMULATION 2 // 模拟(空走)
|
||
#define WKMD_BACKWORD 3 // 回退
|
||
|
||
|
||
#endif
|
||
|
||
|
||
#ifdef UCMD_MOVE_TO
|
||
|
||
/*
|
||
|-------------------------------------------------------|
|
||
|-------------------------------------------------------|
|
||
| B6 B7 B8 B9 | B10 B11 B12 B13 |
|
||
|-------------------------------------------------------|
|
||
| x坐标 | Y坐标 |
|
||
|-------------------------------------------------------|
|
||
| | |
|
||
| | |
|
||
| | |
|
||
|-------------------------------------------------------|
|
||
|-------------------------------------------------------|
|
||
|
||
*/
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 启动文件传输
|
||
#ifdef UCMD_START_TRANS
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 文件传输命令
|
||
#ifdef UCMD_TRANS_FILE_DATA
|
||
|
||
|
||
#endif
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
#ifdef UCMD_INVALID_FILE // 文件失效命令
|
||
|
||
|
||
#endif
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
#ifdef UCMD_SET_FILE_LIST // 设置文件列表
|
||
|
||
|
||
#endif
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
#ifdef UCMD_TRA_BOARD
|
||
|
||
|
||
#endif
|
||
//------------------------------------------------------------------------
|
||
|
||
|
||
// 下位机升级
|
||
#ifdef UCMD_MC_UPDATE
|
||
|
||
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
// 发送传感信号
|
||
// u8 sendSensors.exData[MAX_EXDP_LEN]
|
||
|
||
|
||
#ifdef DCMD_SEND_SENSORS
|
||
|
||
#define DSS_DEF_IDX 0x03FE // 未使用接口定义地址
|
||
#define DSS_DEF_BIT 0x01 // 未使用接口定义位
|
||
|
||
//----------------------------------------------------------------
|
||
// 位:
|
||
#define DSS_BIT1 0x01 // idx1
|
||
#define DSS_BIT2 0x02 // idx2
|
||
#define DSS_BIT3 0x04 // idx3
|
||
#define DSS_BIT4 0x08 // idx4
|
||
#define DSS_BIT5 0x10 // idx5
|
||
#define DSS_BIT6 0x20 // idx6
|
||
#define DSS_BIT7 0x40 // idx7
|
||
#define DSS_BIT8 0x80 // idx8
|
||
|
||
// 机头1~16位:
|
||
#define DSS_HEAD_01 DSS_BIT1 // idx1
|
||
#define DSS_HEAD_02 DSS_BIT2 // idx2
|
||
#define DSS_HEAD_03 DSS_BIT3 // idx3
|
||
#define DSS_HEAD_04 DSS_BIT4 // idx4
|
||
#define DSS_HEAD_05 DSS_BIT5 // idx5
|
||
#define DSS_HEAD_06 DSS_BIT6 // idx6
|
||
#define DSS_HEAD_07 DSS_BIT7 // idx7
|
||
#define DSS_HEAD_08 DSS_BIT8 // idx8
|
||
#define DSS_HEAD_09 DSS_BIT1 // idx1
|
||
#define DSS_HEAD_10 DSS_BIT2 // idx2
|
||
#define DSS_HEAD_11 DSS_BIT3 // idx3
|
||
#define DSS_HEAD_12 DSS_BIT4 // idx4
|
||
#define DSS_HEAD_13 DSS_BIT5 // idx5
|
||
#define DSS_HEAD_14 DSS_BIT6 // idx6
|
||
#define DSS_HEAD_15 DSS_BIT7 // idx7
|
||
#define DSS_HEAD_16 DSS_BIT8 // idx8
|
||
|
||
//----------------------------------------------------------------
|
||
// 1.基础信号 0x0000~0x001F
|
||
#if (1)
|
||
//--------------------------------
|
||
#define DSS1_B_START_BT 0x0000 // 启动按钮(1~8)
|
||
#define DSS1_B_PAUSE_BT 0x0001 // 暂停按钮(1~8)
|
||
#define DSS1_B_JOG_BT 0x0002 // 点动按钮(1~8)
|
||
#define DSS1_B_FRMOP_BT 0x0003 // 开框按钮(1~8)
|
||
#define DSS1_B_AUTO_BT 0x0004 // 手动按钮(1~8)
|
||
#define DSS1_B_READY_BT 0x0005 // 就绪按钮(1~8)
|
||
#define DSS1_B_KEY_BT 0x0006 // 钥匙按钮(1~8)
|
||
#define DSS1_B_AIR_TEST 0x0007 // 气压检测(1~8)
|
||
#define DSS1_B_SAFE_TEST 0x0008 // 安全输入(1~8)
|
||
#define DSS1_B_TPLPOS 0x0009 // 模板到位(1~8)
|
||
#define DSS1_B_MOTO_ALM1 0x000A // 电机报警(1~8)
|
||
#define DSS1_B_MOTO_ALM2 0x000B // 电机报警(9~16)
|
||
#define DSS1_B_MOTO_ALM3 0x000C // 电机报警(17~24)
|
||
#define DSS1_B_MOTO_ALM4 0x000D // 电机报警(25~32)
|
||
#define DSS1_B_MOTO_ALM5 0x000E // 电机报警(33~40)
|
||
#define DSS1_B_MOTO_ALM6 0x000F // 电机报警(41~48)
|
||
|
||
#define DSS1_B_BASE_TEST 0x0010 // 安全输入(1~8)
|
||
#define DSS1_BASE_POW DSS_BIT1 // 加电信号
|
||
#define DSS1_B_OIL_BT 0x0011 // 加油按钮(1~8)
|
||
// 0x0011 ~ 0x001F // 基础信号 预留
|
||
#endif
|
||
|
||
//----------------------------------------------------------------
|
||
// 2.框位(轴)置信号 0x0020~0x007F
|
||
#if (1)
|
||
//--------------------------------
|
||
#define DSS2_F1_ZERO_POS 0x0020 // 框架(轴)1 零位
|
||
#define DSS2_F1_SLOW_POS 0x0021 // 框架(轴)1 降速
|
||
#define DSS2_F1_NLIMT_POS 0x0022 // 框架(轴)1 限位-
|
||
#define DSS2_F1_PLIMT_POS 0x0023 // 框架(轴)1 限位+
|
||
#define DSS2_F1_X DSS_BIT1 // X (主框架X)
|
||
#define DSS2_F1_Y DSS_BIT2 // Y (主框架Y)
|
||
#define DSS2_F1_Y2 DSS_BIT3 // Y (主框架Y2)
|
||
#define DSS2_F1_X2 DSS_BIT4 // X (主框架X2)
|
||
|
||
#define DSS2_F2_ZERO_POS 0x0024 // 框架(轴)2 零位
|
||
#define DSS2_F2_SLOW_POS 0x0025 // 框架(轴)2 降速
|
||
#define DSS2_F2_NLIMT_POS 0x0026 // 框架(轴)2 限位-
|
||
#define DSS2_F2_PLIMT_POS 0x0027 // 框架(轴)2 限位+
|
||
#define DSS2_F2_SP0 DSS_BIT1 // 备用2
|
||
#define DSS2_F2_SP1 DSS_BIT2 // 备用2
|
||
#define DSS2_F2_SP2 DSS_BIT3 // 备用2
|
||
#define DSS2_F2_SP3 DSS_BIT4 // 备用2
|
||
#define DSS2_F2_SP4 DSS_BIT5 // 备用2
|
||
#define DSS2_F2_SP5 DSS_BIT6 // 备用2
|
||
#define DSS2_F2_SP6 DSS_BIT7 // 备用2
|
||
#define DSS2_F2_SP7 DSS_BIT8 // 备用2
|
||
|
||
#define DSS2_F3_ZERO_POS 0x0028 // 框架(轴)3 零位
|
||
#define DSS2_F3_SLOW_POS 0x0029 // 框架(轴)3 降速
|
||
#define DSS2_F3_NLIMT_POS 0x002A // 框架(轴)3 限位-
|
||
#define DSS2_F3_PLIMT_POS 0x002B // 框架(轴)3 限位+
|
||
#define DSS2_F3_SP0 DSS_BIT1 // 备用3
|
||
#define DSS2_F3_SP1 DSS_BIT2 // 备用3
|
||
#define DSS2_F3_SP2 DSS_BIT3 // 备用3
|
||
#define DSS2_F3_SP3 DSS_BIT4 // 备用3
|
||
#define DSS2_F3_SP4 DSS_BIT5 // 备用3
|
||
#define DSS2_F3_SP5 DSS_BIT6 // 备用3
|
||
#define DSS2_F3_SP6 DSS_BIT7 // 备用3
|
||
#define DSS2_F3_SP7 DSS_BIT8 // 备用3
|
||
|
||
#define DSS2_F4_ZERO_POS 0x002C // 框架(轴)4 零位
|
||
#define DSS2_F4_SLOW_POS 0x002D // 框架(轴)4 降速
|
||
#define DSS2_F4_NLIMT_POS 0x002E // 框架(轴)4 限位-
|
||
#define DSS2_F4_PLIMT_POS 0x002F // 框架(轴)4 限位+
|
||
#define DSS2_F4_SP0 DSS_BIT1 // 备用4
|
||
#define DSS2_F4_SP1 DSS_BIT2 // 备用4
|
||
#define DSS2_F4_SP2 DSS_BIT3 // 备用4
|
||
#define DSS2_F4_SP3 DSS_BIT4 // 备用4
|
||
#define DSS2_F4_SP4 DSS_BIT5 // 备用4
|
||
#define DSS2_F4_SP5 DSS_BIT6 // 备用4
|
||
#define DSS2_F4_SP6 DSS_BIT7 // 备用4
|
||
#define DSS2_F4_SP7 DSS_BIT8 // 备用4
|
||
|
||
//--------------------------------
|
||
#define DSS2_RU_ZERO1_POS 0x0030 // 缝纫上旋转零位(1~8)
|
||
#define DSS2_RU_ZERO2_POS 0x0031 // 缝纫上旋转零位(9~16)
|
||
#define DSS2_RU_NLIMT1_POS 0x0032 // 缝纫上旋转限位-(1~8)
|
||
#define DSS2_RU_NLIMT2_POS 0x0033 // 缝纫上旋转限位-(9~16)
|
||
#define DSS2_RU_PLIMT1_POS 0x0034 // 缝纫上旋转限位+(1~8)
|
||
#define DSS2_RU_PLIMT2_POS 0x0035 // 缝纫上旋转限位+(9~16)
|
||
#define DSS2_RD_ZERO1_POS 0x0036 // 缝纫下旋转零位(1~8)
|
||
#define DSS2_RD_ZERO2_POS 0x0037 // 缝纫下旋转零位(9~16)
|
||
#define DSS2_RD_NLIMT1_POS 0x0038 // 缝纫下旋转限位-(1~8)
|
||
#define DSS2_RD_NLIMT2_POS 0x0039 // 缝纫下旋转限位-(9~16)
|
||
#define DSS2_RD_PLIMT1_POS 0x003A // 缝纫下旋转限位+(1~8)
|
||
#define DSS2_RD_PLIMT2_POS 0x003B // 缝纫下旋转限位+(9~16)
|
||
#define DSS2_CT_ZERO1_POS 0x003C // 裁刀旋转零位(1~8)
|
||
#define DSS2_CT_ZERO2_POS 0x003D // 裁刀旋转零位(9~16)
|
||
#define DSS2_PU_SP1_POS 0x003E // 冲孔旋转零位(1~8)
|
||
#define DSS2_PU_SP2_POS 0x003F // 冲孔旋转零位(9~16)
|
||
|
||
//--------------------------------
|
||
#define DSS2_UD_SU1_POS 0x0040 // 缝纫机头 高位(1~8)
|
||
#define DSS2_UD_SU2_POS 0x0041 // 缝纫机头 高位(9~16)
|
||
#define DSS2_UD_SD1_POS 0x0042 // 缝纫机头 低位(1~8)
|
||
#define DSS2_UD_SD2_POS 0x0043 // 缝纫机头 低位(9~16)
|
||
#define DSS2_UD_PU1_POS 0x0044 // 冲孔机头 高位(1~8)
|
||
#define DSS2_UD_PU2_POS 0x0045 // 冲孔机头 高位(9~16)
|
||
#define DSS2_UD_PD1_POS 0x0046 // 冲孔机头 低位(1~8)
|
||
#define DSS2_UD_PD2_POS 0x0047 // 冲孔机头 低位(9~16)
|
||
#define DSS2_UD_CU1_POS 0x0048 // 裁切机头 高位(1~8)
|
||
#define DSS2_UD_CU2_POS 0x0049 // 裁切机头 高位(9~16)
|
||
#define DSS2_UD_CD1_POS 0x004A // 裁切机头 低位(1~8)
|
||
#define DSS2_UD_CD2_POS 0x004B // 裁切机头 低位(9~16)
|
||
#define DSS2_UD_IU1_POS 0x004C // 画笔机头 高位(1~8)
|
||
#define DSS2_UD_IU2_POS 0x004D // 画笔机头 高位(9~16)
|
||
#define DSS2_UD_ID1_POS 0x004E // 画笔机头 低位(1~8)
|
||
#define DSS2_UD_ID2_POS 0x004F // 画笔机头 低位(9~16)
|
||
|
||
//--------------------------------
|
||
#define DSS2_UD_ZU1_POS 0x0050 // 压枣压头 高位(1~8)
|
||
#define DSS2_UD_ZU2_POS 0x0051 // 压枣压头 高位(9~16)
|
||
#define DSS2_UD_ZD1_POS 0x0052 // 压枣压头 低位(1~8)
|
||
#define DSS2_UD_ZD2_POS 0x0053 // 压枣压头 低位(9~16)
|
||
#define DSS2_UD_SP1U1_POS 0x0054 // 升降滑台备用 高位(1~8)
|
||
#define DSS2_UD_SP1U2_POS 0x0055 // 升降滑台备用 高位(9~16)
|
||
#define DSS2_UD_SP2D1_POS 0x0056 // 升降滑台备用 低位(1~8)
|
||
#define DSS2_UD_SP2D2_POS 0x0057 // 升降滑台备用 低位(9~16)
|
||
#define DSS2_UD_SP3U1_POS 0x0058 // 升降滑台备用 高位(1~8)
|
||
#define DSS2_UD_SP3U2_POS 0x0059 // 升降滑台备用 高位(9~16)
|
||
#define DSS2_UD_SP4D1_POS 0x005A // 升降滑台备用 低位(1~8)
|
||
#define DSS2_UD_SP4D2_POS 0x005B // 升降滑台备用 低位(9~16)
|
||
#define DSS2_UD_SP5U1_POS 0x005C // 升降滑台备用 高位(1~8)
|
||
#define DSS2_UD_SP5U2_POS 0x005D // 升降滑台备用 高位(9~16)
|
||
#define DSS2_UD_SP6D1_POS 0x005E // 升降滑台备用 低位(1~8)
|
||
#define DSS2_UD_SP6D2_POS 0x005F // 升降滑台备用 低位(9~16)
|
||
|
||
// 0x0060 ~ 0x007F // 框架位置信号 预留
|
||
#endif
|
||
//----------------------------------------------------------------
|
||
// 3.主轴位置信号 0x080~0x00BF
|
||
#if (1)
|
||
//--------------------------------
|
||
#define DSS3_HS_UZ1_POS 0x0080 // 缝纫针停车位(1~8)
|
||
#define DSS3_HS_UZ2_POS 0x0081 // 缝纫针停车位(9~16)
|
||
#define DSS3_HS_UG1_POS 0x0082 // 缝纫针勾线位(1~8)
|
||
#define DSS3_HS_UG2_POS 0x0083 // 缝纫针勾线位(9~16)
|
||
#define DSS3_HS_UU1_POS 0x0084 // 缝纫针上位(1~8)
|
||
#define DSS3_HS_UU2_POS 0x0085 // 缝纫针上位(9~16)
|
||
#define DSS3_HS_UL1_POS 0x0086 // 缝纫离合对位(1~8)
|
||
#define DSS3_HS_UL2_POS 0x0087 // 缝纫离合对位(9~16)
|
||
#define DSS3_HS_DZ1_POS 0x0088 // 缝纫梭停车位(1~8)
|
||
#define DSS3_HS_DZ2_POS 0x0089 // 缝纫梭停车位(9~16)
|
||
#define DSS3_HS_DG1_POS 0x008A // 缝纫梭勾线位(1~8)
|
||
#define DSS3_HS_DG2_POS 0x008B // 缝纫梭勾线位(9~16)
|
||
#define DSS3_HS_SP1_POS 0x008C // 缝纫主轴预留(1~8)
|
||
#define DSS3_HS_SP2_POS 0x008D // 缝纫主轴预留(9~16)
|
||
#define DSS3_HS_SP3_POS 0x008E // 缝纫主轴预留(1~8)
|
||
#define DSS3_HS_SP4_POS 0x008F // 缝纫主轴预留(9~16)
|
||
|
||
//--------------------------------
|
||
#define DSS3_HE_PZ1_POS 0x0090 // 冲孔主轴零位(1~8)
|
||
#define DSS3_HE_PZ2_POS 0x0091 // 冲孔主轴零位(9~16)
|
||
#define DSS3_HE_CZ1_POS 0x0092 // 裁刀主轴零位(1~8)
|
||
#define DSS3_HE_CZ2_POS 0x0093 // 裁刀主轴零位(9~16)
|
||
#define DSS3_HE_TNZ1_POS 0x0094 // 毛巾主轴针零位(1~8)
|
||
#define DSS3_HE_TNZ2_POS 0x0095 // 毛巾主轴针零位(9~16)
|
||
#define DSS3_HE_TSZ1_POS 0x0096 // 毛巾主轴梭零位(1~8)
|
||
#define DSS3_HE_TSZ2_POS 0x0097 // 毛巾主轴梭零位(9~16)
|
||
#define DSS3_HE_EZ1_POS 0x0098 // 绣花主轴零位(1~8)
|
||
#define DSS3_HE_EZ2_POS 0x0099 // 绣花主轴零位(9~16)
|
||
#define DSS3_HE_SP1_POS 0x009A // 非缝纫主轴预留(1~8)
|
||
#define DSS3_HE_SP2_POS 0x009B // 非缝纫主轴预留(9~16)
|
||
#define DSS3_HE_EH1_POS 0x009C // 绣花梭主轴零位(1~8)
|
||
#define DSS3_HE_EH2_POS 0x009D // 绣花梭主轴零位(9~16)
|
||
#define DSS3_HE_SP5_POS 0x009E // 非缝纫主轴预留(1~8)
|
||
#define DSS3_HE_SP6_POS 0x009F // 非缝纫主轴预留(9~16)
|
||
#define DSS3_HE_PMP1_POS 0x00A0 // 冲孔主轴位置(1~8)
|
||
#define DSS3_HE_PMP2_POS 0x00A1 // 冲孔主轴位置(9~16)
|
||
// 0x00A0 ~ 0x00BF // 主轴位置信号 预留
|
||
#endif
|
||
|
||
//----------------------------------------------------------------
|
||
// 4.机头按钮(开关)信号 0x00C0~0x00FF
|
||
#if (1)
|
||
//--------------------------------
|
||
#define DSS4_K_SU1_BT 0x00C0 // 缝纫升降按钮(1~8)
|
||
#define DSS4_K_SU2_BT 0x00C1 // 缝纫升降按钮(9~16)
|
||
#define DSS4_K_KU1_BT 0x00C2 // 冲孔升降按钮(1~8)
|
||
#define DSS4_K_KU2_BT 0x00C3 // 冲孔升降按钮(9~16)
|
||
#define DSS4_K_CU1_BT 0x00C4 // 裁刀升降按钮(1~8)
|
||
#define DSS4_K_CU2_BT 0x00C5 // 裁刀升降按钮(9~16)
|
||
#define DSS4_K_PU1_BT 0x00C6 // 画笔升降按钮(1~8)
|
||
#define DSS4_K_PU2_BT 0x00C7 // 画笔升降按钮(9~16)
|
||
#define DSS4_K_ZU1_BT 0x00C8 // 压枣升降按钮(1~8)
|
||
#define DSS4_K_ZU2_BT 0x00C9 // 压枣升降按钮(9~16)
|
||
#define DSS4_K_SL1_BT 0x00CA // 缝纫锁头按钮(1~8)
|
||
#define DSS4_K_SL2_BT 0x00CB // 缝纫锁头按钮(9~16)
|
||
#define DSS4_K_PL1_BT 0x00CC // 冲孔锁头按钮(1~8)
|
||
#define DSS4_K_PL2_BT 0x00CD // 冲孔锁头按钮(9~16)
|
||
#define DSS4_K_SR1_BT 0x00CE // 缝纫补缝按钮(1~8)
|
||
#define DSS4_K_SR2_BT 0x00CF // 缝纫补缝按钮(9~16)
|
||
|
||
#define DSS4_K_BLT_BT 0x00D0 // 传送带按钮
|
||
#define DSS4_K_BLT1 DSS_BIT1 // 传送带前进按钮
|
||
#define DSS4_K_BLT2 DSS_BIT2 // 传送带后退按钮
|
||
#define DSS4_K_BLT3 DSS_BIT3 // 上料传送带前进按钮
|
||
#define DSS4_K_BLT4 DSS_BIT4 // 上料传送带后退按钮
|
||
#define DSS4_K_BLT5 DSS_BIT5 // 缝纫传送带前进按钮
|
||
#define DSS4_K_BLT6 DSS_BIT6 // 缝纫传送带后退按钮
|
||
#define DSS4_K_BLT7 DSS_BIT7 // 备用
|
||
#define DSS4_K_BLT8 DSS_BIT8 // 备用
|
||
|
||
|
||
|
||
// 0x00D0 ~ 0x00FF // 机头按钮(开关)信号 预留
|
||
#endif
|
||
|
||
//----------------------------------------------------------------
|
||
// 5.机头检测信号 0x0100~0x01FF
|
||
#if (1)
|
||
//--------------------------------
|
||
// 5.1 绣花机 0x0100~0x016F
|
||
#if (1)
|
||
// 0x0100 ~ 0x016F // 绣花机机头检测信号 预留
|
||
#define DSS5_ST0_DCZ1 0x0100 // 绣花下剪线回位(1~8)
|
||
#define DSS5_ST0_DCZ2 0x0101 // 绣花下剪线回位(9~16)
|
||
#define DSS5_ST0_MAZP 0x0102 // M轴零位
|
||
#define DSS5_MA_CHENILLE DSS_BIT1 // 毛巾M轴零位
|
||
#define DSS5_MA_RING DSS_BIT2 // 毛巾打环零位
|
||
#define DSS5_MA_COIL DSS_BIT3 // 缠绕M轴零位
|
||
#define DSS5_MA_CAP DSS_BIT4 // 帽框到位
|
||
|
||
#define DSS5_ST0_DEVS 0x0103 // 装置信号
|
||
#define DSS5_ACS_ALM DSS_BIT1 // 自动换梭报警
|
||
#define DSS5_TR_ALM DSS_BIT2 // 跟踪绳绣报警
|
||
|
||
#define DSS5_ST0_QUI 0x0104 // 勾换零位
|
||
#define DSS5_SZ_HOOK DSS_BIT1 // 勾刀回位
|
||
#define DSS5_SZ_COLOR DSS_BIT2 // 换色零位
|
||
#define DSS5_SZ_CPOS1 DSS_BIT3 // 换色位置1
|
||
#define DSS5_SZ_CPOS2 DSS_BIT4 // 换色位置2
|
||
#define DSS5_SZ_CPOS3 DSS_BIT5 // 换色位置3
|
||
#define DSS5_SZ_CPOS4 DSS_BIT6 // 换色位置4
|
||
#define DSS5_SZ_FOOT DSS_BIT7 // 脚踏开关
|
||
|
||
#endif
|
||
|
||
//--------------------------------
|
||
// 5.2 缝纫机 0x0170~0x01AF
|
||
#if (1)
|
||
//--------------------------------
|
||
#define DSS5_ST1_BKU1 0x0170 // 缝纫面线断线检测(1~8)
|
||
#define DSS5_ST1_BKU2 0x0171 // 缝纫面线断线检测(9~16)
|
||
#define DSS5_ST1_BKD1 0x0172 // 缝纫底线断线检测(1~8)
|
||
#define DSS5_ST1_BKD2 0x0173 // 缝纫底线断线检测(9~16)
|
||
#define DSS5_ST1_DCZ1 0x0174 // 缝纫下剪线回位(1~8)
|
||
#define DSS5_ST1_DCZ2 0x0175 // 缝纫下剪线回位(9~16)
|
||
#define DSS5_ST1_FTZ1 0x0176 // 缝纫压脚提升零位(1~8)
|
||
#define DSS5_ST1_FTZ2 0x0177 // 缝纫压脚提升零位(9~16)
|
||
#define DSS5_ST1_JXH1 0x0178 // 缝纫夹线高位(1~8)
|
||
#define DSS5_ST1_JXH2 0x0179 // 缝纫夹线高位(9~16)
|
||
#define DSS5_ST1_JXL1 0x017A // 缝纫夹线低位(1~8)
|
||
#define DSS5_ST1_JXL2 0x017B // 缝纫夹线低位(9~16)
|
||
#define DSS5_ST1_JXO1 0x017C // 缝纫夹线开位(1~8)
|
||
#define DSS5_ST1_JXO2 0x017D // 缝纫夹线开位(9~16)
|
||
#define DSS5_ST1_JXC1 0x017E // 缝纫夹线合位(1~8)
|
||
#define DSS5_ST1_JXC2 0x017F // 缝纫夹线合位(9~16)
|
||
|
||
// 0x0180 ~ 0x01AF // 缝纫机机头检测信号 预留
|
||
#define DSS5_ST1_DCO1 0x0180 // 缝纫下剪线开位(1~8)
|
||
#define DSS5_ST1_DCO2 0x0181 // 缝纫下剪线开位(9~16)
|
||
|
||
#define DSS5_ST1_NLC1 0x0182 // 针板盖检测(1~8)
|
||
#define DSS5_ST1_NLC2 0x0183 // 针板盖检测(9~16)
|
||
|
||
#define DSS5_ST1_SNZ1 0x0184 // 摆针零位(1~8)
|
||
#define DSS5_ST1_SNZ2 0x0185 // 摆针零位(9~16)
|
||
#endif
|
||
|
||
// 0x0180 ~ 0x01AF // 缝纫机机头检测信号 预留
|
||
|
||
//--------------------------------
|
||
// 5.3 激光/裁床/铣切 0x01B0~0x01FF
|
||
#if (1)
|
||
//--------------------------------
|
||
// 0x01B0 ~ 0x01FF // 非缝绣机机头检测信号 预留
|
||
#endif
|
||
|
||
#endif
|
||
|
||
//----------------------------------------------------------------
|
||
// 6.通用检测信号(按机型划分) 0x0200~0x02FF
|
||
#if (1)
|
||
//--------------------------------
|
||
|
||
// 6.4 其他机型 0x02B0~0x02FF
|
||
#if (1)
|
||
//--------------------------------
|
||
// 0x02B0 ~ 0x02FF // 其他机型检测信号 预留
|
||
#define DSS6_ADDR_02B0 0x02B0 // 自动换梭信号
|
||
// BIT1 : 梭在位检测
|
||
// BIT2 : 扣线伸出位
|
||
// BIT3 : 换梭旋转伸出位
|
||
// BIT4 : 换梭旋转收回位
|
||
// BIT5 : 换梭推动伸出位
|
||
// BIT6 : 换梭推动收回位
|
||
// BIT7 : 换梭摆动伸出位
|
||
// BIT8 : 换梭摆动收回位
|
||
#define DSS6_ADDR_02B1 0x02B1 // 自动对边信号
|
||
// BIT1 : 对边1左限位
|
||
// BIT2 : 对边1左位置
|
||
// BIT3 : 对边1右位置
|
||
// BIT4 : 对边1右限位
|
||
// BIT5 : 对边2左限位
|
||
// BIT6 : 对边2左位置
|
||
// BIT7 : 对边2右位置
|
||
// BIT8 : 对边2右限位
|
||
#define DSS6_ADDR_02B2 0x02B2 // 自动上料架信号
|
||
// BIT1 : 上料架1缺料
|
||
// BIT2 : 上料架1满料
|
||
// BIT3 : 上料架1启动
|
||
// BIT4 : 预留4
|
||
// BIT5 : 上料架2缺料
|
||
// BIT6 : 上料架2满料
|
||
// BIT7 : 上料架2启动
|
||
// BIT8 : 预留8
|
||
#define DSS6_ADDR_02B3 0x02B3 // 主动送料信号
|
||
// BIT1 : 送料1启动
|
||
// BIT2 : 送料1停止
|
||
// BIT3 : 送料2启动
|
||
// BIT4 : 送料2停止
|
||
// BIT5 : 送料3启动
|
||
// BIT6 : 送料3停止
|
||
// BIT7 : 送料4启动
|
||
// BIT8 : 送料4停止
|
||
|
||
#define DSS6_ADDR_02B8 0x02B8 // 床笠裙边机信号
|
||
// BIT1 : 上机头零位
|
||
// BIT2 : 下机头零位
|
||
// BIT3 : 上机头断线检测
|
||
// BIT4 : 下机头断线检测
|
||
// BIT5 : 罗拉电机控制按钮
|
||
// BIT6 : 缺料检测
|
||
// BIT7 :
|
||
// BIT8 :
|
||
|
||
#define DSS6_ADDR_02B9 0x02B9 // 床笠裙边机信号
|
||
// BIT1 : 上料对边左限位
|
||
// BIT2 : 上料对边右限位
|
||
// BIT3 : 上料对边左检测
|
||
// BIT4 : 上料对边右检测
|
||
// BIT5 : 上机头对边左限位
|
||
// BIT6 : 上机头对边右限位
|
||
// BIT7 : 上机头对边左检测
|
||
// BIT8 : 上机头对边右检测
|
||
#endif
|
||
|
||
#endif
|
||
|
||
|
||
//----------------------------------------------------------------
|
||
// 7.个例检测信号(按添加日期划分) 0x0300~0x03FF
|
||
#if (1)
|
||
//--------------------------------
|
||
// 0x0300 ~ 0x030F
|
||
|
||
//--------------------------------
|
||
// 0x03D0 ~ 0x03DF
|
||
#if (1)
|
||
#endif
|
||
|
||
//--------------------------------
|
||
// 0x03E0 ~ 0x03EF
|
||
#if (1)
|
||
#endif
|
||
|
||
//--------------------------------
|
||
// 0x03F0 ~ 0x03FE
|
||
#if (1)
|
||
#endif
|
||
|
||
|
||
#endif
|
||
|
||
#endif //#ifdef DCMD_SEND_SENSORS // 发送传感信号
|
||
//------------------------------------------------------------------------
|
||
|
||
// 命令结构定义
|
||
|
||
typedef union
|
||
{
|
||
DataPacket packet;
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 toggle;
|
||
u8 rev[6];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getMcInfo; // 读取机器信息
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 toggle;
|
||
u8 rev[6];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getMcStatus; // 读取机器状态
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 paraType;
|
||
u16 paraId; // 0, 所有参数; 1--256, 对应的参数号
|
||
u8 rev[4];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getMcParas; // 读取机器参数
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u32 begAddr;
|
||
u16 rdSize;
|
||
u8 rev[2];
|
||
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getMemData; // 读取内存数据
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 backType;
|
||
u8 rev[6];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getSensors; // 读取传感信号
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 fileType;
|
||
u8 fileIdx;
|
||
u8 rev[6];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getFileInfo; // 读取文件信息
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 fileId;
|
||
u8 rev[6];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) getTransResult; // 读取传输结果
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 cfgItem;
|
||
u8 rev[2];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) setMcConfig; // 设置机器配置
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 staCode;
|
||
u16 para;
|
||
u8 rev[4];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) setMcStatus; // 设置机器状态
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 paraType;
|
||
u16 paraId; // 0, 所有参数; 1--256, 对应的参数号
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) setParas; // 设置下位机参数
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u32 begAddr;
|
||
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) setMemData; // 设置内存数据
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 rev[4];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) setFileParas; // 设置文件参数
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 exDataType; // 扩展数据类型
|
||
u8 exDataIdx;
|
||
u8 rev[2];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) setFileExData; // 设置文件扩展数据
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 id;
|
||
u8 nodetype;
|
||
|
||
u8 rev[6];
|
||
|
||
u16 crc;
|
||
} __attribute__ ((packed)) setDefParas; // 设置默认参数
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 fileType;
|
||
u8 fileIdx;
|
||
u16 fileId;
|
||
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
|
||
} __attribute__ ((packed)) setExecProgress; // 设置进度命令
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 rev[4];
|
||
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
|
||
} __attribute__ ((packed)) setInstallment; // 设置分期密码
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 type;
|
||
u32 time; // 单位秒
|
||
|
||
u8 rev[3];
|
||
|
||
u16 crc;
|
||
|
||
} __attribute__ ((packed)) setElapsedTime; // UCMD_SET_ELAPSED_TIME 设置经过的时间
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 actCode;
|
||
u16 para1;
|
||
u16 para2;
|
||
u16 para3;
|
||
u16 crc;
|
||
} __attribute__ ((packed)) actByhand; // 手动动作功能
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 workCode;
|
||
u32 para1;
|
||
u16 para2;
|
||
u16 crc;
|
||
} __attribute__ ((packed)) mcWork; // 机器工作命令
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
s32 posx;
|
||
s32 posy;
|
||
u16 crc;
|
||
} __attribute__ ((packed)) moveFrameTo; // 移动框架到位置命令
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 fileType;
|
||
u8 fileIdx;
|
||
u16 fileId;
|
||
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) startTrans; // 启动文件传输
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 pktIdx;
|
||
u16 fileId;
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) transFileData; // 文件数据传输
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
u32 fileIdxMap;
|
||
u16 crc;
|
||
|
||
} __attribute__ ((packed)) setFilesList; // 设置文件列表
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
u16 upObj;
|
||
u16 upFileID;
|
||
u8 rev[4];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) mcUpdate; // 系统升级
|
||
|
||
|
||
//----------------------------------
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 fileType;
|
||
u8 fileIdx;
|
||
u16 fileId;
|
||
u32 datBlockIdx; // 数据包索引(每个包1024字节)
|
||
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) requestDatBlock; // 请求文件数据
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 toggle;
|
||
u8 rev[2];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendMcInfo; // 发送机器信息
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 toggle;
|
||
u8 rev[2];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendMcStatus; // 发送机器状态
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 paraType;
|
||
u16 paraId; // 0, 所有参数; 1--256, 对应的参数号
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendMcParas; // 发送机器参数
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u32 begAddr;
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendMemData; // 发送内存数据
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 rev[4];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendSensors; // 发送传感信号
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 fileType;
|
||
u8 fileIdx;
|
||
u8 rev[2];
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendFileInfo; // 发送文件信息
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u16 fileId;
|
||
u8 active;
|
||
u8 result;
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendTransResult; // 发送传输结果
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
u8 rev[4];
|
||
u16 crc;
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) sendDebugInfo; // 发送调试信息
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 protocolType; // 协议类型
|
||
u8 nodeType; // 遍历节点类型
|
||
u8 traNum; // 遍历个数
|
||
u8 nodeId; // 遍历起始节点ID
|
||
u8 rev[4];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) traverse; // 遍历命令
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 rev[8];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) rdBoardVer; // 读取外围板程序版本
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u8 protocolType; // 协议类型
|
||
u8 nodeId; // 节点ID
|
||
u8 nodetype; // 节点类型
|
||
u8 rev[5];
|
||
u16 crc;
|
||
} __attribute__ ((packed)) updateBoard; // 升级外围板
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 protocolType; // 协议类型
|
||
u8 nodeId; // 节点ID
|
||
u8 nodeType; // 节点类型
|
||
u8 rev;
|
||
u16 crc;
|
||
|
||
u32 ver[8];
|
||
u8 exData[MAX_EXDP_LEN-32];
|
||
} __attribute__ ((packed)) sendBoardVer; // 发送外围板程序版本
|
||
|
||
struct
|
||
{
|
||
u8 sync[DP_SYNC_LEN];
|
||
u16 cmdCode;
|
||
|
||
u16 exLen;
|
||
u16 exCrc;
|
||
|
||
u8 nodeId;
|
||
u8 nodeType;
|
||
u8 paraid;
|
||
u8 rev;
|
||
u16 crc;
|
||
|
||
u8 exData[MAX_EXDP_LEN];
|
||
} __attribute__ ((packed)) boardPara; // 发送外围板非易失性参数
|
||
|
||
}OperPacket;
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
void InitOperator(void);
|
||
void OperatorTask(void);
|
||
void OperatorTaskWhenRun(int revfile);
|
||
void OperatorTaskWhenBoot(void);
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
int IsNewOperCmd(void);
|
||
|
||
void SendMcStatus(int force);
|
||
|
||
void RequestFileData(u8 fileType, u8 fileIdx, u16 fileId, int datblockIdx);
|
||
int SendDebugInfo(char * pStr);
|
||
int SendFileParas(int beginX, int beginY);
|
||
|
||
//------------------------------------------------------------------------
|
||
|
||
#endif
|