S7-200中關(guān)于庫的調(diào)用問題
劉玉蓉
發(fā)布于2014-11-13 17:22
2
0
標簽:
程序中有一小段程序是多次使用的,所以把它制作成帶參數(shù)的子程序以庫的形式保存并添加,之后,本意是輸入不同的地址后在程序中進行多次使用,可是現(xiàn)在的問題是,這個自定義的指令庫用一次可以,要是多次調(diào)用就出現(xiàn)混亂,請問我應(yīng)該怎樣做才能達到預(yù)期的目的呢?程序大概是定義一個IN或IN-OUT參數(shù),再定義一個OUT參數(shù),然后中間運算或執(zhí)行的命令參數(shù)都用TEMP參數(shù),這樣制作成的庫預(yù)期著只需要在塊的IN處和OUT處輸入不同的地址就能多次調(diào)用,但結(jié)果并不能實現(xiàn),原因好像是這個塊一直被使用著,也就是這些參數(shù)不能分辨出在哪里使用。請問我應(yīng)該怎樣做才能讓CPU判斷出我使用同一個塊但具有不同地址的操作呢?
問題補充:
按照您說的把輸出參數(shù)類型改成IN-OUT后問題有改善,但仍然不能準確的執(zhí)行操作,有時甚至操作幾次才能正常輸出,就像程序無形中執(zhí)行很多次,只有偶爾能操作正確,可能是沒有復(fù)位,但我不理解您用sm0.0復(fù)位輸出是何用意?能否再詳細說明一下復(fù)位的意義,那類型的參數(shù)需要在執(zhí)行命令之前進行復(fù)位?復(fù)位操作是在整個執(zhí)行過程中都進行還是在某個信號有變化時執(zhí)行?或者有相關(guān)的文檔能說明關(guān)于庫的制作上的注意事項也可以,
佳答案
這個問題的可能原因是你在調(diào)用局部變量時,選擇了不合適的局部變量引起。尤其是輸出變量的使用,應(yīng)該使用IN-OUT參數(shù)。另外在調(diào)用的子程序中的輸出變量必須是先復(fù)位后再進行控制操作。見圖片說明。
補充問題回復(fù):
1)是的。其目的就是想在第2次調(diào)用前讓輸出復(fù)位。
2)開始調(diào)用時的復(fù)位操作。
3)這個實際上是子程序多次調(diào)用局部變量使用的問題。
若有收獲,就點個贊吧!
文章來源于網(wǎng)絡(luò)及文獻如有侵權(quán)請聯(lián)系站長
分享到:
微信掃一掃分享
閱讀與本文標簽相同的文章