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存儲器中了: