本技術(shù)涉及通信,具體而言,涉及一種機(jī)床通信驅(qū)動(dòng)的調(diào)用方法、裝置以及電子設(shè)備。
背景技術(shù):
1、在現(xiàn)代制造業(yè)中,企業(yè)的生產(chǎn)車間中存在來自不同制造商、不同型號(hào)的數(shù)控機(jī)床。這些數(shù)控機(jī)床通常使用各自專門的通信協(xié)議和預(yù)設(shè)的通信接口(例如rs232(一種串行通信接口標(biāo)準(zhǔn),用于實(shí)現(xiàn)計(jì)算機(jī)與外設(shè)之間進(jìn)行串行數(shù)據(jù)交換)串口、以太網(wǎng)、預(yù)設(shè)硬件接口)來與上層系統(tǒng)(例如mes(manufacturing?execution?system,制造執(zhí)行系統(tǒng))、dnc(distributed?numerical?control,分布式數(shù)控系統(tǒng))進(jìn)行通信,在上層系統(tǒng)向這些機(jī)床傳輸加工程序或進(jìn)行其他功能控制時(shí),傳統(tǒng)的解決方案通常面臨以下挑戰(zhàn):
2、(1)語(yǔ)言耦合性高:現(xiàn)有技術(shù)中的通信驅(qū)動(dòng)庫(kù),通常基于特定的編程語(yǔ)言(例如c++、c#)開發(fā),當(dāng)上層系統(tǒng)采用其他類型的編程語(yǔ)言(例如java、python、go)開發(fā)時(shí),二者之間需要進(jìn)行編程語(yǔ)言的橋接或重寫,開發(fā)成本高。
3、(2)協(xié)議適配復(fù)雜:現(xiàn)有技術(shù)中,需要為每一種數(shù)控機(jī)床的通信協(xié)議獨(dú)立編寫一套完整的通信驅(qū)動(dòng),代碼冗余量高;當(dāng)通信協(xié)議更新或需要增加新類型的數(shù)控機(jī)床時(shí),代碼擴(kuò)展性低。
4、(3)系統(tǒng)集成度低:不同類型的數(shù)控機(jī)床對(duì)應(yīng)的不同類型的通信驅(qū)動(dòng)模塊,往往獨(dú)立部署,難以實(shí)現(xiàn)統(tǒng)一的管理,無法實(shí)現(xiàn)負(fù)載均衡。
5、綜上,在上層系統(tǒng)調(diào)用底層數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床通信驅(qū)動(dòng)時(shí),基于現(xiàn)有技術(shù)實(shí)現(xiàn)二者之間的通信,存在通信效率低、通信成本高的技術(shù)問題。
6、針對(duì)上述的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種機(jī)床通信驅(qū)動(dòng)的調(diào)用方法、裝置以及電子設(shè)備,以至少解決在上層系統(tǒng)基于現(xiàn)有技術(shù)調(diào)用機(jī)床通信驅(qū)動(dòng)時(shí)所存在的通信效率低、通信成本高的技術(shù)問題。
2、根據(jù)本技術(shù)的一個(gè)方面,提供了一種機(jī)床通信驅(qū)動(dòng)的調(diào)用方法,包括:基于l個(gè)機(jī)床通信驅(qū)動(dòng)中的每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,對(duì)每個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,得到每個(gè)機(jī)床通信驅(qū)動(dòng)對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)文件/遠(yuǎn)程調(diào)用服務(wù),每個(gè)機(jī)床通信驅(qū)動(dòng)用于實(shí)現(xiàn)對(duì)數(shù)控機(jī)床的通信控制;創(chuàng)建動(dòng)態(tài)鏈接庫(kù)文件對(duì)應(yīng)的本地調(diào)用模塊,以及遠(yuǎn)程調(diào)用服務(wù)對(duì)應(yīng)的遠(yuǎn)程調(diào)用客戶端,其中,本地調(diào)用模塊用于調(diào)用動(dòng)態(tài)鏈接庫(kù)文件,遠(yuǎn)程調(diào)用客戶端用于調(diào)用遠(yuǎn)程調(diào)用服務(wù);創(chuàng)建本地調(diào)用模塊對(duì)應(yīng)的適配器,以及遠(yuǎn)程調(diào)用客戶端對(duì)應(yīng)的適配器,得到m個(gè)適配器,其中,m個(gè)適配器設(shè)置有統(tǒng)一格式的適配器接口,每個(gè)適配器用于將目標(biāo)系統(tǒng)對(duì)數(shù)控機(jī)床的調(diào)用請(qǐng)求轉(zhuǎn)換為對(duì)本地調(diào)用模塊/遠(yuǎn)程調(diào)用客戶端的調(diào)用請(qǐng)求;控制目標(biāo)系統(tǒng),基于m個(gè)適配器對(duì)應(yīng)的適配器接口,對(duì)l個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用。
3、可選地,在基于l個(gè)機(jī)床通信驅(qū)動(dòng)中的每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,對(duì)每個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝之前,機(jī)床通信驅(qū)動(dòng)的調(diào)用方法還包括:基于目標(biāo)系統(tǒng)需要通信的每個(gè)數(shù)控機(jī)床的配置信息,確定每個(gè)數(shù)控機(jī)床支持的通信協(xié)議和通信接口;基于每個(gè)數(shù)控機(jī)床支持的通信協(xié)議和通信接口,確定每個(gè)數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言和驅(qū)動(dòng)類型。
4、可選地,基于l個(gè)機(jī)床通信驅(qū)動(dòng)中的每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,對(duì)每個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,包括:檢測(cè)每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,是否屬于預(yù)設(shè)類型,其中,預(yù)設(shè)類型的開發(fā)語(yǔ)言支持編譯為預(yù)設(shè)格式的動(dòng)態(tài)鏈接庫(kù)文件;在l個(gè)機(jī)床通信驅(qū)動(dòng)中的第i個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,不屬于預(yù)設(shè)類型的情況下,對(duì)第i個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,得到x個(gè)遠(yuǎn)程服務(wù)接口,其中,x為正整數(shù);將x個(gè)遠(yuǎn)程服務(wù)接口,作為第i個(gè)機(jī)床通信驅(qū)動(dòng)對(duì)應(yīng)的遠(yuǎn)程調(diào)用服務(wù)。
5、可選地,x個(gè)遠(yuǎn)程服務(wù)接口至少包括:第一預(yù)設(shè)服務(wù)接口,用于向數(shù)控機(jī)床發(fā)送文件;第二預(yù)設(shè)服務(wù)接口,用于從數(shù)控機(jī)床接收文件;第三預(yù)設(shè)服務(wù)接口,用于刪除數(shù)控機(jī)床中的文件;第四預(yù)設(shè)服務(wù)接口,用于獲取數(shù)控機(jī)床的文件列表;第五預(yù)設(shè)服務(wù)接口,用于實(shí)現(xiàn)數(shù)控機(jī)床的設(shè)備連接;第六預(yù)設(shè)服務(wù)接口,用于斷開數(shù)控機(jī)床的設(shè)備連接。
6、可選地,基于l個(gè)機(jī)床通信驅(qū)動(dòng)中的每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,對(duì)每個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,包括:在l個(gè)機(jī)床通信驅(qū)動(dòng)中的第i個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,屬于預(yù)設(shè)類型的情況下,對(duì)第i個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,得到y(tǒng)個(gè)動(dòng)態(tài)調(diào)用接口,其中,y為正整數(shù);將y個(gè)動(dòng)態(tài)調(diào)用接口,作為第i個(gè)機(jī)床通信驅(qū)動(dòng)對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)文件。
7、可選地,y個(gè)動(dòng)態(tài)調(diào)用接口至少包括:第一預(yù)設(shè)動(dòng)態(tài)接口,用于對(duì)數(shù)控機(jī)床的配置進(jìn)行初始化;第二預(yù)設(shè)動(dòng)態(tài)接口,用于向數(shù)控機(jī)床發(fā)送文件;第三預(yù)設(shè)動(dòng)態(tài)接口,用于從數(shù)控機(jī)床接收文件;第四預(yù)設(shè)動(dòng)態(tài)接口,用于獲取數(shù)控機(jī)床的工作狀態(tài);第五預(yù)設(shè)動(dòng)態(tài)接口,用于實(shí)現(xiàn)數(shù)控機(jī)床的設(shè)備連接;第六預(yù)設(shè)動(dòng)態(tài)接口,用于斷開數(shù)控機(jī)床的設(shè)備連接。
8、可選地,控制目標(biāo)系統(tǒng),基于m個(gè)適配器對(duì)應(yīng)的適配器接口,對(duì)l個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用,包括:在適配器接口接收到目標(biāo)系統(tǒng)對(duì)目標(biāo)數(shù)控機(jī)床的目標(biāo)調(diào)用請(qǐng)求之后,對(duì)目標(biāo)調(diào)用請(qǐng)求進(jìn)行解析,得到目標(biāo)數(shù)控機(jī)床的目標(biāo)配置信息;基于目標(biāo)配置信息,在預(yù)設(shè)驅(qū)動(dòng)注冊(cè)表中進(jìn)行查找,得到目標(biāo)數(shù)控機(jī)床對(duì)應(yīng)的目標(biāo)適配器,其中,目標(biāo)適配器為m個(gè)適配器中的適配器;通過目標(biāo)適配器,檢測(cè)目標(biāo)數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床驅(qū)動(dòng)通信的驅(qū)動(dòng)類型;基于驅(qū)動(dòng)類型,對(duì)目標(biāo)數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用。
9、可選地,基于驅(qū)動(dòng)類型,對(duì)目標(biāo)數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用,包括:在驅(qū)動(dòng)類型為第一預(yù)設(shè)類型的情況下,控制目標(biāo)適配器,基于遠(yuǎn)程調(diào)用客戶端,調(diào)用遠(yuǎn)程調(diào)用服務(wù),基于遠(yuǎn)程調(diào)用服務(wù)中的遠(yuǎn)程服務(wù)接口,對(duì)目標(biāo)數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用;在驅(qū)動(dòng)類型為第二預(yù)設(shè)類型的情況下,控制目標(biāo)適配器,基于本地調(diào)用模塊,調(diào)用動(dòng)態(tài)鏈接庫(kù)文件,基于動(dòng)態(tài)鏈接庫(kù)文件中的動(dòng)態(tài)調(diào)用接口,對(duì)目標(biāo)數(shù)控機(jī)床對(duì)應(yīng)的機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用。
10、根據(jù)本技術(shù)的另一方面,還提供了一種機(jī)床通信驅(qū)動(dòng)的調(diào)用裝置,包括:驅(qū)動(dòng)封裝單元,用于基于l個(gè)機(jī)床通信驅(qū)動(dòng)中的每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,對(duì)每個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,得到每個(gè)機(jī)床通信驅(qū)動(dòng)對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)文件/遠(yuǎn)程調(diào)用服務(wù),其中,每個(gè)機(jī)床通信驅(qū)動(dòng)用于實(shí)現(xiàn)對(duì)數(shù)控機(jī)床的通信控制;通信橋接單元,用于創(chuàng)建動(dòng)態(tài)鏈接庫(kù)文件對(duì)應(yīng)的本地調(diào)用模塊,以及遠(yuǎn)程調(diào)用服務(wù)對(duì)應(yīng)的遠(yuǎn)程調(diào)用客戶端,其中,本地調(diào)用模塊用于調(diào)用動(dòng)態(tài)鏈接庫(kù)文件,遠(yuǎn)程調(diào)用客戶端用于調(diào)用遠(yuǎn)程調(diào)用服務(wù);適配器服務(wù)單元,用于創(chuàng)建本地調(diào)用模塊對(duì)應(yīng)的適配器,以及遠(yuǎn)程調(diào)用客戶端對(duì)應(yīng)的適配器,得到m個(gè)適配器,其中,m個(gè)適配器設(shè)置有統(tǒng)一格式的適配器接口,每個(gè)適配器用于將目標(biāo)系統(tǒng)對(duì)數(shù)控機(jī)床的調(diào)用請(qǐng)求轉(zhuǎn)換為對(duì)本地調(diào)用模塊/遠(yuǎn)程調(diào)用客戶端的調(diào)用請(qǐng)求;調(diào)用單元,用于控制目標(biāo)系統(tǒng),基于m個(gè)適配器對(duì)應(yīng)的適配器接口,對(duì)l個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用。
11、根據(jù)本技術(shù)的另一個(gè)方面,還提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品中存儲(chǔ)有計(jì)算機(jī)程序,其中,在計(jì)算機(jī)程序運(yùn)行時(shí)控制計(jì)算機(jī)程序產(chǎn)品執(zhí)行上述任意一項(xiàng)的機(jī)床通信驅(qū)動(dòng)的調(diào)用方法。
12、根據(jù)本技術(shù)的另一個(gè)方面,還提供了一種電子設(shè)備,其中,電子設(shè)備包括一個(gè)或多個(gè)處理器和存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)一個(gè)或多個(gè)程序,其中,當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器實(shí)現(xiàn)上述任意一項(xiàng)的機(jī)床通信驅(qū)動(dòng)的調(diào)用方法。
13、在本技術(shù)中,首先基于l個(gè)機(jī)床通信驅(qū)動(dòng)中的每個(gè)機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言,對(duì)每個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,得到每個(gè)機(jī)床通信驅(qū)動(dòng)對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)文件/遠(yuǎn)程調(diào)用服務(wù),每個(gè)機(jī)床通信驅(qū)動(dòng)用于實(shí)現(xiàn)對(duì)數(shù)控機(jī)床的通信控制,之后,本技術(shù)創(chuàng)建動(dòng)態(tài)鏈接庫(kù)文件對(duì)應(yīng)的本地調(diào)用模塊,以及遠(yuǎn)程調(diào)用服務(wù)對(duì)應(yīng)的遠(yuǎn)程調(diào)用客戶端,其中,本地調(diào)用模塊用于調(diào)用動(dòng)態(tài)鏈接庫(kù)文件,遠(yuǎn)程調(diào)用客戶端用于調(diào)用遠(yuǎn)程調(diào)用服務(wù),然后,本技術(shù)創(chuàng)建本地調(diào)用模塊對(duì)應(yīng)的適配器,以及遠(yuǎn)程調(diào)用客戶端對(duì)應(yīng)的適配器,得到m個(gè)適配器,其中,m個(gè)適配器設(shè)置有統(tǒng)一格式的適配器接口,每個(gè)適配器用于將目標(biāo)系統(tǒng)對(duì)數(shù)控機(jī)床的調(diào)用請(qǐng)求轉(zhuǎn)換為對(duì)本地調(diào)用模塊/遠(yuǎn)程調(diào)用客戶端的調(diào)用請(qǐng)求,最后,本技術(shù)控制目標(biāo)系統(tǒng),基于m個(gè)適配器對(duì)應(yīng)的適配器接口,對(duì)l個(gè)機(jī)床通信驅(qū)動(dòng)進(jìn)行調(diào)用。
14、由上述內(nèi)容可知,本技術(shù)對(duì)采用不同開發(fā)語(yǔ)言編寫的機(jī)床通信驅(qū)動(dòng)進(jìn)行封裝,得到了動(dòng)態(tài)鏈接庫(kù)文件或遠(yuǎn)程調(diào)用服務(wù),之后,本技術(shù)創(chuàng)建本地調(diào)用模塊和遠(yuǎn)程調(diào)用客戶端,作為適配器與動(dòng)態(tài)鏈接庫(kù)文件或遠(yuǎn)程調(diào)用服務(wù)之間的通信橋梁,實(shí)現(xiàn)了通信流程的分層解耦與不同機(jī)床通信驅(qū)動(dòng)的開發(fā)語(yǔ)言的兼容,在上層系統(tǒng)需要與底層的數(shù)控機(jī)床進(jìn)行通信時(shí),上層系統(tǒng)僅需要調(diào)用適配器提供的統(tǒng)一接口,即可實(shí)現(xiàn)對(duì)底層的機(jī)床通信驅(qū)動(dòng)的調(diào)用,而不需要關(guān)注數(shù)控機(jī)床底層通信邏輯的差異,從而實(shí)現(xiàn)了提高上層系統(tǒng)與底層數(shù)控機(jī)床之間的通信效率,降低通信成本的技術(shù)效果,進(jìn)而解決了在上層系統(tǒng)基于現(xiàn)有技術(shù)調(diào)用機(jī)床通信驅(qū)動(dòng)時(shí)所存在的通信效率低、通信成本高的技術(shù)問題。