S7-300與S7-200自由口無(wú)線通信實(shí)現(xiàn)方法
出處:王仁和 欒義忠 發(fā)布于:2011-09-05 14:22:22
1 項(xiàng)目簡(jiǎn)介
S7-300是模塊化小型PLC系統(tǒng),能滿足中等性能要求的應(yīng)用。SIMATIC S7-300 可編程序控制器是模塊化結(jié)構(gòu)設(shè)計(jì)。各種單獨(dú)的模塊之間可進(jìn)行廣泛組合以用于擴(kuò)展。屬于可編程序控制器,通過(guò)軟件和硬件的連接來(lái)實(shí)現(xiàn)自動(dòng)化無(wú)人操作的控制,自動(dòng)化控制中心使用的S7-300的PLC只是其中的一種,現(xiàn)在PLC有很多廠家就是西門(mén)子在我國(guó)的市場(chǎng)占有率大一點(diǎn)。
S7-200PLC作為小型PLC,以其功能強(qiáng)、性價(jià)比高在工控領(lǐng)域中被廣泛應(yīng)用。是一種小型的可編程序控制器,適用于各行各業(yè),各種場(chǎng)合中的檢測(cè)、監(jiān)測(cè)及控制的自動(dòng)化。S7-200系列的強(qiáng)大功能使其無(wú)論在獨(dú)立運(yùn)行中,或相連成網(wǎng)絡(luò)皆能實(shí)現(xiàn)復(fù)雜控制功能。因此S7-200系列具有極高的性能/價(jià)格比。在S7-200與S7-300或WINCC通信時(shí),通常需要安裝EM277或CP243-1模塊,成本升高,使得S7-200性價(jià)比優(yōu)勢(shì)大打折扣。自由口通信是S7-200的突出特點(diǎn)之一,本文介紹了一種經(jīng)濟(jì)靈活的通信方法,其可行性、可靠性在實(shí)際工程中得到驗(yàn)證。圖1為濱州污水處理廠監(jiān)控中心。

圖1 濱州污水處理廠監(jiān)控中心
2 工程應(yīng)用中的硬件及網(wǎng)絡(luò)結(jié)構(gòu)
濱州污水處理廠自動(dòng)化監(jiān)控系統(tǒng)中,兩刮泥橋上各有一臺(tái)S7-200PLC,每臺(tái)PLC控制8臺(tái)吸泥泵及刮泥橋的正反向運(yùn)動(dòng)。S7-200PLC的柜子安裝在刮泥橋上,處于不停地來(lái)回運(yùn)動(dòng)中,不適合進(jìn)行有線通信,采取了無(wú)線數(shù)傳電臺(tái)方式。
S7-200CPU上的通信口是基于RS485的,通過(guò)一個(gè)RS485/232轉(zhuǎn)換器將S7-200連接到電臺(tái);在脫水機(jī)房的S7-300上掛一串口通信模塊CP340,并連接到數(shù)傳電臺(tái),通過(guò)編程便可以實(shí)現(xiàn)S7-300與S7-200間的通信;監(jiān)控室的上位機(jī)以MPI總線方式與S7-300通信,便可間接監(jiān)控S7-200。系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2

圖2 通信結(jié)構(gòu)圖
3 通信功能的實(shí)現(xiàn)
通信程序要實(shí)現(xiàn)S7-300向一個(gè)S7-200站發(fā)送7個(gè)字節(jié)的數(shù)據(jù),然后接收并存儲(chǔ)該S7-200返回的6個(gè)字節(jié)數(shù)據(jù)。S7-300發(fā)送的7個(gè)字節(jié)中,第1個(gè)字節(jié)是地址信息,第2、3、4字節(jié)是吸泥泵及刮泥橋控制數(shù)據(jù)信息,第5、6字節(jié)為校驗(yàn)信息,第7位字節(jié)數(shù)據(jù)信息無(wú)意義,僅僅是為了觸發(fā)S7-200的字符接收中斷程序。
3.1 S7-300端通信程序
在自由口模式下,無(wú)論S7-200還是S7-300,通信協(xié)議完全由程序控制。
S7-300與現(xiàn)有的 CPU 312、314 和 315(F)-2 DP 相比,創(chuàng)新型 S7-300 CPU 的性能有了顯著提高;例如,創(chuàng)新型 CPU 上的用戶程序處理速度至少提高了 1 倍,在某些情況下甚至更快。位處理時(shí)間甚至降至 50 ns,而字處理時(shí)間降至 90 ns。
S7-300采用輪循方式與兩S7-200通信,即秒內(nèi)向1號(hào)站發(fā)送數(shù)據(jù),然后接收1號(hào)站返回的數(shù)據(jù);第二秒內(nèi)向2號(hào)站發(fā)送數(shù)據(jù),然后接收2號(hào)站返回的數(shù)據(jù),不停地循環(huán)通信。S7-300通信程序流程如圖3。

圖3 S7-300通信程序流程圖
S7-300通信程序詳細(xì)介紹
AN M 30.0
L S5T#2S
SD T 1
A M 30.0
R T 1
L T 1
T MW 40
NOP 0
A T 1
= M 30.0
//設(shè)一2秒定時(shí)器,定時(shí)時(shí)間到自動(dòng)進(jìn)行下定時(shí),當(dāng)前值存入MW40
A(
L MW 40
L 102
>I
)
A(
L MW40
L 200
<I
)
= M30.1
// 定時(shí)器秒鐘內(nèi),即102<MW40<200,M30.1為1
A(
L MW 40
L 2
>I
)
A(
L MW 40
L 100
<I
)
= M 30.2
//定時(shí)器第二秒鐘內(nèi)M30.2為1
A (
A M 30.1
JNB _001
L 0
T MW 34
SET
SAVE
CLR
_001: A BR
)
JNB _002
L 0
T MW 36
_002: NOP 0
// M30.1為1時(shí),即定時(shí)器秒內(nèi),使MW34=0、MW36=0,作為起始字節(jié)值
A (
A M 30.2
JNB _003
L 8
T MW 34
SET
SAVE
CLR
_003: A BR
)
JNB _004
L 8
T MW 36
_004: NOP 0
// M30.2為1時(shí),即定時(shí)器第二秒內(nèi),使MW34=8、MW36=8,作為起始字節(jié)值
O M 30.1
O M 30.2
= M 33.0
A M 33.0
= L 20.0
BLD 103
CALL "P_SEND" , DB19
REQ :=L20.0
R :=
LADDR :=320
DB_NO :=2
DBB_NO:=MW34
LEN :=7
DONE :=M50.1
ERROR :=M50.2
STATUS:=MW52
NOP 0
// 調(diào)用發(fā)送指令,當(dāng)M30.1為1時(shí)(其上升沿初始化發(fā)送請(qǐng)求),個(gè)字節(jié)為1站地址;當(dāng)M30.2為1時(shí)(其上升沿初始化發(fā)送請(qǐng)求),個(gè)字節(jié)為2站地址
A M 33.0
= L 20.0
BLD 103
CALL "P_RCV" , DB20
EN_R :=L20.0
R :=
LADDR :=320
DB_NO :=22
DBB_NO:=MW36
NDR :=M60.1
ERROR :=M60.2
LEN :=MW62
STATUS:=MW64
NOP 0
// 調(diào)用接收指令,當(dāng)M30.1為1時(shí)(允許讀數(shù)據(jù)),存入DB22數(shù)據(jù)塊中,起始字節(jié)為DB22.DBB0;當(dāng)M30.2為1時(shí),存入DB22數(shù)據(jù)塊中,起始字節(jié)為DB22.DBB8
3.2 S7-200端通信程序
S7-200 是一種小型的可編程序控制器,適用于各行各業(yè),各種場(chǎng)合中的檢測(cè)、監(jiān)測(cè)及控制的自動(dòng)化。S7-200系列的強(qiáng)大功能使其無(wú)論在獨(dú)立運(yùn)行中,或相連成網(wǎng)絡(luò)皆能實(shí)現(xiàn)復(fù)雜控制功能。因此S7-200系列具有極高的性能/價(jià)格比。
S7-200系列在集散自動(dòng)化系統(tǒng)中充分發(fā)揮其強(qiáng)大功能。使用范圍可覆蓋從替代繼電器的簡(jiǎn)單控制到更復(fù)雜的自動(dòng)化控制。
S7-200 PLC程序分為主程序、子程序和中斷程序,主程序完成控制和子程序調(diào)用功能,子程序完成通信口初始化功能,中斷程序完成數(shù)據(jù)的接收和發(fā)送功能。發(fā)送數(shù)據(jù)采用發(fā)送指令XMT,通信口接收每個(gè)字節(jié)都會(huì)暫存到特殊存儲(chǔ)器SMB2中,利用中斷程序控制數(shù)據(jù)的接收。
當(dāng)SM0.7為1時(shí),調(diào)用子程序SBR_0設(shè)置SMB30,允許進(jìn)行自由口通信;SM0.7為0時(shí),調(diào)用子程序SBR_1重新設(shè)置SMB30,便于用Micro/WIN軟件對(duì)CPU運(yùn)行狀態(tài)進(jìn)行監(jiān)視。S7-200通信程序流程如圖4

圖4 S7-200通信程序流程圖
S7-200通信程序詳細(xì)介紹(1號(hào)站)
主程序MAIN(只給出與通信有關(guān)程序)
LD SM0.1
MOVB 1, VB1
//設(shè)置站地址
LD SM0.7
EU
O SM0.1
CALL SBR_0
//首次運(yùn)行或模式開(kāi)關(guān)從TERM打到ON時(shí)定義通信口為自由口
LD SM0.7
ED
CALL SBR_1
//模式開(kāi)關(guān)從ON撥到TERM時(shí)定義通信口為PPI從站
子程序SBR_0
LD SM0.0
MOVB 16#09, SMB30
ENI
ATCH INT_11, 8
//定義通信口0為自由口模式,9.6K波特率,無(wú)校驗(yàn),8位數(shù)據(jù)位,連接接收字符中斷為中斷程序INT_11
子程序SBR_1
LD SM0.0
MOVB 16#C0, SMB30
DTCH 8
DTCH 9
//恢復(fù)普通PPI通信設(shè)置
中斷程序INT_11
LD SM0.0
AB= SMB2, VB1
MOVW +5, VW200
MOVD &VB640, VD688
ATCH INT_12, 8
//若站地址正確,連接接收字符中斷到中斷程序INT_12,并使VW200=5來(lái)計(jì)數(shù),在INT_12中連續(xù)接收五個(gè)字節(jié),在S7-300中程序中將其余六個(gè)字節(jié)的高位進(jìn)行設(shè)計(jì),避免出現(xiàn)為內(nèi)容1或2地址信息的字節(jié),程序也會(huì)在接下來(lái)1~2個(gè)接收過(guò)程中,恢復(fù)到正常接收狀態(tài)。
中斷程序INT_12
LD SM0.0
MOVB SMB2, *VD688
INCD VD688
DECW VW200
//接收5個(gè)字節(jié)
LD SM1.0
MOVB 1, VB639
MOVW VW639, VW700
XORW VW641, VW700
ATCH INT_13, 8
//通過(guò)異或指令進(jìn)行數(shù)據(jù)校驗(yàn),連接接收字符中斷到中斷程序INT_13,即由第七個(gè)字節(jié)觸發(fā)中斷程序INT_13
中斷程序INT_13
LD SM0.0
DTCH 8
//中斷分離
LDW= VW700, VW643
MOVD VD640, VD400 //校驗(yàn)正確,將控制信息數(shù)據(jù)存到VB400~VB402
MOVB 6, VB600
MOVB VB1, VB601
BMB VB100, VB602, 5
ATCH INT_14, 9
XMT VB600, 0
//校驗(yàn)正確,使能發(fā)送,發(fā)送6字節(jié)數(shù)據(jù)VB601~VB606,連接發(fā)送指令結(jié)束到中斷程序INT_14
LDW<> VW700, VW643
ATCH INT_11, 8
//校驗(yàn)不正確,連接接收字符中斷到中斷程序INT_11,進(jìn)行新接收
中斷程序INT_14
LD SM0.0
DTCH 9
ATCH INT_11, 8
//發(fā)送結(jié)束則連接接收字符中斷到中斷程序INT_11,進(jìn)行新接收
4 電臺(tái)選型和故障判斷
數(shù)傳電臺(tái)選擇了深圳友訊達(dá)科技發(fā)展公司的FC-201/B,該數(shù)傳電臺(tái)以其價(jià)格合理、運(yùn)行穩(wěn)定在國(guó)內(nèi)得到廣泛應(yīng)用。通過(guò)友訊達(dá)提供的電臺(tái)軟件pfc5對(duì)電臺(tái)進(jìn)行參數(shù)設(shè)置:發(fā)射頻率453.00,接收頻率465.00,空中速率1200bps,工作模式為透明模式,串口波特率9600bps,串口校驗(yàn)和設(shè)為無(wú);在S7-300站處將電臺(tái)的參數(shù)中發(fā)射頻率設(shè)為465.00,接收頻率設(shè)為453.00,與S7-200站處電臺(tái)收發(fā)頻率對(duì)應(yīng),其余參數(shù)一致。
FC-201/B數(shù)傳電臺(tái)有一個(gè)發(fā)送和接收指示燈。根據(jù)此燈可以方便的判斷通訊是否正常。在無(wú)外界干擾,數(shù)據(jù)發(fā)送沒(méi)有校驗(yàn)錯(cuò)誤的情況下,S7-200站處的電臺(tái)通訊燈是綠閃兩下,紅閃一下,處在不停的綠-綠-紅循環(huán)狀態(tài),即接收兩次數(shù)據(jù),發(fā)送數(shù)據(jù)。如果通訊出現(xiàn)故障,根據(jù)通訊燈的閃爍狀態(tài),便可很容易查出通訊故障所在。
5 結(jié)束語(yǔ)
上位機(jī)WINCC通過(guò)訪問(wèn)S7-300的數(shù)據(jù)塊DB2和DB22,就可以實(shí)現(xiàn)對(duì)兩個(gè)S7-200PLC站的監(jiān)控。本通信方案經(jīng)濟(jì)、靈活,程序可移植性強(qiáng),對(duì)于類似項(xiàng)目具有很高的借鑒意義。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹(shù)莓派?一文快速了解樹(shù)莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52









