I did download the latest version yesterday before I started playing with the GUI.Hi @crane,
Do you have the latest version? We added that ability recently. I think the primary value shows in the digital gauge (would need to test to confirm).
I did download the latest version yesterday before I started playing with the GUI.Hi @crane,
Do you have the latest version? We added that ability recently. I think the primary value shows in the digital gauge (would need to test to confirm).
What would be an acceptable SSR ... to be used to control a 5k BTU window AC unit for a glycol chiller? I didn't realize that a regular cheap SSR from ebay is not the proper one to use.
I did download the latest version yesterday before I started playing with the GUI.
Yup I found it was in the general tab instead of the appearance tab in the element settings.Tested this and confirmed. Were you able to get it working as you wanted?
We uploaded v1.1.1 today... this corrects the Global and Inspector data recording issue where it records those values into the data logs up to 20x per second. We created a default of 1 second per data point. This will reduce overhead (and disk space)!
I suggest users of Global variables and Inspectors upgrade ASAP. For users who do not... no rush.
... It might be nice to have a setting to hide workspaces when the lock button is clicked, so in "run" mode users never see those workspaces.
I am in the process of setting up some proportional valves and have a question with regards to PWM Outputs listed in the V 1.1 Wiring Map. I cannot find the PWM option in the pull down menu while trying to set up Pins 11,12,13,44. I realize there are alternative pins I could use but am I missing something maybe a revision somewhere with respect to these specific pins? I'm using a RobotDyn MEGA 2560 board, firmware V45 and V1.1 software
Thanks
Dude, you are correct. I ASSumed milliseconds.What the TFM says:DUDE. Please. It clearly states that delay is in seconds. Please RTFM. 180 seconds is 3 minutes and 1800 is 30 minutes....
Just gonna drop this here...
https://www.raspberrypi.org/products/raspberry-pi-4-model-b/https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
Cheers!
Once you see it, it is easy. I am just not "used" to seeing seconds only for a time, rather than 1800 seconds displayed as I would have preferred something like 30:00. Since it is an OnDelay to prevent short cycling, the minimum delay could be in minutes and not seconds regardless. In a lot of cases, milliseconds is the norm in BruControl, therefore I made the ASSumption.Ok, I'll admit we could state it explicitly in the manual, and will try to make these changes, but I'm not sure we could make it any clearer in the software.
View attachment 632466
i probably has to do with the characters after the {...I'm not able to duplicate this. Can you post the exact steps you are taking to induce this crash?
new value StopTemp
new string CurrentState
StopTemp = 207
reset "Timer 1"
Stop "Timer 1"
restart "Total Runtime"
"Stop Still Run" State = false
// Enable all devices needed
"Element 0" Enabled = true
"Element 1" Enabled = true
"Element 2" Enabled = true
"Element 3" Enabled = true
"Agitator" Enabled = true
"Bain Marie" Enabled = true
"Boiler Temp" Enabled = true
"Vapor Temp 1" Enabled = true
"Vapor Temp 2" Enabled = true
"Vapor Temp 3" Enabled = true
"PC Water IN" Enabled = true
"PC Water OUT" Enabled = true
"PC HX Return" Enabled = true
"PC Pump" Enabled = true
"PC Fan" Enabled = true
"RC Water IN" Enabled = true
"RC Internal" Enabled = true
"RC Pump" Enabled = true
"RC Fan" Enabled = true
"RC Valve" Enabled = true
"AlarmOut 1" Enabled = true
// start the still run
[Heating Up]
CurrentState = "Heating Up"
sleep 1000 // pause before energizing contactor
"Element 0" State = on
sleep 1000 // pause before energizing contactor
"Element 1" State = on
sleep 1000 // pause before energizing contactor
"Element 2" State = on
sleep 1000 // pause before energizing contactor
"Element 3" State = on
[State1]
if "Stop Still Run" State == true
goto CoolDown
endif
if "Start Still Run" State == true
sleep 1000
goto State2
endif
if "Bain Marie" Value > 230 // energize Agitator
if "Agitator" State == off
"Element 0" State = off
"Element 1" State = off
"Element 3" State = off
sleep 1000
"Agitator" State = on
sleep 1000
"Element 0" State = on
sleep 1000
"Element 1" State = on
endif
endif
if "Bain Marie" Value > 248 // Lower power by one element
if "Element 3" State == on
"Element 3" State = off
endif
endif
if "Bain Marie" Value > 250 // Lower power by one element
if "Element 2" State == on
"Element 2" State = off
endif
endif
if "Bain Marie" Value > 252 // Lower power by one element
if "Element 1" State == on
"Element 1" State = off
endif
endif
if "Bain Marie" Value > 270 // Kill power and alarmif temp actually reaches 250F
"Element 0" State = off
"Element 1" State = off
"Element 2" State = off
"Element 3" State = off
"Alarm 1" Active = true
goto CoolDown
endif
if "Boiler Temp" Value > 170 // exit to State2 when BK temp reaches 170
goto State2
endif
if "Vapor Temp 1" Value > 160 // exit to State2 when V1 temp reaches 160
goto State2
endif
sleep 50
goto State1
if "Element 3" State == on
"Element 3" State == off
endif
if "Element 2" State == on
"Element 2" State == off
endif
[State2]
CurrentState = "Heating 2nd stage"
if "Stop Still Run" State == true
goto CoolDown
endif
if "Start Still Run" State == true
sleep 1000
goto State3
endif
if "Boiler Temp" Value > 212 // exit and alarm if BK temp reaches 212
"Alarm 1" Active = true
goto CoolDown
endif
if "Vapor Temp 1" Value > 210 // exit and alarm if V1 temp reaches 210
"Alarm 1" Active = true
goto CoolDown
endif
if "Vapor Temp 3" Value > 110 // exit to State3 when V2 temp reaches 165
goto State3
endif
sleep 50
goto State2
[State3]
CurrentState = "filling plates"
if "Stop Still Run" State == true
goto CoolDown
endif
if "Start Still Run" State == true
sleep 1000
goto State4
endif
if "Vapor Temp 3" Value > 130 // clear plates when V3 temp reaches 130
goto State4
endif
sleep 50
goto State3
[State4]
CurrentState = "clearing plates"
"Element 0" State = off
"Element 1" State = off
"Element 2" State = off
"Element 3" State = off
"Timer 1" Type = CountDown
"Timer 1" Value = 00:01:00
Start "Timer 1"
[State4a]
if "Stop Still Run" State == true
Stop "Timer 1"
goto CoolDown
endif
if "Start Still Run" State == true
sleep 1000
goto State5
endif
if "Timer 1" Value < 00:00:00
Stop "Timer 1"
goto State5
endif
sleep 50
goto State4a
[State5]
CurrentState = "Reflux"
"Element 0" State = on // 1 element should be plenty to run full reflux
"RC Pump" State = on // set up reflux PID
"RC Fan" State = on
//"RC Valve PID" Enabled = true
//"RC Valve PID" target = 150
"RC Valve Manual" Enabled = true
"RC Valve Actual" Enabled = true
"RC Valve" State = on
"Timer 1" Type = CountDown // start 1 hour reflux timer
"Timer 1" Value = 1:00:00
Start "Timer 1"
[State5a]
if "Stop Still Run" State == true
Stop "Timer 1"
goto CoolDown
endif
if "Start Still Run" State == true
sleep 1000
goto State6
endif
if "Timer 1" Value < 00:00:00
Stop "Timer 1"
goto State6
endif
sleep 50
goto State5a
[State6]
CurrentState = "Distill"
"Timer 1" Type = CountUp
restart "Timer 1"
if "PC Pump" State == off // Turn on pump
"PC Pump" State = on
endif
if "PC Water OUT" Value > 100 // turn on fan when needed
if "PC Fan" State == off
"PC Fan" State = on
endif
endif
[State6a]
if "Start Still Run" State == true
sleep 1000
goto CoolDown
endif
if "Stop Still Run" State == true
goto CoolDown
endif
if "Vapor Temp 1" Value >= StopTemp // exit to cooldown state when distillation finished
goto CoolDown
endif
sleep 50
goto State6a
[CoolDown]
CurrentState = "CoolDown"
"Element 0" State = off
"Element 1" State = off
"Timer 1" Type = CountDown
"Timer 1" Value = 00:03:00
Start "Timer 1"
{CoolDown_a]
if "Start Still Run" State == true
Stop "Timer 1"
sleep 1000
goto PowerDown
endif
if "Stop Still Run" State == true
Stop "Timer 1"
goto PowerDown
endif
if "Timer 1" Value < 00:00:00 // exit to cooldown state
Stop "Timer 1"
goto PowerDown
endif
sleep 50
goto CoolDown_a
[PowerDown]
"Element 0" State = off
"Element 1" State = off
"Element 2" State = off
"Element 3" State = off
"Agitator" State = off
"PC Pump" State = off
"PC Fan" State = off
"RC Pump" State = off
"RC Fan" State = off
"RC Valve" State = off
stop "Total Runtime"
// Disable all outputs
"Element 0" Enabled = false
"Element 1" Enabled = false
"Element 2" Enabled = false
"Element 3" Enabled = false
"Agitator" Enabled = false
"PC Pump" Enabled = false
"PC Fan" Enabled = false
"RC Pump" Enabled = false
"RC Fan" Enabled = false
"RC Valve" Enabled = false
"RC Valve PID" Enabled = false
"AlarmOut 1" Enabled = false
"Running" Enabled = false
stop "Still Run Script"
Too bad the cart is before the horse on this one. Isn't there issues with the OS and this, meaning its not fully working?
i probably has to do with the characters after the {...
you will see the character near the end in the CoolDown_a declaration
If you cut and paste this in, it will crash BC
Once you see it, it is easy. I am just not "used" to seeing seconds only for a time, rather than 1800 seconds displayed as I would have preferred something like 30:00. Since it is an OnDelay to prevent short cycling, the minimum delay could be in minutes and not seconds regardless. In a lot of cases, milliseconds is the norm in BruControl, therefore I made the ASSumption.
I did notice that you can use a script to set a value higher than 1800:
"Big Mac-E" OnDelay = 3600
Would that value work for an hour delay or is the 1800 seconds a true limit?
Just gonna drop this here...
https://www.raspberrypi.org/products/raspberry-pi-4-model-b/https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
Cheers!
Is it possible to move a "Device Element" from one Workspace to another? For my particular setup it would be nice to pick the device elements associated with a particular process from a master workspace and drag it across to the pertinent process workspace. I'm not trying to duplicate a device just trying to move it.
Real time OS? Bit of red herring, ainnit? Meanwhile you're running BC on Windows!
Cheers!
Enter your email address to join: