3rd dosometric pump

Related to the development libraries, released by Curt Binder
Post Reply
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: 3rd dosometric pump

Post by rimai »

How long would you like to dose?
More than 60 seconds?
Roberto.
ahmedess
Posts: 174
Joined: Sun May 22, 2011 2:29 pm

Re: 3rd dosometric pump

Post by ahmedess »

yes 200 secs
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: 3rd dosometric pump

Post by rimai »

Yeah, this code won't work then.
Turns out you will indeed have to use something similar to the DosingPumpRepeat()

Code: Select all

  if (ReefAngel.DisplayedMenu==255 && (NumMins(hour(),minute()) % InternalMemory.DP1OnMinute_read()) == 0 && second() == 0)
  {
    ReefAngel.Timer[1].SetInterval(InternalMemory.DP1Timer_read()); // Read DP1Timer
    ReefAngel.Timer[1].Start();
    ReefAngel.Relay.On(Port1);
  }
  if (ReefAngel.Timer[1].IsTriggered())
  {
    ReefAngel.Relay.Off(Port1);
  }

  if (ReefAngel.DisplayedMenu==255 && (NumMins(hour(),minute()) % InternalMemory.DP1OnMinute_read()) == 5 && second() == 0)
  {
    ReefAngel.Timer[2].SetInterval(InternalMemory.DP2Timer_read()); // Read DP2Timer
    ReefAngel.Timer[2].Start();
    ReefAngel.Relay.On(Port2);
  }
  if (ReefAngel.Timer[2].IsTriggered())
  {
    ReefAngel.Relay.Off(Port2);
  }
In the code above, we are using just DP1OnMinute for both doser to make sure they are in sync and only 5 minutes apart.
DP1Timer and DP2Timer can be different, so you can have different dosages for pump1 and pump2.
Let me know if it works this way.
Roberto.
ahmedess
Posts: 174
Joined: Sun May 22, 2011 2:29 pm

Re: 3rd dosometric pump

Post by ahmedess »

Its workin fine now, thanks
ahmedess
Posts: 174
Joined: Sun May 22, 2011 2:29 pm

Re: 3rd dosometric pump

Post by ahmedess »

rimai wrote:Yeah, this code won't work then.
Turns out you will indeed have to use something similar to the DosingPumpRepeat()

Code: Select all

  if (ReefAngel.DisplayedMenu==255 && (NumMins(hour(),minute()) % InternalMemory.DP1OnMinute_read()) == 0 && second() == 0)
  {
    ReefAngel.Timer[1].SetInterval(InternalMemory.DP1Timer_read()); // Read DP1Timer
    ReefAngel.Timer[1].Start();
    ReefAngel.Relay.On(Port1);
  }
  if (ReefAngel.Timer[1].IsTriggered())
  {
    ReefAngel.Relay.Off(Port1);
  }

  if (ReefAngel.DisplayedMenu==255 && (NumMins(hour(),minute()) % InternalMemory.DP1OnMinute_read()) == 5 && second() == 0)
  {
    ReefAngel.Timer[2].SetInterval(InternalMemory.DP2Timer_read()); // Read DP2Timer
    ReefAngel.Timer[2].Start();
    ReefAngel.Relay.On(Port2);
  }
  if (ReefAngel.Timer[2].IsTriggered())
  {
    ReefAngel.Relay.Off(Port2);
  }
In the code above, we are using just DP1OnMinute for both doser to make sure they are in sync and only 5 minutes apart.
DP1Timer and DP2Timer can be different, so you can have different dosages for pump1 and pump2.
Let me know if it works this way.

if i want to be able to change the dosing interval using the memory location "InternalMemory.DP1RepeatInterval" lets say change it from repeating the dose every hour to repeating the dose every 30 minutes, how do i code that?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: 3rd dosometric pump

Post by rimai »

Code: Select all

ReefAngel.DosingPump1(Port1);
Roberto.
Post Reply