Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by hotwires

  1. Aus, kb9tms at yahoo dot com, send me blank msg and I'll send you back a Vision 1210 file with MODBUS master polling 4- V430 slaves. If that would help, the program was ran live in the field until master was replaced with UniStream 15.6 rendering Vision program obsolete. Would rather not release code to public domain. I may be able to find a timer based example also. First one that comes to mind is counter/index driven. -dB
  2. Has anyone else ever experienced a BLUE SCREEN OF DEATH while using latest version of Unilogic on Windows 10 OS? Was compiling for a download All and got BSOD "bad pool header". I run the older version of UniLogic on a Win7pro 64 bit laptop for months and never got BSOD. Was doing test run of latest release on win 10 laptop. Can't risk an Uh Oh on my front line programming PC. Thanks for thoughts shared. dB
  3. I believe I have found a solution On my own. NUM to ASCII, 4 bytes, presumably fitting into a single DW that the emailer uses to send out number in the 0 to 4,000 range. Will see how it does as time goes on. UPDATE: is working fine now. My texts received show gallons OF the last fill cycle (triggered by NTC contact linked to output that controls fill valve.
  4. I am still using the Vision/Samba line in new projects. Fits the bill just fine for most applications where function is put over fashion. The learning curve for UniLogic was steep for me. A whole different animal indeed.
  5. Group: Have a V430 that sends an email when a fill cycle ends. I capture the total gallonso f the most recent fill in an ML (memory long) then I trigger an email send with the message body linked to "indirect mail content". With the ML43 (gallons last fill) linked directly to the email "indirect content" the text shows a "?" most times. Today a value of D#1080 showed "8". I know that I need to convert NUM to ASCII, my question is: IN the FB below, IF I link indirect mail content to ML44 will I see all four digits or only the first digit? Does indirect email know how to find the string length? The INT value never exceedsD#9999. I looked at the example but it involved an SD FB that I couldn't even find in my version of VisiLogic. Thanks
  6. Carb, Here is a modified snippet from some working code I used to control the water level in a tank. It's the simplest form of an OUTPUT commanded by START and STOP setpoints. Might help to scale PSI to include tenths of PSI, if IF you had a 0-100 PSI transducer then linearize to 0- 1000. 1000 meaning 100.0 PSI. Then you can tweak your setpoints down to a tenth of a PSI. Happy composing. P.S. Obviously you would want to put an enable/disable contact in between the set/reset bit and the output coil. MB1 MB2 O0 AUTO bit S/R bit driven by compare blocks Control valve -----| |---------------------| |---------------------------------------------------( )-------------- HotwireS
  7. A hysteresis. I use start and stop setpoints for filling liquid levels in tanks (and alarms). open/close valve setpoints that are very close will result in chatter. PSI value reached could be the valve off setpoint and a value some PSI lower could be the fill valve open setpoint. Depends on how tight of a pressure value you are needing to maintain. If you have to keep a tight value at all times..... not sure.... a PID control? You generally don't want the valve open and close to trigger on the same setpoint. Heavy filtering on the pressure transducer integer would dampen the oscillation potential some. Just a burst of thoughts.
  8. Will the future bring a drag and drop email body element that inserts an ASCII string variable? I've found a work around for what I'm wanting to accomplish via binary text variable and lists of text variable. What I had in my was using store blocks in ladder to load an ASCII string with various messages then IF triggered email would convey the ASCII string message in body. Just a thought. Not sure if anyone else has looked for this as a feature. I guess I got the notion from email construct strategy I once used in Visilogic using Stores, Strings, and string to vector block (admittedly more complicated).
  9. Dear Community, Is it possible to have a bit trigger a message box? I have some ladder logic that determines if high and low user definable setpoints are equal to each other or inverse to each other. undesirable setpoint conditions make bit named SP> and SP= go true. Right now I have and indexed HMI text element that shows: legal entries, sp = illegal, sp> illegal, both illegal. I don't really want to trigger an alarm (though i could). The message box would be a nice way to signal operator of an illegal entry. I can't use legal entry ranges on numeric elements because legality is conditional to other setpoints. Thanks -dB
  10. I've been told USB on Unistream is a virtualized ethernet adaptor. I found that AVAST firewall was blocking USB connectivity but not ethernet when using my laptop on UniStream15.6. Turning third party firewall off allowed USB connection to work. This was on a laptop, Win 7 pro 64 bit. My discovery may not have any relevance to the issues being encountered o this thread but is an easy thing to try. I've also seen AVG FREE interfere with serial communucations to CAC card readers. Spent hours fidling with drivers to only find it's an AV problem.
  11. Mike, I've been told by UniTeam (Isreal) that a Unilogic release is coming soon with a (more) complete help section. You can always call tech support, that's what I did on my first Unistream project. It was a SCADA system with 4 RTU's; MODBUS was pivotal. Dan Logee at UniT east coast was able to answer/resolve all my questions/issues.
  12. Ausman's suggestion for using an interrupt for a precise 2.5 mS time base is an excellent idea. The whole thing was new to me. The Vision help section was well versed on the topic and answered my earlier question as to whether or not the subR required a ladder call. -hW Cara, The contraindication (let's not use the word bug) in visilogic is that in Ausman's "pumpexample2.vlp" the project optimizer shows a warning that a routine is not called in ladder. Fundamentally it's output is true, however inerrupts are an exception and do not require a ladder call. It appears the project optimizers code is not self aware of this. It's just evaluating subR's and their associated ladder calls. the program loads and functions fine. Thanks all for the clarification on what defines enhanced Vision hardware. -hW
  13. Program works in SM43. I'm NOT calling the interrupt subroutine. I'm just saying that the project optimizer is not "self aware" that "_interrupt" doesn't need to be called. No harm done. It could be a source of confusion for someone who always runs the project optimizer and follow it's advice.
  14. It's doesn't prevent download, just states that the subroutine is not called, optimizer logic is not recognizing that the _interrupt is "self called". Program works. I added a comparator to zeroize stored count if 2.5mS counter exceeds 24,000 (less than 1 GPM). The update time and flow rate are directly proportional. cruises along nicely near 60 GPM. 2 GPM update time 30 sec, 1 GPM: 60 sec. that's the laws mathematics at work. Works better than counting pulses for a 60 sec interval for every sample. Thanks All
  15. correct, no comilper error. Just project optimizer. Hope to try it tonight live in the OPLC.
  16. Aus, Thank you for the .vlp, I'll try it in my "R&D" Samba 4.3" This may be a silly question: Does the subroutine: "_Interrupt 2.5 mS" have to be called in the main routine? Or does the _ make it run irregardless? The project optimizer flags it however after reading the help section it appears the name makes it run without a call. Looks like the theoretical resolution would be 0.15 GPM That will be more than sufficient! Is an SM43-J considered an enhanced Vision on NOT? Love the simplicity of your program!!! I'll be honest, my conceptual approach was a bit more complicated. Simple is good. Thanks, HW
  17. The pump runs 24/7. So demand bit wouldn't be a useful zero signaling bit. Zero flow would only occur during power failure (which could be detected) or: pump failure, pump sucking air, discharge side occlusion, flow meter failure, unauthorized valve closure between disharge side and meter input flange. I'm sure there are a few possible conditions I've missed. My approach for testing logic is to present every possible set of conditions and then observe results, then ask: Is this what I wanted to happened?
  18. i use ptc for totalizer counters. I'm new to the pulse to gpm conversion with (relatively) real time updates. I took the freq counter logical approach but quickly found anything less than a 60 sec sample wasn't gonna be accurate down to the gallon. I seen in one of the examples where they use an output on plc to simulate pulses. I'll have to try that out. don't think my analog function generator will go low enough, 1 Hz would be 60 gpm. i've got a plc on my bench to play with but not the meter. i'm pre planning this project, no trigger pull on it yet. anytime I learn something new it's not time wasted. all prior flow meters I've worked with have had a 4-20mA gpm scaled output and programmable pulse:gallon ratio (and pulse duration).
  19. thinking about how it will need to handle a zero flow condition. the count would just keep running depending on where the disc stops and in what state. that's where limit setpoints come in. not exactly simple, but as the saying goes: "if it was easy anyone could do it!"
  20. A Tektronix 422, how ever did you know! Very compact scope back in it's day. Still works great. Never used interrupts on a PLC, kudos for the inspiration! I'll have to go spend some time in a pumphouse to examine the flowmeter, I don't have it's twin on my office desk Just did a walk thru a few days ago to see what all client had to work with and wanted to see in an automation solution
  21. i believe what you are suggesting paralells my idea of measuring the "period" (time between pulses) and using math to equate to flow rate. the most instantaneous and accurate possible measurement is the time between two pulses, which would vary proportionately from 0 ms (0 GPM) to 1000mS at 60 GPM. haven't had the flowmeter cap detached yet. 1 PPS is great for a totalizer but not so great for instantaneous flow rate. I started in the frequency counter mindset, count pulses for defined sample interval. that leads me to a 60 second sample being required to get 1.0 gallon resolution. frequency i'm trying to measure is to low for that approach. using the counter method: wouldn't the scan time be a factor in the rate of incrementation? one PTC would latch a contact to a counter and the next would release it, then store that counters value, and reset it? I'm assuming (perhaps incorrectely) that the pulse duration is constant, only the time between pulses changes with flow rate. But the more I think about it: if it's a magnet on a rotating disc then velocity would affect pulse ON time duration. Haven't examined the mechanics of the meter.... so not sure. read the help (and hardware installation diagrams) on the vision HSC. For some reason I'm not making the connection on how I use the in0 and in1 as a reset when I only have one pulsing line from meter.
  22. Cara, Ultimately both. I'll take whatever I can get, whenever I can get it. Most all the the Linux embedded security camera DVR's have auto DST offset, user specifies the day, week, month of beginning and end, the offset in hours, and time to execute (in 24 hour). One day of collected data will be an hour lean or an hour heavy, but at least it's just twice a year. I was two days late manually intervening this time around. If a person was managing 100 OPLC's without remote access it would take all day to do DST corrections.
  23. Community, I'm experimenting with a program where I need to convert a pulsed flow meter signal into GPM. No big deal, right?! Here's the catch: the turbine style flowmeter is calibrated at 1 pulse per gallon. The well flows right around 60 GPM 24/7. There is a self contained totalizer at the site now that is "jittery" in it's GPM indications. I already know all the ways I could count pulse or measure frequency and factor my way to GPM. With a range of 0 to 100 GPM at 1 pulse/gallon what is the best way? The shorter the sampling period the higher the multiplication factor and the poorer the instantaneous resolution becomes. A 1000mS sampling with about a pulse per second has a resolution of nearly plus/minus 60 GPM ? which is not so useful. Doubt that changing the flow meter to a unit with pulsed and 4 to 20 mA is in the cards. I have a feeling I have answered my own question already with the laws of physics. Any comments, ideas, or remarks are welcome. Sincerely, -HW
  24. They have the 50 or 60 Hz noise rejection settings on Unistream 8 ch AI, I suspect it is a software based notch filter. A ladder based filter while not impossible would be a bit over my head. Good notion, Nobody likes false alarms or measurements!
  • Create New...