最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

模塊系統(tǒng)及其更新方法,并基于模塊的機(jī)器人系統(tǒng)與流程

文檔序號(hào):11250061閱讀:429來源:國知局
模塊系統(tǒng)及其更新方法,并基于模塊的機(jī)器人系統(tǒng)與流程

本發(fā)明涉及模塊系統(tǒng)及基于模塊的機(jī)器人系統(tǒng),并模塊系統(tǒng)的更新方法。



背景技術(shù):

最近,以教育、興趣、研究、生產(chǎn)等多種目的,提出基于多種模塊系統(tǒng)。包括在這些模塊基礎(chǔ)系統(tǒng)的模塊,可分別執(zhí)行特定的功能,提供可使模塊相互連接形成模塊組合。在這種情況下,各自的模塊相互由電性連接,可使接發(fā)能量、信號(hào)、數(shù)據(jù)等的被提供。用戶可根據(jù)提供的手冊(cè)或自己創(chuàng)作的方式,組裝模塊制作執(zhí)行特性目的的模塊系統(tǒng)。

這些現(xiàn)有的模塊系統(tǒng)有必要為了變更使用目的,或更新為更好的版本,由模塊化個(gè)別的更新驅(qū)動(dòng)模塊系統(tǒng)的程序。在這種情況下,將構(gòu)成模塊系統(tǒng)的模塊由個(gè)別單位進(jìn)行分離,且每分離的模塊需要用于更新的作業(yè),從物理性非常不便,且需要相當(dāng)?shù)臅r(shí)間。

此外,現(xiàn)有的模塊系統(tǒng)不能一次性的開發(fā)對(duì)模塊系統(tǒng)整個(gè)運(yùn)營的程序,且個(gè)別的開發(fā)模塊單位的程序進(jìn)行編譯,所以,對(duì)開發(fā)有困難。



技術(shù)實(shí)現(xiàn)要素:

技術(shù)課題

本發(fā)明的實(shí)施例,將提供包括多個(gè)模塊的模塊系統(tǒng)中,可更新各模塊數(shù)據(jù)的模塊系統(tǒng)及模塊系統(tǒng)的更新方法。

本發(fā)明的實(shí)施例,將提供由網(wǎng)絡(luò)連接的包括多個(gè)模塊的模塊系統(tǒng)中,可從模塊系統(tǒng)整個(gè)程序代碼,生成各模塊化執(zhí)行代碼的多模塊編譯系統(tǒng)及多模塊編譯方法。

技術(shù)方案

根據(jù)本發(fā)明的一個(gè)側(cè)面,可提供一種模塊系統(tǒng),包括相互能夠通信的多個(gè)模塊,所述模塊系統(tǒng),其包括:主模塊,與外部設(shè)備通信;及子模塊,一個(gè)以上由網(wǎng)絡(luò)連接,使能夠與所述主模塊數(shù)據(jù)通信,且在所述一個(gè)以上的子模塊中,所述主模塊通過所述網(wǎng)絡(luò)將更新數(shù)據(jù)發(fā)送給與所述子模塊運(yùn)營有關(guān)的數(shù)據(jù)更新必要的對(duì)象子模塊。

此外,可提供所述更新數(shù)據(jù)是用于所述對(duì)象子模塊固件軟件及運(yùn)營體系軟件及驅(qū)動(dòng)的數(shù)據(jù)中一個(gè)以上的模塊系統(tǒng)。

此外,可提供只接收通過所述網(wǎng)絡(luò)發(fā)送的,與數(shù)據(jù)目的地地址一致的模塊的數(shù)據(jù)的模塊系統(tǒng)。

此外,可提供所述網(wǎng)絡(luò)是同種及異種通信的模塊系統(tǒng)。

此外,可提供所述網(wǎng)絡(luò)利用控制器局域網(wǎng)(can;controllerareanetwork)總線的模塊系統(tǒng)。

此外,可提供所述主模塊將所述更新數(shù)據(jù)1次的發(fā)送到所述對(duì)象子模塊之后,2次的再發(fā)送,且所述對(duì)象子模塊比較從所述主模塊的所述1次接收的更新數(shù)據(jù)和所述2次接收的更新數(shù)據(jù),驗(yàn)證所述更新數(shù)據(jù)的完整性的模塊系統(tǒng)。

此外,可提供所述更新數(shù)據(jù)具有錯(cuò)誤時(shí),所述主模塊將所述更新數(shù)據(jù)再發(fā)送到對(duì)應(yīng)于所述錯(cuò)誤的所述對(duì)象子模塊的模塊系統(tǒng)。

此外,可提供所述主模塊從所述外部設(shè)備,接收用于所述對(duì)象子模塊的所述更新數(shù)據(jù)的模塊系統(tǒng)。

此外,可提供所述主模塊接收對(duì)所述對(duì)象子模塊全部的所述更新數(shù)據(jù)全部之后,將對(duì)應(yīng)于所述對(duì)象子模塊各個(gè)的所述更新數(shù)據(jù),發(fā)送到各個(gè)所述對(duì)象子模塊的模塊系統(tǒng)。

此外,可提供所述主模塊對(duì)所述對(duì)象子模塊,一個(gè)個(gè)依次地接收對(duì)應(yīng)于各個(gè)所述對(duì)象子模塊的所述更新數(shù)據(jù),發(fā)送給所述對(duì)象子模塊的模塊系統(tǒng)。

此外,可提供所述主模塊與所述外部設(shè)備,以u(píng)sb、irda、wifi、uwb、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a中任何一個(gè)方式通信的模塊系統(tǒng)。

此外,可提供所述主模塊也能更新與自身運(yùn)營有關(guān)的數(shù)據(jù)的模塊系統(tǒng)。

此外,可提供配置多個(gè)所述子模塊,構(gòu)成由第一有線網(wǎng)絡(luò)連接的第一子系統(tǒng),和由第二有線網(wǎng)絡(luò)連接的第二子通信,所述第一子系統(tǒng)的至少一個(gè)子模塊與所述第二子系統(tǒng)的至少一個(gè)子模塊,由無線通信連接的模塊系統(tǒng)。

根據(jù)本發(fā)明的一個(gè)側(cè)面,可提供一種模塊系統(tǒng)的更新方法,使能夠數(shù)據(jù)通信包括相互由網(wǎng)絡(luò)連接的多個(gè)模塊,所述模塊系統(tǒng)的更新方法,其步驟包括:主模塊從外部設(shè)備接收對(duì)應(yīng)于數(shù)據(jù)更新對(duì)象子模塊的更新數(shù)據(jù);所述主模塊將所述更新數(shù)據(jù)發(fā)送到所述對(duì)象子模塊;及利用接收的所述更新數(shù)據(jù),更新所述對(duì)象子模塊。

此外,可提供所述更新數(shù)據(jù)是用于所述對(duì)象子模塊的固件軟件及運(yùn)營體系軟件及驅(qū)動(dòng)的數(shù)據(jù)中一個(gè)以上的模塊系統(tǒng)的更新方法。

此外,可提供只接收通過所述網(wǎng)絡(luò)發(fā)送的,與數(shù)據(jù)目的地地址一致的模塊的數(shù)據(jù)的模塊系統(tǒng)的更新方法。

此外,可提供還包括所述主模塊確認(rèn)執(zhí)行更新的所述對(duì)象子模塊的個(gè)數(shù),將各個(gè)對(duì)應(yīng)于所述對(duì)象子模塊的所述更新數(shù)據(jù),依次地發(fā)送給所述對(duì)象子模塊的模塊系統(tǒng)的更新方法。

此外,可提供還包括驗(yàn)證所述更新數(shù)據(jù)的完整性,所述更新數(shù)據(jù)具有錯(cuò)誤時(shí),所述對(duì)象子模塊向所述主模塊請(qǐng)求所述更新數(shù)據(jù)的再發(fā)送;及所述主模塊從所述對(duì)象子模塊收到所述更新數(shù)據(jù)的再發(fā)送請(qǐng)求時(shí),將所述更新數(shù)據(jù)再發(fā)送到所述對(duì)象子模塊的模塊系統(tǒng)的更新方法。

此外,可提供還包括所述主模塊將模塊更新的請(qǐng)求消息發(fā)送給所述對(duì)象子模塊,從所述對(duì)象子模塊接收對(duì)所述模塊更新的準(zhǔn)備完畢消息的模塊系統(tǒng)的更新方法。

根據(jù)本發(fā)明的一個(gè)側(cè)面,可提供一種基于模塊的機(jī)器人系統(tǒng),包括能夠相互通信的多個(gè)模塊,所述基于模塊的機(jī)器人系統(tǒng),其包括:主模塊,與外部設(shè)備通信;子模塊,一個(gè)以上由網(wǎng)絡(luò)連接,使能夠與所述主模塊數(shù)據(jù)通信;及電源模塊,為了給所述主模塊和所述子模塊供給電源,電性連接在所述主模塊及所述子模塊,且所述主模塊在所述一個(gè)以上的子模塊中,通過所述網(wǎng)絡(luò)將更新數(shù)據(jù)發(fā)送給與所述子模塊運(yùn)營有關(guān)的數(shù)據(jù)更新必要的對(duì)象子模塊。

此外,可提供所述更新數(shù)據(jù)是用于所述對(duì)象子模塊的固件軟件及運(yùn)營體系軟件及驅(qū)動(dòng)的數(shù)據(jù)中一個(gè)以上的基于模塊的機(jī)器人系統(tǒng)。

此外,可提供所述電源模塊與所述主模塊由一體形成的基于模塊的機(jī)器人系統(tǒng)。

技術(shù)效果

根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)及模塊系統(tǒng)的更新方法,對(duì)多個(gè)模塊各自的數(shù)據(jù)更新,不個(gè)別的執(zhí)行,而且可整體的執(zhí)行,可方便并時(shí)間上有效率的更新構(gòu)成模塊系統(tǒng)的個(gè)別模塊。

根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)及多模塊編譯方法,可從模塊系統(tǒng)整個(gè)程序代碼,快速有效地生成個(gè)模塊化執(zhí)行代碼。由此,由多個(gè)模塊構(gòu)成的模塊系統(tǒng)中,從整個(gè)程序代碼生成模塊化代碼進(jìn)行編譯,可方便有效的更新各模塊。

附圖說明

圖1是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的大概構(gòu)成的框圖。

圖2是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,在模塊系統(tǒng)接發(fā)模塊間數(shù)據(jù)的框圖。

圖3是示出在模塊系統(tǒng)接發(fā)模塊間的數(shù)據(jù)幀。

圖4是示出根據(jù)本發(fā)明的其他實(shí)施例的模塊系統(tǒng)大概構(gòu)成的框圖。

圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的模塊化更新中,模塊通信端執(zhí)行步驟的順序圖。

圖6是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的模塊化更新中,主模塊執(zhí)行步驟的順序圖。

圖7是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的模塊化更新中,子模塊執(zhí)行步驟的順序圖。

圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)中,計(jì)算機(jī)、主模塊、對(duì)象子模塊間的消息流程圖。

圖9是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于模塊的機(jī)器人系統(tǒng)構(gòu)成的原理圖。

圖10是示出在圖9的個(gè)別模塊的斷面圖。

圖11是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)的大概構(gòu)成的框圖。

圖12a及圖12b是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)的圖形用戶界面單元。

圖13是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯方法的執(zhí)行步驟的順序圖。

圖14是在圖13中的代碼生成器(模塊代碼生成單元)的執(zhí)行步驟的順序圖。

圖15是在圖14中代碼生成器(模塊代碼生成單元)的事件分析步驟的順序圖。

圖16a是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,在多模塊編譯系統(tǒng)被編碼的程序代碼的對(duì)模塊類的代碼列表。

圖16b是示出其他模塊被附加識(shí)別的,對(duì)模塊的類別的代碼列表。

圖16c是示出在識(shí)別的模塊間接發(fā)的,對(duì)事件處理的代碼列表。

圖17a及圖17b是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過多模塊編譯系統(tǒng)生成的模塊化代碼列表。

具體實(shí)施方式

以下,參照附圖可使本發(fā)明領(lǐng)域的技術(shù)人員容易地實(shí)施,對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)地說明。但是,本發(fā)明可由多種相異的形態(tài)被體現(xiàn),且不限定于在此說明的實(shí)施例。并且,為了在圖明確地說明本發(fā)明,與說明無關(guān)的部分進(jìn)行了省略。

在本說明書使用的用語只是為了說明特定的實(shí)施例被使用,但不是限定本發(fā)明的意圖。單數(shù)的表現(xiàn)在文字上沒有明確的指定其他意思外,可包括復(fù)數(shù)的表現(xiàn)。

在本說明書中,“包括”、“具有”或“具備”等用語是指定在說明書上記載的特征、數(shù)字、步驟、動(dòng)作、構(gòu)成要素、部件或組合這些的存在,可以理解為不預(yù)先排除一個(gè)或其以上的其他特征或數(shù)字、步驟、動(dòng)作、構(gòu)成要素、部件或組合這些的存在或附加可能性。

此外,以下的實(shí)施例是為了給本領(lǐng)域中具有平均知識(shí)的人員更明確地說明被提供的,在圖的要素形象及大小等,可為了更明確地說明而被夸張。

參考以下附圖對(duì)本發(fā)明進(jìn)行詳細(xì)地說明。

模塊系統(tǒng)

圖1是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的大概構(gòu)成的框圖。

參照?qǐng)D1,根據(jù)本發(fā)明的一個(gè)實(shí)施例,模塊系統(tǒng)200在包括相互通信可行的多個(gè)模塊210、220、230、240、250、260、270的模塊系統(tǒng)200中,可整體的執(zhí)行對(duì)各自模塊210、220、230、240、250、260、270的更新。

在本發(fā)明的實(shí)施例中,‘模塊’的意思是為了執(zhí)行模塊特征功能的功能單位。所述‘模塊’可使進(jìn)行相互通信的由網(wǎng)絡(luò)被連接,也可由物理性的被分離成各個(gè),也可布置在相同的物理空間內(nèi)。

在本發(fā)明的實(shí)施例,‘主’及‘子’的用語在說明多種模塊中,被用于相互區(qū)別的目的,不意味著‘主’和‘子’在功能上具有主從關(guān)系。

在本發(fā)明的實(shí)施例,‘更新’意味著與各個(gè)模塊的運(yùn)營有關(guān)的數(shù)據(jù)更新,更新數(shù)據(jù)可以是模塊的固件軟件、模塊的運(yùn)營體系軟件,及用于模塊的驅(qū)動(dòng)數(shù)據(jù)中的任何一個(gè)以上。

所述模塊系統(tǒng)200可包括主模塊210,和可與所述主模塊210進(jìn)行數(shù)據(jù)通信,網(wǎng)絡(luò)連接的一個(gè)以上的子模塊220、230、240、250、260、270。

所述主模塊210可與外部設(shè)備100,例如,筆記本電腦、臺(tái)式電腦或如工作站的計(jì)算機(jī),或如移動(dòng)電話、個(gè)人數(shù)字助理pda、智慧型、電子書的移動(dòng)設(shè)備,進(jìn)行通信的被連接。所述主模塊210可與所述外部設(shè)備100進(jìn)行通信的被連接,與所述外部設(shè)備100相互接發(fā)數(shù)據(jù),或可接收對(duì)所述子模塊220、230、240、250、260、270的更新數(shù)據(jù)。所述主模塊210與所述外部設(shè)備100,可由通用串行總線(usb)、紅外數(shù)據(jù)通訊(irda)、無線局域網(wǎng)(wifi)、超寬帶(uwb)、藍(lán)牙、無線個(gè)域網(wǎng)(zigbee)、碼分多址(cdma)、寬帶碼分多址移動(dòng)通信系統(tǒng)(wcdma)、線終止設(shè)備(lte)、長期演進(jìn)技術(shù)(lte-a)中任何一個(gè)方式進(jìn)行通信150。即,所述主模塊210可由usb有線的連接在所述外部設(shè)備100,也可通過wifi直接由無線連接,也可通過接入點(diǎn)(ap)無限的連接。

所述子模塊220、230、240、250、260、270與所述主模塊210進(jìn)行數(shù)據(jù)通信由網(wǎng)絡(luò)連接,作為各個(gè)固件升級(jí)可行的中央處理器(cpu),可內(nèi)裝微控制器(mcu;microcontrollerunit)。所述微處理器作為內(nèi)部存儲(chǔ)器,可包括如閃存、存儲(chǔ)固件的用戶代碼領(lǐng)域,和用于啟動(dòng)微處理器的引導(dǎo)模式(bootloader)領(lǐng)域。在本實(shí)施例,所述子模塊220、230、240、250、260、270各個(gè)可以是子通信模塊220、電源模塊230、馬達(dá)模塊240、按鈕模塊250、傳感器模塊260、顯示模塊270、攝像機(jī)模塊中任何一個(gè)。所述傳感器模塊260可以是用于傳感紫外線傳感器、觸覺傳感器、觸摸傳感器、圖像傳感器、超聲波傳感器、指紋識(shí)別傳感器、光傳感器、音響傳感器、壓力傳感器、溫度傳感器、加速度傳感器、陀螺儀傳感器、語音識(shí)別傳感器等,多種形態(tài)的物理信息的手段。

所述子模塊220、230、240、250、260、270可使與所述主模塊210相互接發(fā)數(shù)據(jù),可由網(wǎng)絡(luò)總線202連接,在本實(shí)施例,所述網(wǎng)絡(luò)總線202可以是只接收通過所述網(wǎng)絡(luò)總線202發(fā)送的,與數(shù)據(jù)的目的地地址一致的模塊數(shù)據(jù)的廣播方式。所述網(wǎng)絡(luò)總線202可由串口、局域網(wǎng)(lan)、控制器局域網(wǎng)(can)、usb、irda、wifi、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a等,多種有無線通信方式被構(gòu)成,也可進(jìn)行兩種通信。

在本實(shí)施例,所述網(wǎng)絡(luò)總線202可以是控制器局域網(wǎng)(can;controllerareanetwork)總線。利用can通信時(shí),便于模塊間即插即用的體現(xiàn),便于廣播網(wǎng)絡(luò)的體現(xiàn),可具有高信賴度,提高系統(tǒng)控制速度和穩(wěn)定性。

所述主模塊210通過所述網(wǎng)絡(luò)總線202,在所述子模塊220、230、240、250、260、270中,給需要所述子模塊的微處理器更新的對(duì)象子模塊,可發(fā)送更新所需的更新數(shù)據(jù)。

所述電源模塊230的配置是為了供給所述模塊系統(tǒng)200整個(gè)電源,由電性連接在所述主模塊210和其他子模塊220、240、250、260、270,可給所述主模塊210和其他子模塊220、240、250、260、270供給模塊運(yùn)行所需的電源。所述電源模塊230與外部電源連接,給所述模塊系統(tǒng)200供給電源,或在內(nèi)部搭載鋰離子電池,可也在所述電池供給儲(chǔ)蓄的電力。

各個(gè)的模塊210、220、230、240、250、260、270可具備塊形象的機(jī)殼,相鄰的模塊可相互直接物理性的連接,也可利用另外的連接器連接。此外,所述電源模塊230可與所述主模塊210另外的被配置,也可與所述主模塊210一起,一體的形成在一個(gè)外殼內(nèi)被配置。

一方面,在與所述模塊系統(tǒng)200通信可行的連接的外部設(shè)備100,可構(gòu)建用于生成所述模塊系統(tǒng)200的各個(gè)模塊210、220、230、240、250、260、270執(zhí)行代碼的集成開發(fā)環(huán)境系統(tǒng)(ide;integrateddevelopmentenvironment)。所述集成開發(fā)環(huán)境系統(tǒng)(ide)可包括用戶界面單元110、模塊代碼生成器120、編譯器130及模塊通信端140。用戶在所述集成開發(fā)環(huán)境系統(tǒng)上,可生成或修改用于所述模塊系統(tǒng)200的各模塊210、220、230、240、250、260、270運(yùn)行的程序。所述用戶界面單元110可以是文字用戶界面(cui;characteruserinterface)或圖形用戶界面(gui;graphicuserinterface)中的一個(gè),cui和gui也可以是相互可轉(zhuǎn)換的界面。所述集成開發(fā)環(huán)境可支援如java、c++的個(gè)體指向編程開發(fā)環(huán)境。

所述模塊代碼生成器120在所述用戶界面單元110,將編制的程序代碼分割及修改為各模塊210、220、230、240、250、260、270化程序代碼之后,可通過所述編譯器130,生成對(duì)應(yīng)于各模塊的更新數(shù)據(jù)代碼。生成的所述更新數(shù)據(jù)代碼通過模塊通信端140,可發(fā)送到以有線或無線方式連接150至可通信的所述模塊系統(tǒng)200的主模塊210。

圖2是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,在模塊系統(tǒng)接發(fā)模塊間數(shù)據(jù)的框圖,且圖3是示出在模塊系統(tǒng)接發(fā)模塊間的數(shù)據(jù)幀。

參照?qǐng)D2及圖3,根據(jù)本發(fā)明的一個(gè)實(shí)施例,模塊系統(tǒng)200可通過主模塊210從外部設(shè)備100接收數(shù)據(jù)。構(gòu)成所述模塊系統(tǒng)200的主模塊210和子模塊220、230、240、250、260、270各個(gè)作為固有的識(shí)別者,具有地址值。所述標(biāo)識(shí)符可以是媒體訪問控制地址(mac;mediumaccesscontroladdress),也可以是所述模塊分別被制造時(shí),被賦予的固有串口號(hào)碼。作為一個(gè)示例的本實(shí)施例中,所述主模塊210作為地址值可具有001,子通信模塊220作為地址值可具有002。相同地,所述子模塊230、240、250、260、270分別為地址值,可具有003、004、005、006、007。從外部設(shè)備100給所述模塊系統(tǒng)200的馬達(dá)模塊240發(fā)送特定數(shù)據(jù)時(shí),所述外部設(shè)備100向傳送的所述特定數(shù)據(jù),可傳送由附加馬達(dá)模塊240的地址值004的數(shù)據(jù)包形態(tài)。所述模塊系統(tǒng)200的主模塊210接收所述數(shù)據(jù)包之后,將所述數(shù)據(jù)包適應(yīng)于網(wǎng)絡(luò)總線203的協(xié)議進(jìn)行變換,可通過所述網(wǎng)絡(luò)總線203,將變換的所述數(shù)據(jù)包發(fā)送到連接在所述網(wǎng)絡(luò)總線203的所有模塊220、230、240、250、260、270。在本實(shí)施例,所述網(wǎng)絡(luò)總線203可以是只接收與數(shù)據(jù)目的地地址一致的模塊的所述數(shù)據(jù)的廣播方式。所述網(wǎng)絡(luò)總線203可由串口、lan、can、usb、irda、wifi、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a等,多種有無線通信方式被構(gòu)成,也可進(jìn)行兩種通信。

在本實(shí)施例,所述網(wǎng)絡(luò)總線203可以是控制器局域網(wǎng)(can;controllerareanetwork)總線。利用can通信時(shí),便于模塊間即插即用的體現(xiàn),便于廣播網(wǎng)絡(luò)的體現(xiàn),可具有高信賴度,提高系統(tǒng)控制速度和穩(wěn)定性。

所述子模塊220、230、240、250、260、270各個(gè)比較包括在所述數(shù)據(jù)包的目標(biāo)地址值和自身的地址值,判斷所述數(shù)據(jù)包是否傳達(dá)到自身的模塊。在本實(shí)施例,所述數(shù)據(jù)包的目標(biāo)模塊地址值是004,所以,馬達(dá)模塊240可判斷所述數(shù)據(jù)包發(fā)送到自身,且接收此。相反地,其他子模塊220、230、250、260、270通過所述網(wǎng)絡(luò)總線202發(fā)送的所述數(shù)據(jù)包的目標(biāo)地址值與自身的地址值不同,所以,不接收此。

圖3是示出通過所述網(wǎng)絡(luò)總線202被傳送的數(shù)據(jù)幀300的結(jié)構(gòu)。如圖所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過網(wǎng)絡(luò)總線202傳送的數(shù)據(jù)幀300可包括告知幀開始的幀起始(sof;startofframe)領(lǐng)域302、介入領(lǐng)域210、控制領(lǐng)域320、數(shù)據(jù)領(lǐng)域330、檢查數(shù)據(jù)幀的循環(huán)冗余校驗(yàn)(crc;cyclicredundancycheck)領(lǐng)域340、告知對(duì)數(shù)據(jù)接收應(yīng)答的ack領(lǐng)域350及告知幀端的幀結(jié)束(eof;endofframe)領(lǐng)域360。

所述介入領(lǐng)域210可包括含有成為數(shù)據(jù)幀300傳送目標(biāo)的模塊地址信息的id地址312,和所述模塊的內(nèi)部存儲(chǔ)器地址314,和指令(cm;commandd)316信息。所述cmd信息316包括對(duì)目標(biāo)模塊的更新開始和接收的信息,可包括對(duì)所述目標(biāo)模塊的指令信息。所述控制領(lǐng)域320包括含有在所述數(shù)據(jù)領(lǐng)域330的數(shù)據(jù)比特個(gè)數(shù)的數(shù)據(jù)長度碼(dlc;datalengthcode)信息。所述數(shù)據(jù)領(lǐng)域330是傳送到所述目標(biāo)模塊的有用數(shù)據(jù)的位置。如示出,根據(jù)本實(shí)施例的數(shù)據(jù)幀300包括對(duì)目標(biāo)模塊的id地址312和數(shù)據(jù)包330,在連接在網(wǎng)絡(luò)總線202的模塊中,只與所述id地址312一致的所述目標(biāo)模塊,才可接收數(shù)據(jù)包330。

圖4是示出根據(jù)本發(fā)明的其他實(shí)施例的模塊系統(tǒng)大概構(gòu)成的框圖。

參照?qǐng)D4,根據(jù)示出的本發(fā)明的其他實(shí)施例,模塊系統(tǒng)400可包括第一模塊系統(tǒng)200,和與所述第一模塊系統(tǒng)200可通信連接的第二模塊系統(tǒng)420。

所述第一模塊系統(tǒng)200與在圖1示出的模塊系統(tǒng)200相同的,可包括與外部設(shè)備100可通信連接的主模塊210,和作為子模塊的子通信模塊220、電源模塊230、馬達(dá)模塊240、按鈕模塊250、傳感器模塊260及顯示模塊270。所述主模塊210和所述子模塊220、230、240、250、260、270可與如can總線的廣播方式的網(wǎng)絡(luò)總線202連接。

所述第二模塊系統(tǒng)420可包括與所述第一模塊系統(tǒng)200的所述子通信模塊220由有線或無線可通信連接的子通信模塊430、攝像機(jī)模塊450,及電源模塊440。

所述電源模塊440為了供給所述第二模塊系統(tǒng)420整個(gè)電源被配置的,電性連接在其他子模塊430、450,可給各模塊的運(yùn)行供給必要的電源。各個(gè)的模塊430、440、450具備塊形象的外殼,使相鄰的模塊相互直接物理性的被連接,也可利用另外的連接器連接。此外,所述電源模塊440可與所述子通信模塊430另外的配置,也可在一個(gè)機(jī)殼內(nèi)一體的形成配置。

與所述第一模塊系統(tǒng)200相同的方式,所述第二模塊系統(tǒng)420可與子模塊430、440、450以廣播方式的網(wǎng)絡(luò)總線422被連接。在這種情況下,所述第二模塊系統(tǒng)420的子模塊430、440、450分別為固有的標(biāo)識(shí)符,可具有地址值。所述標(biāo)識(shí)符可具有媒體訪問控制地址(mac地址;mediumaccesscontroladdress),也可以是分別制造所述模塊時(shí),被賦予的固有串口號(hào)碼。作為一個(gè)示例在本實(shí)施例,子通信模塊430作為地址值可具有008,電源模塊440作為地址值具有009,攝像機(jī)模塊450作為地址值可具有010。

所述子通信模塊430與所述第一模塊系統(tǒng)200的子通信模塊220可通信的連接,所以,所述第一模塊系統(tǒng)200和所述第二模塊系統(tǒng)420可相互接發(fā)數(shù)據(jù)。如果,所述第一模塊系統(tǒng)200和所述第二模塊系統(tǒng)420,通過子通信模塊220、430以無線接發(fā)數(shù)據(jù)時(shí),所述第一模塊系統(tǒng)200和所述第二模塊系統(tǒng)420,在物理性脫離且沒有連接的位置,也可相互獨(dú)立的執(zhí)行作業(yè),共享作業(yè)處理中發(fā)生的數(shù)據(jù)。此外,所述第一模塊系統(tǒng)200和所述第二模塊系統(tǒng)420可相互接發(fā)消息,所以,可構(gòu)建有機(jī)性協(xié)作的系統(tǒng)。在這種情況下,所述第一模塊系統(tǒng)200的網(wǎng)絡(luò)總線202和所述第二模塊系統(tǒng)420的網(wǎng)絡(luò)總線422,可以是相同廣播方式的網(wǎng)絡(luò),并且可以是can總線。

根據(jù)本實(shí)施例,所述第一模塊系統(tǒng)200的子通信模塊220,和所述第二模塊系統(tǒng)420的子通信模塊430,可事先接發(fā)并存儲(chǔ)包括在相互對(duì)方的模塊系統(tǒng)模塊的地址值。即,第一模塊系統(tǒng)200的子模塊220掌握包括在第二模塊系統(tǒng)420的對(duì)模塊430、440、450的地址,可虛擬的識(shí)別如同所述第一模塊系統(tǒng)200和所述第二模塊系統(tǒng)420被連接。同樣地,第二模塊系統(tǒng)420的子模塊430也是掌握包括在所述第一模塊系統(tǒng)200的對(duì)模塊210、220、230、240、250、260、270的地址,可虛擬的識(shí)別如同所述第一模塊系統(tǒng)200和所述第二模塊系統(tǒng)420被連接。

從所述外部設(shè)備100向所述第二模塊系統(tǒng)420的攝像機(jī)模塊450發(fā)送特定數(shù)據(jù)(消息)時(shí),所述外部設(shè)備100以在將傳送的所述特定數(shù)據(jù)附加所述攝像機(jī)模塊450的地址值010的數(shù)據(jù)包形態(tài),傳送到所述第一模塊系統(tǒng)200的主模塊210。其次,所述第一模塊系統(tǒng)200的主模塊210接收所述數(shù)據(jù)包之后,將所述數(shù)據(jù)包適應(yīng)于所述網(wǎng)絡(luò)總線202的協(xié)議進(jìn)行變換,將變換的所述數(shù)據(jù)包通過所述網(wǎng)絡(luò)總線202,可發(fā)送到連接在所述網(wǎng)絡(luò)總線202的所有子模塊220、230、240、250、260、270。在這種情況下,所述子模塊220、230、240、250、260、270的地址值不是010,所以,子模塊230、240、250、260、270不接收所述數(shù)據(jù)包的目標(biāo)地址值與自身地址不同的所述數(shù)據(jù)包。只是,所述子通信模塊220事先知道,對(duì)構(gòu)成所述第二模塊系統(tǒng)420的模塊430、440、450的地址信息008、009、010,所以,可知與自身連接的第二模塊系統(tǒng)420的攝像機(jī)模塊450地址為010。因此,即使所述數(shù)據(jù)包的目標(biāo)模塊地址010與自身的地址002不同,也接收所述數(shù)據(jù)包,可發(fā)送到所述第二模塊系統(tǒng)420的子通信模塊430。所述子通信模塊220、430之間的通信402可以是usb、irda、wifi、uwb、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a中任何一個(gè)方式。

所述主模塊210可接收從所述外部設(shè)備100包括在所述第二模塊系統(tǒng)420的,對(duì)模塊430、440、450的更新數(shù)據(jù)代碼并存儲(chǔ)。所述主模塊210可通過所述子通信模塊220、430,將接收的所述更新數(shù)據(jù)代碼發(fā)送到所述第二模塊系統(tǒng)420。因此,可執(zhí)行對(duì)與所述第一模塊系統(tǒng)200的主模塊210物理性隔離的所述第二模塊系統(tǒng)420的模塊化數(shù)據(jù)更新。

圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的模塊化更新中,模塊通信端執(zhí)行步驟的順序圖。圖6是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的模塊化更新中,主模塊執(zhí)行步驟的順序圖。

圖7是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)的模塊化更新中,子模塊執(zhí)行步驟的順序圖。圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的模塊系統(tǒng)中,計(jì)算機(jī)、主模塊、對(duì)象子模塊間的消息流程圖。

參照?qǐng)D1、圖5及圖8,對(duì)模塊通信端的更新執(zhí)行步驟進(jìn)行說明。首先,由所述編譯器130模塊化生成的更新數(shù)據(jù)代碼是二進(jìn)制機(jī)器語言代碼形態(tài)。在步驟510中,所述模塊通信端140從所述編譯器130接收對(duì)n個(gè)模塊各個(gè)的更新數(shù)據(jù)代碼。其次,所述模塊通信端140將成為更新目標(biāo)的各個(gè)模塊地址,添加在包括所述模塊化更新數(shù)據(jù)代碼的數(shù)據(jù)幀的通信標(biāo)。例如,在步驟520中,模塊的mac地址或固有的串口數(shù)字的一部分作為模塊地址,添加在通信標(biāo)。

其次,在步驟530中,所述模塊通信端140可使適用于所述模塊通信端140和所述主模塊210之間的通信協(xié)議,編碼所述數(shù)據(jù)幀。即,適應(yīng)于無線的wifi或藍(lán)牙方式,或有線的usb通信協(xié)議,可編碼將傳送的各個(gè)數(shù)據(jù)。在這種情況下,在步驟540中,為了傳送多模塊的更新數(shù)據(jù)代碼,所述模塊通信端140可將所述更新數(shù)據(jù)代碼上傳到配置在內(nèi)部的先進(jìn)先出存儲(chǔ)器(firstinfirstoutmemory,fifo存儲(chǔ)器)。即,所述模塊通信端140以先進(jìn)先出方式,將編碼的所述模塊化更新數(shù)據(jù)代碼存儲(chǔ)在內(nèi)部存儲(chǔ)器之后,可發(fā)送到所述主模塊210。例如,在步驟550中,所述模塊通信端140發(fā)送n個(gè)模塊的模塊化更新數(shù)據(jù)代碼時(shí),用于在所述fifo存儲(chǔ)器第一次被上傳的第一模塊的更新數(shù)據(jù)代碼,第一個(gè)發(fā)送到所述第一主模塊210。

其次,所述模塊系統(tǒng)200的第一模塊從所述主模塊210,可通過所述網(wǎng)絡(luò)總線202接收所述更新數(shù)據(jù)代碼。在這種情況下,在步驟560中,為了確認(rèn)完整性,所述模塊通信端140可給所述主模塊210再發(fā)送所述更新數(shù)據(jù)代碼,所述主模塊210也可將第二次接收的所述更新數(shù)據(jù)代碼再發(fā)送到所述第一模塊。其次,在步驟570中,所述第一模塊可相互比較兩次接收的所述更新數(shù)據(jù)代碼,驗(yàn)證完整性。如果,完整性驗(yàn)證570沒有錯(cuò)誤時(shí),所述第一模塊生成完成消息,發(fā)送至所述主模塊210。如果,在驗(yàn)證完整性的過程中發(fā)生錯(cuò)誤時(shí),所述第一模塊生成錯(cuò)誤消息,發(fā)送至所述主模塊210。由此,所述主模塊210將所述錯(cuò)誤消息發(fā)送到所述模塊通信端140,可請(qǐng)求再發(fā)送具有錯(cuò)誤的相應(yīng)部分的數(shù)據(jù),由此,所述模塊通信端140可再發(fā)送具有錯(cuò)誤的相應(yīng)部分的數(shù)據(jù)。所述主模塊210將完成消息發(fā)送到所述模塊通信端140,告知對(duì)第一模塊的更新沒有錯(cuò)誤的進(jìn)行。

其次,在步驟540中,所述模塊通信端140在所述fifo存儲(chǔ)器去除用于第一模塊的更新數(shù)據(jù)代碼,可上傳相當(dāng)于下一個(gè)模塊的更新數(shù)據(jù)代碼。此外,在步驟550中,所述模塊通信端140將第二次上傳到所述fifo存儲(chǔ)器的第二模塊的更新數(shù)據(jù)代碼,發(fā)送到所述模塊系統(tǒng)200的主模塊210。相同地,在步驟560中,為了確認(rèn)完整性,所述模塊通信端140可再發(fā)送所述第二模塊的更新數(shù)據(jù)代碼。其次,在步驟570中,所述模塊系統(tǒng)200的第二模塊,相互比較兩次接收的所述更新數(shù)據(jù)代碼,可驗(yàn)證完整性。如果完整性驗(yàn)證570沒有錯(cuò)誤時(shí),生成完成消息發(fā)送至所述主模塊210。如果,在完整性驗(yàn)證過程中發(fā)生錯(cuò)誤時(shí),所述第二模塊生成錯(cuò)誤消息,發(fā)送至所述主模塊210。由此,所述主模塊210將所述錯(cuò)誤消息發(fā)送到所述模塊通信端140,可請(qǐng)求再發(fā)送具有錯(cuò)誤的相應(yīng)部分的數(shù)據(jù)。由此,所述模塊通信端140可再發(fā)送具有錯(cuò)誤的相應(yīng)部分的數(shù)據(jù)。所述主模塊210將完成消息發(fā)送到所述模塊通信端140,告知對(duì)第二模塊的更新沒有錯(cuò)誤的進(jìn)行。

與此相同的方式,所述模塊通信端140在發(fā)送第n次模塊的更新數(shù)據(jù)代碼之后,確認(rèn)沒有錯(cuò)誤,使完成對(duì)所述模塊系統(tǒng)200各個(gè)模塊的更新。

參照?qǐng)D1、圖6及圖8,對(duì)主模塊的更新執(zhí)行步驟進(jìn)行說明。

參照?qǐng)D1、圖6及圖8,首先,在步驟610,所述模塊系統(tǒng)200的主模塊210進(jìn)行根據(jù)自身固件的特定進(jìn)程,在步驟620,檢查從所述模塊通信端140是否接收數(shù)據(jù)。所述主模塊210可從所述模塊通信端140接收模塊系統(tǒng)200的模塊化更新數(shù)據(jù)代碼。如果,在步驟620,所述主模塊210接收數(shù)據(jù)時(shí),在步驟622,所述主模塊210解碼通信協(xié)議,解釋接收數(shù)據(jù)的內(nèi)容。在步驟630中,所述接收的數(shù)據(jù)可以是對(duì)模塊系統(tǒng)200模塊的更新指令。如果,在步驟630,所述接收的數(shù)據(jù)不是更新指令時(shí),在步驟632,所述主模塊210可執(zhí)行根據(jù)相應(yīng)指令的另外的作業(yè)。如果,在步驟630,所述接收的數(shù)據(jù)是更新指令時(shí),在步驟640,所述主模塊210確認(rèn)將要更新模塊的個(gè)數(shù)n。

其次,在步驟642,所述主模塊210通過所述網(wǎng)絡(luò)總線202,可發(fā)送對(duì)第一模塊的更新請(qǐng)求消息。在這種情況下,如果,在步驟650,所述第一模塊正常地接收所述更新請(qǐng)求消息,作為此應(yīng)答發(fā)送準(zhǔn)備完成消息,由此,所述主模塊210正常地接收所述準(zhǔn)備完成消息時(shí),在步驟660,所述主模塊210第一次發(fā)送對(duì)第一模塊的更新數(shù)據(jù)代碼。在這種情況下,在步驟662,為了確認(rèn)完整性所述主模塊210可將所述更新數(shù)據(jù)代碼再發(fā)送到所述第一模塊。其次,在步驟670,所述主模塊210從所述第一模塊驗(yàn)證完整性,在步驟642,在驗(yàn)證完整性的過程中沒有錯(cuò)誤時(shí),將更新請(qǐng)求消息發(fā)送到第二模塊,以于第一模塊形同的過程,對(duì)第二模塊進(jìn)行更新。如果,在驗(yàn)證所述完整性670的過程具有錯(cuò)誤時(shí),在步驟672,所述第一模塊可將錯(cuò)誤消息發(fā)送到所述主模塊210,由此,在步驟660,所述主模塊210再發(fā)送對(duì)所述第一模塊的更新數(shù)據(jù)代碼。

一方面,在步驟650,所述主模塊210接收不到對(duì)第一模塊的更新準(zhǔn)備完成消息,在步驟652,經(jīng)過規(guī)定時(shí)間,在步驟654,所述主模塊210將更新錯(cuò)誤消息發(fā)送到所述模塊通信端140,在步驟610,可執(zhí)行自身原來的主進(jìn)程。

參照?qǐng)D1、圖7及圖8,對(duì)子模塊的更新執(zhí)行步驟進(jìn)行說明。

參照?qǐng)D1、圖7及圖8,首先,在步驟710,模塊系統(tǒng)200的子模塊220、230、240、250、260、270進(jìn)行根據(jù)固件的特定進(jìn)程,在步驟720,檢查從所述主模塊210是否接收數(shù)據(jù)。子模塊220、230、240、250、260、270分別可從所述模塊主模塊210,接收更新數(shù)據(jù)代碼。如果,在步驟720,子模塊220、230、240、250、260、270分別接收數(shù)據(jù)時(shí),在步驟730,所述子模塊220、230、240、250、260、270分別解碼通信協(xié)議,解釋接收數(shù)據(jù)的內(nèi)容。作為一個(gè)示例,所述模塊系統(tǒng)200的網(wǎng)絡(luò)總線202是can總線時(shí),所述子模塊220、230、240、250、260、270分別從所述主模塊210接收的數(shù)據(jù),去除關(guān)于通信協(xié)議的標(biāo),可確認(rèn)接收的數(shù)據(jù)cmd316是否為請(qǐng)求更新的消息。如果,在步驟740,所述接收的數(shù)據(jù)布置更新指令時(shí),在步驟742,所述子模塊220、230、240、250、260、270分別可執(zhí)行根據(jù)相應(yīng)指令的另外的作業(yè)。如果,在步驟740,所述接收的數(shù)據(jù)是更新指令時(shí),在步驟750,所述子模塊220、230、240、250、260、270分別為了更新,停止進(jìn)行中的進(jìn)程,將程序程序計(jì)算器(programcounter)跳躍至引導(dǎo)裝載程序。

其次,在步驟760,所述子模塊220、230、240、250、260、270分別可給所述主模塊210發(fā)送用于更新的準(zhǔn)備完成的準(zhǔn)備完成消息。其次,在步驟770,所述子模塊220、230、240、250、260、270分別將從所述主模塊210接收的更新數(shù)據(jù)代碼,傳遞到用戶代碼領(lǐng)域。在這種情況下,在步驟780,所述子模塊220、230、240、250、260、270分別為了確認(rèn)所述更新數(shù)據(jù)代碼的完整性,從所述主模塊210再一次接收所述更新數(shù)據(jù),在步驟790,可進(jìn)行在與以前傳遞到用戶代碼領(lǐng)域的數(shù)據(jù)進(jìn)行比較的驗(yàn)證過程。如果,在所述完整性驗(yàn)證790過程具有錯(cuò)誤時(shí),在步驟794,所述子模塊220、230、240、250、260、270分別可將錯(cuò)誤消息發(fā)送到所述主模塊210,由此,在步驟770,所述主模塊210再發(fā)送對(duì)所述子模塊220、230、240、250、260、270各個(gè)的數(shù)據(jù)更新代碼。如果,在所述完整性驗(yàn)證790過程沒有錯(cuò)誤時(shí),在步驟792,所述子模塊220、230、240、250、260、270分別重置自身的軟件再運(yùn)行。

在上述的實(shí)施例中,舉例說明了主模塊發(fā)送與子模塊的運(yùn)營有關(guān)的更新數(shù)據(jù),但所述主模塊也可進(jìn)行與自身的模塊有關(guān)的數(shù)據(jù)更新。

如上述,根據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)模塊系統(tǒng)及模塊系統(tǒng)的更新方法,不個(gè)別的執(zhí)行對(duì)多模塊各個(gè)的更新,可整體性的執(zhí)行,可使簡(jiǎn)便且有效的更新構(gòu)成模塊系統(tǒng)的個(gè)別模塊的數(shù)據(jù)。

此外,將構(gòu)成模塊系統(tǒng)的多種模塊,由多種方式結(jié)合并連接,可構(gòu)建多種目的的模塊系統(tǒng)。例如,結(jié)合電源模塊和攝像機(jī)模塊及主模塊,可構(gòu)建監(jiān)視用模塊系統(tǒng),利用電源模塊、主模塊、馬達(dá)模塊及攝像機(jī)模塊,也可構(gòu)建移動(dòng)式模塊系統(tǒng)。此外,將由相同的模塊構(gòu)成的模塊系統(tǒng),用于其他用途時(shí),不必要個(gè)別開發(fā)且個(gè)別更新對(duì)構(gòu)成所述模塊系統(tǒng)的各個(gè)模塊的數(shù)據(jù),可由整體系統(tǒng)一次性的整體進(jìn)行更新。

因此,可再使用構(gòu)成模塊系統(tǒng)的模塊,簡(jiǎn)單的交替現(xiàn)有模塊系統(tǒng)的數(shù)據(jù),可方便的構(gòu)建多種其他目的的模塊系統(tǒng)。

基于模塊的機(jī)器人系統(tǒng)

圖9是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于模塊的機(jī)器人系統(tǒng)構(gòu)成的原理圖,圖10是示出在圖9的個(gè)別模塊的斷面圖。

參照?qǐng)D9及圖10,根據(jù)本發(fā)明的一個(gè)實(shí)施例,基于模塊的機(jī)器人系統(tǒng)900時(shí)在圖1示出的模塊系統(tǒng)的應(yīng)用程序,基本構(gòu)成與圖1的實(shí)施例相同,所以,以下只對(duì)基于模塊的機(jī)器人系統(tǒng)900的特定事項(xiàng)進(jìn)行說明。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,在包括可相互通信的多個(gè)模塊910、920、930、940、950的基于模塊的機(jī)器人系統(tǒng)900中,基于模塊的機(jī)器人系統(tǒng)900可更新對(duì)各個(gè)模塊910、920、930、940、950。

所述基于模塊的機(jī)器人系統(tǒng)900,可包括主模塊910,與所述主模塊910可進(jìn)行數(shù)據(jù)通信網(wǎng)絡(luò)連接的一個(gè)以上的子模塊920、930、940、950。在本實(shí)施例,主模塊910、電源模塊920、按鈕模塊930、子通信模塊940及馬達(dá)模塊950依次可通信的連接,構(gòu)成模塊系統(tǒng)900。所述各個(gè)模塊910、920、930、940、950是規(guī)格化的直六面體殼911形象,包括本體殼911b和覆蓋此的蓋殼911a。在所述本體殼911b內(nèi)搭載用于執(zhí)行各個(gè)模塊910、920、930、940、950特定功能的微控制器990。在各個(gè)所述模塊910、920、930、940、950的四個(gè)側(cè)面,可配置用于結(jié)合相鄰模塊的結(jié)合器具980、與相鄰的模塊電性連接,用于數(shù)據(jù)通信的總線銷970,和用于供給電源的電源供給銷970。主模塊910、電源模塊920、按鈕模塊930及子通信模塊940可由所述結(jié)合器具980,由相鄰的狀態(tài)被結(jié)合,在這種情況下,形成在各模塊的總線銷970和電源供給銷970,可分別接觸形成在結(jié)合其他模塊的總線銷970和電源供給銷970。因此,相互結(jié)合的模塊之間可供給電源,形成網(wǎng)絡(luò)可接發(fā)數(shù)據(jù)。一方面,在本實(shí)施例中,所述馬達(dá)模塊950不是由所述子通信模塊940和結(jié)合器具980的結(jié)合,而是,也可由另外的連接器940被連接。所述連接器940可包括電源供給線和用于接發(fā)數(shù)據(jù)的數(shù)據(jù)線。

所述結(jié)合器具980的配置用于連接相鄰兩個(gè)模塊。在本實(shí)施例,作為所述結(jié)合器具980可配置在本體殼911b側(cè)面的結(jié)合銷982和由磁力拉住所述結(jié)合銷982的磁鐵981。由所述結(jié)合銷982和所述磁鐵981,配置在相鄰位置的兩個(gè)模塊,可由相互磁力被拉住結(jié)合。在本實(shí)施例,作為所述結(jié)合器具980舉例說明了結(jié)合銷982和磁鐵981,但不限定于此,也可使用其他方式的結(jié)合器具。例如,在所述本體殼911b配置凸出單元和收容所述凸出單元的灣入單元,使兩個(gè)相鄰模塊的所述凸出單元和所述灣入單元相結(jié)合的方式,也可結(jié)合兩個(gè)模塊。

所述主模塊910可與外部設(shè)備100,筆記本電腦、臺(tái)式電腦或如工作站的計(jì)算機(jī),或移動(dòng)電話、個(gè)人數(shù)字助理pda、智慧型、如電子書的移動(dòng)設(shè)備可通信的被連接。在本實(shí)施例,所述主模塊910可與所述計(jì)算機(jī)或與所述移動(dòng)設(shè)備可進(jìn)行wifi通信的連接,與用戶的計(jì)算機(jī)或與移動(dòng)外部設(shè)備100接發(fā)相互數(shù)據(jù),或可接收對(duì)所述子模塊920、930、940、950的更新數(shù)據(jù)。當(dāng)然,所述主模塊910可與所述計(jì)算機(jī)或所述移動(dòng)設(shè)備,由usb、irda、wifi、uwb、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a中任何一個(gè)方式,可通信的連接150。

所述子模塊920、930、940、950可與所述主模塊910接發(fā)數(shù)據(jù),可由網(wǎng)絡(luò)總線970連接,在本實(shí)施例,所述網(wǎng)絡(luò)總線970可以是只接收通過網(wǎng)絡(luò)總線970發(fā)送的數(shù)據(jù)的目的地地址一致的模塊數(shù)據(jù)的廣播方式。

所述網(wǎng)絡(luò)總線970可由串口、lan、can、usb、irda、wifi、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a等,多種有無線通信方式被構(gòu)成,也可進(jìn)行兩種通信。

在本實(shí)施例,所述網(wǎng)絡(luò)總線970可以是控制器局域網(wǎng)(can;controllerareanetwork)總線。利用can通信時(shí),便于模塊間即插即用的體現(xiàn),便于廣播網(wǎng)絡(luò)的體現(xiàn),可具有高信賴度,提高系統(tǒng)控制速度和穩(wěn)定性。

所述主模塊910通過所述網(wǎng)絡(luò)總線970,在所述子模塊920、930、940、950中,可將對(duì)更新必要的數(shù)據(jù)發(fā)送到子模塊的微處理器990的更新必要的對(duì)象子模塊。

如上述,根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于模塊的機(jī)器人系統(tǒng),對(duì)多個(gè)由網(wǎng)絡(luò)連接的模塊各自的更新,不個(gè)別的執(zhí)行可整體的執(zhí)行,可方便且有效率的更新構(gòu)成基于模塊的機(jī)器人系統(tǒng)的個(gè)別模塊。

此外,將構(gòu)成模塊系統(tǒng)的多種模塊,由多種方式結(jié)合并連接,可構(gòu)成多種目的的機(jī)器人系統(tǒng)。例如,結(jié)合電源模塊和攝像機(jī)模塊主模塊,可構(gòu)建監(jiān)視用機(jī)器人系統(tǒng),利用電源模塊、主模塊和馬達(dá)模塊及攝像機(jī)模塊,也可構(gòu)建移動(dòng)式機(jī)器人系統(tǒng)。此外,由相同的模塊構(gòu)成的基于模塊的機(jī)器人系統(tǒng),用于其他用途時(shí),不必要個(gè)別開發(fā)且個(gè)別更新對(duì)構(gòu)成機(jī)器人系統(tǒng)的各個(gè)模塊的數(shù)據(jù),可執(zhí)行對(duì)整體系統(tǒng)一次性的整體進(jìn)行更新。

多模塊編譯系統(tǒng)

圖11是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)的大概構(gòu)成的框圖。

參照?qǐng)D11,根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)1120為了生成包括在含有多個(gè)模塊的模塊系統(tǒng)1140的各個(gè)模塊1141、1142、1143、1144、1145、1146、1147化執(zhí)行代碼被配置。在本實(shí)施例中,所述多個(gè)模塊1141、1142、1143、1144、1145、1146、1147可由網(wǎng)絡(luò)相互連接。

所述多模塊編譯系統(tǒng)1120可搭載在筆記本電腦、臺(tái)式電腦,或如工作站的計(jì)算機(jī),或如移動(dòng)電話、pda、智慧型、電子書的移動(dòng)設(shè)備內(nèi)。

在相互可通信的包括多個(gè)模塊1141、1142、1143、1144、1145、1146、1147的模塊系統(tǒng)1140中,所述模塊系統(tǒng)1140可更新各個(gè)模塊1141、1142、1143、1144、1145、1146、1147。所述模塊系統(tǒng)1140與在圖1示出的模塊系統(tǒng)200具有相同的構(gòu)成。

所述模塊系統(tǒng)1140可包括主模塊1141,和可使與所述主模塊1141數(shù)據(jù)通信,由網(wǎng)絡(luò)連接的一個(gè)以上的子模塊1142、1143、1144、1145、1146、1147。

所述主模塊1141可與筆記本電腦、臺(tái)式電腦或如工作站的計(jì)算機(jī),或移動(dòng)電話、pda、智慧型、如電子書的移動(dòng)設(shè)備可通信的被連接。更具體地,所述主模塊1141可與所述計(jì)算機(jī)或所述移動(dòng)設(shè)備的模塊通信端1130可通信的被連接。由此,所述主模塊1141與用戶的計(jì)算機(jī)或移動(dòng)設(shè)備的外部設(shè)備相互接發(fā)數(shù)據(jù),或可接收對(duì)所述子模塊1142、1143、1144、1145、1146、1147的更新數(shù)據(jù)。所述主模塊1141可與所述計(jì)算機(jī)或所述移動(dòng)設(shè)備,由usb、irda、wifi、uwb、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a中任何一個(gè)方式通信1132。即,所述主模塊1141也可由usb,有線連接在模塊通信端1130,也可通過wifi直接由無線連接,也可通過接入點(diǎn)(ap)由無線連接。

所述子模塊1142、1143、1144、1145、1146、1147可與所述主模塊1141進(jìn)行數(shù)據(jù)通信的由網(wǎng)絡(luò)連接,且作為各更新的中央處理裝置(cpu)可內(nèi)裝微控制器(mcu;microcontrollerunit)。所述微處理器作為內(nèi)部存儲(chǔ)器,可包括如閃存、存儲(chǔ)固件的用戶代碼領(lǐng)域,和用于啟動(dòng)微處理器的引導(dǎo)模式(bootloader)領(lǐng)域。在本實(shí)施例,所述子模塊1142、1143、1144、1145、1146、1147各個(gè)可以是子通信模塊1142、電源模塊1143、馬達(dá)模塊1144、按鈕模塊1145、傳感器模塊1146、顯示模塊1147、射線機(jī)模塊中任何一個(gè)。

所述子模塊1142、1143、1144、1145、1146、1147可使與所述主模塊1141相互接發(fā)數(shù)據(jù),可由網(wǎng)絡(luò)總線1148連接。在本實(shí)施例,所述網(wǎng)絡(luò)總線1148可以是通過所述網(wǎng)絡(luò)總線1148發(fā)送的,只與數(shù)據(jù)的目的地地址一致的模塊接收數(shù)據(jù)的廣播方式。所述網(wǎng)絡(luò)總線1148可由串口、lan、can、usb、irda、wifi、藍(lán)牙、zigbee、cdma、wcdma、lte、lte-a等,多種有無線通信方式被構(gòu)成,也可進(jìn)行兩種通信。

在本實(shí)施例,所述網(wǎng)絡(luò)總線1148可以是控制器局域網(wǎng)(can;controllerareanetwork)總線。利用can通信時(shí),便于模塊間即插即用的體現(xiàn),便于廣播網(wǎng)絡(luò)的體現(xiàn),可具有高信賴度,提高系統(tǒng)控制速度和穩(wěn)定性。

所述主模塊1141通過所述網(wǎng)絡(luò)總線1148,在所述子模塊1142、1143、1144、1145、1146、1147中,給需要所述子模塊的微處理器更新的對(duì)象子模塊,可發(fā)送更新所需的更新數(shù)據(jù)。

所述電源模塊1143為了供給所述模塊系統(tǒng)1140整個(gè)電源被配置,由電性連接在所述主模塊1141和其他子模塊1142、1144、1145、1146、1147,可供給各模塊運(yùn)行必要的電源。各個(gè)模塊1141、1142、1143、1144、1145、1146、1147具備塊形象的機(jī)殼,使相鄰的模塊之間相互直接由物理性連接,也可利用另外的連接器連接。此外,所述電源模塊1143可與所述主模塊1141另外的配置,也可一體的形成在一個(gè)機(jī)殼內(nèi)配置。

所述多模塊編譯系統(tǒng)1120可包括模塊識(shí)別單元1122、事件分析單元1123、模塊代碼生成單元1124、編譯器單元1126。所述模塊識(shí)別單元1122可識(shí)別用于驅(qū)動(dòng)模塊系統(tǒng)1140的,執(zhí)行整個(gè)程序代碼的對(duì)象模塊。所述程序代碼可由至少一部分為如c++、c#、java的面向?qū)ο蟮挠?jì)算機(jī)言語(objectorientedprogramlanguage)被編制。例如,所述整個(gè)程序代碼是與模塊系統(tǒng)1140的按鈕模塊1145和馬達(dá)模塊1144驅(qū)動(dòng)有關(guān)的程序代碼時(shí),所述模塊識(shí)別單元1122分析所述整個(gè)程序代碼,可掌握所述按鈕模塊1145和所述馬達(dá)模塊1144為程序的對(duì)象模塊。

所述事件分析單元1123分析所述模塊系統(tǒng)1140的整個(gè)程序代碼,可分析發(fā)生在所述對(duì)象模塊1145、1144的多種事件。

所述事件可包括傳送到模塊間的構(gòu)成模塊系統(tǒng)1140的通信數(shù)據(jù)包、一個(gè)模塊傳送給其他模塊的操作指令或消息及一般數(shù)據(jù)的接發(fā)。此外,所述事件與其他模塊無關(guān),在自身模塊的操作中,可包括由特定條件變更等的操作變更。示例性的,所述整個(gè)程序是對(duì)根據(jù)所述按鈕模塊1145的開閉的所述馬達(dá)模塊1144的操作時(shí),所述事件分析單元1123可掌握在所述整個(gè)程序代碼內(nèi),所述按鈕模塊1145和所述馬達(dá)模塊1144間存在事件。

所述模塊代碼生成單元1124分析在所述模塊識(shí)別單元1122掌握的所述對(duì)象模塊和在所述事件分析單元1123掌握的所述對(duì)象模塊間事件的關(guān)聯(lián)性,可將所述整個(gè)程序代碼分割成所述對(duì)象模塊化模塊代碼并生成。例如,所述模塊系統(tǒng)1140由主模塊1141、馬達(dá)模塊1144、電源模塊1143及顯示模塊1147的四個(gè)模塊構(gòu)成時(shí),用戶可開發(fā)這四個(gè)模塊相互關(guān)聯(lián)運(yùn)行的模塊系統(tǒng)的整個(gè)程序代碼。并且,所述模塊代碼生成單元1124分析用戶開發(fā)的整個(gè)程序代碼,分割成各個(gè)模塊,即對(duì)主模塊1141執(zhí)行動(dòng)作的第一模塊代碼、對(duì)馬達(dá)模塊1144執(zhí)行動(dòng)作的第二模塊代碼、對(duì)電源模塊1143執(zhí)行動(dòng)作的第三模塊代碼,及對(duì)顯示模塊1147動(dòng)作的第四模塊代碼,可生成模塊代碼。在本實(shí)施例,舉例說明了所述事件分析單元1123和所述模塊代碼生成單元1124另外被配置,但是,所述模塊代碼生成單元1124也可包括所述事件分析單元1123。在這種情況下,所述模塊代碼生成單元1124基于發(fā)生在所述對(duì)象模塊1145、1144的事件和與所述對(duì)象模塊1145、1144的關(guān)聯(lián)性,可將所述整個(gè)程序代碼分割成所述對(duì)象模塊化模塊代碼并生成。

所述編譯器單元1126將從所述模塊代碼生成單元1124生成的所述對(duì)象模塊化模塊代碼進(jìn)行編譯,可生成所述對(duì)象模塊化執(zhí)行代碼1127。所述編譯器單元1126編譯如c++、c#、java的高級(jí)語言,可生成適合于所述對(duì)象模塊的微控制器的二進(jìn)制代碼的機(jī)器語言代碼1127。生成的所述機(jī)器語言代碼1127作為通信單元,通過模塊通信單元1130,可發(fā)送到所述模塊系統(tǒng)1140的主模塊1141。

一方面,所述多模塊編譯系統(tǒng)1120可包括從所述模塊代碼生成單元1124生成的,存儲(chǔ)對(duì)象模塊化模塊代碼或所述程序代碼的代碼數(shù)據(jù)庫單元1125。由此,用戶編程開發(fā)現(xiàn)已被生成的模塊化模塊代碼時(shí),可再活用或參照。

一方面,所述多模塊編譯系統(tǒng)1120可提供用戶編制所述程序代碼時(shí),可利用的應(yīng)用程序編碼界面(api;applicationprogramminginterface)。

一方面,所述多模塊編譯系統(tǒng)1120可包括生成所述模塊系統(tǒng)1140的整個(gè)程序代碼,可使用戶編輯的提供用戶界面的用戶界面單元1200。所述用戶界面單元1200可包括通過連接在計(jì)算機(jī)鍵盤或鼠標(biāo),收到用戶的輸入,顯示相應(yīng)內(nèi)容的顯示器。所述用戶界面單元1200可相互轉(zhuǎn)換文字用戶界面(cui;characteruserinterface)和圖形用戶界面(gui;graphicuserinterface)。因此,用戶可直接通過鍵盤編制程序代碼,選擇圖形圖像可編址已生成的標(biāo)準(zhǔn)代碼,也可將程序?qū)ο竽K的個(gè)體圖像連接到顯示器上或修改或編輯,生成新的程序代碼。

此外,所述模塊系統(tǒng)1140和所述模塊通信端1130可通信的被連接時(shí),所述多模塊編譯系統(tǒng)1120還可包括自動(dòng)識(shí)別構(gòu)成所述模塊系統(tǒng)1140的模塊種類和個(gè)數(shù)的模塊識(shí)別單元(未示出)。

圖12a及圖12b是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)的圖形用戶界面單元。

參照?qǐng)D11及圖12a及圖12b,根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形用戶界面單元1200,利用計(jì)算機(jī)圖形可將構(gòu)成模塊系統(tǒng)的模塊1250、1260、1270顯示在顯示裝置。此外,鼠標(biāo)或鍵盤,或收到用戶手指觸摸的輸入,連接或在組合模塊,可使生成模塊系統(tǒng)1140的整個(gè)程序代碼。

所述圖形用戶界面單元1200選擇并編輯構(gòu)成模塊系統(tǒng)的模塊,可包括能將設(shè)置各模塊功能的主窗口1202和構(gòu)成模塊系統(tǒng)的多種類模塊,顯示為圖標(biāo)形態(tài)的模塊選擇窗口1210,和顯示生成、存儲(chǔ)及編輯程序代碼文件的多種選單的選單窗口1204。此外,在所述主窗口1202內(nèi)可顯示選擇或刪除,或還原之前編輯內(nèi)容的編輯圖標(biāo)1206。例如,用戶附加新模塊進(jìn)行編程時(shí),用戶可在模塊選擇窗口1210選擇新模塊,在這種情況下,程序代碼上可被宣告對(duì)相應(yīng)模塊的類別變數(shù)。此外,選擇在主窗口1202內(nèi)的模塊時(shí),各個(gè)模塊可顯示可執(zhí)行的行動(dòng)列表。在這種情況下,被顯示的模塊化行動(dòng)列表以提供標(biāo)準(zhǔn)列表為基礎(chǔ),用戶附加模塊化動(dòng)作項(xiàng)目更新列表,或沒有提供在列表,也可轉(zhuǎn)換為cui環(huán)境,用戶直接編程。

在本實(shí)施例,在真實(shí)世界1201相互連接按鈕模塊1260和馬達(dá)模塊1270,使在主窗口1202內(nèi)作為對(duì)所述按鈕模塊1260行動(dòng)列表,對(duì)點(diǎn)擊按鈕的行動(dòng)也可由列表顯示。用戶選擇點(diǎn)擊所述按鈕時(shí),在所述程序代碼的所述按鈕類別內(nèi),可生成用于設(shè)置對(duì)點(diǎn)擊所述按鈕模塊1260按鈕時(shí),發(fā)生事件內(nèi)容的按鈕點(diǎn)擊事件處理程序。并且,在所述按鈕點(diǎn)擊事件處理程序內(nèi),執(zhí)行點(diǎn)擊所述按鈕時(shí),對(duì)模塊系統(tǒng)動(dòng)作的內(nèi)容可被編程。例如,用戶點(diǎn)擊所述按鈕模塊1260的按鈕時(shí),將所述馬達(dá)模塊1270的馬達(dá)從0度旋轉(zhuǎn)到180度進(jìn)行編程時(shí),用戶可在所述按鈕類別內(nèi)生成的按鈕點(diǎn)擊事件處理程序部分,編制給馬達(dá)模塊1270傳送目標(biāo)旋轉(zhuǎn)角度值的程序。一方面,在所述馬達(dá)模塊1270的立場(chǎng)上,在有關(guān)所述馬達(dá)模塊1270的類別內(nèi)馬達(dá)事件處理程序內(nèi),發(fā)生所述馬達(dá)模塊1270從所述按鈕模塊1260接收對(duì)目標(biāo)旋轉(zhuǎn)角度信息的事件時(shí),可編制將所述馬達(dá)模塊1270旋轉(zhuǎn)180度的編程。

一方面,所述模塊系統(tǒng)1140通過所述模塊通信端1130,連接在所述用戶界面單元1200時(shí),所述模塊識(shí)別單元(未示出)可自動(dòng)掌握構(gòu)成所述模塊系統(tǒng)1140的模塊種類和個(gè)數(shù)。在這種情況下,如圖12a,在真實(shí)世界1201構(gòu)成模塊系統(tǒng)的模塊由主模塊1250、按鈕模塊1260及馬達(dá)模塊1270構(gòu)成,且這些模塊1250、1260、1270還沒有連接網(wǎng)絡(luò)時(shí),所述模塊識(shí)別單元可能識(shí)別與模塊通信端1130可通信連接的主模塊1250。因此,在所述主窗口1202只可顯示所述主模塊1250。一方面,如圖12b,在真實(shí)世界1201構(gòu)成模塊系統(tǒng)的模塊系統(tǒng)由主模塊1250、按鈕模塊1260及馬達(dá)模塊1270構(gòu)成,這些模塊1250、1260、1270由網(wǎng)絡(luò)連接器1252、1262連接時(shí),所述模塊識(shí)別單元可識(shí)別與模塊通信端1130可通信連接的主模塊1250,附加地,也可一同識(shí)別與所述主模塊1250網(wǎng)絡(luò)連接的所述按鈕模塊1260及所述馬達(dá)模塊1270。此外,也可識(shí)別構(gòu)成所述模塊系統(tǒng)的所述模塊1250、1260、1270的連接結(jié)構(gòu)。因此,在所述主窗口1202上,可全部顯示所述主模塊1250、所述按鈕模塊1260及所述馬達(dá)模塊1270,也可顯示示出這些模塊1250、1260、1270連接結(jié)構(gòu)的虛擬網(wǎng)絡(luò)連接線1252a、1262a。一方面,在程序代碼上對(duì)識(shí)別的所述模塊1250、1260、1270的類別變數(shù),如即插即用方式自動(dòng)的被宣告。

一方面,所述模塊系統(tǒng)1140可通信的連接在所述模塊通信端1130時(shí),所述模塊識(shí)別單元在構(gòu)成所述模塊系統(tǒng)的模塊1250、1260、1270,接收分別存儲(chǔ)的執(zhí)行代碼,可發(fā)送到所述用戶界面單元1200。由此,用戶可檢討并修正存儲(chǔ)在當(dāng)前模塊系統(tǒng)各個(gè)模塊1250、1260、1270的執(zhí)行代碼。

多模塊編譯方法

以下,根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)多模塊編譯方法進(jìn)行說明。

圖13是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯方法的執(zhí)行步驟的順序圖,圖14是在圖13中的代碼生成器(模塊代碼生成單元)的執(zhí)行步驟的順序圖。

參照?qǐng)D11及圖13,根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)多模塊編譯方法的執(zhí)行步驟進(jìn)行說明。首先,在步驟1310中,用戶在如計(jì)算機(jī)或移動(dòng)設(shè)備的外部設(shè)備,生成用于驅(qū)動(dòng)模塊系統(tǒng)整體的程序代碼。所述模塊系統(tǒng)1140包括由網(wǎng)絡(luò)連接的多個(gè)模塊。在這種情況下,用戶叫回現(xiàn)已編制預(yù)存在代碼數(shù)據(jù)庫單元1125的程序代碼再使用,或編輯此可編制新的程序代碼。其次,在步驟1330中,代碼發(fā)生器1320分析對(duì)整個(gè)模塊系統(tǒng)1140的程序代碼,并再進(jìn)行組合,生成構(gòu)成所述模塊系統(tǒng)1140的各模塊化程序代碼。其次,在步驟1340中,將生成的模塊化程序代碼傳送到所述模塊系統(tǒng)1140,所述模塊系統(tǒng)1140將新的模塊化程序代碼更新在各個(gè)模塊。

參照?qǐng)D11及圖14,對(duì)在圖13示出的代碼發(fā)生器的執(zhí)行步驟進(jìn)行詳細(xì)地說明。首先,在步驟1410中,代碼發(fā)生器(模塊代碼生成單元1320)分析由用戶編制的所述模塊系統(tǒng)1140整個(gè)的程序代碼,識(shí)別執(zhí)行所述程序代碼的對(duì)象模塊。其次,在步驟1420中,所述代碼發(fā)生器分析所述模塊系統(tǒng)整個(gè)程序代碼,分析發(fā)生在所述對(duì)象模塊的事件種類和個(gè)數(shù)。在這種情況下,在步驟1430中,所述代碼發(fā)生器可基于接發(fā)在所述對(duì)象模塊的種類和所述對(duì)象模塊間的消息,分析事件。

其次,在步驟1440中,所述代碼發(fā)生器分析與各個(gè)所述對(duì)象模塊和所述事件的關(guān)聯(lián)性,分割所述程序代碼并再組合,生成所述對(duì)象模塊化代碼。之后,在步驟1450中,所述代碼發(fā)生器編譯所述對(duì)象模塊化代碼,生成可在所述對(duì)象模塊運(yùn)行的,二進(jìn)制形式的機(jī)器語言代碼的模塊化執(zhí)行代碼。

一方面,根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述模塊系統(tǒng)和所述計(jì)算機(jī)或所述移動(dòng)設(shè)備可通信的連接時(shí),多模塊編譯方法還可包括自動(dòng)識(shí)別構(gòu)成所述模塊系統(tǒng)的模塊種類和個(gè)數(shù)的模塊識(shí)別步驟,且還可包括將在所述模塊識(shí)別步驟識(shí)別的模塊種類和個(gè)數(shù),顯示在所述計(jì)算機(jī)或所述移動(dòng)設(shè)備的模塊顯示步驟。

圖15是在圖14中代碼生成器(模塊代碼生成單元)的事件分析步驟的順序圖。

參照?qǐng)D11及圖15,對(duì)在圖14示出的代碼發(fā)生器的事件分析步驟進(jìn)行詳細(xì)地說明。在本實(shí)施例為了理解的方便,舉例說明作為總模塊的個(gè)數(shù)為三個(gè),由第一模塊的主模塊、第二模塊的馬達(dá)模塊、第三模塊的按鈕模塊構(gòu)成的模塊系統(tǒng)。用戶點(diǎn)擊所述按鈕模塊的按鈕時(shí),作為第一事件在gui或cui環(huán)境內(nèi),可編程所述馬達(dá)模塊的馬達(dá)旋轉(zhuǎn)180度的程序。在這種情況下,在步驟1510中,所述代碼發(fā)生器分析所述模塊系統(tǒng)的整個(gè)程序代碼,數(shù)在整個(gè)程序代碼內(nèi)使用的模塊個(gè)數(shù)n和種類,在步驟1520中,數(shù)事件個(gè)數(shù)k。為了說明的方便,在本實(shí)施例,舉例說明作為在模塊發(fā)生的事件,存在一個(gè)第一事件。

其次,在步驟1530中,所述代碼發(fā)生器依次地從第一模塊到第n模塊,此外各個(gè)模塊從第一事件到第k事件,確認(rèn)第n模塊和第k事件的關(guān)聯(lián)性。在本實(shí)施例,首先檢查所述第一事件和所述第一模塊的主模塊的關(guān)聯(lián)性。確認(rèn)所述第一事件和所述主模塊沒有關(guān)聯(lián)性,檢查所述第二模塊的按鈕模塊和所述第一事件的關(guān)聯(lián)性。如果,所述代碼發(fā)生器確認(rèn)所述第二模塊的按鈕模塊和所述第一事件具有關(guān)聯(lián)性,在步驟1540,所述代碼發(fā)生器在所述整個(gè)程序代碼內(nèi),分析所述第一事件和所述按鈕模塊的關(guān)聯(lián)代碼塊,在相應(yīng)于所述按鈕模塊的程序模塊部分,生成有關(guān)的程序代碼。

其次,在步驟1542中,所述代碼發(fā)生器過到下一個(gè)事件,在步驟1530,檢查所述第二模塊的所述按鈕模塊和下一個(gè)事件是否有關(guān)聯(lián)。如果,在步驟1550,確認(rèn)沒有附加的關(guān)聯(lián)事件,在步驟1552,所述代碼發(fā)生器過到下一個(gè)模塊,即第三模塊,在步驟1530,檢查第三模塊的所述馬達(dá)模塊與所述第一事件是否具有關(guān)聯(lián)性。所述代碼發(fā)生器確認(rèn)所述馬達(dá)模塊和所述第一事件具有關(guān)聯(lián)性之后,在步驟1540,在所述整個(gè)程序代碼內(nèi)分析所述第一事件和所述馬達(dá)模塊的關(guān)聯(lián)代碼塊,在相應(yīng)于所述馬達(dá)模塊的程序模塊部分,生成有關(guān)程序代碼。

與上述相同的方式,在步驟1570中,所述代碼發(fā)生器對(duì)具有k個(gè)事件模塊的整個(gè)程序代碼,分析與各個(gè)事件和各個(gè)模塊的關(guān)聯(lián)性,最終可生成n個(gè)模塊化程序代碼。在本實(shí)施例,所述第一模塊的主模塊與所述第一事件乜有關(guān)聯(lián)性,所以,與已經(jīng)存儲(chǔ)在第一模塊的固件程序進(jìn)行比較時(shí),沒有變更的部分。因此,在模塊化更新過程中,所述第一模塊不需要更新固件程序。相反地,所述第二模塊和所述第三模塊與所述第一事件具有關(guān)聯(lián)性,所以,與已經(jīng)存儲(chǔ)在模塊的固件程序進(jìn)行比較時(shí),存在變更的部分。因此,在模塊化更新過程中,所述第二模塊和所述第三模塊可更新固件程序。

多模塊程序示例

圖16a是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,在多模塊編譯系統(tǒng)被編碼的程序代碼的對(duì)模塊類的代碼列表,且圖16b是示出其他模塊被附加識(shí)別的,對(duì)模塊的類別的代碼列表,并且圖16c是示出在識(shí)別的模塊間接發(fā)的,對(duì)事件處理的代碼列表。圖17a及圖17b是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過多模塊編譯系統(tǒng)生成的模塊化代碼列表。

首先,參照?qǐng)D12a及圖16a,主模塊1250與按鈕模塊1260和馬達(dá)模塊1270不是相互連接的狀態(tài),所以,在集成開發(fā)環(huán)境系統(tǒng)(ide)對(duì)模塊系統(tǒng)的程序代碼1600上,只可顯示與所述集成開發(fā)環(huán)境系統(tǒng)進(jìn)行通信的,對(duì)主模塊1250的類別1602。

如圖12b,如果,主模塊1250、按鈕模塊1260及馬達(dá)模塊1270連接時(shí),如圖16b,在集成開發(fā)環(huán)境系統(tǒng)(ide)對(duì)模塊系統(tǒng)的程序代碼1620上,附加與所述集成開發(fā)環(huán)境系統(tǒng)通信的主模塊1250,生成對(duì)所述按鈕模塊1260的類別和對(duì)所述馬達(dá)模塊1270的類別,在所述主模塊1250的類別1602內(nèi)可生成對(duì)所述按鈕模塊1260動(dòng)作的程序代碼1622、對(duì)所述馬達(dá)模塊1270的程序代碼1624,及點(diǎn)擊所述按鈕模塊1260按鈕時(shí)發(fā)生的,對(duì)事件的程序代碼1626。即,可生成對(duì)可通信的連接在所述主模塊1250的子模塊1260、1270,定義可能動(dòng)作的程序代碼。示例性的,如在圖16c示出,點(diǎn)擊所述按鈕模塊1260的按鈕時(shí),在程序代碼1640上可生成所述馬達(dá)模塊1270的馬達(dá)從0度旋轉(zhuǎn)至180度內(nèi)容的程序代碼1642。

在本實(shí)施例,相互連接所述按鈕模塊1650和所述馬達(dá)模塊1270,在所述主窗口1202內(nèi)作為對(duì)所述按鈕模塊1260的行動(dòng)列表,可將對(duì)點(diǎn)擊按鈕的行動(dòng)顯示為列表。用戶選擇所述按鈕點(diǎn)擊時(shí),在所述按鈕類別內(nèi)可生成點(diǎn)擊所述按鈕模塊1260按鈕時(shí),將發(fā)生的用于設(shè)置對(duì)事件內(nèi)容的按鈕點(diǎn)擊事件處理程序。并且,在所述按鈕點(diǎn)擊事件處理程序內(nèi),可編程點(diǎn)擊所述按鈕時(shí)將執(zhí)行的模塊系統(tǒng)運(yùn)行的內(nèi)容。例如,用戶點(diǎn)擊所述按鈕模塊1260的按鈕時(shí),所述馬達(dá)模塊1270的馬達(dá)從0度旋轉(zhuǎn)至180度編程時(shí),用戶在所述按鈕類別內(nèi)生成的按鈕點(diǎn)擊事件處理程序部分,可編制將目標(biāo)旋轉(zhuǎn)角度值傳送給所述馬達(dá)模塊1270的內(nèi)容程序。一方面,在所述馬達(dá)模塊1270的立場(chǎng)上,有關(guān)所述馬達(dá)模塊1270的類別內(nèi)馬達(dá)事件處理程序中,發(fā)生所述馬達(dá)模塊1270從所述按鈕模塊1260接收對(duì)目標(biāo)旋轉(zhuǎn)角度信息的事件時(shí),可編制將馬達(dá)旋轉(zhuǎn)180度的編程。

其次,完成對(duì)所述模塊系統(tǒng)整個(gè)的程序代碼時(shí),所述代碼發(fā)生器分析所述模塊系統(tǒng)整個(gè)程序代碼,分析所述模塊和對(duì)所述對(duì)象模塊事件的關(guān)聯(lián)性,分割所述整個(gè)程序代碼,進(jìn)行再組合,可生成如圖17a示出的對(duì)所述模塊1260的程序代碼1720,和如圖17b示出的所述馬達(dá)模塊1270的程序代碼1760。

參照?qǐng)D17a,對(duì)所述按鈕模塊1260的程序代碼1720,可包括基本生成的模塊化模板代碼1722,和由所屬代碼發(fā)生器附加生成的附加代碼1724。所述附加代碼1724可包括發(fā)生第一事件時(shí),對(duì)傳達(dá)消息的丁一部分1726,和發(fā)生所述第一事件時(shí),傳達(dá)的消息部分1728。參照?qǐng)D17b,對(duì)所述馬達(dá)模塊1270的程序代碼1760,可包括基本生成的模塊化模板代碼1762,和由所述代碼發(fā)生器附加生成的附加代碼1764。所述附加代碼1764可包括對(duì)馬達(dá)初期位置的部分1765、自身的id接收設(shè)置部分1766、接收與所述第一事件有關(guān)消息的條件部分1768,和這時(shí)執(zhí)行所述馬達(dá)模塊的動(dòng)作部分1769。

根據(jù)本發(fā)明的一個(gè)實(shí)施例的多模塊編譯系統(tǒng)及多模塊編譯方法,可從模塊系統(tǒng)整個(gè)程序代碼,快速有效地生成各模塊執(zhí)行代碼。由此,由多數(shù)模塊構(gòu)成的模塊系統(tǒng)中,從整個(gè)程序代碼生成模塊化代碼并編譯,可簡(jiǎn)便有效的更新各模塊的固件。

因此,將由相同模塊構(gòu)成的模塊系統(tǒng)用于其他用途時(shí),不必個(gè)別的重新開發(fā)對(duì)構(gòu)成所述模塊系統(tǒng)的各個(gè)模塊的固件,修改對(duì)整個(gè)模塊系統(tǒng)的程序,通過多模塊編譯生成模塊化執(zhí)行代碼,可整體性的一次執(zhí)行更新。

此外,將構(gòu)成模塊系統(tǒng)的模塊,可再使用為多種用途。

本發(fā)明上述的說明是為了示例,本發(fā)明領(lǐng)域的技術(shù)人員可以理解為,不變更本發(fā)明的技術(shù)思想或必要特征,可容易變更成其他具體形態(tài)。所以,要理解為,以上記載的實(shí)施例在所有方面是示例性的,且不是限定性的。

本發(fā)明的范圍比起所述詳細(xì)的說明,由后述的權(quán)利要求范圍顯示,理解為權(quán)利要求范圍的意義及范圍,且從其均等概念導(dǎo)出的所有變更或變更的形態(tài)包括在本發(fā)明的范圍。

符號(hào)說明

100:外部設(shè)備100,1200:用戶界面單元

120:模塊代碼生成器130:編譯器

140,1130:模塊通信端200,400,900,1140:模塊系統(tǒng)

202:網(wǎng)絡(luò)總線210,910,1141:主模塊

230,440,920,1143:電源模塊(電池模塊)

240,950,1144:馬達(dá)模塊250,930,1145:按鈕模塊

260,1146:傳感器模塊270,1147:顯示模塊

300:數(shù)據(jù)幀310:介入領(lǐng)域

320:控制領(lǐng)域330:數(shù)據(jù)領(lǐng)域

420:第二模塊系統(tǒng)422:網(wǎng)絡(luò)總線

430,940:子通信模塊450:攝像機(jī)模塊

970:總線及電源銷980:結(jié)合器具

981:磁鐵982:結(jié)合銷

990:微控制器(mcu)1120:多模塊編譯系統(tǒng)

1122:模塊識(shí)別單元1123:事件分析單元

1124:模塊代碼生成單元1125:代碼數(shù)據(jù)庫單元

1126:編譯器單元1142:子通信模塊

1148:網(wǎng)絡(luò)總線1202:主窗口

1204:選單窗口1210:模塊選擇窗口

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1