<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        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
        怎么實現威綸通觸摸屏上顯示對應的浮點數值而不是寄存器中的數值?
        夢雨天涯
        微信hui530527   &
        級別: 網絡英雄
        精華主題: 0
        發帖數量: 4988 個
        工控威望: 8429 點
        下載積分: 18632 分
        在線時間: 3488(小時)
        注冊時間: 2016-10-31
        最后登錄: 2025-10-28
        查看夢雨天涯的 主題 / 回貼
        1樓  發表于: 2024-01-30 08:20
        那就把你的數值除以100,找到余數46,然后余數除以100000,得到0.00046就行
        微信hui530527      b站賬號,夢雨天涯1991
        請不要隨意加我,不會隨便通過。
        工控技術交流QQ群942493953
        卓發智能
        相互學習,共同進步。
        級別: 工控俠客
        精華主題: 0
        發帖數量: 2490 個
        工控威望: 3151 點
        下載積分: 13063 分
        在線時間: 681(小時)
        注冊時間: 2008-08-03
        最后登錄: 2025-10-24
        查看卓發智能的 主題 / 回貼
        2樓  發表于: 2024-01-31 10:01
        分二步,PLC需要運算一下,屏有內差轉換設置。
        相信自我!
        gxtmdb82164
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 875 個
        工控威望: 1254 點
        下載積分: 678 分
        在線時間: 697(小時)
        注冊時間: 2019-09-22
        最后登錄: 2025-10-28
        查看gxtmdb82164的 主題 / 回貼
        3樓  發表于: 2024-01-31 10:39
        如果只是顯示的話,推薦HMI后寫個腳本處理,最簡單最靈活
        wjk478
        級別: 正式會員
        精華主題: 0
        發帖數量: 5 個
        工控威望: 56 點
        下載積分: 299 分
        在線時間: 5(小時)
        注冊時間: 2022-11-14
        最后登錄: 2024-12-06
        查看wjk478的 主題 / 回貼
        4樓  發表于: 2024-02-01 09:52
        引用
        引用第1樓夢雨天涯于2024-01-30 08:20發表的  :
        那就把你的數值除以100,找到余數46,然后余數除以100000,得到0.00046就行

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

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

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

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


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

        你這個等于是一個自定義的科學計數法,不過足夠簡單罷了
        xuxulaifeng
        級別: 探索解密
        精華主題: 0
        發帖數量: 30 個
        工控威望: 122 點
        下載積分: 637 分
        在線時間: 44(小時)
        注冊時間: 2015-01-03
        最后登錄: 2024-02-04
        查看xuxulaifeng的 主題 / 回貼
        8樓  發表于: 2024-02-04 16:19
        1.蔣數據轉換為字符串
        2.PLC使用字符串指令,取第一位,得到其精度,
        3.PLC使用字符串指令,取除第一位外其它的值,并轉換為整數
        4.根據2 3條換算真正的浮點數,50046,是數值除以100000,40046是除以10000,30046是除以1000
        5.在人機中顯示浮點數,設置小數點后位數是可能出現最小精度
        wjk478
        級別: 正式會員
        精華主題: 0
        發帖數量: 5 個
        工控威望: 56 點
        下載積分: 299 分
        在線時間: 5(小時)
        注冊時間: 2022-11-14
        最后登錄: 2024-12-06
        查看wjk478的 主題 / 回貼
        9樓  發表于: 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
        發帖數量: 875 個
        工控威望: 1254 點
        下載積分: 678 分
        在線時間: 697(小時)
        注冊時間: 2019-09-22
        最后登錄: 2025-10-28
        查看gxtmdb82164的 主題 / 回貼
        10樓  發表于: 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,可以更明確當前的錯誤

        主站蜘蛛池模板: 96精品国产高清在线看入口| 亚洲精品国产aⅴ成拍色拍| 自拍日韩亚洲一区在线| 国产精品自产在线观看一| 久久人体视频| 欧洲码亚洲码的区别入口| 小13箩利洗澡无码视频网站| 中文字幕在线精品视频入口一区| 国产综合久久99久久| 成 人影片 免费观看| 护士张开腿被奷日出白浆| 麻豆精品一区综合av在线| 久久夜色精品亚洲国产av| 亚洲一区精品视频在线| 国产精品va在线观看h| 女人色熟女乱| 亚洲熟妇在线视频观看| 国产精品露脸3p普通话| 亚洲国产欧美一区二区好看电影| 国产免费不卡av在线播放| 亚洲精品香蕉一区二区| 人妻互换一二三区激情视频| 久久99精品久久久久久青青| 国产一级毛片高清完整视频版| 国产精品人成视频免费国产| 麻豆一区二区三区蜜桃免费| 成人网站国产在线视频内射视频| 久久夜色精品亚洲国产av| 日本不卡片一区二区三区| 国产精品_国产精品_k频道| 视频一区视频二区在线视频 | 国产日韩一区二区天美麻豆| 国产区成人精品视频| 国产av第一次处破| 小嫩批日出水无码视频免费| 成人无码特黄特黄AV片在线| 熟女熟妇伦av网站| 国产午夜精品理论大片| 欧美日韩国产高清视频在线观看| 亚洲 一区二区 在线| 精品人妻久久一日二个|