女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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
    +關注

    關注

    5036

    文章

    13916

    瀏覽量

    474458
  • 西門子
    +關注

    關注

    98

    文章

    3173

    瀏覽量

    118235
  • 浮點數
    +關注

    關注

    0

    文章

    61

    瀏覽量

    16131

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    西門子TIA Portal中使用CFC語言實現電機控制的全流程

    西門子 CFC(Continuous Function Chart)是一種圖形化的編程語言,主要用于西門子自動化系統(如 SIMATIC PCS 7、TIA Portal 等)中的過程
    的頭像 發表于 05-21 10:47 ?1601次閱讀
    在<b class='flag-5'>西門子</b><b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>中使用CFC語言實現電機控制的全流程

    浮點數的表示方法

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

    浮點數常用的編碼方法

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

    modbus 如何讀取浮點數

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

    三菱PLC浮點數運算指令

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

    談一談浮點數的精度問題

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

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

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

    什么是浮點數

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

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

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

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

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

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

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

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

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

    modbus浮點數怎么讀取

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

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

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

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

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