Constant data exhange on dh+

controlled

Lifetime Supporting Member
Join Date
Nov 2005
Location
bowmanville
Posts
419
Hello.

I have a problem that I hope someone can give me some advise on.

I have an AB plc5/20 on a dh+ network with a slc 5/04 and a panelview 550. In the plc5 i am counting cylindar revolutions with a prox switch. The revs are quite fast ( 5 or 6 per sec) I want to be able to send the accumulated counter value to the slc 5/04. Does anyone know of a good way of doing this. The data would be transfering constantly.
 
It depends on what you mean by constantly. A message could certainly do the job, but I wouldn't expect a very fast (or consistent)update.
If it needs to be fast and consistent, perhaps try it with discrete io: plc 5 integer > bcd > output word > optoisolator > slc input word > bcd > integer.

Regards,
Thomas
 
If you are just sending one value, look into the Global Status Flags file. Both the PLC and the SLC support it and it allows you to transfer one word without having to write a message instruction.

Look in the Channel Configuration section and specify an unused integer file in both controllers.

For example lets say that the PLC-5 is using node #5 on your network and your SLC is using node #7. For simplicity sake lets also assume that both controllers are using N20 for Global Status.

In your PLC-5 write logic to move your timer value into your N20:5. In your SLC the value would automatically show up in it's N20:5. If the SLC needed to return a value then it would put a number into N20:6 and it would automatically land in the PLC-5 N20:6.

The integer file is 64 words long with one word dedicated to each node on the network. Your node number would also be your word number (be aware though that node numbers are octal 0-77) whereas the word numbers are decimal (0-63). Each device can write to it's own word and will automatically receive data from the other devices that have been configured to use Global Status Flags.

This data will be transferred with each token rotation instead of each time a MSG gets triggered. This would help speed things up.

OG
 
Operaghost's suggestion is a good one.
A couple of notes, you have to set the global status file in the PLC-5 under the channel configuration tab. In the SLC the global data will be stored in registers:
S:100 to S:163 (octal).
 
Last edited:
Thanks everyone. I am somewhat a beginner to PLC's, and had not heard of Global Status Files before. I tried it, and it worked great

Thanks Again
 
A question regarding the above discussions, will setting up Global Status files on one channel (e.g. Ch2B) on all PLC's slow down the DH+ comm on the other channel (i.e. Ch2A)?

We just recently configured our PLC's Ch2B with Global Status files and found that the other channel slowed down. Unfortunatnely, we didn't notice the slow down after restart and now we can't confirm if the Global Status file is the cause of the slow down since Production won't allow a short shutdown of the plant. I have been searching for any write up regarding this but so far has found none. Any information would be appreciated.
 
I once found a document that explained in great detail how all the PLC5 comms channels share resources. It went into great detail about the total number of buffers and how they are divided.

There was some SLC information there too. From what I remember, the communications capabilities of the SLC are much more limited.

I found it on ab.com, but the title was obscure. I will look for it again...

Paul

Edit: Here's a good one for DH+ Troubleshooting
Edit: Some SLC channel buffer details
Edit: PLC5 channel buffer details
 
Last edited:
So the question remains, does the activation of the global status bit in a SLC affect DH+ throughput?

All I've read (scanned) so far says that the global status words are shared by all devices on the network automatically....hmmm....I am even more curious now, so I will keep looking...

EDIT: This is the best I could find on the SLC and DH+. It starts on page 340, and the Global Status word is covered in detail, but it doesn't clearly state that the use of it in a SLC has no affect on communication speeds.

If the Global Status transmission is automatic on every token pass, then I am 90% sure it isn't your problem.

Hope this helps
 
Last edited:
While I don't have a tech note to reference, I would imagine there would be some effect on the network as a result of using Global Status Flags.

Since each node would now be potentially transmitting and receiving data, their token hold time would likely increase. How much I cannot say but it would make sense that this could affect the overall network token rotation time.

In reading the tech documents linked to by OkiePC it appears as though there are 30 shared buffers for 2A & 2B on a PLC-5. So unless your network was already pretty heavily bogged down, I would not think the GSF would cause the slowdown on the other channel.

I'll see if I can set something up though to test this out.

OG
 
No, Global Data doesnt cost anything with respect to throughput.
Thats the trick about global data.
The global data word is passed along with the token, no matter if global data is configured or not.
 
JesperMP,

Would you happen to remember where this information is printed in? As most of our control networks are DH+ based, I would like to be sure that any changes we do won't have any adverse effect on the communications. Thanks in advance.
 
Hi narcilla.

Only indirectly does it say so.

From RSLogix5:
"Global Status Flags File
Type the file number of an unused data file to store token pass data. The system automatically creates a 64 word integer file. This file stores a 16-bit word of data for each station on the DH+ network. The stations use this file to share data with each other. When a station receives a token, its data file is updated. Since this file is shared by all stations, each station on the network sees the newly updated data. This reduces DH+ traffic by allowing stations to share information rather than send messages."

From the SLC500 Reference Manual page 12-10:
"When a processor passes the DH+ token to the next node, it also sends a 16-bit word called the Global Status Word (GSW)."
 
So the core of the question has become:

Does enabling the global status file affect the size of the token pass or time required for the token passing?

I hate to ASSuME that the token passing always includes global status values, whether or not they're enabled in a device. And so in a SLC the enable bits just determine whether the processor saves the token data that is there anyway, or it throws it away to free up storage space.

Now that is an assumption and we all know about those...

Does a station hold the token longer if it has to attach it's global status value before passing it?

Interesting questions...
 
Last edited:
I am not sure about the PLC5, but with SLC (504 only) the Global Status File (S:99-S:163) has two control bits:

1. S:34/3 Transmit control
2. S:43/4 Recieve control



Both of these bits could affect the speed of token transfer. Reason being, that if either is set to 0, the word either refuses to transmit, or recieve respectivly.

S:99 is the word transmitted.

Further, S:100 to S:163 are reserved for each node on the network. These words recieve data from each node.

So, for SLC at least, the user has the option of allowing the use of Global Status Files. I am not sure what affect this has on speed. My guess would be that the more data moved, the slower the SLC would be in processing of the token. Just a geuss though. I'll test it later this summer.

Very informative thread. I found the above info in the "help"
section of RSLoix 500 software. I don't have 500 installed on this machine.
 
For everyone's info,

Finally got the chance to shutdown the Plant and was able to remove all Global Status Files (zeroed '0' the field) from all PLC's. Result, significant improvement in the DH+ speed (and this is only for a 3 PLC network plus a 1756-DHRIO module!!!). Guess, this has to be kept in mind when doing any changes in the Channel Configuration. Thanks for all the responses.
 

Similar Topics

I am new to using Functional Block Diagram (FDB) language programming in CCW. I want to set a variable to a constant if a contact is closed...
Replies
7
Views
415
Hello all, this is my first time working with a PLC and dealing with hardware, so please have patience with me. I have an electric rod-style...
Replies
21
Views
3,026
Hello, I have posed a similar question before, but the DB then provided me with pre-allocated "spares". In this instance I need to declare a...
Replies
13
Views
4,124
Hello gentlemen, Why does this work: VAR CONSTANT SIZE_OF_dutEVENT : UDINT := SIZEOF (DUT_Event); MAX_SIZE_OF_dutEVENT : UDINT := 5...
Replies
2
Views
1,608
Hi! I know there is a lot of skilled people with Schneider somachine in this forum, so i have to ask something. How and why do you use constant...
Replies
4
Views
2,204
Back
Top Bottom