專利名稱:可編程控制器的制作方法
技術領域:
本發(fā)明涉及可編程控制器,特別涉及具有與用戶程序的執(zhí)行需要時間的變動等原
因無關地,都將相互位于前后的輸入輸出更新處理的執(zhí)行間隔設為一定的功能的可編程控制器。
背景技術:
在可編程控制器中,循環(huán)地執(zhí)行輸入輸出更新(refresh)處理、共同處理、用戶程 序執(zhí)行處理、周邊服務處理等一系列的系統(tǒng)處理。這些一系列的系統(tǒng)處理循環(huán)一次的執(zhí)行 需要時間,通常被稱為掃描時間(scan time)或者循環(huán)時間(cycle time)。以下,將其稱為 "循環(huán)時間"。 如本領域工作人員所知那樣,在可編程控制器的運行中,由于各種原因,循環(huán)時間 的值并不一定在每個循環(huán)中成為一定。作為其原因之一,可舉出用戶程序的執(zhí)行需要時間 根據時時刻刻的控制對象設備的狀況而不同的情況。 循環(huán)時間變動意味著相互位于前后的輸入輸出更新處理的執(zhí)行間隔也變動(參
照圖13(a))。在輸入輸出更新處理中,進行通過輸入單元獲取輸入數據,并將其寫入可編程
控制器的規(guī)定的存儲器內的輸入數據存儲區(qū)域中,并將該規(guī)定的存儲器內的輸出數據區(qū)域
中存儲的輸出數據輸出到輸出單元的處理,但相互位于前后的輸入輸出更新處理的執(zhí)行間
隔的變動會直接涉及到輸入輸出響應時間(在輸入單元接收到來自外部設備的信號之后,
輸出單元對外部設備輸出基于上述信號的用戶程序的執(zhí)行結果為止的時間)的變動。 從以往開始,存在在使用了可編程控制器的控制中,對上述的輸入輸出響應時間
的變動帶來影響的循環(huán)時間盡可能成為一定的期望(例如,參照專利文獻1)。 因此,已知具有與用戶程序的執(zhí)行需要時間的變動等原因無關地,都將循環(huán)時間
強制性地設為一定的功能的可編程控制器(參照圖13(b))。另外,在圖13(a) 、(b)的其他
處理包括共同處理、用戶程序執(zhí)行處理、周邊服務處理等。 在這種具有循環(huán)時間一定化功能的可編程控制器中,可設定設為想要一定的目標 的循環(huán)時間(以下,稱為"循環(huán)時間一定時間")。循環(huán)時間一定時間的值被設定為,比在可 編程控制器的運行中所估計的實際循環(huán)時間(一系列的系統(tǒng)處理循環(huán)一次的實際的執(zhí)行 需要時間)長某種程度。 于是,在實際循環(huán)時間比循環(huán)時間一定時間短的情況下,設置實際循環(huán)時間與循 環(huán)時間一定時間之差分的等待時間。由于突發(fā)性的控制狀況等原因,在某一循環(huán)中的實際 循環(huán)時間比循環(huán)時間一定時間長的情況下,在該循環(huán)中循環(huán)時間一定時間被忽略(參照圖 12)。另外,在圖12的其他處理中,包括共同處理、用戶程序執(zhí)行處理、周邊服務處理等。
這樣,雖說是循環(huán)時間一定化功能,但每個循環(huán)、循環(huán)時間不能完全成為一定,在 實際循環(huán)時間超出所設定的循環(huán)時間一定時間的情況下,對于該循環(huán),正在該時刻執(zhí)行的 系統(tǒng)處理(例如,周邊服務處理)不會中斷,而超出循環(huán)時間一定時間而原樣持續(xù)執(zhí)行。這 是因為,強制性地結束執(zhí)行中的系統(tǒng)處理會產生較多不合適的情況的設計上的顧慮。
在可編程控制器的動作模式中,存在執(zhí)行用戶程序的同時基于其執(zhí)行結果而以期 望的運行方式運行控制對象設備的第1動作模式、以及不執(zhí)行用戶程序的第2動作模式。
以往,上述的循環(huán)時間一定時間的設定只能夠在第2動作模式中進行,在第1動作 模式中不能進行。 這是基于如下的歷史背景,(1)循環(huán)時間一定時間的最佳值不僅在實際運行控制
對象設備的同時測量,而且在用戶程序的設計時也能夠某種程度正確地預測,(2) —般在控
制對象設備的安裝時、用戶程序的更新時等進行循環(huán)時間一定時間的設定或設定變更,所
以在控制對象設備的停止狀態(tài)下進行其設定操作就足夠,(3)循環(huán)時間只要在某一范圍內
一定就足夠,其值在嚴格意義下的大小不會成為很大問題,所以缺乏在控制對象設備的運
行中頻繁地進行循環(huán)時間一定時間的設定變更的必要性等。專利文獻1(日本)特開2000-105604 以往,由于控制對象設備變得復雜且高速化等原因,為提高控制對象設備的吞吐 量并提高生產性,傾向于對循環(huán)時間一定時間的值本身也求最佳值。 除此之外,在通過網絡連接可編程顯示器、遠程I/0設備、其池的多臺可編程控制 器等的以往的可編程控制器中,由于各種事件中斷等,存在僅由安裝在該可編程控制器中 的用戶程序的大小,難以唯一地估計實際循環(huán)時間的值的情況。 因此,在以往的可編程控制器中,為了將循環(huán)時間一定時間的值設為最佳化,需要 重復多次以下操作將動作模式作為第2動作模式,進行循環(huán)時間一定時間的擬設定,并在 每次將動作模式切換到第1動作模式之后,執(zhí)行用戶程序的同時試運行控制對象設備,確 認控制對象設備的運行狀態(tài)。 但是, 一般在可編程控制器中,為了將動作模式從第1動作模式切換到第2動作 模式而將控制對象設備從運行狀態(tài)切換到停止狀態(tài),在切換到第2動作模式之前,從防止 危險等的考慮出發(fā),一般在第1動作模式中執(zhí)行與在控制對象設備側的規(guī)定的前處理動作 (取出加熱爐內的機件(work),將線(line)上的產品返回到原來的位置等的處理動作)對 應的連接(interlock)程序,所以一般從運行狀態(tài)切換到停止狀態(tài)需要相應的時間。
因此,在以往的可編程控制器中,為了將循環(huán)時間一定時間的值設為最佳化,在控 制對象設備側重復多次運行狀態(tài)和停止狀態(tài)之間的切換,所以存在需要相當長的時間的問 題。
發(fā)明內容
本發(fā)明是鑒于上述的問題點而完成的,其目的在于,提供一種能夠在短時間內將 循環(huán)時間一定時間的值調整為最佳值的可編程控制器。 關于本發(fā)明的其他目的以及作用效果,通過參照說明書的以下記載,本領域的技 術人員會很容易理解。 認為通過具有以下結構的可編程控制器,能夠解決上述的技術課題。
S卩,該可編程控制器包括外部輸入輸出單元,連接到控制對象設備;用戶存儲
器,用于存儲將控制對象設備以期望的動作方式運行所需的用戶程序;輸入輸出存儲器,用
于存儲與所述外部輸入輸出單元中的外部輸入輸出信號對應的輸入輸出數據;以及系統(tǒng)存
儲器,存儲有用于實現作為該可編程控制器的功能的系統(tǒng)程序。
在所述系統(tǒng)存儲器中存儲的系統(tǒng)程序中,包含有應重復執(zhí)行的一系列的多個系統(tǒng) 處理,并且在這些多個系統(tǒng)處理中,至少包括輸入輸出更新處理、用戶程序執(zhí)行處理、周邊 服務處理。 輸入輸出更新處理,從所述外部輸入輸出單元獲取輸入數據,并將其寫入所述輸 入輸出存儲器的輸入數據存儲區(qū)域中,并且從所述輸入輸出存儲器的輸出數據存儲區(qū)域中 讀取輸出數據,并將其送到所述外部輸入輸出單元。 用戶程序執(zhí)行處理,從所述用戶存儲器依次讀取構成用戶程序的各個命令,并參 照所述輸入輸出存儲器的輸入數據來執(zhí)行上述命令,并根據其執(zhí)行結果來改寫所述輸入輸 出存儲器的輸出數據。 周邊服務處理,包括可響應于通過通信而從規(guī)定的工具裝置到來的指令,變更所 述用戶程序的處理。 作為動作模式,準備可運行所述控制對象設備的可運行模式和不可運行所述控制 對象設備的不可運行模式。 在可運行模式中,重復執(zhí)行所述一系列的多個系統(tǒng)處理。 在不可運行模式中,至少除了所述用戶程序執(zhí)行處理,重復執(zhí)行所述一系列的多 個系統(tǒng)處理。 在所述系統(tǒng)程序中,還包含有時間調整處理,該時間調整處理包括測量處理,在 重復執(zhí)行所述一系列的多個系統(tǒng)處理時,測量從所述輸入輸出更新處理的開始時到應在下 一個輸入輸出更新處理的前一次執(zhí)行的系統(tǒng)處理結束時為止的經過時間,作為實際循環(huán)時 間;判定處理,比較在所述測量處理中測量的實際循環(huán)時間與規(guī)定的循環(huán)時間一定時間,從 而判定哪一個大;以及選擇延遲處理,在所述判定處理中,判定為所述循環(huán)時間一定時間大 于所述實際循環(huán)時間時,使下一個輸入輸出更新處理的開始時刻延遲兩個時間的差分,而 在判定為所述實際循環(huán)時間大于所述循環(huán)時間一定時間時,立即開始下一個輸入輸出更新 處理。 應與所述實際循環(huán)時間比較的所述循環(huán)時間一定時間不僅在所述不可運行模式 中允許變更,在所述可運行模式中也允許變更。 作為可運行模式,準備第1可運行模式和第2可運行模式。 在第l可運行模式(RUN)中,不允許在所述周邊服務處理中的用戶程序的變更,而 重復執(zhí)行所述一系列的多個系統(tǒng)處理。 在第2可運行模式(M0N)中, 一邊允許在所述周邊服務處理中的用戶程序的變更, 一邊重復執(zhí)行所述一系列的多個系統(tǒng)處理。 在不可運行模式(PRG)中,一邊允許在所述周邊服務處理中的用戶程序的變更,
一邊重復執(zhí)行至少除了所述用戶程序執(zhí)行處理的所述一系列的多個系統(tǒng)處理。 并且,應與所述實際循環(huán)時間比較的所述循環(huán)時間一定時間在第1可運行模式中
禁止變更,但在第2可運行模式和不可運行模式中允許變更。 根據這樣構成的可編程控制器,在第2可運行模式中,允許在所述周邊服務處理 中的用戶程序的變更的同時重復執(zhí)行包括輸入輸出更新處理、用戶程序執(zhí)行處理、以及周 邊服務處理的一系列的多個系統(tǒng)處理,而且在該第2可運行模式中,還能夠變更應與所述 實際循環(huán)時間比較的所述循環(huán)時間一定時間。
6
因此,將控制對象設備處于試運行狀態(tài)的情況下,例如通過工具裝置或可編程顯 示器等的操作設備的操作而對循環(huán)時間一定時間進行微調,并且例如監(jiān)視與控制對象設備 的吞吐量相關的適當的參數的值,則能夠找出可在控制對象設備側獲得最佳吞吐量的循環(huán) 時間一定時間,并將其設定作為新的循環(huán)時間一定時間。 此時,通過一并利用用戶程序的改寫功能(例如,所謂在線編輯(on-lineedit) 等)或輸入輸出存儲器的改寫功能(例如,輸入輸出數據的強制設置重置操作等),還能夠 改善用戶程序,以能夠在控制對象設備側獲得最佳吞吐量。 并且,由于上述的循環(huán)時間一定時間的變更操作也可以將控制對象設備維持運行 狀態(tài)(試運行)的狀態(tài)下進行,所以不需要像以往的可編程控制器中那樣,在每次變更操作 時將控制對象設備在運行狀態(tài)和停止狀態(tài)之間進行切換,因此,也不需要伴隨從運行狀態(tài) 到停止狀態(tài)的切換的花費時間的前處理動作,能夠在短時間內實現循環(huán)時間一定時間的最 佳化。 另外,關于循環(huán)時間一定時間和實際循環(huán)時間之間的比較結果,已反映在規(guī)定的 內部標記(例如,在輸入輸出存儲器內存在)中,并通過工具裝置對其進行監(jiān)視的技術也是 已知的,所以根據本發(fā)明,通過利用這樣的技術,能夠在運行中對循環(huán)時間一定時間進行微 調的同時弄清其影響,從而從改善輸入輸出響應性的觀點出發(fā),也能夠找出最佳的循環(huán)時 間一定時間。 這里,關于應與所述實際循環(huán)時間比較的所述循環(huán)時間一定時間,也可以變更為 經由通信或者規(guī)定的操作單元而從外部輸入的新的循環(huán)時間一定時間。 根據這樣的結構,通過從安裝在該可編程控制器的操作單元、或者通過通信而連 接的工具裝置(個人計算機或可編程顯示器等)或其他的可編程控制器,送入新的循環(huán)時 間一定時間,所以能夠對循環(huán)時間一定時間進行設定變更。 另外,關于將這樣送入的新的循環(huán)時間一定時間實際上什么時候反映在與實際循
環(huán)時間之間的比較動作,存在各種想法。最普通的想法是,在送入的時刻立即(從下一個動
作循環(huán)開始)反映。作為其他的想法,可舉出設為在預先決定的定時(例如,在進行了其他
的反映指令操作的定時、在時間上設定的定時、特定的系統(tǒng)處理的執(zhí)行定時等)。 此外,關于應與所述實際循環(huán)時間比較的所述循環(huán)時間一定時間,也可以變更為
根據規(guī)定的算法而在該可編程控制器的內部自動生成的新的循環(huán)時間一定時間。 根據這樣的結構,作為算法,通過任意地采用適合該可編程控制器或者該控制對
象設備的算法,從而能夠設定適合其時時刻刻的控制狀態(tài)的循環(huán)時間一定時間。 另外,關于將這樣在內部生成的新的循環(huán)時間一定時間,實際上什么時候反映在
實際循環(huán)時間之間的比較動作,根據與內部生成動作的執(zhí)行方式之間的關系而存在各種想法。 若設為內部生成動作是單發(fā)式執(zhí)行的動作,則可舉出在其執(zhí)行定時立即反映,或 者與上述的情況相同地那樣,設為在預先決定的定時(例如,進行了其他反映指令操作的 定時、在時間上設定的定時、特定的系統(tǒng)處理的執(zhí)行定時等)。根據這樣的結構,通過在什么 時候或者以什么樣的周期、頻度來進行內部生成動作,能夠進行適合其時時刻刻的控制狀 態(tài)的循環(huán)時間一定時間的設定。 若設為內部生成動作是連續(xù)式或者持續(xù)式執(zhí)行的動作,則考慮在各執(zhí)行定時(換言之,動態(tài)地)反映。根據這樣的結構,能夠始終設定適合其時時刻刻的控制狀態(tài)的循環(huán)時 間一定時間。 作為所述規(guī)定的算法,也可以是基于所述實際循環(huán)時間的過去一定期間或者一定 循環(huán)數個的樣本值中的最大值來生成新的循環(huán)時間的算法。 根據這樣的結構,例如在通過在線編輯進行用戶程序的一部分改寫(追加)的情
況下,能夠自動地進行對適合改寫后的新的用戶程序的循環(huán)時間一定時間的設定變更,不
需要在每次在線編輯操作時,進行循環(huán)時間一定時間的改寫操作的功夫。 此時,也可以在所述實際循環(huán)時間的過去一定期間或者一定循環(huán)數個的樣本值
中,除去超出規(guī)定基準值的樣本值。 根據這樣的結構,能夠避免由于通過突發(fā)式的低頻度的事件中斷等而偶爾在樣本 值中混入異常極大值,從而循環(huán)時間一定時間的值不必要地自動設定為過長的值,由此極 端地傷害輸入輸出響應性的不合適的情況。 另外,在以上說明的本發(fā)明的可編程控制器,包括將運算單元、輸入輸出單元、通 信單元等的基本元素全部容納在共同的殼體而成的一體型(all inone)和將運算單元、 輸入輸出單元、通信單元等的基本元素容納在各自專用的殼體而成的積木單元(building block)型的雙方。 此外,關于周邊服務處理的內容,在一體型和積木單元型,其內容多少不同,但一 般在周邊服務處理中,包括操作單元應對處理,進行在安裝在該可編程控制器的操作單元 或者通過通信而連接的工具裝置之間的指令或數據的交換;通過通信而連接的其他可編程 控制器之間的輸入輸出數據的集中或者事件式發(fā)送接收處理;以及通過通信而連接的從動 裝置(遠程I/0裝置)之間的集中或者事件式發(fā)送接收處理等。 并且,在上述的各個動作模式中,選擇性地允許在周邊服務處理中的用戶程序的 變更的控制是,例如通過在各個模式中選擇性地執(zhí)行在上述的操作單元對應處理中、與相 應的改寫指令命令所對應的處理,能夠容易地實現。 作為其他的解決方法,也可以是所述輸入輸出更新處理被分割為以下處理輸入
更新處理,從所述外部輸入輸出單元獲取輸入數據,并將其寫入所述輸入輸出存儲器的輸
入數據存儲區(qū)域;以及輸出更新處理,從所述輸入輸出存儲器的輸出數據存儲區(qū)域中讀取
輸出數據,并將其送到所述外部輸入輸出單元。此時的所述一系列的多個系統(tǒng)處理中,包
括輸入更新處理、輸出更新處理、共同處理、用戶程序執(zhí)行處理、周邊服務處理。輸入更新
處理和輸出更新處理的順序也可以相反,也可以在其之間夾持其他的系統(tǒng)處理。 此時,所述測量處理是,在重復執(zhí)行所述一系列的多個系統(tǒng)處理時,測量從所述輸
出更新處理的開始時起到應在下一個輸出更新處理之前執(zhí)行的系統(tǒng)處理結束時為止的經
過時間作為實際循環(huán)時間的處理。 此外,所述選擇延遲處理是,在所述判定處理中,判定為所述循環(huán)時間一定時間大 于所述實際循環(huán)時間時,使下一個輸出更新處理的開始時刻延遲兩個時間的差分,而在判 定為所述實際循環(huán)時間大于所述循環(huán)時間一定時間時,立即開始下一個輸出更新處理。
根據這樣的結構,能夠在運行中設定用于將輸出更新處理的執(zhí)行間隔設為最佳的 循環(huán)時間一定時間。 如以上的說明可知,根據本發(fā)明,能夠將控制對象設備處于試運行狀態(tài)的情況下
8對循環(huán)時間一定時間進行微調,并且找出可在控制對象設備側獲得最佳吞吐量的循環(huán)時間 一定時間,并將其設定作為新的循環(huán)時間一定時間。
圖1是應用本申請的PLC系統(tǒng)的結構圖。 圖2是CPU單元的硬件結構圖。 圖3是概率性地表示系統(tǒng)程序的整體的一般流程圖。 圖4是時間調整處理的詳細流程圖(之1)。 圖5是時間調整處理的詳細流程圖(之2)。 圖6是示意性地表示工具和PLC之間的關系的圖。 圖7是表示工具的循環(huán)時間一定時間設定值設置處理的詳細流程圖。 圖8是表示PLC的循環(huán)時間一定時間設定值改寫處理的詳細流程圖。 圖9(a) (b)是列表而表示循環(huán)時間一定時間設定值的變更定時和計算方法的圖。 圖10是循環(huán)時間一定時間設定畫面。 圖11是PLC的分動作模式比較表。 圖12是表示循環(huán)時間一定時間設定時的動作細節(jié)的圖。 圖13(a) (b)是說明基于有無循環(huán)時間一定時間的設定的動作差異的圖。 標號說明 la第1PLC lb第2PLC lc第3PLC 11電源單元 12CPU單元 13輸入單元 14輸出單元 15特殊單元 16通信單元 2a PC 2b PC 3網絡 121MPU 122系統(tǒng)存儲器 123備份存儲器 124工作存儲器 124a循環(huán)時間一定時間用寄存器 125通信電路 126用戶存儲器 127命令執(zhí)行ASIC
128輸入輸出存儲器
1291/0總線
具體實施例方式
以下,參照附圖,詳細說明本發(fā)明的可編程控制器系統(tǒng)的一實施方式。
圖1表示應用本申請的PLC系統(tǒng)的結構圖。該系統(tǒng)是通過網絡3連接了多臺PLC1 和PC2b的系統(tǒng),PLC1包括電源單元11、CPU單元12、輸入單元13、輸出單元14、特殊單元 15、以及通信單元16。 PC2a和CPU單元12也可以直接連接且相互進行數據通信。電源單 元11是對PLC1整體供電的單元。CPU單元12是進行PLC整體的控制的單元,在從控制對 象設備進行任何輸入情況下,通過輸入單元13獲得該輸入信號,并在CPU單元12中進行處 理。另一方面,在通過PLC1對控制對象設備進行控制的情況下,通過輸出單元14連接。
特殊單元15是動作控制單元、PID運算單元等的增設單元,是可根據需要而設置 的單元。在圖l中,僅設置在第lPLCla中,沒有設置在第2PLClb、第3PLClc中。通信單元 16是具有用于進行與PC2b或其他的PLC1之間的通信的功能的單元。
圖2表示PLC的CPU單元的硬件結構圖。如圖2所示那樣,CPU單元12包括 MPU121、系統(tǒng)存儲器122、備份存儲器123、工作存儲器124、在工作存儲器124內的循環(huán)時間 一定時間用寄存器124a、通信電路125、用戶存儲器126、命令執(zhí)行ASIC127、輸入輸出存儲 器128、 I/O總線129。 MPU121是集中控制CPU單元12整體的單元。系統(tǒng)存儲器122和備份存儲器123 由非易失性存儲器構成,系統(tǒng)存儲器122中存儲有由MPU121進行處理并用于實現作為PLC1 的功能的系統(tǒng)程序,在備份存儲器123中存儲有備份的用戶程序。 工作存儲器124中存儲有涉及MPU121的全部處理的各種數據。此外,還存儲有如 下數據,用于計算將在PLC1中重復執(zhí)行的一系列的多個系統(tǒng)處理所需的時間設為一定的 循環(huán)時間一定時間的數據。 在工作存儲器124內設置的循環(huán)時間一定時間用寄存器124a是存儲循環(huán)時間一 定時間設定值的寄存器,且該設定值可任意地改寫,該寄存器也可以設置一個,也可以設置 多個。 通信電路125是用于進行與PC2a的數據通信的電路,CPU單元12通過該通信線 路125進行與PC2a的數據通信。 用戶存儲器126存儲在電源接通時從備份存儲器123傳來的用戶程序,從這里讀 取的用戶程序被執(zhí)行。命令執(zhí)行ASIC127是,用于從用戶存儲器126依次讀取用戶程序的 各命令,并將其執(zhí)行結果寫入輸入輸出存儲器128的硬件。 輸入輸出存儲器128包括用于存儲通過輸入單元13獲取的輸入數據的輸入數據 存儲區(qū)域;以及用于存儲輸出到輸出單元14的輸出數據的輸出數據存儲區(qū)域。
I/O總線129是CPU單元12用于與電源單元11、輸入單元13、輸出單元14相互進 行數據通信的總線,通過該I/O總線129進行各種數據通信。 應重復執(zhí)行的一系列的多個系統(tǒng)處理是,通過CPU單元12內的MPU121執(zhí)行在系 統(tǒng)存儲器122中存儲的規(guī)定的系統(tǒng)程序而實現。圖3表示概略地表示系統(tǒng)程序的整體的一 般流程圖。如該圖所示那樣,一系列的系統(tǒng)處理是在電源接通之后開始,包括在進行了電源接通時處理(步驟101)之后,循環(huán)地執(zhí)行一個循環(huán)的輸入輸出更新處理(步驟102)、共同 處理(步驟103)、動作模式判定處理(步驟104)、用戶程序執(zhí)行處理(步驟105)、周邊服務 處理(步驟106)、以及時間調整處理(步驟107)。 在電源接通時處理(步驟101)中,執(zhí)行工作存儲器124的初始化處理、輸入輸出 存儲器128的初始化處理、將在備份存儲器123中存儲的用戶程序轉發(fā)到用戶存儲器126 的處理、確保作為工作存儲器124內的循環(huán)時間一定時間設定值的改寫區(qū)域的循環(huán)時間一 定時間用寄存器124a的處理等。 在輸入輸出更新處理(步驟102)中,通過輸入單元13獲取輸入數據,寫入輸入輸 出存儲器128的規(guī)定的輸入數據存儲區(qū)域,并將存儲在輸入輸出存儲器128的規(guī)定的輸出 數據存儲區(qū)域中的輸出數據輸出到輸出單元14。 在共同處理(步驟103)中,主要執(zhí)行PLC是否發(fā)生故障的診斷、MPU121進行一系 列的系統(tǒng)處理的各種設定的確認等。診斷的內容是用戶存儲器126的檢驗、I/0總線129的 檢驗、存儲器卡的裝卸檢驗等。 在進行了共同處理(步驟103)之后,進行PLC1的動作模式的判定處理(步驟 104)。在PLC1的動作模式中,有RUN模式和MON模式以及PRG模式。各個動作模式的細節(jié) 在后面敘述。 若PLC1的動作模式被判定為PRG模式,則轉移到周邊服務處理(步驟106)而不進 行用戶程序執(zhí)行處理(步驟105),另一方面,若PLC1的動作模式判定為RUN模式或者MON 模式,則進行用戶程序執(zhí)行處理(步驟105)。 在用戶程序執(zhí)行處理(步驟105)中,依次讀取構成在用戶存儲器126中存儲的用 戶程序的各個命令,并參照在輸入輸出存儲器128的規(guī)定的輸入區(qū)域中存儲的輸入數據, 執(zhí)行用戶程序執(zhí)行處理。并且,將其執(zhí)行結果作為在輸入輸出存儲器128的規(guī)定的輸出區(qū) 域中存儲的輸出數據來改寫。 在周邊服務處理(步驟106)中,響應于通過網絡3而從PC2b或者PC2a直接發(fā)送 的各種指令,進行在用戶存儲器126或/和輸入輸出存儲器128中存儲的數據的改寫處理。 在用戶存儲器126中存儲的數據的改寫處理中,包含可變更在該存儲器中存儲的用戶程序 的處理。除此之外,還適當地執(zhí)行用戶接口的輸入輸出處理或與各種遠程設備等的通信處 理、對安裝在CPU單元12的存儲器卡的訪問處理等。 若周邊服務處理結束,進行時間調整處理(步驟107)。圖4和圖5中表示時間調 整處理的詳細流程圖。 在圖4的時間調整處理的詳細流程圖(之1)中,若開始時間調整處理,則比較實 際循環(huán)時間與循環(huán)時間一定時間,從而進行哪一個大的判定(步驟1071A)。其中,實際循環(huán) 時間是指,從輸入輸出更新處理的開始時起到在下一個輸入輸出更新處理的前一次執(zhí)行的 系統(tǒng)處理結束時為止的測量的經過時間。 若判定為循環(huán)時間一定時間大于實際循環(huán)時間,則等待循環(huán)時間一定時間與實際 循環(huán)時間之差分(步驟1072A),將實際循環(huán)時間的值作為樣本值而記錄保存在工作存儲器 124的規(guī)定區(qū)域(步驟1073A),并將經過時間初始化,開始下一個輸入輸出更新處理的同時 開始經過時間的測量(步驟1074A)。另外,也可以是代替步驟1072A的等待循環(huán)時間一定 時間與實際循環(huán)時間之差分的處理,進行等到經過時間與循環(huán)時間一定時間相等為止的處理。 另一方面,在實際循環(huán)時間大于循環(huán)時間一定時間時,將實際循環(huán)時間的值作為 樣本值而記錄保存在工作存儲器124的規(guī)定區(qū)域,還進行實際循環(huán)時間的值的最大值的計 算等(步驟1073A),并將經過時間初始化,開始下一個輸入輸出更新處理的同時開始經過 時間的測量(步驟1074A)。 S卩,在時間調整處理中,判定為循環(huán)時間一定時間大于實際循環(huán)時間時,進行將下 一個輸入輸出更新處理的開始時刻延遲兩個時間之差分的處理,另一方面,在實際循環(huán)時 間大于循環(huán)時間一定時間時,立即開始下一個輸入輸出更新處理。 圖5表示其他的時間調整處理的詳細流程圖(之2)。如該圖所示那樣,若開始時間 調整處理,則比較實際循環(huán)時間和循環(huán)時間一定時間,進行哪一個大的判定(步驟1071B)。 若判定為循環(huán)時間一定時間大于實際循環(huán)時間,則計算實際循環(huán)時間與循環(huán)時間一定時間 之差分而計算分配給周邊服務處理的時間(步驟1072B),直到算出的周邊服務處理分配時 間經過為止持續(xù)進行周邊服務處理。但是,若沒有應實施的周邊服務處理,則直到分配時間 為止成為等待狀態(tài)(步驟1073B)。若周邊服務處理分配時間經過,則將實際循環(huán)時間的值 作為樣本值而記錄保存在工作存儲器124的規(guī)定區(qū)域的基礎上,進行實際循環(huán)時間的值的 最大值的計算等(步驟1074B),并將經過時間初始化,開始輸入輸出更新處理的同時開始 經過時間的測量(步驟1075B)。 另一方面,在實際循環(huán)時間大于循環(huán)時間一定時間時,將實際循環(huán)時間的值作為 樣本值而記錄保存在工作存儲器124的規(guī)定區(qū)域,還進行實際循環(huán)時間的值的最大值的計 算等(步驟1074B),并將經過時間初始化,開始下一個輸入輸出更新處理的同時開始經過 時間的測量(步驟1075B)。 這里,根據PLC1的動作模式,上述的一系列的系統(tǒng)處理的內容不同。這表示在圖 11的PLC1的分動作模式比較表中。如該圖所示那樣,在PLC1的動作模式為RUN模式的情 況下,在周邊服務處理中的在用戶存儲器126中存儲的用戶程序的變更被禁止的狀態(tài)下重 復執(zhí)行一系列的系統(tǒng)處理。 另一方面,在PLC1的動作模式為MON模式的情況下,在周邊服務處理中的在用戶
存儲器126中存儲的用戶程序的變更被允許的狀態(tài)下重復執(zhí)行一系列的系統(tǒng)處理。 在PLC1的動作模式為PRG模式的情況下,也在周邊服務處理中的在用戶存儲器
126中存儲的用戶程序的變更被許可的狀態(tài)下重復執(zhí)行至少除了用戶程序執(zhí)行處理的一系
列的系統(tǒng)處理。 因此,在MON模式中,通過將控制對象設備處于試運行狀態(tài)的情況下例如通過工 具裝置或可編程顯示器等的操作設備的操作而對循環(huán)時間一定時間進行微調,并且例如監(jiān) 視與控制對象設備的吞吐量相關的適當的參數的值,則能夠找出可在控制設備側獲得最佳 吞吐量的循環(huán)時間一定時間,并將其設定作為新的循環(huán)時間一定時間。 此時,通過一并利用用戶程序的改寫功能(例如,所謂在線編輯等)或輸入輸出存 儲器的改寫功能(例如,輸入輸出數據的強制設置重置操作等),還能夠改善用戶程序,以 能夠在控制設備側獲得最佳吞吐量。 并且,由于上述的循環(huán)時間一定時間的變更操作也可以將控制對象設備維持運行 狀態(tài)(試運行)的狀態(tài)下進行,所以不需要像以往的可編程控制器中那樣,在每次變更操作時將控制對象設備在運行狀態(tài)和停止狀態(tài)之間進行切換,因此,也不需要伴隨從運行狀態(tài) 到停止狀態(tài)的切換的花費時間的前處理動作,能夠在短時間內實現循環(huán)時間一定時間的最 佳化。 此外,關于在時間調整處理中的實際循環(huán)時間與循環(huán)時間一定時間之間的比較結
果,也可以在輸入輸出存儲器128內設置規(guī)定的內部標記,并通過PC2a進行監(jiān)視。根據這
樣的實施方式,能夠在運行中對循環(huán)時間一定時間進行微調的同時弄清其影響,從而從改
善輸入輸出響應性的觀點出發(fā),也能夠找出最佳的循環(huán)時間一定時間。 循環(huán)時間一定時間也可以變更為通過通信單元16而從作為工具起作用的PC2b輸
入的新的循環(huán)時間一定時間設定值。另外,循環(huán)時間一定時間設定值也可以通過通信電路 125而從作為工具起作用的PC2a或其他的PLC1輸入。 參照圖6至圖IO說明用于變更為新的循環(huán)時間一定時間設定值的一系列的處理。
在圖6中表示示意性地表示工具和FLC之間的關系的圖。如上所述那樣,在本發(fā) 明中,根據PLC1的動作模式,決定是否允許循環(huán)時間一定時間設定值的變更。如同圖所示 那樣,首先從工具對PLC1進行動作模式的讀取,只有在許可的動作模式的情況下,進行循 環(huán)時間一定時間設定值的改寫。以下說明關于工具和PLC1中的詳細的處理內容。
圖7示出用于表示工具的循環(huán)時間一定時間設定值設置處理的詳細流程圖。在同 圖中,若進行循環(huán)時間一定時間設定值設置操作,則開始處理。通過在圖io中表示的循環(huán) 時間一定時間設定畫面中從多個設定項目中,用戶選擇或者工具自動地選擇而進行循環(huán)時 間一定時間設定值設置操作。關于循環(huán)時間一定時間設定值的設定項目的內容,在后面詳 細敘述。 返回到圖7,若開始工具中的處理,則進行PLC1的動作模式的讀取(步驟201),進 行PLC1的動作模式的判定(步驟202)。在讀取的PLC1的動作模式判定為RUN模式的情況 下,循環(huán)時間一定時間設定值的改寫被中止而結束處理(步驟203)。 另一方面,在讀取的PLC1的動作模式判定為MON模式或者PRG模式的情況下,發(fā) 行循環(huán)時間一定時間設定值的改寫用指令,并對PLC1發(fā)送該指令而結束處理(步驟204)。
若PLC1接收到循環(huán)時間一定時間設定值的改寫用指令,則在規(guī)定的定時執(zhí)行與 該指令對應的處理。該循環(huán)時間一定時間設定值的改寫處理通常作為構成周邊服務處理的 處理之一而執(zhí)行。圖8示出用于表示PLC1的循環(huán)時間一定時間設定值改寫處理的詳細流 程圖。如同圖所示那樣,若PLC1的循環(huán)時間一定時間設定值的改寫處理開始,則進行PLC1 的動作模式的確認(步驟301)。 在PLC1的動作模式為RUN模式的情況下,發(fā)行不可進行循環(huán)時間一定時間設定值
的改寫的意旨的錯誤消息,并結束處理(步驟302)。另一方面,在PLC1的動作模式為MON
模式或者PRG模式的情況下,進行在工作存儲器124內確保的循環(huán)時間一定時間用寄存器
124a中存儲的循環(huán)時間一定時間設定值的改寫,并結束處理(步驟303)。 在該實施方式中,從安裝在該PLC1中的工具裝置(個人計算機或可編程顯示器
等)、或通過通信單元16連接的工具裝置、或其他的PLC1送入新的循環(huán)時間一定時間,從而
能夠進行循環(huán)時間 一定時間的設定變更。 循環(huán)時間一定時間并不限定于來自PLC1外部的設定值,還能夠變更為根據規(guī)定 的算法而在PLC1內部自動生成的新的循環(huán)時間一定時間設定值。
13
該算法例如存儲在系統(tǒng)存儲器122內,且根據用戶指定條件,基于實際循環(huán)時間 的過去一定期間或者一定循環(huán)數個中的樣本值,生成循環(huán)時間一定時間設定值。作為算法 的一例,可舉出將圖9的變更定時和計算方法的組合作為程序來實現的方法。此外,作為用 戶指定的條件的一例,可舉出圖9的變更定時和計算方法的組合。 根據這樣的實施方式,通過作為算法而任意地采用適合該可編程控制器或者適合 該控制對象設備的算法,能夠設定適合其時時刻刻的控制狀態(tài)的循環(huán)時間一定時間。
圖9示出在圖IO中的循環(huán)時間一定時間設定畫面的設定項目的詳細的說明。同 圖中,列表而表示循環(huán)時間一定時間設定值的變更定時和計算方法。 圖9(a)示出循環(huán)時間一定時間設定值的變更定時的例子。如同圖所示那樣,(A)
若在"固定為設定時的值"的設定中,變更為通過用戶的指定而設定的循環(huán)時間一定時間設
定值,則直到下一次變更為止,固定為當前的循環(huán)時間一定時間設定值。通過設置這樣的設
定項目,能夠在用戶期望的定時進行循環(huán)時間一定時間設定值的設定變更。 另一方面,(B)在"根據實際循環(huán)時間而變動"的設定中,由于用戶程序的變更等原
因而實際循環(huán)時間改變,則在每次通過規(guī)定的計算方法而生成新的循環(huán)時間一定時間設定
值時變更。通過設置這樣的設定項目,能夠在PLC側自動地進行循環(huán)時間一定時間設定值
的設定變更。 圖9(b)示出循環(huán)時間一定時間設定值的計算方法的例子。如同圖所示那樣,在計 算方法的設定項目中,有"用戶任意值"和"過去的最大值"以及"基準值內的最大值"。
在"用戶任意值"的設定中,例如,如圖IO所示那樣,將用戶自己作為設定值而輸 入的值原樣設為循環(huán)時間一定時間設定值。 在"過去的最大值"的設定中,將實際循環(huán)時間的過去一定期間或者一定循環(huán)數個 的樣本值中的最大值設為循環(huán)時間一定時間設定值。在該設定中,還包含有實際循環(huán)時間 突發(fā)式地異常延長的情況下的樣本值。 通過將該"過去的最大值"的設定與前述的"根據實際循環(huán)時間而變動"的設定進 行組合,例如在通過在線編輯進行了用戶程序的一部分改寫(追加)那樣的情況下,能夠自 動地進行對適合改寫之后的新的用戶程序的循環(huán)時間一定時間的設定變更,不需要每次進 行在線編輯操作時循環(huán)時間一定時間設定值的改寫操作的功夫。 在"基準值內的最大值"的設定中,將在實際循環(huán)時間的過去一定期間或者一定循 環(huán)數個的樣本值中的規(guī)定的基準值中的最大值設為循環(huán)時間一定時間設定值。在該設定 中,能夠在實際循環(huán)時間突發(fā)式地異常延長的情況下的樣本值中除去超出規(guī)定的基準值的 樣本值。作為規(guī)定的基準值的例子,有過去500個循環(huán)的樣本值的90%收斂的值等。
通過將該"基準值內的最大值"的設定和上述的"根據實際循環(huán)時間而變動"的設 定進行組合,能夠避免由于通過突發(fā)式的低頻度的事件中斷等而偶爾在樣本值中混入異常 極大值,從而循環(huán)時間一定時間的值不必要地自動設定為過長的值,由此極端地傷害輸入 輸出響應性的不合適的情況。 在以上的實施例中,說明了如圖3所示那樣,輸入輸出更新處理作為一個處理而 集中的情況。作為其他的實施例,也可以將輸入輸出更新處理分割為以下處理輸入更新處 理,從外部輸入輸出單元獲取輸入數據,并將其寫入輸入輸出存儲器的輸入數據存儲區(qū)域; 以及輸出更新處理,從輸入輸出存儲器的輸出數據存儲區(qū)域中讀取輸出數據,并將其送到
14外部輸入輸出單元。在此時的一系列的多個系統(tǒng)處理中,包含有輸入更新處理、輸出更新處
理、共同處理、用戶程序執(zhí)行處理、周邊服務處理。因此,輸入更新處理和輸出更新處理的順
序也可以相反,也可以在其之間夾持其他的系統(tǒng)處理。例如,也可以是一系列的多個系統(tǒng)處
理的開頭為輸出更新處理且最末尾為周邊服務處理。此時,時間調整處理中的經過時間的
測量對象成為從輸出更新處理的開始時刻起到周邊服務處理的結束時刻為止。 工業(yè)可利用性在于,根據本發(fā)明,能夠將控制對象設備處于試運行狀態(tài)的情況下
對循環(huán)時間一定時間進行微調,并且找出可在控制對象設備側獲得最佳吞吐量的循環(huán)時間
一定時間,并將其設定作為新的循環(huán)時間一定時間。
權利要求
一種可編程控制器,其特征在于,包括外部輸入輸出單元,連接到控制對象設備;用戶存儲器,用于存儲將控制對象設備以期望的動作方式運行所需的用戶程序;輸入輸出存儲器,用于存儲與所述外部輸入輸出單元中的外部輸入輸出信號對應的輸入輸出數據;以及系統(tǒng)存儲器,存儲有用于實現作為該可編程控制器的功能的系統(tǒng)程序,在所述系統(tǒng)存儲器中存儲的系統(tǒng)程序中,包含有應重復執(zhí)行的一系列的多個系統(tǒng)處理,并且在這些多個系統(tǒng)處理中,至少包括以下處理輸入輸出更新處理,從所述外部輸入輸出單元獲取輸入數據,并將其寫入所述輸入輸出存儲器的輸入數據存儲區(qū)域中,并且從所述輸入輸出存儲器的輸出數據存儲區(qū)域中讀取輸出數據,并將其送到所述外部輸入輸出單元;用戶程序執(zhí)行處理,從所述用戶存儲器依次讀取構成用戶程序的各個命令,并參照所述輸入輸出存儲器的輸入數據來執(zhí)行上述命令,并根據其執(zhí)行結果來改寫所述輸入輸出存儲器的輸出數據;以及周邊服務處理,包括可響應于通過通信而從規(guī)定的工具裝置到來的指令,變更所述用戶程序的處理,作為動作模式,準備可運行所述控制對象設備的可運行模式和不可運行所述控制對象設備的不可運行模式,在所述可運行模式中,重復執(zhí)行所述一系列的多個系統(tǒng)處理,在所述不可運行模式中,至少除了所述用戶程序執(zhí)行處理,重復執(zhí)行所述一系列的多個系統(tǒng)處理,而且在所述系統(tǒng)程序中,包含有時間調整處理,該時間調整處理包括測量處理,在重復執(zhí)行所述一系列的多個系統(tǒng)處理時,測量從所述輸入輸出更新處理的開始時到應在下一個輸入輸出更新處理的前一次執(zhí)行的系統(tǒng)處理結束時為止的經過時間,作為實際循環(huán)時間;判定處理,比較在所述測量處理中測量的實際循環(huán)時間與規(guī)定的循環(huán)時間一定時間,從而判定哪一個大;以及選擇延遲處理,在所述判定處理中,判定為所述循環(huán)時間一定時間大于所述實際循環(huán)時間時,使下一個輸入輸出更新處理的開始時刻延遲兩個時間的差分,而在判定為所述實際循環(huán)時間大于所述循環(huán)時間一定時間時,立即開始下一個輸入輸出更新處理,而且,應與所述實際循環(huán)時間比較的所述循環(huán)時間一定時間不僅在所述不可運行模式中允許變更,在所述可運行模式中也允許變更。
2. 如權利要求l所述的可編程控制器,其特征在于,作為所述可運行模式,準備第1可運行模式和第2可運行模式,在所述第l可運行模式(RUN)中,不允許在所述周邊服務處理中的用戶程序的變更,而重復執(zhí)行所述一系列的多個系統(tǒng)處理,在所述第2可運行模式(M0N)中,一邊允許在所述周邊服務處理中的用戶程序的變更,一邊重復執(zhí)行所述一系列的多個系統(tǒng)處理,在所述不可運行模式(PRG)中,一邊允許在所述周邊服務處理中的用戶程序的變更,一邊重復執(zhí)行至少除了所述用戶程序執(zhí)行處理的所述一系列的多個系統(tǒng)處理,應與所述實際循環(huán)時間比較的所述循環(huán)時間一定時間在第1可運行模式中禁止變更,但在第2可運行模式和不可運行模式中允許變更。
3. 如權利要求1或2所述的可編程控制器,其特征在于,所述循環(huán)時間一定時間可變更為從外部輸入的新的循環(huán)時間一定時間。
4. 如權利要求1或2所述的可編程控制器,其特征在于,所述循環(huán)時間一定時間可變更為根據規(guī)定的算法而在該可編程控制器的內部自動生成的新的循環(huán)時間一定時間。
5. 如權利要求4所述的可編程控制器,其特征在于,所述規(guī)定的算法是,基于所述實際循環(huán)時間的過去一定期間或者一定循環(huán)數個的樣本值中的最大值來生成新的循環(huán)時間一定時間的算法。
6. 如權利要求5所述的可編程控制器,其特征在于,在所述實際循環(huán)時間的過去一定期間或者一定循環(huán)數個的樣本值中,除去超出規(guī)定基準值的樣本值。
7. 如權利要求l所述的可編程控制器,其特征在于,所述輸入輸出更新處理被分割為以下處理輸入更新處理,從所述外部輸入輸出單元獲取輸入數據,并將其寫入所述輸入輸出存儲器的輸入數據存儲區(qū)域;以及輸出更新處理,從所述輸入輸出存儲器的輸出數據存儲區(qū)域中讀取輸出數據,并將其送到所述外部輸入輸出單元,所述測量處理是,在重復執(zhí)行所述一系列的多個系統(tǒng)處理時,測量從所述輸出更新處理的開始時起到應在下一個輸出更新處理的前一次執(zhí)行的系統(tǒng)處理結束時為止的經過時間作為實際循環(huán)時間的處理,所述選擇延遲處理是,在所述判定處理中,判定為所述循環(huán)時間一定時間大于所述實際循環(huán)時間時,使下一個輸出更新處理的開始時刻延遲兩個時間的差分,而在判定為所述實際循環(huán)時間大于所述循環(huán)時間一定時間時,立即開始下一個輸出更新處理。
全文摘要
一種可編程控制器,能夠在短時間將循環(huán)時間一定時間的值調整為最佳值。在PLC的第2可運行模式(MON)中,一邊允許在周邊服務處理中的用戶程序的變更,一邊重復執(zhí)行一系列的多個系統(tǒng)處理,并且應與實際循環(huán)時間比較的循環(huán)時間一定時間在第1可運行模式(RUN)中禁止變更,但在第2可運行模式(MON)和不可運行模式(PRG)中允許變更。
文檔編號G05B19/05GK101770215SQ20091026633
公開日2010年7月7日 申請日期2009年12月24日 優(yōu)先權日2008年12月26日
發(fā)明者小野彰男, 高橋溫子 申請人:歐姆龍株式會社