




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于VB實現臺達PLC與PC串行通訊隨著工業自動化控制技術的不斷發展,可編程邏輯控制器(PLC)與上位機之間通訊的應用越來越廣泛。在PLCW上位機組成的集散控制系統中,PLC乍為下位機完成現場各種信號和數據的采集、運算和完成對系統的底層控制,上位機則可提供人機交互界面,實現數據的處理以及現場數據的實時顯示等監視和遠程控制等功能。為實現面向產品全生命周期的數字化遠程服務經營理念的制造裝備的遠程監測、診斷與維護技術,隨著移動通訊市場的迅速擴大,GSM無線數字蜂窩通訊網絡在我國得到了高速的發展,不但擁有較高的覆蓋率,而且相繼開放了SMS儂消息)、FAX(傳真)、DATA儆據)等業務,為選擇高效、廉價
2、的數據傳輸提供了新的思路。各種組態軟件,如:iFix、MCGS組態王等雖然可以實現PLC勺遠程監控,但不能實現PLCModbus®訊協'議與GSMI塊的通訊協議的轉換。本文就是基于這點考慮,運用V踹制操作界面和通信功能,完成臺達PLC與PC機串行通訊,這是實現GSM模塊與PLC通訊的關鍵技術所在。1 通訊硬件及協議簡介1.1 通訊硬件組成臺達PLC1帶有兩個通訊串口(EH!(列可擴展第三個通訊口RS-485或RS-422)COM和COM2COM1用標準RS-232接口,它是一種近距離、低干擾、點對點的通訊協議。該接口在下載完PLCg序后一般都處于閑置狀態。COM是標準RS-4
3、85接口,可用于用抗干擾能力強、可多臺串接組網的通訊方式。在該生產線的控制系統中,COM2用于PLCW變頻器之間的通訊,而一般PCM都自帶標準RS-232接口。因此PCM與PLC±間通訊采用COM1(RS-232)接口,連接線采用臺達PLC勺編程電纜DVPACAB2301.2通訊協議介紹Modbus協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。它
4、描述了一控制器請求訪問其它設備的過程,如果回應來自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。當在一Modbu函絡上通信時,此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息并用Modbus#議發出。在其它網絡上,包含了Modbus#議的消息轉換為在此網絡上使用的幀或包結構。這種轉換也擴展了根據具體的網絡解決節地址、路由路徑及錯誤檢測的方法。控制器能設置為兩種傳輸模式(ASCII或RTU中的任何一種在標準的Modbus網絡通信。PLCI上位機通訊時,通常由上位計算機發出命令給PLC,PLCM
5、于被動狀態。臺達PLCIf有通訊口都遵循Modbus®訊協議,出廠默認的通訊格式為“9600,7,E,1"、ASCII模式。波特率為9600,數據長度為7位,數據校驗方式為偶校驗,結束字元長度為1位,以上參數可以通過WP編程軟件修改。本文僅以ASCII通訊模式為例實現臺達PLCWPCM的通訊。ASCII通訊格式如表1所示:StxAddressFunctionDataLRCEnd:1位1位132位1位回車鍵表1:ASCII通訊格式地址:地址棧號范圍為01FF十六進制數功能碼:“01”讀多個S、Y、M、T、C的狀態,PLC返回一串數據,其中包含了讀出的一系列裝置的十六進制數。0
6、2”讀取S、Y、M、T、C輸入狀態,PLC返回一串數據,其中包含了讀出的一系列裝置的十六進制數。03”讀取D、T、C寄存器的值,返回數據串中包含寄存器值的十六進制數。05賀制使S、Y、M、T、C置位或復位,當數據內容為“FF00”置位,當為“0000”則復位。06”向PLC的D、T、C寄存器寫值,值應為十六進制的。LRC校驗碼:LRC(LongitudinalRedundancyCheck)錯誤校驗用于ASCII模式。這個錯誤校驗是一個8位二進制數,可作為2個ASCII十六進制字節傳送。把十六進制字符轉換成二進制,加上無循環進位的二進制字符和二進制補碼結果生成LRC錯誤校驗(參見圖)。這個LR
7、C在接收設備進行核驗,并與被傳送的LRC進行比較,冒號(:)、回車符號(CR)及置入的其他任何非ASCII十六進制字符在運算時忽略不計。范例如表2所示:StxAddressFunctionData1Data2Data3Data4LRCEnd010304010001CR表2:LRC校驗碼計算示例Address+Function+Data1+Data2+Data3+Data4=01+03+04+01+00+01=0A將0A的值周轉換成2的補數,0A的2補數=F6。2軟件實現我們采用的是基于VB(VisualBasic)平臺編寫的驅動程序。VB是一個可視化的高級語言,為用戶提供直觀的工作環境,為監控
8、系統建立良好的用戶界面奠定了基礎。VB采用事件驅動,編程與調試方便,可以快速地編制出性能良好的應用程序,通過對串行通信控件MSComm的簡單配置,就可以完成串行口的讀寫操作,是上位機監控系統常用的開發工具。在PLC與上位機通信之前,必須對RS232通訊端口進行初始化,包括波特率、起始位、數據位、停止位、奇偶校驗等,使兩者按照相同的格式通訊.C200Hx的RS232C通訊口一般設置為9600bps,7位數據位,1個停止位,偶校驗,I位起始位.可對VB的MSComm控件的setting屬性進行設置來實現對串口的初始化。2.1 MSCommMSComm控件通過串行端口傳輸和接收數據,為應用程序提供串
9、行通信功能。常用通信屬性如下:CommPort屬性:用來設置或返回通信端口號碼。Settings屬性:用來設置波特率、奇偶校驗、數據位和停止位。PortOpen屬性:用來設置或返回通信連接口的狀態。Input屬性:用于從輸入緩存區返回并刪除字符。Output屬性:用于將一個字符串寫入輸出緩存區。CommEvent屬性:在通信錯誤或事件發生時會產生OnComm事件,CommEvent屬性存有該錯誤事件的數值碼。2.2 通信程序的編寫設置COM1通訊端口 打開串口此程序只涉及PC機與臺達PLC通訊部分,計算機對外部信號處理本文稍后介紹MSComml.CommPort=1IfMSComml.Port
10、Open=FalseThenMSComml.PortOpen=True'.Settings :設置并返回波特率9600、偶校驗、數據位 7位、 停止位1位的通訊格式清空接收緩沖區清空發送緩沖區設置數據格式為字符形式 串口通訊使能PC向PLC發送數據PLC向PC機返回數據 數據發送后關閉串口EndIfMSComm1.Settings="9600,E,7,1”MSComm1.InBufferCount=0MSComm1.OutBufferCount=0MSComm1.InputMode=0MSComm1.RTSEnable=TrueMSComm1.Output=符合協議的字符命令
11、串Text1.Text二MSComm1.InputMSComm1.PortOpen=FalseEndSub3通信示例預設PLC站號地址為“01”,以下若沒有特殊說明PLC站號地址均為“01“CR”表示回車3.1對輔助繼電器M0操作1)置位M0StxAddressFunctionData1Data2Data3Data4LRCEnd01050800FF00F3CRData1、Data2表示輔助繼電器的地址,Data1放入地址的高8位,Data2放入地址的低8位,“FF00”表示置位放入Data3、Data4,LRC為校驗碼PC向PLC發送字符命令串=":01050800FF00F3CR”
12、PLC向PC返回字符串=":01050800FF00F3CR”2)復位M0StxAddressFunctionData1Data2Data3Data4LRCEnd010508000000F2CR“0000”表示復位放入Data3、Data4,其余同上不再解釋。PC向PLC發送字符命令串=":010508000000F3CR”PLC向PC返回字符串=":010508000000F2CR”若第三個數據位變為8,則通訊出現錯誤。3.2對文件寄存器D512操作1)向D512寫入一個十進制數,如把D512設定為32,先將十進制數值轉換為四位的十六進制數,32轉換為0020,
13、高低8位分別放入Data3,Data41200”表示D512的地址高低位分別放入Datal、Data2StxAddressFunctionData1Data2Data3Data4LRCEnd010612000020E6CRPC向PLC發送字符命令串=":010612000020c7CRPLC向PC返回字符串=":010612000020C7CR”2)讀取PLC的D512值StxAddressFunctionData1Data2Data3Data4LRCEnd010312000001E9CRData3、Data4中數據內容表示讀取以Data1、Data2地址起始的寄存器個數,
14、此值最大值為7(由通訊格式中數據位決定),若該數據內容為0002,則表示讀取連續兩個寄存器的值,依次類推。1200表示D512的地址。PC向PLC發送字符命令串=":010312000001E9CR”PLC向PC返回字符串“:01030204B046CR”02表示返回值字節總數為2(一個寄存器的字節數為2),04B0表示目標寄存器D512的數據內容(十六進制)即十進制數1200,46表示校驗碼。若第三個數據位變為8,則通訊出現錯誤。4結束語臺達PLC與PC通訊的實現使PLC與GSM模塊通訊成為可能。PC機作為中轉站完成Modbus通訊協議與GSM通訊協議的轉換,使GSM無線數字蜂窩通訊網絡運用于基于PLC勺工業控制系統,實現制造裝備的遠程監測、診斷與維護技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安徽省淮北市五校聯考中考二模歷史試題(含答案)
- 電力安裝咨詢合同協議
- 裝修工人打工合同范本
- 無人機飛行技能再提升試題及答案
- 安全飛行的識別與應對試題及答案
- 《中醫傳承計劃》課件
- 模具設計師考試重點試題及答案列表
- 聚焦種子繁育員的職業能力提升之路試題及答案
- 《全國示范性課程》課件
- 無人機災難應對能力試題及答案
- 米、面制品安全生產與管理考核試卷
- 資金過橋合同協議
- 2025年江蘇省連云港市東海縣中考英語一模試卷
- 2024年山東青島職業技術學院招聘筆試真題
- 2025-2030國內智能玩具行業市場發展現狀及競爭策略與投資發展研究報告
- 倉庫操作規程試題及答案
- 2025履約類保函擔保合同范本
- 2025年03月河北邯鄲武安市事業單位春季博碩人才引進55名筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 水土保持監測技術規范解讀與應用
- 2024年7月1日實施新版醫療器械采購、收貨、驗收、貯存、銷售、出庫、運輸和售后服務工作程序
- JGJ107-2016鋼筋機械連接技術規程
評論
0/150
提交評論