熱情、耐心、真誠的服務(wù)與支持
主題:smart帶參子程序的注意
關(guān)鍵詞:smart 子程序 多次調(diào)用
詳情:
前些時(shí)候有個(gè)客戶使用smart系列PLC,現(xiàn)場(chǎng)的模擬量值有些不穩(wěn)定,想增加計(jì)算下平均值在輸出。編寫的程序如下:
本來期望每個(gè)模擬量增加一次調(diào)用就可以。實(shí)際運(yùn)行來看,并不能實(shí)現(xiàn)。
具體現(xiàn)象如下:
新做測(cè)試程序,單次調(diào)用這個(gè)子程序結(jié)果正常。
放到原有程序,單次調(diào)用這個(gè)子程序結(jié)果不對(duì)。
新做測(cè)試程序,多次調(diào)用這個(gè)子程序結(jié)果不對(duì)。
出現(xiàn)這個(gè)結(jié)果的原因:L區(qū)的地址區(qū)域是共享的。L區(qū)的變量的結(jié)果是不能保留的,上面程序的SUM和NUM都需要保留之前的結(jié)果才能正確計(jì)算。
所以,以上現(xiàn)象的原因:
放到原有程序,單次調(diào)用這個(gè)子程序結(jié)果不對(duì)。
是因?yàn)樵谐绦蛞灿衅渌绦蚴褂昧?/span>L區(qū)的地址。
新做測(cè)試程序,多次調(diào)用這個(gè)子程序結(jié)果不對(duì)。
同上面原因,兩個(gè)以上的程序都對(duì)L區(qū)的地址計(jì)算了計(jì)算。
把SUM和NUM兩個(gè)變量用作INOUT變量,每個(gè)程序執(zhí)行的時(shí)候分配V區(qū)變量后,就可正常運(yùn)行。
系統(tǒng)手冊(cè)的提示: