【摘要】伴隨著工業(yè)自動化信息化的發(fā)展,一種專門為在工業(yè)環(huán)境下應(yīng)用而設(shè)計的數(shù)字運算操作的電子裝置——工業(yè)可編程控制器,即:PLC誕生了,伴隨著PLC的更新?lián)Q代,作為上位機的計算機與PLC之間通訊的發(fā)展也變得越來越迅速。本文將會以基于VB程序設(shè)計語言以及梯形圖的編程方式的通訊編程方法,將上位計算機和PLC之間的通訊方式做一下探討。
【關(guān)鍵詞】PLC;上位機;工業(yè)可編程序控制器
1、引言
工業(yè)可編程控制器,即:PLC,在工業(yè)生產(chǎn)中應(yīng)用非常廣泛,一般它與計算機互為下位機和上位機,本文以O(shè)MRON公司CPM1型PLC為例,描述了它與上位計算機之間的通訊方法。
上世紀80年代初,新一代的工業(yè)控制裝置逐漸的發(fā)展了起來,其中接口功能強、適應(yīng)性好、可靠性高以及模塊化結(jié)構(gòu)和直觀、編程簡單的優(yōu)點的PLC在世界范圍內(nèi)得到了廣泛的應(yīng)用。計算機和PLC在工業(yè)設(shè)計中組成控制系統(tǒng),數(shù)據(jù)采集、輸出控制以及狀態(tài)判別的工作都是由PLC當(dāng)做下位機進行的。工業(yè)控制器或微計算機一般都是作為上位機來使用的,計算、狀態(tài)顯示、數(shù)據(jù)分析、打印輸出、信息存儲的功能都是有其上位機來完成的,實時監(jiān)控是控制器的主要作用。這是由PLC和微計算機結(jié)合起來的監(jiān)控系統(tǒng),PLC和微計算機兩者之間進行優(yōu)勢互補,由于人機接口功能、低廉的價格、豐富的應(yīng)用軟件強大的個人計算機被充分利用而組成的控制系統(tǒng)具有高性能價格比,PLC和微計算機之間的應(yīng)用是很廣泛的。
2、上位計算機和PLC之間的端口連線
OMRON公司推出了一種模塊化的、小型的CQM1型PLC,RS-232C是其CPU控制單元本身自帶的接口。用計算機與RS232-C電纜直接連接,專用的通訊模塊可以進行不配備。個人計算機和PLC之間的通訊端口接線圖如圖1所示。
3、通訊協(xié)議
CQML的使用方法分別有兩種通訊方式,一種是PLC啟動通訊,具有優(yōu)先權(quán)的方式,還有一種啟動通訊的方式是上位機具有優(yōu)先權(quán)。以“幀”為單位進行的數(shù)據(jù)傳輸是上位計算機和PLC之間進行的。發(fā)出一個幀單元可以在任意的一個給定時間下所具有的發(fā)送權(quán),PLC和上位計算機之間輪換發(fā)送權(quán),條件是每次發(fā)送一幀。接受單元接受發(fā)送單元就表示接受到分界符或結(jié)束符時的發(fā)送權(quán)。
在響應(yīng)格式和命令中@起始符必須是開始位,區(qū)分不同的節(jié)點是加入通訊用于多節(jié)點的設(shè)定節(jié)點號,DM6648設(shè)定它的值,而DM6648卻是被包含在“plc設(shè)置”中的。為00.的設(shè)定節(jié)點號,是由連接網(wǎng)絡(luò)時沒有多個節(jié)點的。命令代碼是其標題碼,讀寫的區(qū)域是其用來標明的。比如為WD的標題碼是用DM區(qū)來寫的,為RD的區(qū)時是用DM來讀的。當(dāng)從上位計算機中發(fā)出命令時,命令幀格式如圖2所示,PLC返回響應(yīng)幀格式如圖3所示。
4、PLC數(shù)據(jù)傳輸時的程序設(shè)計
通訊中的上位計算機和PLC,PLC具有發(fā)生命令、啟動通訊、優(yōu)先權(quán)給計算機接受發(fā)過來的命令。上位計算機和PLC在通訊時,設(shè)定傳輸延遲時間和通訊參數(shù)一定要首先執(zhí)行。停止位、波特率、數(shù)據(jù)長度、奇偶校驗、起始位是在數(shù)據(jù)參數(shù)包括中的。PLC具備優(yōu)先權(quán),改變數(shù)據(jù)時,CQML是能夠自動數(shù)據(jù)傳輸?shù)?,計算機長時間的監(jiān)視需要可以減少,簡單化的處理通訊。PLC傳輸以及接收數(shù)據(jù)命令,分別為RXD(-)TXD (-)。圖4中的命令TXD、BXD的梯形圖格。S是為傳輸數(shù)據(jù)的開始字,存儲以及接受數(shù)據(jù)的首地址為D,控制數(shù)據(jù)為C,它的00-03中0或1是表示最左邊的字節(jié)還是最右邊的字節(jié)表示起始字節(jié),12-15中0和1則是端口為外設(shè)端口還是R232C,傳輸數(shù)據(jù)字節(jié)則用N來表示,BCD碼由4個組成表示,PLC在傳輸數(shù)據(jù)中,要查看AR0805的標志傳輸?shù)臏蕚?,才可以傳輸?shù)據(jù),它為ON。確認標志為AR0806當(dāng)PLV在接受數(shù)據(jù)時,ON方可接受數(shù)據(jù)。圖4中RS-232C為PLC所使用的端口、以RS-232C的模式將(DM0000-DM0009)的20字節(jié)數(shù)據(jù)傳送到計算機并且存儲在從計算機中接收的DMO300開始中D M區(qū)例子的梯形圖。PLC在傳送數(shù)據(jù)時,程序的接受數(shù)據(jù)應(yīng)該在相應(yīng)的計算機中。在執(zhí)行程序中,將PLC的設(shè)定為1000端口的RS-2332的模式以及DM6648為2000的無起始碼,為CR或LF的結(jié)束碼。程序執(zhí)行時,為ON的AR0805,當(dāng)IR0000變成ON的時候,傳送的數(shù)據(jù)為20個字節(jié),起始字節(jié)為最左邊的。當(dāng)AR0806變成ON的時候,AR09的字節(jié)數(shù)為AR09所指定的從CQML緩沖接收器中可以讀出并且存儲到DM0300的內(nèi)存中去。
5、上位計算機中數(shù)據(jù)傳輸?shù)某绦蛟O(shè)計
在上位計算機和PLC的通訊過程中,具有啟動通訊的優(yōu)先權(quán)PLC,我們一般情況下不采用這一方法,而使用具有優(yōu)先權(quán)的上位機,啟動通訊的發(fā)送命令是由PLC發(fā)送的,PLC具有的通訊方式的自動返回響應(yīng)。PLC與計算機在通訊時,首先得初始化處理通訊端口,它的初始化參數(shù)和PLC的參數(shù)相同。在數(shù)據(jù)傳輸時,最大的數(shù)據(jù)容量為131的單幀字符,所以數(shù)據(jù)傳輸超過131時,就要分段發(fā)送,分解為多幀,用分界符號分開。圖5就是表示傳輸數(shù)據(jù)的流程程序圖。此程序的運行通過在VB5.0中。而且,具有傳送數(shù)據(jù)優(yōu)先權(quán)的PLC,在計算機的接受程序都可以使用V8編程,因為它與上面的程序在接收部分也是都基本相同的??梢岳肕SComm中的控制件ONcomm來進行捕獲通訊事件。這個程序已經(jīng)被我們運行通過。
結(jié)語
在使用的爬壁機器人里面的控制系統(tǒng)中,采用的上位計算機的連接與OMRON的CQMI型PLC所組成監(jiān)控系統(tǒng)對機器人實時進行監(jiān)控,各個輸出電機控制有PLC來完成。PLC通過采集機器人的運動過程、吸盤真空度和移動速度來進行整合,最后傳送到上位計算機。上位計算機如果獲得這些數(shù)據(jù)后,就會進行對機器人位姿控制、運動控制,路徑規(guī)劃,狀態(tài)可視化進行運算處理,并且對PLC傳送指令,繼而對機器人實現(xiàn)實時監(jiān)控。
參考文獻
[1]郭宗仁等.可編程序控制器及其通信網(wǎng)絡(luò)技術(shù)[M].北京:人民郵電出版社,1999.
[2]馮星華.PLC與個人計算機間串行通訊及程序設(shè)計[J].機電工程,2000,17(2):27-28.
[3]OMRON公司.OM RON CQM 1型P L C安裝 、操作 、編程手冊[M]2011.12(4),11-12
[4]劉立康.用VB5.0 實現(xiàn)與單片機申形通訊的程序設(shè)計[J].微計算機信息,2011,1 0(3),53一54
[5][美] Evangrlos Peuoutgos.VISUAL BASICS從人門到精通[M].電子工業(yè)出版社,2012,9(5).22-23
作者簡介
石澤宇,男,1985年出生,畢業(yè)時間:2009.07,畢業(yè)院校:山東大學(xué),所學(xué)專業(yè):電子信息科學(xué)與技術(shù),現(xiàn)為山鋼集團萊蕪分公司自動化部助理工程師,從事自動化控制計算工作。