I now have functioning code for this issue, which I have been testing through the winter. Simply restated, I have a wood boiler connected to two heating zones in my house, called newbasmnt and mainhouse. My contraints are as follows:
1) If there is no heat been produced by the boiler (no wood is burning) then none of these zone circulator pump will be activated, as it would be useless to do so.
2) if a zone calls for heat and condition one is satisfied, then that zone circulator will be activated
3) if the boiler reaches a very high temperature, than, no matter if there is a call for heat or not from any of the zone, the newbasmnt circulator will be activated, to dissipate some of that heat.
I accomplished that by adding 1 to a variable for each of these cases. If the sum is 2 or higher than that zone will be activated.
In short: enough heat in the boiler will add 1 + zone calling for heat will add 1 = 2. That zone wll be activated.
or
enought heat 1 + too much heat 1 = 2 that zone will be activated. if the zone also calls for heat the total willl actually be 3, which satisfies the TSTGE.
I am using UROMs to set the heat for the zone and the minimum temperature of the boiler. The maximum temperature (740) or 74 C. is set in the code.
The SUB MAINHOUSE use the same principle but without the high temperature condition 3.
I also have a few lines to activate my solar system curculator in there under SUB SOLAR
I am sure there are better ways to write this, but it worked so far for me.
START
CALLSUB NEWBASMNT
CALLSUB MAINHOUSE
CALLSUB SOLAR
END
NEWBASMNT:
TSTGE T1 UROM4 VAR5
NOP
TSTGE T1 740 VAR6
NOP
TSTLE T4 UROM3 VAR7
NOP
ADD VAR6 VAR7 VAR8
ADD VAR5 VAR8 VAR8
TSTGE VAR8 2 OP2
NOP
DELAY 50000
MAINHOUSE:
TSTLE T5 UROM3 VAR2
NOP
ADD VAR5 VAR2 VAR3
TSTGE VAR3 2 OP3
SOLAR:
SUB T6 T7 VAR1
TSTGE VAR1 UROM1
SET OP4 1
TSTLE VAR1 UROM2
SET OP4 0