美女露出让男生揉视频_狍和女人一级毛片免费的_欧美人欧美人妖videos12_护士潮湿的小内裤bd播放

h30631
級別: 略有小成
精華主題: 0
發帖數量: 90 個
工控威望: 230 點
下載積分: 812 分
在線時間: 339(小時)
注冊時間: 2012-09-05
最后登錄: 2018-04-17
查看h30631的 主題 / 回貼
樓主  發表于: 2012-12-19 17:54
請問各位大師們,為什麼用GX 模擬PLC 去跑程式時,DADDP 指令時,數字會亂跳,如圖片
但是實際上監控實體PLC 就不會有這個問題,請問是哪裡出錯了??

[ 此帖被h30631在2013-01-03 17:03重新編輯 ]
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發帖數量: 5212 個
工控威望: 7436 點
下載積分: 158993 分
在線時間: 3172(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-22
查看sjm213的 主題 / 回貼
1樓  發表于: 2012-12-19 21:32
1,根本原因在于你用了DADDP,這是個32位的指令。實際計算過程是把[D351 D350]與[T1 T0]相加后放入了[D351 D350];
2,仿真與實機的區別在于,仿真默認掃描周期是100ms的,而實機的掃描周期會原低于這個數。這就造成仿真在T0計時到后,其輸出觸點驅動了T1計時,T1的數值馬上變成了1,所以掃描到達T0的上升沿,執行加法處理時,就是00000000+00010014--》00010014(都用16進制表示)的計算過程,這個十六進制的數換成十進制就是65556;執行到第八遍的時候,這個數就是65556*8=524448。而因實機的掃描周期遠低于100ms,則在實機上執行該程序,T0計時到達,掃描到T1時,該數值還沒有累積到0.1S,所以T1的數值還是0沒有變成1,繼續執行加法處理時,就是00000000+00000014--》00000014的計算過程,這個十六進制的數換成10進制就是20,得到了想要的結果;
3,將DADDP指令換成16位的ADDP指令可以避免這種情況;
4,將T0上升沿后做加法運算這一句緊放在T0輸出線圈這一句后面可以避免這種情況;T0輸出線圈這一句放在RST T0這段后面更好。
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發帖數量: 5212 個
工控威望: 7436 點
下載積分: 158993 分
在線時間: 3172(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-22
查看sjm213的 主題 / 回貼
2樓  發表于: 2012-12-25 14:01
今天在實機上調試了這個程序,現象與樓主所講一樣。
再仔細想了一下,在三樓講的第二條有問題。
PLC中無論掃描周期如何修改,執行的結果都是樓主期望的那樣,T1對ADD之后的D350不會產生影響,因為T0狀態ON的這個掃描周期,T1才剛開始計時,PLC工作的原理是下一次掃描到T1輸出觸點時才會更新當前值,所以T1現在的值是0,不會影響到T0和D350值的相加。
仿真中,無論掃描周期如何修改,T1在T0為ON開始計時的這個周期都是已經有了一個數值“1”,這就對D350的數值產生了附圖中顯示的影響。
說明仿真和PLC實機運行是不一樣的。
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發帖數量: 5212 個
工控威望: 7436 點
下載積分: 158993 分
在線時間: 3172(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-22
查看sjm213的 主題 / 回貼
3樓  發表于: 2012-12-25 14:02
引用
引用第4樓h30631于2012-12-20 08:27發表的  :
感謝版主大師的指導~
依照指示,真的如板大所說,原來是時序的問題
所以我這種寫法會有編寫的順序問題,
可以在請問一下,執行 dadd這個指令 我知道的是會有一個D上位&D下位,與他相加的T也會自動有一個上位&下位嗎?
嬀 DADDP D0 T0 D0崀=D1 D0 +"T1 T0 " ??
.......


但是32位指令執行時是  D1  D0  +  T1  T0這是確確實實的。