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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

使用SCL中的常量進行計算

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-06-18 10:38 ? 次閱讀

有類型和無類型常量的解釋

常量是具有固定值的數據,其值在程序運行期間不能更改。常量在程序執行期間可由各種程序元素讀取,但不能被覆蓋。常量值有指定的表示法,具體取決于數據類型和數據格式。分為有類型和無類型的表示法。

建議在數學函數中不要混用有類型和無類型常量,否則可能會發生不需要的隱式轉換,從而導致生成不正確的值。

編程示例

在以下編程示例中,可以看到使用有類型和無類型常量的運算。

1. 創建一個 SCL 函數塊并將其命名為“FB_MathsFunctions”。

2. 在塊接口的“Temp”部分聲明“Variable_DINT”變量。

07518a20-0c42-11ee-962d-dac502259ad0.png

3. 編寫以下程序代碼

Variable_DINT := INT#1 +50000;

在此數學運算中,將有類型常量 INT#1 與無類型常量 50000 相加。無類型常量 50000 在軟件中將帶黃色下劃線,指示常量值超出了 INT 數據類型允許的范圍。

0773004c-0c42-11ee-962d-dac502259ad0.png

要查看結果,請轉至在線。

1. 通過右鍵單擊“編譯 > 軟件(僅更改)”(Compile > Software (only changes) 命令執行此命令來編譯 SCL 函數塊“FB_MathsFunctions”。

2. 使用“下載到設備 > 軟件(僅更改)”(Download to device > Software (only changes)) 命令下載塊。

3. 轉至在線并監視塊。

077c904e-0c42-11ee-962d-dac502259ad0.png

有類型常量的數據類型定義加法的數據類型。這意味著加法是在 INT 數據類型區域中執行。在第一步中,無類型常量 50000 將隱式轉換為 INT 數據類型。

但這種轉換會導致生成負值 (-15536)。然后該值將添加到有類型常量 (INT#1)。結果是 -15535。

由于將寫入加法運算結果的變量被聲明為 DINT 數據類型,因此數字 -15535 將隱式轉換為 DINT 數據類型,并寫入到變量“Variable_DINT”。但結果仍為負數。

1. 可能的解決方案

避免得到錯誤結果的一種方法是兩個常量都采用有類型常量。如果兩個常量都采用有類型常量,較長的數據類型將確定計算結果。

在“FB_MathsFunctions”SCL 函數塊中編寫以下程序代碼:

0787de22-0c42-11ee-962d-dac502259ad0.png

在此計算操作中,將有類型常量 INT#1 與有類型常量 DINT#50000 相加。

要查看結果,請轉至在線。

1. 通過右鍵單擊“編譯 > 軟件(僅更改)”(Compile > Software (only changes) 命令執行此命令來編譯 SCL 函數塊“FB_MathsFunctions”。

2. 使用“下載到設備 > 軟件(僅更改)”(Download to device > Software (only changes)) 命令下載塊。

3. 轉至在線并監視塊。

079e64f8-0c42-11ee-962d-dac502259ad0.png

常量 INT#1 將轉換為 DINT 數據類型,并且兩個常量的相加將在 DINT 數據類型區域中執行。

2. 可能的解決方案

避免得到錯誤結果的另一種方法是兩個常量都采用無類型常量。如果兩個常量都采用無類型常量,它們在當前 CPU 上將被解釋為最寬的可能數據類型。這意味著在 S7-1500 系列 CPU上,這兩個常量都解釋為 LINT 數據類型。

在“FB_MathsFunctions”SCL 函數塊中編寫以下程序代碼:

07f3a62a-0c42-11ee-962d-dac502259ad0.png

在此計算操作中,將無類型常量 1 與無類型常量 50000 相加。

要查看結果,請轉至在線。

1. 通過右鍵單擊“編譯 > 軟件(僅更改)”(Compile > Software (only changes) 命令執行此命令來編譯 SCL 函數塊“FB_MathsFunctions”。

2. 使用“下載到設備 > 軟件(僅更改)”(Download to device > Software (only changes)) 命令下載塊。

3. 轉至在線并監視塊。

08036466-0c42-11ee-962d-dac502259ad0.png

常量 1 和 50000 將解釋為 LINT 數據類型,相加的結果將再次轉換為 DINT 數據類型。





審核編輯:劉清

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

    關注

    1

    文章

    240

    瀏覽量

    17280
  • S7-1500
    +關注

    關注

    3

    文章

    301

    瀏覽量

    6605

原文標題:使用 SCL 中的常量進行計算

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    Go語言常量的聲明

    在 Go 語言中, 常量 表示的是固定的值,常量表達式的值在編譯期進行計算常量的值不可以修改。例如:3 、 Let's go 、
    發表于 07-20 15:24 ?480次閱讀

    IAR與KEIL如何直接定義常量到EEPROM的經驗分享

      分享了這篇在IAR與KEIL如何直接定義常量到EEPROM的經驗分享。其實方法和之前本人分享過的經驗分享“KE02在CW中使用常量形式初始化EEPROM值”合為姐妹篇,當然這種
    發表于 09-16 10:39 ?18次下載

    java 常量池靜態變量詳解

    Java常量池,實際上分為兩種形態:靜態常量池和運行時常量池。 所謂靜態常量池,即*.class文件
    發表于 09-27 13:01 ?10次下載
    java <b class='flag-5'>常量</b>池靜態變量詳解

    如何使用S7-SCL的“AT”指令?

    什么是“AT”指令,如何使用? AT指令是S7-SCL特有的一個指令,初學者可能會忽略此指令,或者對其理解不夠深刻。AT指令在S7-SCL中有著非常重要的地位,很多應用程序都必須使用此指令。下面
    的頭像 發表于 04-04 18:14 ?1.2w次閱讀
    如何使用S7-<b class='flag-5'>SCL</b><b class='flag-5'>中</b>的“AT”指令?

    請問怎樣在SCL中去使用浮點數進行計算

    例如,數據類型 REAL 在程序以 6 位小數的精度進行指定和計算
    的頭像 發表于 07-04 11:32 ?2555次閱讀

    使用SCL函數塊編寫計算保質期的應用程序

    在以下部分,將創建 SCL 函數塊“SCL_Best_before_date” 。 可使用 SCL 函數塊計算保質期。
    的頭像 發表于 10-18 15:15 ?1184次閱讀

    西門子SCL語言編程案例之計算方差

    在統計數據,經常用到方差來代表數據的離散程序,我們用SCL語言編寫一個計算方差的FB塊。
    的頭像 發表于 01-09 09:45 ?1530次閱讀

    對S7-SCL的AT指令進行詳細講解

    AT指令是S7-SCL特有的一個指令,初學者可能會忽略此指令,或者對其理解不夠深刻。
    的頭像 發表于 02-03 14:53 ?5135次閱讀

    淺談指針常量常量指針

    這節課我們來講一講指針常量常量指針。
    的頭像 發表于 02-21 09:27 ?1186次閱讀

    C語言的常量-2

    在C語言中,字符型常量是最特別的一種常量。他的特別之處在于我們需要對其使用指定的定界符對其進行限制。定界符為 ‘’ 。字符型常量可以分為兩種,一種是字符
    的頭像 發表于 02-21 15:02 ?763次閱讀
    C語言的<b class='flag-5'>常量</b>-2

    SCL中使用浮點數REAL和LREAL進行計算

    例如,數據類型 REAL 在程序以 6 位小數的精度進行指定和計算。在計算浮點數(REAL和 LREAL)時,請注意此精度通常應用于每個計算
    的頭像 發表于 05-30 09:40 ?1952次閱讀
    在<b class='flag-5'>SCL</b>中使用浮點數REAL和LREAL<b class='flag-5'>進行</b><b class='flag-5'>計算</b>

    SCL的 EN/ENO 機制概述

    SCL 的 EN/ENO 機制概述 在 SCL 程序段,可以通過賦值來改變 ENO。為此,請寫入“ENO:=TRUE”或“ENO:=FALSE”,或使用 BOOL 數據類型的變量。
    的頭像 發表于 08-23 10:08 ?3057次閱讀

    什么是常量折疊?Python如何優雅地實現它

    每種編程語言為了表現出色,并且實現卓越的性能,都需要大量編譯器級的優化。 一種著名的優化技術是“ 常量折疊 ”(Constant Folding):在編譯期間,編譯器會設法識別出常量表達式,對其進行
    的頭像 發表于 10-30 11:10 ?653次閱讀
    什么是<b class='flag-5'>常量</b>折疊?Python如何優雅地實現它

    西門子博途之SCL常量的運算運用

     建議在數學函數不要混用有類型和無類型常量,否則可能會發生不需要的隱式轉換,從而導致生成不正確的值。
    的頭像 發表于 01-24 11:21 ?2478次閱讀
    西門子博途之<b class='flag-5'>SCL</b><b class='flag-5'>常量</b>的運算運用

    微波檢測的關鍵物理常量是指

    微波檢測是一種利用微波技術進行物理量測量的方法,廣泛應用于通信、雷達、遙感等領域。在微波檢測,關鍵物理常量是指那些對測量結果有顯著影響的物理量。本文將詳細介紹微波檢測的關鍵物理常量
    的頭像 發表于 05-28 14:44 ?572次閱讀
    主站蜘蛛池模板: 中文字幕久久久 | yellow免费观看在线 | 亚洲国产综合另类视频 | 动漫美女禁区 | 精品一区二区免费视频蜜桃网 | 18禁黄无遮挡禁游戏在线下载 | 国产人妻麻豆蜜桃色69 | 狠日狠干日曰射 | 国产三级在线精品男人的天堂 | 99re5久久热在线 | 亚洲午夜精品一区二区公牛电影院 | 先锋影音av最新资源 | 欧美巨大xxxx做受孕妇视频 | 亚洲国产成人精品无码区5566 | 2022国产麻豆剧传媒剧情 | 原神美女被超污app 御姐被吸奶 | 俄罗斯兽交XXXXX在线 | 亚洲成色爱我久久 | 丰满少妇发泄14p | 国产在线观看www | 日韩特黄特色大片免费视频 | 欧美精品XXXXBBBB | 最近中文字幕完整版高清 | 欧美性视频xxxxhd | 亚洲 日本 欧美 中文字幕 | 99久久免费国产精精品 | 成人免费在线观看视频 | 日韩精品一卡二卡三卡四卡2021 | 年轻的女教师2017韩国在线看 | 久久无码人妻中文国产 | 国产国拍精品AV在线观看 | 暖暖日本免费播放 | 久久综合香蕉久久久久久久 | 高冷师尊被CAO成SAO货 | 99久久免费只有精品 | 久久中文字幕免费视频 | 少妇邻居内射在线 | 伊人久久综合影院 | 芳草地在线观看免费视频 | 伊人久久影院大香线蕉 | 区产品乱码芒果精品P站在线 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品