男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

當前位置:機電之家首頁 >> PLC技術>> PLC基礎 >> PLC通信 >> 嵌入式遠程測控終端與PLC通信的研究
嵌入式遠程測控終端與PLC通信的研究

近年來,嵌入式系統(tǒng)以其體積小、成本低和功能專一等特點在工控領域得到越來越廣泛的應用。本文實現了嵌入式遠程測控終端與西門子S7-200 PLC的通信,并基于此完成了對PLC數據的采集。通過嵌入式系統(tǒng)的擴展網口將PLC與Internet相聯(lián),突破了串行通信速率的限制,節(jié)省了采用高端PLC 實現網絡測控的經費投入。在從PLC采集數據功能的實現過程中,避開了以往使用PLC 自由端口通信需要改寫PLC梯形圖的問題,而直接利用PLC廠家制定的通信協(xié)議來實現數據交換,無需對PLC編程,方法簡單可靠,為今后實現更多品牌PLC與上位機通信開辟了新的途徑。同時,基于嵌入式操作系統(tǒng)μClinux及其多線程機制實現了一套中央空調遠程測控終端系統(tǒng)。

1、系統(tǒng)總體設計

1.1 硬件構成

系統(tǒng)采用1片三星公司推出的基于ARM7TDMI精簡指令系統(tǒng)的32位高速處理器S3C44B0X作為嵌入式微處理器,擴展了一個RS485串口、兩個RS232串口和一個以太網口。如圖1所示,嵌入式微處理器通過擴展的RS485串口與西門子S7-200 PLC進行通信,一個RS232口通過調制解調器連接到公眾電話網,實現串行通信,擴展的以太網口則將整個嵌入式系統(tǒng)接入Internet,拓展了PLC的通信方式。考慮到與現存本地監(jiān)控系統(tǒng)的兼容,在S7-200的串口上可同時并接西門子的文本顯示器TD200,三者組成一個PPI令牌環(huán)網絡。


圖1 系統(tǒng)結構和連接示意圖

1.2 軟件總體設計

本系統(tǒng)采用μClinux嵌入式操作系統(tǒng)作為應用軟件的運行平臺。μClinux系統(tǒng)是近年迅速發(fā)展起來的一種專門用于微控制領域的嵌入式操作系統(tǒng),內核要比原Linux 2.0內核小得多(內核小于512KB,內核加上工具小于900KB),但保留了Linux操作系統(tǒng)的主要優(yōu)點:穩(wěn)定性,優(yōu)異的網絡能力以及優(yōu)秀的文件系統(tǒng)支持,同時提供通用的Linux AP1支持完整的TCP/IP協(xié)議棧和大量其它的網絡協(xié)議。

中央空調遠程測控終端的功能主要是動態(tài)地采集中央空調的現場運行參數并將這些參數實時地發(fā)送給位于遠程的監(jiān)控中心,并且具備提供歷史數據、故障報警和某些控制功能。為了提高系統(tǒng)的運行效率, 利用μClinux對多線程機制的支持,將遠程終端的軟件系統(tǒng)分為四個并發(fā)的線程實現。分別為:數據采集線程、數據存儲線程、數據發(fā)送線程和故障報警線程。軟件系統(tǒng)結構如圖2所示。


圖2 軟件系統(tǒng)總體框架

為了實現各個線程之間的通信,設置一個數組作為共享區(qū)域。其中,數據采集線程主要是嵌入式測控終端與PLC的通信過程,所有的數據都從PLC的寄存器中讀取,并存儲在測控終端的內存共享區(qū)域中。在本系統(tǒng)中,根據所監(jiān)控的中央空調的不同型號,由數據字典文件讀入所需采集的參數地址,采用循環(huán)方式將各個參數的實時數值從PLC中采集,再一并存人數據共享區(qū)。數據存儲線程在本地創(chuàng)建文件,并將數據共享區(qū)中的參數值每隔一定時間保存在FLASH中,使之作為分析一段時間內中央空調運行狀況的歷史數據,為實現專家診斷系統(tǒng)提供數據源。基于μClinux對TCP/IP協(xié)議棧的完整封裝,實時數據發(fā)送和故障報警線程從共享存儲區(qū)中讀取數據后,利用socket通信機制,將實時數據和故障報警信息從本地發(fā)送到遠程的主控中心,實現在不同地點對中央空調運行狀況的實時監(jiān)測。

由于西門子S7—200系列PLC通常配合西門子TD200文本顯示器一同使用以構成本地監(jiān)控,與本系統(tǒng)共用一條總線時沖突不可避免。本系統(tǒng)在數據采集的基礎上根據PPI協(xié)議和PROFIBUS規(guī)定的令牌環(huán)協(xié)議,實現了主站之間的令牌傳遞功能,保證了令牌環(huán)網絡的正常運轉,使TD200與本系統(tǒng)組成的雙主站網絡通過對令牌的占有來實現各自的通信功能,互不干擾。

2、軟件實現

2.1 通信方式和通信協(xié)議的選擇

S7—200 CPU支持多種通信協(xié)議,為用戶實現多種不同的網絡配置提供了便利,包括:點對點(Point-to-Point)接口協(xié)議(PPI)、多點(Multi~Point)接El協(xié)議(MP1)和Profibus協(xié)議。這些協(xié)議是非同步的字符協(xié)議,有1位起始位、8位數據位、1位偶校驗位和1位停止位。通信結構依賴于特定的起始字符和停止字符、源和目的站地址、報文長度和數據校驗和。

目前通常采用自由口通信模式控制S7—200 CPU的通訊端El實現上下位機通信。用戶可以在自由El模式下使用自定義的通信協(xié)議來實現PLC與多種類型智能設備的通信。但由于需要對PLC現有程序進行修改,對于不熟悉PLC編程語言并要在短時間內實現對西門子PLC 的監(jiān)控功能的軟件開發(fā)者來說,這種修改存在一定的風險。

本系統(tǒng)采用PPI協(xié)議作為嵌入式系統(tǒng)與S7—200 CPU之間的通信協(xié)議,由于C語言的高效性,采用C語言進行編程實現通信,無需對PLC本身的程序進行修改,保證了工業(yè)控制系統(tǒng)的安全和穩(wěn)定。

2.2 PPI協(xié)議數據格式

PPI協(xié)議是一種主一從通信協(xié)議:通信的設備分為主站和從站。PLC默認為從站,嵌入式系統(tǒng)和TD200文本顯示器作為主站。主站設備發(fā)送請求到從站設備,從站設備響應,從站不主動發(fā)起通信,只是等待主站的數據請求命令和對該命令作出響應。PPI協(xié)議并不限制與任意一個從站通信的主站數量,但是在一個網絡中,主站的個數不能超過32。協(xié)議的數據格式如圖3所示,圖3(a)是PPI主站發(fā)送的命令幀和從站發(fā)送的數據幀格式,圖3(b)是PPI主站發(fā)送給從站的確認幀格式。


圖3 協(xié)議數據幀格式

以字節(jié)為單位,每個字節(jié)的含義如下:

SD2,SD1:(Start Delimiter)開始定界符(SD2=68H,SDI=10H)
LE.LER:(Frame Length)報文數據長度
DA:(Destination Address)目的地址
SA:(Source Address)源地址
FC:(Function Code)方式字(5C、6C、7C)
Data Unit:數據單元
FCS:(Frame Check Sequence)校驗碼
ED:(End Delimiter)結束分界符(16H)

在PPI網絡中,S7—200 PLC的默認站地址是02H,而作為主站的嵌入式系統(tǒng)的站地址規(guī)定為00H。加上TD200后構成的多主站系統(tǒng)中,TD200做主站,站地址是01H。三個站之間的通信遵循令牌環(huán)網絡規(guī)則,令牌在主站之間輪流傳遞,持有令牌的主站有總線的控制權,可以收發(fā)數據,從站不具有令牌持有權。

2.3 數據采集程序分析

數據采集線程的主要流程如圖4所示。其中,測控終端與PLC的通信可以看作是主站與從站之間的兩次發(fā)送請求和應答過程。


圖4 通信程序流程圖

以作為主站的嵌入式系統(tǒng)向作為從站的PLC發(fā)起一個讀取數據值的通信過程為例,該數據是存儲在v寄存器、起始地址為136的一個字。

首先,主站以目的地址02H、源地址00H生成一個數據請求幀,對于讀取請求,方式字FC為7CH。生成的數據請求幀為(以十六進制表示): 68H 1BH 1BH 68H 2H 0H 6CH 32H 1H 0H 0H 6H 6H 0H EH 0H 0H 4H 1H 12H AH 10H 4H 0H 1H 0H 1H 84H 0H 4H 40H BAH 16H。主站發(fā)出這一請求并等待1秒鐘之后讀取串口,如果PLC正確響應,會發(fā)送一個確認字節(jié)E5H,主站讀取到這個字節(jié)后,就在規(guī)定時間間隔內發(fā)送數據請求確認幀到串口。確認幀內容為:10H 02H 00H 5CH 5EH 16H。PLC收到這個確認幀后,就讀取數據請求幀中所指定得寄存器值,并按照PPI協(xié)議規(guī)定得發(fā)送數據幀格式(圖3(a))打包,將數據發(fā)送出去。嵌入式主站接收到這個含有所需請求參數值的數據幀,就根據協(xié)議的規(guī)定將數據解析出來,并存儲在本地內存共享區(qū)域中,從而完成一次數據采集和存儲過程。

數據采集線程的主要代碼如下:

Int data_collect (struct acinfo temp)
{
delay.tv_sec=0;
delay.tv_nsec=sleep;
int ret;
unsigned char ack; //打開串口1,設置波特率9600波特
open_comport (19600) ; //向PLC發(fā)送數據讀取指令幀
white_com (temp);
nanosleep (&delay, NULL); //讀取PLC響應幀
ack=read_act();… //對PLC發(fā)送確認幀
poll_data();
nanosleep(&delay,NULL); //從串口讀取來自PLC的數據
ret=read_com(); //恢復串口設置,關閉串口
com_reset();
com_close();
return();
}

PLC 的響應有一定延遲, 所以需要在程序中調用nanosleep(&delay,NULL)函數讓線程暫停一段時間再讀取串El。為了保證令牌環(huán)網絡的正常運轉,受令牌占有時間的限制,在波特率為9600時,PLC 與主站的一次數據通信時間不應該超過3s,根據所采集的參數規(guī)模計算得出最小響應和傳輸時間間隔在0.1s左右。

3、結束語

本測控終端系統(tǒng)經過實際運行,驗證了其有效性和實用性。采用嵌入式系統(tǒng)與西門子PLC利用PPI協(xié)議進行通信的方法,簡化了原本復雜的通信功能實現過程,為對PLC的實時監(jiān)控提供了一種性價比很高的實現方式。通過嵌入式系統(tǒng)擴展以太網1:3,為原本只有通過串口才能與外界通信的PLC提供了以太網的通信方式,提高了通信效率。基于此技術實現的嵌入式系統(tǒng)與PLC相結合的遠程測控終端為分布式實時監(jiān)控系統(tǒng)的實現提供了一種低價又便捷有效的方式。

作者:未知 點擊:736次 [打印] [關閉] [返回頂部]
本文標簽:嵌入式遠程測控終端與PLC通信的研究
* 由于無法獲得聯(lián)系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《嵌入式遠程測控終端與PLC通信的研究》相關權利人與機電之家網取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

王經理 【求購】  西湖輪胎  2026-3-20
蘇紅慶 【求購】  工業(yè)除濕機  2026-3-20
金喜 【求購】  線纜  2026-3-20
林杰 【求購】  自粘結鐵芯  2026-3-20
任建波 【求購】  鋰電鉆  2026-3-20
劉經理 【求購】  吊具電纜總...  2026-3-20
潘梟 【求購】  高強鋼焊絲  2026-3-19
李經理 【求購】  丹弗斯液壓...  2026-3-18
VIP公司推薦

主站蜘蛛池模板: 额尔古纳市| 兴业县| 会昌县| 莲花县| 介休市| 衡阳县| 连云港市| 仁布县| 日喀则市| 句容市| 横峰县| 波密县| 鹤山市| 普洱| 宁国市| 长垣县| 西乡县| 宣汉县| 平舆县| 澎湖县| 会理县| 宁都县| 八宿县| 西峡县| 肥乡县| 浦城县| 略阳县| 永平县| 班玛县| 柯坪县| 类乌齐县| 右玉县| 临夏市| 玛曲县| 沂南县| 视频| 三明市| 泸溪县| 筠连县| 察隅县| 长白|