91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

西門(mén)子TIA Portal如何比較兩個(gè)浮點(diǎn)數(shù)相等

工控論壇 ? 來(lái)源:工控論壇 ? 2025-01-06 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述:

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

第1步:

添加 PLC 設(shè)備。

選擇西門(mén)子 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. 添加全局?jǐn)?shù)據(jù)塊。命名為:GdbData。

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


圖 2 浮點(diǎn)數(shù)全局?jǐn)?shù)據(jù)塊

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

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

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

圖 3 主程序 Main 的接口變量

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

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


圖 4 編寫(xiě)程序

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

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

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


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

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


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

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

第3步:

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

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


圖 7 比較兩個(gè)浮點(diǎn)數(shù)相等

第4步:

功能封裝。

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

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


圖 8 功能封裝

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

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


圖 9 功能調(diào)用

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

    關(guān)注

    5051

    文章

    14609

    瀏覽量

    487104
  • 西門(mén)子
    +關(guān)注

    關(guān)注

    98

    文章

    3317

    瀏覽量

    120425
  • 浮點(diǎn)數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    16421

原文標(biāo)題:西門(mén)子 TIA Portal 如何比較兩個(gè)浮點(diǎn)數(shù)相等

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    西門(mén)子TIA Portal中使用CFC語(yǔ)言實(shí)現(xiàn)電機(jī)控制的全流程

    西門(mén)子 CFC(Continuous Function Chart)是一種圖形化的編程語(yǔ)言,主要用于西門(mén)子自動(dòng)化系統(tǒng)(如 SIMATIC PCS 7、TIA Portal 等)中的過(guò)程
    的頭像 發(fā)表于 05-21 10:47 ?3937次閱讀
    在<b class='flag-5'>西門(mén)子</b><b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>中使用CFC語(yǔ)言實(shí)現(xiàn)電機(jī)控制的全流程

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

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

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

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

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

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

    三菱PLC浮點(diǎn)數(shù)運(yùn)算指令

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

    談一談浮點(diǎn)數(shù)的精度問(wèn)題

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

    什么是浮點(diǎn)數(shù)浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)

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

    什么是浮點(diǎn)數(shù)

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

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

    西門(mén)子S7-200測(cè)試通過(guò),程序網(wǎng)上而來(lái),獻(xiàn)給有需要的各位!
    的頭像 發(fā)表于 03-29 09:39 ?3847次閱讀

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

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

    西門(mén)子PLC浮點(diǎn)數(shù)程序案例分享

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

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

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

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

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

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

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

    西門(mén)子TIA Portal HMI的遠(yuǎn)程控制功能

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