問(wèn):比如程序中A,B,C,D均可以觸發(fā)M1.0,我想記錄某一個(gè)條件每次動(dòng)作時(shí)的時(shí)間并保存在數(shù)據(jù)塊里。
答:如果你只是需要記錄每個(gè)條件比如A最后一次次觸發(fā)M1.0的時(shí)間,你需要在這個(gè)DB塊中為你的A B C D分別建立4個(gè)DATE_AND_TIME類(lèi)型(8個(gè)字節(jié))的地址。然后用M1.0的上升沿加上對(duì)應(yīng)條件執(zhí)行一次SFC1將時(shí)間讀取到你想保存數(shù)據(jù)的DB塊中的對(duì)應(yīng)地址即可,比如如果是A條件滿(mǎn)足讀取到DB1.DBX0.0開(kāi)始的8個(gè)字節(jié)中,如果是B條件滿(mǎn)足讀取到DB1.DBX8.0開(kāi)始的8個(gè)條件中。。。
如果需要記錄每個(gè)條件的每次動(dòng)作的多個(gè)時(shí)間,你需要在DB塊中為每個(gè)條件預(yù)留多個(gè)位置比如5*8個(gè)字節(jié),這樣可以為每個(gè)條件保存5個(gè)動(dòng)作時(shí)間,然后你在程序中利用M1.0的上升沿加上對(duì)應(yīng)條件將保存時(shí)間的數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)挪移即可:即時(shí)間4移到5,3移到4,2移到1,SF1讀取到1。










