SLC 5/04 communication over DH+

plcnovel

Member
Join Date
Feb 2006
Location
LHR
Posts
215
Hi There
Well i have got a very tight deadline on this project, and the surprising thing is i didnt even write the existing code. Before i tell you the problem, let me explain you a little background: we have a SLC5/04 working at the site and it is communicating over DH+ network. Now the problem is as follows:

The client want us to read from and write to this plc through a site plc which is another SLC over DH+ network. He has given us a list of data file addresses (some of them are R/W or some of them are only write or read), which he wants to us to make them available on DH+ network. In other words, he is looking for a integer data file or files that he can message back and forth to and from the site PLC so that he can read the information and write to them as well. The datafile adddresses are in bit and integer formats.

Like i have already introduced myself on this forum a novice programmer, so i really have no clue how to do it, if anyone of you can help me out in this regard, it will make my life so easy. Thanks in advance.
 
Thanks 504bloke for your kind advice. First of all, the client wants a integer data file or files in our plc so that they msg back and forth to and from the site plc. So in this context how would i implement it. do i have to create a data file containing all the addresses which he is interested in reading and writing from a site plc? if yes, then how can i implement it..... I guess my job is just to make the data available at DH+ network....


Regards
 
You really need a contiguous (i think thats the correcrt terminology) block of date for the read and the same for the write

So first youd need to move all the client wants to a block Say N7:5 throught to whatever ?

have you got Logix 500 ? Have you opened up and had a look at the AB Examples

504MSG_DHPLUS_MASTER

and

504MSG_DHPLUS_SLAVE ?
 
Hi 504bloke
Yes i have rslogix 500 and i opened up the master and slave program. but you might have noticed y now, i am new to this plc programming world, so i dont really know exactly. So basically you are trying to say that gather or move all the data file addresses into a new data file? Please guide me in this example as i seem to get lost. Thanks in advance
 
Last edited:
we have received a list of data file addresses from the client that he wants to control from a site plc to the plc we programmed for him. This is list is pretty big and contain mix addresses from bit files (default datafile and userdefined datafile) and integer files (default datafile and userdefined datafile). Its almost 350 data file addresses all bits and integers, that client wants to read and write from a site plc. Hope it helps
 
Ok well first thing is (from memory) the msg instruction will only read / write 103 data words. As you have so many youll have to split this up. Does this need to be on a continuos basis (as soon as?) or will this be done periodically on time or say a push button ?
 
Ok Dave, The thing is our plc that we programmed for the client in the field, the client wants to talk to our plc from some other plc (whose location we dont know) over the DH+. According to my understanding it is not continuous, our plc will only respond to read data or write data to those 350 points (which are the parts of our ladder logic) when that plc sends the msg request. According to my understanding that plc will not be requesting to read /write all 350 points in one go, instead according to demand.
 
Ok, i guess after taking a look at the rockwell knowledge base examples for SLC communication, i think our plc is acting like a slave, just giving what the site plc (Master) is asking? So in this case i dont think i need any msginstructions or stuff, all i need is to make a data file, place all the required data addresses in it and maps the read and write values back to the main program. Now the problem is i have a lot of data addresses of type bits, inetgers, etc how can i gather them under one msg data file and how can i map these values back to the main program? any help would be appreciated in this regard

PLCNovel
 
plcnovel said:
how can i gather them under one msg data file

I dont think you can, you will need to do more then one, if its a 'N' file you will need to address it as such, also with the length you cant jump to different file (control block), this being said I also have never done more then one MSG in a progam, I dont think there will be a problem
 
Hi
All i am trying to ask is my idea correct or not? if my plc is working as a slave and depending on the other plc instructions, then all i want to do is to make that data available for the other plc issuing the commands? Like i said in my previous posts, i have a lot of data addresses from different data files like B3, B33, N7, N10, N12 etc. how would i make one data file to map all these addresses to make msging more efficient? Please help me out in this regard. Thanks
 
plcnovel said:
if my plc is working as a slave and depending on the other plc instructions, then all i want to do is to make that data available for the other plc issuing the commands?

Yes!, but you may want to address it, if someone is trouble shooting your 'code', it's a good idea to let them know that the data is comming or going to another PLC. If they do a find all it will not show up or if they look at it under a usage file format it will not show up.



Like i said in my previous posts, i have a lot of data addresses from different data files like B3, B33, N7, N10, N12 etc. how would i make one data file to map all these addresses to make msging more efficient?

No!, like i said in my previous post, all of your B3:XX will need to be one and your B33;XX will need to be another. I may be wrong but that is the way I understand it.

SLC 5/04 With these controllers, data is buffered when you enable the MSG instruction, as long as there is space available in one of the transmit buffers. These processors can service up to 4 message instructions per channel for a maximum of 8. If a MSG instruction has entered one of the four "channel independent" transmission buffers and is waiting to be transmitted, its control block will have status bits EN and EW (Enabled and Waiting) set. If more than four MSG instructions are enabled at one time, a "channel dependent" overflow queue is used to store the MSG instruction header blocks (not the data for a MSG write) from the fifth instruction to the fourteenth.
 
SO how can i do all this, i am very new to this field and i dont know a lot abt it, if you can guide me through this process ( i mean how to manage the addressing ) it will be off great interest. Thanks in advance
 

Similar Topics

Hello, I need to connect with a SLC 5/01 (1747-L511) in order to see what is the current program that it has, since I don't have a lot of...
Replies
5
Views
672
After I tried wiring, I used computer program communication to read the PLC N value, but received a NAK signal. And the DL3500 CHA light keeps...
Replies
0
Views
399
Hi all--figured I'd knock the rust off minds here; Situation--We're resurrecting an old Alvey Palletizer from the grave. It came w/o a controller...
Replies
2
Views
920
Hey everyone, I am trying to communicate with a Slc 5/04 plc using the 1747-cp3 cable, RS232-DF1 driver and a laptop. I tried using a serial to...
Replies
13
Views
3,028
Hey everyone. This is my first post here. I am newer to the automation world and have had an issue while trying to communicate with an SLC 5/02. I...
Replies
13
Views
5,359
Back
Top Bottom