最新天堂中文在线丨午夜嘿嘿嘿影院丨亚洲国产精品高清久久久丨中文字幕人成乱码熟女app丨www91亚洲丨97成人资源丨成人中文字幕+乱码+中文字幕丨一区二区三区在线 | 日丨日韩免费大片丨亚洲欧美一区二区三区丨国产在线观看a丨亚洲成人第一区丨国内免费视频成人精品丨亚洲综合色网站丨午夜精品美女久久久久av福利丨国产午夜人做人免费视频网站丨国产又黄视频丨97se狼狼狼狼狼亚洲网丨狠狠亚洲婷婷综合色香五月丨中国一级毛片黄丨国产女人十八毛片丨国产色视频在线播放丨国产亚洲精久久久久久无码苍井空丨天天摸日日摸爽爽狠狠丨久久综合香蕉国产蜜臀av

13771165220
級別: 家園常客
精華主題: 0
發帖數量: 323 個
工控威望: 553 點
下載積分: 1601 分
在線時間: 86(小時)
注冊時間: 2017-11-27
最后登錄: 2025-05-10
查看13771165220的 主題 / 回貼
樓主  發表于: 2021-08-24 19:48
比如發送的數據是ASC碼     #1,0,30000,1000,AB
比如這串數字意思是  
#:打頭字母
1:站號
0:該站電機號
30000:電機定位地址
1000:電機定位速度
AB:校驗碼
其中的”,“是間隔符號也是一個ASC碼
返回數據先不管。
現在有這樣的問題,我需要在觸摸屏控制定位地址和定位速度。
但是如果我速度輸入3000的話就比原來的30000少一個ASC字符,這樣包括后面發送的指令數據地址都相當于左移了一位而且和校驗都不一樣了。
個人感覺還需去判斷輸入的數據轉為ASC后占幾個字符,感覺處理起來后續就比較麻煩。就算讓人家直接輸入ASC當數據也是比較麻煩。有誰有這方面的經驗分享一下,大概思路也可以。
萬分感激。
楓落云端
施主,腳抬一下
級別: 略有小成

精華主題: 0
發帖數量: 341 個
工控威望: 465 點
下載積分: 1548 分
在線時間: 416(小時)
注冊時間: 2017-10-10
最后登錄: 2025-06-26
查看楓落云端的 主題 / 回貼
1樓  發表于: 2021-08-25 13:02
方法1:
觸摸屏輸入為數字時,PLC把數字加一個很大的值,比如每次最大也就5位數,先把 數字+100000,之后再用DBINDA轉為字符串,再用RIGHT截取5位字符串。(不管你輸入的是幾位,每次都可以保證截取到5位)

方法2:
觸摸屏輸入為字符型數據時,PLC直接用指令LEN檢測該字符串位多少位,再相應補字符'0'或者補空格,用CONCAT指令連接字符。
樓主留言:
大神,牛啊。我照你說的挨個指令試試,好多指令都沒用過。第一種覺得可行,第二種有點小麻煩,輸入123,1到最低位去了。