Jump to content

Joe Tauser

MVP 2023
  • Posts

    2,858
  • Joined

  • Last visited

  • Days Won

    308

Everything posted by Joe Tauser

  1. Look under Help->Examples->Version 900->Project Examples->Communications->Ethernet->Ethernet MODBUS IP The example is for a V280 but it works the same for a V130. Also look in the Modbus Slave Addressing Help for how the address tables work in an enhanced PLC. Joe T.
  2. Ditto on looking at those examples. The V280 Modbus IP Master example shows that you have to include and keep track of a Socket Connect block in order for everything to work. It's not obvious in the Modbus IP Help that this is needed, but it is mentioned several times in general Ethernet Help that a Connect is required before TCP communications of any kind can take place. Joe T.
  3. There are no base models with 120VAC inputs. The only way to get them in is to use an IO-DI8-ACH expansion module or run them through relays. Joe T.
  4. Those are very similar to the Omron MY series and have a "real" coil in them. I'd definitely put the diodes on to suppress the flyback pulse since you're experiencing intermittent mystery problems. Here's a good writeup on what's happening: http://en.wikipedia.org/wiki/Flyback_diode I encourage everyone not familiar with this phenomena to read this. It will make you a more knowledgeable control engineer. The flyback pulse is a good thing if you're trying to generate a high voltage from a low one, such as a DC/DC converter or a high voltage supply for the CRT in an old television. They have scope captures of the pulse, which reaches -300V for about 0.4 ms. As the article suggests, the diode clamps it to it's forward bias voltage, typically about a volt. Joe T.
  5. Don't discount the interface relays - if two or more of them are turned off at the same time the spike voltages will add up. This spike can be a lot larger than you would guess. What is the part number and manufacturer on them? My experience with the problem is on the I/O expansion modules. Try putting some reverse-biased diodes across the coils of the 24VDC relays. Use a higher voltage diode like a 1N4006. Joe T.
  6. Denis, You're probably on the right track. I've learned to put snubbers on ALL inductive loads, regardless of whether they're connected to the PLC or not. I even put snubbers on the coils of octal relays; you'd be surprised at how big of a spike they create when they are turned off. Joe T.
  7. OK, this is a new one. SB 90 doesn't have a descriptor - how did you know to look for it? This is an energy spike noise broadcast problem. What's probably happening is a transient is getting into the I/O bus and causing the PLC's watchdog to timeout - I've had this happen to me. In my case the noise was on a Unitronics relay output module and there was enough of an inductive spike on the relay contacts to electromagnetically cross the I/O module's circuit board and get into the module's control circuit. Since it only happens when the motor is turned off, you have some clues as to where to look. When the motor is stopped the drive will go into regen mode and dump the energy from the motor back into the power line. Do you have a braking resistor on it? This will give the drive a another place to dissipate the energy. First off, if you have access to an oscilloscope with a 10X probe I would get it. A scope is an invaluable tool for troubleshooting problems like this. I would start by lifting all wiring that goes to the drive from the PLC an manually operating the drive from its local control panel. If you can start and stop the motor and the PLC doesn't lock up, then there's something coming in via those wires. You may need to add some .1 capacitors to ground from those terminals to filter the spike out. If the problem still exists, then the spike is in the power lines and is getting to the PLC through the DC power supply. In this case, you need to put a filter in the drive's supply power lines to try to catch the spike there. Good luck. Problems like these have cost me a lot of hair. Joe T.
  8. There's not one that does what you specifically want, but open Visilogic and browse through the sample projects: Help->Examples->Version 900 .... The example programs are descriptively named and it shouldn't take long to find something close to what you're trying to do. Joe T.
  9. You are exactly right about setting the power-up value to 10 - I forgot to to do this. The problem would have shown itself when I went to start up the machine. I keep telling people my stuff NEVER works right the first time. Even in an example Joe T.
  10. John, This is a complex first project for someone who hasn't done Unitronics before. You'll be using functions that don't even exist in other PLC's. I always push the Help on somebody new because it's really good and there are a LOT of pictures. You won't be able to get the same level of understanding from a mostly-words-only format like this forum. If you can get your distributor to help that's even better. It's important to post your program if your questions are deep because then we can look at what you've actually been doing to give the best advice. Our goal is to make you as big a Unitronics fan as we are. It does require some study and practice on your part. Joe T.
  11. My two bits on subroutines in PLC's - you are correct in your conclusion that a PLC program is a big never-ending loop, but that loop can get huge. Subroutines in a PLC serve a couple of purposes- 1. They allow functional organization of code. A classic PLC newbie puts all of his code in the Main routine and you wind up with a couple of hundred networks that turn into a troubleshooting nightmare, especially if said newbie or just plain crappy programmer doesn't document his code. 2. They do allow you to turn some of your code off if not needed. The biggest Unitronics program I ever saw (I did not write it) had 49 subroutines with a lot of CPU-gobbling math. If the PLC were to solve all that code, the scan time would very likely approach the watchdog timer limit and the PLC would fault out. Glad to hear you're figuring things out. Joe T.
  12. It was easier to write a state machine example program than to try to go all verbose and explain visual concepts with words. I also want to add an addendum to my state machine calling criteria - often you can just call the state machine all the time and just let it "idle". You don't really gain anything in scan time for simple sequences and then you don't have to worry about leaving anything on because the subroutine isn't being called. This is the best path to take if you haven't done one before. Take a look. Joe T. State machine example.vlp
  13. The PT 100 "common" is a return terminal used for calculating lead resistance of the connected sensor - you have to use it. The only way I can think of to get an additional digital input is to multiplex one of the ones you already have by running two through a relay controlled by one of the outputs and switching between the two while tracking it in the program. I know - not what you wanted to hear. Joe T.
  14. Don't use subroutines for the individual states for the reason you mentioned- the outputs will stay on when you stop calling the subroutine and you'll spend an inordinate amount of time cleaning up after yourself resetting coils. I break my programs into collections of state machines and each machine has a beginning "idle" state. I put an entire state machine in a subroutine. I use a pointer register and equal blocks to jump between states and the subroutine is always called when the state machine is not idle; this way the coils will get written properly and not be left on when I leave the subroutine. Joe T.
  15. It seems odd that a sales organization would punish you for exceeding your quota....
  16. They are 14 bit in normal mode and 12 bit in fast mode. Normal and Fast mode are selected in the hardware configuration. Those magic numbers are the raw values that show up in the MI mapped to the analog input. They are the output of the A/D converter and cover the entire 0-10V or 0-20 mA range, so if you have a 4-20 mA signal you lose the bottom. This is why on a 4-20 mA signal starts at 3277 in normal mode; 0 - 3.99 mA causes the A/D to report 0 - 3276. Run them through a Linear block to get the scaled value representing your actual data. Joe T.
  17. You'll need a V130 at minimum, and depending on the resolution you're looking for a V130-33-R6 would probably handle the job. Read ALL the Help on Data Tables and the RTC to ASCII function. Then look at the System Integers to see where the clock registers are. After you do this, take a swing at writing a program to meet your requirements and post it with further questions. Joe T.
  18. The nets in the picture are probably banging the serial port too quickly and not allowing the Modbus blocks to finish before incrementing to the next block. I'd slow it down a bit with a separate net monitoring the value of the Modbus status register value and a short timer in front of the INC block before proceeding on to the next address. As Keith said - You'll have to make some decisions as to what to do when communication fails. The picture he posted is a starting point and will need to be modified to handle errors. Joe T.
  19. "Apply" has the same function as "OK" without closing the Replace window. Use it if you want to do multiple Replace operations. Joe T.
  20. Yes, both timers will be activated at the same time. The default timer type (TD - On Delay) is contact activated - if you remove power they reset. The contact associated with them comes on when they time out and stays on until power is removed from the timer coil. If you want to further muddle your brain read the Help on the other timers - TA (accumulated) and TE (pulse). Joe T.
  21. Unitronics is funny that they let you connect coils in series, whereas other brands force a parallel connection. You are correct in surmising that A and B will both be on at the same time. In the case of timers, you are dealing with the activating coils, not the output contacts. If you connect two timer coils in series, they will both be active. The way to reference whether a timer is done is to tie its address to a contact. Subroutines will be solved in the order of connection from left to right. If you have sub A in series with sub B, the program will jump to A, solve its logic, and then jump to B and so on. I often stack coils in series but usually only call one subroutine per network. It's easier to read and troubleshoot that way. Joe T.
  22. I don't think you understand the difference between RS232 and RS485 - they are very different voltage levels and cable configurations. Do some research on these two hardware configurations before you try to get the PLC talking to a computer on a port that doesn't exist. Joe T.
  23. In this particular case my customer needed a file to give to the end user so they could use Remote Operator and not have to jump through hoops to create the file in the field. The end user is a park director and the PLC is controlling one of their fountains; they have no idea as to what's going on under the hood and don't want to. We want to make our product look powerful and easy to use to the PLC illiterate- in many cases they are the source of our funding. Sending them a file and telling them to open it is much cleaner. Joe T.
×
×
  • Create New...