Help with RIO 1794-ASB Block Read Transfer

ChuroChurp

Member
Join Date
Jan 2009
Location
Toronto
Posts
13
Hello,

I am currently using a Control Logix with RSLogix 5000 trying to communicate with my 1794-ASB(Has a power supply, adapter, 16 point input module and 2 8 point output modules in that order) RIO input / output discrete modules. I am able to download to the DHRIO with the scanner attached to the RIO 1794-ASB fine with no problems.

The problem occurs when I use the message instruction trying to get RSLogix5000 to read the status of my inputs on the RIO input cards. I set the message type to block transfer read. I set the number of elements to 0 so the software would assign the proper number of integers automatically. I made a tag to store the input data, called Input (this is a controller tag). This was 16 integers long (the input card I am trying to read has 16 input terminals).

Under the message configuration screen I browsed and selected the input module which was at group 0.

When I downloaded I received an error code of 16#00d0. Not quite sure what the problem is. Attached are screenshots of my message command set up and IO tree.
 
Look under "ASB:I.Data" and "ASB:O.Data" controller tags. These would be INT arrays of size 3 (for 3 I/O modules in the rack). Each word corresponds to the specific module.

So ASB:I.Data[0] contains your 16 discrete inputs
and the LS 8 bits of ASB:O.Data[1] and ASB:O.Data[2] contain your two groups of 8 discrete outputs.

Block transfer messaging is only needed for analog modules or if you want to read more than just the I/O information from discrete modules (like module status, etc.)
 
Also, in case of your Block Transfer Message, I noticed your destination element was "Input" and in your post you mentioned this was an integer array of 16 elements. You need to set the destination element as Input[0] for the message to work. You only need to read one word (16 bits) from the input module which will be stored in Input[0].
 
The controller tags, I didn't need the block transfer after all, the inputs and outputs appeared in their respective ASB controller tags.
 
Dude, I dont mean to be rude in any way but next time start by reading the user manual. AB has really well documented instructions. It will save you a lot of time and energy.
 
Hey dude, for your information me and my partner have both read about 5 different manuals from front to back and they are completely ambiguous and jargon filled trash.

Thanks for coming out though.
 
This is a page from the user manual. I know I am pushing this topic way too far but I am just a big proponent of documentation. Six months ago I started on a new project where I used a 1756-DHRIO and 1794-ASB for the first time and I did not have any trouble finding any information I needed. It was all there in the manuals.
 
Ok, and where does it say that when you set up your IO tree that it will automatically read the status of the inputs and outputs and put them in those ASB files? I have already read the page you scanned. These manuals are typical of factory B.S that I'm sure most of you on here have been steeped in for the last 35 years. Keep in mind all of us using these are not of this sterotype.

Thank you.
 
puravdagli - I have to agree with ChuroChurp. Based on the documentary evidence you posted, (a page from the Flex I/O user manual), the information therein is only relevant to how the I/O module data is seen by legacy PLC products, such as PLC5 or SLC.

Only those with specific training or knowlegde of ControlLogix will know how that platform handles I/O data.

Also, you have told ChuroChurp to access his Remote I/O points into the Rack-Optimised tags, which makes it different to local I/O tag addressing. Rockwell made specific provision for this, to make life easier for system integrators, and maintenance engineers.


ChuroChurp - In your case, it doesn't matter whether you did or did not choose "Rack Optimisation" for your DHRIO scanner. But either way you can (should) address your I/O exactly in the same manner as you do for local I/O :

eg.
Local:0:I.Data.0 (local I/O)
ASB:0:I.Data.0 (Remote I/O)

If rack optimisation is used, ControlLogix automatically takes care of this when putting an I/O module into the configuration for the project, by creating an alias tag in the same format as local I/O :
i.e
Location:Slot:Type (an I/O tag)
is created as an alias for
Location:Type.Data[Slot] (a rack optimised tag)

where :-
Location = the name of your remote I/O adaptor - ASB
Slot = module number 0, 1, 2 etc. working away from the adaptor
Type = data type : I for input, O for output.
 
Last edited:

Similar Topics

Hi All.. We have a little problem at the plant I work at... we have been in contact with techconnect and not really achieved much so far.. just...
Replies
9
Views
3,318
I am working on converting a Logix5 program (PLC5/20) into ControlLogix (L62). I was able to re-map the local IO easily enough but the old code...
Replies
4
Views
1,823
Hello, We have a ControlLogix chassis 1756-PA72/B with a 1756-ENBT/A (F/W Rev 1.40) in slot 0 that is converting, or bridging, a DH+ signal from...
Replies
6
Views
2,877
Hello I am trying to do some testing on the bench. I have a 1756-L73 processor, 1756-RIO and a plc5 rack with a RIO module. I have set up my 5000...
Replies
1
Views
1,826
Last week I had my first trouble with out RIO set up. Ive never really dealt with these cards, and it made me question something. Do the...
Replies
1
Views
1,260
Back
Top Bottom