xuweid123
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 19 個
工控威望: 139 點
下載積分: 639 分
在線時間: 33(小時)
注冊時間: 2017-02-08
最后登錄: 2024-09-10
查看xuweid123的 主題 / 回貼
樓主  發(fā)表于: 2018-02-05 10:11
如圖,子程序調(diào)用call p21 kn,搞不清楚kn什么意思,是不是n是多少就執(zhí)行子程序多少次?
下面的子程序圖中有for k32,是不是在for和next之間執(zhí)行32次呢。
另外就是子程序不是只在調(diào)用時才工作吧,應(yīng)該是正常時也工作,調(diào)用時就跳過下面的程序,直接
前往調(diào)用的程序,是這樣的吧
hongsenmu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 41 個
工控威望: 133 點
下載積分: 637 分
在線時間: 75(小時)
注冊時間: 2016-08-01
最后登錄: 2024-11-01
查看hongsenmu的 主題 / 回貼
1樓  發(fā)表于: 2018-02-05 12:59
如圖,子程序調(diào)用call p21 kn,搞不清楚kn什么意思,是不是n是多少就執(zhí)行子程序多少次。
——kn是指 call子程序里的FD0= n
下面的子程序圖中有for k32,是不是在for和next之間執(zhí)行32次呢。
——是的
另外就是子程序不是只在調(diào)用時才工作吧,應(yīng)該是正常時也工作,調(diào)用時就跳過下面的程序,直接
前往調(diào)用的程序,是這樣的吧
——只在調(diào)用時才工作。調(diào)用完返回當前程序
xuweid123
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 19 個
工控威望: 139 點
下載積分: 639 分
在線時間: 33(小時)
注冊時間: 2017-02-08
最后登錄: 2024-09-10
查看xuweid123的 主題 / 回貼
2樓  發(fā)表于: 2018-02-06 20:46
引用
引用第1樓hongsenmu于2018-02-05 12:59發(fā)表的  :
如圖,子程序調(diào)用call p21 kn,搞不清楚kn什么意思,是不是n是多少就執(zhí)行子程序多少次啊?
——kn是指 call子程序里的FD0= n
下面的子程序圖中有for k32,是不是在for和next之間執(zhí)行32次呢。
——是的
另外就是子程序不是只在調(diào)用時才工作吧,應(yīng)該是正常時也工作,調(diào)用時就跳過下面的程序,直接
.......

十分感謝您的回復,這也使我了解了一些關(guān)于之前不懂的變址Z賦值問題,很多地方都賦值,不知道哪
里的賦值指令有效,這次清楚了,因為很多是子程序中的,只有子程序執(zhí)行時此中的Z賦值指令才有效
其他子程序中的賦值指令無效是吧??
另外,兄臺有空也請解釋一下上圖的子程序吧,for和next之間只有二排,inc指令是有條件,但z0的條件
是常閉sm400,也就是沒有條件了,那這執(zhí)行15次,到底是inc指令執(zhí)行15次后往下,還是z0 和inc都15次
呢,另外for這條指令執(zhí)行完15次后,Z0的值是15吧,這樣的話,這條指令是否可以理解為給Z0賦值15呢,
而且PLC掃描速度很快,應(yīng)該一瞬間就給Z0賦值15,然后往下執(zhí)行了吧。