Can someone answer this? I would, but i don’t have access to a RSLogix PLC at the moment.
I am running a FBD_Timer of the type RTOR which is a retentive timer, so it starts and stops based on a condition. My code segment is
if CIP_Circulate.PBStatus and DAMPED_SCLD_VAL[10] >= CIP_TEMP then
CIP_T1.TimerEnable:=1;
else
CIP_T1.TimerEnable := 0;
end_if;
RTOR(CIP_T1);
//Reset code for CIP_T1
if not CIP_Circulate.PBStatus and cIP_T1.ACC>0 then
CIP_T1.Reset := 1;
else
CIP_T1.Reset := 0;
end_if;
Q1? It seems to me that the reset code isn’t needed? I think I have used these before and never needed a reset. Any idea why it would be needed? Does the RTOR cause the need for a Reset whenever the TONR would not?
Later on, the timer is examined as below and if it isn’t running, then the sequence is ended.
The reason I am even looking at this code is that it doesn’t seem to be running this timer. What seems obvious to me is that the first if above could be false, or even more likely, the RTOR could start and stop like it is intended to and this statement would kill the timing sequence.
If not CIP_T1.TT then
CIP_Circulate.SaveState := 0; //Sets the CIP_Circulate PushButton Off
end_if;
I would like to change the above to “If CIP_T1.DN then” and I would like to delete the Reset code.
I am running a FBD_Timer of the type RTOR which is a retentive timer, so it starts and stops based on a condition. My code segment is
if CIP_Circulate.PBStatus and DAMPED_SCLD_VAL[10] >= CIP_TEMP then
CIP_T1.TimerEnable:=1;
else
CIP_T1.TimerEnable := 0;
end_if;
RTOR(CIP_T1);
//Reset code for CIP_T1
if not CIP_Circulate.PBStatus and cIP_T1.ACC>0 then
CIP_T1.Reset := 1;
else
CIP_T1.Reset := 0;
end_if;
Q1? It seems to me that the reset code isn’t needed? I think I have used these before and never needed a reset. Any idea why it would be needed? Does the RTOR cause the need for a Reset whenever the TONR would not?
Later on, the timer is examined as below and if it isn’t running, then the sequence is ended.
The reason I am even looking at this code is that it doesn’t seem to be running this timer. What seems obvious to me is that the first if above could be false, or even more likely, the RTOR could start and stop like it is intended to and this statement would kill the timing sequence.
If not CIP_T1.TT then
CIP_Circulate.SaveState := 0; //Sets the CIP_Circulate PushButton Off
end_if;
I would like to change the above to “If CIP_T1.DN then” and I would like to delete the Reset code.
Last edited: