發布日期:2022-04-17 點擊率:6 品牌:西門子_Siemens
網友秀全說:“我編寫的功能FC1里邊有一個SR置位復位塊,在OB1調用4次FC1,怎么搞也不行,后來我把它改為分開的置位、復位指令就好了。我怎么也想不明白怎么回事。”
下圖是他的FC的局部程序。
點擊查看大圖
首先要注意SR觸發器用來對圖中的M0.0置位和復位,同時也對Q輸出端可選的BOOL變量置位和復位。程序中的M0.0和局部變量#zuudianyuan(主電源)的作用是重復的,可以只用其中之一。
SR觸發器有記憶和保持的功能。調用一次FC1,M0.0用來記憶一臺設備的啟動、停止命令。調用兩次FC1,能用M0.0同時記憶兩臺設備的啟動、停止命令嗎?當然不行。
要想多次調用FC,其中有記憶功能的變量不能使用絕對地址,也不能使用局部變量中的臨時變量。
最簡單的解決方法是刪除圖中的線圈,將M0.0改為要控制的#zuudianyuan。
對于S7-300來說,SR方框上的地址可以使用輸出參數。但是對于S7-200的子程序(相當于S7-300的FC),如果使用輸出參數,多次調用該子程序時就會出錯。應改為IN_OUT參數。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV