System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及can數據處理,尤其是一種can數據發送方法、裝置、設備及存儲介質。
技術介紹
1、codseys軟件是plc完整開發環境,其實時核可以將硬件平臺改造成高性能可編程控制器,軟件平臺支持iec61131-3標準,集成現場總線配置器,可針對不同硬件設備和現場總線協議進行系統開發。
2、相關技術中,codseys軟件雖然包含有canopen協議的功能塊,能夠通過讀取寄存器的值獲取設備數據,但缺乏完整讀取can數據幀的方法,對于具有特殊can協議的設備,無法獲取can數據幀每個字節的數據。
技術實現思路
1、本申請的目的是提供一種can數據發送方法、裝置、設備及存儲介質,可以完整讀取can數據,為分析完整的can數據提供了便利。
2、本申請實施例提供一種can數據發送方法,包括:
3、獲取數據發送指令;
4、調用第一預設函數,以建立與can總線之間的套接字連接,將所述數據發送指令對應的can發送幀發送至所述can總線;
5、調用第二預設函數,以在發送所述can發送幀后的等待時長結束前,通過所述套接字連接從所述can總線獲取can應答幀并進行讀取;
6、其中,所述第一預設函數和所述第二預設函數由預設功能塊調用,所述預設功能塊為對裝有codseys軟件的終端進行二次開發得到,所述第一預設函數和所述第二預設函數被調用時可調用所述codseys軟件中的動態庫文件。
7、在一些實施例中,在所述獲取數據發送指
8、創建所述預設功能塊、編譯庫文件和運行時文件;
9、生成所述第一預設函數和所述第二預設函數,并封裝于所述編譯庫文件;
10、構建所述第一預設函數和所述第二預設函數兩者與所述運行時文件所對應的codseys?runtime組件之間的鏈接關系;
11、關聯所述預設功能塊、所述編譯庫文件和所述運行時文件。
12、在一些實施例中,在所述調用第一預設函數,以建立與can總線之間的套接字連接,將所述數據發送指令對應的can發送幀發送至所述can總線之前,還包括:
13、調用第三預設函數,以初始化所述can總線,配置所述can總線的相關參數,將所述can總線與相應的套接字接口進行綁定;
14、其中,所述第三預設函數由所述預設功能塊調用,所述第三預設函數被調用時調用所述codseys軟件中的動態庫文件。
15、在一些實施例中,所述調用第一預設函數,以建立與can總線之間的套接字連接,將所述數據發送指令對應的can發送幀發送至所述can總線,包括:
16、獲取所述數據發送指令對應的can發送數據;
17、利用所述can發送數據,構造出相應的can結構體;
18、調用與所述can總線綁定的套接字接口,將所述can結構體封裝為所述can發送幀,將所述can發送幀發送至所述can總線。
19、在一些實施例中,所述調用第二預設函數,以在發送所述can發送幀后的等待時長結束前,通過所述套接字連接從所述can總線獲取can應答幀,包括:
20、判斷在所述等待時長內是否從所述can總線收到所述can應答幀;
21、若收到,判斷所述can發送幀和所述can應答幀兩者的報文id是否相同;
22、若相同,對所述can應答幀中的應答數據進行crc校驗,得到校驗結果;
23、根據所述校驗結果,確定所述應答數據的處理結果。
24、在一些實施例中,所述can數據發送方法,還包括:
25、根據makefile腳本內的編譯參數,查找依賴頭文件和接口頭文件;
26、根據依賴頭文件和接口頭文件,創建所述第一預設函數和所述第二預設函數兩者與所述動態庫文件之間的鏈接關系。
27、在一些實施例中,在所述調用第二預設函數,以在發送所述can發送幀后的等待時長結束前,通過所述套接字連接從所述can總線獲取can應答幀之后,還包括:
28、調用第四預設函數,以關閉所述套接字接口和所述can總線;
29、其中,所述第四預設函數由所述預設功能塊調用,所述第四預設函數被調用時調用所述codseys軟件中的動態庫文件。
30、本申請實施例還提供一種can數據發送裝置,包括:
31、第一模塊,用于獲取數據發送指令;
32、第二模塊,用于調用第一預設函數,以建立與can總線之間的套接字連接,將所述數據發送指令對應的can發送幀發送至所述can總線;
33、第三模塊,用于調用第二預設函數,以在發送所述can發送幀后的等待時長結束前,通過所述套接字連接從所述can總線獲取can應答幀并進行讀取;
34、其中,所述第一預設函數和所述第二預設函數由預設功能塊調用,所述預設功能塊為對裝有codseys軟件的終端進行二次開發得到,所述第一預設函數和所述第二預設函數被調用時可調用所述codseys軟件中的動態庫文件。
35、本申請實施例還提供一種電子設備,所述電子設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現上述的can數據發送方法。
36、本申請實施例還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現上述的can數據發送方法。
37、本申請的有益效果:通過在裝有codseys軟件的終端中二次開發預設功能塊以及配置相應的第一預設函數和第二預設函數,使第一預設函數和第二預設函數被調用時可調用codseys軟件中的動態庫文件,在接收到數據發送指令時,通過先后調用第一預設函數和第二預設函數,以通過套接字連接方式向can總線發送相應的can發送幀和獲取can總線上的can應答幀并進行讀取,可以完整讀取can數據,為分析完整的can數據提供了便利。
本文檔來自技高網...【技術保護點】
1.一種CAN數據發送方法,其特征在于,包括:
2.根據權利要求1所述的CAN數據發送方法,其特征在于,在所述獲取數據發送指令之前,還包括:
3.根據權利要求1所述的CAN數據發送方法,其特征在于,在所述調用第一預設函數,以建立與CAN總線之間的套接字連接,將所述數據發送指令對應的CAN發送幀發送至所述CAN總線之前,還包括:
4.根據權利要求1所述的CAN數據發送方法,其特征在于,所述調用第一預設函數,以建立與CAN總線之間的套接字連接,將所述數據發送指令對應的CAN發送幀發送至所述CAN總線,包括:
5.根據權利要求1所述的CAN數據發送方法,其特征在于,所述調用第二預設函數,以在發送所述CAN發送幀后的等待時長結束前,通過所述套接字連接從所述CAN總線獲取CAN應答幀并進行讀取,包括:
6.根據權利要求1所述的CAN數據發送方法,其特征在于,還包括:
7.根據權利要求1所述的CAN數據發送方法,其特征在于,在所述調用第二預設函數,以在發送所述CAN發送幀后的等待時長結束前,通過所述套接字連接從所述CAN
8.一種CAN數據發送裝置,其特征在于,包括:
9.一種電子設備,其特征在于,所述電子設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現權利要求1至7任一項所述的CAN數據發送方法。
10.一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述的CAN數據發送方法。
...【技術特征摘要】
1.一種can數據發送方法,其特征在于,包括:
2.根據權利要求1所述的can數據發送方法,其特征在于,在所述獲取數據發送指令之前,還包括:
3.根據權利要求1所述的can數據發送方法,其特征在于,在所述調用第一預設函數,以建立與can總線之間的套接字連接,將所述數據發送指令對應的can發送幀發送至所述can總線之前,還包括:
4.根據權利要求1所述的can數據發送方法,其特征在于,所述調用第一預設函數,以建立與can總線之間的套接字連接,將所述數據發送指令對應的can發送幀發送至所述can總線,包括:
5.根據權利要求1所述的can數據發送方法,其特征在于,所述調用第二預設函數,以在發送所述can發送幀后的等待時長結束前,通過所述套接字連接從所述can總線獲取can應答幀...
【專利技術屬性】
技術研發人員:黃靜純,彭江濤,
申請(專利權)人:深圳市杰美康機電有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。