MSG Write getting Stuck

JankyPLC

Member
Join Date
Sep 2016
Location
WI
Posts
46
Hello All,

I've got a Compactlogix (v30.11) communicating to a SLC 5/04 over ethernet (CL side) through a AN-X2-AB-DHRIO module to DH+ (SLC side).

Works great for days/weeks then out of nowhere a SLC Typed Write MSG will show Done and is not enabled, but will continuously be setting the bit in the SLC as though it is firing repeatedly. I troubleshot and confirmed its not being held triggered or repeatedly triggers faster than I can see. If I manually trigger it, back to normal function for a while.

Any ideas What could cause this? The other write MSG configured the same is fine and my SLC Typed Reads are still working fine.

It's rather frustrating as this data is supposed to be used for accounting purposes but with these intermittent failures its not reliable enough to be used for such.

All suggestions are appreciated!
 
Please post a detailed description of your trigger logic, or ideally some screenshots or a ZIP file of the CompactLogix program.

What you describe of course should not be possible; if the MSG is not being triggered on the CompactLogix side, then data should not be arriving on the SLC-5/04 side (which is reflected by your watchdog mechanism).

But there could be something wrong, or misunderstood, at some point in the flow of data.

I very strongly recommend against auto-retriggering MSG logic that runs as fast as possible. It's just asking for a problem related to the buffers or timeouts in one or more of the devices in the system.
 
The routine should be attached. Hopefully it come soon through. This msg write is basically a response handshake to the PLC sending the data that it has been received. Let me know if you’re able to open it!

I did add a half second delay to the response at one point which did not seem to help. The timer done triggering the first rung is a 5 second timer. Up until today I had the connection cached. I turned that off hoping it might make a difference.
 
Thanks for posting the *.L5K export file; that's a very good way to get all of your logic and relevant data across without disclosing the whole program.

I think I understand what you're doing with reading two words of status data, then reading a 50-word block of data that refreshes a FIFO, then writing one word of status data back to that remote SLC.

And I can see that you're not fanning the trigger, and can guess that you put an ADD or CTU on that rung with the Write MSG to determine if it was being triggered repeatedly. Please let me know what you're actually doing for that.


So let's focus on your description of the apparent malfunction:

the SLC Typed Write MSG will show Done and is not enabled, but will continuously be setting the bit in the SLC as though it is firing repeatedly.

I think "the bit" means Bit 0 of N240:99. You are reading N240:98-99 as part of both of your Read messages, and then writing just one INT type tag, (MBSBatch_Mxr1_Trnsfr_Sts_Res_Int) that's literally configured with the Constant value of 1, back to N240:99 in the SLC.

So for that bit to be toggling from 0 to 1, there must be either logic in the SLC setting it, or the MSG instruction in the CompactLogix.

Are you viewing the value of N240:99 from where it's expressed in the CompactLogix as MBSBatch_Mxr1_Trnsfr_Sts_Ary[1], or in the SLC program itself ?

The first obvious thing to double-check are to cross-reference N240:99 in the SLC program, to be sure there's nothing that can write just to it, or to a section of N240 that includes it.

Then go check every MSG instruction in your CompactLogix to be sure you haven't abandoned some test logic or inadvertently written over that section of the target SLC-5/04 data table with a different SLC Typed Write.

PLC/SLC controllers used to have a "Continuous" execution mode for MSG instructions. The ControlLogix OS does not have that, so that's not the problem.

The last possibility I would look at is a malfunction of the AN-X. It would probably be an unpleasant troubleshooting step, but what if you were able to catch the malfunction occurring (N240:99/0 is toggling but the CompactLogix is not executing the MSG), then unplug the Ethernet side, or the DH+ side, of the AN-X ?

Do you have a way to install a tap or mirror port so you could capture the traffic from the CompactLogix to the AN-X ?
 

Similar Topics

Hello All I'm trying to write a Dint from a Compact Logix 5069-L306ER and a 2080-LC20-20AWB. I was able to get a CIP Data Table Read to function...
Replies
2
Views
1,117
The Ethernet has 3 pieces of PLC5 processors (PLC5-40E), for easy explanations, we name A,B and C. All pings are OK and RSLogix5 can connect all...
Replies
13
Views
4,898
Hi All. I can write an N7 value to a modbus register in an Automation Direct Servo but I can't read a holding register to an N7 address. I've...
Replies
3
Views
1,899
Got a trouble call from a customer this AM that one of the compressor systems is getting its setpoint overwritten and mode (local/remote)...
Replies
4
Views
2,093
Hello, New to the forum here, and to the controls industry. I am trying to do the following: Read and Write to a 5204-DFNT-PDPMV1 ProLinx...
Replies
0
Views
1,884
Back
Top Bottom