本發(fā)明涉及一種在與服務器連接時成為客戶端的可編程邏輯控制器。
背景技術:
對以工業(yè)用機械為代表的被控制儀器進行控制的可編程邏輯控制器保存有諸如生產(chǎn)線的生產(chǎn)數(shù)量、能耗量、制造出的產(chǎn)品的品質(zhì)數(shù)據(jù)之類的文件??删幊踢壿嬁刂破魉4娴奈募皇褂每删幊踢壿嬁刂破鞯闹圃焐酞氂械膮f(xié)議或者一般的協(xié)議而發(fā)送至上級的服務器,用于諸如生產(chǎn)計劃的制定、品質(zhì)分析之類的用途。作為一般的協(xié)議的一個例子而舉出FTP(file transfer protocol)。另外,作為文件的發(fā)送目標即上級的服務器的具體例子而舉出構成制造執(zhí)行系統(tǒng)(Manufacturing Execution System:MES)的服務器。
對于使得服務器內(nèi)的文件不會由于文件接收過程中的線纜斷開而被接收中途的不完整的數(shù)據(jù)更新的方法的一個例子,能夠舉出如下方法,即,在服務器接收文件的期間,不利用接收數(shù)據(jù)對文件進行覆蓋,在接收完畢后對文件進行覆蓋。
在專利文獻1中公開了如下過程控制器,即,將從維護用終端發(fā)送來的程序保存至作為易失性存儲器的第2存儲區(qū)域,在程序的接收完畢之后對作為非易失性存儲器的第1存儲區(qū)域內(nèi)的程序進行改寫。專利文獻1所公開的動作控制器在從作為服務器側的維護用終端轉發(fā)程序時,在程序的轉發(fā)完畢之前不對第1存儲區(qū)域內(nèi)的程序進行改寫,因此在程序的轉發(fā)未正常完畢的情況下,能夠使用第1存儲區(qū)域內(nèi)的程序繼續(xù)進行工作。
另外,在專利文獻2中公開了如下的上級控制裝置,即,將網(wǎng)絡單元的傳感器設定信息存儲器內(nèi)的數(shù)據(jù)通過報文通信而讀出。
專利文獻1:日本特開2006-338304號公報
專利文獻2:日本特開2011-28525號公報
技術實現(xiàn)要素:
對產(chǎn)業(yè)用機械進行控制的可編程邏輯控制器的程序設計和對從可編程邏輯控制器接收到的數(shù)據(jù)進行分析或解析的服務器的程序設計所需的技術大不相同。因此,可編程邏輯控制器的程序設計者和服務器的程序設計者大多是不同的。
因此,可編程邏輯控制器的程序設計者在不清楚防止由發(fā)送中途的不完整的數(shù)據(jù)對文件進行更新的功能是否搭載于服務器的情況下,或者在知道并未搭載的情況下,需要委托服務器的程序設計者將防止由不完整的數(shù)據(jù)對文件進行更新的功能搭載于服務器。
在將專利文獻1和專利文獻2組合的情況下,成為由服務器側的儀器通過報文通信而將客戶端側的儀器的內(nèi)部的數(shù)據(jù)讀出的結構,但如果防止由不完整的數(shù)據(jù)對服務器的文件進行更新的功能是通過由服務器側主導的動作來實現(xiàn)的,則可編程邏輯控制器的程序設計者必須委托服務器的程序設計者來搭載將客戶端側的儀器的內(nèi)部的數(shù)據(jù)通過報文通信而讀出的功能。
在服務器的程序設計者拒絕將防止由不完整的數(shù)據(jù)對文件進行更新的功能搭載于服務器的情況下,可編程邏輯控制器的程序設計者無法防止服務器內(nèi)的文件被不完整的數(shù)據(jù)更新。如果由不完整的數(shù)據(jù)將服務器內(nèi)的文件更新,則產(chǎn)生如下問題,即,服務器無法正確地擬定生產(chǎn)計劃或進行品質(zhì)分析,工廠運轉率下降或產(chǎn)品品質(zhì)下降。
本發(fā)明就是鑒于上述內(nèi)容而提出的,其目的在于得到一種可編程邏輯控制器,無論防止由不完整的數(shù)據(jù)對文件進行更新的功能是否搭載于服務器,該可編程邏輯控制器都能夠防止服務器內(nèi)的文件被不完整的數(shù)據(jù)更新。
為了解決上述課題,實現(xiàn)目的,本發(fā)明是一種可編程邏輯控制器,其按照定序程序?qū)Ρ豢刂苾x器進行控制,由此從被控制儀器獲取信息,在與服務器連接時成為客戶端,可編程邏輯控制器的特征在于,具有:存儲裝置,其對基于來自被控制儀器的信息而生成的數(shù)據(jù)文件進行存儲;以及文件轉發(fā)處理部,其在將存儲于存儲裝置的數(shù)據(jù)文件向服務器進行轉發(fā)時,在數(shù)據(jù)文件的轉發(fā)完畢之后請求服務器將服務器內(nèi)的更新前的數(shù)據(jù)文件刪除。
發(fā)明的效果
本發(fā)明涉及的可編程邏輯控制器實現(xiàn)如下效果,即,無論防止由不完整的數(shù)據(jù)對文件進行更新的功能是否搭載于服務器,都能夠防止服務器內(nèi)的文件被不完整的數(shù)據(jù)更新。
附圖說明
圖1是表示系統(tǒng)的結構的框圖,在該系統(tǒng)中應用了本發(fā)明的實施方式涉及的可編程邏輯控制器。
圖2是表示系統(tǒng)的動作流程的流程圖,在該系統(tǒng)中應用了實施方式涉及的可編程邏輯控制器。
圖3是系統(tǒng)中的發(fā)送文件時的時序圖,在該系統(tǒng)中應用了實施方式涉及的可編程邏輯控制器。
圖4是表示系統(tǒng)的動作流程的另一個例子的流程圖,在該系統(tǒng)中應用了實施方式涉及的可編程邏輯控制器。
具體實施方式
下面,基于附圖詳細地說明本發(fā)明的實施方式涉及的可編程邏輯控制器。此外,本發(fā)明并不限定于本實施方式。
實施方式.
圖1是表示系統(tǒng)的結構的框圖,在該系統(tǒng)中應用了本發(fā)明的實施方式涉及的可編程邏輯控制器。應用了實施方式涉及的可編程邏輯控制器的系統(tǒng)具有對被控制儀器9進行控制的可編程邏輯控制器1、進行生產(chǎn)計劃的制定以及品質(zhì)分析的服務器6。作為服務器6,能夠應用個人計算機,但并不限定于此。
可編程邏輯控制器1具有:運算處理部2,其相應于用戶操作而進行判斷處理;運算處理部2所使用的內(nèi)部設備3;文件轉發(fā)處理部5,其相應于來自運算處理部2的請求而進行通過FTP實現(xiàn)的文件轉發(fā);通信處理部4,其接受來自文件轉發(fā)處理部5的請求而與服務器6進行通信;以及外部存儲裝置7,其對作為轉發(fā)對象的文件進行保存。在外部存儲裝置7能夠插入外部存儲介質(zhì)8,成為轉發(fā)對象的文件被存儲于外部存儲介質(zhì)8。即,外部存儲裝置7以及外部存儲介質(zhì)8是對基于來自被控制儀器的信息而生成的數(shù)據(jù)文件進行存儲的存儲裝置。作為外部存儲裝置7的一個例子,能夠舉出SD存儲卡讀寫器。作為外部存儲介質(zhì)8的一個例子,能夠舉出SD存儲卡。此外,外部存儲介質(zhì)8也可以是無法相對于外部存儲裝置7進行裝卸。
運算處理部2執(zhí)行定序程序而進行被控制儀器9的控制,并且將從被控制儀器9獲取到的信息存儲于內(nèi)部設備3。運算處理部2根據(jù)存儲于內(nèi)部設備3的信息而創(chuàng)建數(shù)據(jù)文件,將數(shù)據(jù)文件存儲于已插入至外部存儲裝置7的外部存儲介質(zhì)8。即,外部存儲裝置7將基于來自被控制儀器9的信息而生成的數(shù)據(jù)文件存儲于外部存儲介質(zhì)8。
文件轉發(fā)處理部5通過固件處理而安裝在可編程邏輯控制器1。因此,不需要由可編程邏輯控制器1的用戶創(chuàng)建定序程序而進行安裝。
圖2是表示系統(tǒng)的動作流程的流程圖,在該系統(tǒng)中應用了實施方式涉及的可編程邏輯控制器。在步驟S1中,運算處理部2以用戶操作為觸發(fā)而請求文件轉發(fā)處理部5進行通過FTP實現(xiàn)的文件轉發(fā)。文件轉發(fā)處理部5如果被運算處理部2請求進行通過FTP實現(xiàn)的文件轉發(fā),則從外部存儲介質(zhì)8將作為轉發(fā)對象的文件讀出,通知通信處理部4將文件以其他文件名與文件發(fā)送開始報文一起向服務器6發(fā)送,開始文件發(fā)送。步驟S1的動作是將存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件以其他的文件名向服務器6發(fā)送的第1動作。
在步驟S2中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件的接收完畢響應。在未接收到的情況下(步驟S2:No),在步驟S4中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S4:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S4:No),進入步驟S2,文件轉發(fā)處理部5再次確認是否接收到文件的接收完畢響應。
在接收到文件的接收完畢響應的情況下(步驟S2:Yes),進入步驟S3,文件轉發(fā)處理部5將請求進行服務器6內(nèi)的更新前文件的刪除的報文經(jīng)由通信處理部4而向服務器6發(fā)送。步驟S3的動作是請求服務器6將文件名與存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件相同的數(shù)據(jù)文件刪除的第2動作。
在步驟S5中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4而接收到文件的刪除完畢響應。在未接收到的情況下(步驟S5:No),在步驟S7中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S7:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S7:No),進入步驟S5,文件轉發(fā)處理部5再次確認是否接收到文件的刪除完畢響應。
在接收到文件的刪除完畢響應的情況下(步驟S5:Yes),進入步驟S6,文件轉發(fā)處理部5將要變更的文件名的指定報文經(jīng)由通信處理部4而向服務器6發(fā)送。
在步驟S8中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件名的指定完畢響應。在未接收到的情況下(步驟S8:No),在步驟S10中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S10:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S10:No),進入步驟S8,文件轉發(fā)處理部5再次確認是否接收到文件名的指定完畢響應。
在接收到文件名的指定完畢響應的情況下(步驟S8:Yes),進入步驟S9,文件轉發(fā)處理部5將文件名的變更請求報文經(jīng)由通信處理部4而向服務器6發(fā)送。步驟S6以及步驟S9的動作是請求服務器6將以其他的文件名發(fā)送出的數(shù)據(jù)文件的文件名變更為與存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件相同的文件名的第3動作。
在步驟S11中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件名的變更完畢響應。在未接收到的情況下(步驟S11:No),在步驟S12中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S12:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S12:No),進入步驟S11,文件轉發(fā)處理部5再次確認是否接收到文件名的變更完畢響應。
在接收到文件名的變更完畢響應的情況下(步驟S11:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已成功,將處理正常結束。
圖3是系統(tǒng)中的文件發(fā)送時的時序圖,在該系統(tǒng)中應用了實施方式涉及的可編程邏輯控制器??删幊踢壿嬁刂破?向服務器6發(fā)送轉發(fā)對象文件和文件發(fā)送開始報文M1。接收到文件發(fā)送開始報文M1的服務器6將文件的接收完畢響應M2回送至可編程邏輯控制器1。
從服務器6接收到文件的接收完畢響應M2的可編程邏輯控制器1將更新前的文件的刪除請求報文M3向服務器6發(fā)送。接收到更新前文件的刪除請求報文M3的服務器6在將更新前的文件刪除之后,將文件的刪除完畢響應M4向可編程邏輯控制器1回送。
從服務器6接收到文件的刪除完畢響應M4的可編程邏輯控制器1將文件名的指定報文M5向服務器6發(fā)送。接收到文件名的指定報文M5的服務器6將文件名的指定完畢響應M6向可編程邏輯控制器1回送。
從服務器6接收到文件名的指定完畢響應M6的可編程邏輯控制器1將文件名的變更請求報文M7向服務器6發(fā)送。接收到文件名的變更請求報文M7的服務器6在將由文件名的指定報文M5指定的文件名變更為由文件名的變更請求報文M7指定的文件名之后,將文件名的變更完畢響應M8向可編程邏輯控制器1回送。如果可編程邏輯控制器1從服務器6接收到文件名的變更完畢響應M8,則文件的轉發(fā)完畢。
文件轉發(fā)處理部5以用戶操作為觸發(fā),執(zhí)行第1動作、第2動作以及第3動作,該第1動作是將存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件以其他的文件名向服務器6發(fā)送,該第2動作是請求服務器6將文件名與存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件相同的數(shù)據(jù)文件刪除,該第3動作是請求服務器6將以其他的文件名發(fā)送出的數(shù)據(jù)文件的文件名變更為與存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件相同的文件名。因此,用戶無需有意識地進行特別的操作來防止由不完整的數(shù)據(jù)對服務器6內(nèi)的文件進行更新,因此能夠可靠地防止服務器6內(nèi)的文件被不完整的數(shù)據(jù)更新。
圖4是表示系統(tǒng)的動作流程的另一個例子的流程圖,在該系統(tǒng)中應用了實施方式涉及的可編程邏輯控制器。在步驟S51中,以用戶操作為觸發(fā),運算處理部2請求文件轉發(fā)處理部5進行通過FTP實現(xiàn)的文件轉發(fā)。文件轉發(fā)處理部5如果被運算控制部2請求進行通過FTP實現(xiàn)的文件轉發(fā),則指定作為轉發(fā)對象的文件,將要變更的文件名的指定報文經(jīng)由通信處理部4而向服務器6發(fā)送。
在步驟S52中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件名的指定完畢響應。在未接收到的情況下(步驟S52:No),在步驟S54中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S54:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S54:No),進入步驟S52,文件轉發(fā)處理部5再次確認是否接收到文件名的指定完畢響應。
在接收到文件名的指定完畢響應的情況下(步驟S52:Yes),進入步驟S53,文件轉發(fā)處理部5將文件名的變更請求報文經(jīng)由通信處理部4而向服務器6發(fā)送。步驟S51以及步驟S53的動作是請求服務器6將服務器6內(nèi)的更新前的數(shù)據(jù)文件的文件名變更為其他的文件名的第4動作。
在步驟S55中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件名的變更完畢響應。在未接收到的情況下(步驟S55:No),在步驟S57中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S57:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S57:No),進入步驟S55,文件轉發(fā)處理部5再次確認是否接收到文件名的變更完畢響應。
在接收到文件名的變更完畢響應的情況下(步驟S55:Yes),進入步驟S56,文件轉發(fā)處理部5從外部存儲介質(zhì)8將作為轉發(fā)對象的文件讀出,通知通信處理部4將文件發(fā)送開始報文和文件向服務器6發(fā)送,開始文件發(fā)送。步驟S56的動作是將存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件向服務器6發(fā)送的第5動作。
在步驟S58中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件的接收完畢響應。在未接收到的情況下(步驟S58:No),在步驟S60中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S60:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S60:No),進入步驟S58,文件轉發(fā)處理部5再次確認是否接收到文件的接收完畢響應。
在接收到文件的接收完畢響應的情況下(步驟S58:Yes),進入步驟S59,文件轉發(fā)處理部5將請求進行服務器6內(nèi)的變更了文件名的文件的刪除的報文經(jīng)由通信處理部4而向服務器6發(fā)送。步驟S59的動作是請求服務器6將變更為其他的文件名后的更新前的數(shù)據(jù)文件刪除的第6動作。
在步驟S61中,文件轉發(fā)處理部5確認是否從服務器6經(jīng)由通信處理部4接收到文件的刪除完畢響應。在未接收到的情況下(步驟S61:No),在步驟S62中,文件轉發(fā)處理部5確認是否超時。在超時的情況下(步驟S62:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已失敗,將處理異常結束。在未超時的情況下(步驟S62:No),進入步驟S61,文件轉發(fā)處理部5再次確認是否接收到文件的刪除完畢響應。
在接收到文件的刪除完畢響應的情況下(步驟S61:Yes),文件轉發(fā)處理部5判斷為文件的發(fā)送已成功,將處理正常結束。
如以上所述,還能夠先于對作為轉發(fā)對象的文件進行轉發(fā)而對服務器6內(nèi)的文件的文件名進行變更。在先于文件的轉發(fā)而對服務器6內(nèi)的文件名進行變更的情況下,如果文件從可編程邏輯控制器1向服務器6的轉發(fā)不完整,則只要將服務器6內(nèi)的先于文件轉發(fā)而變更了文件名的轉發(fā)對象文件的文件名恢復原樣,服務器6就能夠使用更新前的文件,擬定生產(chǎn)計劃、或進行品質(zhì)分析。
文件轉發(fā)處理部5以用戶操作為觸發(fā),執(zhí)行第4動作、第5動作以及第6動作,該第4動作是請求服務器6將服務器6內(nèi)的更新前的數(shù)據(jù)文件的文件名變更為其他的文件名,該第5動作是將存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件向服務器6發(fā)送,該第6動作是請求服務器6將變更為其他的文件名后的更新前的數(shù)據(jù)文件刪除。因此,用戶無需有意識地進行特別的操作來防止由不完整的數(shù)據(jù)對服務器6內(nèi)的文件進行更新,因此能夠可靠地防止服務器6內(nèi)的文件被不完整的數(shù)據(jù)更新。
在上述說明中,文件轉發(fā)處理部5通過FTP對文件進行轉發(fā),但并不限定于FTP,還可以使用其他的通信協(xié)議對文件進行轉發(fā)。
實施方式涉及的可編程邏輯控制器1具有文件轉發(fā)處理部5,該文件轉發(fā)處理部5在將存儲于外部存儲介質(zhì)8的數(shù)據(jù)文件向服務器6轉發(fā)時,在數(shù)據(jù)文件的轉發(fā)完畢之后請求服務器6將服務器6內(nèi)的更新前的數(shù)據(jù)文件刪除。因此,對于利用了實施方式涉及的可編程邏輯控制器1的系統(tǒng),即使防止由不完整的數(shù)據(jù)對文件進行更新的功能未搭載于服務器6,也能夠在利用從可編程邏輯控制器1發(fā)送出的文件對服務器6內(nèi)的文件進行更新時,防止服務器6內(nèi)的文件被發(fā)送中途的不完整的數(shù)據(jù)更新。
以上實施方式所示的結構示出了本發(fā)明的內(nèi)容的一個例子,也能夠與其他公知技術進行組合,還能夠在不脫離本發(fā)明的主旨的范圍省略、變更結構的一部分。
標號的說明
1可編程邏輯控制器,2運算處理部,3內(nèi)部設備,4通信處理部,5文件轉發(fā)處理部,6服務器,7外部存儲裝置,8外部存儲介質(zhì),9被控制儀器。