摘要 隨著計算機信息技術、傳感器技術和PLC通訊技術的發展,利用PLC組建的自動生產線和智能生產監控系統,日益受到各個行業的產品生產工廠的青睞。本文所介紹松下PLC 的MEWNET模塊的通訊方式,采用了RS232與PC-Link形式結合的方式:上位PC通過RS232與被設為主站的PLC連接,下位的各個PLC通過RS484以PC-Link的形式連接。這種結合方式的網絡,在功能上克服了PC-Link模式下,下位PLC需要共享有限的鏈接繼電器和鏈接寄存器空間,沒辦法滿足需要同時采集、交換和處理大量數據的PLC網絡的弊端;在成本上,遠遠低于以ET-LAN Unit模塊為基礎的以態網形式的PLC網絡;而且該網絡模式的上位機可在LabVIEW等軟件的支持下構成實時監控界面、下載數據到PLC、到處報表等功能。該網絡形式非常適合于生產企業建立監控系統,以實現在線半成本、成品的測試數據的統計和分析,提高產品質量穩定性,為企業帶來良好的經濟效益。 關鍵字: PLC監控 監控網絡 PC-Link 目前,各*的PLC都具有通訊功能,如松下PLC的FP2系列,可通過多種方式組成PLC網絡,其中較為常用的網路形式是PC-link網絡。不過現有的PLC還局限于邏輯控制與數據采集方面,其本身不具備數據分析能力,不能生產報表或創建數據庫。因此,對于一個完整的自動化生產系統,或者一個完整的工控網絡來說,上位組態可以說是*的。而要實現上位機PC與PLC的大量數據交換,兩者通訊問題是不可回避的。本文主要以松下FP2系列PLC的MEWNET(Multi-wire Link Unit)模塊組網后再與上位PC實時通訊的問題展開討論。 松下FP2系列PLC 支持多種組網方式,除松下公司內部通訊協議的一些組網方式,如PC-link,C-net,S-Link等外,還支持一些開放的通訊方式,如RS232、RS485、Porfubus以及以太網等。實際工作中,在組建PLC的監控網絡時,要從網絡的功能、通訊速度、成本、編程量以及網絡維護等因素加以考慮,可選擇單一通訊方式組網,也可采用多種通訊方式一起,組成能滿足需求的網絡。 要實現一臺PC同時與多臺松下FP2系列PLC通訊,以太網是zui為簡單可靠的方式,這種方式構成的網絡,通訊速度較高,可以達到2Mbp/S的數據量,實時性較強、數據量較大,是一種較佳的組網方式;然而這種方式中,每個PLC都需增加上一個ET-LAN Unit模塊, PC機需求的以太網接口也以相同數量增加。現市場上的ET-LAN Unit價格較高,從而整個網絡造價較高;對一些數據實時性需求不那么高的場合,這種方式無疑是一種浪費。 FP2系列PLC的另一種組網方式 ―― PC-link連接,是先通過MEWNET(Multi-wire Link Unit)模塊把各個PLC以RS485連接起來,設置不同的站號(站號可在有限范圍內,任意不重復地設置),然后再通過編程軟件 FPwin-GR給每個站號分配鏈接數據寄存器和鏈接繼電器,以實現PLC與PLC之間的數據交換,PLC間的數據交換速度可達500Kbs。這種方式的PLC組,如果想實現與上位PC機的通訊,可任選一個PLC做主站(主站站號可在設置范圍內任意設置),將主站的PLC的編程口或com1以RS-232與PC串口相連,由主站的PLC將其它站點上的數據集中到主站,并發送給PC,以實現PC與PLC組之間的數據交換,其速度可以達115.2Kbp/s。具體的各PLC間以PC-link連接后再通過RS232與PC連接的網絡架構圖,即PC-Link 與RS232組合的方式構成的監控網絡,如圖1-1 圖1-1――PC通過RS232與主站連接,所有PLC通過RS485以PC-Link形式連接 以PC-Link 與RS232組合的方式構成的監控網絡,從硬件上降低了網絡的成本。但 PC-Link 組網形式下,各個PLC站點需要共享鏈接數據寄存器與鏈接繼電器,而鏈接數據寄存器與鏈接繼電器的數量很有限 ―― 鏈接數據寄存器總量只有128個字,鏈接繼電器總量也只有64個字 ,因此,站點越多,每個站點能分配到的鏈接數據寄存器與鏈接繼電器數量就越少。雖然在數據傳輸時可以用索引寄存器分時處理數據,但大量數據會擁擠在主站,占用大量的主站的內存,從而大大降低通訊效率,降低數據實時性。所以對于需要快速采集、交換和處理大量數據的PLC組態監控系統,這種處理法顯然是不能滿足要求的。 對于需要快速采集、交換和處理大量數據的PLC組態監控系統來說,要想利用這種低成本的PC-Link與RS232組合的方式,實現PLC監控,必須解決數據量的處理問題。 根據松下MEWNET模塊的開放通訊協議《松下MEWTOCOL通訊協議》,可以輕松的讀取與PC連接的以PC- Link 形式連接的各個PLC上的數據,包括直接通過RS232與PC連接的主站PLC和通過RS485連接的其他各站點PLC。 通訊格式“%01#RDD0000000026**”表示讀取站點“01”上的數據寄存器“DT0”到“DT26”上的數據,而“01”表示與PC相連接的PLC,也就是主站站號(注意:“”為“carriage return”,是“回車”符,即字符串“\r”)。根據《松下MEWTOCOL通訊協議》,把站號代碼“01”改為“02”,即可以讀寫站點“02”上的數據,但實際讀取的結果是沒有任何信息返回。再嘗試其它站點,如“03、04、05……”結果是相同的。也就是說,通過PS232只能讀取PC-Link中與PC直接連接的PLC的數據(該PLC在此處被設為01站),并不能讀取PC-Link 網絡中,通過RS485連接的各站點PLC的數據。 然而使用松下公司的編程軟件FPWIN-GR,可以通過設定通訊站點,輕松地通過RS-232讀取PC-link 網絡各站點PLC的任何數據 ――包括RS484連接的各PLC。站點設置的方法如圖1-2.1和1-2.2: 圖1-2.1 通過點擊“通訊站點”后就出現如圖1-3: 圖1-2.2 以上設置通訊站號的方法,可以輕松地通過RS-232讀取PC-link 網絡各站點PLC的任何數據,可實現程序的上下載,在線監控等。即,編程軟件FPWIN-GR通過編程口以RS-232方式實現了對PC-Link網絡其它站點PLC的通訊。也就是說,存在一種協議,可以使PC成功地讀寫PC-Link網絡的各PLC的數據。只要破解此通訊協議,即可在編寫組態監控系統時,使用該協議直接讀取其它站點的數據,不需要再把其它站點的數據發送給主站,也不需要對站點上的數據作任何處理,從而提高了通訊速率,解決大量數據在主站擁擠,占用了主站大量的內存,數據實時性較差等問題。然而《松下MEWTOCOL通訊協議》對此并沒有作任何說明,所以,要解決該通訊協議問題,需要截取編程軟件FPWIN-GR在運行“通訊站號”,成功讀取其他站點PLC時,與PC串口的通訊數據,進行分析。 為了了解FPWIN-GR在“通訊站號”時串口數據流,可以使用串口通訊數據監控軟件PORTMON.EXE,通過以下操作截取:*步,運行PORTMON.EXE,設置“與PLC通訊的串口進行監控”的各項參數;第二步,運行FPWIN-GR,確定PC與PLC能正常通訊后,通訊站點(如圖:1-2.1,1-2.2);第三步,截取。通訊數據監控軟件截取的界面如圖1-3所示。 圖1-3 在串口通訊數據截取界面上發現,在打開串口后,串口數據流有一串“%%EE#0C174.”并返回“%EE$0C72”“%EE#0C174.”在松下公司公開的《松下MEWTOCOL通訊協議》中并沒有任何說明,該語句只在“通訊站號”設置時才會出現。為了驗證“%EE#0C174”在解決PC讀取除主站外的其他PLC時,為有效的通訊協議語句,進行以下操作:一,關閉FPWIN-GR,并關閉PC-Link的PLC網絡的電源;二,重新上電,運行串口調試助手,發送“%01#RDD0000000026**\r”,結果返回“%01$RC021”(根據《松下MEWTOCOL協議》,“%01$RC021”表示讀取指令執行成功);三,發送“%%EE#0C174” 返回“%EE$0C72”(結果與FPWIN-GR通訊站點讀取其他站點PLC的方法中,串口調試助手所捕捉到的內容相同);四,利用串口調試助手發送“%02#WCSY0030**\r”后,2#的PLC的Y0051狀態變亮,即對2站Y0051的寫操作成功;五,再讀取“02”站點其它數據寄存器的數據,觸發內外繼電器,結果都能實現,可以正常通訊;六,將“02”改為“03;04;05等”,分別讀取其它站點的數據,結果都能一一實現正常通訊。即發送“%%EE#0C174”返回“%EE$0C72”,即可讀取PC-Link網絡上PLC的數據--不但可讀取通過RS232直接與PC連接的PLC,而且還可讀取PC-Link中,其他站點PLC的數據。 即,結論1:要通過RS-232直接讀取PC-link網絡的各個站點的PLC數據,需在讀取其它站點前先發送字符串“%%EE#0C174”, 并正常返回“%EE$0C72.”,觸發開啟網絡功能。。但要注意,此功能非斷電保持,PLC在每次斷電重新啟動后要再次發送此字符串,才能讀寫其它站點數據。 在實現與其它站點通訊后,發送“%01#RDD0000000026**\r”讀取主站上的數據,結果返回錯誤代碼“%01!2403”,證明與PC相連的站點——“01”站(主站),不能再以“%01#RDD0000000026**\r”的格式讀取數據。此時斷開PLC電源,再重新啟動PLC。發送“%01#RDD0000000026**\r”結果有正常數據返回。由此可知,發送“%EE$0C72”,成功讀寫其他站點的PLC,開啟了網絡功能后,直接按照《松下MEWTOCOL協議》的格式,并不能讀寫與PC通過RS232相連的站號為01的PLC的站號,站號“01”失效。 為了解決這個問題,再次運行串口數據監控軟件PORTMON.EXE與FPWIN-GR,如圖1-2.1、圖1-2.2,將“通訊站”選擇“01站點”也就是與PC連接的PLC站號,FPWIN-GR會出現如圖1-4的警告信息: 圖1-4 警告信息顯示此時與PLC通訊出現錯誤,與截取的到的錯誤代碼“%01!2403”一致,均表示為傳輸格式錯誤。將“通訊站點”指回“本站”實現正常通訊,截取到的數據如圖1-5 圖1-5 通過多次試驗發現,使用FPWIN-GR讀寫本站PLC數據時,出現的通訊語句是以“%EE#……”開頭的,并不是《松下MEWTOCOL通訊協議》中陳述的以主站號為代碼為開頭的。“%01#……”。 為驗證“EE”是否為這種網絡模式下的有效主站站號,將原的“%01#RDD0000000026**\r”改成“%EE#RDD0000000026**\r”嘗試讀取主站站點數據,結果為正常返回數據,也就說可以讀取源站數據,再將“%EE#RDD0000000026**\r”改為“%02#RDD0000000026**\r”也可以讀取“02”站點數據,將“02”改為“03;04;05等,分別讀取其它站點的數據,結果都能一一實現正常通訊。 通過進一步的實驗驗證,無論是01站,還是02、03站直接通過RS232與PC連接,在該網絡形式下,需要將源站站號改為“EE”,才可以實現與PC的通訊。由此可得以下結論, 結論2:在發送“%EE#0C174”,啟用了網絡通訊功能后,不能再用主站站號作讀寫操作的站號代碼,如“%01#……”讀寫主站數據,要以“%EE#……”代替主站站號,才能實現與其通訊。經過試驗還發現,在開啟網絡功能后,只要將與PC通過RS232連接的PLC的站號設為EE,無論該站是原來的02、03還是04站, PC都可直接讀寫該PLC。即圖1-1所示的PLC網絡中,需要輸入指令“%EE#0C174”,PC才可以直接讀寫除本站外的PLC,而本站的PLC在開啟網絡功能后,需要將本站站號設為EE,才可以繼續讀寫本站。 綜合了以上試驗結果,以松下FP2系列PLC的MEWNET(Multi-wire Link Unit)模塊組網的PLC監控網絡,需要用 “%EE#0C174”語句開啟網絡通訊功能,以讀取主站之外的PLC數據,而主站PLC的站號,在開啟網絡通訊功能后,需要將主板站號設為EE,才可以再次對主站PLC讀寫,以便實現對整個網絡的PLC的數據的讀寫等操作。 該網絡可以通過VB、VC、Labview 等編程軟件通訊程序的支持,實現與PC-link形式的 的PLC的通訊。再與其它成熟的組態軟件組成二次開發,便可實現功能強大的組態監控系統,該類系統可實現實時監控界面、快速采集、交換和處理大量數據、下載數據到PLC、導出報表等功能,而且硬件成本較,適合于生產企業建立監控系統,以實現在線半成品、成品的測試數據的統計和分析,提高產品質量穩定性,為企業帶來良好的經濟效益。 5. 參考資料: 1) 《松下MEWTOCOL通訊協議》 2) 《FP2和FP2SH硬件手冊》 3) 《FP2串口數據單元硬件手冊》 4) 《FP2計算機通訊模塊硬件手冊》 |
SAMPE中國第二十屆國際先進復合材料展覽會
展會城市:北京市展會時間:2025-06-18