亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法及相關(guān)設(shè)備與流程

文檔序號(hào):12375997閱讀:1191來(lái)源:國(guó)知局
一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法及相關(guān)設(shè)備與流程

本申請(qǐng)涉及通信領(lǐng)域,特別涉及一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法及相關(guān)設(shè)備。



背景技術(shù):

CAN(控制器局域網(wǎng)絡(luò),Controller Area Network)總線(xiàn)作為嵌入式系統(tǒng)和工業(yè)控制常用到的一種現(xiàn)場(chǎng)總線(xiàn),常常需要對(duì)CAN總線(xiàn)上的CANopen(架構(gòu)在CAN總線(xiàn)上的應(yīng)用層通訊協(xié)議)設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試。

目前常采用工業(yè)控制計(jì)算機(jī)集成CANopen網(wǎng)絡(luò)通信板卡,作為CAN網(wǎng)絡(luò)通信仿真設(shè)備,仿真具有CANopen功能(如管理CAN總線(xiàn)上節(jié)點(diǎn)和收發(fā)數(shù)據(jù))的真實(shí)節(jié)點(diǎn),在CAN總線(xiàn)上收發(fā)數(shù)據(jù),來(lái)實(shí)現(xiàn)對(duì)CAN總線(xiàn)上被測(cè)CANopen設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試。其中,CAN網(wǎng)絡(luò)通信仿真設(shè)備的CANopen功能是人工通過(guò)C語(yǔ)言編寫(xiě)相關(guān)CANopen功能算法實(shí)現(xiàn)的。

但是人工通過(guò)C語(yǔ)言編寫(xiě)相關(guān)CANopen功能算法的編寫(xiě)時(shí)間較長(zhǎng),導(dǎo)致CAN網(wǎng)絡(luò)通信仿真設(shè)備的CANopen功能的實(shí)現(xiàn)周期長(zhǎng)。



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

為解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法及相關(guān)設(shè)備,以達(dá)到縮短可執(zhí)行代碼生成的時(shí)間,從而縮短CAN網(wǎng)絡(luò)通信仿真設(shè)備的CANopen功能的實(shí)現(xiàn)周期的目的,技術(shù)方案如下:

一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法,應(yīng)用于CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的仿真計(jì)算機(jī),包括:

接收上位機(jī)發(fā)送的模型程序,所述模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,所述Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊;

運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程。

優(yōu)選的,所述Simulink驅(qū)動(dòng)模塊包括:Simulink Setup模塊、Simulink Send模塊和Simulink Receive模塊;

所述Simulink Setup模塊,用于解析CANopen卡配置文件,得到解析文件結(jié)果,并調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置;

所述Simulink Send模塊,用于調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,以使所述CANopen卡通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn);

所述Simulink Receive模塊,用于調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)。

優(yōu)選的,所述CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程,包括:

解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果;

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,以使所述CANopen卡通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn);

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)。

優(yōu)選的,所述CANopen卡配置文件包括端口組子配置文件和數(shù)據(jù)組子配置文件;

所述端口組子配置文件至少包括:節(jié)點(diǎn)ID配置信息,節(jié)點(diǎn)上通信對(duì)象的ID配置信息,通信對(duì)象傳輸類(lèi)型配置信息,通信對(duì)象的最小傳輸時(shí)間間隔配置信息和通信對(duì)象的周期性發(fā)送時(shí)間間隔配置信息;

所述數(shù)據(jù)組子配置文件用于定義所述CANopen卡待收發(fā)的CAN報(bào)文中8字節(jié)數(shù)據(jù)的含義。

優(yōu)選的,所述調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,包括:

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送不同的發(fā)送命令至所述CANopen卡,以使所述CANopen卡的不同CAN總線(xiàn)接口發(fā)送不同的第一CANopen數(shù)據(jù)至所述CAN總線(xiàn),其中,不同的發(fā)送命令攜帶的第一CANopen數(shù)據(jù)不同;

所述調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)的過(guò)程,包括:

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡的不同CAN總線(xiàn)接口從所述CAN總線(xiàn)上獲取到的不同的第二CANopen數(shù)據(jù)。

優(yōu)選的,在運(yùn)行所述模型程序之后,還包括:

將運(yùn)行所述模型程序的過(guò)程及結(jié)果發(fā)送至所述CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的顯示器進(jìn)行顯示。

一種仿真計(jì)算機(jī),用于接收上位機(jī)發(fā)送的模型程序,以及運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程;

所述模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,所述Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊。

優(yōu)選的,所述仿真計(jì)算機(jī)具體用于運(yùn)行所述模型程序,以執(zhí)行以下CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程:

解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果;

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,以使所述CANopen卡通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn);

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)。

優(yōu)選的,所述仿真計(jì)算機(jī)具體用于運(yùn)行所述模型程序,以執(zhí)行以下CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程:

解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果;

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送不同的發(fā)送命令至所述CANopen卡,以使所述CANopen卡的不同CAN總線(xiàn)接口發(fā)送不同的第一CANopen數(shù)據(jù)至所述CAN總線(xiàn),其中,不同的發(fā)送命令攜帶的第一CANopen數(shù)據(jù)不同;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡的不同CAN總線(xiàn)接口從所述CAN總線(xiàn)上獲取到的不同的第二CANopen數(shù)據(jù)。

一種CANopen網(wǎng)絡(luò)通信仿真設(shè)備,包括:轉(zhuǎn)接板卡、CANopen卡和如上述任意一項(xiàng)所述的仿真計(jì)算機(jī);

所述仿真計(jì)算機(jī)由處理器和仿真計(jì)算機(jī)機(jī)箱組成,其中,所述處理器通過(guò)CPCI總線(xiàn)與所述仿真計(jì)算機(jī)機(jī)箱相連;

所述CANopen卡通過(guò)所述轉(zhuǎn)接板卡與所述仿真計(jì)算機(jī)機(jī)箱相連;

所述CANopen卡,用于運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序,并在運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,接收所述處理器發(fā)送的攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令,并通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn),以及從所述CAN總線(xiàn)上獲取第二CANopen數(shù)據(jù),并將所述第二CANopen數(shù)據(jù)發(fā)送至所述處理器;

所述CANopen卡中完成配置的驅(qū)動(dòng)程序?yàn)樗鎏幚砥鹘馕錾衔粰C(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果,并按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置后的程序。

與現(xiàn)有技術(shù)相比,本申請(qǐng)的有益效果為:

在本申請(qǐng)中,CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的仿真計(jì)算機(jī)通過(guò)接收并運(yùn)行上位機(jī)發(fā)送的模型程序,以執(zhí)行在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程,來(lái)實(shí)現(xiàn)對(duì)CAN總線(xiàn)上被測(cè)CANopen設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試。

由于Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊,模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,因而在Simulink模型框架中無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊即Simulink驅(qū)動(dòng)模塊,并將Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,因此縮短了可執(zhí)行代碼生成的時(shí)間,從而縮短了CAN網(wǎng)絡(luò)通信仿真設(shè)備的CANopen功能的實(shí)現(xiàn)周期。

附圖說(shuō)明

為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本申請(qǐng)?zhí)峁┑腃ANopen網(wǎng)絡(luò)通信仿真測(cè)試方法的一種流程圖;

圖2是本申請(qǐng)?zhí)峁┑腃ANopen網(wǎng)絡(luò)通信仿真測(cè)試方法的一種子流程圖;

圖3是本申請(qǐng)?zhí)峁┑腃ANopen網(wǎng)絡(luò)通信仿真測(cè)試方法的另一種流程圖;

圖4是本申請(qǐng)?zhí)峁┑腃ANopen網(wǎng)絡(luò)通信仿真設(shè)備的一種硬件結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。

實(shí)施例一

在本實(shí)施例中,提供了一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法,應(yīng)用于CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的仿真計(jì)算機(jī)。

請(qǐng)參見(jiàn)圖1,其示出了本申請(qǐng)?zhí)峁┑腃ANopen網(wǎng)絡(luò)通信仿真測(cè)試方法的一種流程圖,可以包括以下步驟:

步驟S11:接收上位機(jī)發(fā)送的模型程序,所述模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,所述Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊。

在本實(shí)施例中,上位機(jī)生成模型程序,并下載到仿真計(jì)算機(jī)。仿真計(jì)算機(jī)則接收上位機(jī)發(fā)送的模型程序。

在本實(shí)施例中,Simulink是MATLAB最重要的組件之一,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出復(fù)雜的系統(tǒng)。Simulink具有適應(yīng)面廣、結(jié)構(gòu)和流程清晰及仿真精細(xì)、貼近實(shí)際、效率高、靈活等優(yōu)點(diǎn)。

在本實(shí)施例中,上位機(jī)在所述Simulink模型框架中搭建出當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊的過(guò)程具體為:在Simulink模型框架中選取當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)所需的模塊,對(duì)當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)所需的模塊進(jìn)行連接及參數(shù)設(shè)置,得到當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊。

當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊用于實(shí)現(xiàn)CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)。

步驟S12:運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程。

在本申請(qǐng)中,CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的仿真計(jì)算機(jī)通過(guò)接收上位機(jī)發(fā)送的模型程序,以執(zhí)行在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程,來(lái)實(shí)現(xiàn)對(duì)CAN總線(xiàn)上被測(cè)CANopen設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試。

由于Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊,模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,因而在Simulink模型框架中無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊即Simulink驅(qū)動(dòng)模塊,并將Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,因此縮短了可執(zhí)行代碼生成的時(shí)間,從而縮短了CAN網(wǎng)絡(luò)通信仿真設(shè)備的CANopen功能的實(shí)現(xiàn)周期。

進(jìn)一步的,由于在Simulink模型框架中無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,因此通過(guò)Simulink模型框架生成模型程序相比于人工通過(guò)C語(yǔ)言代碼編寫(xiě)相關(guān)功能算法,更加靈活,且在對(duì)模型程序進(jìn)行維護(hù)時(shí),在Simulink模型框架中對(duì)當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊進(jìn)行修改即可,降低了維護(hù)難度。

在本實(shí)施例中,當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊具體可以包括:Simulink Setup模塊、Simulink Send模塊和Simulink Receive模塊。

其中,所述Simulink Setup模塊,用于解析CANopen卡配置文件,得到解析文件結(jié)果,并調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置。

所述Simulink Send模塊,用于調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡。

所述Simulink Receive模塊,用于調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)。

在本實(shí)施例中,上述CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程具體可以參見(jiàn)圖2,可以包括以下步驟:

步驟S21:解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果。

在本實(shí)施例中,CANopen卡配置文件具體包括端口組子配置文件和數(shù)據(jù)組子配置文件。

所述端口組子配置文件至少包括:節(jié)點(diǎn)ID配置信息,節(jié)點(diǎn)上通信對(duì)象的ID(COBID)配置信息,通信對(duì)象傳輸類(lèi)型(Transmission Type)配置信息,通信對(duì)象的最小傳輸時(shí)間間隔(inhibit time)配置信息和通信對(duì)象的周期性發(fā)送時(shí)間間隔(event time)配置信息。

所述數(shù)據(jù)組子配置文件用于定義所述CANopen卡待收發(fā)的CAN報(bào)文中8字節(jié)數(shù)據(jù)的含義。

其中,上位機(jī)可以通過(guò)CANopen卡配置文件定義CANopen網(wǎng)絡(luò)通信仿真設(shè)備為主站或從站,以使CANopen網(wǎng)絡(luò)通信仿真設(shè)備在CAN總線(xiàn)上充當(dāng)不同的功能節(jié)點(diǎn)。在CANopen網(wǎng)絡(luò)通信仿真設(shè)備為主站時(shí),在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程與在CANopen網(wǎng)絡(luò)通信仿真設(shè)備為從站時(shí),在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程相同,只是收發(fā)的具體數(shù)據(jù)不同。

步驟S22:調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置。

在本實(shí)施例中,解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果和調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù)的過(guò)程即運(yùn)行Simulink Setup模塊而實(shí)現(xiàn)的過(guò)程。

步驟S23:在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,以使所述CANopen卡通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn)。

在本實(shí)施例中,仿真計(jì)算機(jī)會(huì)接收上位機(jī)發(fā)送的驅(qū)動(dòng)程序運(yùn)行命令,并將上位機(jī)發(fā)送的驅(qū)動(dòng)程序運(yùn)行命令轉(zhuǎn)發(fā)至CANopen卡,CANopen卡按照上位機(jī)發(fā)送的驅(qū)動(dòng)程序運(yùn)行命令開(kāi)始運(yùn)行驅(qū)動(dòng)程序。

在本實(shí)施例中,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù)即運(yùn)行Simulink Send模塊而實(shí)現(xiàn)的過(guò)程。

在CANopen卡通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn)后,上位機(jī)則根據(jù)第一CANopen數(shù)據(jù)在CAN總線(xiàn)上的傳輸情況,對(duì)CAN總線(xiàn)上被測(cè)CANopen設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試。

步驟S24:在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)。

CANopen卡在運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,會(huì)按照CANopen配置文件從CAN總線(xiàn)上獲取相應(yīng)的CANopen數(shù)據(jù)(即第二CANopen數(shù)據(jù)),并將獲取到的第二CANopen數(shù)據(jù)發(fā)送至CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的仿真計(jì)算機(jī),仿真計(jì)算機(jī)則將第二CANopen數(shù)據(jù)轉(zhuǎn)發(fā)至上位機(jī),以使上位機(jī)根據(jù)第二CANopen數(shù)據(jù)對(duì)CAN總線(xiàn)上被測(cè)CANopen設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試。

在本實(shí)施例中,其中,對(duì)CAN總線(xiàn)上被測(cè)CANopen設(shè)備進(jìn)行功能測(cè)試或?qū)AN總線(xiàn)上的各種控制系統(tǒng)與檢測(cè)、執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)傳輸、總線(xiàn)分析和協(xié)議解析等功能進(jìn)行測(cè)試的原理與現(xiàn)有技術(shù)中進(jìn)行功能測(cè)試的原理相同,在此不再贅述。

在本實(shí)施例中,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù)即運(yùn)行Simulink Receive模塊而實(shí)現(xiàn)的過(guò)程。

在本實(shí)施例中,上述調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,以使所述CANopen卡發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn)的過(guò)程,具體可以為:調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送不同的發(fā)送命令至所述CANopen卡,以使所述CANopen卡的不同CAN總線(xiàn)接口發(fā)送不同的第一CANopen數(shù)據(jù)至所述CAN總線(xiàn),其中,不同的發(fā)送命令攜帶的第一CANopen數(shù)據(jù)不同。

上述調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)的過(guò)程,具體可以為:

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡的不同CAN總線(xiàn)接口從所述CAN總線(xiàn)上獲取到的不同的第二CANopen數(shù)據(jù)。

發(fā)送不同的發(fā)送命令至所述CANopen卡,以使所述CANopen卡的不同CAN總線(xiàn)接口發(fā)送不同的第一CANopen數(shù)據(jù)至所述CAN總線(xiàn),及接收所述CANopen卡的不同CAN總線(xiàn)接口從所述CAN總線(xiàn)上獲取到的不同的第二CANopen數(shù)據(jù),使CANopen網(wǎng)絡(luò)通信仿真設(shè)備可以模擬CAN總線(xiàn)上的多個(gè)功能節(jié)點(diǎn)(即在模擬不同的功能節(jié)點(diǎn)時(shí)發(fā)送不同的CANopen數(shù)據(jù)至CAN總線(xiàn)或從CAN總線(xiàn)上接收不同的CANopen數(shù)據(jù))。

實(shí)施例二

在本實(shí)施例中,在圖1示出的CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法的基礎(chǔ)上擴(kuò)展出另外一種CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法,請(qǐng)參見(jiàn)圖3,可以包括以下步驟:

步驟S31:接收上位機(jī)發(fā)送的模型程序,所述模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,所述Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊。

步驟S32:運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程。

步驟S31至步驟S32的過(guò)程與圖1示出的CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法的步驟S11至步驟S12相同,在此不再贅述。

步驟S33:將運(yùn)行所述模型程序的過(guò)程及結(jié)果發(fā)送至所述CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的顯示器進(jìn)行顯示。

在本實(shí)施例中,將運(yùn)行所述模型程序的過(guò)程及結(jié)果發(fā)送至所述CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的顯示器進(jìn)行顯示,可以方便用戶(hù)對(duì)通信情況進(jìn)行觀測(cè)。

實(shí)施例三

與上述方法實(shí)施例相對(duì)應(yīng),本實(shí)施例提供了一種仿真計(jì)算機(jī),用于接收上位機(jī)發(fā)送的模型程序,所述模型程序?yàn)樵赟imulink模型框架中Simulink驅(qū)動(dòng)模塊與CANopen卡數(shù)據(jù)交互程序進(jìn)行集成后,自動(dòng)生成的可執(zhí)行代碼,所述Simulink驅(qū)動(dòng)模塊為所述上位機(jī)在所述Simulink模型框架中搭建出的當(dāng)前CANopen網(wǎng)絡(luò)通信仿真測(cè)試任務(wù)對(duì)應(yīng)的模塊,以及運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程。

其中,仿真計(jì)算機(jī)運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程具體為:仿真計(jì)算機(jī)運(yùn)行所述模型程序,以執(zhí)行以下過(guò)程:

解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果;

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令至所述CANopen卡,以使所述CANopen卡通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn);

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù)。

具體的,仿真計(jì)算機(jī)運(yùn)行所述模型程序,以執(zhí)行CANopen網(wǎng)絡(luò)通信仿真設(shè)備中的CANopen卡在CAN總線(xiàn)上收發(fā)數(shù)據(jù)的過(guò)程具體可以為:

解析所述上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果;

調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡驅(qū)動(dòng)程序初始化函數(shù),以按照所述解析文件結(jié)果對(duì)所述CANopen卡中的驅(qū)動(dòng)程序進(jìn)行配置;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)發(fā)送函數(shù),以發(fā)送不同的發(fā)送命令至所述CANopen卡,以使所述CANopen卡的不同CAN總線(xiàn)接口發(fā)送不同的第一CANopen數(shù)據(jù)至所述CAN總線(xiàn),其中,不同的發(fā)送命令攜帶的第一CANopen數(shù)據(jù)不同;

在所述CANopen卡運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,調(diào)用所述CANopen卡數(shù)據(jù)交互程序中的CANopen卡數(shù)據(jù)接收函數(shù),以接收所述CANopen卡的不同CAN總線(xiàn)接口從所述CAN總線(xiàn)上獲取到的不同的第二CANopen數(shù)據(jù)。

實(shí)施例四

在本實(shí)施例中,提供了一種CANopen網(wǎng)絡(luò)通信仿真設(shè)備,請(qǐng)參見(jiàn)圖4,CANopen網(wǎng)絡(luò)通信仿真設(shè)備包括:仿真計(jì)算機(jī)41、轉(zhuǎn)接板卡42和CANopen卡43。

仿真計(jì)算機(jī)41由處理器411和仿真計(jì)算機(jī)機(jī)箱412組成,其中,所述處理器411通過(guò)CPCI總線(xiàn)與所述仿真計(jì)算機(jī)機(jī)箱412相連。

處理器411的具體功能與實(shí)施例三示出的仿真計(jì)算機(jī)的功能相同,在此不再贅述。

所述CANopen卡43通過(guò)所述轉(zhuǎn)接板卡42與所述仿真計(jì)算機(jī)機(jī)箱412相連。

具體的,CANopen卡43通過(guò)PCI104總線(xiàn)與轉(zhuǎn)接板卡42相連,轉(zhuǎn)接板卡42通過(guò)CPCI總線(xiàn)與仿真計(jì)算機(jī)機(jī)箱412相連。

在本實(shí)施例中,處理器411與仿真計(jì)算機(jī)機(jī)箱412相連,組成仿真計(jì)算機(jī)。在本實(shí)施例中,處理器411與仿真計(jì)算機(jī)機(jī)箱412可以拆卸,使仿真計(jì)算機(jī)機(jī)箱412可以連接不同的處理器411,組成不同的仿真計(jì)算機(jī),使CANopen網(wǎng)絡(luò)通信仿真設(shè)備的組成更加靈活。

所述CANopen卡43,用于運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序,并在運(yùn)行所述CANopen卡中完成配置的驅(qū)動(dòng)程序后,接收所述處理器411發(fā)送的攜帶有第一CANopen數(shù)據(jù)的發(fā)送命令,并通過(guò)CAN總線(xiàn)接口發(fā)送所述第一CANopen數(shù)據(jù)至CAN總線(xiàn),以及從所述CAN總線(xiàn)上獲取到的第二CANopen數(shù)據(jù),并將所述第二CANopen數(shù)據(jù)發(fā)送至所述處理器411。

其中,所述CANopen卡中完成配置的驅(qū)動(dòng)程序?yàn)樘幚砥?11解析上位機(jī)發(fā)送的CANopen卡配置文件,得到解析文件結(jié)果,并按照所述解析文件結(jié)果對(duì)所述CANopen卡43中的驅(qū)動(dòng)程序進(jìn)行配置后的程序。

需要說(shuō)明的是,本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置類(lèi)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。

最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上對(duì)本申請(qǐng)所提供的CANopen網(wǎng)絡(luò)通信仿真測(cè)試方法及相關(guān)設(shè)備進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。

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