Ken Roach

MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

166 Excellent

About Ken Roach

  • Rank
    Propeller Head

Recent Profile Visitors

15062 profile views
  1. MicroLogix 1100 Frequency Determination

    Unfortunately that post was when I still worked at Rockwell (I left in 2011) so I no longer have access to those computers or files.   MrPLC has also been through a few upgrades and crashes and restorations so if the files aren't here (and I don't see them in the Downloads section either) then I don't have them anymore. And, I don't have a MicroLogix to test with either. If you can describe your application and post your program and describe your specific questions, folks (including me) might be able to offer some help.
  2. Hi Ken, How are you?

    I need support from you if that is posible.

    I´m trying to do a backup of the PanelView 1200 application that I have in the factory, after that the idea it's migrate this application.

    When I try to install the software PanelBuilder 1200 in a virtual machine with Windows 95, this give an error because he ask me (the software) for a path but I don´t know this path.



    Inst_2 (1).jpg

  3. 1756-L61 ControlLogix 5561 losing program

    A quibble:  the 1756-L6x Series B modified the main board layout and some components, but not the way RAM was backed up.   The CompactFlash card moved to the front instead of the bottom, and the serial port moved slightly up.    The power consumption changed enough that the battery is different (higher capacity) and was given a blue shrink-wrap jacket and a different connector than Series A.   But Series B is so similar to Series A that there's no user programmable or firmware way to tell them apart. The 1756-L7x controllers *did* change to an onboard no-removable flash device that stores the user program at power-down, so a dead battery will only affect the real-time clock. Paul's situation is normal and ordinary;  the battery was dead, so when power went out the RAM was cleared.    He can store the program to the CF card or replace the battery. Remember that the CF card on a 1756-L6x does not save the user program or tag values at power-down: it is functionally like an EEPROM and will re-load whatever firmware, program, and tags were stored in it when the memory image was loaded.
  4. DF1 Polling and PLC Fault

    Adding SVC instructions is seldom actually necessary unless you have a very large program and a long scan time.   Some folks put them in as a matter of practice, but I consider it a superstition (knock on wood !). The un-latch of the math overflow is a common programming practice, but one I do not endorse because that can leave undiagnosed malfunctions because you're masking the undesired results of an overflow in the controller OS.   I only do it when I also add a visible fault to an HMI to let me know there are software problems that need to be diagnosed. Neither of those will cause a "hard fault" with a solid red LED. It's easy to point the finger at an untested custom DF1 protocol driver, of course, but when the hardware is a single unit of unknown origin and history, it could be a hardware failure too. 1002 0100 0F00 0084 A2B4 1E89 0000 1003 6127 1002   DLE STX  Start of DF1 Frame 0100   DST SRC  Destination Station 1, Source Station 0 0F00  CMD STS  Command 0x0F, Status 0x00 0084  TNS   Transaction Sequence word = 0x0084  A2    FNC  Function = Protected Typed Logical Read with Three Address Fields. B4    Byte Size = 180 bytes 1E    Data File Number (Address Field 1) = 30 89     File Type 0x89 = Integer 00     Data File Element (Address Field 2) =Zero 00     Data File Subelement (Address Field 3) = Zero 1003   DLE ETX   End of DF1 Frame 6127   CRC Checksum   That's a pretty ordinary Data File Read, especially if the goal of the driver is to read N30:0 through N30:89.    The fact that the TNS was only 0x0084 = 132 (decimal) is unusual.  How often is the driver polling the MicroLogix ?   The Transaction Sequence Number should increment every time a new request is sent by the driver software;   the goal is so that the PLC can answer the requests out of order if necessary, or in true full-duplex mode, and the driver can still match requests to replies.  
  5. DF1 Polling and PLC Fault

    A *solid* red Fault LED is an unrecoverable fault.   The controller's OS isn't running at that point, so any communications attempts are futile. If cycling power brings up a flashed red LED, then maybe the fault code in S:6 is relevant.   But it probably just indicates that the controller has a hangover and doesn't remember anything from yesterday. Most CPUs don't just redlight for no reason, but it's not impossible that the LabView driver inadvertently wrote to a physical memory location.   That's really hard to do in a MicroLogix (relatively easier in a ControlLogix, at least it was 10 years ago) but not impossible. So it's more likely that a voltage spike or an internal failure hard-faulted the MicroLogix.   Un-suppressed inductive loads or lightning strikes are the classic culprits.  
  6. Dint to Real

    The MOV instruction in Allen-Bradley controllers automatically converts between data types.   MOV Source: MBTCP.DATA.ReadData[1] Dest: My_Resistance_Real The DIV instruction also automatically converts between DINT and REAL.   I think in this case the divisor can be either 10 (DINT) or 10.0 (REAL). Neither of these changes how single-precision floating-point values are stored and represented, or rounds to a specific number of decimal places.   For that, yes, a String method is sometimes required.
  7. In general, Node-Red needs to run on a Linux computer of some sort, and of course the Arudinos are an interpreter running on a microcontroller. Modbus/TCP and Modbus/RTU are both part of the ordinary Arduino Modbus library. So OP should start there, and ask specific questions in an Arduino forum.   Just this week I discovered two really cool ways to splice an Arduino to a higher-level control system.    One is an Uno R3 board with an expansion that lets you mount a FriendlyElect NanoPi Neo Core, running Debian.    Another is that Hilscher makes an industrial ethernet Hat for Arduino, pre-configured as an EtherNet/IP Adapter that talks to the Arduino over I2C.
  8. To clarify:  the PV+ has a "Global Connections" feature that includes the ability to have the terminal read tags from the connected controller, then apply them as time/date settings to the Windows CE operating system on the terminal.    Check the "Global Connections" section in the FactoryTalk View ME project. It's not impossible for the terminal's own RTC backup battery to be dead.   I don't recall how easy they are to get to on the PV+600 terminals.   I think the default time is the beginning of the Unix epoch (1 January 1972). PanelView Plus has had more than its share of bugs with the system clock.   RA's reluctance to simply let the dang things update from an generic NTP server remains a mystery to me.
  9. RSLogix 5000 and devicenet

    I realize you've probably already done this, but wanted to chime in. All A-B DeviceNet scanners store their configuration in nonvolatile RAM separate from the PLC program.   It's loaded into the scanner itself, and can survive power-down indefinitely. I would be a little more cautious with a "redundant FlexLogix" system.    Any hot-standby or DeviceNet "redundancy" system will not be as easily integrated and reliable as true ControlLogix redundancy. As long as the 1788-DNBO module (and the 1788-ENBT, for that matter) have retained their configurations despite the controller fault, they can be re-used without any reconfiguration.
  10. Connecting Micro800 to SCADA via SMS

    There was a GSM modem module available for the Micro 800 series controllers, marketed and supported by ProSoft Technologies in California.   But I think its heyday of the ILX-800 was eight years ago, before the advent of many other wireless gateways and IOT protocols. What sort of GSM networks are available where these controllers are installed ?   What sort of SCADA software are you using ?    There may be other network gateways, especially ones the use protocols like MQTT, that are more appropriate than trying to use Short Message Service. And of course the task of "connecting multiple controllers to one another" is a little different than "connecting multiple controllers to a central control and supervisory system".  
  11. Numatics DeviceNet I/O

    Modular I/O systems can certainly be tricky on any network, especially one that treats them like a blob on differently sized data the way DeviceNet does.   I have a lot of DeviceNet experience but not with the Numatics G3. What other devices are connected to the G3 adapter, other than that Input module ? What was the context of the failure;  why did you replace both the communications adapter and an input module ? How do you read the Input data connection size, and set it;  through the EDS-based parameter editor in RSNetworx, or through some other tool or utility (or the onboard display on the Numatics adapter ?).
  12. DF1 Protocol For Bit Read

    I'm not a protocol driver author, but in general I'd initialize to zero when you open a connection or restart the driver, then roll over at 65535.
  13. DF1 Protocol For Bit Read

    Thanks for the followup ! Most A-B devices can be set for BCC or CRC, but SLC/MicroLogix default to CRC.   As you've found, it's a fairly ordinary CRC-16 checksum, so it's 2 bytes instead of 1. Remember also that the Transaction Sequence Number should increase by one every time you send a command;  the reply for that specific command event should have a matching TSN. The sequence numbers are one of the things that distinguishes DF1 from Modbus and allows true full duplex communication. Some A-B devices can be configured to ignore duplicate packets, so sequences of the same command with the same TSN will ignore all but the first one.
  14. how to change Panelview300 from DF1 to DH485

    There is a link in the thread above that tells you exactly how to load the DH485 or DF1 firmware into one of those terminals. If your question is really "I don't have the firmware, will someone please provide it for me", then ask THAT question.