Entry type: FAQ, Entry ID: 19188913, Entry date: 08/23/2004
(0)
Rate

IM 151-7 CPU: Porting Programs with Packed Addresses

  • Entry
  • Associated product(s)


QUESTION:  
How can I port programs with packed I/O addresses to a IM 151-7 CPU?

ANSWER:  
The IM 151-7 CPU (6ES7 151-7AA10-0AB0) can only work with unpacked I/O addresses. Programs or FBs with packed I/O addresses have to be  rewired which equivalent to "unpacking". How a user program is ported depends on the operands used in the user programm that access these packed addresses:

  1. If you only access packed I/O with bit operands (e. g. O0.1; I1.5;...) the rewiring is made automatically in SIMATIC Manager. For this highlight folder "Blocks" and execute command "Extras > Rewiring...". In field "Rewiring" enter now in the table the desired replacements (old/ new operand). More details on "rewiring" can be found under "Notes on rewiring operands" - Entry ID: 11791432).

    Example:
    Use a standard IM 151-1 (6ES7 151-1AA03-0AB0) with a power module and four electronic modules 2-DO. The output adresses of the four 2-DO electronic modules (6ES7 132-4FB00-0AB0) were "packed":
  • 1st electronic module:  O 0.0..0.1
  • 2nd electronic module: O 0.2..0.3
  • 3rd electronic module:  O 0.4..0.5
  • 4th electronic module:  O 0.6..0.7 

The user program, in which bit operands access the packed outputs, is meant to be ported to a CPU IM151-7. Thus, the packed address area of O0.0 - O0.7 is no longer available. The "unpacked" address assignment could therefore be as follows:

  • 1st electronic module: O 0.0..0.1
  • 2nd electronic module: O 1.0..1.1
  • 3rd electronic module: O 2.0..2.1
  • 4th electronic module: O 3.0..3.1

In this case, the table of  dialog "Rewiring" is to be filled with the subsequent data:


Old Operand

New Operand

1 O0.2 O1.0
2 O0.3 O1.1
3 O0.4 O2.0
4 O0.5 O2.1
5 O0.6 O3.0
6 O0.6 O3.1

Table 1: Example for Item "Rewiring..."

  1. If, in addition to bit operands, operand areas (e.g. BYTE, WORD, DWORD) are also used that access to packed I/O data, then rewiring has to be done manually.

    Example:
    You use a IM 151-1 Standard (6ES7 151-1AA03-0AB0) with a power module and four 2-DI electronic modules. Input addresses of the four 2-DI electronic modules (6ES7 131-4FB00-0AB0) were "packed":
  • 1st electronic module: I 0.0..0.1
  • 2nd electronic module: I 0.2..0.3
  • 3rd electronic module: I 0.4..0.5
  • 4th electronic module: I 0.6..0.7 

In the user program those inputs are then retrieved e. g. via the command "L    IB 0 " and processed.
It is now intended to be ported to a IM151-7 CPU. The packed address area of I0.0 - I0.7 (IB 0) is therefore no longer available. The "unpacked" address assignment could therefore be as follows:

  • 1st electronic module: I 0.0..0.1
  • 2nd electronic module: I 1.0..1.1
  • 3rd electronic module: I 2.0..2.1
  • 4th electronic module: I 3.0..3.1

In this case, the command  "L    IB 0 " either has to be split into bit operands with new address areas or the input addresses are grouped to a new marker byte at the beginning of the  OB 1  (e. g. MB 0) for further processing. 

For details, please see 

  • manual "ET 200S Interfacemodul IM 151-7 CPU, edition 11/2003, Chapter 12.2", available under Entry-ID: 12714722 
  • online help of STEP 7, key word "Rewiring"