亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? message.h

?? 用于開發Modbus工業級通信
?? H
字號:
/////////////////////////////////////////////////////////////////////////////
//
// FILE: Message.h : headder file
//
//
/////////////////////////////////////////////////////////////////////////////

#ifndef _MESSAGE_H_HEADDER_FILE
#define _MESSAGE_H_HEADDER_FILE

#define MAX_RX_MESSAGELENGTH  4096     // a big buffer
#define AB_FRAME_LENGTH_MAX   236      // max bytes of data

// protocol specific macros etc here
#define ALLENBRADLEY_STX         0x02
#define ALLENBRADLEY_ETX         0x03
#define ALLENBRADLEY_SOH         0x01
#define ALLENBRADLEY_ENQ         0x05
#define ALLENBRADLEY_ACK         0x06
#define ALLENBRADLEY_DLE         0x10
#define ALLENBRADLEY_NAK         0x15  // disputed 0x0F

#define SIZEOF_TAIL          2
#define MIN_PLC_FILE         3      // Extended File Registers Blocks
#define MAX_PLC_FILE       255

#define ALLENBRADLEY_SLC_CMD                        0x0F     // SLC compatible command
#define ALLENBRADLEY_PLC3_LOGICAL_ADDRESS_INDICATOR 0x2C // For PLC3 ascii addressing
#define ALLENBRADLEY_BIT_WRITE                      0x02        // Non priveleged commands
#define ALLENBRADLEY_WORD_READ                      0xA2  // 0x01
#define ALLENBRADLEY_WORD_WRITE                     0xAA  // 0x00
#define ALLENBRADLEY_LOGIC_ADDRESS_DELIMITER        0xFF      

#define AB_STS_NOERROR                 0x00  // 
#define AB_STS_ILLEGALCMD              0x10  // all errors > 8 have EXT-STS bytes

#define AB_EXTSTS_ILLEGALFIELDVALUE    0x01
#define AB_EXTSTS_CANNOTEXECUTE        0x0E
#define AB_EXTSTS_ILLEGALTYPE          0x11

// zero-based telegram offsets for bytes in the MSG headder
#define AB_SOURCEBYTEOFF         2
#define AB_DESTINATIONBYTEOFF    3
#define AB_COMMANDBYTEOFF        4
#define AB_STATUSBYTEOFF         5
#define AB_TNSBYTEOFF            6
#define AB_FUNCBYTEOFF           8
#define AB_LENGTHFRAMEOFF        9


// Global - Global data
extern BYTE txDLE_STX[SIZEOF_TAIL];
extern BYTE txDLE_ACK[SIZEOF_TAIL];
extern BYTE txDLE_NAK[SIZEOF_TAIL];
extern BYTE txDLE_ETX[SIZEOF_TAIL];
extern BYTE txDLE_ENQ[SIZEOF_TAIL];

extern BYTE CalcBCC(BYTE * lrcBuffPtr,  //  -> pointer to buffer at start of BCC
             DWORD  buffLen				//  -> 
            );

extern LONG CalcMODBUSCRC( BYTE * crcStartPtr,   //  ->
              DWORD  buffLen,       //  ->
              WORD * crc            // <->
             );



// ----------------------------------------------------------------------
// class CProtocolMessage declares the BASE protocol frame.
//
class CProtocolMessage : public CObject
{
public:
   CProtocolMessage(const BYTE * pMessageRX, DWORD len);
   CProtocolMessage(const CProtocolMessage & oldProtMessage); //copy constructor

   BOOL CRCOK() { return (crcCheckedOK);};
   static LONG StripDLEs(CHAR *bufferPtr, DWORD *numBytes);

protected:
   BOOL crcCheckedOK;
};

// ----------------------------------------------------------------------
// class CABMessage declares a Allen-Bradley Full-duplex protocol frame.
//
// message format is:
//                                 ===============================
// DLE STX DST SRC CMD STS TNS TNS FNC SIZ FIL TYP ELE ELS DAT DAT DLE ETX CRC CRC
// 10  02  05  01  0F  00  3E  00  AA  02  0A  89  00  00  3F  00  10  03  D8  0F
//
// FNC - A2 = typed logical read
//     - AA = typed logical write (3 address fields)
// SIZ = size in bytes
// FIL = file #
// TYP - 89 = Integer file.
// ELE = element
// ELS = sub-element
// DAT = data
// DAT = data
//
// The correct response format is:
//
// DLE STX SRC DST CMD STS TNS TNS EXT-STS DLE ETX CRC CRC
// 10  02  01  05  4F  00  00  AA  00      10  03  xx  xx
// CMD is +40H
//
// CRC is calculated from the SRC/DEST thru to the DLE-ETX
//
class CABMessage : public CProtocolMessage
{
public:
   CABMessage(const BYTE * pMessageRX, DWORD len, BOOL dataLayer = TRUE);
   CABMessage(const CABMessage & oldABMessage); //copy constructor to assist in building the response message!

   BYTE m_localStationID;  // our station #

   BYTE stationIDSource;   // MSG source station #
   BYTE stationIDDest;     // MSG station # the message is sent to
   BYTE functionCode;
   BYTE command;
   BYTE transmissionStatus;      // STS byte
   WORD transactionID;
   BYTE transmissionStatusEXT;   // Extended STS byte

   WORD fileType;       //
   WORD fileNum;        // file #
   WORD address;
   WORD subElement;
   WORD count;          // # of data words?
   WORD overalLen;      // telegram data length
   WORD byteCount;      // # of items, (if In/Outputs), then it is the # of bits.
   WORD totalLen;

   WORD appLength;               // length of the application data (minus the ENQ, "TAIL" and CRC)

   CHAR buffer[MAX_RX_MESSAGELENGTH + AB_FRAME_LENGTH_MAX];     //TX/RX buffer
   BYTE * dataPtr;
   
   BOOL m_useBCC;

   // methods
   WORD GetValue(WORD wIndex);
   CHAR * BuildMessagePreamble(BOOL error=FALSE,WORD errorCode=0);
   CHAR * BuildMessageEnd();
   WORD GetAddressArea(WORD classCode); 

   static WORD CalculateReadAheadLength(const BYTE*pBuffer, DWORD length);
   static BOOL Status(const BYTE*pBuffer, DWORD length);
};

#endif // _MESSAGE_H_HEADDER_FILE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频一区二区三区 | 中文字幕一区二区三区不卡 | 91美女片黄在线| 激情文学综合插| 久久国产人妖系列| 久久精品国产澳门| 免费成人在线影院| 美女爽到高潮91| 久久99热99| 精品一区精品二区高清| 激情欧美一区二区三区在线观看| 另类小说一区二区三区| 美国三级日本三级久久99 | 色哟哟国产精品免费观看| 99久久久无码国产精品| 一本色道久久综合精品竹菊| 欧美亚洲国产一区在线观看网站| 一本久道久久综合中文字幕| 欧洲av一区二区嗯嗯嗯啊| 在线一区二区三区做爰视频网站| 欧美日韩一区成人| 日韩一区二区在线看| 精品国产一区二区三区久久影院 | 一区二区三区美女| 亚洲一区二区精品3399| 视频一区视频二区中文字幕| 精品在线观看视频| www.综合网.com| 91福利在线免费观看| 欧美日韩国产在线观看| 精品国产人成亚洲区| 国产视频一区在线观看| √…a在线天堂一区| 亚洲一级不卡视频| 青青草国产精品97视觉盛宴| 国产剧情在线观看一区二区| 99久久99久久精品免费看蜜桃| 在线观看日韩精品| 精品国产91亚洲一区二区三区婷婷| 国产精品色噜噜| 亚洲成人动漫av| 久久99国内精品| 99久久99久久精品免费观看 | 日韩视频免费观看高清完整版 | 久久理论电影网| 亚洲免费av网站| 奇米影视7777精品一区二区| 国产精品亚洲第一| 在线影院国内精品| 久久综合一区二区| 成人欧美一区二区三区黑人麻豆 | 欧美在线观看一二区| 2020国产精品自拍| 伊人色综合久久天天人手人婷| 日本怡春院一区二区| 不卡av免费在线观看| 欧美一区二区三级| 亚洲欧美在线视频| 精品一区二区三区在线观看国产| hitomi一区二区三区精品| 欧美一区二区女人| 亚洲男人的天堂在线观看| 狠狠狠色丁香婷婷综合久久五月| 91麻豆国产精品久久| 久久综合久久综合九色| 国产一区二区毛片| 欧美视频中文一区二区三区在线观看| 2024国产精品| 日韩经典中文字幕一区| 99在线精品观看| 精品国产一区a| 视频一区二区不卡| 色偷偷成人一区二区三区91| 国产午夜精品福利| 日本色综合中文字幕| 色菇凉天天综合网| 国产精品三级av在线播放| 久久99精品久久只有精品| 欧美日韩在线亚洲一区蜜芽| 一区精品在线播放| 国产a视频精品免费观看| 欧美va亚洲va| 丝袜美腿高跟呻吟高潮一区| 一本色道a无线码一区v| 国产精品久久久久四虎| 国产成人av电影在线观看| 日韩欧美资源站| 日韩成人一区二区三区在线观看| 日本黄色一区二区| 亚洲色图制服丝袜| av激情综合网| 国产欧美日韩精品一区| 国产激情偷乱视频一区二区三区| 日韩视频中午一区| 青青国产91久久久久久| 91精品国产黑色紧身裤美女| 亚洲国产sm捆绑调教视频| 在线免费观看成人短视频| 一区二区三区成人| 色菇凉天天综合网| 亚洲最大成人综合| 色噜噜狠狠成人网p站| 亚洲精选在线视频| 一本到高清视频免费精品| 亚洲人妖av一区二区| 色哟哟精品一区| 亚洲综合色区另类av| 欧美日韩在线一区二区| 天堂一区二区在线免费观看| 欧美日韩亚洲丝袜制服| 午夜不卡在线视频| 欧美三区在线观看| 日韩主播视频在线| 日韩欧美一区二区不卡| 久久99国内精品| 国产日韩精品一区| 成人福利在线看| 亚洲乱码国产乱码精品精的特点 | 欧美日韩激情一区二区| 天天操天天色综合| 亚洲女同一区二区| 91女厕偷拍女厕偷拍高清| 亚洲六月丁香色婷婷综合久久| 欧美丝袜自拍制服另类| 奇米影视一区二区三区| 国产亚洲一区二区三区在线观看| 国产精品69久久久久水密桃| 国产精品剧情在线亚洲| 色婷婷av一区| 亚洲成a人v欧美综合天堂| 欧美一区日本一区韩国一区| 九九视频精品免费| 国产丝袜在线精品| 91九色02白丝porn| 男女男精品视频网| 欧美激情在线免费观看| 91福利视频网站| 美国十次综合导航| 国产精品久久毛片a| 欧美精品黑人性xxxx| 国产一区二区调教| 亚洲欧洲美洲综合色网| 欧美女孩性生活视频| 久久97超碰国产精品超碰| 国产精品久久毛片a| 欧美精品黑人性xxxx| 国产suv一区二区三区88区| 亚洲最大色网站| ww久久中文字幕| 在线日韩一区二区| 老司机免费视频一区二区| 中文字幕色av一区二区三区| 欧美一区二区三区免费大片| 久久99国产精品久久| 一区二区三区在线视频播放| 日韩欧美国产三级电影视频| 99精品久久久久久| 理论电影国产精品| 一区二区三区中文字幕精品精品 | 艳妇臀荡乳欲伦亚洲一区| 日韩欧美一区二区三区在线| 一本色道久久加勒比精品| 极品少妇xxxx精品少妇偷拍| 一区二区三区在线视频免费 | 亚洲三级在线看| 欧美精品一区二区高清在线观看 | 在线观看91av| 播五月开心婷婷综合| 久久99精品国产.久久久久| 伊人一区二区三区| 久久久不卡网国产精品一区| 欧美日本乱大交xxxxx| 成人网男人的天堂| 奇米一区二区三区| 亚洲一级二级在线| 18欧美乱大交hd1984| 久久先锋影音av鲁色资源| 欧美日韩高清不卡| 色偷偷久久人人79超碰人人澡| 国产精品亚洲专一区二区三区| 日韩高清中文字幕一区| 亚洲欧美视频在线观看视频| 国产人伦精品一区二区| 日韩视频一区二区三区在线播放 | 波多野结衣中文字幕一区| 久草中文综合在线| 视频一区欧美精品| 夜夜精品视频一区二区 | 婷婷中文字幕综合| 亚洲美女区一区| 日本一区二区视频在线| 精品国产一二三| 欧美大片一区二区三区| 欧美日韩精品一区二区三区四区| 91偷拍与自偷拍精品| 成人免费视频免费观看| 国产91富婆露脸刺激对白| 国产精品18久久久久久vr| 精品一区二区三区久久久| 男人的天堂亚洲一区|