Bill Linne

MrPLC Member
  • Content count

    157
  • Joined

  • Last visited

Everything posted by Bill Linne

  1. Do a Google search for Logix 5000 Clock Update Tool. Download and install the utility. Then configure it to sync whichever processors you care to sync. Works like a charm! It syncs the PLC's to the clock in the PC on which it is running. So, you sync that PC to an Internet source, and you're done. Bill
  2. cable help

    While that is true, the original question was how to EXTEND the 9-pin end of the cable. Which means that the pin-out is irrelevant - all you want to do is take pin 1 to pin 1, pin 2 to pin 2, etc. I've yet to find a genuine A-B cable I could not EXTEND with off-the-shelf serial extensions.
  3. IMHO, the U.S. (entire world, for that matter) should do away with AM and PM and use 24-hour time (some mistakenly refer to this as Military Time (it is not, but the military does use it)). It sure makes manipulating and displaying time easier by a couple orders of magnitude. Add to that the complete elimination of confusion; when somebody refers to 0900, there is no doubt whether they mean morning or evening. Just my 2¢ worth. Bill
  4. We see this type of thing when more than one power supply is connected to an input module. In other words, if you have transmitters with 4-20ma outputs that derive their power from more than one source (either they are 4-wire instruments or their loop-power comes from more than one power supply) interference can result. Our "cure" is to add a loop-powered isolator in front of the offending source. Many companies make the isolators, but my favorite is AGM. They are very stable and have a seven-year warranty. http://www.agmelectronics.com/SCGraphic.htm If you can, try connecting one of the "unstable" instruments to a module all by istelf and see what happens. Bill
  5. Store and Forward with Radios

    And then there is the option of using radios that do the work for you. In the system we presently use, the radio knows the path to the master, and the master knows the path to each field site. So, if station five sends a message to the master, but station five needs to be "repeated" by station three to get to the master, all that configuration is in the radio at station five. Nice part of that is, if the PLC at station three heads south, the communication link continues to work. You can put a radio out in the field without a PLC attached, and repeat radio transmissions with it forever. I know this is slightly off the specific question you asked, but thought it worth mentioning. Bill
  6. Mine is a variation of Alaric's. I run only one, free-running timer, set at six seconds (one tenth of one minute). Rungs then look for the Motor_X_Run_Status and the timer DN bit and add .1 to a floating point buffer. This is plenty accurate for my purposes, and requires only one timer for all the devices controlled by a given PLC. Depending upon the number of hours you wish to accumulate, you can dump the floating point to a decimal in one hour, ten hour, hundred hour or thousand hour increments.
  7. Using Logix 5000, I've created a couple of experimental arrays, but run into snags with each approach. I need to be able to place a process value (an integer usually <500) into an array and have it correspond to a time-stamp. My time-stamp data is the WallClockTime Day*10000 + the Hour*100 + the Minute (right now is 60823). Twice per minute means 2880 sampes per day. Thirty-one day maximum month means another array dimension is 31. Two corresponding pieces of data in each "pocket" (i.e. Day 6, Sample 960, then the data and time-stamp). I need help understanding how to dimension the array and increment the COP Instruction. I did it with a two-dimensional array, but the whole point of this is to sort the array by the DAILY data values (the process variable taken every 30 seconds), then go to the value in the cell 2823rd in order, and therein will be the 98th percentile of the process value for each day. Using the two-dimensional array, the sort causes me to lose track of when in the day the data was taken (in fact, I lose track of the day, too!). One fix would be a two-dimensional array per day, but that is the easy, inelegant way out. Any help?? Hope everyone has a nice weekend. Bill
  8. CLX World of Arrays

    Roger all that, Paul, and thanks. This requirement, as it turns out, has stimulated significant action on the I.T. side of the house. We will soon use an external database solution. My requirement is now, and while I can resort to the two-dimensional array per day, I would REALLY like to know why the array pictured in my most recent post causes the SRT instruction to puke. May have to call Rockwell tomorrow. Bill
  9. CLX World of Arrays

    I am working on this again and continue to have trouble with the sort instruction. Regardless how I try to express the Array, I get the error "Operand 0: Invalid array subscript specifier". Can anyone tell from my screen shot what I should be putting in that field? The intent is to sort on the Turb value. A small section of the array is above the troublesome instruction. Thank you! Bill
  10. CLX World of Arrays

    I've created a UDT called CFE. Within it are the two pieces of info defined as "Turb" & "Time". I created the array of CFE's, and I've written data to them. So far, so good. Problem appears when I try to sort. Regardless what I put in the "Array" field of the SRT instruction, I get a syntax error. Most popular is "Operand not an array element". This happens even if I drill-down to populate the field. Is there a trick to sorting UDT's? Thanks, Bill
  11. CLX World of Arrays

    Yep. Just another good reason to finally take some action on my oft-repeated words that "we need to get this data "thing" centralized and streamlined . . .". SQL Server may be in our not-too-distant future. There simply has to be a better way to handle the endlessly increasing volumes of data we must store and manipulate to suit the regulatory agencies. Bill
  12. MSG 505 to 505 Ethernet

    This is probably set as the default, and I've found it tough to change/override. I'm thinking Local is DH-485 and that you should try Remote since it appears you are using Ethernet comms. Bill
  13. CLX World of Arrays

    Interesting input, Peter. I'm going to play with that approach a bit. Thanks! Bill
  14. CLX World of Arrays

    That was our first thought, Ken. Problem is, Scada trends this value WAY more frequently than we need (even twice per minute is overkill), and we wound up manipulating nearly three-fourths of a million samples. That is why we elected to try this approach. Bill
  15. CLX World of Arrays

    Yes, I can. And I will if my final version results in a huge sort such as that.
  16. CLX World of Arrays

    Wow! I was just sitting here considering the "one-dimension" idea and you lay it in my lap. Thanks! First time I ran the sort it faulted the processor on Watch Dog, which was set at 500ms. I doubled the time and it ran fine. The time is not an issue in this case because this processor is dedicated to collecting and manipulating data for our various reports. Thanks again, I'm going to try the single dimension isea. Bill
  17. Indirect Addressing in Logix 5000

    Works like a charm! Thanks, Conn! For extra credit, can you tell me where I'd have found that tidbit in the documentation? I really appreciate your help. Spent three hours trying to convince the software that I was right . . . Bill
  18. Okay, I've created an array named CFE that is 32x2880. Intent is to record a value every 30 seconds during the month. All the day 1 values will populate 1,0 through 1,2879. All the day 2 values 2,0 through 2,2879 and so-on. I have WallClockTime in a tag named DateTime, which is a 7 element DINT. I have a tag named NextCell, a single element DINT. I have a tag named TestData, a single element DINT. I'm trying to get the correct syntax to COP Source: TestData Dest: CFE[DateTime[2],NextCell] Length: 1. I get the error "Operand 1: Invalid array subscript specifier." I've run out of creative searches of the documentation. Anybody got a 2x4 handy with which to get my attention? Thanks! Bill
  19. Ethernet switchs?

    Nobody likes a smart booty, but this fruit is hanging too low not to pick! Could the problem have been the 12V that a pair of 6V batteries would supply?
  20. MOV code help

    Thanks, TW. The connectivity "health" of the entire system is monitored via the use of "heartbeat" counters whose .acc values are watched for periodic change (at least once every couple minutes). Failures are immediately annunciated visually and audibly. In some cases I monitor the .ER bit of MSG instructions which can be early indicators of trouble. WIth DH+ and Ethernet to most PLC's, my interconnectivity does not keep me awake at night. Bored Operations personnel . . . now they keep me awake at night!
  21. MOV code help

    I prefer the reads myself, but there are times when a read simply is not the best choice. "Report by exception" does not lend itself to reads. In some cases I need to tell one PLC when a valve connected to another PLC goes open or shut, typically about six times a day. And the valve is passing about ten thousand gallons of water per minute, so the response has to be fairly chop-chop! Performing a read every five or six seconds to determine if there has been a change is not very effective use of bandwidth, IMHO. The spreadsheet makes it easy for me to keep track, and there are but two of us here with access to the PLC's. So, it works for us.
  22. MOV code help

    Precisely why I keep a spreadsheet of all MSG blocks in operation at the Plant. It lists the source PLC, source address, Control Block, address of first word, number of words, destination PLC, destination address, and a note as to whether the MSG is a read from destination or a write from source. This has proven to be a very useful and effective tool for me for several years.
  23. Is it possible to do a MSG Write from a PLC-5 to a CLX (1756L63) processor? Ethernet or DH+ would be fine, I don't need to move all that much data. All the new processors in our plant will be CLX (about 15 of them) and all the existing are PLC-5's. Some of the 5's are staying, and it would be nice to trigger a Write MSG in a PLC-5 when a value changes, rather than having the corresponding CLX processor constantly reading (the PLC-5) to find out if there has been a change. Even a one-bit write would be okay (realizing that one word is the likely minimum) because I could use the bit to tell the CLX processor when it really does need to read the PLC-5. I think you get the idea. Thanks, Bill
  24. Message Write from PLC-5 to CLX

    I'm not sure how much applicability this has to others, but I think it appropriate to share some more info and close this loop. This morning I found that by using a MultiHop MSG within a PLC-5 it is possible to WRITE directly to a tag (by name) using an Ethernet connection just as was demonstrated using a "plain vanilla" DH+ MSG instruction (see Mickey's attachment from the KB earlier in this thread). In the message configuration, General tab, the "This PLC-5" section is configured just as if the target were another PLC-5. In the "Target Device" section, enter the destination tag name (in quotes) and set MultiHop to YES. In the MultiHop tab, you should see one line, which is partially filled in. Enter the IP address of the destination CLX processor to complete that line, then tap the Insert key. A second line will appear, also partially filled-in. In the remaining box, enter the slot number where the actual CLX processor lives in the destination chassis. Viola! It should work like a charm. (This assumes that the Ethernet module and Processor live in the same chassis. If you must bridge other devices, it appears you simply build the path one step at a time. (I do not have a chassis on-site with which to test that theory.)) The ease with which this can be done will make my plant expansion project significantly easier since we are keeping six of the existing nine PLC-5's in service and adding fifteen CLX processors. Inter-communication is obviously critical. No need to "Map" all the tags that interact with PLC-5's. Life is good!
  25. Message Write from PLC-5 to CLX

    Not entirely, Mickey. I went to the KB first, and did not find it. So, obviously I need some schoolin' on how to properly query the KB! Not the first time I've stumbled there, either.