📄 datatype.h.bak
字号:
void xdata *pParameterAdr; //参数的地址
};
/*-----------------程序编译数据结构------------------*/
union UINTandPointer //无符号整数与其指针共用体
{
uint unData;
uint xdata * punData;
};
union LONGandPointer //长整数与其指针共用体
{
long lData;
long xdata * plData;
};
union UCHARandPointer //无符号字符与其指针共用体
{
uchar ucData;
uint xdata * punData;
};
union LONGandVoidPointer //长整数与空指针共用体
{
long lData;
void xdata * pData;
};
//代码缓冲区数据结构
struct CODECOMPILEBUFFER
{
//G代码
uchar ucGCodeGroup1; //第1组G代码:G00,G01,G02,G03,G31,G28,G29
uchar ucGCodeGroup2; //第2组G代码:G04
uchar ucGCodeGroup3; //第3组G代码:G90,G91
//运动参数
union LONGandPointer lProgramY; //Y轴编程坐标
union LONGandPointer lProgramZ; //Z轴编程坐标
union LONGandPointer lFeedRate; //进给速率
union LONGandPointer lI; //圆弧插补I值
union LONGandPointer lK; //圆弧插补K值
union LONGandPointer lR; //圆弧半径
//M代码
uchar ucMCodeGroup1; //M代码
// uchar ucMCodeGroup1; //第1组M代码:M00,M02,M30,M97,M98,M99
// uchar ucMCodeGroup2; //第2组M代码:M03,M04,M05,
// uchar ucMCodeGroup3; //第3组M代码:M08,M09
// uchar ucMCodeGroup4; //第4组M代码:M21,M22,M23,M24,M81,M82,M83,M84
// uchar ucMCodeGroup5; //第5组M代码:M14,M15
// uchar ucMCodeGroup6; //第6组M代码:M16,M17,M18,M19,M20
uint unJumpRowNo; //跳转或子程序行号
union UCHARandPointer ucCallTimes; //子程序调用次数
union LONGandPointer lDelayTime; //延时时间
uchar ucDataType; //数据类型标志位(bit=0:常数;bit=1:指针)
// |bit7|bit6|bit5|bit4|bit3|bit2|bit1|bit0|=
// | Y | Z | F | L | D | I | K | R |
};
//输出命令结构
struct OUTPUTCOMMAND
{
uchar ucOutputByteNo; //输出字节编号
uchar ucOutputByte; //输出字节
uchar ucBitValue; //输出位值
uchar ucLightDeal; // 指示灯处理代号
union LONGandPointer lDelayTime; //延时时间
};
//输入命令结构
struct INPUTCOMMAND
{
uchar ucInputByteNo; //输入字节编号
uchar ucInputByte; //输入字节
uchar ucBitValue; //输入位值
uint unJumpRowNo; //跳转行号
};
//运动命令结构
struct MOTIONCOMMAND
{
union LONGandPointer lY; //Y轴增量
union LONGandPointer lZ; //Z轴增量
union LONGandPointer lFeedrate; //进给速率
};
//子程序调用命令
struct CALLCOMMAND
{
uint unJumpRowNo; //子程序的开始行号
union UCHARandPointer ucCallTimes; //调用次数
uint ucRemainTimes; //剩余调用次数
};
//宏指令结构
struct MACROCOMMAND
{
union LONGandVoidPointer lResult; //运算结果
union LONGandVoidPointer lData1; //操作数1
union LONGandVoidPointer lData2; //操作数2
};
//命令内容共用体
union COMMANDDATA
{
struct MOTIONCOMMAND MotionCommand;
struct OUTPUTCOMMAND OutputCommand;
struct INPUTCOMMAND InputCommand;
struct CALLCOMMAND CallCommand;
struct MACROCOMMAND MacroCommand;
union LONGandPointer lDelayTime;
uint unJumpRowNo;
};
//命令存储结构
struct COMMAND
{
uint unRowNo; //行号
uchar ucCommandType; //命令类型
uchar ucDataFlag; //数据类型标志 |bit7|bit6|bit5|bit4|bit3|bit2|bit1|bit0|=|Y|Z|F|L|D|I|K|R|=|Data1Pointer|Data2Pointer|Data1Type|Data2Type|ResultType|Operator2~0|
union COMMANDDATA CommandData; //命令数据
};
/*----------------程序存储数据结构--------------------------*/
//文件管理表数据结构
struct FATNODE
{
uint unFileStart; //NC 程序文件在程序代码空间的开始位置的索引号
uchar ucComplieFlag; //编译结果标志(0-错误;1-主程序编译通过;2-子程序编译通过)
};
//PLC存储数据结构
struct PLC_CODE
{
uchar ucPLCCommandType; //命令类型
uchar ucPLCAddress[2]; //命令地址(ucPLCAddress[0]-字节地址;ucPLCAddress[1]-位地址)
};
/*---------------------坐标-----------------------------------*/
//位置点数据结构
struct POINT
{
long lY;
long lZ;
};
/*--------------------显示----------------------------------------*/
//显存光标位置指针
union CURSOR_ADR
{
uint Adr ; //光标指针位置
struct
{
unsigned char AdrH; //光标指针位置高字节
unsigned char AdrL; //光标指针位置低字节
}AdrByte;
};
union UINTandBYTE //无符号整数与字节的公用体
{
uint unData;
struct //高低字节结构体
{
uchar ucDataH;
uchar ucDataL;
}DataByte;
};
enum AlarmCode //报警代码
{
ESP, //0
PLCRunError,
PLCProgramError,
YDriverAlarm,
ZDriverAlarm,
YServoError, //5
ZServoError,
YAdjustErrorN,
YAdjustErrorP,
ZAdjustErrorN,
ZAdjustErrorP, //10
ParameterAlarm,
ParameterError,
YJLimtP,
YJLimtN,
ZJLimtP, //15
ZJLimtN,
URGENTBACK,
YPLimtP,
YPLimtN,
ZPLimtP, //20
ZPLimtN,
GWMOver,
HPMover,
RMOver,
YNoHome, //25
ZNoHome,
LiquidLow,
NoAlarm //28
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -