13771165220
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 322 個
工控威望: 552 點
下載積分: 1598 分
在線時間: 85(小時)
注冊時間: 2017-11-27
最后登錄: 2024-08-23
查看13771165220的 主題 / 回貼
樓主  發(fā)表于: 2021-08-24 19:48
比如發(fā)送的數(shù)據(jù)是ASC碼     #1,0,30000,1000,AB
比如這串數(shù)字意思是  
#:打頭字母
1:站號
0:該站電機號
30000:電機定位地址
1000:電機定位速度
AB:校驗碼
其中的”,“是間隔符號也是一個ASC碼
返回數(shù)據(jù)先不管。
現(xiàn)在有這樣的問題,我需要在觸摸屏控制定位地址和定位速度。
但是如果我速度輸入3000的話就比原來的30000少一個ASC字符,這樣包括后面發(fā)送的指令數(shù)據(jù)地址都相當于左移了一位而且和校驗都不一樣了。
個人感覺還需去判斷輸入的數(shù)據(jù)轉(zhuǎn)為ASC后占幾個字符,感覺處理起來后續(xù)就比較麻煩。就算讓人家直接輸入ASC當數(shù)據(jù)也是比較麻煩。有誰有這方面的經(jīng)驗分享一下,大概思路也可以。
萬分感激。
13771165220
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 322 個
工控威望: 552 點
下載積分: 1598 分
在線時間: 85(小時)
注冊時間: 2017-11-27
最后登錄: 2024-08-23
查看13771165220的 主題 / 回貼
1樓  發(fā)表于: 2021-08-24 21:40
引用
引用第1樓菜鳥入行于2021-08-24 21:27發(fā)表的  :
得做一個很復(fù)雜的指令,尋找不同的逗號,把逗號之間的數(shù)據(jù)提出來,再轉(zhuǎn)換ASC碼,感覺好難的樣子。

你這個儀表能支持其他方式不,比如MODBUS,這樣省事多了


主要是需要判斷出輸入數(shù)據(jù)的長度,然后在把后續(xù)的數(shù)據(jù),放到發(fā)送對應(yīng)的地址里去,倒騰起來比較費事。

項目是需要測試20路步進電機性能,需要輸入脈沖數(shù)和速度。正反轉(zhuǎn)等,電壓還要36V以內(nèi)。比較麻煩,網(wǎng)上就找到一款4路485通信板。就是沒有通用協(xié)議的,只有它自己的協(xié)議格式。
目前只能無協(xié)議自己換算。

正在找MODBUS協(xié)議支持的相關(guān)產(chǎn)品。
感謝您的建議。