ControlLogix and Flex IO modules

ivanjoseph21

Member
Join Date
Feb 2022
Location
Metro Manila
Posts
16
Hi Everyone,

Would like to ask about something we encountered on our work and would like some advise.

We are upgrading a SLC controller to a ControlLogix. However, we are maintaining the current RIO setup as shown in the picture. Using a DHRIO to communicate with the Remote IOs (1794-ASB).

During our initial, almost all IOs are OK including the Analog Input. However, we are not measuring any analog output during our test. I believe the msg for the Analog is similar (inverse). I've attached a sample.

Is there any probable cause for this?

1.PNG 2.PNG
 
Welcome to the Forum!

ControlLogix does not need BTW/BTRs to communicate with Flex IO. A simple MOV from N11[30] to A5_AO2_1794_OE4 will do the trick (for the first channel, and assuming that I guessed correctly from your screen shots.

If you have your heart set on using the BTR/BTW, it would help us to see what the Communication tab settings are.

I also notice that your length is 4. From what I remember, the BTW need to transmit channel configuration as well as data, so I would expect more than 4 words of data to be sent. That may also be the source of your problem: Your BTW is sending data starting at N11[30]. While those are the data words, in SLC systems we used to have a length of 6 words (I think), to configure the module for 4-20 mA or 0-10 V, and so on.

Check the properties of the module in the I/O tree to verify that it is configured properly.
 
If you were using an AENT you wouldn't need the BTR/BTWs. Using the DHRIO to an ASB, you use them.

I see the write is four INTs long. You need at least six INTs to include the configuration data to enable and setup the outputs, fourteen INTs if you want other than zero for safe state.

Installation manual (page 4):
https://literature.rockwellautomation.com/idc/groups/literature/documents/in/1794-in100_-en-p.pdf

User manual (page 38):
https://literature.rockwellautomation.com/idc/groups/literature/documents/um/1794-um062_-en-p.pdf
 
Welcome to the PLCTalk forum community !

While this thread can focus on the exact length and contents of Block Transfer instructions to handle a specific 1794-OE4 FLEX analog output module, I think you should take a step back and be sure that your system is capable of handling all of the legacy I/O.

My rule of thumb is to count up the legacy analog or specialty modules, plus the number of PLC's to which MSG instructions are being sent. If that's more than 16, you need to consider a different architecture than the 1756-DHRIO.

From the very beginning, the ControlLogix has had a low number of buffers that handle unconnected messaging for those purposes. That's why the 1756-RIO module (and its standalone Ethernet/RIO cousin, the AN-X) was developed to handle all of the block transfer functions onboard.

In addition, your logic looks like it might just be re-triggering all of the block transfer instructions as fast as possible. What that was sometimes acceptable in the PLC-5 with its hefty block transfer buffer handling capability, there are more appropriate sequential and timed methods for triggering the BTR and BTW instructions that you should use.
 
Last edited:
Thanks for the reply. We're gonna test it later. Here are some of the additional information based on your answers.

Currently, only the Main PLC is being upgraded. The rest of the remote IOs will be maintained as it is and the reason why we are using a DHRIO module. I've attached the communication tab setting for the BTW.

The PLC architecture has only 1 CPU and 10 Analog modules (7 Analog In and 3 Analog Out). The rest are Digital Input and Output. Overall the System has less than 250 IOs being used.

3.PNG
 
Thank you for that information and context.

In my opinion, during commissioning you should simplify your ladder logic to execute those BTR and BTW instructions one at a time, so that any error messages will be visible. Because you are re-triggering them as fast as possible, the error codes are cleared immediately and you can't even see if they are completing with /DN or /ER.

Once you have proved that your logic, addressing, and data payloads are appropriate, you can add logic that sends the BTW's periodically to the FLEX modules at the data rate that is appropriate for the application.

The data map for the 1794-OE4 Series B module is on page 61 of the FLEX analog module user manual linked to above. Post the details from your program if you want help checking the format or values.
 
Thanks Everyone. It worked using the using 14 words (write) from this manual.

"Installation manual (page 4):
https://literature.rockwellautomatio...n100_-en-p.pdf"
 
Analog Output is not working again

Sorry to inform but the Analog output is not working again.

We already tested it and witnessed by our customer but somehow after a few days the Analog Output module is not working again.

I have attached a sample configuration of what has worked and what is the current config on the AO. I've noticed that the read word for the AO module from value of 12 is now -32768.

Additional info... The program (msg maybe) has offset the Analog output map write data from Word 0-3 to Word 10-13. This worked but not it hasn't since we've noticed the read data changed.

Should we changed how the messaging logic works? I've read that the DH RIO does not send BTR and BTW simultaneously comparing to the SLC 5. I'm doubtful though since we only have 10 Analog modules in total.

Worked Config.PNG Not Working Config.PNG
 
Regarding the messaging, as Ken noted, you were pushing messaging and network resource limits with the code in your original post. How fast to you need the analog response? I expect this setup to work well if a one to two second update rate is acceptable. For something like that I might have a free running timer that triggers adding one to a DINT every 100 mSec or so, then trigger one message at 1, the next message at 2, and so on. CLR the DINT to zero after the last message. Another way could be sequence with .DN bits and timeout contingency to continue if a message fails.

I think you're OK with cache connections for 10 or 20 messages if you don't have much other messaging happening. I think you can do at least 32 with current controllers. If remote racks are often powered down or disconnected, you might run into unconnected buffer problems. Others know details of this stuff better than I do.

In the screenshots you posted, I think N11[49] is status data and your 14 output data INTs start at N11[50]. If that's the case, status of 12 looks like you had something connected to outputs 2 and 3 at that time. Status of -32768 looks like a power-up bit is on.

If that is output data starting at N11[50], it doesn't look to me like either of these screenshots would work. N11[55] would have to be not zero to enable the outputs of a 1794-OE4. I would expect 3840 (0000111100000000) to enable all four outputs 4-20mA, 15 (0000000000001111) to enable all four 0 to +10VDCor 3855 (0000111100001111) to enable all four -10 to +10VDC.

In the second link for the user manual, data table explanation for OE4 starting on page 61 is more thorough than the summary on page 38 I noted.

Briefly scanning the manual, it looks like multiplex bits in word 4 could select words 0 to 3 or words 10 to 13 for output data. I have not used that. With 0 in N11[54] it doesn't look like you're using that.
 
Thanks. We've planned to try the messaging modification before going back on site.

I just find it weird that it worked for a whole day but then it didn't when we came back.
 

Similar Topics

Something i ran into that has me stumped, hopefully someone can explain. I have powerflex 70's connected to a L7 cpu using a 1788-en2dn. The...
Replies
5
Views
1,362
Hey All, I'm currently building a control system for a large building in a industrial setting. Doing lighting, vent, roof control, door access...
Replies
12
Views
3,502
I everyone someone can help me, I have a problem there's a fault in comunication, a controllogix lost conection with the RIo, RIO 0, RIO 1, RIO...
Replies
9
Views
3,360
Hi Guys, I've been doing some experimenting in the shop and im hoping someone will be able to point me in the right direction. I was able to...
Replies
4
Views
1,957
Is it possible to leave a "spare" terminal base for future use with 1794 Flex I/O? In other words 1794-AENTRXT slot 0 - 1794-OE4XT slot 1 - spare...
Replies
4
Views
2,024
Back
Top Bottom