先建一個功能塊FC,功能FC采用SCL語言來編寫,具體按照如下步驟:
1、在設計功能時,先確定好,它的具體功能,比如:是想獲取一個隨機實數,該隨機實數是可以定義數值范圍,還要考慮一些錯誤代碼,該例子定義了三個錯誤狀態碼,16#7000(無當前任務)、16#0000(任務完成)、16#8200(最大值小于最小值)。
2. 新建一個FC功能塊,命名為random number(FC1) 然后定義接口變量。如下圖:

變量名稱很清晰地描述了變量功能,這里不逐一解釋
3、就是開始寫FC1功能塊程序了 ,程序如下圖所示:
程序共5個程序段:

程序段1 塊內變量初始化,三個變量分別賦值0、1、16#7000。
程序段2 檢查輸入范圍變量,是否出現最小值大于最大值的情況。

程序段3 讀系統時間,用納秒,使用納秒的隨機性。判斷讀系統時間是否有誤,如果有誤,給狀態變量 賦值。
程序段4 無符號長整型數需要四個字節,每個字節和系統時間納秒的四個字節分別對應,實際上#tempRandomValue就已經是一個隨機的無符號整型數了。
程序段5 對#tempRandomValue進行標準化操作,使其變成0.0~1.0之間的一個數據,然后再逆標準化,使這個隨機數產生于我們要求的最小值和最大值之間。
4,新建一個全局背景DB,如下圖所示

5 、再主程序OB1中調用FC1
左側為數值的范圍,可以自己隨便定義 右側為輸出數字和錯誤代碼

6、 打開模擬器運行 ,如下圖所示,數據隨機變化

審核編輯:湯梓紅
-
plc
+關注
關注
5051文章
14595瀏覽量
486939 -
接口
+關注
關注
33文章
9521瀏覽量
157040 -
西門子
+關注
關注
98文章
3312瀏覽量
120385 -
tia
+關注
關注
1文章
86瀏覽量
29017 -
SCL
+關注
關注
1文章
244瀏覽量
18022
原文標題:西門子PLC TIA博途生成隨機數
文章出處:【微信號:非標設備自動化設計,微信公眾號:非標設備自動化設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何在LTspice仿真中實現偽隨機數和真隨機數的生成
西門子PLC編程軟件博途下載
西門子PLC產生隨機數
基于TIA搭建西門子PLC仿真環境及通信方案
西門子1200PLC和西門子1500PLC的ModbusRTU通訊
PLC輸出0~100之間的隨機數編寫
西門子PLC TIA博途生成隨機數
評論