輪詢問(wèn)答式規(guī)約通用驅(qū)動(dòng)配置文件說(shuō)明_第1頁(yè)
輪詢問(wèn)答式規(guī)約通用驅(qū)動(dòng)配置文件說(shuō)明_第2頁(yè)
輪詢問(wèn)答式規(guī)約通用驅(qū)動(dòng)配置文件說(shuō)明_第3頁(yè)
輪詢問(wèn)答式規(guī)約通用驅(qū)動(dòng)配置文件說(shuō)明_第4頁(yè)
輪詢問(wèn)答式規(guī)約通用驅(qū)動(dòng)配置文件說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、深圳市中電電力技術(shù)股份有限公司DrvAnyPolling輪循模式通用驅(qū)動(dòng)配置說(shuō)明CET中電技術(shù)軟件通用輪循驅(qū)動(dòng)配置說(shuō)明 P2.X/P3.X版本修改記錄版本日期說(shuō)明關(guān)聯(lián)程序版本作者審核0.12009-11-19初稿ZC0.42012-01-09增加遙控功能YXZ0.52012-07-23增加遙調(diào)功能LDH0.62013-01-21增加數(shù)學(xué)運(yùn)算表達(dá)式LDH1.02013-04-19增加校時(shí)LDH1.12013-05-14增加對(duì)多位狀態(tài)的解析,詳見(jiàn)5.2 JY1.32013-11-12數(shù)學(xué)運(yùn)算增加Bits 詳見(jiàn)5.3 3.1.5.11LDH2.22014-7-2簡(jiǎn)單遙控:不區(qū)分動(dòng)作類型,不支持遙控返

2、回;復(fù)雜遙控:區(qū)分動(dòng)作類型,支持遙控返回功能3.1.5.20LDH2.32014-7-21增加DI解析類型3.1.5.22LDH2.42014-8-13增加“2.通信速率設(shè)置”章節(jié)無(wú)LDH目錄1.概述11.1.使用場(chǎng)合11.2.使用方法12.通信速率設(shè)置13.配置文件說(shuō)明13.1.通信相關(guān)配置13.1.1.總體信息23.1.2.發(fā)送報(bào)文23.1.3.接收?qǐng)?bào)文23.1.4.AI解析33.1.5.DI解析43.1.6.簡(jiǎn)單遙控43.1.7.復(fù)雜遙控53.1.8.遙調(diào)63.1.9.校時(shí)73.2.通用配置集合83.2.1.校驗(yàn)83.2.2.地址93.2.3.固定報(bào)文93.3.數(shù)學(xué)運(yùn)算配置94.數(shù)據(jù)格式

3、說(shuō)明104.1.校驗(yàn)類型104.2.AI數(shù)據(jù)類型104.3.DI數(shù)據(jù)類型115.簡(jiǎn)單示例125.1.如何讓DrvAnyPolling正常運(yùn)行126.復(fù)雜示例136.1.校時(shí)模塊136.2.多位狀態(tài)解析模塊146.3.數(shù)學(xué)運(yùn)算符Bits用法舉例14CET Copyright 2013141. 概述通用輪循驅(qū)動(dòng)程序(DrvAnyPolling)的目標(biāo)是通過(guò)修改配置可以和不同的裝置通信。使用DrvAnyPolling驅(qū)動(dòng)配置通信相當(dāng)于自己做了一個(gè)小程序直接和裝置通信。1.1. 使用場(chǎng)合1) 沒(méi)有現(xiàn)成的驅(qū)動(dòng)程序能夠接入該裝置2) 該裝置采用Polling(輪詢)的通訊方式。(不論串口還是網(wǎng)絡(luò)TCP)3

4、) 不要求讀取事件記錄、不要求讀取故障錄波、不要求讀取定時(shí)記錄4) 自己會(huì)閱讀規(guī)約文檔,并能夠構(gòu)造報(bào)文,而且可以通過(guò)工具手動(dòng)解析接收的數(shù)據(jù)1.2. 使用方法1) 了解用戶需要從這個(gè)裝置讀取到哪些信息。2) 閱讀裝置規(guī)約文檔,并構(gòu)造出相應(yīng)的報(bào)文。3) 使用通信工具發(fā)送構(gòu)造的報(bào)文,并手動(dòng)解析回復(fù)的報(bào)文,驗(yàn)證是否正確。4) 根據(jù)第3步中構(gòu)造的報(bào)文,使用AnyPollingConfig工具進(jìn)行配置。5) 將配置文件拷貝到設(shè)備的inf中,把配置好相應(yīng)點(diǎn)表導(dǎo)入到設(shè)備中,啟動(dòng)前臺(tái),與裝置通訊。6) 觀察片刻,確認(rèn)前臺(tái)測(cè)點(diǎn)數(shù)據(jù)完整無(wú)誤。2. 通信速率設(shè)置待新增。3. 配置文件說(shuō)明Inf配置文件用方括號(hào)(xxx

5、)表示一個(gè)配置節(jié)或配置模塊。3.1. 通信相關(guān)配置通信配置由以下幾個(gè)模塊組成:common 項(xiàng)記錄發(fā)送與接收的組數(shù),以及模擬量與開(kāi)關(guān)量的個(gè)數(shù)等總體的信息sendxx 配置發(fā)送報(bào)文Recxx 配置接受報(bào)文Axx 配置模擬量解析Dxx 配置開(kāi)關(guān)量解析CtrlSendxx 配置遙控發(fā)送內(nèi)容,配置范圍從CtrlSend1 CtrlSend255CtrlRecvxx 配置遙控接收內(nèi)容,配置范圍同上TimeSend配置校時(shí)發(fā)送報(bào)文配置模塊中的命名規(guī)則:sendxx Recxx 中xx 表示組號(hào),從1開(kāi)始。 發(fā)送接收的對(duì)應(yīng)關(guān)系是由組號(hào)決定的,send3 與Rec3 表示了一組對(duì)應(yīng)的接受與發(fā)送。A xx D

6、xx 中xx表示模擬量或開(kāi)關(guān)量在第幾欄,從1開(kāi)始。CtrlSendxxCtrlRecvxx中xx對(duì)應(yīng)前臺(tái)遙控號(hào)3.1.1. 總體信息;/Common塊記錄各種配置項(xiàng)的數(shù)量 Common ;/接受與發(fā)送的組數(shù) SendRecNumber=4;/模擬量的組數(shù) AInumber=1;/開(kāi)關(guān)量的組數(shù) DInumber=1;/默認(rèn)為0,配置該數(shù)據(jù)范圍為1255,對(duì)應(yīng)前臺(tái)的遙控參數(shù)號(hào)為1255 CtrlSendRecvNum=1 注意:總體信息配置需要和后面的配置信息對(duì)應(yīng),否則出錯(cuò)。 3.1.2. 發(fā)送報(bào)文/第一組發(fā)送send1;/固定報(bào)文 配置詳見(jiàn)3.2.3 BuffStr= 64 03 01 45 0

7、0 01 9D D6 ;/校驗(yàn)配置 詳見(jiàn)3.2.1CHECK=1 checkFrom=1 checkTo=5checkpos=6checkMode=1 ;/地址配置 詳見(jiàn)3.2.2AddrCHECK=1 AddrPos=3 AddrType=1 3.1.3. 接收?qǐng)?bào)文Rec1;/是否進(jìn)行幀頭校驗(yàn)(1為校驗(yàn),默認(rèn)為0不校驗(yàn))Checkframehead=1 ;/幀頭的內(nèi)容Framehead=EB 90 EB 90 ;/是否進(jìn)行長(zhǎng)度校驗(yàn)(1為校驗(yàn),默認(rèn)為0不校驗(yàn))CheckLen=1 ;/長(zhǎng)度值 Lenth=10 ;/是否校驗(yàn)地址CheckAddr=1 ;/ 地址配置 詳見(jiàn)3.2.2AddrPos

8、=4 Addrtype=0 ;/是否進(jìn)行固定字校驗(yàn),默認(rèn)為0不校驗(yàn)ConstCheck=1 ;/固定值所在字節(jié) ConstPos=5 ;/固定值的值 Constant=AA ;/校驗(yàn)配置 詳見(jiàn)3.2.1Check=1 checkFrom=4 checkTo=9 checkpos=10 checkMode=0 3.1.4. AI解析;/ 模擬量解析配置A1;/ 在第幾組接收?qǐng)?bào)文中進(jìn)行解析Recnum=1 ;/ 從第幾個(gè)字節(jié)開(kāi)始解析 Recbyte=11;/ 數(shù)據(jù)類型 *(見(jiàn)4.2說(shuō)明)DataType=4;/ 系數(shù),結(jié)果為AX+B時(shí)的系數(shù)A,默認(rèn)為1Scale=1;/ 結(jié)果為AX+B時(shí)的偏移量B

9、,默認(rèn)為0Offset=0;/ 按順序連續(xù)解析的模擬量的個(gè)數(shù)Aipoint=4;/前臺(tái)傳遞的量最初的位置 ;/ AIMirrorAddress=1 表示從 A0(參數(shù)號(hào)0)開(kāi)始;/ AIMirrorAddress=2 表示從 A1(參數(shù)號(hào)1)開(kāi)始AIMirrorAddress=13.1.5. DI解析;/ 開(kāi)關(guān)量解析配置 D1;/ 在第幾組接收?qǐng)?bào)文中進(jìn)行解析(從1開(kāi)始計(jì)數(shù))Recnum=3;/ 在第幾個(gè)字節(jié)處進(jìn)行解析(從1開(kāi)始計(jì)數(shù))Recbyte=6;/ 默認(rèn)為0, (*詳見(jiàn)4.3 說(shuō)明)DataType=0;/ 當(dāng)選擇按固定值解析時(shí)有效(十進(jìn)制),等于此固定值時(shí)開(kāi)關(guān)量置1,否則置0Value

10、=1;/ 需要解析的開(kāi)關(guān)量的個(gè)數(shù)DIpoint=;/ DIMirrorAddress=1 表示從 D0(參數(shù)號(hào)0)開(kāi)始;/ DIMirrorAddress=2 表示從 D1(參數(shù)號(hào)1)開(kāi)始DIMirrorAddress=13.1.6. 簡(jiǎn)單遙控;/不區(qū)分遙控動(dòng)作類型;/不支持遙控返回功能CtrlSend1 ;/詳見(jiàn)3.2.3說(shuō)明BuffStr=01 06 13 8D 00 CF 5D 31;/校驗(yàn)配置 詳見(jiàn)2.2.1CHECK=1 checkFrom=1 checkTo=5checkpos=6checkMode=1 ;/地址配置 詳見(jiàn)3.2.2AddrCHECK=1 AddrPos=3 Add

11、rType=1 ;/檢查接收內(nèi)容是否正確,暫時(shí)提供2種校驗(yàn),一種長(zhǎng)度,一種固定內(nèi)容校驗(yàn);CtrlRecv1 ;(長(zhǎng)度校驗(yàn));/默認(rèn)為0,當(dāng)?shù)扔?的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和下面的Lenth相等CheckLen=0;/默認(rèn)為0,當(dāng)CheckLen=1的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和自己相等,如果不等,則判斷遙控失敗Lenth=0;(固定內(nèi)容校驗(yàn));/默認(rèn)為0,表示不校驗(yàn)接收的內(nèi)容,等于1表示需要校驗(yàn)CheckConst=0;/默認(rèn)為1,表示從第一個(gè)字節(jié)開(kāi)始,01 06 13 8D 00 CF 5D 31其中的01就是第一個(gè)字節(jié)ConstPos=1;/默認(rèn)為空,當(dāng)配置了Constant =01 0

12、6 13 8D 00 CF 5D 31,程序則必須判斷接收的內(nèi)容是否從1個(gè)字節(jié)開(kāi)/始的后續(xù)字節(jié)是“01 06 13 8D 00 CF 5D 31”這樣的內(nèi)容,如果不等,則判斷失??;Constant=3.1.7. 復(fù)雜遙控;/區(qū)分遙控動(dòng)作類型;/支持遙控返回功能;/配置范圍從CtrlSend1 CtrlSend255,其他無(wú)效,遙控參數(shù)號(hào)對(duì)應(yīng)1255;/配置遙控閉合報(bào)文CtrlSend1 ;/詳見(jiàn)3.2.3說(shuō)明BuffStr=01 06 13 8D 00 CF 5D 31;/校驗(yàn)配置 詳見(jiàn)3.2.1CHECK=1 checkFrom=1 checkTo=5checkpos=6checkMode=

13、1 ;/地址配置 詳見(jiàn)3.2.2AddrCHECK=1 AddrPos=3 AddrType=1 ;/ 1代表復(fù)雜遙控,還需要配置CtrlReturnSend1和 CtrlReturnRecv1CtrlReturn=1;/檢查遙控閉合的接收內(nèi)容是否正確,暫時(shí)提供2種校驗(yàn),一種長(zhǎng)度,一種固定內(nèi)容校驗(yàn);CtrlRecv1 ;(長(zhǎng)度校驗(yàn));/默認(rèn)為0,當(dāng)?shù)扔?的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和下面的Lenth相等CheckLen=0;/默認(rèn)為0,當(dāng)CheckLen=1的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和自己相等,如果不等,則判斷遙控失敗Lenth=0;/ 固定內(nèi)容校驗(yàn),默認(rèn)為0,表示不校驗(yàn)接收的內(nèi)容,等于1表

14、示需要校驗(yàn)CheckConst=0;/默認(rèn)為1,表示從第一個(gè)字節(jié)開(kāi)始,01 06 13 8D 00 CF 5D 31其中的01就是第一個(gè)字節(jié)ConstPos=1;/默認(rèn)為空,當(dāng)配置了Constant =01 06 13 8D 00 CF 5D 31,程序則必須判斷接收的內(nèi)容是否從1個(gè)字節(jié)開(kāi)/始的后續(xù)字節(jié)是“01 06 13 8D 00 CF 5D 31”這樣的內(nèi)容,如果不等,則判斷失??;Constant=:/配置遙控打開(kāi)報(bào)文,與CtrlSend1共用地址和校驗(yàn)填充的配置CtrlReturnSend1;/添加遙控返回報(bào)文BuffStr=05 05 00 16 00 00 6C 7A;/檢查遙控打

15、開(kāi)的接收內(nèi)容是否正確,暫時(shí)提供2種校驗(yàn),一種長(zhǎng)度,一種固定內(nèi)容校驗(yàn);CtrlReturnRecv1;/(長(zhǎng)度校驗(yàn));/默認(rèn)為0,當(dāng)?shù)扔?的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和下面的Lenth相等CheckLen=0;/默認(rèn)為0,當(dāng)CheckLen=1的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和自己相等,如果不等,則判斷遙控失敗Lenth=0;(固定內(nèi)容校驗(yàn));/默認(rèn)為0,表示不校驗(yàn)接收的內(nèi)容,等于1表示需要校驗(yàn)CheckConst=0;/默認(rèn)為1,表示從第一個(gè)字節(jié)開(kāi)始,05 05 00 16 00 00 6C 7A其中的01就是第一個(gè)字節(jié)ConstPos=1;/默認(rèn)為空,當(dāng)配置了Constant =05 05 00

16、 16 00 00 6C 7A,程序則必須判斷接收的內(nèi)容是否從1個(gè)字節(jié)開(kāi)/始的后續(xù)字節(jié)是“05 05 00 16 00 00 6C 7A”這樣的內(nèi)容,如果不等,則判斷失敗;Constant=3.1.8. 遙調(diào);/配置范圍從CtrlSend1 CtrlSend255,其他無(wú)效,遙控參數(shù)號(hào)對(duì)應(yīng)1255;/暫不區(qū)分閉合還是是打開(kāi)CtrlSend1 ;/詳見(jiàn)3.2.3說(shuō)明BuffStr=01 06 13 8D 00 CF 5D 31;/配置1代表遙調(diào),還需要配置校驗(yàn)如下CtrlMode=1 ;/參考3.2.1的校驗(yàn)?zāi)K說(shuō)明CHECK=1 checkFrom=1 checkTo=5checkpos=6c

17、heckMode=1 ;/遙調(diào)值位置DataPos=5;/值系數(shù)DataScale=0.1 ;/ 數(shù)據(jù)類型 *(見(jiàn)4.2說(shuō)明,暫時(shí)支持2、3、6、7、9、10、11、12) DataType=xx ;/檢查接收內(nèi)容是否正確,暫時(shí)提供2種校驗(yàn),一種長(zhǎng)度,一種固定內(nèi)容校驗(yàn);CtrlRecv1 ;(長(zhǎng)度校驗(yàn));/默認(rèn)為0,當(dāng)?shù)扔?的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和下面的Lenth相等CheckLen=0;/默認(rèn)為0,當(dāng)CheckLen=1的時(shí)候,會(huì)檢測(cè)接收的字節(jié)是否和自己相等,如果不等,則判斷遙控失敗Lenth=0;(固定內(nèi)容校驗(yàn));/默認(rèn)為0,表示不校驗(yàn)接收的內(nèi)容,等于1表示需要校驗(yàn)CheckCons

18、t=0;/默認(rèn)為1,表示從第一個(gè)字節(jié)開(kāi)始,01 06 13 8D 00 CF 5D 31其中的01就是第一個(gè)字節(jié)ConstPos=1;/默認(rèn)為空,當(dāng)配置了Constant =01 06 13 8D 00 CF 5D 31,程序則必須判斷接收的內(nèi)容是否從1個(gè)字節(jié)開(kāi)/始的后續(xù)字節(jié)是“01 06 13 8D 00 CF 5D 31”這樣的內(nèi)容,如果不等,則判斷失敗;Constant=3.1.9. 校時(shí)注意僅支持單點(diǎn)校時(shí),設(shè)備校時(shí)間隔不等于0才會(huì)觸發(fā)校時(shí)功能/校時(shí)命令發(fā)送后sleep 2sTimeSend;/詳見(jiàn)3.2.3說(shuō)明BuffStr=01 10 01 00 00 06 00 00 00 00

19、00 00 00 00;/地址模塊 詳見(jiàn)3.2.2AddrCHECK=1 AddrPos=3 AddrType=1;/校驗(yàn)?zāi)K 詳見(jiàn)3.2.1CHECK=1 checkFrom=1 checkTo=5checkpos=6checkMode=1 /帶pos的表示位置,Type表示數(shù)據(jù)類型 *(見(jiàn)4.2說(shuō)明,暫時(shí)支持2、3、6、7、9、10、11、12) / 簡(jiǎn)單校時(shí)報(bào)文使用TimePos和TimeType即可TimePos=TimeType=YearPos=YearType=MonthPos=MonthType=DayPos=DayType=HourPos=HourType=MinutePos=

20、MinuteTypeSecondPos=SecondType=注意:年僅填充個(gè)位和十位,比如2013,僅填充13,20當(dāng)成固定報(bào)文即可,因?yàn)樗话倌瓴抛円淮?。什么時(shí)候使用TimePos和TimeType:當(dāng)報(bào)文中的時(shí)間排列為 年、月、日、時(shí)、分、秒,且6個(gè)數(shù)據(jù)格式一致時(shí)使用。當(dāng)報(bào)文中時(shí)間排列順序不是上述情況,或者各時(shí)間的數(shù)據(jù)格式不一致,需要單獨(dú)配置各自的時(shí)間字段。3.2. 通用配置集合DrvAnyPolling驅(qū)動(dòng)的通用配置集合在多個(gè)配置塊使用,比如說(shuō)。通用模塊介紹如下:3.2.1. 校驗(yàn)主要職責(zé)是自動(dòng)構(gòu)造各種校驗(yàn)碼。校驗(yàn)配置集合可以在發(fā)送報(bào)文sendxx使用也可以在遙調(diào)發(fā)送報(bào)文CtrlSen

21、dxx 中使用。;/是否配置發(fā)送校驗(yàn),1為校驗(yàn),默認(rèn)為0不校驗(yàn)CHECK=1;/校驗(yàn)起始字節(jié),默認(rèn)0,不校驗(yàn) checkFrom=1 ; /校驗(yàn)終止字節(jié)checkTo=5;/校驗(yàn)字位置 checkpos=6;/校驗(yàn)方式 *見(jiàn)4.1校驗(yàn)類型checkMode=1 3.2.2. 地址主要職責(zé)是自動(dòng)設(shè)備地址,可以把PecConfig中配置的地址自動(dòng)填充到報(bào)文中,這樣做的好處是相同設(shè)備類型不同設(shè)備地址的配置 只需要一份即可。;/是否配置ID (1為校驗(yàn),默認(rèn)為0不校驗(yàn))AddrCHECK=1;/ID位置 AddrPos=3;/ ID類型 (0表示byte;1表示word) AddrType=1 3.2

22、.3. 固定報(bào)文主要職責(zé)是提供報(bào)文的長(zhǎng)度信息,提供報(bào)文中固定字節(jié)的內(nèi)容。BuffStr的配置規(guī)則:1字節(jié)長(zhǎng)度必須和實(shí)際報(bào)文一致2固定部分報(bào)文需要和實(shí)際報(bào)文一致3可變部分報(bào)文任意配置,因?yàn)槌绦驎?huì)自動(dòng)填充這部分的報(bào)文的字節(jié)BuffStr=01 06 13 8D 00 CF 5D 313.3. 數(shù)學(xué)運(yùn)算配置本模塊負(fù)責(zé)把通信之后的原始模擬量通過(guò)運(yùn)算表達(dá)式進(jìn)行二次計(jì)算,運(yùn)算結(jié)果再刷新到前臺(tái)對(duì)應(yīng)測(cè)點(diǎn)。;/常量配置示例Constant;/限制最多設(shè)置100個(gè)常量 V0 V99Num=2 V0=2V1=3.1415926 /模擬量表達(dá)式配置示例 支持括號(hào),不支持?jǐn)?shù)字,請(qǐng)配置常量代替數(shù)字MathOperatio

23、nA200= A3*(A1+A2)A101= A3/Sqrt(A0)A12= A1*A4PowerV0 / A12=A1*(A4 V0)/等號(hào)右邊的A1表示測(cè)點(diǎn)參數(shù)號(hào)=1的值/等號(hào)左邊的A200表示計(jì)算后的值刷新到測(cè)點(diǎn)參數(shù)號(hào)=200/表達(dá)式個(gè)數(shù)沒(méi)有限制/每個(gè)表達(dá)式最多支持48個(gè)元素(即數(shù)據(jù)源或操作符號(hào))例如A4 或 power 算一個(gè)元素支持的普通運(yùn)算符號(hào)名稱符號(hào)優(yōu)先級(jí)目數(shù)說(shuō)明加法+12模擬量加法運(yùn)算減法-12模擬量減法運(yùn)算乘法*22模擬量乘法運(yùn)算除法/22模擬量除法運(yùn)算平方根Sqrt31模擬量平方根運(yùn)算平方Sqr31模擬量平方運(yùn)算指數(shù)Power32模擬量指數(shù)運(yùn)算正弦Sin31模擬量正弦值運(yùn)算

24、余弦Cos31模擬量余弦值運(yùn)算支持的特殊運(yùn)算符號(hào)名稱符號(hào)優(yōu)先級(jí)目數(shù)說(shuō)明取數(shù)據(jù)位運(yùn)算Bits33詳見(jiàn)示例5.3說(shuō)明4. 數(shù)據(jù)格式說(shuō)明4.1. 校驗(yàn)類型DrvAnyPolling驅(qū)動(dòng)通用校驗(yàn)方式(CheckMode 值的含義):0: SUM8 校驗(yàn), (和累加取最低一個(gè)字節(jié))1: SUM16校驗(yàn) (和累加取兩個(gè)字節(jié),低字節(jié)在前,高字節(jié)在后)2: Modbus RTU校驗(yàn) (CRC16 低在前高在后)3: CRC16 高在前低在后 4: 取反加一5:CCITT跟模版的可能不一致,是根據(jù)源博電量采集通訊規(guī)約 /CCITT (LH)6: SUM16校驗(yàn) (和累加取兩個(gè)字節(jié),高字節(jié)在前,低字節(jié)在后)7:異

25、或校驗(yàn)4.2. AI數(shù)據(jù)類型DrvAnyPolling通用模擬量數(shù)據(jù)類型(Datatype 值的含義):值說(shuō)明(常用的藍(lán)體標(biāo)出)字節(jié)數(shù)報(bào)文示例數(shù)值1有符號(hào)8位 1F8-82無(wú)符號(hào)8位1F82483BCD碼124244無(wú)符號(hào)16位 低字節(jié)在前 高字節(jié)在后2F8 FF655285有符號(hào)16位 低字節(jié)在前 高字節(jié)在后2F8 FF-86無(wú)符號(hào)16位 高字節(jié)在前 低字節(jié)在后2FF F8655287有符號(hào)16位 高字節(jié)在前 低字節(jié)在后2FF F8-88有符號(hào) 后兩字節(jié)*1000+前兩字節(jié)400 01 00 0220019無(wú)符號(hào)32位 高字在前 低字在后400 01 00 036553910有符號(hào)32位 高

26、字在前 低字在后4FF FF FF F8-811IEEE32位浮點(diǎn)數(shù)43F 47 AE 140.7812與IEEE32位浮點(diǎn)數(shù) 高字 低字相反4AE 14 3F 470.7813MODBUS 無(wú)符號(hào)32位浮點(diǎn)數(shù)400 01 00 031000314MODBUS 有符號(hào)32位浮點(diǎn)數(shù)4FF FF FF F8-1000815無(wú)符號(hào)32位 低字在前 高字在后400 03 00 016553916有符號(hào)32位 低字在前 高字在后4FF F8 FF FF-817與IEEE32位浮點(diǎn)數(shù) 字節(jié)剛好完全相反414 AE 47 3F0.7818高字節(jié)*100+低字節(jié)21C 19252819雙精度浮點(diǎn)數(shù)8 

27、;00 00 00 BF 81 70 57 20-0.008520無(wú)符號(hào)32位(與類型9的字節(jié)順序剛好完全相反)403 00 01 006553923有符號(hào)16位,最高位為符號(hào)位,低15位為具體數(shù)值2A6 6A-983424雙精度浮點(diǎn)數(shù) Big Indian (和類型19對(duì)應(yīng),字節(jié)序相反)8BF 81 70 57 20 00 00 00-0.0085100.111AsCII專用直接將字節(jié)轉(zhuǎn)換成char,十進(jìn)制表示105表示數(shù)據(jù)長(zhǎng)度為5個(gè)Ascii,依次類推(包括小數(shù))11131 32 20 33 3412.34120.131AsCII專用直接將字節(jié)轉(zhuǎn)換成char,十六進(jìn)制表

28、示124表示數(shù)據(jù)長(zhǎng)度為4個(gè)Ascii,依次類推(不包括小數(shù))11131 32 33 340x1234或4660132先按128的格式由ASCII解析成十六進(jìn)制表示然后按11的格式解析成IEEE32浮點(diǎn)數(shù)831 34 3A 3E34 37 33 3F0.78200.210BCD碼串 倒過(guò)來(lái)解析11005 64 000064054.3. DI數(shù)據(jù)類型DrvAnyPolling通用開(kāi)關(guān)量數(shù)據(jù)類型(D xx 中Datatype 值的含義):0表示解析一個(gè)字節(jié)的8位開(kāi)關(guān)量 /這個(gè)類型是最常用的9表示按固定值解析, 數(shù)據(jù)類型是byte10表示按固定值解析,數(shù)據(jù)類型是word當(dāng)配置使用了9或10時(shí),Valu

29、e的值與傳遞上來(lái)的值一致是,傳遞給前臺(tái)的開(kāi)關(guān)量為1200 Ascii碼報(bào)文中用到,獲取到的字節(jié)需要減去30H ,31H > 1/ 30H >0201 報(bào)文中的字節(jié),減30H,然后再按一個(gè)字節(jié)8位去解析5. 簡(jiǎn)單示例5.1. 如何讓DrvAnyPolling正常運(yùn)行這個(gè)例子的目的是讓DrvAnyPolling不依賴裝置正常運(yùn)行和通信。這樣你就可以很容易的驗(yàn)證DrvAnyPolling的配置是否正確。1. 需要使用Pecstar3.5搭建主站。2. 需要使用Commix 或 AutoAnswer工具搭建從站。3. 需要虛擬串口工具,搭建兩個(gè)互相連通的串口。構(gòu)建一個(gè)最簡(jiǎn)單的發(fā)送和回復(fù)報(bào)文

30、讓DrvAnyPolling可以正常通信,以下面例子。發(fā)送:05 1F (2 bytes) 接收:39 83 01 (3 bytes)配置:Common ;/接受與發(fā)送的組數(shù) SendRecNumber=1;/模擬量的組數(shù) AInumber=1;/注意:總體信息配置需要和后面的配置信息對(duì)應(yīng),否則會(huì)出錯(cuò)。 send1;/詳見(jiàn)3.2.3說(shuō)明 BuffStr= 05 1FRec1;/是否進(jìn)行長(zhǎng)度校驗(yàn)(1為校驗(yàn),默認(rèn)為0不校驗(yàn))CheckLen=1 ;/長(zhǎng)度值 Lenth=3;/ 模擬量解析配置A1;/ 在第幾組接收?qǐng)?bào)文中進(jìn)行解析Recnum=1 ;/ 從第幾個(gè)字節(jié)開(kāi)始解析 Recbyte=1;/ 數(shù)

31、據(jù)類型 *(見(jiàn)4.2說(shuō)明)DataType=2;/ 按順序連續(xù)解析的模擬量的個(gè)數(shù)Aipoint=3;/前臺(tái)傳遞的量最初的位置 表示傳遞到參數(shù)號(hào)為1的模擬量 A1AIMirrorAddress=26. 復(fù)雜示例示例中僅關(guān)注單一模塊的配置,放入PecConfig未必能夠正常運(yùn)行,先參考4.1讓DrvAnyPolling正常運(yùn)行之后,再驗(yàn)證以下示例。6.1. 校時(shí)模塊 (8) 命令 10H 多寄存器修改 裝置校時(shí)格式:地址100100000306年月日時(shí)分秒CRC16位校驗(yàn)注:1. 年、月、日、時(shí)、分、秒為BCD碼 2. 動(dòng)作執(zhí)行完畢,裝置不回答。 TimeSend;/詳見(jiàn)3.2.3說(shuō)明 報(bào)文的固定

32、部分 10 01 00 00 03 06以及總報(bào)文長(zhǎng)度必須和規(guī)約一致,可變部分任意寫(xiě)。BuffStr=02 10 01 00 00 03 06 00 00 00 00 00 00 00 00;/地址模塊 詳見(jiàn)3.2.2AddrCHECK=1 AddrPos=1 AddrType=0;/校驗(yàn)?zāi)K 詳見(jiàn)3.2.1CHECK=1 checkFrom=1 checkTo=13checkpos=14checkMode=2 ;/時(shí)間部分 使用簡(jiǎn)單方式 起始位置8,格式BCD碼TimePos=8TimeType=3PecConfig中配置的設(shè)備地址為1,配置結(jié)果報(bào)文如下:2013-04-24 08:38:2

33、5.375 (C4,M0)TimeSend2013-04-24 08:38:25.375 (C4,M0)BuffStr=02 10 01 00 00 03 06 00 00 00 00 00 00 00 002013-04-24 08:38:25.375 (C4,M0)AddrCheck=12013-04-24 08:38:25.375 (C4,M0)AddrPos=12013-04-24 08:38:25.375 (C4,M0)AddrType=02013-04-24 08:38:25.390 (C4,M0)Check=12013-04-24 08:38:25.390 (C4,M0)Chec

34、kFrom=12013-04-24 08:38:25.390 (C4,M0)CheckTo=132013-04-24 08:38:25.390 (C4,M0)CheckPos=142013-04-24 08:38:25.390 (C4,M0)CheckMode=32013-04-24 08:38:25.390 (C4,M0)TimePos=82013-04-24 08:38:25.390 (C4,M0)TimeType=32013-04-24 08:38:25.390 (C4,M0)-Meter0(ID=1,MeterType=AnyPollingMeter)新建設(shè)備114-2013-04-24 08:38:25.390 (C4,M0)校時(shí)2013-04-24 08:38:25.390 (C4,M0)進(jìn)入到了發(fā)送函數(shù)2013-04-24 08:38:25.406 (C4,M0)發(fā):( 15字節(jié))01 10

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論