91黄动漫 I 欧美 日韩 国产 成人 在线 I a级成人毛片 I 农村黄色片 I 男生捅女生的肌肌 I 精品99一区二区三区 I 妃光莉av I 日日夜夜操操 I 性中国古装videossex I 久久不卡av I 美女高潮动态图 I 极品美女开粉嫩精品 I 牛牛精品一区二区 I 91精品福利视频 I 成人刺激视频 I 91国内精品视频 I 中国一级特黄毛片大片 I 校长狠狠挺进校花体内小说 I 欧美激情黄色片 I 欧美久久久一区 I 爱豆国产剧免费观看大全剧苏畅 I 麻豆国产人妻欲求不满谁演的 I 亚洲一区二区在线免费观看视频 I 国产超碰av人人做人人爽 I 精品国产第一国产综合精品 I 久久免费看av I 欧美一区二区三区白人 I 国产精品夫妻激情 I 校花被肉干高h潮不断 I 欧美最猛黑人xxxx黑人表情 I 国产欧美日韩一区二区搜索 I 极品女神露脸呻吟啪啪 I 人人天天久久 I 亚洲动漫在线 I 日本91福利区 I 五月天 桃色 开心 I av在线免费观看国产 I 男人添女人的免费视频 I 夜夜穞天天穞狠狠穞

wjk478
級別: 正式會員
精華主題: 0
發(fā)帖數量: 5 個
工控威望: 56 點
下載積分: 487 分
在線時間: 5(小時)
注冊時間: 2022-11-14
最后登錄: 2024-12-06
查看wjk478的 主題 / 回貼
樓主  發(fā)表于: 2024-01-29 20:05
請教一下論壇大佬,比如寄存器中的數值:50046其中有效數字是46,放大倍數是10的5次冪即100000那么對應的浮點數值是0.00046
                                               如果數值是:30046其中有效數字是46,放大倍數是10的3次冪即1000那么對應的浮點數值是0.046
怎么實現威綸通觸摸屏上顯示對應的浮點數值而不是寄存器中的數值?
夢雨天涯
微信hui530527   &
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 5123 個
工控威望: 10083 點
下載積分: 5460 分
在線時間: 3656(小時)
注冊時間: 2016-10-31
最后登錄: 2026-03-06
查看夢雨天涯的 主題 / 回貼
1樓  發(fā)表于: 2024-01-30 08:20
那就把你的數值除以100,找到余數46,然后余數除以100000,得到0.00046就行
微信hui530527      b站賬號,夢雨天涯1991
請不要隨意加我,不會隨便通過。
工控技術交流QQ群942493953
卓發(fā)智能
相互學習,共同進步。
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 2503 個
工控威望: 3165 點
下載積分: 13572 分
在線時間: 686(小時)
注冊時間: 2008-08-03
最后登錄: 2026-01-26
查看卓發(fā)智能的 主題 / 回貼
2樓  發(fā)表于: 2024-01-31 10:01
分二步,PLC需要運算一下,屏有內差轉換設置。
相信自我!
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 900 個
工控威望: 1279 點
下載積分: 908 分
在線時間: 723(小時)
注冊時間: 2019-09-22
最后登錄: 2026-03-06
查看gxtmdb82164的 主題 / 回貼
3樓  發(fā)表于: 2024-01-31 10:39
如果只是顯示的話,推薦HMI后寫個腳本處理,最簡單最靈活
wjk478
級別: 正式會員
精華主題: 0
發(fā)帖數量: 5 個
工控威望: 56 點
下載積分: 487 分
在線時間: 5(小時)
注冊時間: 2022-11-14
最后登錄: 2024-12-06
查看wjk478的 主題 / 回貼
4樓  發(fā)表于: 2024-02-01 09:52
引用
引用第1樓夢雨天涯于2024-01-30 08:20發(fā)表的  :
那就把你的數值除以100,找到余數46,然后余數除以100000,得到0.00046就行

放大倍數不是一個固定的值是寄存器數值里決定的是可變的,寄存器里的數值是一個十進制的電壓數值
wjk478
級別: 正式會員
精華主題: 0
發(fā)帖數量: 5 個
工控威望: 56 點
下載積分: 487 分
在線時間: 5(小時)
注冊時間: 2022-11-14
最后登錄: 2024-12-06
查看wjk478的 主題 / 回貼
5樓  發(fā)表于: 2024-02-01 10:01
引用
引用第3樓gxtmdb82164于2024-01-31 10:39發(fā)表的  :
如果只是顯示的話,推薦HMI后寫個腳本處理,最簡單最靈活

是不是觸摸屏寫段宏指令對讀取的數值進行一個數值轉換,問題是這個數值轉換思路是什么?寄存器內數值首位是決定放大倍數后幾位是有效數值,放大倍數決定有效數值的小數位數
wjk478
級別: 正式會員
精華主題: 0
發(fā)帖數量: 5 個
工控威望: 56 點
下載積分: 487 分
在線時間: 5(小時)
注冊時間: 2022-11-14
最后登錄: 2024-12-06
查看wjk478的 主題 / 回貼
6樓  發(fā)表于: 2024-02-01 10:07
引用
引用第2樓卓發(fā)智能于2024-01-31 10:01發(fā)表的  :
分二步,PLC需要運算一下,屏有內差轉換設置。

能不能屏直接讀取數值對數值進行轉換后再在屏上顯示出來,只是現在轉換的思路是什么?數值中包含放大倍數和有效數值怎么區(qū)別轉換
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 900 個
工控威望: 1279 點
下載積分: 908 分
在線時間: 723(小時)
注冊時間: 2019-09-22
最后登錄: 2026-03-06
查看gxtmdb82164的 主題 / 回貼
7樓  發(fā)表于: 2024-02-01 10:43
引用
引用第5樓wjk478于2024-02-01 10:01發(fā)表的  :

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


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

你這個等于是一個自定義的科學計數法,不過足夠簡單罷了
xuxulaifeng
級別: 探索解密
精華主題: 0
發(fā)帖數量: 30 個
工控威望: 122 點
下載積分: 825 分
在線時間: 44(小時)
注冊時間: 2015-01-03
最后登錄: 2024-02-04
查看xuxulaifeng的 主題 / 回貼
8樓  發(fā)表于: 2024-02-04 16:19
1.蔣數據轉換為字符串
2.PLC使用字符串指令,取第一位,得到其精度,
3.PLC使用字符串指令,取除第一位外其它的值,并轉換為整數
4.根據2 3條換算真正的浮點數,50046,是數值除以100000,40046是除以10000,30046是除以1000
5.在人機中顯示浮點數,設置小數點后位數是可能出現最小精度
wjk478
級別: 正式會員
精華主題: 0
發(fā)帖數量: 5 個
工控威望: 56 點
下載積分: 487 分
在線時間: 5(小時)
注冊時間: 2022-11-14
最后登錄: 2024-12-06
查看wjk478的 主題 / 回貼
9樓  發(fā)表于: 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)
//讀取寄存器數值如:34567(3是放大倍數,4567為有效數值)
DEC2ASCII(a, b[0], 5)//將34567轉為ASCII碼
ASCII2FLOAT(b[1], d, 4)//將4567轉為浮點數
c=b[0]-48//將3的ASCII碼減去48得出數字(放大倍數)
//ASCII2DEC(b[0], c, 1)
POW(10,c,e)//10的c次方賦于e
d=d/e
SetData(d, "Local HMI", LW, 0, 1)
end macro_command
謝謝大佬們的解答幫助,初步程序如上基本實現顯示問題
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 900 個
工控威望: 1279 點
下載積分: 908 分
在線時間: 723(小時)
注冊時間: 2019-09-22
最后登錄: 2026-03-06
查看gxtmdb82164的 主題 / 回貼
10樓  發(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)
.......


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

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

主站蜘蛛池模板: 搜索黄色大片 | 17c国产在线| 色综合色欲色综合色综合色乛 | 日本xxx性 | 中文字幕不卡高清视频在线 | 日韩国产精品无码一区二区三区 | 日韩欧美中文字幕综合 | 狠狠色噜狠狠狠狠 | 久草视频福利在线 | 久久久久无码精品国产不卡 | 香蕉av在线播放 | 夜夜澡人摸人人添人人看 | 1024视频污 | 久久精品福利视频 | 91观看在线视频 | 国产女人aaa级久久久级 | 好男人社区www在线观看 | 一级黄色免费片 | 精品玖玖玖视频在线观看 | 91婷婷韩国欧美一区二区 | 亚洲а∨天堂2019在线无码 | 天天国产视频 | 无码人妻aⅴ一区二区三区69岛 | 久久一卡二卡三卡四卡 | 超碰国产在线观看 | 中文字幕精品在线观看 | 四虎884aa成人精品 | 亚洲精品无码专区在线在线播放 | 欧美日韩精品一区二区视频 | 农村女人十八毛片a级毛片 国产乱子伦一区二区三区四区五区 | 亚洲人成色在线观看 | 精品99久久久久久 | 五月亚洲婷婷 | 蜜桃av网| av手机天堂| 无翼乌18禁全肉肉无遮挡彩色 | 综合色区国产亚洲另类 | 亚洲s码欧洲m码吹潮 | av在线播放一区二区三区 | r四虎| 国产精品av一区二区 | 99爱国产 | 久久国产午夜精品理论片 | 国产一区二区三区不卡在线看 | 欧美最猛黑人xxxxx猛交 | 97久久精品人人 | 一本久久伊人热热精品中文字幕 | 亚洲色欲色欲欲www在线 | 亚洲午夜18毛片在线看 | 91污视频在线观看 | 在线中文字幕亚洲 | 日韩 欧美 亚洲 国产 | 一区二区三区在线 | 日 | 激情超碰 | 成人小说亚洲一区二区三区 | 综合网亚洲 | 久操视频在线观看免费 | 亚洲高清av| 伊人网亚洲 | 藏精阁成人免费观看在线视频 | 欧美日韩无线码在线观看 | 超碰福利在线 | 亚洲综合激情七月婷婷 | 自拍偷拍av | 成人在线网站观看 | av操操 | 国产尤物av尤物在线观看 | 精品一区二区的区别 | 亚洲一卡2卡3卡四卡新区 | 欧美gif抽搐出入又大又黄 | 亚洲欧美日韩中字视频三区 | 亚洲另类欧美在线电影 | 日韩国产成人无码av毛片蜜柚 | 日韩精品欧美 | 中国熟妇xxxx性裸交 | 亚洲欧美一区二区三区国产精品 | 在线视频观看一区二区 | 免费毛片av| 成人自拍视频网 | 亚洲人成网7777777国产 | 国产精品综合av一区二区国产馆 | 国产一二三四区中 | 天天干夜夜怕 | 福利不卡 | 日本男女网站 | 国产一级淫片a免费播放 | 久草在线免费色站 | 国产精品无线一线二线三线 | av小说在线免费观看 | 国产亚洲欧美一区二区三区 | 免费人成视频在线视频网站 | 网红主播 国产精品 开放90后 | 丝袜天堂网| 色老头在线一区二区三区 | 中文字幕av一区二区三区人妻少妇 | 日韩精品久久久久久久软件91 | 日本五十肥熟交尾 | 免费人成网视频在线观看 | 97超碰色 |