Howto: PLC Reef Controller II

I thought this was interesting.. since they claim it iterfaces directly to a PLC. Have no idea what it costs.

sanjay.

Differential pH probe with Built-In 4-20 mA Two-Wire Transmitter Wires direct to PLC

The AquaMetrix P65 differential pH probe with built-in two-wire 4-20 mA transmitter eliminates the need for standard pH transmitters by wiring directly to a PLC over twisted pair cabling. The 4-20 mA signal generated by the P65 is much less susceptible to electromagnetic "noise", and travels farther than standard pH mV signals.

Offering true three-electrode differential pH measurement, which reduces ground loop interference and has been used internationally in thousands of applications, the AquaMetrix P65 probe is available in 1-1/2" threaded body and 1-1/4" variable insertion depth models. Both models come with easily replaceable double junction salt bridge for extended service life. For more information contact Customer Service at 1-800-742-1413, or sales@aquametrix.com. AquaMetrix Inc. has been manufacturing rugged and reliable instrumentation for over 45 years.
 
slug said:
They emailed me a quote for the b20, $360. About $300 overpriced.

I also got a quote for the same thing. However, they also included a doc on programming a PLC to perform calibration, etc...including RLL examples for DirectSoft. If anyone wants a copy send me a PM with your email address.
 
I got a quote for a hanna PH transmiter (HI 8614) that was $348.00 so the b20 certainly isnt cheaper than other transmitters that are available.
 
BlitzM4 said:
I got a quote for a hanna PH transmiter (HI 8614) that was $348.00 so the b20 certainly isnt cheaper than other transmitters that are available.

I think you can get that one for $250 at automatedaquariums.com. Still overpriced though...
 
Here is a link to a datalogger (and related peripherals), might be of some use for you guys.

Logger

I have not used any of their products.
 
I looked at the instructions for the hanna ph transmitter. The only connections it has are 2 for a temp probe/resistor for temp compensation and 2 more for the 4-20mA loop (+VE Loop and -VE Loop) would this just connect to the plcs A+ and A- or is there more to it than that?
 
BlitzM4 said:
I looked at the instructions for the hanna ph transmitter. The only connections it has are 2 for a temp probe/resistor for temp compensation and 2 more for the 4-20mA loop (+VE Loop and -VE Loop) would this just connect to the plcs A+ and A- or is there more to it than that?

The third connection is for a shield on the circuit, its a must have. You'd run shieled wire to the transmitter and ground it only on one side which is the third connection on the module.
 
BlitzM4 said:
I looked at the instructions for the hanna ph transmitter. The only connections it has are 2 for a temp probe/resistor for temp compensation and 2 more for the 4-20mA loop (+VE Loop and -VE Loop) would this just connect to the plcs A+ and A- or is there more to it than that?

You've got to provide it some power (12-30 vdc) somehow. What instructions are you looking at?
 
The third connection isn't going to be showed, a shield on a wiring is nothing more than merely a grounded connection on a foil/wire guard on one side of the wire, if you ground both sides you'll create an inductor and put tons of noise into the circuit. Not sure on what the hanna transmitter does, the circuit I have provides power to the transmitter, but the ph reading is measured in mV's not mA's, which is merely solved by turning the input module to a 0-5v setting. Issues that arise with the 4--20mA are going to be your not going to be able to run an ORP probe or conductivity probe on the same circuit, most of these probes are measured at the mV level, I know for sure ORP is because the standard reading on any ORP meter is mV's.

If you don't use a shielded wire on the feed into the analog input module, your readings most likely will be skewed, considering our tanks are havens for EMF(MH's,VHO's, pumps..etc), I'd suggest a 18G twisted, shieled wire, stranded or solid. And keep it a min. of 1/4 of an inch from other wiring.

I'm waiting on a resistor/capicitor/pto order from digikey, its supposed to be here friday. Along with the probe order from Marine Depot that will be here Monday. By monday I should have a prototype of my circuit, I've also order calibration solution at the following levels 4,7,10. This should give us an idea on the accuracy of this circuit. Depending on how this goes, and how the circuit functions I may make a few for people who are interested in a cheap alternative to a commerical transmitter.
 
I am waiting to see the results of the circuits you have. But if all else fails I can spend $600 on transmitters and still be under what I would have spent for an AC2 and still have complete flexability that the AC2 doesnt have. Hanna makes 4-20ma transmitters for PH/ORP/and conductivity so I dont have a problem going the 4-20mA route if needed.
 
BlitzM4 said:
http://www.hannainst.com/downloads/instr/hi8614.pdf

here you go, the instructions show no 3rd connection and no power connection.... but it does say it needs 18-30VDC so it must connect somewhere.

The 4-20mA loop cant provide power to the transmitter?

OK, according to the documentation for the DL06 4-20 mA analog input (via wiring diagram in their documentation):

For 2-wire transmitters:

Connect the +VE of the transmitter to the +vdc of the power supply. Connect the -VE of the transmitter to the + 4-20mA analog input. Connect the -vdc of the power supply to the - 4-20mA analog input.
 
What's the easiest way to keep track of the total time a contact has been closed (i.e. to keep track of how long a pump/light was on, etc.). The count will be in many hours...

Most timers don't seem to like to keep time for that long...so I assume I'll have to check timestamps and calculate on-time for each on/off cycle? Other approaches?
 
javajaws said:
What's the easiest way to keep track of the total time a contact has been closed (i.e. to keep track of how long a pump/light was on, etc.). The count will be in many hours...

Most timers don't seem to like to keep time for that long...so I assume I'll have to check timestamps and calculate on-time for each on/off cycle? Other approaches?

You could use a counter, and count the cycles the output has been closed. From there you can divide it by the cycle time and get a accurate repersentation of time. I tried it on the s7, it worked down to the tee.

Or you could have a timer trigger a counter when it hits a certain time frame, for example when 15 mins have passed it adds a count to the counter. To get the time you would create a math expression to multiply the counter by 15, and add whats ever on the time to it. This method is less memory intense, and doesn't force the plc to count every 20ms, as it would have to if the counter was counting a cycle.

Both of these would work, I'd opt for the second one to save cpu resources.
 
Roy,

If you need any R's C's, Xistors, relays or DIPs send me a PM. Got twenty years of the stuff.

Java,
These PLCs have a real time clock and load TOD (time of day) on every pass of reading the stack, it measured in mSand accurate to less than 2min/ month. Events like lighting and such are enabled and disabled as the day passes, no timers for these perse. If you do need timers for delays and what not, there are 64 - 1ms, 16 - 10ms, and 236 - 100ms ones available. Roy understands this I believe, but I don't..yet. There is a battery backup that is good for 190 hours. (Doh, Roy beat me to it.)
 
Doh, wish I'd known before I placed a digikey order. Im having trouble finding gold plated female bnc ends that are made for a pcb board.

easttn said:
Roy,

If you need any R's C's, Xistors, relays or DIPs send me a PM. Got twenty years of the stuff.

Java,
These PLCs have a real time clock and load TOD (time of day) on every pass of reading the stack, it measured in mSand accurate to less than 2min/ month. Events like lighting and such are enabled and disabled as the day passes, no timers for these perse. If you do need timers for delays and what not, there are 64 - 1ms, 16 - 10ms, and 236 - 100ms ones available. Roy understands this I believe, but I don't..yet. There is a battery backup that is good for 190 hours. (Doh, Roy beat me to it.)
 
gabe21804 said:
Or you could have a timer trigger a counter when it hits a certain time frame, for example when 15 mins have passed it adds a count to the counter. To get the time you would create a math expression to multiply the counter by 15, and add whats ever on the time to it. This method is less memory intense, and doesn't force the plc to count every 20ms, as it would have to if the counter was counting a cycle.

I think this was the approach I was going to take until I re-read the timer instruction docs...on the DL06 an accumulating timer can accumulate 9999999.9 seconds (2777 hours). I'm working on some logic to keep track of my RO/DI unit usage and I think this will be enough before I hit a reset button (and replace the filters, etc.). If I decide I need more time before reset I can just add some extra logic to do like you suggested and increment another memory location every X minutes/hours/etc. (I'll have to do that to keep track of bulb hours I'm sure...).
 
Well, I'm pretty happy right now. My DL06 came in yesterday and I've got the first part of my reef program up and running...logic to maintain my freshwater reservoir. Here's what I've got:

3 float switches: 1 low, 1 high, 1 high alarm (I should probably add a low alarm float as well...)

The logic in the PLC turns on the RO solenoid when the low float closes. It continues to fill until the high or alarm float opens.

If the alarm float ever opens, an alarm bit is set (currently displayed on the PLC display). This is so that I know my high float is stuck and needs attention. This can be reset be flipping a bit (eventually with a button somewhere).

Each time a fill cycle starts I increment a counter (just for fun, but it might help me calculate evap rates).

I also keep track of how long it took to fill (so I can track RO/filter efficiency). I store these stats in a table which I'll eventually use to plot a trend chart somewhere. When I know the approximate max time it takes to fill I'll add some alarm code in there to prevent the RO from being on too long in case both high floats fail.

I also sum all of those fill times in to a separate memory location to keep track of the total time the RO has been run. I'll eventually display this value too.

All of the RO stats can be reset by flipping a bit (for when you change the filters/membrane).

I've already thought of lots of other cool things to do with this...delayed on/off for fast flush of the membrane before each cycle, measuring TDS of the RO and DI outputs, etc.

If anybody wants the program I'll be happy to share...but remember its for an AD DL06.
 
Back
Top