Ken Roach

MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

137 Excellent


About Ken Roach

  • Rank
    Propeller Head

Recent Profile Visitors

9520 profile views
  1. Concat Ascii to readable text

    The default STRING datatype in ControlLogix consists of a 32-bit DINT that represents the Length, and a SINT[82] array that represents the data, one character at a time. In your case it sounds like you have BCData.Data[0] that holds the Length (but it's only 8 bits), then BCData.Data[1],[2],[3],[4] that holds the letters "6 8 2 8".    The last character is shown as "$r" which is shorthand for 0x0D = 13 = Carriage Return. The easiest way to handle this would be to use a MOV instruction to move the BCData.Data[0] value to the StringTag.LEN tag.     Use the MOV because it automatically converts from SINT to DINT and it's easy to understand. Then perform a COP instruction, with the Source = BCData.Data[1] and the destination StringTag.Data[0].   Make the Length of the COPY the number of target elements (SINTs), so use StringTag.LEN as the Length.    If you don't want the carriage return on the end, subtract 1.    
  2. 1785-L40E

    Check the DIP switch settings on the backplane carefully;   they are different for PLC-5 processors vs. 1771-ASB or -ACN15 communication adapters. A solid red PROC LED generally indicates an unrecoverable hardware fault, but it can also be an empty RAM memory if there is no battery installed.    If these were not reconditioned by Rockwell, it's likely you just got damaged and untested processors.
  3. RS500 with Yaskawa V1000 Ethernet

    In general, the SLC-500 and MicroLogix controllers do not support I/O connections over EtherNet/IP.     Their Ethernet interfaces were never designed or intended to do so. I am a vocal opponent of attempting to work around this with MSG instructions.    The A-B drives allow you to do so by emulating SLC-500 data tables and having a timeout parameter after which the drive will stop if no MSG instructions reach it. And the V1000 may have something similar that lets you send CIP explicit messages to its Assembly objects with a timeout, rather than establishing an actual Class 1 Cyclic I/O connection like a ControlLogix would. But you'll have to find that info in the Yaskawa interface documents.    What exact interface module are you using on the V1000, or does that drive have an integrated EtherNet/IP port ?
  4. slc500 speed / velocity calculation

    I built "poor man's encoders" when I first got into controls as well. I stopped doing it after 1998, when an operator who had tried to repair one of those arrangements while the sprocket was still running shook my hand with his three remaining fingers and told me it wasn't my fault. If you're building solid equipment and writing programs that are reliable, accurate, and easy to understand, that's good.       
  5. Panelview and SNMP Protocol

    The PanelView 550 ran a proprietary OS, so ordinary Windows tools won't do the job. Ask the IT department to double-check to be sure they're looking at the right device.    I've never heard of SNMP being implemented on the  PanelView Standard terminals, and they don't show up in any of the Rockwell technotes or whitepapers about SNMP features or SNMP vulnerabilities.    I've read lots of third-party vulnerability search whitepapers on Rockwell products and PanelView Standard has never appeared in them. If they're sure that the PanelView is responding to SNMP inquiries, I think all you can tell them is that they can't be changed or turned off.
  6. Arduino to Compactlogix communications

    What kind of device are you using ? About 12 years ago (long before I arrived) my employer built a machine with sixteen Mitutoyo AT715 linear scales.    These use a simple serial protocol on RS-485, but it lacks a multi-drop address so we contracted with an encoder company to build a custom interface to bridge RS485 to RS485.   For reasons lost to the mists of time, we didn't use Modbus or any other industrial protocol, but rather a variation on the AT715 protocol, connected to Prosoft generic serial modules and an SLC-5/05 controller. A month ago there was a small disaster at the factory and half of these interfaces were destroyed.    We have the original designs and can get some of these boards built in six weeks for a thousand dollars each.    Or, we could pay an engineer to build the same sort of thing out of Arduino parts. Or we could do what I did:  order a box of Red Lion DSPLE protocol converters and write a program to go in them.       More expensive for hardware, yes, but far less risk and cost for engineering and troubleshooting.     The month of time I'm saving, and the reduction in risk that the devices won't work, is keeping a factor that employs a couple hundred people open and operating.   Arduinos are wonderful, but folks who do industrial embedded systems for a living usually don't start with them for their first look through the toolbox.
  7. Produced/Consumed Tag Communications Active

    In general, a tag that will be Produced/Consumed must be a Controller-scope tag.    Tags that are in a Program-scope database or are instantiated inside an AOI cannot be Produced or Consumed. I would be skeptical of the need to directly reference anything involved in an AOI instance in a Produced data assembly.    Set up a mapping or data handling routine and use tags that are dedicated to inter-system communication.
  8. slc500 speed / velocity calculation

    You mentioned two instructions that are specific to the MicroLogix 1100/1400 operating system;   Read High-Speed Clock (RHC) reads the fast free-running clock in the controller, and Compute Time Difference (TDF) that calculates the number of "clicks" between two timestamps captured by the RHC. Is there a reason you don't want to use one of the hardware High-Speed Counters in the controller ? I haven't actually ever used those instructions, but I can think of how to use them. Are you literally counting gear teeth with a proximity sensor ?   What kind of tooth count and RPM will you be trying to measure ?  What's the response speed of the sensor itself ?
  9. Produced/Consumed Tag Communications Active

    The UDT will contain all of the data that you are Producing/Consuming.    The first element of the UDT has to be a member with the type CONNECTION_STATUS.     I would also keep it simple and make the tag name also "Connection_Status".  
  10. Produced/Consumed Tag Communications Active

    There is an option when you create a Consumed Tag to add a status header that gives you the status of the Producing controller.   The option was added in RSLogix 5000 v17, so it's definitely present for a CompactLogix 5370 series controller. You have to make your P/C tags into UDTs with the first element being of data type Connection_Status.  
  11. Need help concern panel view 550 keypad

    You need a 1761-NET-AIC interface device to convert from the RS-485 on the RJ45 jack on the 2711-K5A2 PanelView terminal, to the RS-232 type of signals on the Channel 0 serial port of the SLC-5/04. I replied with some cable part numbers to your post on another PLC forum.
  12. SLC5/05 in unmatched chassis

    That matches my recollection;  you can't change the Chassis Size or ignore the mismatch on a modular SLC-500 program. You're already doing the usual unlatch of S:5/0 to ignore math overflow errors, but your Major Fault is being caused by the condition noted in s:5/4, the M0/M1 Referenced in a Disabled Slot. Try doing an unlatch for S:5/4 as well, to see if that allows the controller to ignore the minor fault, thus preventing the major fault.
  13. Welcome to the MrPLC forum ! When FactoryTalk View Studio creates a Runtime, it gathers up all the drivers configured on the Runtime(Target) tab of the RSLinx Enterprise communications setup window so they can be run in the PV+ terminal itself.    I think that when you shrink the driver browse, or click on the Runtime(Target) tab, you will see a ControlLogix Emulator driver configured.   You just have to delete it from the Runtime(Target) tab. The "Compact" PanelView Plus terminals only support one driver and one PLC.    The software could in theory delete all the drivers that are not part of the path to the one Shortcut, but instead of doing so it gives you an error message asking you to do it.
  14. Making sure data files are actually unused in RSLOGIX 5

    I think you've encountered one of the unsolvable problems in the PLC-5 world. I would approach it by finding every indirect address instruction and carefully examining the bounds of each index.    There just isn't another way to find out if that memory is not going to be used by an instruction that uses indirect addressing. If the risk is high, you've just got to wait for a shutdown in which you can create reserved data tables.
  15. Allen Bradley - Point IO - Power Distribution

    The best publication to have on hand when designing a POINT I/O system is the Selection Guide: Pages 58-62 in particular have some good diagrams that show how the power bus is divided up. If you use the Integrated Architecture Builder utility to select bills of materials, it does a lot of the power calculations for you as well.