愛家愛china
愛家愛china
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 507 個(gè)
工控威望: 882 點(diǎn)
下載積分: 1374 分
在線時(shí)間: 245(小時(shí))
注冊(cè)時(shí)間: 2009-09-07
最后登錄: 2024-06-17
查看愛家愛china的 主題 / 回貼
樓主  發(fā)表于: 2011-11-29 19:33
本人對(duì)200里帶參數(shù)子程序了解不多,今天隨便編了個(gè)程序,卻發(fā)現(xiàn)個(gè)令人困惑的問題,程序見附件。
當(dāng)我按下I0.0或i0.2時(shí),Q0.0和Q1.1都是同時(shí)輸出,隨便按下I0.1或I0.3, Q0.0和Q1.1也都是同時(shí)熄滅。
想請(qǐng)問這是什么緣故?如果像這樣的話,那么在實(shí)際程序中,要調(diào)用多個(gè)相同的帶參數(shù)子程序時(shí)怎么來用才能避免這種問題?

不要說分開調(diào)用  這個(gè)設(shè)備就是很多重復(fù)的地方  而且需要同時(shí)調(diào)用



  
朋友多了路好走!!!
愛家愛china
愛家愛china
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 507 個(gè)
工控威望: 882 點(diǎn)
下載積分: 1374 分
在線時(shí)間: 245(小時(shí))
注冊(cè)時(shí)間: 2009-09-07
最后登錄: 2024-06-17
查看愛家愛china的 主題 / 回貼
1樓  發(fā)表于: 2011-11-29 20:52
沉得太快了
朋友多了路好走!!!
sjm213
有小知識(shí),無大學(xué)問。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個(gè)
工控威望: 7419 點(diǎn)
下載積分: 158680 分
在線時(shí)間: 3155(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-11-15
查看sjm213的 主題 / 回貼
2樓  發(fā)表于: 2011-11-29 21:58
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=7116338

在S7-200的子程序中使用局部變量類型 OUT 和 TEMP 時(shí)需要注意什么?

說明:

S7-200有一類用作臨時(shí)存儲(chǔ)或傳遞形參的局部存儲(chǔ)器。

局部存儲(chǔ)器:

給主程序分配64字節(jié)局部存儲(chǔ)器
給共8級(jí)的每一級(jí)子程序嵌套分配64字節(jié)局部存儲(chǔ)器
給中斷服務(wù)程序分配64字節(jié)局部存儲(chǔ)器
注意:

如果使用 LAD 或 FBD 編程,局部存儲(chǔ)器的最后四個(gè)字節(jié)為 STEP 7 Micro/WIN 保留。

如果在 STEP 7 Micro/WIN 中的同一級(jí)嵌套里調(diào)用多個(gè)子程序,那么這些子程序使用相同的局部存儲(chǔ)器。

當(dāng)使用變量類型 OUT 和 TEMP 時(shí),這些局部地址從相同嵌套級(jí)別的前一子程序取值。

預(yù)先定義的局部變量會(huì)生成正確的結(jié)果。如果不預(yù)先定義,相同嵌套級(jí)別的上一次被調(diào)用的子程序中的值會(huì)被保持。這樣會(huì)導(dǎo)致問題,特別是在邊沿信號(hào)檢測(cè)時(shí)。

原因:

當(dāng)子程序被調(diào)用時(shí),局部數(shù)據(jù)類型 IN 和 TEMP 不被初始化和刪除。

但是,局部數(shù)據(jù)類型 IN 和 IN_OUT 在子程序開始調(diào)用時(shí)被定義為分配的值或全局變量。

措施:

將局部輸出變量定義為 "IN/OUT" ,而不是 "OUT" 或 "TEMP" 可以增加可靠性。在下一個(gè)循環(huán)選擇全局變量做進(jìn)一步測(cè)試。

為了評(píng)估這種行為,可以在開發(fā)程序時(shí)在每一嵌套級(jí)別的網(wǎng)絡(luò)1中調(diào)用子程序。

通過檢查程序功能,可以快速發(fā)現(xiàn)選錯(cuò)的變量類型。
愛家愛china
愛家愛china
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 507 個(gè)
工控威望: 882 點(diǎn)
下載積分: 1374 分
在線時(shí)間: 245(小時(shí))
注冊(cè)時(shí)間: 2009-09-07
最后登錄: 2024-06-17
查看愛家愛china的 主題 / 回貼
3樓  發(fā)表于: 2011-11-29 22:10
恩  只是flag怎么賦值呢?是直接用位存儲(chǔ)器?還是?弄個(gè)圖片吧
朋友多了路好走!!!
愛家愛china
愛家愛china
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 507 個(gè)
工控威望: 882 點(diǎn)
下載積分: 1374 分
在線時(shí)間: 245(小時(shí))
注冊(cè)時(shí)間: 2009-09-07
最后登錄: 2024-06-17
查看愛家愛china的 主題 / 回貼
4樓  發(fā)表于: 2011-11-30 17:44
繼續(xù)頂上去
朋友多了路好走!!!
a4689
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 7 個(gè)
工控威望: 124 點(diǎn)
下載積分: 600 分
在線時(shí)間: 3(小時(shí))
注冊(cè)時(shí)間: 2011-12-06
最后登錄: 2022-04-20
查看a4689的 主題 / 回貼
5樓  發(fā)表于: 2011-12-06 15:12
學(xué)習(xí)了
lixiangnse
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 104 個(gè)
工控威望: 231 點(diǎn)
下載積分: 3299 分
在線時(shí)間: 24(小時(shí))
注冊(cè)時(shí)間: 2011-05-14
最后登錄: 2021-12-18
查看lixiangnse的 主題 / 回貼
6樓  發(fā)表于: 2011-12-06 19:53
看不懂  呵呵
ly349984168
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 435 個(gè)
工控威望: 583 點(diǎn)
下載積分: 4352 分
在線時(shí)間: 279(小時(shí))
注冊(cè)時(shí)間: 2008-02-22
最后登錄: 2024-11-11
查看ly349984168的 主題 / 回貼
7樓  發(fā)表于: 2012-11-05 12:05
路過,學(xué)習(xí)學(xué)習(xí)
hanqin
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1237 個(gè)
工控威望: 1226 點(diǎn)
下載積分: 2922 分
在線時(shí)間: 925(小時(shí))
注冊(cè)時(shí)間: 2009-01-09
最后登錄: 2023-10-27
查看hanqin的 主題 / 回貼
8樓  發(fā)表于: 2012-11-05 17:01
將Temp用IN_OUT再調(diào)用是給個(gè)M的地址。