Using Modicon’s Peer Cop to Read Global Data

Peer Cop Overview

Modicon’s Peer Cop feature is a method of having data read and written to and from remote nodes at the top of each PLC scan. Either of Modicon’s Modsoft® and Concept® software packages can be used to configure Peer Cop.

Peer Cop supports four types of automatic data transfers:

Of these four types, only Global Inputs are supported by the RMC. Global inputs refer to the global data sent out by other devices, such as the RMC. Modsoft and Concept allow the user to select which of the Global Data registers get copied to which Modicon PLC registers.

The following steps are required to set up Peer Cop. The exact details are not described as they differ between versions of Modsoft and Concept:

  1. Reserve Config Extension Memory in the PLC:
    Peer Cop uses Config Extension memory. Refer to Modicon Modsoft Programmer User Manual for details on the exact procedure for allocating Config Extension memory and the method of calculating the memory requirements.

  2. Add the RMC Device as a Peer Cop Node:
    Some versions of Modsoft require that the Peer Cop node be added.

  3. Add Global Data Sub-entries to the RMC Peer Cop Node:

For each device, the global data can be copied into eight sections of the PLC memory. Each section is called a sub-entry. Each sub-entry has the following pieces of information:

At the top of each scan, for each sub-entry, the Global Data registers beginning at the Index—and continuing for the number of registers given by the Length—are copied into the PLC address.

See the example below.

  1. Add a Network for Detecting the Peer Cop Health:
    This step is not required, but highly recommended. Refer to MSTR Block Peer Cop Health Operation for an example of the Modicon logic for doing this.

 

Example

Suppose we have a four-axis RMC module at node address 3, and we have configured the Status Map to have the following assignments for the first nine registers:

Status Map

Register:

RMC

Register:

 

Holds:

0

0

Axis 0 Command Position

1

1

Axis 0 Target Position

2

2

Axis 0 Actual Position

3

4

Axis 0 Status Word

4

10

Axis 1 Command Position

5

11

Axis 1 Target Position

6

12

Axis 1 Actual Position

7

14

Axis 1 Status Word

8

2632

CPU Digital Inputs 0 and 1 in LSBs of low byte, Outputs 0 and 1 in LSBs of high byte.

Next suppose that we want to copy the first eight global registers into PLC holding registers from 400401 through 400408. In addition, we want the two status words also to be copied into coils at 000801 through 000816 for axis 0 and 000817 through 000832 for axis 1 so that each bit can be used easier. Finally, we want the CPU input and output bits to be mapped into discrete inputs 100001 through 100016. The following set of sub-entries would be added to node 3:

Length

Reference

Type

Index

8

400401-400408

BIN

1

1*

000801-000816

BIN

4

1*

000817-000832

BIN

8

1*

100001-100016

BIN

9

*The lengths are given in global registers, and therefore one global register corresponds to 16 discrete inputs.

 

The following table shows the placement of the input bits:

Address

Content

000801

MSB of axis 0 Status Word (No Transducer)

:

:

000816

LSB of axis 0 Status Word (In Position)

000817

MSB of axis 1 Status Word (No Transducer)

:

:

000832

LSB of axis 1 Status Word (In Position)

100007

CPU Digital Output 1

100008

CPU Digital Output 0

100015

CPU Digital Input 1

100016

CPU Digital Input 0

 


Copyright (c) 1997-2015 by Delta Computer Systems, Inc.