本文來源:《世紀(jì)星月刊》第5期 作者:曾慧
引言:在工業(yè)現(xiàn)場,計算機與設(shè)備之間的通信,一般都采用串行通信方式,通過計算機的串口,將串口線與設(shè)備的通訊口連接。根據(jù)現(xiàn)場控制要求,計算機與設(shè)備之間會有一定的距離。鑒于RS232接口標(biāo)準(zhǔn)的通信距離短,速率低的缺點,更多項目會采用RS485標(biāo)準(zhǔn)。RS485是從RS232標(biāo)準(zhǔn)中改進而來的,數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,信號的“正"、“負(fù)"邏輯是通過兩線之間電平的正負(fù)來確定的。在接線時,線的兩端的接收器和發(fā)送器對應(yīng)引腳相連。
軟件簡介
根據(jù)現(xiàn)場控制的要求,計算機要對在工業(yè)現(xiàn)場采集的參數(shù)實時顯示,相應(yīng)的發(fā)布控制指令完成對整個過程的控制。世紀(jì)星組態(tài)軟件是在PC機上開發(fā)的智能人機接口軟件,以Microsoft Window 98/NT/XP中文平臺作為其操作系統(tǒng)。該軟件充分利用了Windows圖形功能完備、界面一致性好的特點,比以往的使用專用機開發(fā)的工業(yè)控制系統(tǒng)更有通用性,并且可以利用PC機豐富的軟件資源進行二次開發(fā)。
硬件驅(qū)動設(shè)備
通信軟件的核心是串口的通信驅(qū)動程序,利用VC++或VB等編程軟件都可以實現(xiàn)串口通訊的底層協(xié)議的編制。在VC++中一般用如下方法可以進行串口通訊。一種是利用Microsoft公司提供的ActiveX控件Microsoft Communications Control。另一種是直接用VC++訪問串口,直接利用API對串口操作,此方法較復(fù)雜,但有很大的靈活性。為了縮短軟件的開發(fā)周期,可以利用第三方提供的關(guān)于串口通信的動態(tài)連接庫(DLL)。將其連接或添加到自己要開發(fā)的程序中,就可以直接利用里面已編制好的函數(shù)來完成串口編程的操作;也可以選用組態(tài)軟件的通訊協(xié)議以完成控制信號的傳遞。
硬件驅(qū)動是上位機遠(yuǎn)程控制的核心環(huán)節(jié),要實現(xiàn)計算機與設(shè)備的串口通信,首先要打開計算機的串口并對其屬性進行設(shè)置(即波特率、數(shù)據(jù)位、奇偶校驗、停止位等參數(shù)的設(shè)置),此串口屬性的設(shè)定要與設(shè)備的串口屬性一致,否則將無法建立通信聯(lián)系。其次,建立數(shù)據(jù)傳輸?shù)母袷綍r,不同的下位硬件的數(shù)據(jù)格式各不相同。實現(xiàn)通訊的兩設(shè)備之間的數(shù)據(jù)傳輸格式必須嚴(yán)格一致,否則將不能對傳入的數(shù)據(jù)進行識別,從而無法實現(xiàn)通訊。
軟件設(shè)置
應(yīng)用世紀(jì)星組態(tài)軟件可以從復(fù)雜的通訊格式的編制中解脫出來。設(shè)備驅(qū)動程序和世紀(jì)星有機的結(jié)合在一起。來完成數(shù)據(jù)采集和實時控制。對于不同的硬件設(shè)備,利用世紀(jì)星的設(shè)備安裝向?qū)?,配置相?yīng)的設(shè)備驅(qū)動程序即可。在世紀(jì)星的瀏覽器下。選擇設(shè)備驅(qū)動,用戶可以按照系統(tǒng)的提示,依次完成I/O設(shè)備驅(qū)動參數(shù)的設(shè)置。其操作步驟如下:
1)設(shè)備安裝向?qū)?BR> 雙擊設(shè)備安裝向?qū)?,出現(xiàn)設(shè)備安裝向?qū)υ捒颍蛑辛谐隽斯I(yè)生產(chǎn)中常用的一些硬件設(shè)備(如PLC、板卡、智能儀表、變頻器等)。如圖1所示:

圖1
組態(tài)軟件已經(jīng)對這些常用的設(shè)備根據(jù)各自的通訊標(biāo)準(zhǔn),制作了相應(yīng)的驅(qū)動程序,使應(yīng)用人員從繁瑣的底層驅(qū)動程序的開發(fā)中解脫出來。
2)選擇硬件設(shè)備
在列表中選擇相應(yīng)廠家生產(chǎn)的硬件設(shè)備。列表將以樹型分支方式列出某類設(shè)備的各種型號。根據(jù)用戶的實際需要選擇適當(dāng)?shù)念愋?。注意,由于設(shè)備的類型不同,其通信協(xié)議也可能不同,如果設(shè)備類型與實際應(yīng)用的類型不符,將會出現(xiàn)無法通信的現(xiàn)象。
3)設(shè)置通信參數(shù)
設(shè)備選擇完后,點擊下一步后進行通訊方式及參數(shù)等設(shè)置。在設(shè)置窗口中需要設(shè)備名稱、通信的端口號、設(shè)備地址以及出現(xiàn)故障時嘗試恢復(fù)的時間間隔和恢復(fù)時間的上限。設(shè)備名稱實際上是所建立的驅(qū)動程序的對象名。與實體的硬件設(shè)備建立一一對應(yīng)的聯(lián)系。在上位機對多臺下位設(shè)備控制時。上位機通過各個設(shè)備的設(shè)備名稱來區(qū)分應(yīng)該對哪個設(shè)備進行控制。通信端口的列表框內(nèi)列出了32個串口(COMl~COM32),在進行選擇時,端口號應(yīng)與通訊線實際連接的串口一致。設(shè)備地址實質(zhì)是為新建的設(shè)備一個編號,在RS485標(biāo)準(zhǔn)的串行通訊協(xié)議中有地址信息,其數(shù)據(jù)應(yīng)在這里。在多串口參數(shù)設(shè)置窗口中,根據(jù)設(shè)備說明書,對波特率、數(shù)據(jù)位、校驗位等進行設(shè)置。通過上述的過程,為上位機與設(shè)備的通訊連接已經(jīng)做好了充分的準(zhǔn)備。
4)變量定義
在開發(fā)系統(tǒng)的瀏覽器中雙擊變量詞典,世紀(jì)星組態(tài)軟件把變量分為“內(nèi)存變量"、“I/O變量"和“系統(tǒng)變量"等。I/O變量的特點在于可以與I/O設(shè)備進行數(shù)據(jù)交換。為了使建立的變量中的值能和硬件設(shè)備數(shù)據(jù)寄存器中的值建立一一對應(yīng)的關(guān)系,必須為該變量要連接的設(shè)備名,以及對應(yīng)的寄存器。如果采集上來的I/O值與要顯示的工程值存在一定的比例關(guān)系,則需要在建立變量時做一個線性轉(zhuǎn)換。例如:I/O值為3500時,要顯示的工程值如果為70,需得將I/O值比例縮小50倍,即:I/O最小值除以最小值等于50、I/O值除以值等于50。如圖2所示:

圖2
定義好變量之后,就可以在工程的畫面中做一些變量連接和動畫效果了??筛鶕?jù)要求進一步豐富控制畫面,從而達到直觀、生動的效果。
結(jié)束:
本文詳細(xì)介紹了世紀(jì)星組態(tài)軟件如何實現(xiàn)上位機與硬件設(shè)備的連接?;诮M態(tài)軟件的遠(yuǎn)程監(jiān)控系統(tǒng)使操作人員遠(yuǎn)離危險操作環(huán)境,避免人員傷亡和國家的財產(chǎn)損失。利用組態(tài)系統(tǒng)中的報警記錄、歷史數(shù)據(jù)記錄、報表生成的功能,使工業(yè)生產(chǎn)在管理層面上更方便、快捷。組態(tài)軟件的工業(yè)化運用有很大的發(fā)展前景,在工業(yè)控制中占有優(yōu)勢。