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

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

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

西門子PLC TIA博途生成隨機(jī)數(shù)

jizhongyingAI ? 來源:非標(biāo)設(shè)備自動(dòng)化設(shè)計(jì) ? 2023-05-24 09:32 ? 次閱讀

先建一個(gè)功能塊FC,功能FC采用SCL語言來編寫,具體按照如下步驟:

1、在設(shè)計(jì)功能時(shí),先確定好,它的具體功能,比如:是想獲取一個(gè)隨機(jī)實(shí)數(shù),該隨機(jī)實(shí)數(shù)是可以定義數(shù)值范圍,還要考慮一些錯(cuò)誤代碼,該例子定義了三個(gè)錯(cuò)誤狀態(tài)碼,16#7000(無當(dāng)前任務(wù))、16#0000(任務(wù)完成)、16#8200(最大值小于最小值)。

2. 新建一個(gè)FC功能塊,命名為random number(FC1) 然后定義接口變量。如下圖:

cf36676c-f95b-11ed-90ce-dac502259ad0.png

變量名稱很清晰地描述了變量功能,這里不逐一解釋

3、就是開始寫FC1功能塊程序了 ,程序如下圖所示:

程序共5個(gè)程序段:

cf4d73bc-f95b-11ed-90ce-dac502259ad0.png

程序段1 塊內(nèi)變量初始化,三個(gè)變量分別賦值0、1、16#7000。

程序段2 檢查輸入范圍變量,是否出現(xiàn)最小值大于最大值的情況。

cf5edbca-f95b-11ed-90ce-dac502259ad0.png

程序段3 讀系統(tǒng)時(shí)間,用納秒,使用納秒的隨機(jī)性。判斷讀系統(tǒng)時(shí)間是否有誤,如果有誤,給狀態(tài)變量 賦值。

程序段4 無符號(hào)長整型數(shù)需要四個(gè)字節(jié),每個(gè)字節(jié)和系統(tǒng)時(shí)間納秒的四個(gè)字節(jié)分別對(duì)應(yīng),實(shí)際上#tempRandomValue就已經(jīng)是一個(gè)隨機(jī)的無符號(hào)整型數(shù)了。

程序段5 對(duì)#tempRandomValue進(jìn)行標(biāo)準(zhǔn)化操作,使其變成0.0~1.0之間的一個(gè)數(shù)據(jù),然后再逆標(biāo)準(zhǔn)化,使這個(gè)隨機(jī)數(shù)產(chǎn)生于我們要求的最小值和最大值之間。

4,新建一個(gè)全局背景DB,如下圖所示

cf7283d2-f95b-11ed-90ce-dac502259ad0.png

5 、再主程序OB1中調(diào)用FC1

左側(cè)為數(shù)值的范圍,可以自己隨便定義 右側(cè)為輸出數(shù)字和錯(cuò)誤代碼

cf92b45e-f95b-11ed-90ce-dac502259ad0.png

6、 打開模擬器運(yùn)行 ,如下圖所示,數(shù)據(jù)隨機(jī)變化

cfa8daea-f95b-11ed-90ce-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    5007

    文章

    13109

    瀏覽量

    461470
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8449

    瀏覽量

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

    關(guān)注

    93

    文章

    2996

    瀏覽量

    115495
  • tia
    tia
    +關(guān)注

    關(guān)注

    1

    文章

    81

    瀏覽量

    28058
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17025

原文標(biāo)題:西門子PLC TIA博途生成隨機(jī)數(shù)

文章出處:【微信號(hào):非標(biāo)設(shè)備自動(dòng)化設(shè)計(jì),微信公眾號(hào):非標(biāo)設(shè)備自動(dòng)化設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言中隨機(jī)數(shù)生成代碼

    C語言中隨機(jī)數(shù)生成完整代碼:
    的頭像 發(fā)表于 02-20 09:21 ?1w次閱讀

    西門子PLC編程軟件下載

    西門子PLC編程軟件TIA V13 SP1 SIMATIC_WinCC_Runtime_Professional_SP1_for_V13
    發(fā)表于 03-01 11:04 ?60次下載

    用于生成隨機(jī)數(shù)的電子骰子

    電子發(fā)燒友網(wǎng)站提供《用于生成隨機(jī)數(shù)的電子骰子.zip》資料免費(fèi)下載
    發(fā)表于 07-06 10:58 ?4次下載
    用于<b class='flag-5'>生成</b><b class='flag-5'>隨機(jī)數(shù)</b>的電子骰子

    圖如何實(shí)現(xiàn)遠(yuǎn)程調(diào)試西門子PLC

    設(shè)備現(xiàn)場的PLC程序需要調(diào)整工藝流程,或者有小故障需要排除,就需要工程師到現(xiàn)場。隨著物聯(lián)網(wǎng)技術(shù)的成熟,通過4G網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控和調(diào)試PLC已經(jīng)常規(guī)化。西門子PLC是市場上占有率最高的,差
    的頭像 發(fā)表于 10-13 09:14 ?4483次閱讀
    <b class='flag-5'>博</b>圖如何實(shí)現(xiàn)遠(yuǎn)程調(diào)試<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>

    隨機(jī)數(shù)生成器開源分享

    電子發(fā)燒友網(wǎng)站提供《隨機(jī)數(shù)生成器開源分享.zip》資料免費(fèi)下載
    發(fā)表于 11-11 11:57 ?0次下載
    <b class='flag-5'>隨機(jī)數(shù)</b><b class='flag-5'>生成</b>器開源分享

    如何在200 smart中生成隨機(jī)數(shù)

    上文寫了途中生成隨機(jī)數(shù)的幾種辦法,現(xiàn)在試著使用其中簡單的線性同余法實(shí)現(xiàn)在200 smart中完成類似功能。
    的頭像 發(fā)表于 03-23 13:51 ?6507次閱讀
    如何在200 smart中<b class='flag-5'>生成</b>偽<b class='flag-5'>隨機(jī)數(shù)</b>

    Unity3D與西門子PLC通訊

    本文是做實(shí)體PLC和Unity的通訊,如果沒有實(shí)體PLC可以參考我之前的文上位機(jī)與西門子
    發(fā)表于 04-19 11:43 ?6次下載
    Unity3D與<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>通訊

    西門子PLC產(chǎn)生隨機(jī)數(shù)

    之前在測試觸摸屏趨勢圖時(shí),需要仿真產(chǎn)生一些數(shù)據(jù),為了偷懶,打算通過程序模擬隨機(jī)數(shù)據(jù),但結(jié)果卻走進(jìn)另外一個(gè)坑–如何產(chǎn)生隨機(jī)數(shù)據(jù),因?yàn)?b class='flag-5'>西門子不具備高級(jí)語法的語法函數(shù),最后網(wǎng)上查詢資 料,找到兩種方法
    發(fā)表于 04-19 11:06 ?4次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>產(chǎn)生<b class='flag-5'>隨機(jī)數(shù)</b>

    西門子TIA的Modbus主站通訊

    西門子PLC因其市場占有率較高,且被廣大用戶使用,應(yīng)用比較廣泛,而其TIA平臺(tái)得到了推廣應(yīng)用,本文將介紹使用CP341進(jìn)行Modbus 主站通訊
    的頭像 發(fā)表于 05-19 09:15 ?1871次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b>圖<b class='flag-5'>TIA</b>的Modbus主站通訊

    基于TIA搭建西門子PLC仿真環(huán)境及通信方案

    隨著工控及上位機(jī)的廣泛應(yīng)用,在學(xué)習(xí)過程中,很多時(shí)候,我們都需要軟件和硬件的結(jié)合。本方案主要用于解決在學(xué)習(xí)過程中PLC硬件的需求,以西門子PLC為例,詳細(xì)描述了基于TIA
    的頭像 發(fā)表于 07-26 09:41 ?1067次閱讀
    基于<b class='flag-5'>TIA</b>搭建<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>仿真環(huán)境及通信方案

    西門子1200PLC西門子1500PLC的ModbusRTU通訊

    在現(xiàn)代化高度集成工業(yè)中,經(jīng)常用到PLCPLC之間的通訊,常見的通訊modbus,profibus DP,profinet ,CANOPEN等等通訊,今天我們以西門子TIA
    的頭像 發(fā)表于 08-23 09:15 ?4173次閱讀
    <b class='flag-5'>西門子</b>1200<b class='flag-5'>PLC</b>和<b class='flag-5'>西門子</b>1500<b class='flag-5'>PLC</b>的ModbusRTU通訊

    西門子1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法

    西門子1200/1500PLC單按鈕啟停控制10種設(shè)計(jì)方法
    的頭像 發(fā)表于 08-31 09:14 ?7588次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500<b class='flag-5'>PLC</b>單按鈕啟??刂?0種設(shè)計(jì)方法

    西門子plc單按鈕啟停的十種方法(1200/1500PLC

    西門子1200/1500PLC單按鈕啟停控制10種設(shè)計(jì)方法
    發(fā)表于 08-31 09:15 ?6124次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>plc</b>單按鈕啟停的十種方法(<b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500<b class='flag-5'>PLC</b>)

    如何使用雪花算法生成真正的隨機(jī)數(shù)

    以前用rand和srand生成過偽隨機(jī)數(shù),偽隨機(jī)數(shù)的序列是固定的,今天學(xué)習(xí)生成真正的隨機(jī)數(shù)生成
    的頭像 發(fā)表于 10-09 10:05 ?1250次閱讀

    PLC輸出0~100之間的隨機(jī)數(shù)編寫

    由于西門子PLC不提供隨機(jī)數(shù)相關(guān)函數(shù),在需要用到隨機(jī)數(shù)的情況下,只能自己手動(dòng)去寫,下面來教大家寫一個(gè)簡單的0~100之間的隨機(jī)數(shù)
    發(fā)表于 10-11 12:22 ?3548次閱讀
    <b class='flag-5'>PLC</b>輸出0~100之間的<b class='flag-5'>隨機(jī)數(shù)</b>編寫