當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]將虛擬儀器技術(shù)與PLC相結(jié)合,通過(guò)串口實(shí)現(xiàn)上位機(jī)與現(xiàn)場(chǎng)PLC監(jiān)控網(wǎng)絡(luò)的通信。詳細(xì)闡述了LabVIEW實(shí)現(xiàn)串口通信的過(guò)程,開(kāi)發(fā)了通信軟件系統(tǒng),實(shí)現(xiàn)基于虛擬儀器的PLC監(jiān)控系統(tǒng)。

0 引言
   
在過(guò)程控制中,由于工業(yè)現(xiàn)場(chǎng)非常分散,I/O點(diǎn)數(shù)眾多,各種儀表的工作環(huán)境非常惡劣,采用數(shù)據(jù)采集卡和LabVIEW開(kāi)發(fā)平臺(tái)來(lái)完成現(xiàn)場(chǎng)的數(shù)據(jù)采集和控制顯然不可取??紤]到過(guò)程控制中的過(guò)程參數(shù)變化不是很快,而PLC恰恰可以克服數(shù)據(jù)采集卡在過(guò)程控制中的不足,并且
具有較高的性價(jià)比,因而采取以PLC為下位機(jī),以裝有LabVIEW軟件的工控機(jī)為上位機(jī)開(kāi)發(fā)平臺(tái)。通過(guò)RS-232和RS-485串口與PLC通信,實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)的監(jiān)控與現(xiàn)場(chǎng)數(shù)據(jù)的分析。本文根據(jù)這個(gè)思想設(shè)計(jì)了一個(gè)工業(yè)遠(yuǎn)程監(jiān)控系統(tǒng),上位機(jī)采用PC機(jī),下位機(jī)采用西門(mén)子PLC S7-200。介紹了一種在LabVIEW 8.6平臺(tái)上開(kāi)發(fā)PC機(jī)和PLC實(shí)時(shí)監(jiān)控的軟件的編程方法,在此基礎(chǔ)上構(gòu)建了基于PLC的主從式虛擬儀器測(cè)控系統(tǒng)。

1 系統(tǒng)構(gòu)成與自由口通信模式
1.1 PC與PLC的通信方式
   
S7-200 CPU上的通信口是與RS-485兼容的9針D型連接器。PLC還提供了實(shí)現(xiàn)RS-485與PC機(jī)上RS-232相連接的PC/PPI電纜,可以方便地實(shí)現(xiàn)S7系列PLC與PC之間的硬件連接。圖1是PC與PLC通信的示意圖,利用主機(jī)上的232串口,通過(guò)RS232-RS485轉(zhuǎn)換模塊與PLC相連。系統(tǒng)中如果應(yīng)用多個(gè)PLC模塊或其他具有RS485串行通信能力的設(shè)備,亦可方便地聯(lián)網(wǎng)或構(gòu)成網(wǎng)絡(luò)測(cè)控系統(tǒng)。


1.2 PC與PLC的通信協(xié)議
   
西門(mén)子S7-200系列的PLC可以在四種通信模式下工作:PPI、MPI、PROFIBUS-DP和自由口通信模式。自由口通信模式是由用戶程序來(lái)控制CPU的串口通信。用戶可以利用發(fā)送/接收中斷、發(fā)送/接收指令來(lái)控制通信的操作,實(shí)現(xiàn)與打印機(jī)、條形碼閱讀器等設(shè)備的通信。
    本文主機(jī)與PLC之間串行通信采用的是自由通信協(xié)議。該協(xié)議采用主從結(jié)構(gòu)的通信方式,傳輸模式是RTU,適用于半雙工的RS485總線。協(xié)議規(guī)定總線上有一個(gè)主機(jī),多個(gè)從機(jī),每個(gè)從機(jī)分配惟一的地址。工作時(shí)可以采用命令應(yīng)答的通信方式,每一種命令幀對(duì)應(yīng)著一種應(yīng)答幀。主機(jī)向要訪問(wèn)的從機(jī)發(fā)出命令幀,地址匹配的從機(jī)做出響應(yīng),向主機(jī)發(fā)出命令幀對(duì)應(yīng)的應(yīng)答幀。自由通信協(xié)議中,為命令幀定義了許多功能碼,不同的功能碼要求從機(jī)進(jìn)行不同的響應(yīng)。PLC在將傳感器信號(hào)轉(zhuǎn)換為數(shù)據(jù)后將其存儲(chǔ)在變量存儲(chǔ)區(qū)的固定區(qū)域。此時(shí)PLC的串口一直處于接收狀態(tài),直到接收到來(lái)自上位機(jī)的讀命令后,轉(zhuǎn)為發(fā)送狀態(tài),將變量存儲(chǔ)區(qū)中的數(shù)據(jù)通過(guò)串口發(fā)送給上位機(jī)??紤]到收發(fā)切換有一定的時(shí)間間隔,所以必須延遲一段時(shí)間再轉(zhuǎn)為發(fā)送數(shù)據(jù)。
1.3 自由口模式的注意事項(xiàng)
   
自由口模式通信要注意以下問(wèn)題:
    (1)CPU通信口工作在自由口模式時(shí),通信口就不支持其它通信協(xié)議。CPU停止時(shí),自由口不能工作,編程軟件就可以與CPU通信。
    (2)此通信模式下,發(fā)送和接收指令是程序的核心指令,用戶程序不能直接控制通訊芯片而必須通過(guò)操作系統(tǒng)。
    (3)用戶程序中應(yīng)考慮電纜的切換時(shí)間。CPU接收到RS-232設(shè)備的請(qǐng)求到它發(fā)送響應(yīng)的延遲時(shí)間必須大于等于電纜的切換時(shí)間,可用定時(shí)中斷實(shí)現(xiàn)切換延時(shí)。
    (4)在自由口模式下,通信雙方的通信參數(shù)是由用戶自行設(shè)定的,通信雙方的波特率一定要設(shè)置相同。另外,在PLC網(wǎng)絡(luò)中主站個(gè)數(shù)越少,通信速度越快:波特率越大,通信速度也越快,但抗干擾能力降低。因此對(duì)于本系統(tǒng)這種單主站的網(wǎng)絡(luò),要注意波特率不宜設(shè)置得過(guò)大。

2 虛擬儀器程序設(shè)計(jì)
    LabVIEW是美國(guó)國(guó)家儀器公司開(kāi)發(fā)的虛擬儀器開(kāi)發(fā)平臺(tái)軟件,功能強(qiáng)大、靈活,廣泛應(yīng)用于自動(dòng)測(cè)量系統(tǒng)以及工業(yè)過(guò)程自動(dòng)化等各個(gè)領(lǐng)域。
    在LabVIEW編程語(yǔ)言中串口通信采用虛擬儀器體系結(jié)構(gòu)VISA (Virtual Instrument Software Architecture)標(biāo)準(zhǔn)編程。VISA是儀器驅(qū)動(dòng)的一個(gè)工業(yè)標(biāo)準(zhǔn),其內(nèi)部是一個(gè)面向?qū)ο蟮慕Y(jié)構(gòu),這一結(jié)構(gòu)使得VISA和在它之前的I/O控制軟件相比,在接口無(wú)關(guān)性、可擴(kuò)展性方面都有很大提高。VISA標(biāo)準(zhǔn)的推出,統(tǒng)一了儀器工業(yè)的軟件接口標(biāo)準(zhǔn),使得儀器驅(qū)動(dòng)程序兼容性強(qiáng)并且可適應(yīng)未來(lái)軟硬件的發(fā)展需要。
2.1 LabVIEW中的串口通信函數(shù)
   
(1)VISA配置串口。該函數(shù)主要用于串口的初始化。主要參數(shù)如圖2所示。


    其中“VISA資源名稱”指定要打開(kāi)的資源。該控件也可指定會(huì)話句柄和類(lèi)。“波特率”是傳輸速率,默認(rèn)值為9600。“數(shù)據(jù)比特”是輸入數(shù)據(jù)的位數(shù),默認(rèn)值為8。“奇偶”指定要傳輸或接收的每一幀所使用的奇偶校驗(yàn)。“停止位”指定用于表示幀結(jié)束的停止位的數(shù)量。“流控制”設(shè)置傳輸機(jī)制使用的控制類(lèi)型。“VISA資源名稱輸出”是由VISA函數(shù)返回的VISA資源名稱的副本。
    (2)VISA讀取函數(shù)。該函數(shù)為串口讀取子程序,從串行設(shè)備讀取數(shù)據(jù),為后續(xù)的數(shù)據(jù)處理提供條件。主要參數(shù)如圖3。


    其中“字節(jié)總數(shù)”是要讀取的字節(jié)數(shù)量。“讀取緩沖區(qū)”包含從設(shè)備讀取的數(shù)據(jù)。“返回?cái)?shù)”包含實(shí)際讀取的字節(jié)數(shù)。
    (3)VISA寫(xiě)入函數(shù)。該函數(shù)為串口寫(xiě)子程序,用于對(duì)串口設(shè)備進(jìn)行寫(xiě)操作。主要參數(shù)如圖4所示。


    其中“寫(xiě)入緩沖區(qū)”包含要寫(xiě)入設(shè)備的數(shù)據(jù)。“返回?cái)?shù)”包含實(shí)際寫(xiě)入的字節(jié)數(shù)。
    此外,LabVIEW中與串口通信有關(guān)的還有VISA關(guān)閉函數(shù)與VISA串口字節(jié)數(shù)函數(shù),分別用于關(guān)閉串行設(shè)備的任務(wù)或事件和計(jì)算進(jìn)入串口緩存區(qū)中的數(shù)據(jù)字節(jié)數(shù)。
2.2 LabVIEW與PLC串口通信實(shí)現(xiàn)
   
按照通信協(xié)議使用專用的九芯插頭和PC/PPI電纜,將PC機(jī)的COM1口與S7-200的自由通信口直接連接。由于電纜上帶有RS-232/RS485電平轉(zhuǎn)換器,連接十分方便。LabVIEW進(jìn)行串口通信的基本步驟為:
    (1)初始化端口。利用VISA配置串口函數(shù)設(shè)定進(jìn)行串口通信的端口號(hào)、波特率、停止位、校驗(yàn)、數(shù)據(jù)位。
    (2)讀寫(xiě)端口。利用VISA讀串口函數(shù)和VISA寫(xiě)串口函數(shù)從串口中讀入或輸出數(shù)據(jù)。由于LabVIEW的串行通信子程序只允許對(duì)字符串的讀寫(xiě),因此在數(shù)據(jù)處理時(shí),必須進(jìn)行字符串與數(shù)字之間的正確轉(zhuǎn)換。
    (3)關(guān)閉端口。當(dāng)對(duì)串口操作完成后,需要關(guān)閉串口,以釋放硬件資源。

3 串口通信實(shí)現(xiàn)
   
按照上述過(guò)程,設(shè)計(jì)了監(jiān)控系統(tǒng)程序,程序框圖與前面板分別如圖5、圖6所示。


    其中PC機(jī)與PLC串口通信程序結(jié)構(gòu)分為3個(gè)部分:
    (1)串口初始化。根據(jù)通信協(xié)議設(shè)定,通信端口:COM1,波特率:9600bps,1位起始位,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn),無(wú)軟件握手協(xié)議。
    (2)發(fā)送命令和讀取響應(yīng)將命令通過(guò)串口COM1發(fā)給PLC,并接收來(lái)自PLC的響應(yīng)信息,如果響應(yīng)正常(狀態(tài)信息為O1或02),就將所得數(shù)據(jù)做顯示、計(jì)算分析、存儲(chǔ)等后續(xù)處理,以便用于設(shè)備實(shí)時(shí)控制和在線狀態(tài)監(jiān)測(cè);如果響應(yīng)不正常則退出程序(03或04),用戶重新輸入命令開(kāi)始工作。
    (3)關(guān)閉串口。調(diào)用LabVIEW提供的VISA關(guān)閉串口函數(shù)實(shí)現(xiàn)串口資源的釋放。
    當(dāng)程序運(yùn)行時(shí),LabVIEW首先向PLC發(fā)出一個(gè)讀請(qǐng)求,然后檢測(cè)輸入緩存中的字節(jié)數(shù);當(dāng)達(dá)到預(yù)定字節(jié)數(shù)時(shí),LabVIEW利用讀串口函數(shù)將輸入緩存中的字節(jié)一次性讀出,然后繼續(xù)發(fā)出一個(gè)讀請(qǐng)求到PLC。如此循環(huán),直至結(jié)束。本程序還采用了狀態(tài)機(jī)的方法進(jìn)行狀態(tài)的判斷和選擇。

4 結(jié)論
    PLC自由口通信方式具有與外圍設(shè)備通信方便、自由,易于微機(jī)控制等特點(diǎn),這一通信方式被越來(lái)越多的監(jiān)控系統(tǒng)所采用。利用PC機(jī)或工控機(jī)的串口,按照自由通信協(xié)議,結(jié)合地址映射技術(shù)在LabVIEW平臺(tái)上開(kāi)發(fā)出串行通信模塊,可以很方便地實(shí)現(xiàn)主機(jī)與PLC的串行通信,對(duì)PLC的內(nèi)存單元進(jìn)行讀寫(xiě)操作,從而實(shí)現(xiàn)對(duì)PLC的監(jiān)控。本文所提出的設(shè)計(jì)能夠方便地應(yīng)用于基于PLC的工業(yè)監(jiān)控,具有開(kāi)發(fā)方便、擴(kuò)展靈活的優(yōu)點(diǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉