西門子模塊6SE7031-5ES87-1FE0
RS485 網(wǎng)絡(luò)為采用屏蔽雙絞線電纜的線性總線網(wǎng)絡(luò),,總線兩端需要終端電阻。RS485 網(wǎng)絡(luò)允許每一個(gè)網(wǎng)段的最大通信節(jié)點(diǎn)數(shù)為 32 個(gè),,允許的最大電纜長度則由通信端口是否隔離以及通信波特率大小等兩個(gè)因素所決定,見表 3. RS485 網(wǎng)段電纜的最大長度所示,。
表 3. RS485 網(wǎng)段電纜的最大長度
波特率(bit/s) | S7-200 SMART CPU 端口 | 隔離型 CPU 端口 |
9.6K~187.5K | 50m | 1000m |
500K | 不支持 | 400m |
1M~1.5M | 不支持 | 200m |
3M~12M | 不支持 | 100m |
S7-200 SMART CPU 集成的 RS485 端口以及 SB CM01 信號板都是非隔離型通信端口,,允許的最大通信距離為 50m,該距離為網(wǎng)段中第一個(gè)通信節(jié)點(diǎn)到最后一個(gè)節(jié)點(diǎn)的距離,。如果網(wǎng)絡(luò)中的通信節(jié)點(diǎn)數(shù)大于 32 個(gè)或者通信距離大于 50m 則需要添加 RS485 中繼器拓展網(wǎng)絡(luò)連接,。
注意:
● S7-200 SMART CPU 集成的 RS485 端口以及 SB CM01 信號板都是非隔離型,與網(wǎng)段中其它節(jié)點(diǎn)通信時(shí)需要做好參考點(diǎn)電位的等電位連接或者使用 RS485 中繼器為網(wǎng)絡(luò)提供隔離,。參考點(diǎn)電位不同的節(jié)點(diǎn)通信時(shí)可能會導(dǎo)致通信錯(cuò)誤或者端口燒壞,。
● S7-200 SAMRT CPU 與其它節(jié)點(diǎn)聯(lián)網(wǎng)時(shí),可以將 CPU 模塊右下角的傳感器電源的 M 端與其它節(jié)點(diǎn)通信端口的 0V 參考點(diǎn)連接起來做到等電位連接,。
RS485 中繼器
RS485 中繼器可用于延長網(wǎng)絡(luò)距離,,電氣隔離不同網(wǎng)段以及增加通信節(jié)點(diǎn)數(shù)量。中繼器的作用如下:
1.延長網(wǎng)絡(luò)距離:
網(wǎng)絡(luò)中添加中繼器允許將網(wǎng)絡(luò)再延長 50m ,,如果兩臺中繼器連接在一起,,中間無其它節(jié)點(diǎn),則可將網(wǎng)絡(luò)延長 1000m ,,一個(gè)網(wǎng)絡(luò)中最多可以使用 9 個(gè)西門子中繼器,。如圖 4. 使用 RS485 中繼器拓展網(wǎng)絡(luò)所示。

圖 4. 使用 RS485 中繼器拓展網(wǎng)絡(luò)
注意:
S7-200 SMART CPU自由口通信,、Modbus RTU通信和USS通信時(shí),,不能使用西門子中繼器拓展網(wǎng)絡(luò)。
2.電氣隔離不同網(wǎng)段:
隔離網(wǎng)絡(luò)可以使參考點(diǎn)電位不相同的網(wǎng)段相互隔離,,從而確保通信傳輸質(zhì)量,。
3.增加網(wǎng)絡(luò)設(shè)備:
在一個(gè) RS485 網(wǎng)段中,最多可以連接 32 個(gè)通信節(jié)點(diǎn),。使用中繼器可以向網(wǎng)絡(luò)中拓展一個(gè)網(wǎng)段,,可以再連接 32 個(gè)通信節(jié)點(diǎn),但是中繼器本身也占用一個(gè)通信節(jié)點(diǎn)位置,,所以拓展的網(wǎng)段只能再連接 31 個(gè)通信節(jié)點(diǎn),。
RS485 網(wǎng)絡(luò)連接器
西門子提供了兩種類型的 RS485 網(wǎng)絡(luò)連接器(如圖 5. RS485網(wǎng)絡(luò)連接器所示),,可使用它們輕松地將多臺通信節(jié)點(diǎn)連接到通信網(wǎng)絡(luò)上。一種是標(biāo)準(zhǔn)型網(wǎng)絡(luò)連接器,,另一種則增加了可編程接口,。帶有可編程接口的網(wǎng)絡(luò)連接器可以將 S7-200 SMART CPU 集成的 RS485 端口所有通信引腳擴(kuò)展到編程接口,其中 2 號,、7 號引腳對外提供 24VDC電源,,可以用于連接 TD400C 。

圖 5. RS485網(wǎng)絡(luò)連接器
網(wǎng)絡(luò)連接器上兩組連接端子,,用于連接輸入電纜和輸出電纜,。網(wǎng)絡(luò)連接器上具有終端和偏置電阻的選擇開關(guān),網(wǎng)絡(luò)兩端的通信節(jié)點(diǎn)必須將網(wǎng)絡(luò)連接器的選擇開關(guān)設(shè)置為 On ,,網(wǎng)絡(luò)中間的通信節(jié)點(diǎn)需要將選擇開關(guān)設(shè)置為 Off ,。典型的網(wǎng)絡(luò)連接器終端電阻和偏置電阻接線如表 4. 網(wǎng)絡(luò)連接器終端和偏置電阻所示。
表 4. 網(wǎng)絡(luò)連接器終端和偏置電阻

使用 SB CM01 信號板可用于連接 RS485 網(wǎng)絡(luò),,當(dāng)信號板為終端通信節(jié)點(diǎn)時(shí)需要接終端電阻和連接偏置電阻,,典型的電路圖如圖 6. SB CM01 信號板終端和偏置電阻接線圖所示。

圖 6. SB CM01 信號板終端和偏置電阻接線
注意:
● 終端電阻用于消除通信電纜中由于特性阻抗不連續(xù)而造成的信號反射,。信號傳輸?shù)骄W(wǎng)絡(luò)末端時(shí),,如果電纜阻抗很小或者沒有阻抗的話,在這個(gè)地方就會引起信號反射,。消除這種反射的方法,,就是在網(wǎng)絡(luò)的兩端端接一個(gè)與電纜的特性阻抗相同的終端電阻,使電纜阻抗連續(xù),。
● 當(dāng)網(wǎng)絡(luò)上沒有通信節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),,網(wǎng)絡(luò)總線處于空閑狀態(tài),增加偏置電阻可使總線上有一個(gè)確定的空閑電位,,保證了邏輯信號 “0",、“1" 的穩(wěn)定性
西門子模塊6SE7031-5ES87-1FE0
1.概述
本章描述了FM 350-1功能模塊 (FBs) 參數(shù)分配的數(shù)據(jù)結(jié)構(gòu),控制及調(diào)試,。
功能塊必須在用戶程序中循環(huán)調(diào)用,。
包含下述功能模塊:
? _FM3501_control
? _FM3501_diagnostic
SIMOTION SCOUT 包含需要的 FBs 功能塊及FM 350-1的數(shù)據(jù)結(jié)構(gòu)“ Struct_FM3501_fmData"。功能模塊用于控制一個(gè)或多個(gè)FM 350-1模塊,。
2.功能塊“_FM3501_control"
“_FM3501_control"功能塊用于FM 350-1模塊的控制及狀態(tài)的掃描,。
LAD表示方式:

參數(shù)描述:
periIn:
輸入,數(shù)據(jù)類型:ARRAY [0 to 15] of BYTE ,,傳送FM 的 I/O 輸入給FB,。
enableSwGate:
輸入,數(shù)據(jù)類型:BOOL,,使能計(jì)數(shù)器控制的軟件門,。
enableStopGate:
輸入,,數(shù)據(jù)類型:BOOL,停止計(jì)數(shù)器控制的軟件門,。
cntrRange:
輸入,,數(shù)據(jù)類型:BOOL,F(xiàn)M計(jì)數(shù)范圍的限制設(shè)置:
FALSE:
-231≤ count value < 231-1
TRUE:
0 ≤ count value < 232-1
execResetOpError:
輸入,,數(shù)據(jù)類型:BOOL,,通過此信號的上升沿確認(rèn)運(yùn)行錯(cuò)誤。
data
輸入/輸出,,數(shù)據(jù)類型:Struct_FM3501_fmData
setStartValue
輸入/輸出,,數(shù)據(jù)類型:BOOL,傳送 "direct loading"的觸發(fā)位,。將預(yù)置值傳送到裝載存貯器并且直接用于計(jì)數(shù),。
setPrepStartValue
輸入/輸出,數(shù)據(jù)類型:BOOL,,傳送"preparatory loading"的觸發(fā)位。
僅將預(yù)置值傳送到裝載存貯器,。存貯器中的預(yù)置值在下次觸發(fā)時(shí)被傳送 (FM input "DI set" - set counter),,需滿足下述條件:
- enableReverseSetting = TRUE (數(shù)據(jù)結(jié)構(gòu) "truct_FM3501_fmData"中的元素)
或
- enableForwardSetting = TRUE (數(shù)據(jù)結(jié)構(gòu) "truct_FM3501_fmData"中的元素)
setCmpValue1
輸入/輸出,數(shù)據(jù)類型:BOOL,,傳送"comparison value1"的觸發(fā)位,。
setCmpValue2
輸入/輸出,數(shù)據(jù)類型:BOOL,,傳送"comparison value2"的觸發(fā)位,。
resetSyncState
輸入/輸出,數(shù)據(jù)類型:BOOL,,刪除"synchronization"狀態(tài)位,。
resetCntrState
輸入/輸出,數(shù)據(jù)類型:BOOL,,刪除"zero crossing"狀態(tài)位,。
periOut
輸入/輸出,數(shù)據(jù)類型:ARRAY [0 to 15] of BYTE,,用于FM的I/O輸出的FB的準(zhǔn)備數(shù)據(jù),。
注意: periOut 參數(shù)必須定義為數(shù)組類型ARRAY [0..15] of BYTE的變量,此變量必須在用戶程序中創(chuàng)建為一個(gè)本地或全局的變量(在程序的VAR下面創(chuàng)建),,而不要創(chuàng)建一個(gè)臨時(shí)變量(在VAR_TEMP下面創(chuàng)建),。在 FB 被調(diào)用后,此數(shù)組必須被分配給用于模塊I/O輸出的 I/O 變量,,請參看示例程序,。
errorOperation
輸出,,數(shù)據(jù)類型:BOOL,運(yùn)行錯(cuò)誤產(chǎn)生指示,。
startup
輸出,,數(shù)據(jù)類型:BOOL,指示FM模塊的運(yùn)行開始,。
功能
“_FM3501_control"功能塊周期性地從類型為“Struct_FM3501_fmData"的數(shù)據(jù)結(jié)構(gòu)傳送數(shù)據(jù)給FM 350-1。它還從FM 350-1 讀取數(shù)據(jù)并將其寫入數(shù)據(jù)結(jié)構(gòu),。
注意:
“cntrRange"輸入?yún)?shù)必須按照FM 350-1模塊分配的計(jì)數(shù)范圍限制來進(jìn)行設(shè)置:
? cntrRange: = FALSE,,計(jì)數(shù)范圍為 -231 ≤ count value < 231 – 1:
– loadValue1, cmpValue1_1, cmpValue2_1 從 FB 寫入到 FM模塊中。
– 從FM模塊中讀取actValue1, actCntrValue1,。
? cntrRange: = TRUE, 計(jì)數(shù)范圍為0 ≤ count value < 232 – 1:
– loadValue2, cmpValue1_2, cmpValue2_2從 FB 寫入到 FM模塊中,。
– 從FM模塊中讀取 actValue2, actCntrValue2。
在高速計(jì)數(shù)器的參數(shù)化工具中必須選擇與其相同的計(jì)數(shù)范圍,。
任務(wù)調(diào)用
“_FM3501_control"功能塊必須在“BackgroundTask"或“TimerInterruptTask"中周期性調(diào)用,,不允許在“SystemInterruptTask"中進(jìn)行調(diào)用,出于運(yùn)行時(shí)間的原因不建議在“IPOSynchronousTask"中進(jìn)行調(diào)用,。
對于FM 350-1,,可通過適當(dāng)?shù)膮?shù)(setStartValue,setPrepStartValue, setCmpValue1, setCmpValue2,resetSyncState, resetCntrState, execResetOpError, enableStopGate, enableSwGate)來開始某一項(xiàng)工作。在每次調(diào)用前應(yīng)根據(jù)相應(yīng)的工作在數(shù)據(jù)結(jié)構(gòu)中輸入裝載值或比較值,。
啟動行為
當(dāng)“_FM3501_control"功能塊監(jiān)測到 FM 350-1 正在啟動,,任何未決的工作被延期直到起動被確認(rèn)。FM 350-1的啟動通過輸出參數(shù)startup=TRUE指示,。一旦起動完成后再執(zhí)行未決工作,。
調(diào)用 FB 期間的錯(cuò)誤信息
如果在調(diào)用 FB 期間有錯(cuò)誤產(chǎn)生,它在“errorOperation" 參數(shù)中指示,??稍跀?shù)據(jù)結(jié)構(gòu)的“errorIdOperation"元素中讀出錯(cuò)誤信息??墒褂谩癳xecResetOpError"參數(shù)確認(rèn)錯(cuò)誤,。
錯(cuò)誤代碼
在數(shù)據(jù)結(jié)構(gòu)的“errorIdOperation"元素中顯示錯(cuò)誤代碼