專利名稱:服務(wù)和診斷邏輯掃描設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域涉及可編程控制器和系統(tǒng)。
背景技術(shù):
可編程邏輯控制器(PLC)和可編程自動化控制器(PAC)都包含用于控制裝置的各 種系統(tǒng)的操作以使過程自動化的復(fù)雜邏輯樹。這些過程通過可編程邏輯控制器掃描包含在 其中的邏輯程序來進(jìn)行控制。隨著對邏輯程序的掃描的進(jìn)行,取決于如經(jīng)由來自相連裝置 和狀態(tài)指示器的反饋所報導(dǎo)的相連裝置和狀態(tài)指示器的狀態(tài),進(jìn)行不同的操作。當(dāng)具有可編程邏輯控制器或可編程自動化控制器的系統(tǒng)未能或沒有正確工作時, 要確定故障或錯誤的根本原因是非常困難的。由于用戶要求,通常不允許服務(wù)工程師將已 安裝的邏輯程序修改為用于確定異常的已安裝邏輯程序執(zhí)行的根本原因的方法。通常,可 在已安裝邏輯程序中發(fā)現(xiàn)異常邏輯操作。當(dāng)不允許服務(wù)工程師對已安裝邏輯程序進(jìn)行改變 時,診斷和修復(fù)、或調(diào)試問題變得更加困難。目前,服務(wù)工程師試圖對已安裝邏輯程序進(jìn)行調(diào)試的唯一選擇是訪問已安裝程序 內(nèi)的變量、將這些變量變?yōu)椴煌钠仁怪?forcedvalue)、并利用這些迫使值來觀察已安裝 程序邏輯操作。但是,服務(wù)工程師不能修改或更改已安裝邏輯程序的實際邏輯或編程,因此 它們只能測試現(xiàn)有的邏輯程序。因此,需要用于可編程邏輯控制器和可編程自動化控制器以使測試和修復(fù)異常邏 輯操作變得比目前可用的更容易且更便利的改進(jìn)的系統(tǒng)和方法。
發(fā)明內(nèi)容
除了主邏輯程序之外,根據(jù)本發(fā)明一個實施例的可編程邏輯控制器(PLC)或可編 程自動化控制器(PAC)還包括診斷和服務(wù)邏輯程序??删幊踢壿嬁刂破骺稍趯τ谡2僮?運行主邏輯程序與在調(diào)試或測試模式運行診斷和服務(wù)邏輯程序之間切換。診斷和服務(wù)邏輯 程序可連接到與可編程邏輯控制器的主邏輯程序連接的相同裝置,以便它完全起到測試和 調(diào)試可編程邏輯控制器系統(tǒng)操作的功能。在調(diào)試和測試期間,對診斷和服務(wù)邏輯程序所做 的改變不會影響主邏輯程序。在本發(fā)明的另一方面,主邏輯程序與診斷和服務(wù)邏輯程序可同時運行,其中接口 開關(guān)用于控制特定裝置使用哪些邏輯程序指令。根據(jù)本發(fā)明的又一方面,可將在診斷和服務(wù)邏輯程序中所做的改變復(fù)制到主邏輯 編程。在本發(fā)明的再一方面,一種用于操作可編程邏輯控制器系統(tǒng)的方法包括確定測 試或調(diào)試是否是必需的;從主邏輯程序切換到診斷和服務(wù)程序;對可編程邏輯控制器系統(tǒng) 進(jìn)行調(diào)試和測試;切換回到主邏輯程序。本發(fā)明的另一實施例包括在調(diào)試和測試之后、在切換回到主邏輯程序之前,復(fù)制 來自診斷和服務(wù)程序的改變。
形成本公開的一部分的隨附權(quán)利要求中詳細(xì)指出表征本發(fā)明的新穎性的各種特征。為了更好地理解本發(fā)明、通過它的使用獲得的它的操作優(yōu)點和益處,參照附圖和描述內(nèi) 容。附圖意在示出本發(fā)明的許多形式的示例。附圖不是意在示出對進(jìn)行和使用本發(fā)明的所 有方式的限制。當(dāng)然,可對本發(fā)明的各種組件做出改變和替換。本發(fā)明還在于所描述的元 件的子組合和子系統(tǒng)以及它們的使用方法。
圖1是示出根據(jù)本發(fā)明一個實施例的可編程邏輯控制器系統(tǒng)的示意圖;以及圖2是示出本發(fā)明一個實施例的實現(xiàn)的流程圖。
具體實施例方式現(xiàn)在參照附圖,附圖中利用類似的附圖標(biāo)記來表示相同或相關(guān)元件,圖1示意性 地示出根據(jù)本發(fā)明一個實施例的諸如PLC或PAC的控制器10,它具有包含用于操作一個或 多個裝置80的邏輯的已安裝或主邏輯程序20,裝置80通過通信總線40與可編程邏輯控制 器10連接。裝置80可以是電動機或其它機械運動裝置、諸如溫度計、電平檢測器或其它傳 感器的狀態(tài)指示器??刂破?0還包括經(jīng)由開關(guān)25連接到通信總線40和裝置80的診斷和 服務(wù)邏輯程序30。開關(guān)25是用于在主邏輯程序20與診斷和服務(wù)邏輯程序30之間改變的硬件或軟 件開關(guān)。診斷和服務(wù)(D&S)邏輯程序30最初是主邏輯程序20的副本。經(jīng)由開關(guān)25到通 信總線40和裝置80的連接允許在調(diào)試期間就像診斷和服務(wù)邏輯程序30是主邏輯程序20 一樣使用診斷和服務(wù)邏輯程序30,而不會有實際修改主邏輯程序20的風(fēng)險。當(dāng)在主邏輯程序20中檢測到異常操作時,使用開關(guān)25來激活診斷和服務(wù)邏輯程 序30以對程序邏輯進(jìn)行調(diào)試。除了在企圖確定異常邏輯程序操作的根本原因時簡單地迫 使變量值以測試不同的故障理論之外,服務(wù)工程師或其它用戶還可對程序邏輯和操作做出 改變。在調(diào)試期間,可對診斷和服務(wù)邏輯程序30自由地進(jìn)行改變,而不會對主邏輯程序20 有影響,從而也滿足操作人員要求。在如圖1所示的本發(fā)明的另一方面,開關(guān)25可以有效地是與裝置80接口的軟件 開關(guān)。在本發(fā)明的這方面,主邏輯程序20與診斷和服務(wù)邏輯程序30能夠同時活動,并且控 制器10同時操作這兩個邏輯程序20、30。在此情況下,診斷和服務(wù)邏輯程序30不一定是主 邏輯程序20的副本。診斷和服務(wù)邏輯程序30的這種配置的好處是,不可能在主邏輯程序20中實現(xiàn)的 邏輯的調(diào)試片段(section)可在診斷和服務(wù)邏輯程序30中實現(xiàn)。在本發(fā)明的這個實施例 的優(yōu)點的一個示例中,可在診斷和服務(wù)邏輯程序30中使用比主邏輯程序20中更短的采樣 周期。例如,更短的采樣周期允許采集更多關(guān)于一個或多個裝置80狀態(tài)的信息。在又一示 例中,可在診斷和服務(wù)邏輯程序30中實現(xiàn)否則無法添加到主邏輯程序20中的數(shù)據(jù)記錄片 段。因此,可利用診斷和服務(wù)邏輯程序30來采集否則系統(tǒng)10無法單獨利用主邏輯程序10 獲得的關(guān)于裝置80的數(shù)據(jù)。并且,在診斷和服務(wù)邏輯程序30與主邏輯程序同時操作的本發(fā)明的又一方面中, 診斷和服務(wù)邏輯程序30包含主邏輯程序20中不存在并且無法添加的用于響應(yīng)特定指令或指令集來評價特定系統(tǒng)的測試代碼片段。不管控制器30的配置如何,如果調(diào)試顯示變化的程序邏輯形式的解決方案,則可 將該解決方案從診斷和服務(wù)邏輯程序30復(fù)制到主邏輯程序20以實現(xiàn)這些變化。當(dāng)程序 20,30存儲在諸如FPGA、EEPROM或可編程邏輯控制器10內(nèi)的其它可編程裝置的相同或獨 立存儲器或其它IC中時,可利用計算機命令或函數(shù)來實現(xiàn)復(fù)制?;蛘?,可用診斷和服務(wù)邏 輯程序中所做的改變來手動地更新主邏輯程序20。圖2中示出根據(jù)本發(fā)明一個實施例的方法。過程從100開始,此時做出關(guān)于是否 需要診斷和服務(wù)邏輯程序30的確定110。如果不需要診斷和服務(wù)邏輯程序30,則運行200 主邏輯程序,并且自動化系統(tǒng)正常運行,直到確定110需要診斷和服務(wù)邏輯程序為止。一旦確定存在需要,則利用例如開關(guān)25來使診斷和服務(wù)程序活動120,以便任何 相連裝置80隨后將響應(yīng)來自診斷和服務(wù)程序的輸出。然后,用戶或服務(wù)工程師可訪問可編 程邏輯控制器并根據(jù)需要修改診斷和服務(wù)程序,以便測試、調(diào)試 140并確定可編程邏輯控 制器程序邏輯內(nèi)識別的或系統(tǒng)本身所具有的任何問題的修復(fù)方案(fix)。在通過調(diào)試140確定修復(fù)方案之后,實際上,服務(wù)工程師可利用診斷和服務(wù)邏輯 程序來論證這些修復(fù)方案。如果修復(fù)方案得到認(rèn)可,則可將它們復(fù)制160到主邏輯程序中 以便用修復(fù)的版本替代該邏輯,或者可手動地修訂主邏輯程序,然后使主邏輯程序再次活 動180,并且隨后運行或掃描200主邏輯程序以控制裝置80。在這個實施例的一個變型中,當(dāng)診斷和服務(wù)邏輯程序僅僅運行以測試控制邏輯的 不同方面、但是對邏輯程序的實際改變不是必需時,則用戶可直接進(jìn)行到切換回到使主邏 輯程序活動180并繼續(xù)掃描200主程序邏輯20。在本發(fā)明的另一備選實施例中,可在主邏輯程序20中并入撤消功能,其中復(fù)制當(dāng) 前狀態(tài)的主邏輯程序20并將其保存在存儲器中,以便可以撤消任何改變。即,可通過將主 邏輯程序的剛剛的之前版本從存儲器寫回到修改的工作版本來簡單地取消不想要的改變。 在這個實施例的一個變型中,主邏輯程序20可包括版本控制,由此保留主邏輯程序20的不 同版本,使得一旦測試到并可丟棄非永久改變,便可回復(fù)或回滾到較早版本。盡管參照優(yōu)選實施例描述了本發(fā)明,但在不背離本發(fā)明的技術(shù)范圍的情況下,本 發(fā)明所屬領(lǐng)域技術(shù)人員可對這些實施例做出各種改變或替換。本文描述并在附圖中示出的診斷和服務(wù)程序系統(tǒng)和方法的構(gòu)造和布置只是說明 性的。盡管本公開中只詳細(xì)描述了本發(fā)明的幾個實施例,但閱讀本公開的本領(lǐng)域技術(shù)人員 將容易地明白,在不實質(zhì)背離隨附權(quán)利要求中敘述的主題的新穎教導(dǎo)和優(yōu)點的情況下,可 以有許多修改(例如,各種元件的大小、尺寸、結(jié)構(gòu)、形狀和比例、參數(shù)值、安裝布置、材料使 用、方位等的變化)。因此,所有這些修改要包含在如隨附權(quán)利要求定義的本發(fā)明的范圍內(nèi)。 任何過程或方法步驟的次序或順序可根據(jù)備選實施例而改變或重新排序。在權(quán)利要求中, 任何部件加功能從句意在涵蓋本文作為執(zhí)行所述功能描述的結(jié)構(gòu),不僅涵蓋結(jié)構(gòu)等效物, 還涵蓋等效結(jié)構(gòu)。在不背離如隨附權(quán)利要求中表述的本發(fā)明的實施例的精神的情況下,可 在優(yōu)選和其它示范性實施例的設(shè)計、工作狀態(tài)和布置中進(jìn)行其它替換、修改、改變和省略。 因此,本發(fā)明的技術(shù)范圍不僅包含上文描述的那些實施例,而且還包含落在隨附權(quán)利要求 范圍內(nèi)的所有實施例。
權(quán)利要求
一種便于調(diào)試和測試的可編程控制器,包括主邏輯程序,包含用于控制至少一個裝置的指令;診斷和服務(wù)邏輯程序,它是所述主邏輯程序的副本;以及與所述主邏輯程序與診斷和服務(wù)邏輯程序連接的開關(guān),用于選擇所述主邏輯程序與診斷和服務(wù)邏輯程序之一來將指令發(fā)送到所述至少一個裝置。
2.如權(quán)利要求1所述的可編程控制器,還包括位于所述主邏輯程序與診斷和服務(wù)程序 之間的通信路徑,用于在所述診斷和服務(wù)程序與主邏輯程序之間復(fù)制編程。
3.如權(quán)利要求1所述的可編程控制器,其中所述開關(guān)是硬件開關(guān)和軟件開關(guān)之一。
4.如權(quán)利要求1所述的可編程控制器,還包括連接到所述開關(guān)的通信總線,用于將命 令從所述主邏輯程序與診斷和服務(wù)邏輯程序中的選定程序發(fā)送到所述至少一個裝置。
5.如權(quán)利要求1所述的可編程控制器,其中所述開關(guān)包括以下開關(guān)之一所述控制器 上的開關(guān),以及連接在所述診斷和服務(wù)邏輯程序、主邏輯程序和所述至少一 個裝置之間的 接口開關(guān)。
6.如權(quán)利要求1所述的可編程控制器,其中所述主邏輯程序與所述診斷和服務(wù)邏輯程 序同時操作。
7.一種用于為可編程控制器服務(wù)的方法,包括使具有與所述可編程控制器上的主邏輯程序相同的編程邏輯的診斷和服務(wù)邏輯程序 活動以與至少一個相連裝置通信;利用所述診斷和服務(wù)邏輯程序?qū)λ隹删幊炭刂破鬟M(jìn)行調(diào)試;以及在調(diào)試之后,使所述主邏輯程序再次活動。
8.如權(quán)利要求7所述的方法,還包括將對所述診斷和服務(wù)邏輯程序所做的改變復(fù)制 到所述主邏輯程序,然后使所述主邏輯程序再次活動。
9.一種用于為可編程控制器服務(wù)的方法,包括通過對所述可編程控制器上的邏輯程序的編程邏輯進(jìn)行改變來對所述可編程控制器 進(jìn)行調(diào)試;在調(diào)試之后,恢復(fù)所述編程邏輯。
10.如權(quán)利要求9所述的方法,其中恢復(fù)包括以下動作之一撤消所述改變,以及回復(fù) 到所述邏輯程序的之前版本。
全文摘要
提供一種與主機器邏輯程序并行的用于可編程邏輯控制器(PLC)的診斷和服務(wù)邏輯程序。診斷和服務(wù)邏輯程序具有與主機器邏輯程序相同的功能性,但可修改并與主機器邏輯程序獨立地操作以測試和調(diào)試故障主機器邏輯程序。PLC可在程序之間切換以進(jìn)行測試和調(diào)試。
文檔編號G05B19/05GK101861553SQ200880112601
公開日2010年10月13日 申請日期2008年8月21日 優(yōu)先權(quán)日2007年10月17日
發(fā)明者D·H·米勒, F·默瑟, J·波佩拉斯 申請人:通用電氣智能平臺有限公司