最新天堂中文在线丨午夜嘿嘿嘿影院丨亚洲国产精品高清久久久丨中文字幕人成乱码熟女app丨www91亚洲丨97成人资源丨成人中文字幕+乱码+中文字幕丨一区二区三区在线 | 日丨日韩免费大片丨亚洲欧美一区二区三区丨国产在线观看a丨亚洲成人第一区丨国内免费视频成人精品丨亚洲综合色网站丨午夜精品美女久久久久av福利丨国产午夜人做人免费视频网站丨国产又黄视频丨97se狼狼狼狼狼亚洲网丨狠狠亚洲婷婷综合色香五月丨中国一级毛片黄丨国产女人十八毛片丨国产色视频在线播放丨国产亚洲精久久久久久无码苍井空丨天天摸日日摸爽爽狠狠丨久久综合香蕉国产蜜臀av

zs8823
級別: 家園常客
精華主題: 0
發帖數量: 84 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
樓主  發表于: 2010-11-12 04:27
圖片:
圖片:
遇到一個問題,寫了一個如圖所示的子程序,在主程序中兩次調用,但只有第一個調用有輸入輸出,第二個調用的輸入好象未傳入子程序,但輸出完全與第一個輸出同值且同步變化.不知道錯在哪里,請高手指點,CPU226.
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 84 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
1樓  發表于: 2010-11-12 04:30
這是子程序截圖.
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 84 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
2樓  發表于: 2010-11-14 19:45
引用
引用第3樓wjmdtt于2010-11-12 11:02發表的 :
你可將程序修改下.如設計為讓子程序實時返回在主程序中處理6次問題試試.
同時你這個子程序計算我沒看出有任何意義.網絡2中都是原值過去過來不知你要實現個啥功能.

寫這個子程序的原因是工程中現有程序步數已經快到上限,為了避免超上限只能用子程序調用.這個程序是將壓墊稱每秒鐘的數量變化累計到一個臨時變量里,到6秒鐘時乘以10送到輸出變量,供上位機界面中動態顯示每分鐘流向稱體的物料的流量,因結果僅供參考調整下料閘板,故算法不要求特別精確.
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 84 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
3樓  發表于: 2010-11-14 20:23
多謝各位指點!! 但還是想不明白.
如4樓所言C100是個全局變量,第6秒時在第一個子程序中被置ON使第一個子程序輸出,但第一個子程序和第二個子程序中的L20.0因為是局部變量應該是兩個不同的值,所以我覺得C100在第二個子程序中應該是又被+1了,但未被復位直到下個周期在前一個子程序中被復位后,進入第二個子程序中直接+1,想到這里就有問題了:C100在一個周期中被加了兩次是不是?如果是,那么最后結果乘10就應該改為乘20了,但是調試中發現第一個子程序輸出的值按乘10計算與實際接近....
不知道就這個思路有沒有更好的解決辦法?
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 84 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
4樓  發表于: 2010-11-14 20:29
引用
引用第4樓醉湮邃虞于2010-11-12 12:14發表的 :
個人感覺,是對局部變量的理解問題,子程序每個網絡都有錯誤。

程序中大量使用了局部變量,你把所有的局部變量變為全局變量就應該會好。

網絡1:L20.0 開始執行時,狀態并不確定
.......

因輸出值僅供顯示參考所有沒用準確算法,但第二個周期開始就是準確值了.LD16是個臨時變量,用于累計輸入值的變化量,清零的目的是在下個周期中重新累計.
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 84 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
5樓  發表于: 2010-12-17 21:19
10樓樓主,非常感謝您的答案 !