專利名稱:一種不同類型可編程控制器之間的大規模數據傳輸方法
技術領域:
本發明涉及可編程邏輯控制器相關技術領域,特別是一種不同類型可編程控制器 之間的大規模數據傳輸方法。
背景技術:
不同的可編程邏輯控制器(ProgrammabIe Logic Controller,PLC)之間要實現傳 輸可以通過以太網或數據總線在兩個PLC之間增加一臺通信處理計算機,通過計算機實現 兩個PLC的數據通信。如中國專利《一種實現不同品牌PLC之間數據傳輸的方法》(專利號 200810173292. 3)。該專利是基于PR0FIBUS和MODBUS現場總線實現的,其通信模式是采用 在兩個PLC之間增加一臺通信處理計算機,PLC直接與計算機通信,在計算機上進行參數和 地址設置實現PLC之間的通信。但是這樣的使用方式,需要額外增加計算機,一來增加設計 成本,二來在某些特殊場合,需要兩個不同PLC之間直接進行大規模數據復制通信,則現有 技術無法實現。
發明內容
本發明提供一種不同類型可編程控制器之間的大規模數據傳輸方法,以解決現有 技術在不同可編程邏輯控制器之間使用現場總線進行傳輸的傳輸信息容量有限的技術問題。本發明采用如下技術方案
一種不同類型可編程控制器之間的大規模數據傳輸方法,所述可編程邏輯控制器之間 通過現場總線進行連接,所述方法包括
第一可編程邏輯控制器把需要傳輸的第一數據塊進行分解,把第一數據塊分解為一個 或多個固定長度的數據區域;
對每個數據區域進行編號得到可傳輸數據,并發送到第二可編程邏輯控制器; 第二可編程邏輯控制器接收到可傳輸數據,根據編號對多個數據區域進行重組得到第 二數據塊。作為一種優選方案,對每個數據區域進行編號的方法包括
編號采用兩位十六進制的標志字表示,第一位用于標識在同一數據塊中不同的數據區 域,第二位用于標識不同的數據塊。作為進一步的優選方案,所述標志字的第一位根據數據區域的先后順序進行編 號,所述標志字的第二位根據數據塊的傳輸順序進行編號。作為再進一步的優選方案,所述可傳輸數據包括標志字和數據區域。作為更進一步的優選方案,所述標志字設置在數據區域前。作為更進一步的優選方案,所述可傳輸數據的數據長度為固定長度+標志字的長 度。作為更進一步的優選方案,所述固定長度為所述固定長度為該通信方式一次傳送所能容納的最大字長,優選地為62字長。作為更進一步的優選方案,所述可傳輸數據的數據長度為該通信方式一次傳送所 能容納的最大字長加上標志字長度,優選地標志字長度為1字長,則可傳輸數據的數據長 度為63字長。作為一種優選方案,所述方法還包括
在第一可編程邏輯控制器和第二可編程邏輯控制器中設置多于一條的數據鏈路,每條 數據鏈路傳輸一個或多個數據塊,第一可編程邏輯控制器在每個傳輸周期內,順序通過每 條數據鏈路傳輸一個可傳輸數據,第二可編程邏輯控制器在每個傳輸周期,對接收到的每 一個可傳輸數據,根據編號進行重組。作為進一步的優選方案,所述第一可編程邏輯控制器和第二可編程邏輯控制器中 設置不超過10條,優選地為3 5條數據鏈路。本發明通過在發送端進行數據塊拆分傳送,在接收端進行代碼識別后再進行數據 塊組裝還原,實現了在不同PLC之間通過現場總線實現高效可靠的傳輸。
圖1為本發明實施例的系統連接圖; 圖2為本發明實施例的傳輸示意圖。
具體實施例方式下面結合附圖和具體實施例對本發明做進一步詳細的說明。如圖1所示為本發明實施例的系統連接圖。數據傳送說明機組RTU中的變量信息經西門子S5 PLC側的CPM31通訊卡,通過 PR0FIBUS通訊電纜,經S7側的CP342通訊卡送到新加的S7-300 PLC中,然后再由S7-300 PLC與新的MP370顯示屏進行通訊連接并在屏上顯示;而在MP370上進行的控制操作命令 則反過來先送到S7-300 PLC中,再通過CP342及CPM31卡傳送給機組RTU控制執行。但是,由于S5與S7分屬不同系列的PLC,同時由于需要傳送的數據量非常大(需 傳送1000個左右數據字長(DW)),傳送的數據塊必須準確完整的從S5 PLC復制到S7-300 PLC 中。CP5431卡一個數據包一次只能傳送1 個字節(63個字),因此所有數據只能一批 一批的按順序傳送給S7 PLC,根據需傳送數據塊的不同容量并考慮傳送的速度,在CPM31 卡中配置了 5條數據鏈路,相對應在CP342卡中也配置了 5條數據鏈路(具體對應關系見表 1),7個數據塊分別分配到5條數據鏈路中進行通訊傳送。這樣,在一次程序循環中5條數 據鏈路可以按順序發送5個數據包(315個字)給S7 PLC,從而可以提高數據的傳送速度(如 果只設置1條鏈路,一個程序循環只能發送一個數據包即63個字)。
權利要求
1.一種不同類型可編程控制器之間的大規模數據傳輸方法,所述可編程邏輯控制器之 間通過現場總線進行連接,其特征在于,所述方法包括第一可編程邏輯控制器把需要傳輸的第一數據塊進行分解,把第一數據塊分解為一個 或多個固定長度的數據區域;對每個數據區域進行編號得到可傳輸數據,并發送到第二可編程邏輯控制器; 第二可編程邏輯控制器接收到可傳輸數據,根據編號對多個數據區域進行重組得到第 二數據塊。
2.根據權利要求1所述的方法,其特征在于,對每個數據區域進行編號的方法包括 編號采用兩位十六進制的標志字表示,第一位用于標識在同一數據塊中不同的數據區域,第二位用于標識不同的數據塊。
3.根據權利要求2所述的方法,其特征在于,所述標志字的第一位根據數據區域的先 后順序進行編號,所述標志字的第二位根據數據塊的傳輸順序進行編號。
4.根據權利要求3所述的方法,其特征在于,所述可傳輸數據包括標志字和數據區域。
5.根據權利要求4所述的方法,其特征在于,所述標志字設置在數據區域前。
6.根據權利要求4所述的方法,其特征在于,所述可傳輸數據的數據長度為固定長度+ 標志字的長度。
7.根據權利要求1-6任一項所述的方法,其特征在于,所述固定長度為該通信方式一 次傳送所能容納的最大字長。
8.根據權利要求7所述的方法,其特征在于,所述可傳輸數據的數據長度為該通信方 式一次傳送所能容納的最大字長加上標志字長度。
9.根據權利要求1-6任一項所述的方法,其特征在于,所述方法還包括在第一可編程邏輯控制器和第二可編程邏輯控制器中設置多于一條的數據鏈路,每條 數據鏈路傳輸一個或多個數據塊,第一可編程邏輯控制器在每個傳輸周期內,順序通過每 條數據鏈路傳輸一個可傳輸數據,第二可編程邏輯控制器在每個傳輸周期,對接收到的每 一個可傳輸數據,根據編號進行重組。
10.根據權利要求9所述的方法,其特征在于,所述第一可編程邏輯控制器和第二可編 程邏輯控制器中設置不超過10條數據鏈路。
全文摘要
本發明涉及可編程邏輯控制器相關技術領域,特別是一種不同類型可編程控制器之間的大規模數據傳輸方法。一種不同類型可編程控制器之間的大規模數據傳輸方法,所述可編程邏輯控制器之間通過現場總線進行連接,所述方法包括第一可編程邏輯控制器把需要傳輸的第一數據塊進行分解,把第一數據塊分解為一個或多個固定長度的數據區域;對每個數據區域進行編號得到可傳輸數據,并發送到第二可編程邏輯控制器;第二可編程邏輯控制器接收到可傳輸數據,根據編號對多個數據區域進行重組得到第二數據塊。本發明通過在發送端進行數據塊拆分傳送,在接收端進行代碼識別后再進行數據塊組裝還原,實現了在不同PLC之間通過現場總線實現高效可靠的傳輸。
文檔編號G05B19/05GK102073297SQ201110005090
公開日2011年5月25日 申請日期2011年1月12日 優先權日2011年1月12日
發明者盧大勝, 彭煜民, 方峻 申請人:廣州蓄能水電廠