資源描述:
《通信協(xié)議(ASCII)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、組態(tài)王與單片機(jī)協(xié)議1.通訊口設(shè)置:通訊方式:RS-232,RS-485,RS-422均可。波特率:由單片機(jī)決定(2400,4800,9600and19200bps)。字節(jié)數(shù)據(jù)格式:由單片機(jī)決定。起始位數(shù)據(jù)位校驗(yàn)位停止位注意:在組態(tài)王中設(shè)置的通訊參數(shù)如波特率,數(shù)據(jù)位,停止位,奇偶校驗(yàn)必須與單片機(jī)編程中的通訊參數(shù)一致2.在組態(tài)王中定義設(shè)備地址的格式格式:##.?!∏懊娴膬蓚€(gè)字符是設(shè)備地址,范圍為0-255,此地址為單片機(jī)的地址,由單片機(jī)中的程序決定;后面的一個(gè)字符是用戶設(shè)定是否打包,“0”為不打包、“1”為打包,用戶一旦在定義設(shè)備時(shí)確定了打包,組態(tài)
2、王將處理讀下位機(jī)變量時(shí)數(shù)據(jù)打包的工作。3.在組態(tài)王中定義的寄存器格式寄存器名稱dd上限dd下限數(shù)據(jù)類型Xdd655350FLOAT/BYTE/UINT斜體字dd代表數(shù)據(jù)地址,此地址與單片機(jī)的數(shù)據(jù)地址相對(duì)應(yīng)。注意:在組態(tài)王中定義變量時(shí),一個(gè)X寄存器根據(jù)所選數(shù)據(jù)類型(BYTE,UINT,FLOAT)的不同分別占用一個(gè)、兩個(gè),四個(gè)字節(jié),定義不同的數(shù)據(jù)類型要注意寄存器后面的地址,同一數(shù)據(jù)區(qū)內(nèi)不可交叉定義不同數(shù)據(jù)類型的變量。為提高通訊速度建議用戶使用連續(xù)的數(shù)據(jù)區(qū)。例如,1、在單片機(jī)中定義從地址0開始的數(shù)據(jù)類型為BYTE型的變量:則在組態(tài)王中定義相應(yīng)的變量
3、的寄存器為X0、X1、X2、X3、X4。。。。。。。。,數(shù)據(jù)類型為BYTE,每個(gè)變量占一個(gè)字節(jié)2、在單片機(jī)中定義從地址100開始的數(shù)據(jù)類型為UINT型的變量:則在組態(tài)王中定義相應(yīng)的變量的寄存器為X100、X102、X104、X106、X108。。。。。。。。,數(shù)據(jù)類型UINT,每個(gè)變量占兩個(gè)字節(jié)3、在單片機(jī)中定義從地址200開始的數(shù)據(jù)類型為FLOAT型的變量:則在組態(tài)王中定義相應(yīng)的變量的寄存器為X200、X204、X208、X212。。。。。。。,數(shù)據(jù)類型FLOAT,每個(gè)變量占四個(gè)字節(jié)3.組態(tài)王與單片機(jī)通訊的命令格式:讀寫格式(除字頭、字尾外所
4、有字節(jié)均為ASCII碼)字頭設(shè)備地址標(biāo)志數(shù)據(jù)地址數(shù)據(jù)字節(jié)數(shù)數(shù)據(jù)…異或CR說(shuō)明;字頭:1字節(jié)1個(gè)ASCII碼,40H設(shè)備地址:1字節(jié)2個(gè)ASCII碼,0—255(即0---0x0ffH)標(biāo)志:1字節(jié)2個(gè)ASCII碼,bit0~bit7,bit0=0:讀,bit0=1:寫。bit1=0:不打包。bit3bit2=00,數(shù)據(jù)類型為字節(jié)。bit3bit2=01,數(shù)據(jù)類型為字。bit3bit2=1x,數(shù)據(jù)類型為浮點(diǎn)數(shù)。數(shù)據(jù)地址:2字節(jié)4個(gè)ASCII碼,0x0000~0xffff數(shù)據(jù)字節(jié)數(shù):1字節(jié)2個(gè)ASCII碼,1—100,實(shí)際讀寫的數(shù)據(jù)的字節(jié)數(shù)。數(shù)據(jù)…
5、:為實(shí)際的數(shù)據(jù)轉(zhuǎn)換為ASCII碼,個(gè)數(shù)為字節(jié)數(shù)乘2。異或:異或從設(shè)備地址到異或字節(jié)前,異或值轉(zhuǎn)換成2個(gè)ASCII碼CR:0x0d。通訊嘗試恢復(fù)命令(COMERROR),請(qǐng)求地址為0的一個(gè)BYTE數(shù)據(jù)3.1.上位機(jī)發(fā)送讀命令字頭設(shè)備地址標(biāo)志數(shù)據(jù)地址數(shù)據(jù)字節(jié)數(shù)異或CR下位機(jī)應(yīng)答:若正常:字頭設(shè)備地址數(shù)據(jù)字節(jié)數(shù)數(shù)據(jù)…異或CR若不正常:字頭設(shè)備地址**異或CR例1:讀15號(hào)儀表,數(shù)據(jù)地址為15的數(shù)據(jù)。其中數(shù)據(jù)為100,數(shù)據(jù)類型為字節(jié),不打包。組態(tài)王所發(fā)數(shù)據(jù)為:403046433030303046303137320d字頭設(shè)備地址15標(biāo)志讀操作字節(jié)型不打包
6、數(shù)據(jù)地址15數(shù)據(jù)字節(jié)數(shù)1異或若正確:4030463031363437350d字頭設(shè)備地址15數(shù)據(jù)字節(jié)數(shù)1數(shù)據(jù)100異或若不正確:4030462a2a37360d字頭設(shè)備地址15**異或例2:讀15號(hào)儀表,數(shù)據(jù)地址為15的數(shù)據(jù)。其中數(shù)據(jù)為100,數(shù)據(jù)類型為字節(jié),打包。組態(tài)王所發(fā)數(shù)據(jù)為:403046433230303046303137300d字頭設(shè)備地址15標(biāo)志讀操作字節(jié)型打包數(shù)據(jù)地址15數(shù)據(jù)字節(jié)數(shù)1異或若正確:4030463031363437350d字頭設(shè)備地址15數(shù)據(jù)字節(jié)數(shù)1數(shù)據(jù)100異或若不正確:4030462a2a37360d設(shè)備地址15*
7、*異或3.2.上位機(jī)發(fā)送寫命令字頭設(shè)備地址標(biāo)志數(shù)據(jù)地址數(shù)據(jù)字節(jié)數(shù)數(shù)據(jù)…異或CR下位機(jī)應(yīng)答:若正常:字頭設(shè)備地址##異或CR若不正常:字頭設(shè)備地址**異或CR例1:寫15號(hào)儀表,數(shù)據(jù)地址為15。寫數(shù)據(jù)255,數(shù)據(jù)類型為字,不打包。組態(tài)王所發(fā)數(shù)據(jù)為:40304643353030304630323030464637340d字頭設(shè)備地址15標(biāo)志寫操作字型不打包數(shù)據(jù)地址15數(shù)據(jù)字節(jié)數(shù)2數(shù)據(jù)255異或若正確:403046232337360d字頭設(shè)備地址15##異或若不正確:4030462a2a37360d字頭設(shè)備地址15**異或例2:寫15號(hào)儀表,數(shù)據(jù)地址
8、為15。寫數(shù)據(jù)65535,數(shù)據(jù)類型為浮點(diǎn)型,打包。組態(tài)王所發(fā)數(shù)據(jù)為:40304643463030304630343130464646463030字頭設(shè)