當前位置:編程學習大全網 - 編程語言 - 西門子PLC之間的通訊是怎麽完成的?

西門子PLC之間的通訊是怎麽完成的?

S7-200通信最經濟的方式就是采用PPI協議和自由口通信協議。對於S7-200之間進行通信,PPI協議又更適合——它比自由口通信的編程更簡單!下面就對這個PPI通信進行說明——以2臺S7-200通信為例,做壹個實例。

設備配置:1臺S7-200 CPU 226CN的PLC、 1臺S7-200 CPU 224XP的PLC

硬件連接:原則上需要配備1條紫色的Profibus電纜、2個黑色的Profibus-DP接頭。如果需要在PLC通信時對所有在線的PLC進行監控/編程操作而不占用另外的通信口(也就是說,假如所有PLC用端口PROT1進行PPI通信,而現在要對所有PLC依次編程/監控,但又不想占用這些PLC的端口PROT0——端口PROT0可能已作它用),那麽必須在其中1臺PLC采用帶編程口的Profibus-DP接頭。所以說,帶編程口的Profibus-DP接頭在整個網絡中只需要壹個就可以了。這樣,也就可以在某壹臺PLC處對在網的其它PLC進行編程/監控。

引腳分配:

........S7--200 CPU上的通訊端口是符合歐洲標準EN 50170中PROFIBUS標準的RS--485兼容9針D型連接器。下表列出了為通訊端口提供物理連接的連接器,並描述了通訊端口的針腳分配。下面是S7-200的通信接口——D型9孔母頭的引腳定義。

網絡電纜的偏壓電阻和終端電阻

為了能夠把多個設備很容易地連接到網絡中,西門子公司提供兩種網絡連接器:壹種標準網絡連接器(引腳分配如表7-7所示)和壹種帶編程接口的連接器,後者允許您在不影響現有網絡連接的情況下,再連接壹個編程站或者壹個HMI設備到網絡中。帶編程接口的連接器將S7--200的所有信號(包括電源引腳)傳到編程接口。這種連接器對於那些從S7--200取電源的設備(例如TD200)尤為有用。兩種連接器都有兩組螺釘連接端子,可以用來連接輸入連接電纜和輸出連接電纜。兩種連接器也都有網絡偏置和終端匹配的選擇開關。典型的網絡連接器偏置和終端如圖所示:

........處於中間節點的從站在不工作時可以斷電。

PROFIBUS電纜的接法

........PROFIBUS電纜,紫色,只有兩根線在裏面,壹根紅的壹根綠的,然後外面有屏蔽層,接線的時候,要把屏蔽層接好,不能和裏面的電線接觸到,要分清楚進去的和出去的線分別是哪個,假如是壹串的,就是壹根總線下去,中間不斷地接入分站,這個是很常用的方法,在總線的兩頭的兩個接頭,線都要接在進去的那個孔裏,不能是出的那個孔,然後這兩個兩頭的接頭,要把它們的開關置為ON狀態,這時候就只有進去的那個接線是通的,而出去的那個接線是斷的,其余中間的接頭,都置為OFF,它們的進出兩個接線都是通的(我覺得德國人真的是和我們的思維不同,我覺得應該是OFF表示關閉吧,他偏設置ON為關閉,搞不懂)。這就是線的接法,接好了線以後呢,還要用萬用表量壹量,看這個線是不是通的。假如妳這根線上只有壹個接頭,妳量它的收發兩個針上面的電阻值,假如是220歐姆,那麽就是對的,假如妳這根線已經做好了,連了壹串的接口,妳就要從壹端開始逐個檢查了。第壹個單獨接線的接口,是ON狀態,然後妳把鄰近的第壹個接口的開關也置為ON,那麽這個接口以後的部分就斷了(出口的線已經被關掉了啊~)現在測最邊上,就是單線接的那個接口,之後的東西壹直都是測這個接口,測它的收發兩個針,和剛才壹樣,假如電阻是110歐姆(被並聯了),那麽這段線路就是通的,然後把中間剛才那個改動為ON的接口改回到OFF,然後是下壹個接口改為ON,。。。。。。就這麽測下去,哪個的電阻不是110歐姆了,就是那壹段的線路出問題了。

........PROFIBUS網絡電纜(西門子產品號:6XV1 830-0EH10),波特率為100Kbps以下時也可使用普通雙絞線(截面積不小0.22平方毫米)。 原則上綠色接RS485信號負(對應Profibus接頭的A1)、紅色接RS485信號正(對應Profibus接頭的B1)。當然,統壹反著接也可以——綠色接RS485信號正(對應Profibus接頭的B1)、紅色接RS485信號負(對應Profibus接頭的A1)。不要交叉就行。

Profibus-DP現場總線電纜電纜:用於Siemens公司支持的Profibus-DP總線系統。

●能夠對應12Mbps的高速傳送,充分發揮PROFIBUS-DP的功能。

●鋁箔PET帶和高密度編織的雙層屏蔽使抗幹擾性能出色,通信的傳送質量穩定。

●護套使用了柔軟性和耐油、耐熱性能良好的無鉛聚氯乙烯混合物。

●護套的顏色以紫色(RAL001)為標準色。

........德國LAPP UNITRONICO BUS L2/FIP:實心裸銅絲導體,2芯絞合成對,芯線顏色為紅+綠。 鋁箔屏蔽後加裸銅絲編織,PVC外護套,阻燃,符合VDE 0472第804部份,B類試驗(IEC 332.1),紫色(RAL4001)。

........傳輸速率決定允許的總線電纜最大長度如下:

PROFIBUS-DP 1.5MBit/s=最長200m

(SIMATIC網) 12.0MBit/s=最長100m

工廠通訊處理層 1.0MBit/s=最長200m

2.5MBit/s=最長200m

........上述參數適用於PROFIBUS-DP及PROFIBUS—FMS總線電纜。

........國產普通屏蔽電纜也可以替代PROFIBUS電纜,沒有問題,實踐證明是可以用的。這樣說吧,使用是沒有問題的,但是是要有些請提條件的,比如西門子給出的多大速率下對應多大的通訊距離,西門子DP電纜沒有問題,但是國產屏蔽電纜就有可能不能用到這麽長的通訊距離。要選用質量好的國產屏蔽電纜。

........為了保證信號的穩定要在DP網絡的兩端接電阻,3和8腳接220電阻,3和VP引腳接390電阻,8腳和DGND腳接390電阻。如果有RS485連接器,就不用自己加終端電阻,RS485連接器中已經自帶終端電阻了。

.......國產屏蔽電纜抗幹擾的能力應該要若壹些,如果是電磁環境很差的地方,例如有交交變頻系統等,建議使用profibus-dp電纜。比較重要的系統中,對通訊安全非常嚴格的話,建議還是使用西門子的profibus-dp電纜。

........上面是官方提到的硬件連接方式, 在實際中,我們可能因為使用情況不同(臨時使用、實驗使用、同壹個電控櫃內使用等),手邊沒有現成的Profibus電纜和Profibus-DP接頭。那麽,在這種情況下就需要自己制作了。下面就簡單說壹下制作方法:

1、不帶編程口的通信線制作:

........有多少個PLC就買多少個D型9針公頭,然後買需要長度的Profibus電纜(實在沒有,買屏蔽雙絞線也可以,不過抗幹擾性沒那麽好喲;近距離的話,隨便用什麽線連接都可以,哪怕是2根單股導線,也沒問題)。通過電纜,把這些D型9針公頭的3腳依次連接在壹起,把這些D型9針公頭的8腳也依次連接在壹起。接線的時候註意點,不要接錯了——筆者就因為疏忽大意接錯線,導致查了幾個小時的故障才發現接線錯了(首先懷疑線錯了,用萬用表打,沒發現問題,暈喲,可能是遇見鬼了;最後把線全拆了,重新焊接即恢復正常)。

........如果通信存在問題,那麽建議把這些D型9針公頭的5腳也接在壹起,強制低電位相等。如果有屏蔽線的話,就接上屏蔽線。屏蔽層接到每臺設備的外殼並最後接大地。

........至於終端電阻和偏置電阻,距離短的話,就可以不接了。不過,雖然不接,也得了解其原理——終端電阻和偏置電阻如17樓圖示。因為PROFIBUS的連接電纜通常采用TYPE A標準,其中的電纜阻抗值最大為165歐,390/220/390的等效電阻是170,是為了實現阻抗匹配。當沒有通訊進行時,終端電阻可以保證信號線間的電壓差。通常加載在終端的電壓為5V,390/220/390使得兩信號線點的電壓值分別為1.95和3.05V,是理想的靜態電壓(差分)。

........官方的PROFIBUS接頭有進線和出線2個口,采用官方的PROFIBUS接頭接線時需要註意:“首站”和“末站”都接進線。

........其實“首站”和“末站”接出也能通信的,但是為了保證通訊的穩定,“首站”和“末站”都要把終端電阻置為ON,這時如果還把“首站”和“末站”接出線,那麽“首站”和“末站”都被終端掉了。所以西門子規定:“首站”和“末站”都接進線。

2、帶編程口的通信線制作:

........先制作不帶編程口的通信線,然後再找壹個D型9孔母頭,與其中壹臺PLC的D型9針公頭壹對壹連接:1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8,9-9。PLC編程電纜(多主站電纜)連接那個D型9孔母頭。這樣,電腦就可以監控那臺PLC了。同時,因為同時也連接到了網內所有PLC,所以也可以監控網內所有PLC。

........註意:無論是否采用西門子原裝的總線電纜和接頭,如果是不帶編程口,那麽就只能監控到1臺PLC而監控不到在網的其它PLC————例如,1臺PLC采用端口PORT1與其他PLC進行通信,而編程電纜連接到了這臺PLC的端口PORT0,那麽在電腦上是無法監控到在網的其它PLC的。因為,電腦的編程電纜的通信線3,8腳和在網的其它PLC都不存在物理連接嘛。

采用了不帶編程口的通信線,PLC插在不是聯網那個通信口上監控,只能看到1臺PLC:

采用了帶編程口的通信線,PLC插在聯網那個通信口上監控,能看到在網的所有PLC:

不過,最好只搜索設定的波特率就可以了,不要搜索所有波特率,否則可能出現問題:

要監控在網的哪臺PLC,需要打開相應的PLC程序,然後搜索出所有的PLC,再把光標置於相應的PLC上,點擊“確定”。然後可以下載和監控那臺PLC:

如果電腦上當前PLC程序和“通信”的當前地址的PLC的程序不同,是無法監控該PLC的。

如果電腦上當前PLC程序“系統塊”中的地址和“通信”的當前地址不同,那麽將無法下載:

下面就來針對dingqw1234網友的要求做壹個實例:1臺CPU 226CN 作為主站,1臺CPU 224XP作為從站,要把CPU 224XP的輸入點數據全部傳到CPU 226CN裏面。

壹、硬件連接:

........按照上面所說的方法,用到編程口的通信電纜把CPU 226CN和CPU 224XP的端口PORT1連接起來。當然,這個連接口可以隨意組合,不過,根據不同的情況,可能會影響到程序的編制——如果同壹臺PLC的2個編程口的地址不同(要連接多個通信設備或不同的用途,就需要把2個通信口設置為不同的地址),那麽就可能會影響到程序的編制。

二、PLC地址分配:

........編程軟件TEP 7 MicroWIN分配的地址固定是0;程序中PLC的默認地址為2,這個我們要修改;因為該系統中沒有其它設備,例如人機界面/觸摸屏,這裏就把CPU 226CN的PROT0口的地址設為1,把CPU 226CN的PROT1口的地址設為2,把CPU 224XP的PROT0口的地址設為3,把CPU 224XP的PROT1口的地址設為4。

........當然,每個PLC的2個端口可以設置為相同的地址,這樣的好處是:當壹個通信口壞掉時,可以插到另外壹個通信口,而不用更改主站PLC的程序。

........把每個PLC的2個端口設置為不相同的地址,筆者認為這樣做沒有什麽好處(如果妳知道,請告訴筆者,多謝!),只有壞處:當壹個通信口壞掉時,插到另外壹個通信口,需要更改與這臺PLC通信的主站PLC的程序。不過這個例子中筆者這樣分配地址,是做個實驗而已。

三、編程:

........針對上面的控制要求,從站CPU 224XP就不需要編程了,只需要把CPU 224XP的PROT0口的地址設為3,把CPU 224XP的PROT1口的地址設為4並下載系統塊就可以了。這個步驟就不贅述了,地址設置方法請參閱對CPU 226CN的設置。

........下面是對主站CPU 226CN進行編程和系統塊地址設置的步驟。該例中,采用PPI協議進行通信(比自由口通信要簡單得多),而且采用指令向導來編程(比直接設置特殊存儲器SMB、調用NETR和NETW指令要簡單得多)。

........點“設置PG/PC接口”,選中“PC/PPI Cable(PPI)”,點“屬性”,在“本地連接”中選擇妳的編程程電纜的類型——COM1、COM2或是USB;在PPI中勾選“高級PPI”——非西門子官方電纜就不要選了,即使選了也不支持。點擊“確定”——“確定”。

........把編程電纜插到每個PLC,對每個PLC設置指定的地址和設置統壹的波特率——如果電纜質量不好,非原裝電纜,波特率設置不要過高。先點“通信”,然後雙擊“雙擊刷新”。搜索到PLC地址後,設置好當前PLC地址。然後修改系統塊中的PLC端口,按照預設的地址進行修改。最後下載系統塊,把PLC相應端口設置為預設的地址。這個操作比較簡單,我就不在貼圖贅述了。

........把編程電纜插回到D型9孔母頭。點擊“通信”,取消勾選“搜索所有波特率”,然後雙擊“雙擊刷新”:

把光標移動到要監控/下載的PLC上面。如果要編226CN主站,移到地址2,如上圖。

點擊“工具”——“指令向導”,選擇“NETR/NETW”,點擊“下壹步”:

選擇需要配置的操作數量(這個例子為1),點擊“下壹步”:

選擇主站的通信口(本例為端口1),點擊“下壹步”:

選擇讀還是寫(本例為讀),選擇讀幾個數據(本例讀2個數據,IB0-IB1;對於226CN的輸入,應當讀3個數據,IB0-IB2,***24個輸入),選擇PLC的地址(本例為4):

說明:

如果您在配置NETR,指定以下內容:

- 數據存儲在本地 PLC 中的位置。有效操作數:VB、IB、QB、MB、LB。

- 從遠程 PLC 讀取數據的位置。有效操作數:VB、IB、QB、MB、LB。

如果您在配置 NETW,指定以下內容:

- 數據存儲在本地 PLC 中的位置。有效操作數:VB、IB、QB、MB、LB。

- 向遠程 PLC 寫入數據的位置。有效操作數:VB、IB、QB、MB、LB。

點擊“下壹步”:

至此,向導完成。

然後在組程序中調用生成的加密子程序:

然後,下載該程序到PLC中即可。

然後監控程序,如果錯誤輸出為1,那麽是有問題的,表示通信不成功。如下圖,M0.1的值為1:

只有錯誤輸出為0,通信才是成功的(網絡讀寫成功),如下圖:

通信成功以後,重站PLC的輸入就被讀取到主站的VB存儲器中了:

  • 上一篇:對於Python的學習人員需要掌握哪些技術
  • 下一篇:Python都是拿來做運維嗎
  • copyright 2024編程學習大全網