999感冒靈
級(jí)別: 略有小成
|
圖片:
圖片:
做一個(gè)上升沿條件,內(nèi)嵌不行,只能觸發(fā)一次,斷開(kāi)再觸發(fā)就無(wú)效了,是我這么寫錯(cuò)了嗎???,但是直接建ST的沒(méi)問(wèn)題的,觸發(fā)一次執(zhí)行一次 |
---|---|
|
999感冒靈
級(jí)別: 略有小成
|
FB內(nèi)嵌ST,F(xiàn)B使能和傳送條件不能同一點(diǎn)位 [ 此帖被miao1988225在2019-09-23 15:13重新編輯 ] |
---|---|
|
apei2014
工控的世界,我不懂
級(jí)別: 論壇先鋒
|
ldp(true,m0) 上升沿直接這樣就行,不用再加后面那個(gè) |
|
---|---|---|
|
999感冒靈
級(jí)別: 略有小成
|
圖片:
FB內(nèi)嵌ST前面一定要加個(gè)條件除了SM400想不到其他了,但是只要FB使能后FB內(nèi)SM400就不能斷開(kāi),那樣上升條件只能外部輸入們還不能跟FB使能條件一樣。不能同時(shí)要延時(shí)怎么破 |
---|---|
|
hefq
級(jí)別: 家園常客
|
這個(gè)破不了吧,內(nèi)嵌ST相當(dāng)于 CALL Px 只要是調(diào)用子程序,并且子程序有觸發(fā)條件,就會(huì)有上升沿問(wèn)題, 因?yàn)闆](méi)調(diào)用時(shí),程序是不被 掃到的,上升沿自然沒(méi)辦法計(jì)算, 所以簡(jiǎn)單工程這個(gè)無(wú)解, 有一個(gè)變通的方法,你用結(jié)構(gòu)化工程,建ST語(yǔ)言 FB塊,塊屬性里選EN控制使用MC/MCR,這個(gè)我沒(méi)測(cè)試,但大概率是可以解決你說(shuō)的問(wèn)題, |
---|---|
|
hefq
級(jí)別: 家園常客
|
要不就前面SM400一直常通,M10的條件寫到ST里面,這樣也可以解決,要保證子程序一直被調(diào)用,不然就沒(méi)辦法計(jì)算上升沿的 |
---|---|
|
hefq
級(jí)別: 家園常客
|
你是用的5U 5U好像簡(jiǎn)單工程的FB也可以選ST語(yǔ)言了,可以試試 |
---|---|
|
hefq
級(jí)別: 家園常客
|
反正子程序的上升沿是調(diào)用時(shí)候的上升沿,跟你本身元件的上升沿不是同步的,除非一直調(diào)用,這樣才能同步 |
---|---|
|
楓落云端
施主,腳抬一下
級(jí)別: 略有小成
|
編程本身就需要注意的,IF嵌套和FB內(nèi)一般盡量避免使用脈沖化指令以及雙向作用的指令比如OUT。 IF其實(shí)編譯后為跳轉(zhuǎn)或者CALL,條件不滿足時(shí),就不會(huì)進(jìn)行PLC的掃描執(zhí)行,IF嵌套和FB內(nèi)里面就像是被凍住一樣,可以理解為內(nèi)部時(shí)間靜止,當(dāng)再次條件滿足時(shí),里面的狀態(tài)還是和不滿足時(shí)一樣。也就是條件不滿足到滿足,內(nèi)部是沒(méi)有變化的。 |
---|---|
|
apei2014
工控的世界,我不懂
級(jí)別: 論壇先鋒
|
內(nèi)嵌ST前面的條件直接用SM400就好了,這有什么好糾結(jié)的 |
|
---|---|---|
|