PLc串口在獲取傳感器數據中的應用
張坤
(解放軍電子工程學院,安徽合肥230037)
摘要:介紹了用西門子s7—200可編程控制器通過Rs-485串口連接兩個傳感器測量轉速與角度,從中獲取轉速和角度數據,并進行數據處理。
關鍵詞:PLc;s7—200;Rs-485;串口通信
中圖分類號:T3/1383.2 文獻標識碼:A 文章編號:1004-7018(2008)06—0013—03
0引 言
S7—200是西門子公司研制的一種薪型可編程控制器,它工作可靠,功能強,存儲容量大,編程方便,抗干擾能力強,并且有較強的通信功能。因此可以通過它的串口與計算機或其他智能裝置進行聯網及通信,現代工業設備大都具有智能化、模塊化的特點,往往只需要上位機發出一條指令就可以獨自完成工作,并將結果通過總線返回給上位機,在其工作期間不需要任何其它設備的干預,這就給上位機留有時間來完成其它工作,對于保障系統的穩定性起到了重要作用。本文介紹的系統由s7—200通過Rs-485總線連接速度和角度傳感器,角度和速度傳感器分布于工業現場的不同位置,PLc向它們發送測量指令,傳感器收到指令后向PLc回傳含有速度和角度值的數據,并由PLc完成數據處理任務。
l系統硬件構成
本系統主要由電源模塊、PLc、兩個分布在不同場地的旋轉變壓器、FB900c及FB900v變送器構成,如圖1所示。電源模塊向PLc提供24 V直流電,市電向FB900c、FB900V提供220 V交流電,PLc上Rs-485口的3、8是數據4、B端,而FB900c/V的8、9是Rs一485的數據A、B端,因此FB900c/V串口的8、9分別與PLc串口的3、8相連。FB900c/V上的端子號從左至右依次為1~7,其中1、2為供電端口,3、4為FB900c/V向旋轉變壓器提供的8 V交流電,5、6、7為旋轉變壓器向FB900C/V提供的信號。
2軟件設計總體思路
FB900c/V將旋轉變壓器傳來的信號分別轉換成角度和速度數據,通過Rs-485總線傳向PLc再由PLc對其進行處理。為了避免數據傳輸過程中發生數據沖突,將FB900C/V設置成指令傳送模式,FB900C/V收到相應的指令就會向Rs 485總線上傳含有角度和速度的數據,沒有收到相應的指令就不會發送數據。為了避免數據沖突,采用分時讀取FB900C和FB900V數據方式,即PLc先發送讀取速度數據指令,FB900V收到后就立即向總線上傳送速度數據,PLc收到總線上的數據后將其存儲下來并對其進行處理,完成數據處理后PLc再發送讀取角度數據指令,FB900C收到指令后立即向總線上傳送角度數據,PLc收到總線上的數據后將其存儲下來并對其進行處理,完成數據處理后PLc再發送讀取角度速度數據指令,依次不斷循環下去。分時工作由PLc的定時器B2和T196完成,T32定時則T96復位,如果T96定時,則T32復位,依次循環。它們的周期都為40 ms,T32等于40 ms時,PLc發送讀取速度指令,并打開中斷事件25,FB900V傳送速度數據后,PLc響應字符中斷接收完數據后就將其處理完畢,接著將T32復位。再打開T96直到T96等于40 ms,PLc發送讀取角度指令,并打開中斷事件25,FB900C傳送角度數據后,PLc響應字符中斷接收完數據后就將其處理完畢,接著將T96復位并打開T32,如此不斷循環。流程圖如圖2所示。在流程圖中兩個定時器依次打開和復位,當每個定器計時到40 ms,就觸發程序發送相應的讀數指令,響應字符接收中斷接收傳感器發送過來的數據,處理接收到的數據。定時器T32、T96起到了作為采集速度、角度數據標志信號的作用,此外還可以通過更改定時器的延時值來控制采集傳感器信號的周期。發送指令、接收數據及數據處理在文章的后續部分作詳細介紹,主程序流程中就不作敘述了。
3 PLc及FB900C/V串口參數的設定
SMB30和SMBl30是s7—200的通信控制字,用來設置通信的波特率,奇偶校驗位、停止位和字符長度。SMB30對應端口0,SMBl30對應端口1。SMB30和SMBl30的各位及含義如表1所示。
其中,校驗方式:00和11均為無校驗、Ol為偶校驗、10為奇校驗;字符長度:O為傳送字符有效數據是8位、l為有效數據是7位;波特率:000為38 400、001為19 200、010為9 600、叫l為4 800、100為2 400、101為1 200、110為600、111為300;通信協議:00
|