色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

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

概述:

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

第1步:

添加 PLC 設備。

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

設置 IP 地址:192.168.0.1。

子網掩碼:255.255.255.0

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


圖1添加 PLC 設備

第2步:

1. 添加全局數據塊。命名為:GdbData。

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


圖 2 浮點數全局數據塊

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

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

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

圖 3 主程序 Main 的接口變量

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

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


圖 4 編寫程序

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

4. 在監控表中監視變量值。

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


圖 5 變量監視 - 浮點數

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


圖 6 變量監視 - 十六進制

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

第3步:

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

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


圖 7 比較兩個浮點數相等

第4步:

功能封裝。

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

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


圖 8 功能封裝

封裝后的調用結果。

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


圖 9 功能調用

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

    關注

    5016

    文章

    13383

    瀏覽量

    464731
  • 西門子
    +關注

    關注

    94

    文章

    3060

    瀏覽量

    116246
  • 浮點數
    +關注

    關注

    0

    文章

    61

    瀏覽量

    15880

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

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

收藏 人收藏

    評論

    相關推薦

    點數浮點數的區別是什么

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

    浮點數的表示方法

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

    浮點數常用的編碼方法

    浮點數常用的編碼方法  前面已經說到,在計算機內,浮點數被表示為如下格式:    通常情況
    發表于 10-13 17:21 ?4525次閱讀
    <b class='flag-5'>浮點數</b>常用的編碼方法

    modbus 如何讀取浮點數

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

    三菱PLC浮點數運算指令

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

    談一談浮點數的精度問題

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

    什么是浮點數浮點數在內存中的存儲

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

    什么是浮點數

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

    西門子PLC 64位浮點數轉32位浮點數程序分享

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

    西門子PLC讀取的儀表數據(浮點數)如何轉換為整數

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

    西門子PLC浮點數程序案例分享

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

    單精度和雙精度浮點數的區別

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

    modbus浮點數怎么讀取

    Modbus是一種通信協議,常用于工業自動化系統中的設備之間的通信。它支持多種數據類型,包括整數、浮點數、字符串等。浮點數在工業領域中廣泛應用,因此了解如何讀取和處理Modbus浮點數是非
    的頭像 發表于 12-28 14:38 ?6624次閱讀

    一文帶你秒懂IEEE 754浮點數

    一、簡介1、常見的浮點數表示方式是IEEE754標準,它規定了浮點數的存儲格式和運算規則,這個標準定義了浮點數表示:單精度和雙精度。2、任何一
    的頭像 發表于 03-18 08:09 ?9023次閱讀
    一文帶你秒懂IEEE 754<b class='flag-5'>浮點數</b>

    西門子TIA Portal中函數FC和函數塊FB的相互轉換

    描述 本文將介紹在西門子 TIA Portal 中使用 Add-In 插件實現函數 FC 和函數塊 FB 的相互轉換的方法和步驟。 第1步: 添加 PLC 設備。 選擇西門子 CPU
    的頭像 發表于 01-15 10:07 ?264次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>中函數FC和函數塊FB的相互轉換
    主站蜘蛛池模板: 韩国电影real在线观看完整版| 亚欧乱亚欧乱色视频| 恋夜影院支持安卓视频美女| 欧美亚洲精品午夜福利AV| 午夜伦yy44880影院| 6080YYY午夜理论片在线观看| 国产麻豆精品人妻无码A片| 免费看a视频| 亚洲一区免费观看| 国产99久久| 欧美丰满少妇久久无码精品| 亚洲欧美综合在线中文| 福利片午夜| 女人 我狠狠疼你| 一起碰一起噜一起草视频| 国产h视频在线观看免费| 免费亚洲视频在线观看| 亚洲久热无码中文字幕| 东北老妇人70OLDMAN| 男女车车的车车网站W98免费| 亚洲精品中文字幕在线| 国产精品99久久久精品无码| 欧美亚洲日韩在线在线影院| 最近免费中文MV在线字幕| 黄色三级网站| 亚洲国产五月综合网| 国产成人自拍视频在线观看| 奇米狠狠干| 99国产这里只有精品视频| 久久精品综合电影| 亚洲精品免费在线视频| 国产麻豆精品久久一二三| 无码专区久久综合久综合字幕| yellow免费观看直播| 免费成年人在线视频| 2020久久精品永久免费| 久久久久久久尹人综合网亚洲| 野花日本免费完整版高清版动漫| 国精产品一区二区三区| 亚洲 欧美 清纯 校园 另类| 国产精品色欲AV亚洲三区软件|