| | |
| | | #define STORE_PRG_PAGESIZE (0x00000400) //Page Size = 1K
|
| | | #define STORE_PRG_PAGES 4 //use 4 pages
|
| | |
|
| | | #define ALT_PRG_BASE (FLASH_BASE + 0x00009000) //36k //and FLASH_BANK1_END
|
| | | #define ALT_PRG_BASE (FLASH_BASE + 0x0000A000) //36k //and FLASH_BANK1_END
|
| | | #define ALT_PRG_PAGESIZE (0x00000400) //Page Size = 1K
|
| | | #define ALT_PRG_PAGES 4 //use 4 pages
|
| | |
|
| | |
| | | #define STORE_SYSREG_PAGESIZE (0x00000400) //Page Size = 1K
|
| | | #define STORE_SYSREG_PAGES 1 //use 1 pages
|
| | |
|
| | | #define STORE_RUNSTAT_BASE (FLASH_BASE + 0x0000B000) //44k K //and |
| | | #define STORE_RUNSTAT_BASE (FLASH_BASE + 0x0000A800) //44k K //and |
| | | #define STORE_RUNSTAT_PAGESIZE (0x00000400) //Page Size = 1K
|
| | | #define STORE_RUNSTAT_PAGES 1 //use 1 pages
|
| | |
|
| | |
| | | #define STORE_LOG_BASE (FLASH_BASE + 0x0000C000) //48k and FLASH_BANK1_END
|
| | | #define STORE_LOG_PAGESIZE (0x00000400) //Page Size = 1K
|
| | | #define STORE_LOG_PAGES 4 //use 4 pages
|
| | |
|
| | |
|
| | | typedef unsigned char uchar;
|
| | | typedef unsigned char UCHAR;
|
| | |
| | | typedef unsigned short WORD;
|
| | | typedef unsigned char BYTE;
|
| | |
|
| | | #define LoBofW(x) ((x)&0xff)
|
| | | #define HiBofW(x) (((x)>>8)&0xff)
|
| | |
|
| | | #define LoHofB(x) ((x)&0xf)
|
| | | #define HiHofB(x) (((x)>>4)&0xf)
|
| | |
|
| | | // 信息块
|
| | | // 工厂参数配置块
|
| | | // 用户/系统参数配置块
|
| | | // |
| | | //
|
| | |
|
| | | typedef struct tagInfoBlock // 20 bytes
|
| | | {
|
| | | // USHORT nBlockLenth;
|
| | | USHORT nDeviceTypeVer; //device type x.y
|
| | | // UCHAR nDevierVer;
|
| | | USHORT ProgVer; //prog version x.y
|
| | | USHORT KLinkVer; //x.y
|
| | | USHORT KBusVer; //x.y
|
| | | |
| | | UCHAR nCapacity1; // ? K
|
| | | UCHAR nCapacity2; // ? k
|
| | | |
| | | UCHAR nDInput;
|
| | | UCHAR nDOutput;
|
| | | UCHAR nAInput;
|
| | | UCHAR nAOutput;
|
| | | UCHAR nHInput;
|
| | | UCHAR nHOutput;
|
| | | UCHAR nExt1;
|
| | | UCHAR nExt2;
|
| | | UCHAR nLogSize;
|
| | | UCHAR nPorts;
|
| | | UCHAR nManSize;
|
| | | UCHAR nAbility;
|
| | | UCHAR nSwitchBits;
|
| | | |
| | | }stKMInfoBlock;
|
| | |
|
| | | /*
|
| | | typedef struct tagFactData
|
| | | {
|
| | | USHORT Sign; //
|
| | | USHORT nLength; //
|
| | | UCHAR LOT_NO[16]; //
|
| | | UINT MANDate; //
|
| | | UINT SN; //
|
| | | UINT REV1[24]; //
|
| | | USHORT rev9;
|
| | | USHORT CRC;
|
| | | |
| | | }stFactData;
|
| | | */
|
| | | typedef struct tagFactoryData //工厂量产参数,数据
|
| | | {
|
| | | USHORT Sign1;
|
| | | USHORT Seq1;
|
| | | USHORT nModelNo;
|
| | | USHORT nModelVer;
|
| | | UINT nLotNo;
|
| | | UINT nProductDateTime;
|
| | | UINT SN1;
|
| | | UINT nProtocalVer;
|
| | | UINT nDefaultFunc;
|
| | | UCHAR ModelStr[16];
|
| | | UCHAR LOT_NO[16]; //
|
| | | UCHAR SNStr[16];
|
| | | unsigned short CRC1;
|
| | | unsigned short EndSign1;
|
| | | |
| | | }stFactoryData,* pFactoryData;
|
| | |
|
| | |
|
| | | enum enStoreCfg
|
| | | {
|
| | | CFG_VER = 0x100,
|
| | | START_SIGN = 0x55aa,
|
| | | END_SIGN = 0x5aa5,
|
| | | };
|
| | |
|
| | |
|
| | | enum enInputFilter
|
| | | {
|
| | |
| | | Output_Set_1 = 2,
|
| | | };
|
| | |
|
| | | typedef struct tagPortStatus
|
| | | {
|
| | | USHORT porttype; //232,485,net , wireless// KLink, KBus, KNet, KWireless
|
| | | UCHAR StationID;
|
| | | UCHAR MaxStations;
|
| | | UCHAR CurStations;
|
| | | UCHAR Running;
|
| | | UCHAR Health;
|
| | | }stPortStatus,*pPortStatus;
|
| | |
|
| | | enum enPortType
|
| | | {
|
| | | PortType_Com = 0, //计算机通讯
|
| | | PortType_Gen = 1, //通用通讯,自由口
|
| | | PortType_KLink = 2, //KlinkͨѶ
|
| | | PortType_KBus = 3, //KBusͨѶ
|
| | | PortType_KNet = 4, // KNetͨѶ
|
| | | PortType_ModbusRTU = 5, //Modbus RTU ͨѶ
|
| | | PortType_Default = 0, //默认
|
| | | PortType_KLink = 1, //KLink通讯
|
| | | PortType_KBus = 2, //KBus通讯
|
| | | PortType_KNet = 3, // KNet通讯
|
| | | PortType_ModbusRTU = 4, //Modbus RTU 通讯
|
| | | PortType_Com = 5, // 计算机通讯
|
| | | PortType_Gen = 6, //通用通讯,自由口
|
| | | };
|
| | |
|
| | | typedef struct tagComPortParam //4 Bytes
|
| | | {
|
| | | USHORT WorkMode; /* 0-5=Default,KLink,KBus,KNet,RTU,Com,Gen */
|
| | | USHORT Station; /* 0=From jumper */
|
| | | USHORT BaudRate; /* =*100 Baudrate at which running */
|
| | | USHORT ByteSize:2; /* 0-1=Number of bits/byte, 7-8 */
|
| | | USHORT Parity:4; /* 0-4=None,Odd,Even,Mark,Space */
|
| | | USHORT StopBits:2; /* 0,1,2 = 1, 1.5, 2 */
|
| | | USHORT EndType:2; /* 0=ByChar, 1= ByTime */
|
| | | USHORT EofChar:4; /* 0,1,2 = None, CR, CR+LF, ETX; End of character */
|
| | | USHORT SofChar:2; /* 0,1,2 = None, STX */
|
| | | USHORT EndTime; /*(*0.01mS) */
|
| | | USHORT RecvAddr;
|
| | | USHORT RecvSize;
|
| | |
|
| | | }stComPortParam, *pstComPortParam;
|
| | |
|
| | | //每个模块有 0/1/2/3/4/5/6/7/8个 通讯port
|
| | | //不限于 UART, 网口,无线,单总线等,都是port
|
| | | //甚至可以有虚拟的port
|
| | |
|
| | | typedef struct tagPortStat
|
| | | {
|
| | | UCHAR PortType; //端口工作模式
|
| | | UCHAR nStation; //自己站号
|
| | | UCHAR bWorking; //工作中
|
| | | UCHAR bBus; //总线?,,全双工?
|
| | | UCHAR bMaster; //主机
|
| | | UCHAR nDevices; //连接的设备数量//不包括自己 //device list;
|
| | | |
| | | }stPortStat,*pPortStat;
|
| | |
|
| | | typedef struct tagKMFuncParam
|
| | | {
|
| | | USHORT EnablePLC:1; //使能内部PLC功能
|
| | | USHORT RunMode; //工作模式
|
| | | }stKMFuncParam;
|
| | |
|
| | | // 输入输出地址映射
|
| | |
|
| | | typedef struct tagInputFilterParam // 1 Bytes
|
| | | {
|
| | | BYTE Filter0:4;
|
| | | BYTE Filter1:4;
|
| | |
|
| | | }stInputFilterParam;
|
| | |
|
| | | typedef struct tagOutputHoldParam //1 Bytes
|
| | | {
|
| | | BYTE Hold1:4;
|
| | | BYTE Hold2:4;
|
| | | }stOutputHoldParam; |
| | |
|
| | | #pragma anon_unions
|
| | | typedef struct tagKMSysCfg //120 Bytes total
|
| | | {
|
| | | USHORT Version; // SC0 // 2 Bytes
|
| | | USHORT workmode; // SC1 // 2 Bytes 0=From jumper |
| | | USHORT SwitchFunc; // SC2 // 2 Bytes |
| | | USHORT pad1; // 2 Bytes
|
| | | |
| | | stComPortParam PortParams[2]; // 8 Bytes
|
| | | stInputFilterParam InputParams[16]; //16 Bytes
|
| | | stOutputHoldParam OutputParams[16]; //16 Bytes
|
| | | USHORT OutMappings[6]; //12 Bytes //输出映射
|
| | | |
| | | UINT cfgvar3; // 4 Bytes
|
| | | UINT cfgvar4; // 4 Bytes
|
| | | UINT cfgvar5; // 4 Bytes
|
| | | UINT cfgvar6; // 4 Bytes
|
| | | UINT cfgvar7; // 4 Bytes
|
| | | UINT cfgvar8; // 4 Bytes
|
| | | UINT cfgvar9; // 4 Bytes
|
| | | UINT cfgvar10; // 4 Bytes
|
| | | UINT cfgvar11; // 4 Bytes
|
| | | UINT cfgvar12; // 4 Bytes
|
| | | // UINT cfgvar13; // 4 Bytes
|
| | | // UINT cfgvar14; // 4 Bytes
|
| | | // UINT cfgvar15; // 4 Bytes
|
| | | // UINT cfgvar16; // 4 Bytes
|
| | | // UINT Space1[4]; //16 Bytes
|
| | |
|
| | | }stKMSysCfg,* pKMSysCfg;
|
| | |
|
| | | typedef struct tagStoredKMSysCfg
|
| | | {
|
| | | unsigned short Sign1;
|
| | | unsigned short Seq1;
|
| | | stKMSysCfg theKMSysCfg;
|
| | | unsigned short CRC1;
|
| | | unsigned short EndSign1;
|
| | | }stStoredKMSysCfg,*pStoredKMSysCfg;
|
| | |
|
| | | enum enKeventType
|
| | | {
|
| | |
| | |
|
| | | EventType
|
| | | };
|
| | | typedef struct tagKMFuncParam
|
| | | {
|
| | | USHORT EnablePLC:1; //使能内部PLC功能
|
| | | USHORT RunMode; //工作模式
|
| | | }stKMFuncParam;
|
| | |
|
| | | // 输入输出地址映射
|
| | |
|
| | | typedef struct tagComPortParam
|
| | | {
|
| | | USHORT PortType:4; /* 0-4=None,Odd,Even,Mark,Space */
|
| | | USHORT ByteSize:2; /* 0-1=Number of bits/byte, 7-8 */
|
| | | USHORT Parity:4; /* 0-4=None,Odd,Even,Mark,Space */
|
| | | USHORT StopBits:2; /* 0,1,2 = 1, 1.5, 2 */
|
| | | USHORT EofChar:2; /* 0,1,2 = None, CR, CR+LF, ETX; End of character */
|
| | | USHORT SofChar:2; /* 0,1,2 = None, STX */
|
| | | USHORT BaudRate; /* =*100 Baudrate at which running */
|
| | | }stComPortParam;
|
| | |
|
| | | typedef struct tagInputFilterParam
|
| | | {
|
| | | BYTE Filter0:4;
|
| | | BYTE Filter1:4;
|
| | |
|
| | | }stInputFilterParam;
|
| | |
|
| | | typedef struct tagOutputHoldParam
|
| | | {
|
| | | BYTE Hold1:4;
|
| | | BYTE Hold2:4;
|
| | | }stOutputHoldParam; |
| | |
|
| | | #pragma anon_unions
|
| | | typedef struct tagMSysCfg
|
| | | {
|
| | | unsigned short Sign1;
|
| | | unsigned short Seq1;
|
| | | UINT cfgvar2;
|
| | | stComPortParam Ports[2];
|
| | | stOutputHoldParam OutputParams[16];
|
| | | stInputFilterParam InputParams[16];
|
| | | |
| | | UINT cfgvar3;
|
| | | UINT cfgvar4;
|
| | | UINT cfgvar5;
|
| | | UINT cfgvar6;
|
| | | UINT cfgvar7;
|
| | | UINT cfgvar8;
|
| | | UINT cfgvar9;
|
| | | UINT cfgvar10;
|
| | | UINT cfgvar11;
|
| | | UINT cfgvar12;
|
| | | UINT cfgvar13;
|
| | | UINT cfgvar14;
|
| | | UINT cfgvar15;
|
| | | UINT cfgvar16;
|
| | | UINT Space1[5];
|
| | |
|
| | | unsigned short CRC1;
|
| | | unsigned short EndSign1;
|
| | | }stKMSysCfg,* pKMSysCfg;
|
| | |
|
| | | typedef struct tagFactoryData //工厂量产参数,数据
|
| | | {
|
| | | unsigned short Sign1;
|
| | | unsigned short Seq1;
|
| | | unsigned int nModelNo;
|
| | | unsigned int nModelVer;
|
| | | unsigned int SN1;
|
| | | unsigned int nProtocalVer;
|
| | | unsigned int nProductDateTime;
|
| | | unsigned int nLotNo;
|
| | | unsigned int nDefaultFunc;
|
| | | char ModelStr[16];
|
| | | char SNStr[16];
|
| | | unsigned short CRC1;
|
| | | unsigned short EndSign1;
|
| | | |
| | | }stFactoryData,* pFactoryData;
|
| | |
|
| | | typedef struct tagEventLog
|
| | | {
|
| | |
| | | {
|
| | | unsigned short Sign1;
|
| | | unsigned short Seq1;
|
| | | unsigned short PowerCount; //
|
| | | unsigned short Reserved1;
|
| | | unsigned int UpTime; //Seconds;
|
| | | unsigned int UserData1;
|
| | | unsigned int Reserved2[3];
|
| | | volatile unsigned short PowerCount; //
|
| | | volatile unsigned short Reserved1;
|
| | | volatile unsigned int UpTime; //Seconds;
|
| | | volatile unsigned int UserData1;
|
| | | volatile unsigned short WorkMode;
|
| | | volatile unsigned short WorkMode2;
|
| | | volatile unsigned short nBinProgBank;
|
| | | volatile unsigned short nBinProgSize;
|
| | | unsigned short bLEDFlick;
|
| | | unsigned short Reserved2[1];
|
| | | unsigned short CRC1;
|
| | | unsigned short EndSign1;
|
| | | }stRunStat, *pRunStat;
|
| | |
| | | //stStoreCfg * GetCurStoreCfgAddr(void );
|
| | | //stStoreCfg * GetNextStoreCfgAddr(stStoreCfg * CurCfg );
|
| | |
|
| | | extern stKMSysCfg KMSysCfg;
|
| | | extern stStoredKMSysCfg storedKMSysCfg;
|
| | |
|
| | | #define TYPECOIL 0x00
|
| | | #define TYPEDATA 0x80
|
| | |
|
| | | enum enKLCoilTypes
|
| | | {
|
| | | KLCoilTypeX = 0 | TYPECOIL , //X Input
|
| | | KLCoilTypeY = 1 | TYPECOIL, //Y Output
|
| | | KLCoilTypeR = 2 | TYPECOIL, //R register
|
| | | KLCoilTypeLX = 3 | TYPECOIL, //Link register
|
| | | KLCoilTypeLY = 4 | TYPECOIL, //Link register
|
| | | KLCoilTypeT = 5 | TYPECOIL, //Timer
|
| | | KLCoilTypeC = 6 | TYPECOIL, //Counter
|
| | | KLCoilTypeLR = 7 | TYPECOIL, //Link register
|
| | | KLCoilTypeSR = 8 | TYPECOIL, //Link register
|
| | |
|
| | | };
|
| | | enum enKLDataTypes
|
| | | {
|
| | | KLDataTypeDEC = 0 | TYPEDATA,
|
| | | KLDataTypeHEX = 1 | TYPEDATA,
|
| | | KLDataTypeFloat = 2 | TYPEDATA,
|
| | | KLDataTypeWX = 3 | TYPEDATA,
|
| | | KLDataTypeWY = 4 | TYPEDATA,
|
| | | KLDataTypeWR = 5 | TYPEDATA,
|
| | | KLDataTypeWLX = 6 | TYPEDATA,
|
| | | KLDataTypeWLY = 7 | TYPEDATA,
|
| | | KLDataTypeDT = 8 | TYPEDATA,
|
| | | KLDataTypeSDT = 9 | TYPEDATA,
|
| | | KLDataTypeWSR = 10 | TYPEDATA,
|
| | | KLDataTypeSV = 11 | TYPEDATA,
|
| | | KLDataTypeEV = 12 | TYPEDATA,
|
| | | KLDataTypeLD = 13 | TYPEDATA,
|
| | | KLDataSysCfg = 25 | TYPEDATA,
|
| | | KLDataTypeFlash = 33 | TYPEDATA,
|
| | | KLDataTypeWDT = 41 | TYPEDATA,
|
| | | KLDataTypeKBD = 51 | TYPEDATA,
|
| | | KLDataTypeTest = 254 | TYPEDATA,
|
| | | };
|
| | | |
| | | typedef struct tagTimerStat
|
| | | {
|
| | | unsigned short nScale:2;//Time Scale, 0:1ms 1:10ms 2:100ms 3:1S
|
| | | unsigned short nType:1; //0 : timer 1:counter ;
|
| | | unsigned short nDir:1; //0 : count down. 1 count up;
|
| | | unsigned short nInited:1;
|
| | | unsigned short bSet:1;
|
| | | unsigned short bTon:1;
|
| | | |
| | | }stTimerStat;
|
| | |
|
| | | typedef struct tagTimer
|
| | | {
|
| | | unsigned int LastActTime;
|
| | | union {
|
| | | unsigned short StatByte;
|
| | | struct |
| | | {
|
| | | unsigned short nScale:2; //Time Scale, 0:1ms 1:10ms 2:100ms 3:1S
|
| | | unsigned short nType:1; //0 : timer 1 : counter ;
|
| | | unsigned short nDir:1; //0 : count down. 1 count up;
|
| | | unsigned short nInited:1;
|
| | | unsigned short bSet:1;
|
| | | unsigned short bTon:1;
|
| | | |
| | | }; |
| | | // stTimerStat Stat;
|
| | | };
|
| | | }stTimer;
|
| | |
|
| | | #define TOTAL_WDFS (32) //Total DF Count
|
| | | #define TOTAL_CurVAL (16) //
|
| | | #define TOTALTIMERS (64)
|
| | |
|
| | | enum enKLDataCounts
|
| | | {
|
| | |
|
| | | KLDataWXCount = 16,
|
| | | KLDataWYCount = 16,
|
| | | KLDataWRCount = 16,
|
| | | KLDataLDCount = 64,
|
| | | KLDataWLCount = 8, |
| | | |
| | | KLCoilXCount = KLDataWXCount * 16,
|
| | | KLCoilYCount = KLDataWYCount * 16,
|
| | | KLCoilRCount = KLDataWRCount * 16,
|
| | |
|
| | | KLCoilTCount = 64,
|
| | | KLCoilCCount = KLCoilTCount,
|
| | |
|
| | | KLDataSVCount = KLCoilTCount,
|
| | | KLDataEVCount = KLCoilTCount,
|
| | |
|
| | | KLCoilLXCount = 128,
|
| | | KLCoilLYCount = 128,
|
| | | KLCoilLRCount = 128,
|
| | | KLCoilSRCount = 128,
|
| | |
|
| | | KLDataDTCount = 128,
|
| | | KLDataSDTCount = 128,
|
| | | KLDataWDTCount = 128,
|
| | |
|
| | | };
|
| | |
|
| | | typedef struct tagKMem
|
| | | {
|
| | | unsigned short WX[16]; //本机的X和Y
|
| | | unsigned short WY[16]; //本机的X和Y
|
| | | unsigned short WR[64];
|
| | | unsigned short DT[256];
|
| | | unsigned short WLX[16]; //虚拟的X和Y,远程通讯时映射用。
|
| | | unsigned short WLY[16];
|
| | | unsigned short WSR[16];
|
| | | |
| | | // 配置寄存器
|
| | | // 系统状态寄存器
|
| | | // 特殊寄存器
|
| | | // 调试,监控寄存器
|
| | | unsigned short WDFs[TOTAL_WDFS];
|
| | | unsigned char CurVALs[TOTAL_CurVAL];
|
| | | unsigned char CurVAL;
|
| | | stTimer Timers[TOTALTIMERS];
|
| | |
|
| | | union {
|
| | | unsigned int SDD[128];
|
| | | unsigned short SDT[256];
|
| | | unsigned char SDB[512];
|
| | | unsigned short WX[KLDataWXCount]; //本机的X和Y
|
| | | unsigned char WXB[KLDataWXCount*2]; |
| | | };
|
| | | union {
|
| | | unsigned short WY[KLDataWYCount]; //本机的X和Y
|
| | | unsigned char WYB[KLDataWYCount*2]; //本机的X和Y
|
| | | }; |
| | | unsigned short WR[KLDataWRCount];
|
| | | |
| | | unsigned short WT[16];
|
| | |
|
| | | unsigned short WC[16];
|
| | | unsigned short EV[KLDataEVCount];
|
| | | unsigned short SV[KLDataSVCount];
|
| | | |
| | | |
| | | unsigned short WLX[16]; //虚拟的X和Y,远程通讯时映射用。
|
| | | unsigned short WLY[16];
|
| | | unsigned short WLR[16]; |
| | | unsigned short WSR[16];
|
| | |
|
| | | union {
|
| | | unsigned int DTD[KLDataDTCount/2];
|
| | | unsigned short DT[KLDataDTCount];
|
| | | unsigned char DTB[KLDataDTCount*2];
|
| | | };
|
| | |
|
| | | // 配置寄存器
|
| | | // 系统状态寄存器
|
| | | // 特殊寄存器
|
| | |
|
| | | union {
|
| | | unsigned int SDD[KLDataSDTCount/2];
|
| | | unsigned short SDT[KLDataSDTCount];
|
| | | unsigned char SDB[KLDataSDTCount*2];
|
| | | struct {
|
| | | unsigned int EffJumperSW;
|
| | | unsigned int CurJumperSW;
|
| | |
| | | unsigned short ADCValues[20];
|
| | | };
|
| | | };
|
| | | // 调试,监控寄存器
|
| | | union {
|
| | | unsigned int WDD[KLDataWDTCount/2];
|
| | | unsigned short WDT[KLDataWDTCount];
|
| | | unsigned char WDB[KLDataWDTCount*2];
|
| | | };
|
| | | |
| | | }stKMem;
|
| | |
|
| | |
|
| | | extern stKMem KMem;
|
| | | extern const stKMInfoBlock KMInfoBlock;
|
| | |
|
| | | extern volatile int PowerDownEvent;
|
| | | extern volatile int OldPowerDownEvent;
|
| | | extern volatile int OldPowerDownEventTime;
|
| | |
|
| | | int KMachineInit(void);
|
| | | int ReadFlashMem(void * pBuf, void * pAddrFlash, int nSize);
|
| | | int WriteToFlashMemNoErase(void * pBuf, void * pAddrFlash, unsigned int nSize);
|
| | | int EraseAndWriteToFlashMem(void * pBuf, void * pAddrFlash, unsigned int nSize);
|
| | | int ReadFlashMem(void * pBuf, void * pAddrFlash, int nByteSize);
|
| | | int WriteToFlashMemNoErase(void * pBuf, void * pAddrFlash, unsigned int nByteSize);
|
| | | int EraseAndWriteToFlashMem(void * pBuf, void * pAddrFlash, unsigned int nByteSize);
|
| | |
|
| | | int WriteSysCfgToFlash(pKMSysCfg theKMSysCfg);
|
| | | int ReadSysCfgFromFlash(pKMSysCfg theKMSysCfg);
|
| | | int ReadFactoryData(void * pDatabuf, int nByteCount);
|
| | | int WriteFactoryData(void * pDataBuf, int nByteCount);
|
| | |
|
| | | // active Program bank
|
| | | int ReadProgram(int nProgByteAddr, void *pBuf, int nByteSize, int nBank);
|
| | | int WriteProgram(int nProgByteAddr, void * pBuf, int nByteSize, int nBank);
|
| | |
|
| | | int WriteSysCfgToFlash(pStoredKMSysCfg theStoredKMSysCfg);
|
| | | int ReadSysCfgFromFlash(pStoredKMSysCfg theStoredKMSysCfg);
|
| | |
|
| | | int AddEventLog(uint32_t nTime, USHORT nEvent, USHORT nParam1, UINT nParam2);
|
| | | pEventLog GetEventLogAddr(int nIndex);
|
| | |
| | | int LoadRunStat(pRunStat theRunStat);
|
| | | int SaveRunStat(pRunStat theRunStat);
|
| | |
|
| | |
|
| | | unsigned char GetCoilValue(unsigned char nCoilType, unsigned short nCoilAddr);
|
| | | int SetCoilValue(unsigned char nCoilType, unsigned short nCoilAddr, unsigned char nCoilValue);
|
| | | int GetVarData(int nDataType, int nDataAddr);
|
| | | int SetVarData(int nDataType, int nDataAddr, int nDataValue);
|
| | |
|
| | | #endif /* __KLPROTOCOL_H__ */
|