先建一個功能塊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
+關注
關注
5013文章
13329瀏覽量
464137 -
接口
+關注
關注
33文章
8650瀏覽量
151417 -
西門子
+關注
關注
94文章
3052瀏覽量
116071 -
tia
+關注
關注
1文章
81瀏覽量
28120 -
SCL
+關注
關注
1文章
239瀏覽量
17111
原文標題:西門子PLC TIA博途生成隨機數
文章出處:【微信號:非標設備自動化設計,微信公眾號:非標設備自動化設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論