Hide Transcript
View Transcript
Peer Link is a super easy way to share data
between any combination of Do-more enabled PLCs and DirectLogic PLCs that have ecomm100
cards. Each PLC in the network has a copy of the
shared PEERLINK memory. And each PLC can write to some portion of that shared memory space
that it owns. We call that publishing data. When a PLC writes to its portion of the peer
link memory space, everyone can see it as if it just another block of local memory.
And it?s so easy to use. You just drop a PEERLINK instruction on a rung, select which
blocks of the shared memory this PLC owns and you?re done. Each block has 16 PL memory
locations so there are a total of 256 PL Memory locations.
This is an asynchronous instruction so as long as it is enabled it will update the PL
memory space. The only catch is peer link uses TCP broadcast
messages so all the PLCs that are sharing this PEERLINK memory space have to be on the
same local TCP broadcast domain. Which means they all have to be on the same local network
and not behind a router. I have a local network that my PC is on with
this IP Address, so let?s add this PLC to that network at dot 59. Configure. Configure.
And change the IP Address so it is compatible with the network.
Let?s have this PLC increment PL0 once a second ? remember we gave this PLC access
to the first four blocks of Peer Link memory, so it can write ? or publish data - to locations
zero through 63. Accept our changes and write it out to the
PLC. Make sure the PLC is in RUN mode and with status enable we can see which blocks
of the peer link memory space this PLC is publishing to and that there is no activity
in the other blocks. Great. Let?s disconnect from this 36 point BRX
PLC and connect to an 18 point BRX PLC. I connected to the 36 point BRX PLC via USB.
Now I want to connect to the 18 point BRX PLC via Ethernet, but I have no idea what
his current IP Address is. All I know is I want him to be compatible with my new network.
How to I fix that? Easy. If you go to this NetEdit utility and select the Ethernet adapter
you want to use ? I have several on this PC so we want the one that?s on our network
? I see the IP Address of the 18 point BRX PLC, is this. Let?s change that to our network
dot 58 so it can talk to everyone on our network. Now that he is on our network, let?s connect
to him. I don?t have a link to this guy yet, so let?s add one. We know it?s connected
via Ethernet, make sure we are using the right adapter, and sure enough there?s Mr. dot
58. Let?s give him a name, and I?ll note that it?s an Ethernet connected PLC. Now
we can select that guy and connect to him. We know he is different than what we had before
and we know we need to write the new program before it will take effect. Let?s have him
control these four blocks of shared Peer Link Memory.
Let?s have this guy take the data published by the first PLC, double it, and publish it
to the last memory location this PLC has access to.
Accept. And write it out to the BRX PLC. If we put this PLC in RUN mode and enable status
we can see this PLC is controlling these outlined blocks and someone else is controlling these
blocks. Everything is green which means everyone is on-line and operating normally.
If we bring up a data view, we can see what the first PLC is doing to its section of the
PEERLINK memory and what this PLC is doing to its section. How cool is that ? we can
see what the other PLC is doing and we didn?t have to do anything except add a PEERLINK
instruction to this PLC. Very cool. Let?s add one more PLC to our PEERLINK network?
how about the simulator. Disconnect from the 18 point BRX PLC. And connect to the simulator.
Its telling me the simulator is not in terminal mode so let?s bring it on the screen, switch
it to terminal mode and move it back out of the way again.
Yes we know it?s a different PLC and yes we know things have changed and we need to
write them to the PLC to take effect. Fine. We don?t really care about the clock or
the configuration right now. Let?s have this 3rd PLC control these five blocks of
the shared PEERLINK memory space. We know that going to be a problem because the last
PLC we setup is controlling these blocks. Right? But let?s do it anyway and see what
happens. What about the Ethernet address of this simulated
PLC? Well, remember, this is the simulator. It?s really in the PC and uses the PC?s
Ethernet port as its IP address so we can?t change that. That?s why I setup this network
to be compatible with my pc ? So we could use the simulator.
Great. Accept all of that. Write it to the PLC. Make sure the PLC is in RUN mode and
enable status. Ahh! Look at that. This PLC is trying to control these 5 blocks of memory,
but there is conflict with this block ? someone else is trying to use it! We know that, so
let?s change this PLC to use these 5 blocks. Accept it, write it out ? and voila! Everybody
is happy again. And look. This PLC can see what the other
two PLCs are doing. And if this PLC publishes data to its PEERLINK memory, the other PLCs
will be able to see that. So now you have a quick and easy way to share data between
any combination of Do-more and DirectLogic PLCs.
Peer link is updated about 10 times a second as long as the instruction is enabled.
And look at this ? there?s all kinds of status bits you can use. If we take this one
and switch it to binary ? the ones tell us which blocks are active. Then for each
block ? let?s look at block 0 ? You can tell if the block is being used, if there
are any errors, what the current update rate is and if it has been updated recently.
And, you can inhibit a block if you want to take tit off the PEERLINK network.
So peer link is a super quick and easy way to share up to 256 memory locations between
an assortment of Do-more or Direct Logic PLCs. You just drop the Peerlink instruction in
place, enable it and make sure the PLC is on the right network. And it can now see the
256 PL memory locations that everyone on the same network is sharing.
A couple things to keep in mind: The Peerlink instruction has to be in the
MAIN program loop. You can only have ONE PeerLink instruction
per PLC.