亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 西門子S7-200與安控Super E40系列RTU模塊系統自由端口通訊的實現

西門子S7-200與安控Super E40系列RTU模塊系統自由端口通訊的實現

時間:2010-10-11 16:29:41來源:majuan

導語:?本文給出了關于西門子S7-200與其他設備之間利用自由端口通訊的完整通訊程序,以及給出的球閥分區域方法有一定的創新性,可以應用于很多領域中,并給出在編程過程中遇到的問題和解決方法,具有很大的實用性。

       摘要:介紹了西門子S7-200PLC與安控Super E40系列RTU模塊系統進行自由端口模式的通訊,解決了安控RTU模塊在缺少AO模塊的情況下,如何通過與西門子PLC自由端口通訊,通過西門子的模擬量I/O輸出模擬量,從而達到控制電動球閥的目的。給出了西門子S7-200的完整編程程序,以及編程過程中應該注意的問題,具有一定的實用性。

      0 引言

      西門子S7-200系列PLC是西門子家族中最小型的PLC ,除具有的一般功能外,以其強大的通信能力區別于一般的小型PLC ,可通過網絡,分布系統輕易的完成復雜的控制要求。S7-200系列PLCCPU在內部都集成了一個或幾個通信口,通信口標準為RS485口,利用相應的電纜就能構成具有多種通信功能的復雜通信網絡[1]。Super E40系列RTU是安控公司集多年的開發、工程經驗設計的新型RTU產品,它可實現對工業現場信號的采集和對現場設備的控制。與常用的可編程控制器PLC相比,具有更優良的通訊能力[2]

      本項目應用到Super E40的A32-M1 CPU模塊、A32-L3通信模塊、AC101模擬量輸入模塊、AC133數字量輸出模塊、AC141脈沖量輸入模塊。由于缺少模擬量輸出模塊,而單獨購買AO模塊價格昂貴,所以本文利用西門子S7-200特有的自由端口通訊模式與安控RTU通訊,安控將采集到的模擬量經過數據轉換發送到西門子S7-200PLC中,西門子通過模擬量輸出端口輸出電流,驅動球閥達到相應的球閥開度,具有一定的實用性。

 1 系統概述

      本課題來源于本校SRTP項目(大學生科研訓練計劃項目)和學校實驗技術項目,題目為“基于GPRS和RTU的過程控制系統”,該系統是基于PLC模塊技術構造的過程控制系統,可用于天然氣和流體調壓站及管道的安全監控等。

      該平臺由一路管道組成,配有壓力變送器,電動球閥,差壓計,流量計,溫度變送器,吸水泵及水箱。控制柜單獨放置,控制柜里安裝安控Super E40系列RTU模塊系統。通過變送器將壓力、溫度等傳感器的信號轉換為標準電信號,經由RTU進行信號處理后以有線或無線方式將數據傳輸到前置機進行數據處理,處理后的控制信號又送至電動球閥并進行實時動作。本項目應用到Super E40的A32-M1 CPU模塊、A32-L3通信模塊、AC101模擬量輸入模塊、AC133數字量輸出模塊、AC141脈沖量輸入模塊,西門子S7-200,系統總體框圖如圖1所示。

2 西門子通訊自由端口模式

      CPU的串行通信接口可以由用戶程序控制,這種操作模式稱為自由端口模式。通過使用接收中斷、發送中斷、字符中斷、發送指令(XMT)和接收指令(RCV),自由端口通信可以控制S7-200CPU通信口的操作模式。利用自由端口模式,可以實現用戶定義的通信協議,連接多種智能設備[3]。通過SMB30,允許在CPU處于RUN模式時通信口0使用自由端口模式。CPU處于STOP模式時,停止自由端口通信,通信口強制轉換成PPT協議模式,從而保證了編程軟件對PLC編程和控制的功能。

      SMB30用于設置端口0通信的波特率和奇偶校驗等參數。本文給西門子設定的自由口通信,波特率為9600,數據位8,停止位1,無校驗,結束符為 A,其主程序如下所示:

主程序:

網絡1:// 設置控制方式為自由口通信方式,啟動接收字符中斷 //
LD     SM0.1                   //PLC首次掃描

MOVB   16#09, SMB30            //自由口通信,波特率為9600,數據位8,停止位1,無校驗

MOVB   16#B0, SMB87            //初始化RCV,允許RCV,有結束符,檢查空閑時間

MOVB   16#0A, SMB89            //結束符為 A

MOVB   6, SMB94                //一次接收的最大字符6個

ATCH   INT_0:INT0, 23          //接收完成中斷0

ATCH   INT_1:INT1, 9           //接收完成中斷1

ENI                            //允許用戶中斷

RCV    VB199, 0                //端口0的接受緩沖區指針指向VB199

網絡2:

LD     SM0.1

CALL   初始化:SBR1             //調用初始化子程序

網絡3:

LD     SM0.0

MOVB   1, VB99

MOVW   +1, VW100              //接收到數據后將0送到發送區

網絡4:

LD     SM0.5

XMT    VB99, 0                //將數據0從端口0發送出去

 

      西門子模擬量輸出端口輸出模擬量信號并送入電動球閥,電動球閥做出實時動作。如何控制球閥的開度成為關鍵問題。PID控制器是應用最廣的閉環控制器,但是PID控制方式主要應用于控制對象的慣性滯后較大時。鑒于本課題對滯后性要求不高,以及模擬量輸入輸出較少,所以本文給出了一種較為簡單的控制方法。

      將球閥開度以10°為單位分為9個區域,9個區域分別對應相應的驅動電流,安控RTU數據字為10000~50000,西門子S7-200數據字為0~+32000,所分的區域如表1所示。它們之間數據的傳送是通過十六進制傳輸的,西門子接收到的數據為十六進制,并存入指定的單元中。拿安控RTU數據字50000說,將其轉換成十六進制數為C350,將兩個字節分別存于西門子指定的單元中,最后經過數據轉換為十進制數過程中超過范圍。所以在處理的過程中運用到一些方法,就是只將第一個字節送到西門子,拿50000來說,只將C3傳送到西門子中,轉換成相應的十進制數為195,這樣就比較好處理。

 

球閥開度

所需的電流

安控RTU數據字

西門子數據字

安控RTU數據字對應的十六進制數

送到西門子中的第一字節對應的十進制數

區域x

4mA

10000

6400

16#2710

39

0≤x≤39

10°

6mA

15000

9600

16#3A98

58

39<x<58

20°

8mA

20000

12800

16#4E20

78

58≤x<78

30°

10mA

25000

16000

16#61A8

97

78≤x<97

40°

12mA

30000

19200

16#7530

117

97≤x<117

50°

14mA

35000

22400

16#88B8

136

117≤x<136

60°

16mA

40000

25600

16#9C40

156

136≤x<156

70°

18mA

45000

28800

16#AFC8

175

156≤x<175

90°

20mA

50000

32000

16#C350

195

175≤x≤195

表1 球閥開度區域

調節球閥開度子程序和初始化子程序如下所示。

 

調整球閥開度子程序:

網絡1:

LD     SM0.0

BTI    VB200, VW200      //將接收到的字節數據轉換成字 

網絡2:                 //分區//

LD     SM0.0

MOVW   +39, VW0

MOVW   +58, VW2

MOVW   +78, VW4

MOVW   +97, VW6

MOVW   +117, VW8

MOVW   +136, VW10

MOVW   +156, VW12

MOVW   +175, VW14

MOVW   +195, VW16

網絡3:             //判斷是否在175≤x≤195區域,如在輸出相應電流,不在執行下面程

序//

LD     SM0.0

LDW>=  VW200, VW14

AW<=   VW200, VW16

MOVW   +32000, AQW0

ENI

網絡4—網絡11 :判斷是否在156≤x<175,136≤x<156,117≤x<136,97≤x<117,78≤x<97,58≤x<78,39<x<58,0≤x≤39區域,其程序與網絡3一樣。

初始化子程序:

網絡1://西門子處于RUN時VW200為0,輸出電流4mA //

LD     SM0.1

MOVW   +0, VW200

MOVW   +6400, AQW0

ENI


接收完成中斷0和接收完成中斷1程序如下:


接收完成中斷0INT0

網絡1:

LDB=   SMB86, 16#20   //SMB86 等于16#20,表示PLC收到結速符

S      Q1.0, 1        //收到后將Q1.0置1,燈亮

CALL   調整球閥開度子程序:SBR0

CRETI

NOT                   //否則將Q1.0置0,燈滅 

R      Q1.0, 1

RCV    VB199, 0

接收完成中斷1INT1

INT1:

網絡1:

LD     SM0.0

RCV    VB199, 0          //接收數據

 

3 程序調試

     在編程過程中用到了PLC串口通訊調試軟件,軟件可以在網上下載。在與安控RTU通訊之前先將西門子S7-200與PC機通訊,檢驗程序的正確性后再與安控RTU進行通訊調試。在調試西門子S7-200與PC機通訊的過程中出現的問題以及解決方法:

       ①程序跑飛的問題,即在與PC機通訊時,用PLC串口通訊調試軟件向PLC中發送數據,當連續地發送數據時,PLC在接收到第一個字符后就會出現通訊錯誤現象。程序跑飛最主要的原因是程序結構問題,只要精簡一下程序結構使其更加結構化,問題就可以解決。

      ②西門子S7-200和安控RTU的波特率,數據位,校驗位,停止位不一致。如果兩者不完全一致,是不能進行通訊的。

4 總結 

      本文給出了關于西門子S7-200與其他設備之間利用自由端口通訊的完整通訊程序,以及給出的球閥分區域方法有一定的創新性,可以應用于很多領域中,并給出在編程過程中遇到的問題和解決方法,具有很大的實用性,可以應用于實際項目中。

 參考文獻:

[1]張維笛,周澤魁,楊麗明,張光新.利用自由通信口模式實現PLC與遠程數據終端的信息傳送[J]機電工程,2002,19卷,第6期

[2] Super E40系列RTU使用手冊

[3]廖常初.PLC編程及應用(第二版)[M]北京:機械工業出版社,2005

 

標簽:

點贊

分享到:

上一篇:基于MC9S08AW32芯片的開關柜...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 裕民县| 长宁区| 南汇区| 南开区| 日喀则市| 航空| 维西| 漳州市| 库伦旗| 资中县| 广丰县| 托里县| 依安县| 永城市| 大同县| 敖汉旗| 海林市| 拉孜县| 连城县| 宁河县| 万荣县| 五河县| 阿瓦提县| 台州市| 资溪县| 黔南| 武功县| 凤台县| 兴安盟| 香格里拉县| 大庆市| 攀枝花市| 射阳县| 德江县| 新安县| 游戏| 资阳市| 屏南县| 盐城市| 乌苏市| 岢岚县|