13771165220
級別: 家園?
![]() |
比如發(fā)送的數據是ASC碼 #1,0,30000,1000,AB 比如這串數字意思是 #:打頭字母 1:站號 0:該站電機號 30000:電機定位地址 1000:電機定位速度 AB:校驗碼 其中的”,“是間隔符號也是一個(gè)ASC碼 返回數據先不管。 現在有這樣的問(wèn)題,我需要在觸摸屏控制定位地址和定位速度。 但是如果我速度輸入3000的話(huà)就比原來(lái)的30000少一個(gè)ASC字符,這樣包括后面發(fā)送的指令數據地址都相當于左移了一位而且和校驗都不一樣了。 個(gè)人感覺(jué)還需去判斷輸入的數據轉為ASC后占幾個(gè)字符,感覺(jué)處理起來(lái)后續就比較麻煩。就算讓人家直接輸入ASC當數據也是比較麻煩。有誰(shuí)有這方面的經(jīng)驗分享一下,大概思路也可以。 萬(wàn)分感激。 |
---|---|
|
菜鳥(niǎo)入行
級別: 論壇先鋒
![]() ![]() |
得做一個(gè)很復雜的指令,尋找不同的逗號,把逗號之間的數據提出來(lái),再轉換ASC碼,感覺(jué)好難的樣子。 你這個(gè)儀表能支持其他方式不,比如MODBUS,這樣省事多了 |
|
---|---|---|
|
13771165220
級別: 家園?
![]() |
主要是需要判斷出輸入數據的長(cháng)度,然后在把后續的數據,放到發(fā)送對應的地址里去,倒騰起來(lái)比較費事。 項目是需要測試20路步進(jìn)電機性能,需要輸入脈沖數和速度。正反轉等,電壓還要36V以?xún)。比較麻煩,網(wǎng)上就找到一款4路485通信板。就是沒(méi)有通用協(xié)議的,只有它自己的協(xié)議格式。 目前只能無(wú)協(xié)議自己換算。 正在找MODBUS協(xié)議支持的相關(guān)產(chǎn)品。 感謝您的建議。 |
---|---|
|
楓落云端
施主,腳抬一下
級別: 略有小成
![]() ![]() |
方法1: 觸摸屏輸入為數字時(shí),PLC把數字加一個(gè)很大的值,比如每次最大也就5位數,先把 數字+100000,之后再用DBINDA轉為字符串,再用RIGHT截取5位字符串。(不管你輸入的是幾位,每次都可以保證截取到5位) 方法2: 觸摸屏輸入為字符型數據時(shí),PLC直接用指令LEN檢測該字符串位多少位,再相應補字符'0'或者補空格,用CONCAT指令連接字符。 樓主留言:大神,牛啊。我照你說(shuō)的挨個(gè)指令試試,好多指令都沒(méi)用過(guò)。第一種覺(jué)得可行,第二種有點(diǎn)小麻煩,輸入123,1到最低位去了。 |
---|---|
|
aaaa華華
級別: 探索解密
![]() |
這位老哥說(shuō)的對,看能不能MODBUS通訊,能MODBUS通訊要省事很多,再轉ASC碼很麻煩 樓主留言:很難找到類(lèi)似產(chǎn)品,主要是有電壓要求。多數是24V的。 |
|
---|---|---|
|