本技術(shù)涉及工業(yè)自動化技術(shù),特別涉及一種用于plc的工業(yè)現(xiàn)場復(fù)現(xiàn)的方法、一種用于plc的工業(yè)現(xiàn)場復(fù)現(xiàn)的裝置、一種電子設(shè)備、一種非瞬時計算機可讀存儲介質(zhì)、以及一種計算機程序產(chǎn)品。
背景技術(shù):
1、plc(programmable?logic?controller,可編程邏輯控制器)是一種工業(yè)自動化控制裝置,并且,plc可以基于開發(fā)程序適用各種工業(yè)現(xiàn)場的工業(yè)自動化控制需求。其中,plc的開發(fā)程序中可以定義工業(yè)現(xiàn)場中的各種硬件變量,以使得plc能夠分別以這些變量為輸入變量、中間變量以及輸出變量,實現(xiàn)在工業(yè)現(xiàn)場的工業(yè)自動化控制。
2、若plc發(fā)生工作異常,則,需要通過故障診斷排查引發(fā)plc工作異常的硬件原因,例如,確定工作異常是由于工業(yè)現(xiàn)場中部署的現(xiàn)場硬件異常導(dǎo)致,還是由于plc自身的開發(fā)程序中的程序錯誤(bug)導(dǎo)致。從而,基于故障診斷結(jié)果,可以在工業(yè)現(xiàn)場實施排除異常因素的現(xiàn)場維護。
3、然而,現(xiàn)有技術(shù)中的故障診斷效率不高,因此,如何提高plc的工業(yè)現(xiàn)場的故障診斷效率,成為現(xiàn)有技術(shù)中有待解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、在本技術(shù)的實施例中,提供了一種用于plc的工業(yè)現(xiàn)場復(fù)現(xiàn)的方法、一種用于plc的工業(yè)現(xiàn)場復(fù)現(xiàn)的裝置、一種電子設(shè)備、一種非瞬時計算機可讀存儲介質(zhì)、以及一種計算機程序產(chǎn)品,有助于提高plc的工業(yè)現(xiàn)場的故障診斷效率。
2、本技術(shù)的一個實施例提供了一種用于plc的工業(yè)現(xiàn)場復(fù)現(xiàn)的方法,包括:
3、獲取plc中持久化存儲的中斷事件記錄和硬件監(jiān)控記錄;其中,所述中斷事件記錄包括所述plc在基于開發(fā)程序運行的現(xiàn)場工作期間內(nèi)產(chǎn)生的硬件中斷事件及對應(yīng)的事件發(fā)生時刻,并且,所述硬件監(jiān)控記錄包括所述plc在基于開發(fā)程序運行的現(xiàn)場工作期間內(nèi)對目標硬件變量監(jiān)控得到的歷史監(jiān)控值及對應(yīng)的歷史監(jiān)控時刻;
4、在所述硬件監(jiān)控記錄中查詢目標中斷事件的關(guān)聯(lián)監(jiān)控值;其中,所述目標中斷事件為所述中斷事件記錄中的任意硬件中斷事件,所述關(guān)聯(lián)監(jiān)控值包括所述硬件監(jiān)控記錄中與所述目標中斷事件存在關(guān)聯(lián)關(guān)系的歷史監(jiān)控值,并且,所述關(guān)聯(lián)關(guān)系是基于所述目標中斷事件的事件發(fā)生時刻以及所述關(guān)聯(lián)監(jiān)控指的歷史監(jiān)控時刻確定的;
5、利用所述關(guān)聯(lián)監(jiān)控值,在所述開發(fā)程序的程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處可視化復(fù)現(xiàn)所述目標硬件變量。
6、在一些示例中,可選地,所述在所述硬件監(jiān)控記錄中查詢目標中斷事件的關(guān)聯(lián)監(jiān)控值,包括:從所述目標中斷事件的事件發(fā)生時刻開始,對所述硬件監(jiān)控記錄的多個歷史監(jiān)控值對應(yīng)的歷史監(jiān)控時刻進行時間倒序查詢;基于所述時間倒序查詢的查詢結(jié)果,確定所述關(guān)聯(lián)監(jiān)控值。
7、在一些示例中,可選地,所述基于所述時間倒序查詢的查詢結(jié)果,確定所述關(guān)聯(lián)監(jiān)控值,包括:將在所述目標中斷事件的事件發(fā)生時刻之前、且與所述目標中斷事件的事件發(fā)生時刻相鄰的歷史監(jiān)控時刻對應(yīng)的歷史監(jiān)控值,確定為所述關(guān)聯(lián)監(jiān)控值。
8、在一些示例中,可選地,所述方法還包括:將所述目標中斷事件的事件描述信息,與顯現(xiàn)所述關(guān)聯(lián)監(jiān)控值的所述程序內(nèi)容畫面呈現(xiàn)在同一個界面窗口中。
9、在一些示例中,可選地,所述將所述目標中斷事件的事件描述信息,與顯現(xiàn)所述關(guān)聯(lián)監(jiān)控值的所述程序內(nèi)容畫面呈現(xiàn)在同一個界面窗口中,包括:響應(yīng)于在所述查詢界面窗口檢測到的第一人機交互操作,在查詢界面窗口中可視化呈現(xiàn)所述中斷事件記錄中的所有硬件中斷事件的事件描述信息;響應(yīng)于在所述查詢界面窗口檢測到的第二人機交互操作,在所述查詢界面窗口中突顯所述目標中斷事件的事件描述信息;響應(yīng)于在所述查詢界面窗口檢測到的第三人機交互操作,啟動對所述關(guān)聯(lián)監(jiān)控值的成功查詢;響應(yīng)于對所述關(guān)聯(lián)監(jiān)控值的成功查詢,將顯現(xiàn)所述關(guān)聯(lián)監(jiān)控值的所述程序內(nèi)容畫面在所述查詢界面窗口中可視化呈現(xiàn)。
10、在一些示例中,可選地,所述查詢界面窗口包括事件下拉菜單、啟動按鍵、以及畫面顯示區(qū)域;所述第一人機交互操作用于展開所述事件下拉菜單,并且,所述事件下拉菜單用于在展開狀態(tài)下可視化呈現(xiàn)所述中斷事件記錄中的所有硬件中斷事件的事件描述信息;所述第二人機交互操作用于在展開狀態(tài)的所述事件下拉菜單中選定所述目標中斷事件,所述事件下拉菜單響應(yīng)于所述第二人機交互操作而恢復(fù)收起狀態(tài),并且,所述事件下拉菜單還用于在收起狀態(tài)下?lián)褚坏乜梢暬尸F(xiàn)所述目標中斷事件的事件描述信息;所述第三人機交互操作為對所述啟動按鍵的點擊操作;顯現(xiàn)所述關(guān)聯(lián)監(jiān)控值的所述程序內(nèi)容畫面可視化呈現(xiàn)在所述畫面顯示區(qū)域。
11、在一些示例中,可選地,所述利用所述關(guān)聯(lián)監(jiān)控值,在所述開發(fā)程序的程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處可視化復(fù)現(xiàn)所述目標硬件變量,包括:在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處,顯現(xiàn)所述目標硬件變量的變量狀態(tài)標識和所述關(guān)聯(lián)監(jiān)控值中的至少之一;其中,所述變量狀態(tài)標識是依據(jù)所述關(guān)聯(lián)監(jiān)控值和預(yù)先設(shè)定的變量參考標定值的比對結(jié)果確定得到的,所述變量參考標定值用于表征所述目標硬件變量的正常變量值,并且,所述變量狀態(tài)標識用于表征所述目標硬件變量在基于開發(fā)程序運行的現(xiàn)場工作期間內(nèi)的所述關(guān)聯(lián)監(jiān)控值是否正常。
12、在一些示例中,可選地,所述在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處,顯現(xiàn)所述目標硬件變量的變量狀態(tài)標識和所述關(guān)聯(lián)監(jiān)控值中的至少之一,包括:在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處,顯現(xiàn)所述目標硬件變量的所述變量狀態(tài)標識;響應(yīng)于發(fā)生在所述變量狀態(tài)標識處的人機交互操作,在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處顯現(xiàn)所述目標硬件變量的所述關(guān)聯(lián)監(jiān)控值。
13、在一些示例中,可選地,所述方法還包括:將在所述目標硬件變量的畫面元素處可視化復(fù)現(xiàn)所述目標硬件變量的所述程序內(nèi)容畫面,可視化呈現(xiàn)在查詢界面窗口;其中,所述查詢界面窗口獨立于所述開發(fā)程序的編程界面窗口。
14、在一些示例中,可選地,所述方法還包括:獲取所述開發(fā)程序的程序排版信息;其中,所述程序排版信息中包括所述目標硬件變量在所述開發(fā)程序中的排版位置;基于所述目標硬件變量在所述開發(fā)程序中的排版位置,確定所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素。
15、在一些示例中,可選地,所述開發(fā)程序為利用圖形化編程語言編寫得到的圖形化程序,并且,所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素包括:所述圖形化程序中用于表征出現(xiàn)所述目標硬件變量的圖形節(jié)點的圖形元素。
16、在一些示例中,可選地,所述圖形化編程語言包括梯形圖、功能塊圖、順序功能流程圖以及連續(xù)功能塊中的任意一種。
17、在一些示例中,可選地,所述開發(fā)程序為利用文本化編程語言編寫得到的文本化程序,并且,所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素包括:所述文本化程序中用于定義所述目標硬件變量的程序文本的文本字符。
18、在一些示例中,可選地,所述文本化編程語言包括指令表或結(jié)構(gòu)化文本。
19、本技術(shù)的另一個實施例提供了一種用于plc的工業(yè)現(xiàn)場復(fù)現(xiàn)的裝置,包括:
20、數(shù)據(jù)導(dǎo)出模塊,用于獲取plc中持久化存儲的中斷事件記錄和硬件監(jiān)控記錄;其中,所述中斷事件記錄包括所述plc在基于開發(fā)程序運行的現(xiàn)場工作期間內(nèi)產(chǎn)生的硬件中斷事件及對應(yīng)的事件發(fā)生時刻,并且,所述硬件監(jiān)控記錄包括所述plc在基于開發(fā)程序運行的現(xiàn)場工作期間內(nèi)對目標硬件變量監(jiān)控得到的歷史監(jiān)控值及對應(yīng)的歷史監(jiān)控時刻;
21、數(shù)據(jù)查詢模塊,用于在所述硬件監(jiān)控記錄中查詢目標中斷事件的關(guān)聯(lián)監(jiān)控值;其中,所述目標中斷事件為所述中斷事件記錄中的任意硬件中斷事件,所述關(guān)聯(lián)監(jiān)控值包括所述硬件監(jiān)控記錄中與所述目標中斷事件存在關(guān)聯(lián)關(guān)系的歷史監(jiān)控值,并且,所述關(guān)聯(lián)關(guān)系是基于所述目標中斷事件的事件發(fā)生時刻以及所述關(guān)聯(lián)監(jiān)控指的歷史監(jiān)控時刻確定的;
22、虛擬復(fù)現(xiàn)模塊,用于利用所述關(guān)聯(lián)監(jiān)控值,在所述開發(fā)程序的程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處可視化復(fù)現(xiàn)所述目標硬件變量。
23、在一些示例中,可選地,所述數(shù)據(jù)查詢模塊被具體配置為:從所述目標中斷事件的事件發(fā)生時刻開始,對所述硬件監(jiān)控記錄的多個歷史監(jiān)控值對應(yīng)的歷史監(jiān)控時刻進行時間倒序查詢;基于所述時間倒序查詢的查詢結(jié)果,確定所述關(guān)聯(lián)監(jiān)控值。
24、在一些示例中,可選地,所述數(shù)據(jù)查詢模塊被具體配置為:將在所述目標中斷事件的事件發(fā)生時刻之前、且與所述目標中斷事件的事件發(fā)生時刻相鄰的歷史監(jiān)控時刻對應(yīng)的歷史監(jiān)控值,確定為所述關(guān)聯(lián)監(jiān)控值。
25、在一些示例中,可選地,所述虛擬復(fù)現(xiàn)模塊還用于:將所述目標中斷事件的事件描述信息,與顯現(xiàn)所述關(guān)聯(lián)監(jiān)控值的所述程序內(nèi)容畫面呈現(xiàn)在同一個界面窗口中。
26、在一些示例中,可選地,所述虛擬復(fù)現(xiàn)模塊被具體配置為:響應(yīng)于在所述查詢界面窗口檢測到的第一人機交互操作,在查詢界面窗口中可視化呈現(xiàn)所述中斷事件記錄中的所有硬件中斷事件的事件描述信息;響應(yīng)于在所述查詢界面窗口檢測到的第二人機交互操作,在所述查詢界面窗口中突顯所述目標中斷事件的事件描述信息;響應(yīng)于在所述查詢界面窗口檢測到的第三人機交互操作,啟動對所述關(guān)聯(lián)監(jiān)控值的成功查詢;響應(yīng)于對所述關(guān)聯(lián)監(jiān)控值的成功查詢,將顯現(xiàn)所述關(guān)聯(lián)監(jiān)控值的所述程序內(nèi)容畫面在所述查詢界面窗口中可視化呈現(xiàn)。
27、在一些示例中,可選地,所述虛擬復(fù)現(xiàn)模塊被具體配置為:在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處,顯現(xiàn)所述目標硬件變量的變量狀態(tài)標識和所述關(guān)聯(lián)監(jiān)控值中的至少之一;其中,所述變量狀態(tài)標識是依據(jù)所述關(guān)聯(lián)監(jiān)控值和預(yù)先設(shè)定的變量參考標定值的比對結(jié)果確定得到的,所述變量參考標定值用于表征所述目標硬件變量的正常變量值,并且,所述變量狀態(tài)標識用于表征所述目標硬件變量在基于開發(fā)程序運行的現(xiàn)場工作期間內(nèi)的所述關(guān)聯(lián)監(jiān)控值是否正常。
28、在一些示例中,可選地,所述虛擬復(fù)現(xiàn)模塊被具體配置為:在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處,顯現(xiàn)所述目標硬件變量的所述變量狀態(tài)標識;響應(yīng)于發(fā)生在所述變量狀態(tài)標識處的人機交互操作,在所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素處顯現(xiàn)所述目標硬件變量的所述關(guān)聯(lián)監(jiān)控值。
29、在一些示例中,可選地,所述虛擬復(fù)現(xiàn)模塊還用于:將在所述目標硬件變量的畫面元素處可視化復(fù)現(xiàn)所述目標硬件變量的所述程序內(nèi)容畫面,可視化呈現(xiàn)在查詢界面窗口;其中,所述查詢界面窗口獨立于所述開發(fā)程序的編程界面窗口。
30、在一些示例中,可選地,所述虛擬復(fù)現(xiàn)模塊還用于:獲取所述開發(fā)程序的程序排版信息;其中,所述程序排版信息中包括所述目標硬件變量在所述開發(fā)程序中的排版位置;基于所述目標硬件變量在所述開發(fā)程序中的排版位置,確定所述程序內(nèi)容畫面中用于表征所述目標硬件變量的畫面元素。
31、本技術(shù)的另一個實施例提供了一種電子設(shè)備,包括處理器,所述處理器用于執(zhí)行如前述實施例所述的方法。
32、本技術(shù)的另一個實施例提供了一種非瞬時計算機可讀存儲介質(zhì),所述非瞬時計算機可讀存儲介質(zhì)存儲指令,所述指令在由處理器執(zhí)行時使得所述處理器執(zhí)行如前述實施例所述的方法。
33、本技術(shù)的另一個實施例提供了一種計算機程序產(chǎn)品,包括計算機可執(zhí)行指令,所述計算機可執(zhí)行指令在被處理器執(zhí)行時實現(xiàn)如前述實施例所述的方法。
34、基于本技術(shù)的實施例,可以獲取plc內(nèi)部持久化存儲的中斷事件記錄和硬件監(jiān)控記錄,其中,在硬件監(jiān)控記錄的目標硬件變量的所有歷史監(jiān)控值中,可以查詢與引發(fā)plc工作異常的硬件中斷事件在時間上存在關(guān)聯(lián)關(guān)系的歷史監(jiān)控值,并且,還可以在plc的開發(fā)程序的程序內(nèi)容畫面中,將查詢到的歷史監(jiān)控值顯現(xiàn)在用于表征目標硬件變量的畫面元素處,從而,可以利用目標硬件變量的歷史監(jiān)控值在程序內(nèi)容畫面虛擬復(fù)現(xiàn)plc的工業(yè)現(xiàn)場在發(fā)生硬件中斷事件時的關(guān)鍵硬件狀況。進而,基于結(jié)合硬件中斷事件顯現(xiàn)目標硬件變量的歷史監(jiān)控值的虛擬復(fù)現(xiàn)方式,有助于快速定位工業(yè)現(xiàn)場中引發(fā)plc工作異常的硬件原因,以提高plc的工業(yè)現(xiàn)場的故障診斷效率。