一区二区三区成人-一区二区三区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注明二手電氣

主站蜘蛛池模板: 91香蕉小视频 | 日本高清免费不卡在线播放 | 全彩孕交漫画福利啪啪吧 | 国产精品合集一区二区 | 国产一区二区三区欧美 | 亚洲精品视频在线免费 | 国产目拍亚洲精品一区二区三区 | 成人伊人青草久久综合网破解版 | 欧美日韩免费一区二区在线观看 | 久久精品视在线观看85 | 亚洲入口 | 日产乱码2021永久手机版 | ffee性xxⅹ另类老妇hd | 毛片99| 日韩久久中文字幕 | 欧美军人男同69gay | 美女鸡| 国产好深好硬好爽我还要视频 | 日本色午夜| 亚洲国产精品二区久久 | free白嫩性hd| 国产欧美日韩在线不卡第一页 | 深夜福利免费在线观看 | 亚洲精品国产AV成人毛片 | 亚洲第一男人网站 | 91视频免费观看网站 | 韩国三级年轻小的胰子完整 | 精品国产在天天线在线麻豆 | 免费在线观看伦理片 | 日本韩国推理片免费观看网站 | 2020年精品国产午夜福利在线 | 波多野结衣教师未删减版 | 天堂资源在线www中文 | 精品国产乱码久久久久久免费流畅 | eeuss免费快捷 | 免费a漫 - 禁密天堂 | 五月天国产精品 | 456亚洲老头视频 | 国产亚洲精aa在线观看香蕉 | 青青青国产精品国产精品久久久久 | 丁香久久婷婷 |