91美女视频-亚洲免费观看视频-欧美a∨-久热在线视频-日韩黄网站-成av人片在线观看www-久操综合-超碰av在线播放-性欧美欧美巨大69-婷婷二区-av男人的天堂网-中文字幕一区在线播放-玖草在线观看-国产网址在线观看-免费在线不卡av

  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 80 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
樓主  發表于: 2010-11-12 04:27
圖片:
圖片:
遇到一個問題,寫了一個如圖所示的子程序,在主程序中兩次調用,但只有第一個調用有輸入輸出,第二個調用的輸入好象未傳入子程序,但輸出完全與第一個輸出同值且同步變化.不知道錯在哪里,請高手指點,CPU226.
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 80 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
1樓  發表于: 2010-11-12 04:30
這是子程序截圖.
wjmdtt
級別: 略有小成
精華主題: 0
發帖數量: 126 個
工控威望: 268 點
下載積分: 1316 分
在線時間: 93(小時)
注冊時間: 2009-07-20
最后登錄: 2026-01-15
查看wjmdtt的 主題 / 回貼
2樓  發表于: 2010-11-12 10:56
我覺得像是一個掃描周期內調用子程序并不一定能完成6次計數運行.因此第二次調用后返回值一樣,因你返回值用的是:
LD C100........也即必須C100計數到后才輸出.因此就只有第一次起作用.
wjmdtt
級別: 略有小成
精華主題: 0
發帖數量: 126 個
工控威望: 268 點
下載積分: 1316 分
在線時間: 93(小時)
注冊時間: 2009-07-20
最后登錄: 2026-01-15
查看wjmdtt的 主題 / 回貼
3樓  發表于: 2010-11-12 11:02
你可將程序修改下.如設計為讓子程序實時返回在主程序中處理6次問題試試.
同時你這個子程序計算我沒看出有任何意義.網絡2中都是原值過去過來不知你要實現個啥功能.
[ 此帖被wjmdtt在2010-11-12 11:34重新編輯 ]
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
精華主題: 0
發帖數量: 225 個
工控威望: 409 點
下載積分: 1577 分
在線時間: 209(小時)
注冊時間: 2009-01-16
最后登錄: 2015-03-18
查看醉湮邃虞的 主題 / 回貼
4樓  發表于: 2010-11-12 12:14
個人感覺,是對局部變量的理解問題,子程序每個網絡都有錯誤。

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

網絡1:L20.0 開始執行時,狀態并不確定
網絡2:大量的局部變量,除DQSL外,均未賦值就使用,幸虧你沒除法,否則會嚴重錯誤。
網絡3:輸出DQLS,在C100斷開時是無效輸出
       而此時對L20.0  賦值及LD16的清零,(截圖無后面)如果該子程序中沒有后續使用,則毫無意義。
[ 此帖被醉湮邃虞在2010-11-12 12:25重新編輯 ]
棋牌比賽免費得實物,閑暇好去處
http://www.jj.cn/indexTG.html?promoterid=108502812
cgyu5892483
級別: 探索解密
精華主題: 0
發帖數量: 25 個
工控威望: 180 點
下載積分: 576 分
在線時間: 22(小時)
注冊時間: 2009-03-26
最后登錄: 2025-10-17
查看cgyu5892483的 主題 / 回貼
5樓  發表于: 2010-11-12 13:53
反復調用子程序時,調用計數,系統時鐘,系統脈沖等指令需要慎重。
程序掃描是從左至右,從上至下,看主程序:執行第一個調用子程序后,立馬進入下一個子程序調用,那問題就來了:
LD4是輸出,并且在掃描到C100為ON時才輸出,下一步是L20.0為ON,下一步跳出第一個子程序并進入第二個子程序,此時L20.0在掃描周期內被置位為ON,C100復位。也就是說主程序沒進入第二個周期,C100就被復位了。所以第二個子程序永遠只能讀到第一個子程序的塊輸出。
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 80 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
6樓  發表于: 2010-11-14 19:45
引用
引用第3樓wjmdtt于2010-11-12 11:02發表的 :
你可將程序修改下.如設計為讓子程序實時返回在主程序中處理6次問題試試.
同時你這個子程序計算我沒看出有任何意義.網絡2中都是原值過去過來不知你要實現個啥功能.

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

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

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

因輸出值僅供顯示參考所有沒用準確算法,但第二個周期開始就是準確值了.LD16是個臨時變量,用于累計輸入值的變化量,清零的目的是在下個周期中重新累計.
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
精華主題: 0
發帖數量: 225 個
工控威望: 409 點
下載積分: 1577 分
在線時間: 209(小時)
注冊時間: 2009-01-16
最后登錄: 2015-03-18
查看醉湮邃虞的 主題 / 回貼
10樓  發表于: 2010-11-15 10:53
PLC中為子程序開辟了60個字節的可用存貯區域,但這60個字節是所有子程序共享的空間,并不是每個子程序獨享。
也就是說,局部變量只保持一個掃描周期賦值的數據,要保證局部變量有效,必須保證每個掃描周期都有賦值,特別
是OUT類型變量,OUT類型變量如果前面有條件,則當條件為假時,輸出的是無效值。而賦值之前對OUT類型變量的
讀取也是無效的。
故此若這樣寫程序,只有一個子程序,有可能能工作,若存在其他子程序,也用到了局部變量,則程序就會
不正常。
類似的變量還有 AC0 AC1 AC2 AC3 AC4 .....
這類變量使用前一定要賦值,一段程序結束后該變量應該沒用才對。
你也可以把輸出變量和中間變量,用IN-OUT類型來定義,效果會大大改變。
給你個試驗程序:
子程序一:定義AA OUT WORD
1+AA  >  AA
子程序二:
MOVW 100 > LW0
在主程序中分別 調用這兩個子程序,你會發現,程序一的輸出值,恒為101,而不是需要的每個掃描周期+1值(快速變化值)。


                
        
[ 此帖被醉湮邃虞在2010-11-15 11:19重新編輯 ]
棋牌比賽免費得實物,閑暇好去處
http://www.jj.cn/indexTG.html?promoterid=108502812
zs8823
級別: 家園常客
精華主題: 0
發帖數量: 80 個
工控威望: 513 點
下載積分: 1361 分
在線時間: 29(小時)
注冊時間: 2008-06-21
最后登錄: 2025-07-17
查看zs8823的 主題 / 回貼
11樓  發表于: 2010-12-17 21:19
10樓樓主,非常感謝您的答案 !
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go

主站蜘蛛池模板: 欧美一区二区三区四 | 欧美精品入口蜜桃 | 欧美激情综合 | 精品成人无码一区二区三区 | 亚洲高清视频在线观看 | 亚洲欧美在线视频观看 | 大咪咪av | 国内激情视频 | 欧洲做受高潮欧美裸体艺术 | 巨茎大战刘亦菲 | 在线免费av网址 | 玩日本老头很兴奋xxxx | 密桃成熟时在线观看 | 揄拍自拍 | 亚洲中字| 亚洲av无码乱码国产精品久久 | 成人在线播放网站 | 一区二区免费在线观看 | 丰满岳乱妇国产精品一区 | 欧美污视频 | 亚洲系列在线观看 | 天堂av免费在线观看 | av在线播放器| 怒海潜沙秦岭神树 | 人妻久久久一区二区三区 | 欧美一级欧美三级在线观看 | 天天干天天爽天天操 | 亚洲欧美一区二区三区四区 | 六月色 | 精品久久久久久久免费人妻 | 久久av无码精品人妻系列试探 | 五月婷婷激情 | 日韩免费成人 | 欧美图片自拍偷拍 | 日韩中文电影 | 亚洲免费激情视频 | 一起操在线观看 | av女大全列表 | 国产伊人网 | 日韩一区欧美一区 | 成人av番号网 | 中国毛片视频 | 国产一区黄色 | 性感美女在线 | 亚洲五月婷婷 | 亚洲男人的天堂av | 男人的天堂avav | 女生扒开尿口让男生桶 | 久久久高潮 | 久久精品视频在线免费观看 | 4388成人网| 91精品国产麻豆 | 91麻豆精品91久久久久同性 | 日韩一级片在线播放 | 国产精品免费久久 | 日韩在线专区 | 久久久久久久精 | 中文字幕欧美在线观看 | 亚洲一区二区三区 | 99999av| 亚洲第一视频在线观看 | 青青精品视频 | 亚洲h视频在线观看 | av漫画在线观看 | 久久成人黄色 | av色哟哟| 久久99精品久久只有精品 | 快色在线观看 | 国产羞羞| 一级伦理农村妇女愉情 | 成人三级电影网站 | 日本久热 | 欧美激情在线观看视频 | 成人欧美一区二区三区黑人 | 国产资源在线播放 | 国产视频一区二区不卡 | 亚洲精品久久久久久久久 | 91一起草| 波多野结衣中文一区 | 久热精品视频在线播放 | 中文字幕一区二区三区乱码不卡 | free性娇小hd第一次 | 欧美一级激情 | 探花国产精品一区二区 | 中文字幕第9页 | 久热最新视频 | 中文字幕成人在线 | 国产美女一区二区三区 | 欧美69视频 | 精品处破女学生 | gai免费观看网站外网 | 男男肉耽高h彩漫 | 亚洲福利在线播放 | 黄色香蕉软件 | 国产山村乱淫老妇女视频 | 久久综合色88 | 色之久久综合 | 99热导航 | 黄色美女一级片 |