FAQ Build Errors
33002515 07/2012
201
Link Together with Variable isn’t Allowed
Overview
This error is reported in connection with INOUT pins. 
Example
Solution
Delete the link and insert the variable to the destination parameter of the link.
Adding text to pdf in acrobat - insert text into PDF content in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
XDoc.PDF for .NET, providing C# demo code for inserting text to PDF file
how to insert text box in pdf; how to insert text in pdf using preview
Adding text to pdf in acrobat - VB.NET PDF insert text library: insert text into PDF content in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program
how to add text to a pdf file in acrobat; how to add text to pdf document
FAQ Build Errors
202
33002515 07/2012
Data Type ’xxxx’ Expected 
Example
Solution
Replace used data types according to the required type. 
The following picture shows the error correction for the 115.1 function block, where 
the type of output (MW100) has been modified to the type used for the input (REAL). 
The Concept converter of V1.0 estimates the type from the address and does not 
take the actual type into account. This is subject to a later version.
VB.NET PDF: How to Create Watermark on PDF Document within
Via our PDF Watermark Creator, users are capable of adding a designed watermark and customizing it on many aspects, for example, typing any text word and
add text fields to pdf; how to enter text in pdf
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
other documents are compatible, including PDF, TIFF, MS in offering full options on adding and creating hand, free hand line, rectangle, text, hotspot, hotspot
add text pdf file; how to add text to a pdf in preview
FAQ Build Errors
33002515 07/2012
203
Retyping EFB Parameter
Another reason of this message can be e.g., that the EFB parameter has been 
retyped to ANY_ARRAY_WORD. See also Parameter type changed.
Combinations of Variables, Variable Instances and Parameters from Concept
Coming from Concept are the following combinations of variables, variable 
instances and parameters (pins):
NOTE: So there are three + n different types possible to be declared for a register 
variable in Concept (1(2=>n),4,6) .
Element
Description
Variable 
Declarations
z
The variable declaration has a type of its own and can have a register
z
Several variable declarations can have individual types and the same 
register
CP_GV1 "Symbol" 4:100 DPM_Time INIT: FALSE 0 EXP: FALSE 
RET: FALSE READONLY: FALSE MAS: FALSE TEXT: 
CP_GV1 "SymbolElem" 4:100 IEC_INT_ID INIT: FALSE 0 EXP: 
FALSE RET: FALSE READONLY: FALSE MAS: FALSE TEXT: 
Varaiable 
Instances
z
Variable INSTANCES coming with a SYMBOL have no own type and no 
register and use the type of the necessary variable declaration.
CP_GVI NAMED_VAR: "SymbolElem" 10 9 FP_IO_OUTPUT
z
The variable instance can come with a register, in this case it has a type 
of its own in the instance declaration and no symbol.
CP_GVI REG_VAR: 4:100 27 16 FP_IO_INPUT DPM_Time EXP: 
FALSE RET: TRUE MAS: FALSE 
z
It is not necessary to have a variable declaration for register variable 
instances:
z
Textual anonymous declarations (AT %MWxx:DDT;) are equivalent 
to variable instance declarations with register and declare the type as 
well.
z
The type is forced to be the same as an existing variable declaration. 
If they are conflicting, the declaration is refused in Concept. 
CP__ST AT %QW102: REAL;
Parameters
The pin a variable instance is attached to has a type of its own, which is not 
necessarily the same as that of the variable instance.
It cannot be changed and can be generic.
VS_FRM "IN1" HIDE POSL 2 FP_IO_INPUT FP_INP_NORMAL 
FP_LOC_OUTSIDE INT TEXT:
VS_FRM "IN" HIDE POSL 2 FP_IO_INPUT FP_INP_NORMAL 
FP_LOC_OUTSIDE ANY TEXT:
FAQ Build Errors
204
33002515 07/2012
Type Declaration in Unity
Unity accepts one type declared with a symbol associated to a register. If the 
register is used directly, only its default type is assumed.
To generate code, the type and size of a variable attached to a pin must be 
determined to one type. Different pins might have different types.
Register Variable Instance
If there is a register variable instance with its type and additionally a variable 
declaration with a different type and the same register, Concept generates code 
according to the type supplied with the register or with the symbol individual for each 
pin.
Default Type
Unity knows only a default type for registers. If this type is to be changed, a variable 
with a symbol must be declared to carry the type, but two symbols with different 
types for one register are not accepted.
Unity does not import the second variable, if this application is imported.
Behaviour of Variables, Variable Instances and Parameters in Unity
If...
And There Is...
Then...
symbols are used with a 
variable instance
-
z
the type declared in the 
declaration with the 
symbol is to be used
z
the type of a possibly 
present register variable 
instance is not
a register variable with a type 
different from the default is to 
be used
already a variable declaration 
with the same register, but a 
different type
an error message for this 
impossibility is issued. 
a register variable with a type 
different from the default is to 
be used
a variable declaration with the 
same register with the same 
type
its symbol is to be used 
instead of the direct address.
a register variable with a type 
different from the default is to 
be used
no variable declaration with 
the same register
an artificial symbol is to be 
declared and used instead of 
the direct address. 
FAQ Build Errors
33002515 07/2012
205
Other Type Mismatch Cases
Other type mismatch cases are reported with a build(=analyze) message and left to 
be resolved by the user.
Word Arrays in Communication Blocks
Communication blocks have Word arrays as parameters, whic are defined in 
Concept with a reference to the first Word only. 
The size of the array is often given by the content of a variable, which is defined 
during run-time. So the size cannot be determined by the converter. 
The user must determine the maximum size and declare the array accordingly by 
himself.
Example from Concept
a pin in the Unity template 
has the type 
ANY_ARRAY_WORD
-
an attached register variable 
could get the type 
ARRAY[0..0] OF WORD, if it 
previously had the type 
WORD.
the register is used also at 
pins with the type WORD
-
the register gets the index [0] 
attached.
If...
And There Is...
Then...
Step
Action
1
All array members appear as single variables. In Unity, they must be combined to an array. 
2
This is prepared by the converter by declaring a variable with the range of [0..0]. 
FAQ Build Errors
206
33002515 07/2012
3
This leads to a set of analyze messages to make the user aware of the correction need. In this case, the 
correction of the user should look like:
4
The source code related to this is in this case:
{RESET_CONV <DFB> : [RC_HSK_1]} : (r: 2, c: 2) E1063 call of non-function block
{RESET_CONV <DFB> : [RC_HSK_1]} : (r: 4, c: 29) E1067 ’Q’ is not a member of 
’SECT_CTRL’
Step
Action
FAQ Build Errors
33002515 07/2012
207
Empty DFB to Replace Obsolete EFB
Cause
A few standard EFB have not been ported from Concept to Unity. 
If the Converter finds one of them, it inserts an Empty DFB with the same 
parameters as the original to allow building of the application and to give the 
possibility to the user to substitute the original with code of his own. 
Solution
Insert the code into the body of the empty DFB, which contains the command to 
generate a message like the following in it:
{S1 : [REAL_W2]} : (r: 1, c: 2) E1189 converter error: ’Empty 
DFB to replace obsolete EFB - fill by user’
The command for the message has to be deleted, if valid code has been filled into 
the DFB body to allow building of the application.
NOTE: Because the ANY type is not allowed on DFBs in Unity, an additional 
problem occurs if this type has been used in the substituted EFB (e.g. XXMIT EFB).
Customer Defined EFBs
Customer defined EFBs are not converted. If you want to convert an application 
using Customer defined EFBs, get in contact with Schneider support.
FAQ Build Errors
208
33002515 07/2012
Undefined Symbol ’xxxx’ 
Wrong SFC Section Name
Explanation
This message is given sometimes in conjunction with the block 
SFCCNTRL.
The message means, that the SFC section name, which has to be 
attached to the CHARTREF input is not the name of an existing SFC 
section inside of the current application.
Solution
Create the according section and the message disappears.
FAQ Build Errors
33002515 07/2012
209
Wrong Instance Name
Explanation
Another reason of such a message can be (IPR 20020), that a Concept 
function block now in Unity is a function or a procedure. 
The converter does conversion work in the textual languages ST and IL half-
automatic in the case of this incompatibility. The instance name of Concept 
is removed and substituted by the type name, also for addressing outputs, 
which is then an illegal syntax:
LOOKUP_TABLE1(X := ODT, 
XiYi1 := -30.0, XiYi2 := PARA.p1,
XiYi3 := -20.0, XiYi4 := PARA.p2,
XiYi5 := -10.0, XiYi6 := PARA.p3,
XiYi7 := 0.0, XiYi8 := PARA.p4,
XiYi9 := 10.0, XiYi10:= PARA.p5,
XiYi11:= 20.0, XiYi12:= PARA.p6);
OUT := LOOKUP_TABLE1.Y;
Solution
The last line must be corrected manually. Using the output assign operator, 
this statement must be changed and moved inside the call parentheses:
LOOKUP_TABLE1(X := ODT, 
XiYi1 := -30.0, XiYi2 := PARA.p1,
XiYi3 := -20.0, XiYi4 := PARA.p2,
XiYi5 := -10.0, XiYi6 := PARA.p3,
XiYi7 := 0.0, XiYi8 := PARA.p4,
XiYi9 := 10.0, XiYi10:= PARA.p5,
XiYi11:= 20.0, XiYi12:= PARA.p6,
Y=>OUT);
FAQ Build Errors
210
33002515 07/2012
Call of Non-Function Block 
Cause
This message can appear, when a Concept function block now in Unity is a function 
or a procedure.
The converter removes the instance name of the Concept-block and substitutes it 
with the type name and moves assignments of outputs inside the invocation 
parentheses.
For the blocks GET_BIT and SET_BIT, the treatment does not completely apply 
(IPR 20015). During analysis, messages occur:
{INPUTS : [MAST]} : (r: 7, c: 4) E1063 call of non-function 
block
The function names remain marked as erroneous after conversion, because the 
functions are converted with the procedure syntax in ST, not with the needed 
function syntax, as the corrected version shows. Also, the converter has dropped the 
indices for the result variable of GET_BIT.
Example
Original Concept Codes
After Conversion
Corrected Version
VAR
INPUT_WORD : GET_BIT;
END_VAR;
FOR I_BASE := 1 TO 20 DO
FOR I_POINT := 1 TO 16 DO
INPUT_WORD 
(IN:=IO_SCAN_IN_WORD[I_BASE]
, NO:=I_POINT);
INPUT[I_BASE,I_POINT] := 
INPUT_WORD.RES;
END_FOR;
END_FOR;
FOR I_BASE := 1 TO 20 DO
FOR I_POINT := 1 TO 16 DO
GET_BIT(IN:=IO_SCAN_IN_WORD
[I_BASE], 
NO:=I_POINT,
RES => INPUT);
END_FOR;
FOR I_BASE := 1 TO 20 DO
FOR I_POINT := 1 TO 16 DO
INPUT[I_BASE,I_POINT]:= 
GET_BIT(IN:=IO_SCAN_IN_WORD
[I_BASE],
NO:=I_POINT);
END_FOR;
END_FOR;
Documents you may be interested
Documents you may be interested