Michael Lloyd

MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

85 Excellent


About Michael Lloyd

  • Rank
    Random Pixel Generator
  • Birthday 06/01/58

Profile Information

  • Gender Male
  • Location Texas
  • Country United States
  • Interests Photography, Flying, Electronics, Long Range Shooting, Reloading, Fishing, Hunting

Recent Profile Visitors

8081 profile views
  1. Decoding TCP/IP packet from Kepware

    Kind of answering my question, kind of not. I opened the file in Notepad ++ and it gives me a better look at data. The first Hex value is the length. After that, I'm back to trying to decode with brute force. Which doesn't work btw. I attached the text file. Opening it in Notepad++ makes it easier to read.  The problem we are having is the station suddenly started dropping out for no reason. Just the PLC's though. The "last good poll" for the PLC's starts lagging behind the OMNI's and can fall behind as much as 10 minutes or more. When things are good the last good poll time is the same down to the second. At the worst the PLC's both drop out and after 10 minutes of no comm the station shuts down. I'm pretty sure it's not the comm device (probably a cell modem but I've never been to this site) because the OMNI's don't drop out. There are two PLC's and two OMNI Flow computers. All are using ethernet. The OMNI Flow Computers are rock solid. The text file is from one of the two PLC's. Watching it poll in Kepware TX/RX happens at one sec (or less) intervals which is entirely too fast for the kind of connection we have. It's not local to the server. It's probably 300 miles away from the server. TCPIP Log.txt
  2. I'm trying to make sense of a reply from a PLC by decoding each Hex value (hint, it's not working lol). It works great with serial MODBUS but TCP/IP is a completely different structure.  Here's what we are seeing. I can't decide if we are getting two RX for every TX or if the event log is just splitting the response into two different lines to make it easier to view. Actually I can decide and that's what I think is going on. 7/20/2022   12:22:56.194 PM   TX        60 70 00 24 00 04 00 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 A1 00 04 00 89 4C 92 FF B1 00 10 00 EA 0B 03 03 20 6B 25 00 BD C6 02 00 03 00 06 00 7/20/2022   12:22:56.237 PM   RX        24 70 00 2C 00 04 00 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7/20/2022   12:22:56.237 PM   RX        44 00 00 00 00 00 00 02 00 A1 00 04 00 01 00 FE 80 B1 00 18 00 EA 0B 83 00 00 00 02 00 03 00 00 00 84 1D 08 00 06 00 00 00 8A 44 01 0C The next thing to try was to make a spreadsheet, use HEX2DEC to convert each Hex value to decimal. Like magic I expected (not really) to see the IP address of the PLC in the data. The problem is, if I understand TCP/IP packet structure right (Vegas odds on that one) the structure isn't as neat and orderly as that. Rather than continue telling you what I don't know lets go with - Can anyone here decode this?
  3. Inflation - Cost Increases

    I'm seeing the same thing with components. I needed some Nichicon 100uF 35V electrolytic capacitors a few days ago and Mouser had less than 200. That would normally be an item that they stocked 10,000 of. Some things, like connectors, are 6 months out at best
  4. Satellite communication

    Obvious first - you'll need a VSAT receiver with a serial or ethernet port. When we used them we installed a port server or a serial card in an AB PLC rack. We used MODBUS to move data. It's pretty simple once you've done one. If you'll look at the satellite as one end of a very long wire it will make sense. 
  5. Binary outputs RSlogix 5000

    I'm at work so I have access to the AB software. I can't open the L5X files. It says The specified L5X file does not contain a controller export. Likely because I don't fully understand what you are trying to do, I don't see a problem with your logic. You are trying to " call the same output on different rungs" Flip that around to call the same output with different logic Kudo's for getting this far without PLC experience. I've attached a completely unrelated type of program with various kinds of branches, one shots (ONS) (positive edge trigger that passes the on state once and won't pass it again until the input turns off then on again), etc Take a look at any of the MOV routines (motor operated valve). Some of the triggers come from Pxxx routines (pumps). There are numerous branched rungs I like to map IO to tags to user defined data types (under Data Types folder) so I can easily reassign the IO... None of this is THE way to do it. It's how I do it.        Asherton_05_26_16.ACD
  6. Binary outputs RSlogix 5000

    You can also use bits of an integer to trigger the output and then Move an Int into the register based on the DI.
  7. Binary outputs RSlogix 5000

    Unfortunately I can't look at your logic from this computer. Why can't you use OR logic to turn on the output --! ! --------------( )           ! --! !-----            ! --! !-----
  8. Very good. I think you'll find an enormously talented group of people here (not so much me :o) ) and they are always willing and able to help.
  9. First - I have nothing against FB programming. When I need it I use it. For clarity - in my line of work an alarm is used to tell the operator that something that he can affect is impending, and I don't latch those. A shutdown is latched and and must be reset. All of that is done in ladder logic. Use a one shot (positive edge trigger) between your reset button and unlatch otherwise the button can "fault" or, more commonly seen, the operator can hold the button in and bypass the alarm or shutdown. Or a jumper clip can be installed. Or someone could sharpen a stick and jam it into the button. I've seen all three happen.    
  10. Hi Michael!

    I assume you're still bailing the Hilcorp bunch out? 

    I did see a rumor they are going to buy the old P66 refinery in Louisiana? Are they nuts? Course it'll give you something to do for like 25 years.

    Always good to hear for you.

    Best, John

  11. Learning RSLOgic5000

    Just a heads up, when you say process be aware that could be anything from batch processes, to power plant control and shutdown, gas processing control and shutdown, conveyer systems, machinery control, and whatever else I am not even aware of.  "Any process" is a big topic
  12. Compact Logix run without I/O Cards

    I've never done it but have you tried disabling the IO cards in the IO tree? Right Click the card, select the Connection tab, Check the Inhibit Module box
  13. I hate when something is right in front of me and I don't see it :) It looks like it performs the function on the array variables (FAL_Top or does that point to an array?), one at a time every time Top_New_Data cycles, and updates the single Real value?
  14. To the OP - It's not unusual to use 0,1, or 2 (or higher) with a compare to make things happen in an HMI or program. As everyone else has said- you can't use a BOOL tag for an integer function.
  15. Copied this from the help file Description The FAL instruction performs the same operations on arrays as the CPT instruction performs on elements. Added rambling thoughts- Length 520 double integers. It's set to INC so it's going to step through every time the HSC see new data.  So where's the math (computation) that's being performed?  This is why I prefer a clear and concise description to blah_blah_blahty_blah tag structure :/