PLC的基礎技術的進展,主要集中在兩個基本方面:執行多任務和程序互換。
所謂執行多任務,就是在一個PLC系統中可同時裝幾個CPU模塊,每個CPU模塊都執行某一種任務,控制與其所執行任務相關的I/O模塊的存取。其實,按照IEC 61131-3的概念,我們應該更確切地稱之為通過多配置執行多任務。例如,三菱電機的小Q系列*多可以在一個機架上插4個CPU模塊;富士電機的MICREX-SX系列*多可以在一個機架上插6個CPU模塊。這些CPU模塊可以是專門用于邏輯控制、順序控制的,也可以是運動控制用的,還可以是做過程控制用的,上述在Windows操作系統的環境下執行PC機任務的模塊,也是供用戶選擇的一種選項。從某種意義上講,這也是一種混合式的控制系統。
PLC的傳統軟件模型包括一個資源,運行一個任務,控制一個程序,且運行于一個封閉系統中。而在IEC 61131-3可編程控制器編程語言標準的軟件模型中,在其*上層把解決一個具體控制問題的完整的軟件概括為一個“配置”。它專指一個特定類型的控制系統,包括硬件裝置、處理資源、I/O通道的存貯地址和系統能力,等同于一個PLC系統的應用程序。在一個由多臺PLC或由多個CPU構成的PLC控制系統中,每一臺PLC或每一個CPU的應用程序就是一個獨立的“配置”。在一個“配置”中可以定義一個或多個“資源”??砂?ldquo;資源”看作能執行IEC程序的處理手段,它反映PLC的物理結構,在程序和PLC的物理I/O通道之間提供了一個接口。只有在裝入“資源”后才能執行IEC程序。一般而言,通常資源放在PLC內,當然它也可以放在其它支持IEC程序執行的系統內。在一個“資源”內可以定義一個或多個任務。任務被配置后可以控制一組程序或功能塊。這些程序和功能塊可以是周期地執行,也可以由一個事件驅動予以執行。
由此可見,該軟件模型足以映像各類實際系統:對于只有一個處理器的小型系統,其模型只有一個配置、一個資源和一個程序,與現在大多數PLC的情況完全相符。對于有多個CPU模塊插裝在同一機架上的中、大型系統,每個CPU模塊被視作一個配置,可由一個或多個資源來描述,而一個資源則包括一個或多個程序。對于分散型系統,包含多個配置,而一個配置又包含多個處理器,每個處理器用一個資源描述,每個資源則包括一個或多個程序。
值得指出的是,近些年來在日本開始流行的多CPU的PLC結構,恰恰是在IEC 61131-3標準頒布后多年之后才問世的。這個PLC結構的革命性變化,顯然是建立在這個軟件模型的 理論基礎上,要不然PLC還是由一個CPU按掃描方式執行一個程序的那種傳統結構。
至于程序互換的問題,至少到目前為止尚是一個努力的方向。只有在每個PLC的供應廠商所提供的PLC產品都真正遵循IEC 61131-3的標準,而且其編程系統的具體實現又切實符合IEC 61131-8《編程語言的應用和實現導則》,并通過PLCopen這個際組織對各種編程語言(LD、SFC、FBD、ST和IL)的一致性測試,還要解決不同PLC的存儲地址資源的對應互換,才有可能實現名副其實的程序互換。