一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

wjk478
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 5 個
工控威望: 56 點
下載積分: 299 分
在線時間: 5(小時)
注冊時間: 2022-11-14
最后登錄: 2024-12-06
查看wjk478的 主題 / 回貼
樓主  發(fā)表于: 2024-01-29 20:05
請教一下論壇大佬,比如寄存器中的數(shù)值:50046其中有效數(shù)字是46,放大倍數(shù)是10的5次冪即100000那么對應(yīng)的浮點數(shù)值是0.00046
                                               如果數(shù)值是:30046其中有效數(shù)字是46,放大倍數(shù)是10的3次冪即1000那么對應(yīng)的浮點數(shù)值是0.046
怎么實現(xiàn)威綸通觸摸屏上顯示對應(yīng)的浮點數(shù)值而不是寄存器中的數(shù)值?
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 774 個
工控威望: 1152 點
下載積分: 408 分
在線時間: 609(小時)
注冊時間: 2019-09-22
最后登錄: 2025-01-10
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2024-01-31 10:39
如果只是顯示的話,推薦HMI后寫個腳本處理,最簡單最靈活
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 774 個
工控威望: 1152 點
下載積分: 408 分
在線時間: 609(小時)
注冊時間: 2019-09-22
最后登錄: 2025-01-10
查看gxtmdb82164的 主題 / 回貼
2樓  發(fā)表于: 2024-02-01 10:43
引用
引用第5樓wjk478于2024-02-01 10:01發(fā)表的  :

是不是觸摸屏寫段宏指令對讀取的數(shù)值進行一個數(shù)值轉(zhuǎn)換,問題是這個數(shù)值轉(zhuǎn)換思路是什么?寄存器內(nèi)數(shù)值首位是決定放大倍數(shù)后幾位是有效數(shù)值,放大倍數(shù)決定有效數(shù)值的小數(shù)位數(shù)


所以讓你用宏指令讀到HMI里處理,直接轉(zhuǎn)成字符串,然后分成兩個子字符串,一個是位數(shù)一個是有效數(shù)值,然后再轉(zhuǎn)成數(shù)值運算以后寫到HMI內(nèi)部地址上,HMI直接顯示就行了
PC編程上的大數(shù)運算也是這樣操作的,什么20位數(shù)乘以20位數(shù),常規(guī)的數(shù)值系統(tǒng)都容納不了這么大的數(shù)值,都是轉(zhuǎn)成字符串以后,按四則運算的規(guī)則一位一位的算,算一位就寫一位結(jié)果到字符串里面,字符串隨便多長都無所謂

你這個等于是一個自定義的科學(xué)計數(shù)法,不過足夠簡單罷了
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 774 個
工控威望: 1152 點
下載積分: 408 分
在線時間: 609(小時)
注冊時間: 2019-09-22
最后登錄: 2025-01-10
查看gxtmdb82164的 主題 / 回貼
3樓  發(fā)表于: 2024-02-06 10:05
引用
引用第9樓wjk478于2024-02-05 16:12發(fā)表的  :
macro_command main()
unsigned short c,a,e
unsigned char b[5]
float d
GetData(a, "MODBUS RTU (zero-based addressing)", 3x, 2, 1)
.......


功能實現(xiàn)就好,距離完美的程序(別人死我不死,我死也要優(yōu)雅的死)還有兩小步
1、入?yún)z查,不能保證下位機給的數(shù)值一定是正確的,第一位如果讀到0呢?你這里可是有除法的(一般不會炸,但是萬一哪天移植到其他平臺上呢),如果大于5呢?
2、錯誤通知,這個也是要依賴特定平臺的,比如說你這里用威綸通的話,最直接的辦法就是給顯示元件設(shè)置一個極限值,最大或者最小看具體設(shè)計,總之讀取到錯誤數(shù)據(jù)后要給用戶一個良好的提示,是數(shù)據(jù)錯誤了

可能的優(yōu)化方案:
1、入?yún)z查,讀取到字符串后檢查第一位的數(shù)值范圍,理論上應(yīng)該是1~5的范圍,超過這個范圍可以認(rèn)為數(shù)據(jù)無效了
2、去掉除法,第一位的1~5會對應(yīng)0.1到0.00001這5個小數(shù)值,取出來這個小數(shù)值和有效值相乘即可(你這個系統(tǒng)里面0到底是怎么表達(dá)的?)
3、更高階的寫法是在宏函數(shù)內(nèi)完成數(shù)值到字符串的轉(zhuǎn)換,界面元件直接顯示字符串,本身有float2Ascii的內(nèi)建函數(shù),同時可以在函數(shù)內(nèi)方便的判斷數(shù)據(jù)有效情況,反正最后輸出的字符串,數(shù)據(jù)合法范圍內(nèi)輸出這個數(shù)值的字符串結(jié)果,超過這個結(jié)果直接輸出一個ERROR或者NaN,可以更明確當(dāng)前的錯誤

主站蜘蛛池模板: 婷婷九月| 男模chinesegayxxxx| 91av免费| 亚洲精品九色在线网站| 白丝女榨干蹂躏我| 精品国产品香蕉在线观看| 无遮挡h肉动漫在线观看电车| 久久亚洲精品成人| 精品久久看| 欧美日韩亚洲区久久综合 | 免费波多野结衣庭教师| 亚洲男女天堂| chinese高中生gay男同| 成年视频在线观看| 亚洲无限观看| 欧美一级片在线视频| 日韩一区二区在线视频| 国产农村一一级特黄毛片| 国产自在线观看| 免费成年网站| 亚洲高清在线天堂精品| 日本一区二区视频免费播放 | 国产小视频在线免费| 亚洲AV无码国产精品午夜久久 | 女同志 videos| 乌克兰成人性色生活片| 风间由美在线播放| 久久青草费线频观看国产| 国产大片免费在线观看| 欧美综合色网| 日本中文字幕一区二区有码在线| 亚洲第五色综合网啪啪| 国产精品久久久久影视不卡| sao虎在线精品永久在线| 成年人视频在线免费看| 国模李丽莎大尺度啪啪| 99pao在线视频精品免费| 全程粗语对白视频videos| 欧美坐爱| 亚洲欧美日韩天堂| 污书屋|