Ken Roach
MrPLC Member-
Content count
2776 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Calendar
Everything posted by Ken Roach
-
Micrologix 1100 Ethernet Message Connections
Ken Roach replied to k0d3's topic in Allen Bradley / Rockwell Automation
For MicroLogix and other legacy controller, you want the "Logix 5000 Clock Update Tool". It is stable but development has been discontinued as of version 3.0.0, which I think came out this year. https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/44321 For bigger or more sophisticated ControlLogix systems, there's a IEEE 1588 based tool called the Studio 5000 Clock Sync Tool. I'm sure there's a good technical reason that RA never just implemented Network Time Protocol, but they didn't. -
Background: There were a couple special versions of the PowerFlex 700S variable frequency AC drive that had a "DriveLogix" control board. It was essentially an onboard ControlLogix CPU, so like the 1756-L6x and 1769-L3x controllers of that generation, it used a CompactFlash card as removable storage. You can store or restore a firmware image and DriveLogix user application program from the CompactFlash, but you can't load the actual parameters into the PowerFlex 700S itself; that still requires DriveTools or Drive Executive software. In general, you need a CF card onto which the firmware and user application program have been stored. Those cards can be configured to automatically load the program, or load it only if memory is corrupted, or when commanded by a user connected with RSLogix 5000 programming software. The procedure is in the user manuals and online Help for RSLogix 5000, and is identical to ordinary ControlLogix and CompactLogix controllers.
-
Micrologix 1400 Modbus RTU in Channel 0
Ken Roach replied to soundararajan's topic in Allen Bradley / Rockwell Automation
The most common Modbus RTU command is Read Holding Registers (Command 0x03), not Read Input Registers (Command 0x04), so check to be certain that your meter supports Input Registers. If you are trying to read a Holding Register instead, you need to select Command 0x03, not Command 0x04. Also, the most common serial framing settings are "19200, 8/N/1", meaning 19200 bits per second, 8 data bits, no Parity bit, and one Stop bit. 8/N/1 uses a 10-bit frame (1 Start, 8 Data, 0 Parity, 1 Stop), while 8/N/2 uses an 11-bit frame that is less common. And of course check your wiring. It's uncommon for any two vendors to label their RS-485 conductors the same, so you often have to try flipping them. RS-232 is more commonly labeled correctly, but of course you have to make sure that the devices are a DTE/DCE pair, or if they're both DTE, there's a "null modem" connection crossing Tx and Rx. If you can post a screenshot of the settings and describe what works correctly in ModScan, that will help. -
Upgrading PanelView Standard to PanelView Plus 7
Ken Roach replied to GBowman91's topic in Allen Bradley / Rockwell Automation
What exact make and model of Prosoft gateway are you using, and how is it configured ? I presume it's the "AN-X2-AB-DHRIO" model. What firmware revision do you have in the PanelView Plus terminals ? Years ago, this couldn't work properly because RSLinx Enterprise couldn't "drill down" through a ControlLogix backplane the way that RSLinx Classic could. But the Knowledgebase says it has worked with PV+ 6 and PV+7 and the AN-X2-AB-DHRIO since version 8.10 firmware. To troubleshoot the network bridge and driver configuration, make a test application with just one numeric display and point it at the DH+ station, just to be sure the basic networking stuff works. -
How long could be integer or DINT
Ken Roach replied to kotermak's topic in Allen Bradley / Rockwell Automation
Welcome to the MrPLC forum community ! The Logix operating system supports array tags of up to 2 megabytes, which would be an INT[1048576] array. The software will warn you if you try to create a tag bigger than 1.5 MB, but it will be valid up to 2 MB. Remember that arrays start with element zero. If you have an INT[32] type array and the element index number is [32] or bigger the controller will throw a minor recoverable fault. I'm in the habit of testing the index value before I execute an instruction with a variable array index, like LEQ(IndexValue,31) in the ladder rung. Some programmers are more thorough and use the SIZE instruction to determine the array size before putting in such a limit, so their limiting logic will still work even if the array size is changed later. -
It's the "5380" series CompactLogix with part numbers that start with 5069 have the option of a single IP address and physical ring connection, or independent IP addresses with individual physical connections. The "5370" series CompactLogix with part numbers that start with 1769 have the built-in 2-port switch and a single IP address and single NIC. They don't look entirely dissimilar so be sure you're looking at the part numbers. https://www.rockwellautomation.com/en-us/products/hardware/allen-bradley/programmable-controllers/all-products.html#small-control-systems
-
Analog Card 1769-OF2/B Revision Upgrade
Ken Roach replied to JesusRCh's topic in Allen Bradley / Rockwell Automation
Please take care with the forum threads you are posting to; I'm posting to the first thread to keep it as clear as possible. In general, 1769 series modules are not field upgradeable, with ControlFlash or any other tool. So because your program has been modified to use a different firmware revision, you need to modify the program to use the correct module, or disable the firmware revision checking. In Studio 5000, this can be done in offline in the Module Definition section of the module configuration applet in the I/O tree. You can change the Major Revision and Minor Revision to match the actual module, or set the Electronic Keying to "disabled" instead of "Exact Match" or "Compatible Module". -
5069-SERIAL, Changing serial settings while PLC is in RUN mode
Ken Roach replied to AlexPLC's topic in Allen Bradley / Rockwell Automation
I don't know of any way to use SSV to change those settings; the Serial Port object isn't available for SSV. I think that this is possible if you get a full description of all the objects in the Serial Port object as implemented in the 5069-SERIAL module. My old definitions I pried out of the 1756-L1 won't help, they're too different. What you're looking for is the structure and values that would let you programmatically send a message to set everything in the Channel 0 menu and maybe also the Receive and Transmit tabs. If I were trying to reverse-engineer it I would be running Wireshark and clicking the "Apply" button while online with the controller on the Channel 0 setup menu. RA Commercial Engineering might be able to help you, but I would not expect this to be in the domain of Technical Support. -
5069-SERIAL, Changing serial settings while PLC is in RUN mode
Ken Roach replied to AlexPLC's topic in Allen Bradley / Rockwell Automation
That is... a great question. Many other A-B I/O modules like the 1756 series have a Configuration Assembly as well as the Input and Output assemblies. Those configuration assemblies are written to the module every time it re-establishes a connection, and you can programmatically use a MSG instruction to Reconfigure a module and send them on demand. But not this module. It appears to get its configuration objects from the Add On Profile, which makes a lot of sense because there are so many operating modes with very different configuration data. I don't know if the module includes a standard Serial Port object similar to the one on an old 1756-L1/L55/L6x controller. So... gosh...this is going to take some more research. -
Will the CompactLogix still be controlling the PowerFlex drive, or will you be changing all of the control to the CompactLogix ? Is it using EtherNet/IP, or analog + digital signals, or a Drive Serial Interface (DSI) connection ? You're probably aware that the MicroLogix cannot perform the same kind of cyclic I/O control over EtherNet/IP that a CompactLogix can.
-
MicroLogix 1100 Frequency Determination
Ken Roach replied to Colin Carpenter's topic in Allen Bradley / Rockwell Automation
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. -
DF1 Polling and PLC Fault
Ken Roach replied to boomer7010's topic in Allen Bradley / Rockwell Automation
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. -
DF1 Polling and PLC Fault
Ken Roach replied to boomer7010's topic in Allen Bradley / Rockwell Automation
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. -
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.
-
arduino with ethernet Shield to Omron Plc via Modbus Tcp IP ethernet?
Ken Roach replied to Francisco02's topic in General Topics - The Lounge
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. https://www.arduino.cc/en/ArduinoModbus/ArduinoModbus 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. -
Panel View Plus 600 Won't Retain Date and Time Settings
Ken Roach replied to Bob Love's topic in Allen Bradley / Rockwell Automation
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. -
RSLogix 5000 and devicenet
Ken Roach replied to Yiannis's topic in Allen Bradley / Rockwell Automation
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. -
Connecting Micro800 to SCADA via SMS
Ken Roach replied to Marnus Wisse's topic in Allen Bradley / Rockwell Automation
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". -
Numatics DeviceNet I/O
Ken Roach replied to Dauber360's topic in Allen Bradley / Rockwell Automation
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 ?). -
DF1 Protocol For Bit Read
Ken Roach replied to boomer7010's topic in Allen Bradley / Rockwell Automation
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. -
DF1 Protocol For Bit Read
Ken Roach replied to boomer7010's topic in Allen Bradley / Rockwell Automation
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. -
how to change Panelview300 from DF1 to DH485
Ken Roach replied to jeff-new PLC guy's topic in Allen Bradley / Rockwell Automation
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. -
Powerflex 755 Net I/O Timeout
Ken Roach replied to don's topic in Allen Bradley / Rockwell Automation
"Auto-Negotiate" is not the same as "Auto-Detect". A port that's set for auto-negotiation, depending on the exact implementation in the low-level firmware, will periodically drop the link and try to re-negotiate a link speed and duplex, even if it's already running at the highest link speed and full-duplex supported by the device. With most ordinary IT gear, that's not a problem. Your e-mail and web browsing and even YouTube won't notice a 100 ms drop in the link. But a cyclic I/O connection generally will. Let us know your outcomes, if you get an opportunity. -
Powerflex 755 Net I/O Timeout
Ken Roach replied to don's topic in Allen Bradley / Rockwell Automation
Why ? Unless you have also set the switch to 100/full and disabled auto-negotiate, you might be getting link drops in order to attempt auto-negotiation periodically. I do not recommend disabling auto-negotiation unless you have hardware (like some fiber/copper converters) that requires it. Your Class A subnet suggests these drives are on an enterprise network. Are they isolated, or seeing a lot of other broadcast / multicast traffic ? Have you set up a port on the 708TX to mirror the CompactLogix traffic to ? That will be where you connect and use Wireshark. Generally the 708TX is a battle tank of a switch, well suited to ordinary automation projects. With the faults being so frequent, you should be able to get some diagnostics just from the link status LEDs on the switch ports to which the PowerFlex are connected. Are there any other I/O adapters or devices that also show faults/disconnections in the I/O tree of the controller ? You may need to monitor those with GSV instructions or just watch the status indicators in the I/O tree while online. -
Redundancy Processor Online Modifications
Ken Roach replied to GuyMiller's topic in Allen Bradley / Rockwell Automation
If this is true "ControlLogix Redundancy", then you don't have to do anything to the Secondary because it automatically transfers all the edits from the Primary. This includes changes to the ControlNet configuration, if you're using ControlNet. I recently revisited a Redundant system running v19.52 and the hardest part was disabling redundancy so I could save to the CF card on both controllers. And convincing the customer that there was no such thing as "running on secondary"; they simply couldn't comprehend that Chassis A and B were not "primary and secondary". Bit of a language gap.