詳細(xì)介紹
上海西門子工業(yè)計算機(jī)總代理 上海西門子工業(yè)計算機(jī)總代理
追求,追求精確
要通過“嚴(yán)格”的檢驗程序,以可編程控制器(PLC)產(chǎn)品為例,在整個生產(chǎn)過程中針對該類產(chǎn)品的質(zhì)量檢測節(jié)點就超過20個。視覺檢測是數(shù)字化工廠*的質(zhì)量檢測方法,相機(jī)會拍下產(chǎn)品的圖像與Teamcenter數(shù)據(jù)平臺中的正確圖像作比對,一點小小的瑕疵都逃不過SIMATIC IT品質(zhì)管理模塊的“眼睛”。對比傳統(tǒng)制造企業(yè)的人工抽檢,這顯然要可靠又快速得多。”
LOGO! 0BA7之間的主從通訊
LOGO! 0BA7之間的主從通訊,作為從站一方的控制器,將不執(zhí)行自己的程序,只是作為主站的I/O擴(kuò)展存在,所有的動作受主站程序的控制;但是注意,從站的程序仍然存在, 一旦恢復(fù)控制器為主站,原先的程序仍然可以執(zhí)行。默認(rèn)情況下,所有的LOGO!都處于主站模式,可以通過LOGO! Soft Comfort V7.0軟件,如圖1、2;或者通過LOGO! 0BA7面板,將LOGO! 0BA7處于停機(jī)狀態(tài),通過面板“ESC” → “網(wǎng)絡(luò)”→ “設(shè)置通訊模式”實現(xiàn)從站的組態(tài),如圖3、圖4 。
圖1
圖2
圖3
圖4
本例中將192.168.0.16設(shè)置為192.168.0.15的從站。配制完成后,從站將不執(zhí)行原先的任何程序。LOGO! Soft Comfort V7.0軟件提供了特殊的網(wǎng)絡(luò)指令,用于主從模式下對從站的控制,如圖5。
圖5
可以在網(wǎng)絡(luò)指令中設(shè)置從站的 IP地址和地址信息(詳細(xì)內(nèi)容請參考幫助),如圖6
圖6
這樣,就可以在主站側(cè)編寫對從站控制的程序,如圖6,當(dāng)主站I1導(dǎo)通,從站的Q1接通;從站的I1接通,主站的Q1導(dǎo)通。同時,主站每連接一個從站(程序調(diào)用網(wǎng)絡(luò)指令,并了從站IP地址)都會默認(rèn)占用一個連接資源,如圖7所示,以LOGO!0BA7的主站多連接8個從站,并且可使用的網(wǎng)絡(luò)指令也是有限的(可見手冊),如下:
圖7
LOGO! Soft Comfort V7.0 中可用的網(wǎng)絡(luò)輸入/輸出功能塊
網(wǎng)絡(luò)數(shù)字量輸入: NI1 到 NI64
網(wǎng)絡(luò)模擬量輸入: NAI1 到 NAI32
網(wǎng)絡(luò)數(shù)字量輸出: NQ1 到 NQ64
網(wǎng)絡(luò)模擬量輸出: NAQ1 到 NAQ16
S7-200 SMART 通信端口以及連接方式
每個 S7-200 SMART CPU 都提供一個以太網(wǎng)端口和一個 RS485 端口(端口0),標(biāo)準(zhǔn)型 CPU 額外支持 SB CM01 信號板(端口1),信號板可通過 STEP 7-Micro/WIN SMART 軟件組態(tài)為 RS232 通信端口或 RS485 通信端口。
CPU 通信端口引腳分配
1.S7-200 SMART CPU 集成的 RS485 通信端口(端口0)是與 RS485 兼容的9針 D 型連接器。CPU 集成的 RS485 通信端口的引腳分配如表1. S7-200 SMART CPU 集成 RS485 端口的引腳分配表所示。
表1. S7-200 SMART CPU 集成 RS485 端口的引腳分配
連接器 | 引腳標(biāo)號 | 信號 | 引腳定義 |
1 | 屏蔽 | 機(jī)殼接地 | |
2 | 24V 返回 | 邏輯公共端 | |
3 | RS-485 信號 B | RS-485 信號 B | |
4 | 發(fā)送請求 | RTS (TTL) | |
5 | 5V 返回 | 邏輯公共端 | |
6 | + 5V | +5 V,100 Ω 串聯(lián)電阻 | |
7 | +24V | +24 V | |
8 | RS-485 信號 A | RS-485 信號 A | |
9 | 不適用 | 10 位協(xié)議選擇(輸入) | |
外殼 | 屏蔽 | 機(jī)殼接地 |
2.標(biāo)準(zhǔn)型 CPU 額外支持 SB CM01 信號板,該信號板可以通過 STEP 7-Micro/WIN SMART 軟件組態(tài)為 RS485通信端口或者 RS232 通信端口。表 2. 給出了 SB CM01 信號板的引腳分配 。
表2. S7-200 SMART SB CM01 信號板端口(端口1)的引腳分配表
連接器 | 引腳標(biāo)號 | 信號 | 引腳定義 |
1 | 接地 | 機(jī)殼接地 | |
2 | Tx/B | RS232-Tx/RS485-B | |
3 | 發(fā)送請求 | RTS (TTL) | |
4 | M接地 | 邏輯公共端 | |
5 | Rx/A | RS232-Rx/RS485-A | |
6 | + 5V | +5 V,100 Ω 串聯(lián)電阻 |
使用STEP 7-Micro/WIN SMART 軟件組態(tài) SB CM01 信號板為 RS485通信端口或者RS232通信端口的過程如圖 1. SB CM01 信號板組態(tài)過程所示。
圖1. SB CM01 信號板組態(tài)過程
EM DP01通訊端口引腳分配
EM DP01 上的 RS485 串行通信接口是一個 RS485 兼容的九針迷你 D型插口,與歐洲標(biāo)準(zhǔn) EN 50170 規(guī)定的 PROFIBUS標(biāo)準(zhǔn)*,下圖介紹了通訊端口的引腳分配。
圖 2. S7-200SMART EM DP01通訊端口的引腳分配
以太網(wǎng)端口連接
S7-200 SMART CPU 的以太網(wǎng)端口有兩種網(wǎng)絡(luò)連接方法:直接連接和網(wǎng)絡(luò)連接。
直接連接 :
當(dāng)一個 S7-200 SMART CPU 與一個編程設(shè)備、 HMI 或者另外一個 S7-200 SMART CPU 通信時,實現(xiàn)的是直接連接。直接連接不需要使用交換機(jī),使用網(wǎng)線直接連接兩個設(shè)備即可,如圖2.通信設(shè)備的直接連接所示。
那里賣西門子S7-200PLC
圖 3. 通信設(shè)備的直接連接
網(wǎng)絡(luò)連接 :
當(dāng)兩個以上的通信設(shè)備進(jìn)行通信時,需要使用交換機(jī)來實現(xiàn)網(wǎng)絡(luò)連接??梢允褂脤?dǎo)軌安裝的西門子 CSM1277 4端口交換機(jī)來連接多個 CPU 和 HMI 設(shè)備,如圖 3. 多個通信設(shè)備的網(wǎng)絡(luò)連接所示。
圖 4.多個通信設(shè)備的網(wǎng)絡(luò)連接
RS485 網(wǎng)絡(luò)連接
RS485 網(wǎng)絡(luò)的傳輸距離和波特率
RS485 網(wǎng)絡(luò)為采用屏蔽雙絞線電纜的線性總線網(wǎng)絡(luò),總線兩端需要終端電阻。RS485 網(wǎng)絡(luò)允許每一個網(wǎng)段的大通信節(jié)點數(shù)為 32 個,允許的大電纜長度則由通信端口是否隔離以及通信波特率大小等兩個因素所決定,見表 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)段中*個通信節(jié)點到后一個節(jié)點的距離。如果網(wǎng)絡(luò)中的通信節(jié)點數(shù)大于 32 個或者通信距離大于 50m 則需要添加 RS485 中繼器拓展網(wǎng)絡(luò)連接。
注意:
● S7-200 SMART CPU 集成的 RS485 端口以及 SB CM01 信號板都是非隔離型,與網(wǎng)段中其它節(jié)點通信時需要做好參考點電位的等電位連接或者使用 RS485 中繼器為網(wǎng)絡(luò)提供隔離。參考點電位不同的節(jié)點通信時可能會導(dǎo)致通信錯誤或者端口燒壞。
● S7-200 SAMRT CPU 與其它節(jié)點聯(lián)網(wǎng)時,可以將 CPU 模塊右下角的傳感器電源的 M 端與其它節(jié)點通信端口的 0V 參考點連接起來做到等電位連接。
RS485 中繼器
RS485 中繼器可用于延長網(wǎng)絡(luò)距離,電氣隔離不同網(wǎng)段以及增加通信節(jié)點數(shù)量。中繼器的作用如下:
1.延長網(wǎng)絡(luò)距離:
網(wǎng)絡(luò)中添加中繼器允許將網(wǎng)絡(luò)再延長 50m ,如果兩臺中繼器連接在一起,中間無其它節(jié)點,則可將網(wǎng)絡(luò)延長 1000m ,一個網(wǎng)絡(luò)中多可以使用 9 個西門子中繼器。如圖 4. 使用 RS485 中繼器拓展網(wǎng)絡(luò)所示。
圖 5. 使用 RS485 中繼器拓展網(wǎng)絡(luò)
注意:
S7-200 SMART CPU自由口通信、Modbus RTU通信和USS通信時,不能使用西門子中繼器拓展網(wǎng)絡(luò)。
2.電氣隔離不同網(wǎng)段:
隔離網(wǎng)絡(luò)可以使參考點電位不相同的網(wǎng)段相互隔離,從而確保通信傳輸質(zhì)量。
3.增加網(wǎng)絡(luò)設(shè)備:
在一個 RS485 網(wǎng)段中,多可以連接 32 個通信節(jié)點。使用中繼器可以向網(wǎng)絡(luò)中拓展一個網(wǎng)段,可以再連接 32 個通信節(jié)點,但是中繼器本身也占用一個通信節(jié)點位置,所以拓展的網(wǎng)段只能再連接 31 個通信節(jié)點。
RS485 網(wǎng)絡(luò)連接器
西門子提供了兩種類型的 RS485 網(wǎng)絡(luò)連接器(如圖 5. RS485網(wǎng)絡(luò)連接器所示),可使用它們輕松地將多臺通信節(jié)點連接到通信網(wǎng)絡(luò)上。一種是標(biāo)準(zhǔn)型網(wǎng)絡(luò)連接器,另一種則增加了可編程接口。帶有可編程接口的網(wǎng)絡(luò)連接器可以將 S7-200 SMART CPU 集成的 RS485 端口所有通信引腳擴(kuò)展到編程接口,其中 2 號、7 號引腳對外提供 24VDC電源,可以用于連接 TD400C 。
圖 6. RS485網(wǎng)絡(luò)連接器
網(wǎng)絡(luò)連接器上兩組連接端子,用于連接輸入電纜和輸出電纜。網(wǎng)絡(luò)連接器上具有終端和偏置電阻的選擇開關(guān),網(wǎng)絡(luò)兩端的通信節(jié)點必須將網(wǎng)絡(luò)連接器的選擇開關(guān)設(shè)置為 On ,網(wǎng)絡(luò)中間的通信節(jié)點需要將選擇開關(guān)設(shè)置為 Off 。典型的網(wǎng)絡(luò)連接器終端電阻和偏置電阻接線如表 4. 網(wǎng)絡(luò)連接器終端和偏置電阻所示。
表 4. 網(wǎng)絡(luò)連接器終端和偏置電阻
使用 SB CM01 信號板可用于連接 RS485 網(wǎng)絡(luò),當(dāng)信號板為終端通信節(jié)點時需要接終端電阻和連接偏置電阻,典型的電路圖如圖 6. SB CM01 信號板終端和偏置電阻接線圖所示。
圖 7. SB CM01 信號板終端和偏置電阻接線
注意:
● 終端電阻用于消除通信電纜中由于特性阻抗不連續(xù)而造成的信號反射。信號傳輸?shù)骄W(wǎng)絡(luò)末端時,如果電纜阻抗很小或者沒有阻抗的話,在這個地方就會引起信號反射。消除這種反射的方法,就是在網(wǎng)絡(luò)的兩端端接一個與電纜的特性阻抗相同的終端電阻,使電纜阻抗連續(xù)。
● 當(dāng)網(wǎng)絡(luò)上沒有通信節(jié)點發(fā)送數(shù)據(jù)時,網(wǎng)絡(luò)總線處于空閑狀態(tài),增加偏置電阻可使總線上有一個確定的空閑電位,保證了邏輯信號 “0”、“1” 的穩(wěn)定性。
RS232 連接
RS232 網(wǎng)絡(luò)為兩臺設(shè)備之間的點對點連接,大通信距離為15m,通信速率大為 115.2 Kbit/s 。RS232 連接可用于連接掃描器、打印機(jī)、調(diào)制解調(diào)器等設(shè)備。SB CM01 信號板通過組態(tài)可以設(shè)置為 RS232 通信端口,典型的 RS232 接線方式如圖 7. SB CM01 信號板 RS232 連接圖所示。
圖 8. SB CM01 信號板 RS232 連接
S7-200 SMART CPU之間的以太網(wǎng)通信
S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可實現(xiàn)CPU、編程設(shè)備和HMI(觸摸屏)之間的多種通信:
— CPU與編程設(shè)備之間的數(shù)據(jù)交換。
— CPU與HMI之間的數(shù)據(jù)交換。
— CPU與其他S7-200 SMART CPU之間的PUT/GET通信。
S7-200 SMART CPU 以太網(wǎng)連接資源如下:
— 1個連接用于與STEP7 Micro/Win SMART軟件的通信。
— 8個連接用于CPU與HMI之間的通信。
— 8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET主動連接
— 8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET被動連接
PUT/GET 指令格式
S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之間的以太網(wǎng)通信(PUT/GET 指令格式見 表 1)。PUT/GET 指令只需要在主動建立連接的 CPU 中調(diào)用執(zhí)行,被動建立連接的 CPU不需要進(jìn)行通信編程。PUT/GET 指令中TABLE 參數(shù)用于定義遠(yuǎn)程CPU的 IP地址、本地CPU和遠(yuǎn)程 CPU的數(shù)據(jù)區(qū)域以及通信長度(TABLE 參數(shù)定義見 表 2)。
表 1 PUT和GET 指令:
LAD/FBD | STL | 描述 |
PUT TABLE | PUT 指令啟動以太網(wǎng)端口上的通信操作,將數(shù)據(jù)寫入遠(yuǎn)程設(shè)備。PUT 指令可向遠(yuǎn)程設(shè)備寫入多 212 個字節(jié)的數(shù)據(jù)。 | |
GET TABLE | GET 指令啟動以太網(wǎng)端口上的通信操作,從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。GET 指令可從遠(yuǎn)程設(shè)備讀取多 222 個字節(jié)的數(shù)據(jù)。 |
表 2 PUT和GET 指令的TABLE參數(shù)定義:
字節(jié)偏移量 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0 | D1 | A2 | E3 | 0 | 錯誤代碼4 | |||
1 |
遠(yuǎn)程 CPU的 IP地址 | |||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | 預(yù)留(必須設(shè)置為0) | |||||||
6 | 預(yù)留(必須設(shè)置為0) | |||||||
7 |
指向遠(yuǎn)程 CPU 通信數(shù)據(jù)區(qū)域的地址指針 | |||||||
8 | ||||||||
9 | ||||||||
10 | ||||||||
11 | 通信數(shù)據(jù)長度5 | |||||||
12 |
指向本地 CPU 通信數(shù)據(jù)區(qū)域的地址指針 | |||||||
13 | ||||||||
14 | ||||||||
15 |
1 D :通信完成標(biāo)志位,通信已經(jīng)成功完成或者通信發(fā)生錯誤。
2 A :通信已經(jīng)激活標(biāo)志位。
3 E :通信發(fā)生錯誤,錯誤原因需要查詢 錯誤代碼4。
4 錯誤代碼 :見表 3 PUT 和 GET 指令TABLE 參數(shù)的錯誤代碼。
5 通信數(shù)據(jù)長度 :需要訪問遠(yuǎn)程 CPU通信數(shù)據(jù)的字節(jié)個數(shù),PUT 指令可向遠(yuǎn)程設(shè)備寫入多 212 個字節(jié)的數(shù)據(jù),GET 指令可從遠(yuǎn)程設(shè)備讀取多 222 個字節(jié)的數(shù)據(jù)。
表 3 PUT 和 GET 指令TABLE 參數(shù)的錯誤代碼:
錯誤代碼 | 描述 |
0 | 通信無錯誤 |
1 | PUT/GET TABLE參數(shù)表中存在非法參數(shù):
|
2 | 同一時刻處于激活狀態(tài)的 PUT/GET 指令過多(僅允許 16 個) |
3 | 無可以連接資源,當(dāng)前所有的連接都在處理未完成的數(shù)據(jù)請求(S7-200 SAMRT CPU主動連接資源數(shù)為 8 個)。 |
4 | 從遠(yuǎn)程 CPU 返回的錯誤:
|
5 | 與遠(yuǎn)程 CPU 之間無可用連接:
|
6-9 | 預(yù)留 |
通信資源數(shù)量
S7-200 SMART CPU 以太網(wǎng)端口含有 8 個PUT/GET 主動連接資源和 8 個PUT/GET 被動連接資源。例如:CPU1 調(diào)用 PUT/GET 指令與 CPU2 ~ CPU9 建立8主動連接的同時,可以與 CPU10 ~ CPU17 建立8被動連接(CPU10 ~ CPU17 調(diào)用 PUT/GET 指令),這樣的話 CPU1 可以同時與16臺 CPU(CPU2 ~ CPU17)建立連接。關(guān)于主動連接資源和被動連接資源的詳細(xì)解釋如下:
1、主動連接資源和被動連接資源
- 調(diào)用 PUT/GET 指令的CPU 占用主動連接資源數(shù);相應(yīng)的遠(yuǎn)程 CPU 占用被動連接資源。
2、8 個PUT/GET 主動連接資源
- S7-200 SMART CPU 程序中可以包含遠(yuǎn)多于 8個PUT/GET 指令的調(diào)用,但是在同一時刻多只能激活 8 個 PUT/GET 連接資源。
- 同一時刻對同一個遠(yuǎn)程 CPU 的多個 PUT/GET 指令的調(diào)用,只會占用本地 CPU的一個主動連接資源和遠(yuǎn)程 CPU的一個被動連接資源。本地 CPU 與遠(yuǎn)程 CPU之間只會建立一條連接通道,同一時刻觸發(fā)的多個 PUT/GET 指令將會在這條連接通道上順序執(zhí)行。
- 同一時刻多能對8個不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 PUT/GET 指令的調(diào)用,第9個 遠(yuǎn)程CPU的PUT/GET 指令調(diào)用將報錯,無可用連接資源。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開。
3、8 個PUT/GET 被動連接資源
- S7-200 SMART CPU 調(diào)用 PUT/GET 指令,執(zhí)行主動連接的同時也可以被動地被其他遠(yuǎn)程 CPU 進(jìn)行通信讀寫。
- S7-200 SMART多可以與被8個不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 建立被動連接。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開。
指令編程舉例
在下面的例子中,CPU1 為主動端,其 IP 地址為192.168.2.100,調(diào)用 PUT/GET 指令;CPU2 為被動端,其 IP 地址為192.168.2.101,不需調(diào)用 PUT/GET 指令,網(wǎng)絡(luò)配置見圖 1 。通信任務(wù)是把 CPU1 的實時時鐘信息寫入 CPU2 中,把CPU2 中的實時時鐘信息讀寫到 CPU1 中。
圖 1 CPU通信網(wǎng)絡(luò)配置圖
1、CPU1 主動端編程
CPU1 主程序中包含讀取 CPU 實時時鐘、初始化 PUT/ GET 指令的 TABLE 參數(shù)表、調(diào)用 PUT 指令和 GET 指令等。
網(wǎng)絡(luò)1:讀取 CPU1 實時時鐘,存儲到 VB100 ~ VB107 。
圖 2 讀取 CPU1 實時時鐘
注:READ_RTC 指令用于讀取 CPU 實時時鐘指令,并將其存儲到從字節(jié)地址 T 開始的 8 字節(jié)時間緩沖區(qū)中,數(shù)據(jù)格式為 BCD 碼。
網(wǎng)絡(luò)2:定義 PUT 指令 TABLE 參數(shù)表,用于將 CPU1 的VB100 ~ VB107 傳輸?shù)竭h(yuǎn)程 CPU2 的VB0 ~ VB7。
圖 3 定義 PUT 指令 TABLE 參數(shù)表
- a.定義通信狀態(tài)字節(jié)
- b.定義 CPU2 IP 地址
- c.定義 CPU2 的通信區(qū)域 ,從 VB0 地址開始
- d.定義通信數(shù)據(jù)長度
- e.定義 CPU1 的通信區(qū)域,從 VB100 地址開始
網(wǎng)絡(luò)3:定義 GET 指令 TABLE 參數(shù)表,用于將遠(yuǎn)程 CPU2 的VB100 ~ VB107 讀取到 CPU1 的 VB0 ~ VB7。
圖 4 定義 GET 指令 TABLE 參數(shù)表
- a.定義通信狀態(tài)字節(jié)
- b.定義 CPU2 IP 地址
- c.定義 CPU2 的通信區(qū)域 ,從 VB100 地址開始
- d.定義通信數(shù)據(jù)長度
- e.定義 CPU1 的通信區(qū)域,從 VB0 地址開始
網(wǎng)絡(luò)4:調(diào)用 PUT 指令和 GET 指令。
圖 5 調(diào)用 PUT 指令和 GET 指令
2、CPU2 被動端編程
CPU2 的主程序只需包含一條語句用于讀取 CPU2 的實時時鐘,并存儲到 VB100 ~ VB107,如圖 6 所示。
圖 6 讀取 CPU2 實時時鐘