一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

liangyangli
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 17 個
工控威望: 560 點
下載積分: 848 分
在線時間: 183(小時)
注冊時間: 2009-11-25
最后登錄: 2014-09-03
查看liangyangli的 主題 / 回貼
樓主  發(fā)表于: 2013-04-05 01:04
  S7200  PLC都沒有隨機函數(shù)指令,但有時工藝還是需要的,如何生成呢?求高手指教

zedy888
回收 西門子PLC,存儲卡,觸摸屏,變頻器
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 1256 個
工控威望: 709 點
下載積分: 750 分
在線時間: 1200(小時)
注冊時間: 2010-09-23
最后登錄: 2024-11-13
查看zedy888的 主題 / 回貼
1樓  發(fā)表于: 2013-04-06 17:41
恰好本人也對此有過研究,現(xiàn)貼出供大家研究,可以用狀態(tài)圖監(jiān)控效果。
偽隨機數(shù)的產(chǎn)生,現(xiàn)在用得較多的是“線性同余法"  公式 = R(n+1) = [R(n) * a + b]  mod  c  為使隨機數(shù)分布盡量均勻,a、b 均為質(zhì)數(shù), c 一般取值域內(nèi)的最大值(mod 是求余數(shù))  從這個式了可以看出,每次產(chǎn)生的隨機數(shù)都跟上一次產(chǎn)生的數(shù)有關(guān)系,那么,第一個數(shù)是怎么來的呢?這就是線性同余法中必須用的的”種子",也就是說,給定某個種子后,所產(chǎn)生的隨機數(shù)序列是固定的,在計算機編程中,一般使用系統(tǒng)時間來初始化種子,就是前面代碼中的 srand((unsigned)time(NULL)); 這一句了。因為每次運行程序的時間肯定不一樣,所以產(chǎn)生散列肯定也不一樣,從而達到“隨機”的目的。  a,b,c 的取值我用的是 a=3373, b=1, c=32768 下面的兩個子程序是我在我的項目(S7-200 226)中產(chǎn)生隨機的系統(tǒng)編號用的,因為我的編號中只有4位數(shù)采用了隨機數(shù),所以下面的程序中用的是整型,最大范圍為32767。如果需要更寬范圍的隨機數(shù),可以采用雙字類型,并適當修改程序,代碼很簡單,就是將上面那個表達式用 S7-200 的指令表示出來就行了。  這兩個子程序是從 MicroWIN V4.0 中導(dǎo)出來的,可以將它們用文本編輯器保存為 AWL 文件后直接導(dǎo)入 MicroWIN。  使用時在第一個掃描周期調(diào)用  Srand 初始種子,需要隨機數(shù)的地方調(diào)用 Random Random 有了個最大范圍參數(shù),可以限制生成的隨機數(shù)的最大范圍,比如我只需要4位隨機數(shù),所以一般這樣調(diào)用   CALL  Random, 10000, vw0,生成的數(shù)就在 0-9999 范圍內(nèi)  下面是代碼: SUBROUTINE_BLOCK Srand:SBR17 TITLE=初始化隨機數(shù)種子 //  // 直接使用系統(tǒng)時鐘的分秒來作為種子 VAR_OUTPUT seed:WORD; END_VAR BEGIN Network 1  LD     SM0.0  TODR   VB1990  Network 2  LD     SM0.0 BTI    VB1994, AC1 SLW    AC1, 8  BTI    VB1995, AC3 +I     AC3, AC1  MOVW   AC1, LW0  END_SUBROUTINE_BLOCK  SUBROUTINE_BLOCK Random:SBR16 TITLE=隨機數(shù)發(fā)生器 //  // 線性同余法獲取偽隨機數(shù),范圍:0~32767 //  // seed = (seed * 3373 + 1) % 32768; //  VAR_INPUT wMax:WORD; // 最大范圍 END_VAR VAR_OUTPUT wOut:WORD; END_VAR BEGIN Network 1  // wSeed * 3373 + 1  => AC1 LD     SM0.0  ITD    VW1940, AC1 *D     3373, AC1 INCD   AC1  Network 2  // AC1 mod 32768 => wSeed LD     SM0.0  MOVD   AC1, AC3 /D     +32768, AC3 *D     32768, AC3 -D     AC3, AC1  DTI    AC1, VW1940  Network 3  // wSeed / 32768 * wMax => wOut LD     SM0.0 DTR    AC1, AC1 /R     32768.0, AC1  ITD    LW0, AC3 DTR    AC3, AC3 *R     AC3, AC1  ROUND  AC1, AC1 DTI    AC1, LW2  END_SUBROUTINE_BLOCK
[ 此帖被zedy888在2013-04-06 17:50重新編輯 ]
長期回收西門子 PLC  變頻器,觸摸屏,成套伺服等,電微:I8I2I923860注明二手電氣

主站蜘蛛池模板: 青山葵在线 | 国产精品免费精品自在线观看 | 午夜熟女插插XX免费视频 | 爆操| 亚洲日韩中文字幕一区 | 久久天天躁狠狠躁夜夜躁 | 色噜噜 男人的天堂在线观看 | 国产精品99久久 | 国产一级片在线 | 亚洲男人的天堂视频 | 女人爽到喷水的视频免费看 | 精品国产在天天线在线麻豆 | 久久九九亚洲精品 | 国产精品毛片久久久久久久 | 国产综合社区 | 午夜秀场在线观看 | 日本在线国产 | 国产天天在线 | 99久久精品免费精品国产 | 黄动漫软件车车好快的车车 | 天美网站传媒入口网址 | 精品福利一区二区免费视频 | 成年人视频在线播放 | 亚洲成年人免费网站 | 好大好硬视频 | 成人黄色a级片 | 美女靠逼免费网站 | free极度另类性欧美 | 久久视频在线视频观看天天看视频 | 美女扒开胸罩露出胸大乳 | 久久精品热在线观看85 | 日韩欧美亚洲一区精选 | 蜜桃破解版免费看nba | 日本精a在线观看 | 国产性tv国产精品 | 私人黄色| youporn在线| japanesepooping脱粪 | 国产高清自拍 | 日韩免费一区 | 亚洲国产一区二区三区a毛片 |