本發(fā)明涉及船舶設(shè)計(jì)領(lǐng)域,特別涉及一種船舶控制器軟件配置方法及系統(tǒng)。
背景技術(shù):
船舶報(bào)警控制器作為船舶系統(tǒng)的重要組成部分已成為船舶設(shè)計(jì)建造的重要領(lǐng)域?,F(xiàn)有的船舶報(bào)警控制系統(tǒng)由于所采用的硬件技術(shù)、系統(tǒng)結(jié)構(gòu)、算法方式等方面的限制,需要專業(yè)人員進(jìn)行設(shè)計(jì)研發(fā),由于,我國(guó)船舶設(shè)計(jì)工業(yè)起步晚,所以人才較少,培養(yǎng)速度較慢,加上現(xiàn)在社會(huì)對(duì)于船舶業(yè)需求加大,很多方面都不能達(dá)到快速開發(fā)的需求。
現(xiàn)有技術(shù)中,開發(fā)船舶報(bào)警控制系統(tǒng)都是需要工作多年的專業(yè)人員進(jìn)行開發(fā),而且開發(fā)速度慢。這樣開發(fā)一個(gè)船舶報(bào)警系統(tǒng)的時(shí)間成本、經(jīng)濟(jì)成大以及后期的維護(hù)成本會(huì)非常大。
為此,如何研究一種開發(fā)門檻低,能夠快速開發(fā),且易于維護(hù)的方法是現(xiàn)如今的一個(gè)課題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種船舶控制器軟件配置方法及系統(tǒng),實(shí)現(xiàn)開發(fā)門檻低,能夠快速開發(fā),且易于維護(hù)。其具體方案如下:
一種船舶控制器軟件配置方法,其特征在于,包括:
獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息;
利用預(yù)設(shè)的算法解析所述設(shè)置信息,生成腳本文件;
將所述腳本文件發(fā)送至下位機(jī),以使所述下位機(jī)利用所述腳本文件運(yùn)行。
優(yōu)選的,還包括:當(dāng)預(yù)設(shè)的算法無法解析所述設(shè)置信息,則標(biāo)記出錯(cuò)誤位置。
優(yōu)選的,獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息前,還包括:
獲取下位機(jī)當(dāng)前可用資源,并以圖表形式列出。
優(yōu)選的,所述獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息的過程,包括:
獲取用戶利用中文關(guān)鍵詞庫(kù)和辦公軟件得到的文檔;
從所述文檔中提取用戶輸入的文字信息,得到所述設(shè)置信息。
優(yōu)選的,所述利用預(yù)設(shè)的算法解析所述設(shè)置信息的過程,包括:
利用預(yù)設(shè)的算法解析出所述設(shè)置信息中的關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息;
利用所述關(guān)鍵詞、所述標(biāo)點(diǎn)符號(hào)和所述格式信息各自相應(yīng)的程序代碼,生成腳本文件。
本發(fā)明還公開了一種船舶控制器軟件配置系統(tǒng),其特征在于,包括:
獲取模塊,用于獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息;
腳本生成模塊,用于利用預(yù)設(shè)的算法解析所述設(shè)置信息,生成腳本文件;
發(fā)送模塊,用于將所述腳本文件發(fā)送至下位機(jī),以使所述下位機(jī)利用所述腳本文件運(yùn)行。
優(yōu)選的,還包括:錯(cuò)誤標(biāo)記模塊,用于當(dāng)預(yù)設(shè)的算法無法解析所述設(shè)置信息,則標(biāo)記出錯(cuò)誤位置。
優(yōu)選的,還包括:資源顯示模塊,用于獲取下位機(jī)當(dāng)前可用資源,并以圖表形式列出。
優(yōu)選的,所述獲取模塊,包括:
獲取單元,用于獲取用戶利用中文關(guān)鍵詞庫(kù)和辦公軟件得到的文檔;
提取單元,用于從所述文檔中提取用戶輸入的文字信息,得到所述設(shè)置信息。
優(yōu)選的,所述腳本生成模塊,包括:
解析單元,用于利用預(yù)設(shè)的算法解析出所述設(shè)置信息中的關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息;
腳本生成單元,用于利用所述關(guān)鍵詞、所述標(biāo)點(diǎn)符號(hào)和所述格式信息各自相應(yīng)的程序代碼,生成腳本文件。
本發(fā)明中,船舶控制器軟件配置方法,包括:獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息;利用預(yù)設(shè)的算法解析設(shè)置信息,生成腳本文件;將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行??梢姡景l(fā)明用戶可以利用中文關(guān)鍵詞庫(kù)在辦公軟件中用中文直接輸入設(shè)置信息,使得用戶可以利用中文關(guān)鍵詞庫(kù)中的關(guān)鍵詞,直接輸入中文完成對(duì)程序的配置,而無需用戶輸入程序代碼,以對(duì)程序進(jìn)行編程,對(duì)于用戶專業(yè)要求性大大降低,再利用預(yù)設(shè)的算法解析設(shè)置信息,將用戶輸入的中文設(shè)置信息,轉(zhuǎn)換為計(jì)算機(jī)語言,生成下位機(jī)可以直接使用的腳文本件,并將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行,完成程序配置。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種船舶控制器軟件配置方法流程示意圖;
圖2為本發(fā)明實(shí)施例公開的另一種船舶控制器軟件配置方法流程示意圖;
圖3為本發(fā)明實(shí)施例公開的一種船舶控制器軟件配置系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種船舶控制器軟件配置方法,參見圖1所示,該方法包括:
步驟s11:獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息。
具體的,用戶操作上位機(jī),例如,個(gè)人電腦,使用常見的辦公軟件按照中文關(guān)鍵詞庫(kù)中的關(guān)鍵詞提示輸入文字作為設(shè)置信息,例如,中文關(guān)鍵詞庫(kù)中包括“控制”、“設(shè)定”、“閾值”、“輸入”、“輸出”、“報(bào)警”、“檢測(cè)設(shè)備”和“報(bào)警器”等關(guān)鍵詞,用戶在此基礎(chǔ)上在辦公軟件中輸入設(shè)置信息,例如,用戶輸入設(shè)置信息為“控制監(jiān)控設(shè)備監(jiān)測(cè)貨倉(cāng)溫度,當(dāng)溫度超過第一閾值32度,則使報(bào)警器報(bào)警,當(dāng)溫度超過第二閾值40度,則啟動(dòng)自動(dòng)滅火裝置”,最后,從辦公軟件中獲取用戶輸入的設(shè)置信息。其中,辦公軟件包括word和excel等。
步驟s12:利用預(yù)設(shè)的算法解析設(shè)置信息,生成腳本文件。
具體的,利用預(yù)設(shè)的算法查找設(shè)置信息中包括在中文關(guān)鍵詞庫(kù)的關(guān)鍵詞,例如,用戶輸入設(shè)置信息為“控制監(jiān)控設(shè)備監(jiān)測(cè)貨倉(cāng)溫度,當(dāng)溫度超過第一閾值32度,則使報(bào)警器報(bào)警,當(dāng)溫度超過第二閾值40度,則啟動(dòng)自動(dòng)滅火裝置”,其中,“控制”、“監(jiān)控設(shè)備”、“監(jiān)測(cè)”、“貨倉(cāng)”、“溫度”、“超過”、“第一閾值32度”、“報(bào)警器”、“報(bào)警”、“第二閾值40度”、“啟動(dòng)”和“自動(dòng)滅火裝置”為關(guān)鍵詞,利用這些關(guān)鍵詞,調(diào)用預(yù)先設(shè)置的相應(yīng)的程序代碼,將所有代碼按照關(guān)鍵詞的排列順序進(jìn)行編譯,從而生成腳本文件。
需要說明的是,預(yù)設(shè)的算法中與關(guān)鍵詞相應(yīng)的程序代碼是預(yù)先編程得到的,預(yù)先生成與中文關(guān)鍵詞庫(kù)相應(yīng)的程序代碼庫(kù),以使預(yù)設(shè)的算法解析出設(shè)置信息中的關(guān)鍵詞時(shí),能夠調(diào)用與關(guān)鍵詞相應(yīng)的程序代碼,并進(jìn)行編譯排序,以生成腳本文件。
步驟s13:將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行。
可以理解的是,下位機(jī)可以通過上位機(jī)對(duì)其進(jìn)行編程,其中,可以在上位機(jī)中編寫腳本文件,并發(fā)送至下位機(jī),下位機(jī)利用上位機(jī)編寫的腳本文件,執(zhí)行相應(yīng)的步驟,其中,下位機(jī)為單片機(jī)。
具體的,將腳本文件發(fā)送至下位機(jī),下位機(jī)將腳本文件保存至存儲(chǔ)區(qū),并調(diào)用腳本文件,利用腳本文件中的程序代碼,執(zhí)行相應(yīng)的操作,例如,設(shè)置信息為“控制監(jiān)控設(shè)備監(jiān)測(cè)貨倉(cāng)溫度,當(dāng)溫度超過第一閾值32度,則使報(bào)警器報(bào)警,當(dāng)溫度超過第二閾值40度,則啟動(dòng)自動(dòng)滅火裝置”,則下位機(jī)的芯片讀取腳本文件中的程序代碼,發(fā)送監(jiān)測(cè)指令至貨艙中的溫度傳感器,并設(shè)置第一閾值和第二閾值,分別為32度和40度,并且使第一閾值作為啟動(dòng)報(bào)警器的觸發(fā)條件,將第二閾值作為自動(dòng)滅火裝置的觸發(fā)條件。
可見,本發(fā)明實(shí)施例用戶可以利用中文關(guān)鍵詞庫(kù)在辦公軟件中用中文直接輸入設(shè)置信息,使得用戶可以利用中文關(guān)鍵詞庫(kù)中的關(guān)鍵詞,直接輸入中文完成對(duì)程序的配置,而無需用戶輸入程序代碼,以對(duì)程序進(jìn)行編程,對(duì)于用戶專業(yè)要求性大大降低,再利用預(yù)設(shè)的算法解析設(shè)置信息,將用戶輸入的中文設(shè)置信息,轉(zhuǎn)換為計(jì)算機(jī)語言,生成下位機(jī)可以直接使用的腳文本件,并將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行,完成程序配置。
本發(fā)明實(shí)施例公開了一種具體的船舶控制器軟件配置方法,相對(duì)于上一實(shí)施例,本實(shí)施例對(duì)技術(shù)方案作了進(jìn)一步的說明和優(yōu)化。參見圖2所示,具體的:
步驟s21:獲取用戶利用中文關(guān)鍵詞庫(kù)和辦公軟件得到的文檔。
具體的,用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中用中文輸入設(shè)置信息,并用辦公軟件進(jìn)行保存,得到保存有設(shè)置信息的文檔。
可以理解的是,用戶在初次使用時(shí),需要對(duì)中文關(guān)鍵詞庫(kù)進(jìn)行簡(jiǎn)單的學(xué)習(xí)和了解,由于中文關(guān)鍵詞庫(kù)中使用的都是中文,所以用戶學(xué)習(xí)速度較快,且無需很高的專業(yè)知識(shí),且輸入設(shè)置信息時(shí),只要按照程序運(yùn)行的步驟進(jìn)行書寫便可,無需了解程序語言撰寫時(shí)需要的編程邏輯。
進(jìn)一步的,為了方便后續(xù)預(yù)設(shè)的算法對(duì)用戶輸入的設(shè)置信息進(jìn)行解析,用戶可以按照一定的撰寫方式,撰寫設(shè)置信息,例如,設(shè)置信息為“控制監(jiān)控設(shè)備監(jiān)測(cè)貨倉(cāng)溫度,當(dāng)溫度超過第一閾值32度,則使報(bào)警器報(bào)警,當(dāng)溫度超過第二閾值40度,則啟動(dòng)自動(dòng)滅火裝置”,具體的格式可以為:
控制監(jiān)控設(shè)備,監(jiān)測(cè)貨倉(cāng)溫度;
當(dāng)溫度超過<第一閾值>(32度);
則使報(bào)警器報(bào)警;
當(dāng)溫度超過<第二閾值>(40度);
則啟動(dòng)自動(dòng)滅火裝置。
通過不同的標(biāo)點(diǎn)符號(hào)和換行,有助于后續(xù)預(yù)設(shè)的算法進(jìn)行解析。
其中,設(shè)置信息可以在excel中進(jìn)行撰寫,利用excel中自帶的表格格式,對(duì)每個(gè)動(dòng)作和步驟進(jìn)行劃分,利于后續(xù)算法的解析。
步驟s22:從文檔中提取用戶輸入的文字信息,得到設(shè)置信息。
具體的,從文檔中只提取其中的文字信息,用以排除其他無用信息,其中,文字信息包括中文、標(biāo)點(diǎn)符號(hào)和格式信息,格式信息包括分行、分列和表格等信息,得到后續(xù)可以用于解析的設(shè)置信息。
步驟s23:利用預(yù)設(shè)的算法解析出設(shè)置信息中的關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息。
例如,設(shè)置信息為:
控制監(jiān)控設(shè)備,監(jiān)測(cè)貨倉(cāng)溫度;
當(dāng)溫度超過<第一閾值>(32度);
則使報(bào)警器報(bào)警;
當(dāng)溫度超過<第二閾值>(40度);
則啟動(dòng)自動(dòng)滅火裝置。
預(yù)設(shè)的算法可以利用關(guān)鍵詞和標(biāo)點(diǎn)符號(hào),以及分行判斷設(shè)置信息中的內(nèi)容,如在控制一個(gè)設(shè)備執(zhí)行動(dòng)作時(shí),可以在設(shè)備名詞后面與其執(zhí)行動(dòng)作的動(dòng)詞之間用逗號(hào)進(jìn)行間隔,以使算法當(dāng)檢測(cè)到逗號(hào)使可以得知逗號(hào)前后的名詞與動(dòng)詞之間的關(guān)系;通過分號(hào)換行可以使算法得知進(jìn)入下一個(gè)步驟;在設(shè)置判斷條件時(shí),可以將判斷條件用尖括號(hào)括上,并用括號(hào)將其具體設(shè)定值括上,使算法能夠更加快速的對(duì)相應(yīng)的關(guān)鍵詞的作用進(jìn)行判斷,增加解析的精準(zhǔn)性。
步驟s24:利用關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息各自相應(yīng)的程序代碼,生成腳本文件。
具體的,每個(gè)關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息都有其對(duì)應(yīng)的程序代碼,預(yù)設(shè)的算法解析出每個(gè)關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息后,便可以從程序代碼庫(kù)中查找到相應(yīng)的程序代碼,并將相應(yīng)的程序代碼按照設(shè)置信息進(jìn)行排列和編譯,生成腳本文件,使腳本文件與設(shè)置信息相對(duì)應(yīng),能夠使下位機(jī)實(shí)現(xiàn)設(shè)置信息的內(nèi)容。
其中,腳本文件可以為hmi.lua腳本
步驟s25:將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行。
具體的,下位機(jī)中可以保存多份腳本文件,并且用戶可以通過上位機(jī)選擇下位機(jī)需要運(yùn)行的腳本文件,從而執(zhí)行不同的程序,而無需再進(jìn)行編程,同時(shí),也可以選擇多個(gè)腳本文件,使單片機(jī)按照相應(yīng)的順序執(zhí)行多個(gè)腳本文件。
在實(shí)際應(yīng)用中,用戶輸入的設(shè)置信息可能會(huì)包含較多的無用詞匯或多余的符號(hào)等,造成解析難度增加,甚至?xí)l(fā)生無法解析的情況,為此,當(dāng)預(yù)設(shè)的算法無法解析設(shè)置信息,則標(biāo)記出錯(cuò)誤位置,例如,設(shè)置信息為“操作設(shè)備,發(fā)出檢測(cè)信號(hào),監(jiān)測(cè)貨倉(cāng)狀態(tài)”,其中“操作”、“發(fā)出檢測(cè)信號(hào)”為非關(guān)鍵詞,且“設(shè)備”和“貨倉(cāng)狀態(tài)”表達(dá)不清晰,無法解析出用戶的指令,此時(shí),可以對(duì)錯(cuò)誤的詞匯和用法進(jìn)行標(biāo)記,如,將非關(guān)鍵詞下方加入下劃線,對(duì)表達(dá)不清晰的文字改為紅色字體,用來提示用戶錯(cuò)誤位置,使用戶能夠根據(jù)提示盡快的進(jìn)行修改。
可以理解的是,由于下位機(jī)可調(diào)用的資源可能會(huì)發(fā)生變更,為避免用戶在不知情的情況下,調(diào)用不可用的資源,而造成時(shí)間上的浪費(fèi),可以先獲取下位機(jī)當(dāng)前可用資源,并以圖表形式列出,以供用戶參考,使用戶能夠利用當(dāng)前可用資源進(jìn)行設(shè)置信息的編寫。
相應(yīng)的,本發(fā)明實(shí)施例還公開了一種船舶控制器軟件配置系統(tǒng),參見圖3所示,該系統(tǒng)包括:
獲取模塊11,用于獲取用戶利用中文關(guān)鍵詞庫(kù)在辦公軟件中輸入的設(shè)置信息;
腳本生成模塊12,用于利用預(yù)設(shè)的算法解析設(shè)置信息,生成腳本文件;
發(fā)送模塊13,用于將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行。
可見,本發(fā)明實(shí)施例用戶可以利用中文關(guān)鍵詞庫(kù)在辦公軟件中用中文直接輸入設(shè)置信息,使得用戶可以利用中文關(guān)鍵詞庫(kù)中的關(guān)鍵詞,直接輸入中文完成對(duì)程序的配置,而無需用戶輸入程序代碼,以對(duì)程序進(jìn)行編程,對(duì)于用戶專業(yè)要求性大大降低,再利用預(yù)設(shè)的算法解析設(shè)置信息,將用戶輸入的中文設(shè)置信息,轉(zhuǎn)換為計(jì)算機(jī)語言,生成下位機(jī)可以直接使用的腳文本件,并將腳本文件發(fā)送至下位機(jī),以使下位機(jī)利用腳本文件運(yùn)行,完成程序配置。
本發(fā)明實(shí)施例中,船舶控制器軟件配置系統(tǒng)還可以包括錯(cuò)誤標(biāo)記模塊和資源顯示模塊;其中,
錯(cuò)誤標(biāo)記模塊,用于當(dāng)預(yù)設(shè)的算法無法解析設(shè)置信息,則標(biāo)記出錯(cuò)誤位置。
資源顯示模塊,用于獲取下位機(jī)當(dāng)前可用資源,并以圖表形式列出。
進(jìn)一步的,上述獲取模塊11,具體可以包括獲取單元和提取單元;其中,
獲取單元,用于獲取用戶利用中文關(guān)鍵詞庫(kù)和辦公軟件得到的文檔;
提取單元,用于從文檔中提取用戶輸入的文字信息,得到設(shè)置信息。
上述腳本生成模塊12,具體可以包括解析單元和腳本生成單元;其中,
解析單元,用于利用預(yù)設(shè)的算法解析出設(shè)置信息中的關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息;
腳本生成單元,用于利用關(guān)鍵詞、標(biāo)點(diǎn)符號(hào)和格式信息各自相應(yīng)的程序代碼,生成腳本文件。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的一種船舶控制器軟件配置方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。