📄 modbus.h
字号:
/*================================================================================
function prototypes for the communication.
=====================================================================================
History:
-------------------------------------------------------------------------------------
03-16-2005 Release Rev 1.0
------------------------------------------------------------------------------*/
#ifndef __Modbus_H__
#define __Modbus_H__
#define DELAYCOUNT 23 //4.5ms = 23*200us
#define PARANUMMAX 40 //数据缓存的最大个数,防止溢出
#define PARAMETER_MAX_NUMBER 40 //StatusInfo个数,防止溢出
#define MENU_MAX_NUMBER 69 //StatusInfo个数,防止溢出,用于翻页
#define MENU_MAX_NUMBER_TBLA 86 //485参数表参数个数
typedef struct {
Uint16 CommFlag; //状态标识
Uint16 CommCount; //延时计数
int ParaNum; //菜单页编号
int FaultNum; //故障编号
Uint16 Slave_Address; //从机地址
Uint16 Index; //参数地址
Uint16 CommData[PARANUMMAX]; //数据缓存
void (*Comm)(); //通讯主函数
void (*InitSciPort)(); //初始化函数
} MODBUS;
typedef MODBUS *Modbus_handle;
/*------------------------------------------------------------------------------
datatab used in Modbus.C,define in para_tab.asm
------------------------------------------------------------------------------*/
extern int Para_Tab[][16]; //参数页信息表
extern int ParaTblA[][16];
extern int Fault_Tab[][9]; //故障页信息表
extern int FaultTabA[][9]; //故障页信息表
extern int auchCRCHi[]; //crc
extern int auchCRCLo[]; //crc
extern long StatusInfo[];
extern long MenuInfo[];
extern long MenuInfo1[];
extern long MenuInfo2[];
extern long MenuInfo10[];
extern long MenuInfo11[];
extern long MenuInfo12[];
extern long MenuInfo20[];
extern long MenuInfo21[];
extern long MenuInfo22[];
extern long MenuInfo23[];
extern long MenuInfo24[];
extern long MenuInfo25[];
extern long MenuInfo90[];
extern long MenuInfo91[];
//故障代码地址
/*-----------------------------------------------------------------------------
Default initalizer for the Modbus object.
-----------------------------------------------------------------------------*/
#define ModbusA_DEFAULTS {0,\
0,\
0,\
0,\
0x02,\
0,\
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},\
(void (*)(Uint32))CommA,\
(void (*)(Uint32))InitSciAPort,\
}
#define ModbusB_DEFAULTS { 0,\
0,\
0,\
0,\
0,\
0,\
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},\
(void (*)(Uint32))CommB,\
(void (*)(Uint32))InitSciBPort,\
}
/*------------------------------------------------------------------------------
Prototypes for the functions in Modbus.C
------------------------------------------------------------------------------*/
void CommA(Modbus_handle);
void CommB(Modbus_handle);
void InitSciAPort();
void InitSciBPort();
Uint16 CRC_cal(Uint16 *puchMsg,Uint16 usDataLen);
//extern volatile struct TABLE Table;
#endif // __Modbus_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -