1747-SN M-Files for Block Transfers

Ken Roach

Lifetime Supporting Member + Moderator
Join Date
Apr 2002
Location
Seattle, WA
Posts
17,481
A new Forum member named LEOMENA resurrected a decade-old thread about SLC-500 M-Files and 1747-SN RIO Scanner block transfers.

In order to keep their question on-topic without having to scroll through the old discussions (though folks are welcome to read the linked thread), I have pasted the post here:

Hello everyone,
specially @ Ken Roach and @shawn_75. I followed this interesting thread as I have a very similar situation, and kind of have the feeling that this question was not answered.. So, I do have the same question.
Where would I find whatever in the program configures the NI4 in question to use the .300 word addresses?
I hope someone can answer it for me.. Thanks very much in advance..
Really good thread
 
Again, welcome to the PLCTalk forum community !

You'll have to back-track to find the logic correlated with your particular block transfers.

Since the .300 buffer is used, there are probably at least two other block transfers in use (.100 and .200), maybe as a BTR and BTW pair.

Find the COP instruction that targers the M0/M1 file with the .300 offset and look for the address of the Source data. It will probably be an N (Integer) data file.


Then cross-reference the first word of that data block, and you should find the logic that sets it up.

The 1746-NI4 was a classic SLC analog module without much complexity. It only uses 4 words of Input data in an ordinary local slot, so the BTR should be just 4 words. There is no BTW required to configure those modules; all the configuration is done with DIP switches on the hardware.

There are several Knowledgebase documents describing using the 1746-NI4 with block transfers, including with the 1747-SN:

https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/17830
 
Ken, Thanks so much for your rather soon reply!!
My case is slightly different.. I have my 1747-SN scanner in slot 10 of my PLC Chassis and then (in another chassis, I don't want to use the word Rack purposely) I got the 1794-ASB adapter (slot 0) along with a 1794-IB16, a second 1794-IB16, a 1794-OB16, another 1794-OB16 and finally a 1794-OF4I.
I had no problems finding all the first 4 modules' addresses on the I/O files.
I find it hard is to locate or figure out the right addresses for the (only 3 in use) Analog Outputs (1794-OF4I).
I found a COP instruction from an #N register to #M0:10.210 which I assume is the first Analog Output in that module. Can I assume that M0:10.211 and M0:10.212 will be the second and third Analog Outputs?
And what M1 address should I use to read them back so to make sure the write instruction took place correctly..
These may be silly questions, but I would like some assurance that I am doing right. Thank you!!
 
Thank you for the clarifications, especially that the RIO Adapter is a 1794 FLEX adapter with a 1794-OF4I analog output module.

Those adapters are (almost always) set up for "1-slot" addressing, where the slots are just 1 through 8, left-to-right. So the 1794-OF4I should be in Slot 5.

The 1794-OF4I data layout is described well in the Installation Instructions for that module:

https://literature.rockwellautomation.com/idc/groups/literature/documents/in/1794-in037_-en-p.pdf

The Output image is 7 x 16-bit Words long.

But the Output data image payload isn't the only thing that goes into an M0 file to set up the Block Transfer: there is basic configuration information too, that addresses which device rack/group/slot and how much data will be sent.

Those are in the first 3 words, as shown in the 1747-SN User Manual (1747-UM013), on page 5-7. That manual includes (in Appendix D) the old-fashioned block transfer logic from 15+ years ago before the BTR and BTW instructions were added to the SLC-500 operating system.

Words 4-9 of the Block Transfer image are unused. The data payload begins on word 10.

That's a lot of talk to say: yes, the four Output words for the four Analog Output channels on your module in your program will come from the block of data written to M0:10.210, 211, 212, 213.

Similarly, a Block Transfer Read has for words of status data at the start of its M1 file buffer, and then the next six words are unused. The actual data payload begins at M1:10.210 (in your case).


The six "readback" words that a Block Transfer Read will bring in from the 1794-OF4I will be laid out as shown in the module's Installation Instructions, and are probably going to begin in the block of data that's copied into an N-file starting from M0:10.210.

If you want help looking at the actual program, you can ZIP and attach it to a post on the Forum, or put it in another filesharing service (Google Drive, OneDrive, DropBox, etc) and post a link. Or folks who are up for it can be contacted via PM and you can exchange programs over email.
 
Ken, Hats off to you man.. Thanks for very clarifying and helpful explanation. I am still going through your links and such. But you nailed the answer I was looking for. Thank you, and keep it up.. We need people like you!
After I test this I will come back with the results in hope that it helps someone else..
Again, Thank you!
 

Similar Topics

hello I am getting a 57h fault - Specialty I/O module has not responded to a lock shared memory command within the required limit. Fault randomly...
Replies
2
Views
70
We are in the process of upgrading a controls system. The existing system is a SLC500 with some IO cards and a 1747-SDN module communicating to a...
Replies
5
Views
551
se me desprendieron los cables del cable usb quiero soldarlos pero no se como van los cables si alquien me pudiera proporcionar una foto o como...
Replies
1
Views
403
Hello, I've got a project where I need to get information from two ABB ACS880 VFDs onto the plant operator's screen (or alternatively, onto...
Replies
23
Views
2,611
Hi Newbie here :yeah: Can one of you experts help me with setting up a simple BTR and BTW to just test 4 analogue inputs 4-20ma (1974-if4i)...
Replies
11
Views
1,001
Back
Top Bottom