成全高清免费完整观看,日韩一区二区三免费高清,欧美在线看欧美视频免费,日本无码专区无码二区

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

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


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

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


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

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

<sup id="t49uz"><pre id="t49uz"></pre></sup>
    <xmp id="t49uz"><sup id="t49uz"><pre id="t49uz"></pre></sup>
    <sup id="t49uz"><font id="t49uz"></font></sup>
    <sup id="t49uz"></sup>
    主站蜘蛛池模板: 青铜峡市| 龙川县| 日本 学生?亚洲?护士| 欧美日韩av无码在我| 久久成人无码国产免费播放| 金川县| 敖汉旗| 欧美日韩国产在线人成| 三人成全免费观看电视剧高清一 | 国产偷人妻精品一区| 兴海县| 欧美三级电影| 临泽县| 人人玩人人添人人澡欧美| 南溪县| 双江| 克东县| 德钦县| 武宁县| 成全视频在线播放观看方法| 青青青国产免费线在线观看| 日本乱偷中文字幕| 青青青欧美视频在线观看| 乾安县| 欧美黑吊大战白妞欧美大片 | 万山特区| 欧美 av亚洲 av国产 制服| 府谷县| 成全电影大全在线观看国语版| 三年大片在线观看免费播放第14...| 欧美丰满妇大ass| 日本肉动漫无遮挡在线观看| 衡水市| 青草草97久热精品视频| 书房吸乳抑制低吟1V1| 冷水江市| 少妇做爰免费理伦电影| 性生交大片免费看狂欲| 镇平县| 日韩国产丝袜人妻一二区| 青海省|