Joe E.

MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

143 Excellent


About Joe E.

  • Rank
    Propeller Head

Contact Methods

  • Website URL http://

Profile Information

  • Gender Male
  • Location Harrisonburg, VA
  • Country United States

Recent Profile Visitors

7048 profile views
  1. powerflex 525

    I've never tried the discovery feature that way, because of network/group policy setting issues that mean the Ethernet/IP driver never finds anything. Instead, I right-click on the network in the I/O tree and add the device. In the device properties dialog box that opens up, there's a "Match Drive" button that opens an RSWho window that you use to select the drive. It then builds the drive database inside Studio 5000 by uploading directly from the drive. (I don't have a PLC/drive in front of me, so I wrote that from memory)
  2. Entirely possible. The ones I've seen could be reconfigured to be powered separately, but his may not be.
  3. I don't think I've ever seen an industrial illuminated pushbutton that did NOT operate that way. A lot of them are very modular so you can select the specific components you need. For your home project, check out Automation Direct:  
  4. Major Fault

    You didn't say what processor it is. Some of them have an EEPROM or SD card and can be configured to load from flash in certain situations. When you make a change to the code, there's generally an additional step required to update the flash memory. What model PLC do you have? Did you note the fault code before resetting it?
  5. Limit Setpoint Changes per Min

    Just thinking out loud here.... Could you use  FIFO stack? FFL and FFU instructions. Whenever there's a setpoint change, add the current date/time using FFL. You would use 2 FIFO stacks: one for the 3/min limit and the other for the 10/hour limit. Compare the oldest record in the FIFO to the current date/time. If the oldest record is older than a minute (or an hour), use FFU to unload it. If the length parameter reaches 3 for the 3/min stack or 10 for the 10/hour stack, block further changes. I wish I had a CPU on my desk I could test this with. I'd like to tinker with it.
  6. Tracking the master clock

    I hear you about involving the IT department. At my previous employer, we couldn't have anything other than a simple unmanaged switch without permission from corporate IT. And they would have full and sole control over it. Even a simple NAT device wasn't allowed. We probably could have gotten some to put in machines as long as they never (even accidentally) connected to the company network, but everywhere we considered doing it, connecting to the company network was one of the main goals.
  7. Tracking the master clock

    Page 9 of this manual says the clock identity is usually based on the MAC address. Change the format of your SINT[24] tag from Decimal to Hex and see if you can correlate the values to the MAC ID of any of the PLCs. I did that with the values you show and then looked up the MAC id here. It says it's a Rockwell Automation device.
  8. Tracking the master clock

    Just for fun, have you tried a SINT[24] array? ETA: You said you got it to work with a DINT[8] array. That's 24 bytes. It's a kludge, but go back to that and use a COP instruction to copy the first 2 elements of the DINT array to a SINT array. That should get you meaningful results in the SINT array. For the COP instruction, the source would be element [0] of the DINT array the GSV writes to. Destination would be element [0] of the SINT array. Length would be 8 (number of destination elements to copy). That will copy the first 2 DINT registers into the 8 SINT registers. To get the rest of the data, use another COP instruction with an INT[8] array. The source will be element [2] of the DINT array, destination element [0] of the INT array, length is again 8. I don't have access to a PLC I can use to test this, so it may not work.
  9. Going Obsolete

    I would reach out to local integrators to see if anyone has access to the right software and can connect to the PLC to extract the program and generate a pdf report for you. Unless the machine builder has been the only party working on the machine ever, they almost certainly do not have a copy of the current program.
  10. Tracking the master clock

    Hmmmm.... It looks like the GrandMasterClockInfo returns 24 bytes in a structure. The clock identity is 8 SINTs while the rest of the members are INTs (2 bytes each), so you probably can't just use an array of a single data type. If Clock Identity is all you want and you don't care about any of the rest, you may be able to get away with a SINT[24] array. I would instead create a UDT containing a SINT[8] array and then 8 individual INTs:  
  11. Tracking the master clock

    You can use a GSV instruction to access the TIMESYNCHRONIZE object that might give you the info you need.
  12. Export data to excel or pdf

    If its version is new enough (at least 4), the PV5000 can log to SD or USB (access level Everyone): I've never worked with these; I just found it by searching AB's Knowledgebase. You'll need a free login to get to "Everyone" articles.
  13. Export data to excel or pdf

    I've never used the PV5000, but the PV+ has an ActiveX control built in that can log data to a csv file. The file can be stored in its local memory, on a USB drive, or to an ftp location. I've tested the first 2 and had mixed results but never had the required network permissions to set up an ftp site to test that. I was able to set up the ftp server on the PV+ itself and remote in to get to the data. The issue I had with using the local memory was that it filled up quickly. The problem with the USB flash drives is that they quickly became corrupted and unreadable. I was logging data very quickly (a sample every second), though, so those issues may not show up for you.
  14. AVE instruction Error

    I would test to see how the PLC responds to EQU/NEQ instructions. You wouldn't do it in C++. Next time there's an error and you have the NaN value in a register, add a rung with an EQU instruction comparing the NaN register to itself and turning on a bit. That will tell you if it's a useful test in the PLC. If the EQU instruction returns false with the same register as both operands, then the register contains an invalid value. I've never had occasion to test this, so I don't know how it will react. If this works to detect NaN, you then have to decide what to do about it when it happens in real life. The simplest thing would be to not store that value and wait for the next valid sample. You could also take the current average of the existing registers and substitute it in place of the invalid number. Either way, I think you really should figure out where the NaN is coming from and fix it.
  15. AVE instruction Error

    It could be that the data is getting corrupted on the way. Is it always the same register (sample #8)? What device is at the other end of the MSG instruction?