Jump to content

Joe Tauser

MVP 2023
  • Posts

    2,855
  • Joined

  • Last visited

  • Days Won

    308

Everything posted by Joe Tauser

  1. I'd reach out to support@unitronics.com for this one. I'm pretty sure the the one second pulse isn't running off a crystal oscillator. Neither is the real time clock. I tell people that the RTC can drift one minute per month. What is the accuracy of the Hobbs meter? You could be running into a cumulative scan time issue. The scan time of a V570 is typically 5 - 10 ms, and if you're accumulating seconds based on the the one second pulse during the scan you could be off by some amount for each count. If the time accumulator is running for a whole week then you're talking about 604,800 seconds. Six minutes is 360 seconds, so the error is 0.06%. Over a year you could be off by five hours. Does that error matter? I would try an experiment using accumulating TA timers, which are tied to the internal clock and run independently of the scan. Use whatever logic you have enabling the one second pulse and run a 1 hour TA timer. When it times out increment a register to count hours and reset it. At the end of the week you can look at the hour count register and whatever the current value of the TA accumulator is to compare to your Hobbs value. Joe T.
  2. All you need is a Modbus TCP driver. I am 99% sure that all SCADA packages have this driver available, as Modbus is one of the oldest industrial protocols. We use InduSoft Web Studio, now called AVEVA Edge. Many people in the US use Ignition. I don't know what's popular in your part of the world, but I would just ask around. Joe T.
  3. Clarify your question - are you asking what kind of PC-baded SCADA software packages we recommend or for a SCADA-like dedicated HMI product that will emulate the Unitronics screen? Joe T.
  4. @BastianPIA - You've followed the example to configure the Jazz for Modbus serial communications. I don't think this is what you want. Look in the Help for Modbus and click on the link for Modbus/TCP -> Ethernet: Jazz 2 only. You'll see there is a dialog box specifically for Ethernet communication setup. Joe T.
  5. Inputs start at Modbus address 04000 on a Jazz. Have you tried ReadCoils(4002),2 ? Joe T.
  6. 1. I don't put any conditions on my SCAN_EX Modbus Slave block - 2. As Fernando pointed out, your net ID should be 255. 3. All of the V280's memory is open to read via Modbus. Rather than fighting to get the right offset for an ML read, try setting your offset to 0 to read MI 0 to establish a baseline that your communication works. Set your Data Type to INT. If that doesn't work try offset 1. 4. Your "Data Block" is set to 0. Should that be at least 1? Otherwise, upload your program. Joe T.
  7. Translated - Thank you for your response and attention! Would it be possible to create an example within the unilogic programming structure? As this is my first contact with unitronics, I still don't know very well how to use the software-only tools! Another detail! I don't have a movement end confirmation! There is no signal that is triggered every time the movement is completed! Thank you once again for your attention
  8. To expand on Ausman's comments- This application got stuck in the back of my head for some reason and I noodled some more on it. It might have something to do with my antique radio restoration hobby and the videos I've watched of guys making their own vacuum tubes (valves). First off, I wouldn't recommend Fast Mode. Everybody thinks they need to go "fast". I don't see your system changing it's vacuum every 25 ms and the 100 ms response in normal mode is probably fine - It's your choice, but you will get four more times the resolution on your transducer in Normal Mode. You haven't told us the range of your transducer but you have told us you want to display exponents, so I'm guessing you're trying to pull a deep vacuum with a diffusion pump or something like that. Let's say you have one of these OMG sensors - https://schoonoverinc.com/wp-content/uploads/2016/12/Vacuum-Sensors.pdf We'll pick the Penningvac PTR 225 N / PTR 237 N that goes from 1x10^-8 to 5x10^-3 mbar. Converted to numerical representation, that's a range of 0.005 to 0.00000001 mbar. Normalize that to integers with a virtual decimal point at 1x10^-8. So your range is 500,000 to 1. Definitely scale with MLs. Now - using the input in Normal Mode your signal can be sliced into 16,384 pieces. Each count of the A/D converter equals 3.1x10^-7 mbar, which would probably be unacceptable. But let's say I'm wrong here and your range is realistic. You can use a series of divide blocks to extract the scaled actual value into its multiplier and exponent components. Then you can display two numbers next to each other so they look like one: This would probably be easier that trying to create a text string. This is what I do for fun on a Friday night. Joe T.
  9. From the IO-AI8 datasheet, Fast Mode mode is 12 bit. That will make a significant difference in your scaling - 4096 counts vs 1024 counts. What are your expected range of values? First do your scaling in integers as everyone recommends to get your base number with an implied decimal. If your heart (or boss) is truly set on this presentation you'll have to build and display a string to get the visual format you want. Even if you use floats, you can't guarantee that the exponent will appear as the PLC will display it as a regular decimal if it can. Joe T.
  10. As Ausman says, if the PLC returns the model number and O/S version then then communication is working properly. I think what happened here is the OP downloaded the latest version of Visilogic off the Unitronics website (because that's what Unitronics directs you to do) and now it won't communicate because the O/S in the V120 is probably very old. It's been recommended that the O/S be updated but he hasn't mentioned that he's tried that. It's not the most obvious thing in the world for a new user. @Hasan Haider - if you haven't already tried then the way to update the O/S is by clicking on this tab in the communication window - The default baud rate for a V120 is 57600 as DanT says. Try to update the O/S and then you should be able to go online. If this doesn't work, you can reach Official Unitronics Support by emailing support@unitronics.com. Joe T.
  11. You can only have one Modbus Configuration block per port. You've created two Masters trying to share the same port. Use the same Master to call different Slaves. Joe T.
  12. Order these two parts from your friendly local distributor: RJ10-22-CS35 USB to RS232 converter RS232-CB1 Serial Programming cable Joe T.
  13. +1 on using Download only while developing. When you do a simple Download, only the things you've changed are downloaded. Download and Burn takes a ridiculously long time. Don't forget to upload your memory table values (Export PLC Operands to Binary File or Text File) when you're done, too, so you have a record of all your settings. If you have values in Data Tables you need to save those as well. They will save in your project file but you need to make the effort to read and save the Data Tables from the Data Table dialog. Joe T.
  14. OK - so you've got the 20 mm ID unit where 4/20 mA = 5 to 85 l/min: The -RA22 is the high resolution analog input board, where 0 - 20 mA = 0 to 16384 counts. 4 mA = 3277 counts, so your 4/20 signal will be spread over 13,107 counts. If you use a virtual decimal place at 0.xx, you can scale your flowrate input to 5.00 to 85.00 l/min. The -RA22 has four analog inputs which are dedicated to input type. AI 0 and AI1 are for thermocouples and 100 ohm RTDs, and AI 2 and AI 3 are for 0-10VDC or 4/20 mA. You'll need to set the jumpers inside the unit to select the 4/20 input. I'd recommend connecting your flowmeter to AI 2. Your linearization block can be set up like this: I've attached a program showing this. How often you sample it and the math to totalize flow is up to you. Since your input flowrate can be up to 8500, I'd recommend doing your math in MLs as you will quickly overrun the maximum value of an MI which is 32,727. To answer your question, your precision is 0.01 l/min. Joe T. Flowmeter scaling JT.vlp
  15. Need the full model number of the V350. They have different I/O boards. There is a very large difference in the analog input resolution between a -TA24 and a -TR20. Joe T.
  16. Me, neither. You'll have to give us information on your pipe size, flow sensor make and model, which PLC model you want to use, and your anticipated flow rate range before any of us can give you direction. Joe T.
  17. I'm guessing these are motor status bits. If not please clarify. If so, then just write logic to turn on and off an MB with each one. Then your gateway will "read coils" and the address will be the same as the MB address and you can read them all in a block. Is the gateway a commercial product or something you've developed in house? Joe T.
  18. That's your computer identifying itself with it's own IP telling you that the PING did not get a response. It confused me the first time I saw it. Joe T.
  19. Just to clarify, there is no "table". You can read the entire memory of the Jazz via Modbus; you just need to know the MI or MB addresses you are interested in. Can you describe your application in more detail? Are you reading from the PLC with SCADA software or another application (Modbus slave)? Or do you want the Jazz to write to another device (Modbus Master)? Joe T.
  20. Just to be clear, are you reading registers 30001..30010 and writing registers 40001..40010 to the slave? Is MB 4010 your Modbus busy bit defined in your configuration? Can you upload your program? Joe T.
  21. Amateur radio people are notoriously creative with the most hacked-up parts. My call sign is KEØZCM. If you rolled your own rotator assembly you may be able to roll your own quadrature encoder by adding a second sensor. I have actually done that on a machine using photo sensors, but if you have a tooth sensor that will work, too. The trick it to place the sensors so the pulse trains are 90 degrees out of phase as the gear rotates: The sensors don't have to be right next to each other as long as you can get the offset waveform shown above. Then you can use the Samba's encoder function. There's lots of ways to skin this cat. Joe T.
  22. You're welcome. The UniStream manual is correct. According to the official RS485 standard B is supposed to be + and A is supposed to be -. The problem lies in many of the manufacturers that didn't bother to look that up. It makes more sense for A to be +, so that happens a lot. RS485 really is kind of the Wild West of serial communications. Joe T.
  23. The shift source needs to be numerical tag with more than one bit, like a UINT16. It could be an array of UINTs. When you speak of an Input, do you mean a discrete input? If so, then that won't work. You'll need to write some code to set a bit in the source tag with the Set Bit function under the Logic menu. If you're shifting right, I'd recommend setting bit 15. I don't know what the largest "B" value is. I tested it by making an array of 50 INT16s and entered 512 and it took it. The shift out is a bit. 0 or 1. At this point I'd recommend writing some test code and playing with it online so you can see it work. You're not going to break the PLC. Joe T.
  24. Thanks for uploading your program. The difference between Input Registers (function 4) and Holding Registers (function 3) can be very confusing indeed. It goes back to the days of Modicon PLCs where Input Registers were assigned to I/O modules in the rack and were type 3xxxx. Almost all device manufacturers use Holding Registers these days (type 4xxxx). When specifying the address, you don't include the leading "4". Unitronics specifies the address in decimal - if you want to go above 9 you'll need to convert the hex addresses in your document to decimal. If you want to really understand the Modbus protocol get yourself a large cup of coffee and look at the original protocol - https://www.modbus.org/docs/PI_MBUS_300.pdf Anyway, in addition to changing your operation to Read Holding Registers I noticed you are trying to read a float value into an integer tag, which won't work. If you go back and look at the document in your first post you'll see that the "Hosting Number" or Modbus address increments by 2. This is because floating point numbers are 32 bit values, and Modbus addresses are 16 bit words. When this protocol was defined there were no floating point numbers in PLCs so it wasn't addressed. I re-defined your "ph reading 1" array to type REAL, which is what Unitronics calls a floating point number. I also modified your slave table. Load this into your PLC and let us know what happens. Joe T. test1 JT.ulpr
  25. Unfortunately, even after all the years UniLogic has been around some of the function blocks haven't made it into the Help. However, if you hover over the letter of any block a tip will appear: You can't see it, but my mouse pointer is over "A" - the source tag or array. "B" is the number of bits in the tag or array to shift. "C" is the value of the bit shifted out. @Cara Bereck Levy - could we get the Shift Rotate functions added to the Help? Joe T.
×
×
  • Create New...