下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于 VB 實(shí)現(xiàn)臺(tái)達(dá) PLC 與 PC 串行通訊隨著工業(yè)自動(dòng)化控制技術(shù)的不斷發(fā)展,可編程邏輯控制器(PLC)與上位機(jī)之間通訊的應(yīng)用越來越廣泛。在PLC與上位機(jī)組成的集散控制系統(tǒng)中,PLC作為下位機(jī)完成現(xiàn)場(chǎng)各種信號(hào)和數(shù)據(jù)的、運(yùn)算和完成對(duì)系統(tǒng)的底層控制,上位機(jī)則可提供人機(jī)交互界面,實(shí)現(xiàn)數(shù)據(jù)的處理以及現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)顯示等監(jiān)視和控制等功能。為實(shí)現(xiàn)面向產(chǎn)品全生命周期的數(shù)字化服務(wù)的制造裝備的監(jiān)測(cè)與技術(shù),隨著移動(dòng)通訊市場(chǎng)的迅速擴(kuò)大,GSM 無線數(shù)字蜂窩通訊網(wǎng)絡(luò)在我國得到了高速的發(fā)展,不但擁有較高的覆蓋率,而且相繼開放了SMS(短消息)、FAX(傳真)、DATA(數(shù)據(jù))等業(yè)務(wù),為選擇高效、廉價(jià)的數(shù)據(jù)傳輸提供了
2、新的思路。各種組態(tài)軟件,如:iFix、MCGS、組態(tài)王等雖然可以實(shí)現(xiàn)PLC的,但不能實(shí)現(xiàn)PLC Modbus通訊協(xié)議與GSM模塊的通訊協(xié)議的轉(zhuǎn)換。本文就是基于這點(diǎn)考慮,運(yùn)用VB編制操作界面和通信功能,完成臺(tái)達(dá)PLC與PC機(jī)串行通訊,這是實(shí)現(xiàn)GSM模塊與PLC通訊的所在。通訊硬件及協(xié)議簡介1.1 通訊硬件組成臺(tái)達(dá)PLC自帶有兩個(gè)通訊串口(EH系列可擴(kuò)展第三個(gè)通訊口RS-485或RS-422和2。完COM1采用標(biāo)準(zhǔn)RS-232接口,它是一種近距離、低干擾、點(diǎn)對(duì)點(diǎn)的通訊協(xié)議。該接口在程序后一般都處于閑置狀態(tài)。2是標(biāo)準(zhǔn)RS-485接口,可用于用能力強(qiáng)、可多臺(tái)串接組網(wǎng)的通訊方式。在該生產(chǎn)線的控制系統(tǒng)中,
3、COM2已用于PLC與變頻器之間的通訊,而一般 機(jī)都自帶標(biāo)準(zhǔn)接口。因此 機(jī)與之間通訊采用1(RS-232)接口,連接線采用臺(tái)達(dá)PLC的編程電纜DVPACAB230。1.2 通訊協(xié)議介紹Modbus 協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一控制器請(qǐng)求其它設(shè)備的過程,如果回應(yīng)來自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并。它制定了消息域格局和內(nèi)容的公共格式
4、。當(dāng)在一Modbus網(wǎng)絡(luò)上通信時(shí),此協(xié)議決定了每個(gè)控制器須要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來的消息,決定要產(chǎn)生何種行動(dòng)。如果需要回應(yīng),控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴(kuò)展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯(cuò)誤檢測(cè)的方法??刂破髂茉O(shè)置為兩種傳輸模式(ASCII或RTU)中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)通信。PLC與上位機(jī)通訊時(shí),通常由上位計(jì)算機(jī)發(fā)出命令給PLC,PLC處于狀態(tài)。臺(tái)達(dá)PLC所有通訊口都遵循Modbus通訊協(xié)議,出廠默認(rèn)的通訊格式為“9600,7,E,1”、ASCII模式。波
5、特率為9600,數(shù)據(jù)長度為7位,數(shù)據(jù)校驗(yàn)方式為偶校驗(yàn),結(jié)束字元長度為1位,以上參數(shù)可以通過WPL編程軟件修改。本文僅以ASCII通訊模式為例實(shí)現(xiàn)臺(tái)達(dá)PLC與PC機(jī)的通訊。ASCII通訊格式如表1所示:StxAddressFunctionDataLRCEnd:1位1位132 位1位回車鍵地址:地址棧號(hào)范圍為01FF進(jìn)制數(shù)功能碼:” 01”讀多個(gè)S、 Y、M、T、C的狀態(tài),PLC返回一串?dāng)?shù)據(jù),其中包含了讀出的一系列裝置的進(jìn)制數(shù)?!?2”S、Y、M、T、C輸入狀態(tài),PLC返回一串?dāng)?shù)據(jù),其中包含了讀出的一系列裝置的進(jìn)制數(shù)?!?3”制數(shù)。D、T、C寄存器的值,返回?cái)?shù)據(jù)串中包含寄存器值的進(jìn)“05”強(qiáng)制使S
6、、 Y、M、T、C置位或復(fù)位,當(dāng)數(shù)據(jù)內(nèi)容為“FF00”置位,當(dāng)為“0000”則復(fù)位。“06”向PLC 的D、T、C寄存器寫值, 值應(yīng)為進(jìn)制的。LRC: LRC(Longitudinal Redundancy Check)錯(cuò)誤校驗(yàn)用于ASCII模式。這個(gè)錯(cuò)誤校驗(yàn)是一個(gè)8位二進(jìn)制數(shù),可作為2個(gè)ASCII進(jìn)制字節(jié)傳送。把進(jìn)制字符轉(zhuǎn)換成二進(jìn)制,加上無循環(huán)進(jìn)位的二進(jìn)制字符和二進(jìn)制補(bǔ)碼結(jié)果生成LRC錯(cuò)誤校驗(yàn)(參見圖)。這個(gè)LRC在接收設(shè)備進(jìn)行核驗(yàn),并與被傳送的LRC進(jìn)行比較,冒號(hào)(:)、回車符號(hào)(CR)及置入的其他任何非ASCII略不計(jì)。范例如表2所示:進(jìn)制字符在運(yùn)算時(shí)忽表2:LRC計(jì)算示例Address
7、 + Function + Data1 + Data2 + Data3 + Data4 = 01 + 03 + 04 + 01 + 00+ 01 =0A 將0A 的值周轉(zhuǎn)換成2 的補(bǔ)數(shù), 0A 的2 補(bǔ)數(shù) = F6。2軟件實(shí)現(xiàn)采用的是基于VB(Visual Basic)編寫的驅(qū)動(dòng)程序。VB是一個(gè)可視化的高級(jí)語言,為用戶提供直觀的工作環(huán)境,為系統(tǒng)建立良好的用戶界面奠定了基礎(chǔ)。VB采用事件驅(qū)動(dòng),編程與調(diào)試方便,可以快速地編制出性能良好的應(yīng)用程序,m的簡單配置,就可以完成串行口的讀寫操作,是上位通過對(duì)串行通信控件機(jī)系統(tǒng)常用的開發(fā)工具。在PLC與上位機(jī)通信之前,必須對(duì)RS一232通訊端口進(jìn)行初始化,包
8、括波特率、起始位、數(shù)據(jù)位、停止位、奇偶校驗(yàn)等,使兩者按照相同的格式通訊C200HX的RS一232C通訊口一般設(shè)置為9 600 bps,7位數(shù)據(jù)位,1個(gè)停止位,偶校驗(yàn),I位起始位可對(duì)實(shí)現(xiàn)對(duì)串口的初始化。的m控件的setting屬性進(jìn)行設(shè)置來2.1m 控件m 控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。常用通信屬性如下:CommPort屬性:用來設(shè)置或返回通信端碼。Settings屬性:用來設(shè)置波特率、奇偶校驗(yàn)、數(shù)據(jù)位和停止位。 PortOpen屬性:用來設(shè)置或返回通信連接口的狀態(tài)。StxAddressFunctionData1Data2Data3Data4LRCEnd:01030
9、4010001CRInput屬性:用于從輸緩存區(qū)返回并刪除字符。 Output屬性:用于將一個(gè)字符串寫入輸出緩存區(qū)。 CommEvent屬性:在通信錯(cuò)誤或事件發(fā)生時(shí)會(huì)產(chǎn)生屬性存有該錯(cuò)誤事件的數(shù)值碼。2.2 通信程序的編寫m事件,CommEvent此程序只涉及PC機(jī)與臺(tái)達(dá)PLC通訊部分,計(jì)算機(jī)對(duì)外部信號(hào)處理本文稍后介紹mPort = 1 m1.PortOpen = False Thenm1.PortOpen = True設(shè)置 COM1 通訊端口打開串口IfEnd Ifm1.Settings = 9600,E,7,1.Settings: 設(shè)置并返回波特率 9600、偶校驗(yàn)、數(shù)據(jù)位 7 位、停止位
10、1 位的通訊格式清空接收緩沖區(qū) 清空發(fā)送緩沖區(qū)設(shè)置數(shù)據(jù)格式為字符形式 串口通訊使能PC 向 PLC 發(fā)送數(shù)據(jù) PLC 向 PC 機(jī)返回?cái)?shù)據(jù) 數(shù)據(jù)發(fā)送后關(guān)閉串口m1 .InBufferCount = 0 m1.OutBufferCount = 0 m1 .InputMode = 0m1.Rable = Truem1.Output =符合協(xié)議的字符命令串Text1.Text=m1.Inputm1.PortOpen = FalseEnd Sub3 通信示例預(yù)設(shè)PLC站號(hào)地址為“01”,以下若沒有特殊說明PLC站號(hào)地址均為“01”。 “CR”表示回車31 對(duì)輔助繼電器M0操作1)置位M0Data1、
11、Data2表示輔助繼電器的地址,Data1放入地址的高8位,Data2放入地址的低8位,“FF00”表示置位放入Data3 、Data4,LRC為PC向PLC發(fā)送字符命令串=“:01050800FF00F3CR” PLC向PC返回字符串=“:01050800FF00F3CR”2)復(fù)位M0“0000”表示復(fù)位放入Data3 、Data4,其余同上不再解釋。PC向PLC發(fā)送字符命令串=“:010508000000F3CR” PLC向PC返回字符串=“:010508000000F2CR”若第三個(gè)數(shù)據(jù)位變?yōu)?,則通訊出現(xiàn)錯(cuò)誤。StxAddressFunctionData1Data2Data3Data4
12、LRCEnd:010508000000F2CRStxAddressFunctionData1Data2Data3Data4LRCEnd:01050800FF00F3CR32 對(duì)文件寄存器D512操作1)向D512寫入一個(gè)十進(jìn)制數(shù),如把D512設(shè)定為32, 先將十進(jìn)制數(shù)值轉(zhuǎn)換為四位的進(jìn)制數(shù),32轉(zhuǎn)換為0020,高低8位分別放入Data3 ,Data4“1200”表示D512的地址高低位分別放入Data1、 Data2PC向PLC發(fā)送字符命令串=“:010612000020C7CR” PLC向PC返回字符串=“:010612000020C7CR” 2)PLC的D512值Data3 、Data4中數(shù)
13、據(jù)內(nèi)容表示以Data1、 Data2地址起始的寄存器個(gè)數(shù),此值最大值為7(由通訊格式中數(shù)據(jù)位決定),若該數(shù)據(jù)內(nèi)容為0002,則表示連續(xù)兩個(gè)寄存器的值,依次類推。1200表示D512的地址。PC向PLC發(fā)送字符命令串=“:010312000001E9CR” PLC向PC返回字符串“:01030204B046CR”02表示返回值字節(jié)總數(shù)為2(一個(gè)寄存器的字節(jié)數(shù)為2),04B0表示目標(biāo)寄存器D512的數(shù)據(jù)內(nèi)容(進(jìn)制)即十進(jìn)制數(shù)1200,46表示。若第三個(gè)數(shù)據(jù)位變?yōu)?,則通訊出現(xiàn)錯(cuò)誤。4結(jié)束語臺(tái)達(dá)PLC與PC通訊的實(shí)現(xiàn)使PLC與GSM模塊通訊成為可能。PC機(jī)作為中轉(zhuǎn)站完成Modbus通訊協(xié)議與GSM通訊協(xié)議的轉(zhuǎn)換,使GSM 無線數(shù)字蜂窩通訊網(wǎng)絡(luò)運(yùn)用于基于PLC的工業(yè)控制系統(tǒng),實(shí)現(xiàn)制造裝備的監(jiān)測(cè)、與技術(shù)。參考資料1,114-115m控件實(shí)現(xiàn)PC與PLC串行通訊J .現(xiàn)代電子技術(shù).2005,196(5)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度柴油交易平臺(tái)建設(shè)與運(yùn)營合同樣本4篇
- 2025年度旅游度假區(qū)場(chǎng)地租賃及旅游服務(wù)合同11篇
- 2024年高端住宅小區(qū)二零二四年度飲用水品質(zhì)提升合同3篇
- 個(gè)性化珠寶訂制及保養(yǎng)服務(wù)合同書
- 2024藥店藥品銷售經(jīng)理聘用合同范本3篇
- 2025年度酒店餐飲場(chǎng)地租賃轉(zhuǎn)讓意向協(xié)議范本4篇
- 專業(yè)家務(wù)助理合作協(xié)議(2024規(guī)范版)
- 2025年智慧城市建設(shè)項(xiàng)目土地租賃合同樣本8篇
- 2025年度違法建筑拆除與歷史文化遺產(chǎn)保護(hù)合同4篇
- 2025年茶山茶葉加工廠租賃合作協(xié)議范本4篇
- 焊錫膏技術(shù)培訓(xùn)教材
- 函授本科《小學(xué)教育》畢業(yè)論文范文
- 高考高中英語單詞詞根詞綴大全
- 江蘇省泰州市姜堰區(qū)2023年七年級(jí)下學(xué)期數(shù)學(xué)期末復(fù)習(xí)試卷【含答案】
- 藥用輔料聚乙二醇400特性、用法用量
- 《中小學(xué)機(jī)器人教育研究(論文)11000字》
- GB/T 22085.1-2008電子束及激光焊接接頭缺欠質(zhì)量分級(jí)指南第1部分:鋼
- 全過程人民民主學(xué)習(xí)心得體會(huì)
- 2023年上海期貨交易所招聘筆試題庫及答案解析
- 附圖1岑溪市行政區(qū)劃圖
- word企業(yè)管理封面-可編輯
評(píng)論
0/150
提交評(píng)論