Hey akrabato, I can't answer your actual question (I'm curious as well). I can help you fix the OSCAT V3.31 Library. This is how I have corrected this problem for myself: 1) Download the library from the OSCAT website. http://www.oscat.de/images/OSCATBasic/oscat_basic_331_codesys3.library 2)Open the Library with Codesys (I'm using Schneider Electric Machine Expert). It will most likely ask you to upgrade the project. Select Update 3)Open the Library Manager 4)Right click on the standard library and...
Hey akrabato, I can't answer your actual question (I'm curious as well). I can help you fix the OSCAT V3.31 Library. This is how I have corrected this problem for myself: 1) Download the library from the OSCAT website. http://www.oscat.de/images/OSCATBasic/oscat_basic_331_codesys3.library 2)Open the Library with Codesys (I'm using Schneider Electric Machine Expert). It will most likely ask you to upgrade the project. Select Update 3)Open the Library Manager 4)Right click on the standard library and...
Hey akrabato, I can't answer your actual question (I'm curious as well). I can help you fix the OSCAT V3.31 Library. This is how I have corrected this problem for myself: 1) Download the library from the OSCAT website. http://www.oscat.de/images/OSCATBasic/oscat_basic_331_codesys3.library 2)Open the Library with Codesys (I'm using Schneider Electric Machine Expert). It will most likely ask you to upgrade the project. Select Update 3)Open the Library Manager 4)Right click on the standard library and...
Hey akrabato, I can't answer your actual question (I'm curious as well). I can help you fix the OSCAT V3.31 Library. This is how I have corrected this problem for myself: 1) Download the library from the OSCAT website. http://www.oscat.de/images/OSCATBasic/oscat_basic_331_codesys3.library 2)Open the Library with Codesys (I'm using Schneider Electric Machine Expert). It will most likely ask you to upgrade the project. Select Update [-img src=Step 2.JPG width=75%: missing =-] 3)Open the Library Manager...
I think I've answered my own question. I believe that TON is using the TIME() function or something similar internally. If it does, the TON function would look something like this: //TIME() function //This function yields the time (in milliseconds) that has elapsed since system boot. StartONS(CLK:=IN); IF StartONS.Q THEN StartTime := TIME(); END_IF IF NOT IN THEN StartTime:=TIME(); Q:=FALSE; END_IF ET := TIME()-StartTime; IF ET>=PT THEN Q:=TRUE; END_IF Because the TON is stored in PERSISTENT RETAIN...
Can someone help me understand what is happening internally for a TON that is declared as PERSISTENT RETAIN? VAR_GLOBAL PERSISTENT RETAIN PersistTON: TON; Enable: BOOL :=TRUE; END_VAR PROGRAM Main VAR Test: BOOL; END_VAR PersistTON(IN:= Enable, PT:=T#10M); IF PersistTON.Q THEN Test:=TRUE; END_IF If I power cycle the PLC when the timer is timing (well before ET=PT), PersistTON.Q is TRUE on the first scan and PersistTON.ET is set to PersistTON.PT. If I power cycle when ET=T#30s, as soon as the logic...
Can someone help me understand what is happening internally for a TON that is declared as PERSISTENT RETAIN? VAR_GLOBAL PERSISTENT RETAIN PersistTON: TON; Enable: BOOL :=TRUE; END_VAR PROGRAM Main VAR Test: BOOL; END_VAR PersistTON(IN:= Enable, PT:=T#10M); IF PersistTON.Q THEN Test:=TRUE; END_IF If I power cycle the PLC when the timer is timing (well before ET=PT), PersistTON.Q is TRUE on the first scan and PersistTON.ET is set to PersistTON.PT. If I power cycle when ET=T#30s, as soon as the logic...