⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datatype.h.bak

📁 单片机和DSP之间的hpi模块程序,实现单片机和dsp的数据传输,单片机是华邦单片机
💻 BAK
📖 第 1 页 / 共 2 页
字号:
/******************************************************************
*   文件名称: DataType . h                                                                     *
*   文件用途: 自定义数据类型声明头文件                      *
*                                                                                                                   *
*                                                                                                                   *
*                                                                                                                   *
*******************************************************************/

#ifndef __DATATYPE_H__
#define __DATATYPE_H__

//#include "W79E532.h"
//#include <absacc.h>

/*----------- 自定义数据类型----------*/
#define  uchar  unsigned char
#define  uint     unsigned int 


/*------------MCU与DSP接口------------------*/

//输入/输出缓冲区数据结构
struct MCUOUTPUTBUFFER
{
   //运动
   long    lYIncrement;                   //Y轴增量
   long    lZIncrement;                   //Z轴增量

   uint     unReserve0[4];               //保留

   long    lI;                                   //圆心距离I
   long    lK;                                   //圆心距离J
   long    lR;                                  //半径R

   long    lFeedrate;                      //进给速率
   
   uint     unReserve1[3];                   //保留

   //状态  
   uchar  ucReserve2;   
   uchar  ucCommandStatus;         //命令状态字
   uchar  ucReserve3;          
   uchar  ucMotionMode;               //运动模式
   uchar  ucReserve4;  
   uchar  ucScaleMeter;                //量仪信号
   uchar  ucReserve5;          
   uchar  ucMCUOperateMode;      //MCU工作模式

   uint     unReserve6;               //保留

   //输出
   uchar  ucF[8];                            //输出
   uint     unReserve7[2];               //保留
   
   long    lDelayTimeIO;                //I/O延时

   uint     unReserve8[2];               //保留

};

struct MCUINPUTBUFFER
{
   //运动
   long   lProgramY;                   //Y轴编程坐标
   long   lProgramZ;                   //Z轴编程坐标
   long   lMachineY;                    //Y轴实际坐标
   long   lMachineZ;                    //Z轴实际坐标   
   long   lLeaveY;                      //Y轴余量
   long   lLeaveZ;                       //Z轴余量
   int      nYservoError;             //Y轴伺服误差
   int      nZservoError;              //Z轴伺服误差

   uint    unReserve0[4];            //保留   

  //输入
   uchar ucG[12];                        //I/O输入

  //状态
  uchar  ucReserve1;
  uchar  ucAlarmCode;             //报警代码
  uchar  ucReserve2;
  uchar  ucMotionStatus;          //运动状态

  uint    unReserve3[2];            //保留   
 
};

//参数值数据结构
struct PARAMETERVALUE
{
   //G00
   uint   unYHomeFastSpeed;            //Y轴回零快速速度
   uint   unZHomeFastSpeed;               //Z轴回零快速速度
   
   uint   unYAccelerateTime;            //Y轴加速时间   
   uint   unZAccelerateTime;            //Z轴加速时间

   uint   unYFastSpeed;                    //Y轴最快速度
   uint   unZFastSpeed;                    //Z轴最快速度
   
  //G01
   uint   unYHomeSlowSpeed;            //Y轴回零低速速度
   uint   unZHomeSlowSpeed;            //Z轴回零低速速度

   uint    unYCutAccelerateTime;      //Y轴切削加减速时间
   uint    unZCutAccelerateTime;      //Z轴切削加减速时间

  //运动倍率
//   uchar  ucReserve0;                      //保留字节
   uint    unFastMultipleScale;           //快进倍率放大系数  
//   uchar  ucReserve1;                      //保留字节
   uint    unFeedMultipleScale;         // 进给倍率放大系数
   uchar  ucReserve2;                      //保留字节
   uchar  ucHWMultiple;                   //手轮脉冲当量
   
 //其他运动参数
   uint     unYBacklash;                    //Y轴反向间隙
   uint     unZBacklash;                    //Z轴反向间隙

   uchar  ucReserve3;                       //保留字节
   uchar  ucBitParameter1;               //位参数1
   uchar  ucReserve4;                       //保留字节
   uchar  ucBitParameter2;               //位参数2
   uchar  ucReserve5;                       //保留字节
   uchar  ucBitParameter3;               //位参数3
   uchar  ucReserve6;                       //保留字节
   uchar  ucBitParameter4;               //位参数3
   uchar  ucReserve7;                       //保留字节
   uchar  ucBitParameter5;               //位参数3
   uchar  ucReserve8;                       //保留字节
   uchar  ucBitParameter6;               //位参数3

   uint     unMTime;                           //M代码时间
   
   uint     unYPitch;                           //Y轴丝杠螺距
   uint     unZPitch;                           //Z轴丝杠螺距

   uint     unYMotorGear;                   //Y轴电机端齿数
   uint     unZMotorGear;                   //Z轴电机端齿数

   uint     unYLeadScrewGear;           //Y轴丝杠端齿数
   uint     unZLeadScrewGear;           //Z轴丝杠端齿数

   uint     unYVelocitySensitivity;       //Y轴速度灵敏度
   uint     unZVelocitySensitivity;       //Z轴速度灵敏度

   uint     unYEncoderResolution;        //Y轴编码器线数
   uint     unZEncoderResolution;        //Z轴编码器线数

 //PID参数
   uint      unKYp;                                //Y轴比例系数
   uint      unKYi;                                 //Y轴积分系数
   uint      unIYlimit;                           //Y轴积分饱和度
   uint      unKYd;                               //Y轴微分系数
   uint      unKYv;                               //Y轴速度前馈
   
   uint      unKZp;                                //Z轴比例系数
   uint      unKZi;                                 //Z轴积分系数
   uint      unIZlimit;                           //Z轴积分饱和度   
   uint      unKZd;                                //Z轴微分系数
   uint      unKZv;                                //Z轴速度前馈  
   uint      unYServoError;                  //Y轴跟随误差极限
   uint      unZServoError;                  //Z轴跟随误差极限
   uint      unYZeroOffset;                   //Y轴零偏补偿
   uint      unZZeroOffset;                   //Z轴零偏补偿
   
   uint      unYPitchOrigin;                  //Y轴螺距补偿原点
   uint      unYPitchInteral;                 //Y轴螺距补偿间隔
   uint      unZPitchOrigin;                   //Z轴螺距补偿原点
   uint      unZPitchInteral;                 //Z轴螺距补偿间隔

   uint      unYDegree;                        //Y轴斜角
   uint      unZDegree;                        //Z轴斜角
   
   uint      unFastBackStroke;            //快速回退距离

		
  // 不用传送到DSP的参数 
   long     lYPStroke;                           //Y轴正限位值
   long     lYNStroke;                           //Y轴负限位值
   long     lZPStroke;                           //Z轴正限位值
   long     lZNStroke;                           //Z轴负限位值
   
   uint      unSpindleLow;                   //主轴低档转速
   uint      unSpindleMiddle;               //主轴中档转速
   uint      unSpindleHigh;                  //主轴高档转速
   uint      unBrakeTime;                    //主轴制动时间

   uint      unNoInterval;                    //顺序号间隔
   long     lMDIFeedRate;                //MDI方式的速率

   uint      unYHomeGrid;                   //Y轴栅格量
   uint      unZHomeGrid;                   //Z轴栅格量
   
};


//PLC诊断信号数据结构
struct PLCSIGNEL
{
   uchar   ucG[12];    //G信号
   uchar   ucF[8];      //F信号
   uchar   ucX[6];      //X信号
   uchar   ucY[4];    //Y信号
   uchar   ucR[16];      //R信号
   uchar   ucT[2];      //T信号   
   uchar   ucC[2];      //C信号
   uint      unTPresent[8];   //定时器预置值
   uint      unCPresent[8];   //计数器预置值
   uint      unTCurrent[8];   //定时器当前值
   uint      unCCurrent[8];   //计数器当前值

};


//显示参数数据结构
struct PARAMETER
{
   uchar   ucType;                           //数值类型,0=整数(2Byte),1=浮点数(2Byte),2=二进制数(1Byte),3=浮点数(4Byte),浮点数保留3位小数
   long     lMin;                                //最小值
   long     lMax;                               //最大值

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -