版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司腳本驅(qū)動V2.0使用指導(dǎo)手冊版本號:0.1-i -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司目 錄錯誤!未找到圖形項(xiàng)目表。-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司第一章新腳本驅(qū)動說明腳本驅(qū)動適用范圍1. 腳本驅(qū)動適用的版本A. MCGS嵌入式組態(tài)軟件;版本號:6.5(01.0010)注:此版本以上為新版本,以下為舊版本B. MCGS通用版的定制版組態(tài)軟件C. MCGS網(wǎng)絡(luò)版的定制版組態(tài)軟件2. 腳本驅(qū)動適用的設(shè)備A. 獨(dú)立板卡設(shè)備B. 串口通信設(shè)備3. 腳本驅(qū)動適用的協(xié)議腳本驅(qū)動兼容
2、性1. 舊版本腳本驅(qū)動兼容新版本組態(tài)軟件2. 新版本腳本驅(qū)動不兼容舊版本的組態(tài)軟件,舊版本組態(tài)軟件無法識別新版本腳本驅(qū) 動腳本驅(qū)動新增內(nèi)容1. 腳本驅(qū)動新增功能新增加生成向?qū)Чδ?,具體參照第三章內(nèi)容。2. 腳本驅(qū)動新增函數(shù)(1) 數(shù)據(jù)解析函數(shù)1. !SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)2. !SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)3. !SvrGetlntFromByteArr(ByRef ByteArr, start, ByRef n
3、, Flag)4. !SvrGetSingleFromByteArr(ByRef ByteArr, start, ByRef x, Flag)5. !SvrGetByteFromHexStr(str, ByRef n, Flag)6. !SvrGetShortFormHexStr(str, ByRef n, Flag)7. !SvrGetlntFromHexStr(str, ByRef n, Flag)8. !SvrGetSingleFromHexStr(str, ByRef x, Flag)(2) 數(shù)據(jù)校驗(yàn)函數(shù)1. ! SvrByteArraySum(ByRef ByteArr, start
4、, length)2. !SvrStrSum(str, Flag)3. !SvrByteArrayXOR(ByRef ByteArr, start, length)4. !SvrStrXOR(str, Flag)5. !SvrStrModbusCRC(ByRef ByteArr, start, length)6. !SvrStrModbusLRC(str, start, length)7. !OpenLog()8. !CloseLog()(3) 字節(jié)數(shù)組操作函數(shù)1. !HStr2HByre(str, arByte)!HByte2HStr(arByte, str)-3 -態(tài)kunluntongt
5、ai北京昆侖通態(tài)自動化軟件科技有限公司第二章基礎(chǔ)概念講解通訊協(xié)議1. ACSII碼通訊協(xié)議(字符型協(xié)議)通訊信息按照ASCII碼方式解析得到的參數(shù)信息稱為 ASCII碼通訊。比如:主站接收到從站發(fā)送的 4 個字符:0x31 0x34 0x2E 0x36,用 ASCII 碼表示為 14.6。2. HEX通訊協(xié)議(字節(jié)數(shù)組協(xié)議)通訊信息按照十六進(jìn)制方式解析得到的參數(shù)信息稱為十六進(jìn)制通訊。比如:主站接收到從站發(fā)送的 4 個字符:0x31 0x34 0x2E 0x36, 用 HEX 表示為 0x31342E363. ASCII碼通訊與HEX通訊的區(qū)別1)ASCII碼通訊傳送的字符能清楚的了解發(fā)送命令和
6、接收信息,但是傳送的信息速度量少;十六進(jìn)制通訊發(fā)送的字符信息速度量大,但是發(fā)送命令和接收信息不明了。2)ASCII碼的通訊幀1個字占4個字符,而HEX的通訊幀1個字占2個字符。女口:發(fā)送0x1427信息,ASCII碼發(fā)送4個字符:0x31 0x34 0x32 0x37,而HEX只需要發(fā)送2個字符:0x14 0x27。-5 -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司第三章向?qū)褂谜f明一.完全適用向?qū)У膮f(xié)議1. ASCII碼協(xié)議,多條命令通訊示例1.1步驟1:協(xié)議分析通訊命令1:模仿ADAM40佃協(xié)議,協(xié)議格式如下:發(fā)送命令:#xxr幀頭:長1個字符,固定為#地址:固定長2個
7、字符幀尾:長1個字符,為回車接收命令:#+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xxr幀頭:長1個字符,固定為#數(shù)據(jù)體:共8個數(shù)據(jù)體,每個數(shù)據(jù)體固定長7個字符,按ASCII碼方式解析幀尾:長1個字符,為回車模擬數(shù)據(jù):發(fā)送命令1: #01r接收命令 1: #+11.111+22.222+33.333+44.444+55.555+66.666+77.777+88.888r通訊命令2:自己定義,解析數(shù)據(jù)非等長通訊協(xié)議,分兩種情況:數(shù)據(jù)長度已知;數(shù)據(jù)長度未知。下面以數(shù)據(jù)長度未知,數(shù)據(jù)之間用分隔符分離的協(xié)議,協(xié)議格式如下:發(fā)送命令:#x
8、xxxxxr幀頭:長1個字符,固定為#,參與校驗(yàn)地址:固定長2個字符,參與校驗(yàn)校驗(yàn):長2個字符,累加和校驗(yàn)結(jié)束符號:長1個字符,固定為回車接收命令:#xxAA,BBB,CCCC,DDDDD,EEEE,FFF,GG ,HHHHxxr幀頭:長1個字符,固定為#數(shù)據(jù)體:8個數(shù)據(jù)體,以“,”分隔校驗(yàn):長2個字符,累加和校驗(yàn)結(jié)束符號:長1個字符,固定為回車模擬數(shù)據(jù):發(fā)送命令:#0184r接收命令:#11,222,3333,44444,5555,666,77,8888E3r-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司1.2步驟2:新建工程進(jìn)入向?qū)陆üこ毯筮M(jìn)入新建工程模式,如圖
9、3-1-1-1所示圖 3-1-1-1-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司設(shè)置腳本驅(qū)動的 名稱和注釋內(nèi)容一 一丿1. 選擇“使用向?qū)陆üこ獭?,則進(jìn)入向?qū)Ы缑?,如圖3-1-1-2所示。2. 選擇“不使用向?qū)陆üこ獭保鞒毯驮瓉硪粯?,直接生成示例腳本。圖 3-1-1-2了整個腳本配' 置分為4個 步驟,前一 個步驟不執(zhí) 行,不允執(zhí) 行下個步驟1.3步驟3:配置驅(qū)動屬性圖 3-1-1-31. 添加屬性,添加除“設(shè)備地址”和“通訊延時”以外的屬性,當(dāng)所添加屬性的數(shù)據(jù)類型選擇枚舉型 時,屬性
10、范圍處填寫枚舉量,并用“;”隔開,如圖3-1-1-4所示。2. 刪除屬性,對多余的屬性進(jìn)行刪除,其中“設(shè)備地址”和“通訊延時”為默認(rèn)屬性,不允許刪除。3. 設(shè)置屬性,修改設(shè)置已添加的屬性。圖 3-1-1-4-9 -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司1.4步驟4:配置通道a®通道名稱通道類型丨通道注釋n通訊狀態(tài)''AI01 r7AI02 7 AI033±I04 r'AI05r AI06rAI0T r'AIOE "'CHL_NE1000 "CHL.NEWOOl 'CHL_NEW002
11、 r:CHL_MEW003,;CHL_HEW0040CHL_NEVFOO5 "'CHL_NE1I006 fcCHL_HEW007開關(guān)型數(shù)値型勤值型勤值型數(shù)值型數(shù)值型數(shù)值型數(shù)值型勤值型勤H型數(shù)值型數(shù)值型數(shù)值型數(shù)値型勤值型數(shù)值型數(shù)蔭型通訊狀態(tài)注釋 浮點(diǎn)通道 浮點(diǎn)通道 浮點(diǎn)通道 浮點(diǎn)通道 浮點(diǎn)通道 浮點(diǎn)通道 浮點(diǎn)通道 浮點(diǎn)通道 新翟立通道新建立通道 新建立通道 新建立通道 新逢立通道 新建立通道 新建宣通道 新建立通道添加通適刪除通道諭置通道取消完成圖 3-1-1-51. 添加通道,可進(jìn)行批量添加操作。2. 刪除通道,對多余的通道進(jìn)行刪除,可批量刪除(按住 Ctrl鍵,選擇要刪除的
12、通道,點(diǎn)擊“刪除通 道”按鈕即可),其中“通訊狀態(tài)”為默認(rèn)通道,不允許刪除。設(shè)置通道,修改設(shè)置已添加的通道,設(shè)置通道中不能修改通道個數(shù)。-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-11 -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司1.5步驟5:配置通訊幀圖 3-1-1-65.1添加收發(fā)通訊幀根據(jù)協(xié)議分析知,2組通訊幀結(jié)構(gòu)信息配置分別如圖3-1-1-7,圖3-1-1-8所示。圖 3-1-1-7-# -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-1-8-# -屋£邇態(tài)kunluntongtal北
13、京昆侖通態(tài)自動化軟件科技有限公司-13 -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司5.2設(shè)置收發(fā)通訊幀圖 3-1-1-9-# -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司對于ASCII碼通訊幀的數(shù)據(jù)體設(shè)置主要有以下幾種情況:1.無特別屬性,數(shù)據(jù)內(nèi)容為可見ASCII字符,如圖圖3-1-1-10所示。-# -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-# -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-1-10廠數(shù)據(jù)類型:數(shù)據(jù)長度:數(shù)據(jù)屬性:數(shù)據(jù)
14、內(nèi)容:ASCII字符數(shù)據(jù)1字符當(dāng)此數(shù)據(jù)體參與校驗(yàn)時,需要選擇。-# -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-15 -屋£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司2.無特別屬性,數(shù)據(jù)內(nèi)容為不可見ASCII字符,如圖圖3-1-1-11所示。圖 3-1-1-11廠數(shù)據(jù)類型: 數(shù)據(jù)長度:數(shù)據(jù)內(nèi)容:數(shù)據(jù)屬性:注釋:提供ASCII表,可以方便的直接 選擇不可見的ASCII字符3.數(shù)值不確定的數(shù)據(jù)體,配置“設(shè)備屬性”中的某個屬性獲得其值,如圖圖廠數(shù)據(jù)類型:圖 3-1-1-12字節(jié)數(shù)據(jù)HEX格式1字節(jié),用2個字符表示0D,注意一定以
15、HEX格式 填寫,無空格無對于相同的數(shù)據(jù)體,設(shè)置 好一個后,其他可選擇默 認(rèn)設(shè)置,設(shè)置與前一個相 同的參數(shù)3-1-1-12 所示。ASCII字符數(shù)據(jù)數(shù)據(jù)長度:數(shù)據(jù)內(nèi)容:2字符設(shè)備屬性中的設(shè)備地址數(shù)據(jù)屬性:-# -eifi 態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司4.數(shù)據(jù)解析圖 3-1-1-131)可知長度的解析,如圖3-1-1-13所示。數(shù)據(jù)類型:數(shù)據(jù)長度:數(shù)據(jù)內(nèi)容:ASCII字符數(shù)據(jù)7字符解析數(shù)據(jù)中的ASCII數(shù)據(jù)屬性:碼數(shù)據(jù)可知長度2)未知長度的解析,如圖3-1-1-14所示。圖 3-1-1-14數(shù)據(jù)類型:ASCII字符數(shù)據(jù)數(shù)據(jù)長度:1字符,此處數(shù)據(jù)長度為“解析數(shù)據(jù)間
16、分隔符號”的長度數(shù)據(jù)內(nèi)容:無數(shù)據(jù)屬性:解析數(shù)據(jù)中的 ASCII碼數(shù)據(jù)未知長度,解析數(shù)據(jù)間分隔ns-17 -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司-19 -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司5.校驗(yàn),如果命令中的數(shù)據(jù)都是確定的,那么可以直接計(jì)算出校驗(yàn)值,如圖3-1-1-15所示。圖 3-1-1-15-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司6.預(yù)覽功能,命令信息設(shè)置完之后,可點(diǎn)擊“命令預(yù)覽”查看命令格式,如圖3-1-1-16所示。-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公
17、司-發(fā)送命令1幀頭數(shù)據(jù)數(shù)據(jù)底度;1數(shù)尿值津 數(shù)據(jù)厲性;無泰與校驗(yàn);FALSE 地址數(shù)據(jù)糞型:ASCII數(shù)據(jù)長度:2數(shù)倨值:0】敷據(jù)JB性土無離與樓臉:FALSE 幀尾敷據(jù)埃埜HEK歎據(jù)他bl敷倨值5數(shù)據(jù)屬性土無參與校劇FALSE -揍收命令Eln-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司取消確認(rèn)圖 3-1-1-167.對于各屬性同前一個的數(shù)據(jù)體,點(diǎn)擊“默認(rèn)設(shè)置”即可。-# -geifi 態(tài)kun I untongtai北京昆侖通態(tài)自動化軟件科技有限公司1.6步驟6:配置預(yù)覽在此預(yù)覽通道和解析數(shù)據(jù)的匹配關(guān)系,并檢查配置
18、是否正確,如果正確就可以,完成配置生成驅(qū)動, 否則不完成配置生成代碼。通道解析配置預(yù)範(fàn)口設(shè)備通道解析數(shù)據(jù)Ai通訊狀態(tài)通訊狀態(tài)rlAioi接咬侖令1-數(shù)據(jù)000r'AI02接收命會1+數(shù)據(jù)體函1rjiioa接收命令1.數(shù)幗體皿2pL AI04接枚命令1”數(shù)據(jù)體03f'AIOB接收命令1.數(shù)據(jù)004pL AI06接收命令1”數(shù)據(jù)體加5"'AI07接收命令1-數(shù)據(jù)006r7AI08接枚命令1.數(shù)據(jù)體MT"CHL-WETOO接收侖令匕奴據(jù)體DDOr'CHL_WEW01接枚命令厶數(shù)據(jù)體Ml"CHL_ME2接收命令乙數(shù)據(jù)002r7CHL_nE3
19、接收命令比數(shù)據(jù)體孔了"CHL_ME4接收命令匕數(shù)據(jù)004rrCHL_HEW005接枚命令比數(shù)據(jù)體0麗V<i)ll確認(rèn)取消圖 3-1-1-17-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-1-18發(fā)送命令幀并接 收數(shù)據(jù),對接收數(shù) 據(jù)進(jìn)行校驗(yàn)對接收的數(shù)據(jù) 進(jìn)行解析,并 設(shè)置通道值1.7步驟7:完成配置,進(jìn)行調(diào)試1.代碼的生成與編譯。3-1-1-18 所示。(1)配置都正確后,可以“完成配置”直接生成腳本代碼,如圖'第a幀枚發(fā)腳本str Tup 二 *00" + I I2Hex備地址)str Tup 二! right (strTmpj 2)
20、組建命令幀strSend = 甘 + strTmp +(Chr(ftHOD)丿'發(fā)送和接收數(shù)據(jù)按如下方式:nReturn = IDevWrit eAndReadStr (strSend strRec, 58,通訊延時) if nReturn < 58 thenI Set IntCharine 1ValueByName ("通訊狀態(tài)",2)esitendif'解析回收數(shù)據(jù),并設(shè)置通道值nlndex = 0vrhile n Index < 8strTmp = ! mi d (at rRec, nlndex* +2J數(shù)宿數(shù)據(jù)二 IValCstrTp)開
21、關(guān)數(shù)據(jù)二數(shù)值數(shù)據(jù)! Set SingleChannelValueByNum (nlnd ex -hnCh 11 ndes+2,數(shù)值數(shù)據(jù))nlndex = nlndex + 1endwhilenCh.1 Index 二 nChl Index + nlndex(2)編譯生成的代碼。選擇“調(diào)試”“檢查整個驅(qū)動”,若沒有問題輸岀窗口會提示“設(shè)備編輯檢查通過”,如圖3-1-1-19所示。愛出窗口正在磐譯腳*函#;ExilDevice+“ S J± 設(shè)備編譯樓査通過!圖 3-1-1-192.配置“串口參數(shù)”。(1)創(chuàng)建虛擬串口,如圖 3-1-1-20所示,串口 COM2和COM3虛擬串口圖 3-
22、1-1-20(2)配置腳本驅(qū)動中的串口參數(shù)選擇“設(shè)置”“串口父設(shè)備配置”,配置串口參數(shù),如圖3-1-1-21所示。串口號:渡持率:停止f立:校驗(yàn)方式;圖 3-1-1-21(3)設(shè)置串口轉(zhuǎn)發(fā)工具SmartCom.exe。首先,設(shè)置串口,如圖3-1-1-22所示。除串口號外,其他需要與 腳本驅(qū)動中串口參數(shù)一致2.數(shù)據(jù)格式選擇ASCII毓揑制選扌睪無謊控制金RTS/CTSj 控制xon/xoffE制數(shù)據(jù)格式(* ASCII C MEX圖 3-1-1-22-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司-23 -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司其次,設(shè)置模擬設(shè)備,串口設(shè)
23、置完后,打開串口,選擇“使能”,添加收發(fā)幀,如圖3-1-1-23所示。搔收數(shù)據(jù)區(qū)串口設(shè)宣流控制選擇無療控制rRTS/CTSii 控制r數(shù)據(jù)格式模擬設(shè)備17使能按收禎發(fā)垃送I圖 3-1-1-23然后,將2組命令幀的模擬數(shù)據(jù)分別添加進(jìn)去,選擇啟動,如圖3-1-1-24所示。-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司3.進(jìn)行調(diào)試。在腳本驅(qū)動中,選擇“調(diào)試”圖 3-1-1-25“定時通道采集”進(jìn)行調(diào)試,如圖3-1-1-26所示。-# -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-1-26-25 -態(tài)kun
24、luntongtai北京昆侖通態(tài)自動化軟件科技有限公司2. HEX碼協(xié)議,單條命令通訊示例2.1步驟1:協(xié)議分析通訊命令:模仿 ModbusRTU協(xié)議,協(xié)議格式如下:發(fā)送命令: 從4區(qū)寄存器地址0開始,連續(xù)讀8個16位無符號二進(jìn)制地址:長1BYTE,內(nèi)容從屬性“設(shè)備地址”中獲得命令碼:長1BYTE,固定為0x03起始地址:長 2BYTE,固定為0x0000連續(xù)元件個數(shù):長 2BYTE,固定為0x0008校驗(yàn):長2BYTE,CRC校驗(yàn)接收命令:地址:長1BYTE,內(nèi)容不重要命令碼長1BYTE,內(nèi)容預(yù)計(jì)為0x03回收字節(jié)長度:長1BYTE,內(nèi)容預(yù)計(jì)為0x10數(shù)據(jù)體00 :長 2BYTE,內(nèi)容由回收
25、數(shù)據(jù)解析獲得,解析方式為16位無符號二進(jìn)制數(shù)據(jù)數(shù)據(jù)體01 :長 2BYTE,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為16位無符號二進(jìn)制數(shù)據(jù)數(shù)據(jù)體02 :長 2BYTE,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為16位無符號二進(jìn)制數(shù)據(jù)數(shù)據(jù)體03 :長 2BYTE,數(shù)據(jù)體03 :長 2BYTE,內(nèi)容由回收數(shù)據(jù)解析獲得,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為解析方式為數(shù)據(jù)體05:長 2BYTE,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為數(shù)據(jù)體06 :長 2BYTE ,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為數(shù)據(jù)體07 :長 2BYTE ,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為16位無符號二進(jìn)制數(shù)據(jù)16位無符號二進(jìn)制數(shù)據(jù)16位無符號二進(jìn)
26、制數(shù)據(jù)16位無符號二進(jìn)制數(shù)據(jù)16位無符號二進(jìn)制數(shù)據(jù)-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司校驗(yàn):長2BYTE,內(nèi)容不重要-27 -geifi 態(tài)kun I untongtai北京昆侖通態(tài)自動化軟件科技有限公司2.2步驟2:新建工程進(jìn)入向?qū)陆üこ毯筮M(jìn)入新建工程模式,如圖3-1-2-1所示。圖 3-1-2-11. 選擇“使用向?qū)陆üこ獭?,則進(jìn)入向?qū)Ы缑妫鐖D圖 3-1-2-2所示。2. 選擇“不使用向?qū)陆üこ蹋鞒毯驮瓉硪粯?,直接生成示例腳本。圖 3-1-2-2-# -屋£邇態(tài)kun
27、luntongtal北京昆侖通態(tài)自動化軟件科技有限公司2.3步驟3:配置驅(qū)動屬性圖 3-1-2-31. 添加屬性,添加除“設(shè)備地址”和“通訊延時”以外的屬性,當(dāng)所添加屬性的數(shù)據(jù)類型選擇枚 舉型時,屬性范圍處填寫枚舉量,并用“;”隔開,如圖3-1-2-4所示。2. 刪除屬性,對多余的屬性進(jìn)行刪除,其中“設(shè)備地址”和“通訊延時”為默認(rèn)屬性,不允許刪 除。3. 設(shè)置屬性,修改設(shè)置已添加的屬性。圖 3-1-2-42.4步驟4:配置通道圖 3-1-2-51. 添加通道,可進(jìn)行批量添加。2. 刪除通道,對多余通道進(jìn)行刪除,可批量刪除,其中“通訊狀態(tài)”為默認(rèn)通道,不允許刪除設(shè)置通道,修改設(shè)置已添加的通道,設(shè)
28、置通道中不能修改通道個數(shù)。-29 -昌£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-31 -昌£邇態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司2.5步驟5:配置通訊幀圖 3-1-2-65.1添加收發(fā)通訊幀根據(jù)協(xié)議分析知,通訊幀結(jié)構(gòu)信息配置分別如圖3-1-2-7所示。圖 3-1-2-7-# -態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司5.2設(shè)置收發(fā)通訊幀-# -態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-# -態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-# -態(tài)kunlunto
29、ngtal北京昆侖通態(tài)自動化軟件科技有限公司-# -態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司HEX格式)1.無特別屬性,如圖3-1-2-9所示。圖 3-1-2-9圖 3-1-2-8對于HEX格式命令幀的數(shù)據(jù)體設(shè)置主要有以下幾種情況:(注釋:對于HEX格式的命令幀,其各幀數(shù)據(jù)體的數(shù)據(jù)類型均為字節(jié)數(shù)據(jù)-# -態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-# -態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司3-1-2-10 所示。2.數(shù)值不確定的數(shù)據(jù)體,配置“設(shè)備屬性”中的某個屬性獲得其值,如圖-# -屋EiS態(tài)kunluntongtal北京昆
30、侖通態(tài)自動化軟件科技有限公司圖 3-1-2-103-1-2-11 所示。3.解析屬性數(shù)據(jù),數(shù)據(jù)內(nèi)容為不需要填寫,由回收數(shù)據(jù)解析獲得,如圖-33 -屋EiS態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司-# -屋EiS態(tài)kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司3-1-2-12 所示。圖 3-1-2-11校驗(yàn),如果命令中的數(shù)據(jù)都是確定的,那么可以直接計(jì)算岀校驗(yàn)值,如圖-# -罷t縣北京昆侖通態(tài)自動化軟件科技有限公司-# -罷t縣北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-2-125.預(yù)覽功能,命令信息設(shè)置完之后,可點(diǎn)擊“命令預(yù)覽”查看命令格式,如圖3-1-2-
31、13 所示。圖 3-1-2-13-# -北京昆侖通態(tài)自動化軟件科技有限公司2.6步驟6:配置預(yù)覽在此預(yù)覽通道和解析數(shù)據(jù)的匹配關(guān)系,并檢查配置是否正確,如果正確就可以,完成配置生成驅(qū)動, 否則不完成配置生成代碼。圖 3-1-2-14-35 -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司2.7步驟7:完成配置1. 代碼的生成與編譯。(1) 配置都正確后,可以“完成配置”直接生成腳本代碼,如圖3-1-2-15所示。第0幀收發(fā)腳本! Ar rayKesize (SendByt eArS)SendEyt eArr 1=設(shè)備地址、SendByteArr2 = H03Sen
32、dBjtaArr3 = &HD0組建命令幀發(fā)送命令幀并接 收數(shù)據(jù),對接收數(shù) 據(jù)進(jìn)行校驗(yàn)SendEyteArr4=妝EDOSendEyt eArr 5 = feHOOSendEyteArr6 = HOEnReturn = ISvrByteArrayModbusCRC(SendByteArr, lj 5)SendByteArrE? = IB it And(nRet urn, iHO 0DO0 OFF)nlmp = ?BitAnd(nReturn, 4HCOOOFFQD)iSendByteArr E = <BitRShift (nTmp ,8)J'爲(wèi)送和接收數(shù)據(jù)按如下方式:、!
33、Arr ayResize(RecByt eArr, 21)'nRetum = IDevVfrit aAndReadByt eArr (SendByt eArr c, RecByt EArr, 21,通訊延時) if nKeturn <> 21 then! Sei SrngleCliannelValueByNajiue ("嗎訊妝態(tài)"f 2)sxitendifnlndeK IA對接收的數(shù)據(jù) 進(jìn)行解析,并 設(shè)置通道值! ArrayResize (Dat aByt eArrj 2)while nlndes 成 8DataByt eArr1 = RecByt e
34、Arrnlndex *2+_DartaByt eArr 2 = RecByt eArr nlndez*+41nReturn = ! SvrGet ShortFromEyteAr r (DataByteAr r, 1,開關(guān)數(shù)據(jù),) 數(shù)值數(shù)據(jù)二開關(guān)數(shù)據(jù)! Set S ins 1 eChanne lalueByNum (nlndex+rtChl Index+數(shù)值數(shù)據(jù)) nlridex = rilnde + .endwhilenChlIndex = nChlIndex + nlndes' 置通訊標(biāo)志,解析都正確! Set Sing 1 eChanns 1 ValueByNane ("
35、通訊狀態(tài)",0)圖 3-1-2-15(2 )編譯生成的代碼。選擇“調(diào)試”“檢查整個驅(qū)動”,若沒有問題輸岀窗口會提示“設(shè)備編輯檢查通過”,如圖3-1-2-16所示。筍1;窗口正在輪譯脾本函K:ExhDevice+“通過 設(shè)備編譯樓査通過!決輸出窗口冒班査看圖 3-1-2-162. 配置“串口參數(shù)”。(1)創(chuàng)建虛擬串口,如圖 3-1-2-17所示,串口 COM2和COM3虛擬串口-37 -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-2-17-# -屋
36、3;邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司配置腳本驅(qū)動中的串口參數(shù)-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司3-1-2-18 所示。選擇“設(shè)置”“串口父設(shè)備配置”,配置串口參數(shù),如圖-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-2-18(2) 設(shè)置 Modbus串口轉(zhuǎn)發(fā)工具 mbslave.exeConnect”進(jìn)行設(shè)置,如圖 3-1-2-19所示。打開 mbslave.exe,選擇“ C
37、onnection ”-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司圖 3-1-2-19-39 -態(tài)'Sfes? kunluntongtal北京昆侖通態(tài)自動化軟件科技有限公司A. 選擇“ Setup”“Slave Definition "進(jìn)行設(shè)置,如圖 3-1-2-20 所示圖 3-1-2-20B. 選擇“ Connection”“Quick connect”運(yùn)行,并設(shè)置各地址數(shù)據(jù)。3. 進(jìn)行調(diào)試。在腳本驅(qū)動中,選擇“調(diào)試”“定時通道采集”進(jìn)行調(diào)試,如
38、圖 3-1-2-22所示。圖 3-1-2-22-# -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司二. 不完全適用向?qū)?. 步驟1:協(xié)議分析設(shè)備命令:模仿三菱 Q系列串口協(xié)議,協(xié)議格式如下:發(fā)送命令:從D寄存器地址0開始,連續(xù)讀8個16位無符號二進(jìn)制幀頭:長1個字符,固定為 ENQ即0x05幀識別號:長2個字符,固定為FB本地站號:長2個字符,內(nèi)容從設(shè)備屬性中獲得上位站號(即設(shè)備地址):長2個字符,內(nèi)容從設(shè)備屬性中獲得命令碼:長1個字符,固定為2寄存器地址:長2個字符,固定為D*起始地址:長6個字符,固定為000000軟元件個數(shù):長4個字符,固定為0008累加和校驗(yàn):長2個字
39、符,通過自動計(jì)算獲得接收命令:幀頭:長1個字符,內(nèi)容不重要幀識別號:長2個字符,內(nèi)容不重要本地站號:長2個字符,內(nèi)容不重要上位站號:長2個字符,內(nèi)容不重要數(shù)據(jù)體0007 :長4個字符,內(nèi)容由回收數(shù)據(jù)解析獲得,解析方式為16位無符號二進(jìn)制數(shù)據(jù)幀尾:長1個字符,內(nèi)容不重要校驗(yàn):長2個字符,內(nèi)容不重要分析:由協(xié)議格式所知,腳本驅(qū)動向?qū)o法生成此協(xié)議格式,但是此協(xié)議可以由腳本驅(qū)動實(shí)現(xiàn),因此,我們 先通過腳本驅(qū)動向?qū)煽蚣?,然后在生成的代碼中修改即可。-41 -©罷t縣北京昆侖通態(tài)自動化軟件科技有限公司2. 步驟2:根據(jù)向?qū)赡0逑驅(qū)褂貌襟E在此不在介紹,主要說明需注意的幾部分:1.配置屬
40、性由協(xié)議知,本地站號也需要通過設(shè)備屬性獲得,因此設(shè)備屬性添加“本地站號”,如圖3-2-1所示圖 3-2-12.配置通訊幀A.配置通訊幀結(jié)構(gòu)信息,如圖3-2-2所示圖 3-2-2-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司B.設(shè)置收發(fā)通訊幀,如圖3-2-3所示-舄送命窖幀頭救棍婁3!:HEK 刪8世蟲11S:05踐據(jù)屬性:無參與按驗(yàn):FALSE地址黛據(jù)賣型ASCII歎據(jù)槍匿:2歎據(jù)值:設(shè)備地址數(shù)惟屁性:悅備盡性馥與校卷:IEUE 盤務(wù) 魏據(jù)糞型:盤口 魏據(jù)長度:】魏據(jù)但詛 歎轄屬性:無酸與検驗(yàn):TRUE皴據(jù)000 他牖尖型:ASCII魏據(jù)長虞:2鞍齬信冊
41、 敗據(jù)厲'性:無奉與松驗(yàn):TRUE】 數(shù)據(jù)體皿I 數(shù)需莢型:曲CII鼓據(jù)楓度洱僉拒佰:000000 SfttEJS性:無參與校翳:?RUE 釵據(jù)frD02 數(shù)祝莢型???I致?lián)R度:!皺據(jù)fiiOOOa劇民屆性:無歩與校驗(yàn):TEUE-標(biāo)牧命督ifcll致?lián)q據(jù)屬性:橙瞪方穴酸與校臉:丁刖E敷據(jù)ftDOD軟齬體JIH效據(jù)002蝕據(jù)低皿3釵據(jù)休D(M數(shù)據(jù)體E5歎據(jù)006魏據(jù)007【數(shù)據(jù)戔擔(dān);貼口 I救據(jù)夷型:舫口 T敷據(jù)莢型:ASCII歎據(jù)案型油丸口 型:ASCII數(shù)需夷型:ASCII Sftiei ASCII 敷據(jù)類型沌孔II 數(shù)據(jù)尖型曲丸育 數(shù)需夷型:ASCII致?lián)L度沁 歎據(jù)長度沁
42、 魏轄長度起 竝據(jù)梅廈川 數(shù)據(jù)悵度:! 埶據(jù)悵度山 顛帰悵度沁數(shù)訴1B:mk 聶據(jù)IE:燈汕 數(shù)據(jù)值: 數(shù)劇S: st據(jù) ta: 魏據(jù)值: 致?lián)? 釵據(jù)值:歟帰俏: 鼓據(jù)頂;做搖廟性:無 寺與犢勁TRUE Sti&S'S:無參與校轅:TJilJE動據(jù)厲性:解析方或?qū)遗c校慫:TRUE 歎據(jù)屈性:堺析方式魁與校驗(yàn):1血 魏裾馬性:堺析方式蠶與搐驗(yàn):TRUE 鼓拒鹿性;解折方式 蠶與校驗(yàn);帝兀 曲據(jù)屈性:解桁方或參與校驗(yàn):TRUE 數(shù)據(jù)屈性:解極方戰(zhàn)參與礎(chǔ):IEUE 歎據(jù)脾性:堺析方武零與校繪:了應(yīng) 蝕據(jù)鹿性;解析方武寺與校驗(yàn);TRUE確認(rèn)幀屋救據(jù)夷3!:HEK強(qiáng)(8忙淒畀
43、1;61815:03魏據(jù)屬性:無參與梭騷:HUJEE越E蹈溜圖 3-2-3注釋:-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司1. 由于“本地站號”用向?qū)o法生成,因此需要在代碼中修改;幀識別號是固定值,可在向?qū)е刑砑樱ê显趲^中),也可在代碼中修改。2. 由于接收命令只需要各部分的數(shù)據(jù)長度,因此:幀頭為幀頭+幀識別號;地址為本地站號+設(shè)備地址3. 步驟3:修改向?qū)傻拇a1.根據(jù)向?qū)傻拇a如下所示。'第。幀牧發(fā)腳本st rTiftp =+ I I2Hex
44、 (設(shè)備地址)strTmp = !right(strTmp, 2)strSend = IChrtoO5) + st rTap + "2* + *000000* + *0008*st rTmp = !mid(str3endj 2, 15)st rTmp = ! Sur St r Sum Cst rTnipj 1)strSend = strSend + st rTinpstrSend - strSend'發(fā)送和接收數(shù)據(jù)按如下方式:nKet urn 二! DevVr it eAndReadSt r (st rSendj strRec, 4 ;通訊延時) 辻 nReturn <
45、 42 then15 et Int Channe lValueByNauie ("通訊狀態(tài)2)ex丄丈endif'解析回收數(shù)據(jù),并設(shè)置通道倩nlndex = 0while nlndex < 8st rTmp = ! jai d (st rRe c, nlndex *4+8,4)nReturn = I SvrGet ShortFrSt r (st rTmpj 開關(guān)數(shù)據(jù),0)數(shù)值數(shù)據(jù)二開關(guān)數(shù)據(jù)! SetS lng 1 eChanne 1 ValueByNwn (nlndex+nChl IndBx+2,數(shù)值數(shù)據(jù)) nlndex 二 nlndex +endurhilenChlI
46、ndex = mChllndew + nlndex1 Set Int Channel Vai ueByName通訊狀態(tài)0),修改完代碼如下所2.根據(jù)步驟2所知,組幀部分代碼需要修改,添加“本地站號”和“幀識別號”示。J第。幀枚發(fā)腳本str Tup = r 00" + !I2Hex (設(shè)備地址) str Imp = ! riffht (strTmp, 2)rTmpl = ' D0f' + I I2Hex 地站號 rfLtTjitpl = ! right (strTnp, 2)忝加“幀識別號"和“本地站號”茯取2字符的本地站號strSend = IChr(ftH
47、iJ?)十:上+ fftrTmpl+ strTmp + "2" + 5" + wOOOODDfr + *0008"-# -屋£邇態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司strTmp = !inid(strSend 2., 19)1,作用:楨頭不參與校驗(yàn)'去掉幀頭么命令幀中粛加了 '噸識別號和策本地站號” 卑了4個宇符,因此長度加4,即15+4=19strTmp = ISvfStrSm(strTmpj I) st rSend = si: rSend + st rTmp strSend = rSend-# -態(tài)
48、kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司4.步驟4:進(jìn)行調(diào)試調(diào)試過程與ASCII碼協(xié)議的調(diào)試相同,此處不再介紹-45 -態(tài)kunluntongtai北京昆侖通態(tài)自動化軟件科技有限公司第四章新增函數(shù)使用說明一. 數(shù)據(jù)解析函數(shù)1. !SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)函數(shù)意義:將字節(jié)數(shù)組ByteArr中從start位置開始的內(nèi)容輸岀到變量 n中,輸岀格式為1個字節(jié)整數(shù), 字節(jié)數(shù)組位置計(jì)數(shù)從1開始。返回值:整型,判斷輸岀是否正常。0 :正常小于0 :錯誤,具體意義如下:-1 :起始索引start小于
49、1;-2:起始索引start大于數(shù)組上限;-3:字節(jié)數(shù)組長度不足;-4: n不是整型變量;-5:其他錯誤。參數(shù):ByteArr :傳址型,字節(jié)型數(shù)組。start:整型,輸出的首位置,從1開始。n:傳址型,長整型。Flag :長整型,解析方式0 : 8位無符號;1 : 8位有符號;2 : 8位BCD碼。實(shí) 例:!SvrGetByteFromByteArr(BA, 2, A, 1),字節(jié)數(shù)組為:00 01 02 03 04 05 06 07 08 09 00,則 A=1。2. !SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)函
50、數(shù)意義:將字節(jié)數(shù)組ByteArr中從start位置開始的內(nèi)容輸岀到變量 n中,輸岀的格式為2字節(jié)整型, 字節(jié)數(shù)組位置計(jì)數(shù)從1開始。返回值:整型,判斷是輸岀是否正常:0:正常;小于0 :錯誤,具體意義如下:-1 :啟始索引start小于1 ;-2:啟始索引start大于數(shù)組上限;-3:字節(jié)數(shù)組長度不足;-4: n不是整型變量;-5:其他錯誤。參數(shù):ByteArr :傳址型,字節(jié)型數(shù)組。start:整型,輸出的首位置,從1開始。n:傳址型,長整型。Flag :長整型,解析方式0 : 16位無符號;1: 16位有符號;2: 16位BCD碼。實(shí) 例:!SvrGetByteFromByteArr (BA, 2, A, 1),字節(jié)數(shù)組為:00 01 02 03 04 05 06 07 08 09 00 00,則A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025專業(yè)倉儲合同
- 2025國英置業(yè)合同成本手冊
- 2025年度農(nóng)村私人魚塘承包與綠色漁業(yè)發(fā)展合作合同
- 二零二五年度農(nóng)產(chǎn)品品牌營銷委托收購合作協(xié)議3篇
- 二零二五年度車輛未過戶期間的車輛事故免責(zé)條款合同3篇
- 二零二五年度火鍋店轉(zhuǎn)讓及底料供應(yīng)協(xié)議3篇
- 二零二五年度執(zhí)業(yè)藥師藥品市場營銷推廣服務(wù)合同3篇
- 2025年度特種水產(chǎn)品養(yǎng)殖項(xiàng)目合伙經(jīng)營合同3篇
- 二零二五年度特色小鎮(zhèn)建設(shè)住房合作協(xié)議3篇
- 2025年度家庭農(nóng)場規(guī)?;B(yǎng)豬場整體轉(zhuǎn)讓合同3篇
- 貴州省黔東南州2023-2024學(xué)年九年級上學(xué)期期末道德與法治試題
- 濕疹健康宣教課件
- 《婦產(chǎn)科學(xué):宮頸癌》課件
- 國際結(jié)算英文選擇題附答案
- 河北省承德市承德縣2023-2024學(xué)年七年級上學(xué)期期末生物試卷+
- 精神病健康教育知識宣傳
- 2024年《雙眼視覺學(xué)、驗(yàn)光學(xué)、配鏡學(xué)》等綜合知識試題與答案
- 2023年北京海淀七年級上學(xué)期期末英語試卷(含答案)
- 急救、生命支持類醫(yī)學(xué)裝備調(diào)配制度與流程
- 河南省駐馬店市重點(diǎn)中學(xué)2023-2024學(xué)年九年級上學(xué)期12月月考語文試題(無答案)
- 江蘇省無錫市2022-2023學(xué)年上學(xué)期初中學(xué)業(yè)水平調(diào)研測試九年級英語期末試題
評論
0/150
提交評論