coding for burner

DR: You beat me to it,
yeah, insomnia
...
Also, I have put in the comment that it is possible to use the actual and add the + 3.0 degrees rather than just increment the Var Setpoint, this way if it does not reach the original set point before the timer up bit then it only adds +3 so in effect it will only ensure it is trying to reach 3 degrees above actual rather than keep incrementing the set point.


From what you posted, I think that limit check happens only once, at the rising edge of Start_Bit (when My_Pulse is 1), not throughout the setpoint progression.
 
What I was referring to was rather than Var Set point := Var setpoint +3.0, make it Var Setpoint := Actual temperature +3.0
That way if it did not achieve the new setpoint then it will only add 3.0 to the current actual temperature i.e, If Set point was 153.0 but actual was only 151.0 then adding 3.0 to the actual will only take it to 154.0 rather than 156.0. so it only increases the setpoint by 3 degrees above actual, this prevents the set point from climbing faster than the actual so you get a scenario of actual 150.0 and set point of 200.0, notice I also stated that OP also has alarms so if the set point is not reached it alarmed to inform the operator something is wrong.
 
Thanks parky and drbitboy. I manage to make the machine work from the sample coding provided. But has one part I confuse. The code below

IF temp_oven >= (temesettingbyuser + 1.1) AND gasonoff THEN
gasonoff:= FALSE;
ELSIF temp_oven < (temperaturesettingbyuser - 2.1) AND NOT gasonoff THEN
gasonoff:= TRUE;
END_IF

tempsettingbyuser = 280.
When temp_oven reach 281.1, the burner will off. It work fine. When the temp_oven reach 281, the burner ON again. It suppose ON the burner when the temp_oven less than 279.9 but it's ON burner when the temp_oven less than 281.1.
What the mistake I made?
 
your logic does not completely make sense.
IF temp_oven >= (temesettingbyuser + 1.1) AND gasonoff THEN
gasonoff:= FALSE;
ELSIF temp_oven < (temperaturesettingbyuser - 2.1) AND NOT gasonoff THEN
gasonoff:= TRUE;

END_IF
You are using the Gasonoff which is the bit to turn the gas on/off.
If you look at the code I posted, I used a start bit i.e. it is a bit from say a start latch that is always true when the system is running not the gas valve.
Also I suggest you use the brackets for example:
(Temperaturesettingbyuser -2.1) AND (My_Start_Bit).


Here is the one I did it works so do not use the actual valve in the reset bit I prefer to use reset function instead of =

IF (Start_Bit = TRUE) AND (Actual_Temperature < VAR_Set_Point - 1.0) THEN (* ON/OFF simple control give a difference band of +- 1 Degree *)
Set(TRUE,My_Valve); (* open the valve if actual temperature is 1 degree below set point *)
ELSE;
IF (Actual_Temperature > VAR_Set_Point +1.0 ) OR (Start_Bit = FALSE) THEN (* Note not using the valve but my start control bit *)
RST(TRUE, My_Valve); (* Close the valve if actual temperature is 1 degree above set point or start bit is false*)
END_IF;
END_IF;
 
Last edited:
Is there only 1 output to the burner or 2? Does the burner have a hi/low fire input?
Some gas valves/burners have a pilot/on and a high fire. The pilot would need to come on after purge sequence, and stay on. The high fire then could be turned on/off to control temperature.
 
It looks like Parky and Drbitboy have you covered on the programming. I really hope you have flame safety relay and a high temperature limit for safety reasons.
 
It looks like Parky and Drbitboy have you covered on the programming. I really hope you have flame safety relay and a high temperature limit for safety reasons.

I was thinking this all the way through reading the post.

A self professed novice working with gas burners..... what could possibly go wrong?
 

Similar Topics

Hello, I was wondering if anyone has a ControlLogix block or routine for encoding and decoding base64. I figured I would ask before diving into...
Replies
1
Views
258
Hello All, I hope we are all doing great and have a healthy and happy 2023!! I was wondering if anyone could help me decode this Motor Name...
Replies
15
Views
5,306
I have a Mitsubishi FX2N-64MR-UA1 processor. The 1st analog output card is an FX2N-4DA. It requires 24VDC power. That card is obsolete. The card...
Replies
1
Views
1,577
Hi All, I am trying to use FactoryTalk studio for SCADA design. How is the scripting done? I have previously worked with Ignition SCADA, and...
Replies
5
Views
2,060
Want to create a button for open excel sheet in factory talk View se client. Create a VBA code below mentioned Private sub Button3_Released()...
Replies
0
Views
1,064
Back
Top Bottom