SLC 5/05 and BAST Module

Popefester

Member
Join Date
Feb 2004
Posts
4
Hi all,

This is a fairly quick question I’m hoping a guru can help me out with.

I have a client who needs a communications protocol developed to interface an SLC 5/05 to a proprietary device over a RS485 network. They want the BAST module to do a lot of the work involved in writing this protocol.

Now, I’ve used the BAS module before in the past to do some other stuff like this before, trouble is I never wrote the original BAS code. Looking at the BAS manual though it was fairly simple stuff. The original code used Call 22 / 23 and all the work was carried out in the PLC.

I could go along the same lines and looking at it, may have too, the thing is I noted that there are calls 53 / 56 ( or something like those numbers from recollection ) whereby the BAS module and SLC can pass information between the processors via the M registers. This information is stored in the input / output buffers of the BAS module ( word 100 onwards ).

Point 1 : I’m I right to believe that these input / output buffers for the SLC communications are totally separate to the PRT buffers as indicated in the manual. I get the impression they are and it would make sense.

Point 2 : How do I access the buffers ? Can I do it via the DBY instruction and if so what memory location does the input/output buffers start ? Or is there another way to access the input / output buffers ?


Any help / guidance would be appreciated

Cheers

Daz
 
I just wanted to bump you back up to the top.

Now I wish I'd tried accessing data in the basic module! All I've managed to do is read/write the I/O buffers on the COMM ports. I'm not sure how to grab data from a running program.

AK
 
Ta AK,

You would think is was really simple, but I've scanned both manuals and found nothing. Done a knowledgebase search on rockwell and still nothing.

If / when I find it, I gather it will be really simple, it's just finding that key !

Cheers Anyway

Daz
 
I've never worked with the SLC basic module (just the PLC version), but I'd try CALL 24 and/or 25 (depending on your desired data format) with Call 57 (Module to M1 table), and CALL 56 with CALL 14 and/or 15 (M0 table to Module).

Good luck,

Marc
 
Popefester said:
You would think is was really simple, but I've scanned both manuals and found nothing. Done a knowledgebase search on rockwell and still nothing.

I'm pretty sure I've seen it SOMEWHERE. I'll go through some of my old Allen-Bradley PDF files. If I see it, I'll post it.

AK
 
Alright. I found lots of old files. I had to extract a few key pages because of our restrictions on the board, but I can email you the rest if you like.

One of these documents has a sample program, which uses push/pop commands to load the output buffer of the Basic module. They use Call 54, but it should be similar for your application.

In the other document, read over the "Transferring input/output buffer to M Files" sections. I think that's what you'll need.

Good luck!

AK
 
akreel said:
Alright. I found lots of old files. I had to extract a few key pages because of our restrictions on the board, but I can email you the rest if you like.

One of these documents has a sample program, which uses push/pop commands to load the output buffer of the Basic module. They use Call 54, but it should be similar for your application.

In the other document, read over the "Transferring input/output buffer to M Files" sections. I think that's what you'll need.

Good luck!

AK

P.S. I suspect all of this works very similarly to the Call 22/23 instructions that were in the program originally.
 
Thanks for the effort AK, very much appreciated

I spoke to AB support yesterday morning and they confirmed the only way to get the data off the input / output buffers for SLC back plane communications is via numeric conversions ( Calls 14 and 25 etc ), just as Marc suggested.

Still thought there would have been an easier way as this numeric conversion may cause problems later. Did think the buffer would reside in the RAM of the BAS module so I could access it via the DBY command but I guess the module isn’t designed that way ( motherboard ).

I’ve now got a basic working prototype for manipulating the data between the SLC and BAS module.

Roughly works like this :

Check real IO buffer ( word 201 ) for handshaking bits for M1 / M0 data transfer ( uses calls 53 and 14 for looking at input buffer and then calls 25 and 54 for manipulating SLC real input )

Copies M1 data on handshaking via calls 56 and then call 14 to get the data off the input buffer.

On a none empty PRT buffer, calls another sub which copies the PRT buffer into dimensioned array. The array is then converted to output buffer via call 25 then transferred to SLC buffer via call 57 and finally uses calls 25 and 54 to set handshake bit for SLC to realize there is some new data received.


Still needs a lot of work but its on its way at least.

Like I said before – cheers for the help so far – much appreciated.

Cheers

Darran
 

Similar Topics

I am working on setting up a Prosoft Datalogger model PLX51-DLplus-232. This unit will be collecting data from a SLC 5/05 on the DB9 port set to...
Replies
3
Views
81
I have a redundant ControlLogix being set up. This program reads a value from a remote site which happens to be SLC PLC. Rockwell mentions SLC...
Replies
2
Views
89
Hello, I have a ControlLogix redundant controller being set up. The program reads a value from a remote site which hosts a SLC PLC. Rockwell...
Replies
0
Views
67
I'm trying to read/write to an SLC5 with a ControlLogix L71 V35 plc that fails. The exact same code works on an L82S with V32. Is there a known...
Replies
10
Views
277
I'm ashamed to admit this but I've never had to replace a battery in a SLC. Some how been able to skip that task in all my years. So yesterday...
Replies
8
Views
247
Back
Top Bottom