Using MSG instruction with Analog Inputs

amnOakRidge

Member
Join Date
Jul 2020
Location
Oak Ridge TN
Posts
6
Is it possible to use the MSG instruction to grab all the information from an analog module (e.g. 1756-IF8I/A) that is owned by a different CPU module? If so, can you provide an example of how that would be accomplished?



I have two AB L73 CPUs connected over Ethernet and one analog input module in the same chassis as one of the L73 CPUs. I am having trouble configuring the MSG instruction to grab the information from the CPU that owns the analog module. I am trying to do it all in one MSG by using the Module-Defined Data Type AB:1756_IF8I:I:0. I keep getting a 16#000F "Access permission denied for requested service" error code. Any help would be greatly appreciated.
 
I realized that I should have provided more detail on my MSG instruction. Here is how I have it configured in the RA Studio 5000 ladder logic:
-a TON triggers the MSG every 500ms
-Configuration tab
-Message Type: CIP Data Table Read
-Source Element: Local:5:I
-Number of Elements: 1
-Destination Element: MSG_SAS_S5_AI (configured as a AB:1756_IF8I:I:0 data type tag)
-Communication Tab
-Path: 192.168.1.11, 2, 192.168.1.10, 1, 0
 
What type of information do you want to gather? Just the analog values of all the channels?
 
I think you can do a listen only connection to the Analog module. Just add the L73,Chassis size, and 1756-IF8I/A to the tree of the processor that needs the information. Under setup of the Analog module Connection type select Listen Only.
 
I am pretty sure that the IF8I could be placed in both controller's I/O trees, eliminating the need for any MSG instructions between processors. You would add the ethernet module for the rack containing the IF8I to the "secondary" controller and then add the IF8I beneath it.
 
Consider what happens if the communications between the PLCs fail, how you would find out, and how you would clear the stale data.

If you add the I/O module to your processor's tree, you'll want to map the I/O to buffer tags so you can clear them. If you use a MSG, you can just clear the tags directly if the comms fail.
 
Last edited:
I think you can do a listen only connection to the Analog module. Just add the L73,Chassis size, and 1756-IF8I/A to the tree of the processor that needs the information. Under setup of the Analog module Connection type select Listen Only.


I am trying this approach, but I did not find a "Listen Only" option. The connection tab has the following options:
-Inhibit Module
-Major Fault On Controller If Connection Fails While in Run Mode
-Use Unicast Connection over EtherNet/IP


My concern with this approach is it seems like I am trying to control and configure the IF8I module from two different CPUs. This seems like it would lead to conflicts. The "Listen Only" option seems like it would be the fix but I can't find it.
 
I told you wrong. It's on the General page under Module Definition. Select Change then Connection is a drop down selections. This will automatically create tags from the IF8I Card in Controller Tags

PLC.PNG
 
When you add the remote analog module to your I/O config, you must manually select Listen Only in the Comm Format drop down field. You must do it at that time. You cannot change it after without deleting and re-adding.

When you setup the Listen Only connection you will not have the option to change any configuration settings. You will have all the input tags including the values and alarm status. But you won't get the alarm levels since those are only available to the "owner" controller.

** EDIT ** The screen changed at some revision from what I described to what is displayed in the post above which now allows you to change this setting (offline only I suspect).

OG
 
Last edited:
Another approach (you won’t have downtime this way):

Create on both controllers a UDT containing an identical structure of the IF8.

The owner controller could continuously or on some programmed interval COP the IF8 block into a tag instance of the UDT.

The remote controller would just need to read this source tag into a destination tag of the exact UDT type.

On the remote end, if the read message fails, you can programmatically decide what to do.
 
Last edited:
Thanks you everyone. The Listen Only aspect of adding the modules to the I/O tree was what I was missing. I have used this approach and it resolved my issue. Thanks for the additional suggestions for alternate solutions as well.
 

Similar Topics

Hi all, We have a packaging machine in our plant that has a cartoner and the casepcker. If caspacker goes down for 5-10minutes this shuts of...
Replies
5
Views
1,687
Hello All I have a Kinetix 5500 Drive connected to a CompactLogix 5370 controller. There are 3 ways to access servo-specific attributes -...
Replies
5
Views
3,475
Can anyone tell me how to use the MSG instruction to send a message from a Micrologix 1000 to a PC (connected serially using DF1)? I'm not sure...
Replies
6
Views
7,030
Hello All, is there any way to fetch remote controllers Mode Run/Remote Prog/Faulted etc. ( AB L8 Series) using CIP message, if yes please share...
Replies
5
Views
821
Hello Ken Roach, Thank you for your quick reply , As informed earlier i want to read P&F Sensor data on Micrologic 1400 series B using MSG...
Replies
17
Views
5,788
Back
Top Bottom