
臨夏西門子授權PLC模塊總代理臨夏西門子授權PLC模塊總代理1. PRODAVE 簡介
PLC具有高的可靠性,一般用來執行現場的控制任務,但是它的人機接口功能較差。
PLC與個人計算機(PC)通過通信連接起來,用PC作為上位計算機,實現系統的監控、人機接口,以及與上一級網絡(例如工業以太網)的通信等功能,可以使二者的優勢互補,組成一個功能強、可靠性高、的控制系統。因此在工業控制系統中,PC與PLC之間的通信是常見和重要的通信之一。
實現計算機與PLC通信簡便的方法是使用計算機上運行的組態軟件,例如西門子公司的WinCC或國產的組態軟件。組態軟件與現場設備(例如PLC)之間的通信程序是由組態軟件生產廠家開發的,用戶只需要設置一些通信參數,就可以實現上位計算機與現場設備之間的通信,通信的雙方都不需要編寫通信程序。但是每個系統都需要購買組態軟件,費用較高。有的組態軟件不能滿足用戶的某些特殊要求。
S7-300400的MPI(多點接口)和S7-200的PPI(點對點接口)用于西門子公司控制產品之間的通信,例如安裝在PC上的STEP7編程軟件與PLC之間的通信,但是這些通信協議均未公開。
PRODAVE是用于PC與S7系列PLC之間的數據鏈接通信的工具箱,可以用于S7-200、S7-300400、M7和C7等西門子PLC。通過下列硬件,可以在S7PLC與PC之間方便地建立數據鏈接(見圖14-59):
1)用于PC的MPI通信處理器,例如CP5511、CP5611和CP5613,通信速率高12Mbits。
2)用于S7-300400的PCMPI適配器或USBMPI適配器。
3)用于S7-200的PCPPI編程電纜。
圖14-59 PC與PLC的連接方式
用PRODAVE來實現上位計算機與S7系列PLC的通信是很方便的。PRODAVE的動態鏈接庫(DLL)提供了大量的基于Windows操作系統的DDL函數,供用戶解決PLC與PC 之間的數據交換和數據處理問題。可以在VB或VC等編程環境中調用這些函數,來建立或斷開通信連接,讀寫CPU的系統存儲器,方便地實現計算機與S7-300400的點對點通信。
PRODAVE有以下特點:
1)使用簡單方便,編程人員不需要熟悉復雜的通信協議,通過調用PRODAVE提供的動態鏈接庫(DLL)中的函數就可以實現通信。
2)上位計算機用通信函數直接讀寫PLC中的數據,不用編寫PLC的通信程序。
3)如果使用PCMPI適配器或用于PC的通信處理器作通信接口,它們同時還可以兼作編程軟件與PLC的通信接口。
PRODAVE的使用方法可以參閱隨書光盤中的有關用戶手冊。
PRODAVE的函數分為基本函數、數據處理函數和電話服務函數(TeleService Functions)。
基本函數用于建立、斷開和PC與PLC的連接,以及讀、寫PLC中的各種數據。數據處理函數用于PC中用戶數據的轉換和處理,與PC和PLC之間的通信沒有直接的關系。電話服務函數用于PC通過電話線與PLC建立連接,本節主要介紹基本函數。
2. 建立與斷開連接的函數
1)load_tool用于建立上位機與PLC的連接,初始化適配器,檢查是否安裝了驅動程序,初始化參數地址,選中的通信接口。
2)unload_tool用于在通信結束時斷開PC與PLC的連接,否則可能引起上位機死機,或者造成上位機系統的異常狀況。
3)new_ss用來PLC與PGPC的連接,也可以用它來重新建立已經關閉的連接。如果只有一個連接,不必使用new_ss函數。
3. 讀取PLC字節的函數
函數X_field_read用于讀取PLC的X地址區中從地址no開始的amount個字節的數據,將它們存放在PC的數組變量value中。其中的X可取e(輸入I)、a(輸出Q)和m(位存儲器M)。e和a是德語的縮寫。
4. 寫PLC字節的函數
這類函數將存放在PC的數組變量value中的數據寫入PLC的X地址區從地址no開始的amount個字節中,X可以取a和m。
5. 讀寫數據塊的函數
1)d_field_read 讀取PLC的db數據塊中從地址no開始的amount個字節的數據,將它們存放在PC的數組變量value中。
2)d_field_write將存放在PC的數組變量value中的amount個字節的數據,寫入PLC的db數據塊中從地址no開始的區域。
3)db_readwrite 函數中各變量的意義與d_field_readwrite的類似,區別在于amount 以字為單位。
6. 讀定時器計數器字
X_field_read 讀取從地址 no 開始的 amount 個定時器或計數器的當前值,將它們存放在PC的數組變量value中。X可以取t(定時器)和z(計數器)。z是德語的縮寫。
7.寫計數器字
z_field_write 將存放在PC的數組變量value 中的 amount個字的數據,寫入PLC從地址no 開始的的計數器區,改寫的是計數器的當前值。
8.讀寫混合數據
mix_read多可以讀取PLC的20個數據,mix_write多可以向PLC寫20個數據。需要指明每個數據的地址區類型、長度(字節或字)和地址。
9. 標志狀態測試
mb_bittest 檢測PLC內地址為no的標志(即位存儲器)字節MB中的bitno位。返回值value與該位的01狀態相同。
10.置位復位標志
mb_setbit和mb_resetbit分別將PLC中地址為no的MB的bitno位置位和復位。
11. 其他通信函數
ag_info用于讀取PLC的信息,ag_zustand用于讀取PLC的狀態,db_buch用于檢測某數據塊是否存在。
12. 數據處理函數
PRODAVE為了方便用戶,在komfort.dll中還提供了與通信無關的數據處理函數,例如位數據與字節數據的轉換函數,浮點數格式轉換函數,高低字節交換函數,位測試函數和錯誤信息函數等。
作者曾在某水電站控制系統中將PRODAVE用于S7-300與上位計算機的通信。
1 引言
可編程序控制器是以微處理器為基礎,綜合計算機、通信、聯網以及自動控制技術而開發的新一代工業控制裝置。可編程序控制器在我國的發展與應用已有30多年的歷史,現在它已經廣泛應用于國民經濟的各個工業生產領域,成為提高傳統工業裝備水平和技術能力的重要設備和強大支柱。隨著**一體化經濟的發展,努力發展可編程序控制器在我國的大規模應用,形成具有自主知識產權的可編程序控制器技術,應該是廣大技術人員努力的方向。
2 可編程序控制器的發展歷程
可編程序控制器問世于 20 世紀 60 年代,當時的可編程序控制器功能都很簡單,只有邏輯、定時、計數等功能;硬件方面用于可編程序控制器的集成電路還沒有投入大規模工業化生產, CPU 以分立元件組成;存儲器為磁心存儲器,存儲容量有限;用戶指令一般只有二三十條,還沒有成型的編程語言;機型單一,沒有形成系列。一臺可編程序控制器多只能替代200~300個繼電器組成的控制系統,在體積方面,與現在的可編程序控制器相比,可以說是龐然大物。
進入70年代,隨著中小規模集成電路的工業化生產,可編程序控制器技術得到了較大的發展。可編程序控制器功能除邏輯運算外,增加了數值運算、計算機接口、模擬量控制等;軟件開發有自診斷程序,程序存儲開始使用EPROM ;可靠性進一步提高,初步形成系列,結構上開始有模塊式和整體式的區分,整機功能從專用向通用過渡。
70年代后期和80年代初期,微處理器技術日趨成熟,單片微處理器、半導體存儲器進入工業化生產,大規模集成電路開始普遍應用。可編程序控制器開始向多處理器發展,使可編程序控制器的功能和處理速度大為增強,并具有通信和遠程 I/O 能力,增加了多種特殊功能,如浮點運算、三函數、查表、列表等,自診斷和容錯技術也迅速發展。
80年代后期到90年代中期,隨著計算機和網絡技術的普及應用,大規模集成電路、門陣列以及專用集成電路的迅速發展,可編程序控制器的CPU已發展為由16位或32位微處理器構成,處理速度得到很大提高,高速計數、中斷、PID、運動控制等功能引入了可編程序控制器。使得可編程序控制器能夠滿足工業生產過程的各個領域,可編程序控制器已完全取代了傳統的邏輯控制裝置,模擬量儀表控制裝置和以小型機為核心的DDC(直接數字控制)控制裝置。由于聯網能力增強,既可和上位計算機聯網,也可以下掛 FLEX I/O 或遠程 I/O ,從而組成分布式控制系統(DCS)已無困難。梯型圖語言和語句表語言完全成熟,基本上標準化,SFC(順序功能圖)語言逐步普及,專用的編程器已被個人計算機和相應編程軟件所替代,人機界面裝置日趨完善,已能進行對整個工廠的監控、管理,并發展了冗余技術,大大加強了可靠性。
進入21世紀,可編程序控制器仍保持旺盛的發展勢頭,并不斷擴大其應用領域,如為用戶配置柔制造系統(FMS)和計算機集成制造系統(CIMS)。目前可編程序控制器主要向兩 個方向擴展:一是綜合化控制系統,它已經突破了原有的可編程序控制器的概念,將工廠生產過程控制與信息管理系統密切結合起來,甚至向上為MES和ERP系統準備了技術基礎,這種發展趨勢會使得舉步為艱的ERP系統有了堅實的技術基礎,從而會帶來工業控制的一場變革,實現真正意義上的電子信息廠;二是可編程序控制器異軍突起,體積如手掌大小,功能可覆蓋單體設備及整個車間的控制功能,并具備聯網功能,這種微型化的可編程序控制器使得控制系統可將觸延伸到工廠的各個落。隨著世界經濟一體化進程的加快,在技術發展的同時,發達國家加注重了對可編程序控制器的知識產權的保護,大型可編程序控制器制造商紛紛加入了可編程序控制器的標準化組織,他們利用許多技術標準建立了符合他們經濟利益的技術保護壁壘。
6ES72111BE400XB0 CPU 1211C AC/DC/Rly,6輸入/4輸出,集成2AI 6ES72111AE400XB0 CPU 1211C DC/DC/DC,6輸入/4輸出,集成2AI 6ES72111HE400XB0 CPU 1211C DC/DC/Rly,6輸入/4輸出,集成2AI 6ES72121BE400XB0 CPU 1212C AC/DC/Rly,8輸入/6輸出,集成2AI 6ES72121AE400XB0 CPU 1212C DC/DC/DC,8輸入/6輸出,集成2AI 6ES72121HE400XB0 CPU 1212C DC/DC/Rly,8輸入/6輸出,集成2AI 6ES72141BG400XB0 CPU 1214C AC/DC/Rly,14輸入/10輸出,集成2AI 6ES72141AG400XB0 CPU 1214C DC/DC/DC,14輸入/10輸出,集成2AI 6ES72141HG400XB0 CPU 1214C DC/DC/Rly,14輸入/10輸出,集成2AI 6ES72151BG400XB0 CPU 1215C AC/DC/Rly,14輸入/10輸出,集成2AI/2AO 6ES72151AG400XB0 CPU 1215C DC/DC/DC,14輸入/10輸出,集成2AI/2AO 6ES72151HG400XB0 CPU 1215C DC/DC/Rly,14輸入/10輸出,集成2AI/2AO 6ES72171AG400XB0 CPU 1217C DC/DC/DC,14輸入/10輸出,集成2AI/2AO