show the entry list
PROFIBUS S7-300/400 CPs -- Configuring and programming communication -- Using communication blocks
How do you program the communication blocks FC50 and FC60?
How do you program communication blocks FB12 "BSEND" and FB13 "BRCV" for data exchange in the S7 program of an S7-300 CPU?
How do you program communication blocks FB14 "GET" and FB15 "PUT" for data exchange in the S7 program of an S7-300 CPU?
Which blocks for Modbus TCP can you rename or re-wire when the block numbers of the Mode blocks are already being used in the user program?
How do you program the function blocks FB14 "GET" and FB15 "PUT" in the S7 program of the S7-300 in order to transfer more than 160 bytes of data?
Where can you find sample programs and documentation for using the PROFIBUS DP protocol for data communication between SIMATIC S5 modules and SIMATIC S7 modules?
Where can you find sample programs and documentation for communication from SIMATIC S5 modules to SIMATIC S7 modules by way of PROFIBUS using the free Layer 2 of the FDL protocol?
Where can you find sample programs and documentation for communication from SIMATIC S5 modules to SIMATIC S7 modules by way of PROFIBUS using the FDL protocol?
Where can you find sample programs and documentation for using the PROFIBUS FMS protocol for data communication between SIMATIC S5 modules and SIMATIC S7 modules as well as for data communication between SIMATIC S5 modules and PCs?
Notes on using an instance for multiple connection IDs
Processing the data from DP slaves via CP342-5 on CPU31x
Block calls for communications processors in multiple runtime layers
Changing the input parameter of the user blocks "AG_SEND" and "AG_RECV" during the runtime of a job
What should you watch out for if you transfer variables with the data type "REAL" when calling the communication blocks FC5/50 "AG_SEND/AG_LSEND" and FC6/60 "AG_RCV/AG_LRCV"?
How do you program the communication blocks FC5 and FC6?
What properties and special features does S7 Basis Communication offer?
PROFIBUS: diagnostics of S7 connections with STEP 7
Repeating the "BSEND" job (SFB12) when the "BRCV" block (SFB13) is in the "disabled" state ("EN_R = 0")
How do you program communication blocks FB8 "USEND" and FB9 "URCV" for data exchange on the S7-300?
Particularities when assigning parameters of the communication blocks of CP 342 / CP 343
What should you watch out for when upgrading the CP 342-5 or fitting spare parts?
Which version of the function blocks do you need to operate a CP 342-5?
CP 342-5 -- How can you tell that the CP 342-5 has withdrawn from the PROFIBUS?
CP 342-5 -- How do you program data communications when your DP slave only has outputs?
CP 342-5 -- How can you read and write consistent data of a DP slave via the CP 342-5?
Particularities when assigning parameters of the communication blocks of CP 342 / CP 343
Part number:

QUESTION:  
Why doesn't the communication block of CP342-5 / CP343-1 / CP343-5 work when I assign the ANY parameter symbolically?

ANSWER:  
For data transfer with CP342-5 / CP343-1 / CP343-5 you are using one of the following communication blocks:

  • FC 1 "DP_SEND"
  • FC 2 "DP_RECV"
  • FC 3 "DP_DIAG"
  • FC 4 "DP_CTRL"
  • FC 5 "AG_SEND"
  • FC 6 "AG_RECV"

The Help specifies that only specific VARTYPES (e.g. bytes) are permitted for the ANY parameter.

In a program without symbols you assign the ANY parameter directly with the pointer format as follows, for example:
P#db1.dbx0.0 byte 20
With this the communication works perfectly.

In a program with symbols the pointer input can under certain circumstances be converted into a symbolic input. In such cases it might happen that the blocks report an error.

Technical background:
If there is a symbol for the area addressed (e.g. in a data block), then the actual VARTYPE of the area is recognized and converted into the symbolic representation.
This is the case, for example, when an array of characters has been declared in the data block and the pointer length matches the byte length of the array. Then the VARTYPE CHAR is used instead of the VARTYPE BYTE - consequently the block reports an error.

Remedy:
Either you provide for actual bytes in the memory area (i.e. only bytes are defined in the data block) or you do not permit the compiler to convert into symbols. You can achieve this by addressing slightly less than the symbolic area.


 Entry ID:19221073   Date:2004-07-27 
I regard this article....as helpfulas not helpful                                 
mySupport
My Documentation Manager 
Newsletter 
CAx-Download-Manager 
Support Request
To this entry
Print
Create PDF 
Send to a friend
QuickLinks
Compatibility tool 
Help
Online Help
Guided Tour