曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

西門子TIA Portal如何比較兩個浮點數(shù)相等

工控論壇 ? 來源:工控論壇 ? 2025-01-06 10:07 ? 次閱讀

概述:

由于浮點數(shù)的定義規(guī)則,導(dǎo)致浮點數(shù)不能通過二進制精確表示,所以在浮點數(shù)計算過程中,會出現(xiàn)兩個值一樣的浮點數(shù)進行比較相等計算時結(jié)果并不相等的情況。下面先設(shè)計一個實例說明該問題,并給出解決問題的方法。

第1步:

添加 PLC 設(shè)備。

選擇西門子 CPU 1214C DC/DC/DC。

設(shè)置 IP 地址:192.168.0.1。

子網(wǎng)掩碼:255.255.255.0

951bfcc6-c912-11ef-9310-92fbcf53809c.jpg


圖1添加 PLC 設(shè)備

第2步:

1. 添加全局數(shù)據(jù)塊。命名為:GdbData。

9534e01a-c912-11ef-9310-92fbcf53809c.png


圖 2 浮點數(shù)全局數(shù)據(jù)塊

在以上全局數(shù)據(jù)塊中添加浮點數(shù)類型變量,tagA、tagB、tagC 和 tagSum,分別設(shè)置起始值 0.02、0.03、0.05 和 0.0。

2. 在主程序 Main 中添加接口變量。

95444528-c912-11ef-9310-92fbcf53809c.png

圖 3 主程序 Main 的接口變量

3. 編寫程序,進行浮點數(shù)加法計算并將結(jié)果進行相等比較。

955178c4-c912-11ef-9310-92fbcf53809c.png


圖 4 編寫程序

可以看到浮點數(shù) tagA + tagB = 0.05,和 tagC = 0.05 作相等比較,比較結(jié)果并不相等。

4. 在監(jiān)控表中監(jiān)視變量值。

9566206c-c912-11ef-9310-92fbcf53809c.png


圖 5 變量監(jiān)視 - 浮點數(shù)

956a47d2-c912-11ef-9310-92fbcf53809c.png


圖 6 變量監(jiān)視 - 十六進制

可以看到監(jiān)視到變量 tagSum 和 tagC 的浮點數(shù)值均為 0.05,值相等,而十六進制數(shù)值卻為 16#3D4C CCCC 和 16#3D4C CCCD,值不相等。在以上程序中浮點數(shù)相等的比較過程中實際上比較的是十六進制數(shù),所以得到的結(jié)果并不相等。

第3步:

鑒于以上原因,在進行兩個浮點數(shù)相等比較計算時,可以先計算兩個數(shù)的差值,然后判斷該差值是否在一個很小的數(shù)值范圍以內(nèi),比如在 ±1.0E-6 以內(nèi),則認為這 兩個浮點數(shù)相等。

9579b500-c912-11ef-9310-92fbcf53809c.png


圖 7 比較兩個浮點數(shù)相等

第4步:

功能封裝。

定義一個 FC,命名為:RealEqual, 對以上功能進行封裝,在以后浮點數(shù)相等判斷時方便直接調(diào)用。

95819072-c912-11ef-9310-92fbcf53809c.png


圖 8 功能封裝

封裝后的調(diào)用結(jié)果。

959cb776-c912-11ef-9310-92fbcf53809c.png


圖 9 功能調(diào)用

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5028

    文章

    13615

    瀏覽量

    471231
  • 西門子
    +關(guān)注

    關(guān)注

    98

    文章

    3118

    瀏覽量

    117559
  • 浮點數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    16059

原文標題:西門子 TIA Portal 如何比較兩個浮點數(shù)相等

文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    點數(shù)浮點數(shù)的區(qū)別是什么

    的傅里葉變換后的數(shù)據(jù),那么,選擇正確的處理方式時,首先要解決的是定點數(shù)浮點數(shù)的問題。如果使用過單片機的同學,一定會知道定點運算和浮點運算兩個概念,那么,定點運算和
    發(fā)表于 02-21 07:22

    浮點數(shù)的表示方法

    浮點數(shù)的表示方法  浮點數(shù),是指小數(shù)點在數(shù)據(jù)中的位置可以左右移動的數(shù)據(jù)。它通常被表示成:    N = M* RE  這里的M(Mantissa)被稱為浮點數(shù)
    發(fā)表于 10-13 17:13 ?1.7w次閱讀
    <b class='flag-5'>浮點數(shù)</b>的表示方法

    浮點數(shù)常用的編碼方法

    浮點數(shù)常用的編碼方法  前面已經(jīng)說到,在計算機內(nèi),浮點數(shù)被表示為如下格式:    通常情況
    發(fā)表于 10-13 17:21 ?4648次閱讀
    <b class='flag-5'>浮點數(shù)</b>常用的編碼方法

    modbus 如何讀取浮點數(shù)

    本文為大家介紹modbus讀取浮點數(shù)兩個程序設(shè)計。
    發(fā)表于 02-08 10:03 ?1.5w次閱讀

    三菱PLC浮點數(shù)運算指令

    二進制浮點數(shù)比較指令ECMP(FNC110) DECMP(P)指令的使用如圖1所示,將兩個源操作數(shù)進行比較比較結(jié)果反映在目標操作數(shù)中。如果
    發(fā)表于 03-23 14:14 ?1.8w次閱讀
    三菱PLC<b class='flag-5'>浮點數(shù)</b>運算指令

    談一談浮點數(shù)的精度問題

    還是要從浮點數(shù)的存儲和標識出發(fā)來處理該問題,既然浮點數(shù)天然就存在一定的誤差,而有時候計算又無法獲得唯一的數(shù)值,如下圖所示,浮點數(shù)計算出來的實軸上的值都會因為浮點數(shù)無法存儲標識而近似到其
    的頭像 發(fā)表于 08-11 14:28 ?5092次閱讀
    談一談<b class='flag-5'>浮點數(shù)</b>的精度問題

    什么是浮點數(shù)?浮點數(shù)在內(nèi)存中的存儲

    浮點型簡單講就是實數(shù)的意思。浮點數(shù)在計算機中用以近似表示任意某個實數(shù)。
    的頭像 發(fā)表于 11-09 11:07 ?6054次閱讀
    什么是<b class='flag-5'>浮點數(shù)</b>?<b class='flag-5'>浮點數(shù)</b>在內(nèi)存中的存儲

    什么是浮點數(shù)

    Python數(shù)據(jù)類型第一種:字符串(str)。 Python數(shù)據(jù)類型第二種:整數(shù)(int)。 Python數(shù)據(jù)類型第三種:浮點數(shù),浮點數(shù)的英文名是float,浮點數(shù)沒有簡寫。
    的頭像 發(fā)表于 02-23 14:58 ?5114次閱讀

    西門子PLC 64位浮點數(shù)轉(zhuǎn)32位浮點數(shù)程序分享

    西門子S7-200測試通過,程序網(wǎng)上而來,獻給有需要的各位!
    的頭像 發(fā)表于 03-29 09:39 ?2866次閱讀

    西門子PLC讀取的儀表數(shù)據(jù)(浮點數(shù))如何轉(zhuǎn)換為整數(shù)

    看到一網(wǎng)友的問題,西門子200PLC采用MODBUS RTU協(xié)議采集多功能儀表的數(shù)據(jù),接收的數(shù)據(jù)均是32位的單精度浮點數(shù),我怎么在PLC程序里面實現(xiàn)單精度浮點數(shù)與十進制之間的轉(zhuǎn)換?且
    的頭像 發(fā)表于 06-01 10:18 ?6638次閱讀
    <b class='flag-5'>西門子</b>PLC讀取的儀表數(shù)據(jù)(<b class='flag-5'>浮點數(shù)</b>)如何轉(zhuǎn)換為整數(shù)

    西門子PLC浮點數(shù)程序案例分享

    64位浮點數(shù)保存于VB0開始的存儲區(qū)中,轉(zhuǎn)換得出的32位浮點數(shù)保存于VD100中。
    發(fā)表于 10-27 17:07 ?3891次閱讀
    <b class='flag-5'>西門子</b>PLC<b class='flag-5'>浮點數(shù)</b>程序案例分享

    單精度和雙精度浮點數(shù)的區(qū)別

    單精度和雙精度是計算機中表示浮點數(shù)種不同的精度。在計算機中,浮點數(shù)用來表示帶有小數(shù)部分的實數(shù),而單精度和雙精度用來表示浮點數(shù)的精確程度不同。在以下文章中,我將詳細介紹單精度和雙精度
    的頭像 發(fā)表于 12-15 10:25 ?5959次閱讀

    modbus浮點數(shù)怎么讀取

    Modbus是一種通信協(xié)議,常用于工業(yè)自動化系統(tǒng)中的設(shè)備之間的通信。它支持多種數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符串等。浮點數(shù)在工業(yè)領(lǐng)域中廣泛應(yīng)用,因此了解如何讀取和處理Modbus浮點數(shù)是非
    的頭像 發(fā)表于 12-28 14:38 ?7496次閱讀

    西門子TIA Portal中函數(shù)FC和函數(shù)塊FB的相互轉(zhuǎn)換

    描述 本文將介紹在西門子 TIA Portal 中使用 Add-In 插件實現(xiàn)函數(shù) FC 和函數(shù)塊 FB 的相互轉(zhuǎn)換的方法和步驟。 第1步: 添加 PLC 設(shè)備。 選擇西門子 CPU
    的頭像 發(fā)表于 01-15 10:07 ?1437次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>中函數(shù)FC和函數(shù)塊FB的相互轉(zhuǎn)換

    西門子TIA Portal HMI的遠程控制功能

    描述 本文將介紹西門子 TIA Portal HMI 的遠程控制功能,即可以通過瀏覽器、電腦客戶端或手機客戶端監(jiān)控 HMI 面板。 第1步: 添加 HMI 設(shè)備。 選擇 TP700 Comfort
    的頭像 發(fā)表于 02-12 11:45 ?939次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b> HMI的遠程控制功能