WinCC Configuration Manual

Add to my manuals
456 Pages

advertisement

WinCC Configuration Manual | Manualzz
WinCC
Configuration Manual
Manual
Volume 2
C79000-G8276-C140-01
Edition February 1999
WinCC, SIMATIC, SINEC, STEP are Siemens registered trademarks.
All other product and system names in this manual are (registered) trademarks of their respective owners and
must be treated accordingly.
(The reproduction, transmission or use of this document or its
contents is not permitted without express written authority.
Offenders will be liable for damages. All rights, including rights
created by patent grant or registration of a utility model or
design, are reserved.)
(We have checked the contents of this manual for agreement
with the hardware and software described. Since deviations
cannot be precluded entirely, we cannot guarantee full
agreement. However, the data in this manual are reviewed
regularly and any necessary corrections included in subsequent
editions. Suggestions for improvement are welcomed.)
 Siemens AG 1994 - 1999 All rights reserved
Technical data subject to change
C79000-G8276-C140-01
Printed in the Federal Republic of Germany
Siemens Aktiengesellschaft
Table of Contents
1
Configuration - Examples .........................................................
1-1
2
Tags (Project: varia_00.mcp)....................................................
2-1
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.3
2.3.1
2-2
2-7
2-8
2-10
2-13
2-17
2-19
2-22
2-27
2-28
2.3.2
2.3.3
2.3.4
2.4
2.4.1
2.4.2
2.4.3
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.6
2.6.1
2.6.2
2.7
2.8
2.8.1
2.9
2.9.1
3
Creating, grouping and moving tags.............................................
Incrementing, decrementing and jogging ......................................
Jogging - changing a set value (example 01)................................
Jogging - changing a set value using Global Script (example 02) .
Jogging - buttons (example 05)....................................................
Jogging - changeover switch (example 06)...................................
Incrementing and decrementing (example 01)..............................
Incrementing and decrementing using Global Script (example 02)
The other examples related to this topic .......................................
Changing tag value using Windows Objects.................................
Inputting by means of a slider with direct connection
(example 01)................................................................................
Inputting by means of slider and tag connection (example 03)......
Inputting by means of an Option Group (example 02)...................
Inputting by means of check box (example 04).............................
Bit editing in words.......................................................................
Directly setting a bit with the aid of a check box and direct
connection (example 06)..............................................................
Selecting a bit and changing its state (example 01) ......................
The other examples related to this topic .......................................
Indirect addressing of tags ...........................................................
Indirect addressing by means of a direct connection
(example 01)................................................................................
Multiplex display using indirect addressing and a C action
(example 02)................................................................................
Indirect addressing by means of C action (example 03)................
The other examples related to this topic .......................................
Simulation of tags ........................................................................
Simulating a triangular oscillation by means of a C action
(example 01)................................................................................
Simulation by means of an external program (example 02) ..........
Importing / exporting tags.............................................................
Using structure tags .....................................................................
Valve control by means of a structure tag (example 01) ...............
Serial connection to S5 ................................................................
The other examples related to this topic .......................................
Picture configuration (Project: pictu_00.mcp) ........................
3.1
3.1.1
3.2
3.2.1
Screen layout and changing pictures............................................
Laying out the screen...................................................................
Picture change.............................................................................
Opening a picture by means of a direct connection and
displaying the picture name (example 01) ....................................
WinCC Configuration Manual
C79000-G8276-C140-01
2-29
2-32
2-34
2-36
2-39
2-40
2-43
2-46
2-47
2-48
2-50
2-52
2-54
2-55
2-56
2-59
2-61
2-63
2-64
2-67
2-68
3-1
3-3
3-4
3-6
3-7
i
7DEOHRI&RQWHQWV
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.2.7
3.3
3.3.1
3.3.2
3.3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.5
3.5.1
3.5.2
3.5.3
3.6
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.7
3.7.1
3.7.2
3.7.3
3.7.4
3.7.5
3.7.6
3.7.7
3.7.8
ii
Opening a picture by means of the Dynamic Wizard
(example 02) ...............................................................................
Opening a picture by means of internal function (example 02)......
Single picture change by means of the Dynamic Wizard
(example 03) ...............................................................................
Single picture change by means of a direct connection
(example 04) ...............................................................................
Opening a picture by means of the object name and an internal
function (example 05) ..................................................................
Opening a picture by means of the object name and a tag
connection, with display of the picture name (example 06) ...........
Shutdown WinCC / access protection ..........................................
Shutting down (exiting) runtime and the system (example 01) ......
Access protection, login by means of a standard box
(example 02) ...............................................................................
Operator-Control Enable, login in a separate dialog box
(example 03) ...............................................................................
Showing a picture window............................................................
Showing and hiding from outside a picture window (example 01) .
Showing from outside and hiding from inside a picture window
(example 02) ..............................................................................
Time-controlled hiding of a picture window (example 03)..............
Showing a picture window while holding down the right mouse
button (example 04).....................................................................
Configuring info (instruction) boxes with the wizard (example 05).
Showing a dialog box for entering text (example 06) ....................
Zoom...........................................................................................
Changing picture geometry between two sizes (example 01) .......
Changing the picture geometry steplessly (smooth zoom)
(example 02) ...............................................................................
Configuring adjustable picture geometry by means of the
properties dialog (example 03).....................................................
Operator panels...........................................................................
Binary switching operation (two-step control) (example 01) ..........
Binary S/R switching operation (two-step control) (example 02) ...
Binary switching operation with acknowledgement (example 03)..
Automatic input check (example 04) ............................................
Enhanced automatic input check (example 05) ............................
Multiple operation (example 06) ...................................................
Dynamics ....................................................................................
Color change (example 01)..........................................................
Text exchange (example 02)........................................................
Animation of movement (example 03)..........................................
Showing and hiding objects by means of bit evaluation
(example 04) ...............................................................................
Animation of movement by means of a C action (example 05) .....
Create animation of movement by means of a wizard
(example 06) ...............................................................................
Color change by means of a C action (example 06) .....................
Animation of movement by means of a status display
(example 07) ...............................................................................
3-12
3-14
3-15
3-17
3-19
3-21
3-25
3-26
3-28
3-31
3-33
3-34
3-36
3-37
3-39
3-40
3-44
3-46
3-47
3-50
3-52
3-53
3-54
3-56
3-58
3-60
3-62
3-66
3-70
3-71
3-73
3-74
3-75
3-77
3-79
3-81
3-82
WinCC Configuration Manual
C79000-G8276-C140-01
7DEOHRI&RQWHQWV
3.8
3.8.1
3.8.2
Language switch..........................................................................
Change runtime language (example 01).......................................
Dialog box for changing the runtime and Control Center language
(example 02)................................................................................
Working without a mouse.............................................................
Operation with the TAB key or hot key (example 01) ....................
Cursor keyboard (example 02).....................................................
Value input, control actions (example 03).....................................
Showing and hiding information ...................................................
Showing and hiding objects (example 01) ....................................
Displaying the date and time (example 02)...................................
Configuring messages .................................................................
3-86
3-87
3-88
3-96
3-101
3-104
3-105
3-107
3-109
Additional Functions in WinCC (Project: example_01.mcp)..
4-1
3.9
3.9.1
3.9.2
3.9.3
3.10
3.10.1
3.10.2
3.11
4
4.1
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.7
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.2.8
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
4.3.8
4.3.9
4.4
4.4.1
4.5
4.5.1
4.5.2
4.5.3
4.5.4
5
3-84
3-85
Tag Logging.................................................................................
Cyclic-Continuous Archiving (ex_3_chapter_01.PDL) ...................
Cyclic-Selective Archiving (ex_3_chapter_01a.PDL) ....................
Archiving if Value is Exceeded (ex_3_chapter_01b.PDL) .............
User defined table layout (ex_3_chapter_01c.PDL)......................
Archiving of binary tags (ex_3_chapter_01d.PDL) ........................
Archiving at Set Times (ex_3_chapter_01e.PDL) .........................
Exporting an Archive (ex_3_chapter_01f.PDL) .............................
Alarm Logging..............................................................................
Bit Message Procedure (ex_3_chapter_02.PDL) ..........................
Bit Message Procedure (Continued).............................................
Analog Alarms (ex_3_chapter_02a.PDL)......................................
Analog Alarms (continued) ...........................................................
Message Window (ex_3_chapter_02b.PDL).................................
Message Archiving (ex_3_chapter_02c.PDL) ...............................
WinCC Alarm Control (ex_3_chapter_02d.PDL)...........................
Group Messages (ex_8_generator_00.PDL) ................................
Report Designer...........................................................................
Picture Documentation (ex_3_chapter_03.PDL)...........................
Reporting the Project Function (ex_3_chapter_03.PDL) ...............
Reporting of the Control Center (ex_3_chapter_03.PDL)..............
Reporting of Tag Logging CS (ex_3_chapter_03.PDL) .................
Print Out the Trend Window in Runtime (ex_3_chapter_01a.PDL)
Printing Out the Table in Runtime (ex_3_chapter_01c.PDL) .........
Message Sequence Report (ex_3_chapter_02b.PDL) ..................
Message Sequence Report on a Line Printer ...............................
Message Archive Report (ex_3_chapter_02c.PDL) ......................
OLE Communication to EXCEL....................................................
Reading and Writing Tag Values (ex_3_chapter_04.PDL) ............
Additional Configurations in the Examples....................................
Picture Register ...........................................................................
Table of Contents ........................................................................
Dialog Boxes for Setting Colors (ex_3_chapter_01c)....................
Bar Graph Display (ex_3_chapter_01e) .......................................
4-2
4-3
4-18
4-24
4-33
4-42
4-46
4-50
4-55
4-56
4-69
4-78
4-84
4-95
4-98
4-105
4-109
4-117
4-118
4-124
4-127
4-130
4-132
4-139
4-143
4-146
4-148
4-150
4-151
4-155
4-156
4-160
4-163
4-166
User Archive ..............................................................................
5-1
WinCC Configuration Manual
C79000-G8276-C140-01
iii
7DEOHRI&RQWHQWV
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.1.6
5.1.7
5.1.8
5.1.9
5.1.10
iv
User Archive................................................................................
Creating a User Archive (ex_3_chapter_01.PDL) .........................
Data Entry (ex_3_chapter_01.PDL) .............................................
Configuring a Table View (ex_3_chapter_01.PDL) .......................
Configuring a Form View (ex_3_chapter_011.PDL)......................
Working with Control Tags (ex_3_chapter_012.PDL) ...................
Connecting via WinCC Tags (ex_3_chapter_01a.pdl) ..................
Connection via WinCC Raw Data Tags to the S5
(ex_3_chapter_01b.pdl) ...............................................................
Connection via WinCC Raw Data Tags to the S7
(ex_3_chapter_01c.pdl) ...............................................................
Status Monitoring of External Tags (ex_3_chapter_01c.pdl).........
Structure of raw data message frames.........................................
5-2
5-3
5-12
5-16
5-24
5-29
5-35
5-50
5-71
5-100
5-105
WinCC Configuration Manual
C79000-G8276-C140-01
7DEOHRI&RQWHQWV
3UHIDFH
3XUSRVHRIWKHPDQXDO
The purpose of this manual is to show you the options open to you when configuring with
WinCC and it does this by means of the following sections:
• description of example project YDULDB
• description of example project SLFWXB
• description of example project H[DPSOHB
The Contents or Index will point you quickly and easily to the information you require.
This information is of course also available as an on-line document in HTML format and
with enhanced search functions.
You will find general information on effective and efficient configuration with WinCC in
the :LQ&&&RQILJXUDWLRQ0DQXDO3DUW.
5HTXLUHPHQWVIRUXVLQJWKLVPDQXDO
Knowledge of WinCC *HWWLQJ6WDUWHG) or practical configuration experience using
WinCC.
$GGLWLRQDO6XSSRUW
For technical questions, please contact your local Siemens representative at the responsible
branch office.
Their addresses can be found at the "Siemens Worlwide Appendix" of the "S7-300
Programmable Controller System, Hardware and Installtion Manual", in catalogs, and at
CompuServe ("go autforum").
You can also direct your questions to our Hotline, which can be reached at:
+49 (911) 895-7000 (Fax 7001).
Additional information can be found on the Internet at the address:
www.aut.siemens.de/coros/html_00/coros.htm.
WinCC Configuration Manual
C79000-G8276-C140-01
v
7DEOHRI&RQWHQWV
,QIRUPDWLRQDERXW6,0$7,&3URGXFWV
Continuously updated information about SIMATIC products can be obtained:
• from the Internet at http://www.aut.siemens.de/
• via fax back service at 08765–93 02 77 95 00
Additionally, the SIMATIC Customer Support provides you with current information and
downloads helpful for the application of SIMATIC products. They can be reached:
• from the Internet at http://www.aut.siemens.de/support/html_00/index.shtml
• via the SIMATIC Customer Support Mailbox at +49 (911) 895–7100
• To access the mailbox, use a modem up to V.34 (28.8 kBaud). Set its parameters as
follows: 8, N, 1, ANSI, or dial-in via ISDN (x.75, 64 kBit).
The SIMATIC Customer Support can be reached by phone at +49 (911) 895–7000 and by
fax at +49 (911) 895–7002. Inquiries can also be made via Internet mail or to the above
mailbox.
vi
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWV
&RQILJXUDWLRQ([DPSOHV
In this section of the manual, we describe configuration using WinCC on the basis of
sample projects. Taking into account the multitude of potential applications WinCC has to
offer, the projects described below are to be seen only as examples of what can be done
with WinCC.
1RWH
The projects have been configured for a resolution of 1024 x 768. If you would prefer to
start the projects with a resolution of 800 x 600, you must select the window attributes )XOO
6FUHHQand6OLGHU under &RQWURO&HQWHU→&RPSXWHU→3URSHUWLHV→3URSHUWLHV→
*UDSKLFV5XQWLPH.
The partitioning of the screen and the associated presettings and scripts associated with this
are described in more detail in Chapter /D\LQJRXWWKHVFUHHQ näher beschrieben.
1RWH
There is frequently more than just a single method of tackling a particular task. If a task can
be implemented by means of a direct link, you should DOZD\V choose this type of
dynamization, since this is the method which offers the best level of performance in
runtime.
The consequence of configuring a direct link for an event is that when this event occurs
during runtime, the valueof a source element (source) is taken over for a destination
element (destination). Sources can take the form of constants, tags or the attributes of the
objects in the picture, while the dynamizable attributes of objects, the dynamizable
attributes of the eigenen window and tags can be used as destinations.
The advantages of the direct link are to be found in the simplicity of configuration and in
the link's time response during runtime.
WinCC Configuration Manual
C79000-G8276-C140-01
1-1
6DPSOHSURMHFWV
,QLWLDOL]DWLRQ
If required, initialization procedures are performed for the individual pictures. These
initialization procedures are configured under (YHQWV→ 0LVFHOODQHRXV → 2SHQ3LFWXUH.
1-2
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
7DJV3URMHFWYDULDBPFS
In this project, we will show you a number of ways of creating, changing and reusing
WinCC tags. There are three different types of tag in WinCC. ,QWHUQDOWDJV without process
driver connection, ([WHUQDOWDJV with process driver connection, and in the scripts, &WDJV.
In our examples, we will mainly be using LQWHUQDOWDJV and &WDJV.
The examples used for these topics are configured in the WinCC project entitled YDULDB.
WinCC Configuration Manual
C79000-G8276-C140-01
2-1
6DPSOH3URMHFWYDULDB
&UHDWLQJJURXSLQJDQGPRYLQJWDJV
In WinCC, tags can be created in the &RQWURO&HQWHU under the items 7DJ0DQDJHPHQW and
'DWD7\SHV.
7DJPDQDJHPHQW
When processing large volumes of data and, consequently, a large number of tags, it is
advisable to organize these tags into groups. Only in this way is it possible to keep a track
of things in large-scale projects. The tag groups, however, do nothing toward ensuring the
uniqueness of the tags. This is done solely by means of the tag names.
6WHS
8
1
To create a tag group for LQWHUQDOWDJV,
' the item. Then 5 the subitem
,QWHUQDOWDJV that appears in order to open the pop-up menu. Select the 1HZ
*URXS item.
2
In the window that appears, enter a suitable name (e.g. button). A new group
symbol with the name you have just entered now appears in the right window of
' the ,QWHUQDOWDJV item, this group symbol
the &RQWURO&HQWHU. If you now
and name will also appear as a further subitem in the left window. In our sample
project, grouping has been carried out in accordance with the sequence of the
chapters.
3
To create a tag in a tag group,
8
8'
85
the group symbol in the right window or
the corresponding symbol in the left window. Then
pop-up menu and select the 1HZ7DJ item.
2-2
8
3URFHGXUHFUHDWLQJWDJVLQWKH7DJ0DQDJHPHQW
8
this symbol to open the
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
4
3URFHGXUHFUHDWLQJWDJVLQWKH7DJ0DQDJHPHQW
On the *HQHUDO,QIRUPDWLRQ tab in the window that appears, enter a tag name.
Then select the GDWDW\SH you want from the list box immediately below. An
$GGUHVV does not have to be set for internal tags.
1RWH
The current status of the tag in the process image can be queried in the &RQWURO&HQWHU by
means of a tool tip while runtime is active.
'DWDW\SHV
A new tag can also be created by means of the 'DWD7\SHV item.
You can choose from the following data types:
6WHS
8'
85
3URFHGXUHFUHDWLQJWDJVE\PHDQVRIWKH'DWD7\SHVPHQXLWHP
1
By
2
the desired type, open the pop-up menu and select the appropriate item.
By
A selection window appears which controls how the tag to be created is to be
assigned.
WinCC Configuration Manual
C79000-G8276-C140-01
the 'DWD7\SHV item, a list of the data types available appears.
2-3
6DPSOH3URMHFWYDULDB
6WHS
3
3URFHGXUHFUHDWLQJWDJVE\PHDQVRIWKH'DWD7\SHVPHQXLWHP
When you click the 2. button, you are returned to the *HQHUDO,QIRUPDWLRQ tab
in the 7DJSURSHUWLHV window under the Tag Management item.
0RYLQJWDJV
To move tags from one group to another, proceed as follows:
6WHS
1
2
85
3URFHGXUHPRYLQJWDJV
the tag in question to open the pop-up menu and select the &XW item.
Switch to the group to which the tag is to be moved. Open the pop-up menu in
this group and select 3DVWH.
The same procedure can also be used for several tags simultaneously.
1RWH
If you want to cut or delete tags in the Control Center, runtime must not be active.
If you require a large number of tags which should all have the same tag name but be
numbered consecutively, you only have to create one tag of this type. You can copy this tag
using the pop-up menu and then insert (paste) it as often as you want. The tags will be
numbered automatically in ascending order. You should take this possibility into account
when defining the name convention for tags.
([WHUQDOWDJV
Before you can create external tags in the Tag Management, you first have to configure a
connection to a programmable controller. You do not, however, have to install this
connection in the sense of hardware; all you have to do is install the desired communication
driver and configure the desired connection.
6WHS
1
85
3URFHGXUH
the Tag Management item to open the pop-up menu and select the $GG1HZ
item.
'ULYHU
2-4
2
Select the driver you want from the list displayed and click the 2SHQ button. A
new subitem with the name of the driver appears in the left window of the
&RQWURO&HQWHU.
3
' this new subitem, a further subitem appears. 5 this new subitem
If you
to open the pop-up menu and select the 1HZ'ULYHU&RQQHFWLRQ item.
8
8
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUH
4
On the *HQHUDO,QIRUPDWLRQ tab, give the connection a name.
The tab named after the driver is used to make the connection settings. The
connection is created when you click the 2. button.
5
5 the new subitem created, which represents the
Open the pop-up menu by
new connection. This menu enables you to create tag groups and tags in the usual
way.
6
When you create an H[WHUQDOWDJ, you must also define the addressing and format
adjustment in addition to the settings for LQWHUQDOWDJV. The addressing refers to
the address of the tag in the programmable controller.
8
6WUXFWXUHWDJV
Structure tags are used to enable a larger number of different tags and tag types which form
a logical unit to be combined. These tag and tag types can then be addressed under one
name.
A structure tag consists of a number of individual tags, which can represent the most varied
out data types.
6WHS
3URFHGXUH
8
1
5 the 6WUXFWXUHWDJ item to open the pop-up menu
To create a new structure,
and select the 1HZ6WUXFWXUH7\SH item.
2
In the window that appears,
5 1HZ6WUXFWXUH and select 5HQDPH in the pop-up
menu that appears. Give the new structure a name.
You can then add a new structure element by clicking the 1HZHOHPHQW button.
3
WinCC Configuration Manual
C79000-G8276-C140-01
8
2-5
6DPSOH3URMHFWYDULDB
6WHS
4
8
3URFHGXUH
By
5 the new element created, you can select its data type and enter its name.
For each structure element, you must define whether it refers to an internal or an
external tag. You conclude configuration and create the structure type by clicking
the 2. button.
1RWH
Once a structure type has been created, it cannot be reconfigured. The complete structure
type must be redefined.
A structure tag is created in the same way as all other types of tag, but the data type used
must be structure type created.
The name of the individual elements of the structure tag created is composed of the
structure name assigned when creating the tag and the element name assigned when
creating the structure type. The two are separated in the name by a dot.
2-6
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
,QFUHPHQWLQJGHFUHPHQWLQJDQGMRJJLQJ
8
In runtime, you access the examples that relate to these topics in
the button depicted above. The examples are configured in the
our YDULDB project by
pictures YDULDBBFKDSWHUBSGO and YDULDBBFKDSWHUBDSGO.
'HILQLWLRQ
refers to the increasing of a tag value by a fixed or variable increment.
refers to the decreasing of a tag value by a fixed or variable increment.
-RJJLQJ refers to the execution of an action when a EXWWRQ is clicked (comparable with
pressing a pushbutton). In the case of binary signals, this represents, as a rule, the triggering
of a device. With analog values, a set value can be changed by means of jogging.
,QFUHPHQWLQJ
'HFUHPHQWLQJ
WinCC Configuration Manual
C79000-G8276-C140-01
2-7
6DPSOH3URMHFWYDULDB
-RJJLQJFKDQJLQJDVHWYDOXHH[DPSOH
7DVNGHILQLWLRQ
Jogging is to be performed using the mouse.
A set value is to be changed in fixed steps by clicking a button. This changing of the value
is to be restricted to fixed limits.
The changes are to be implemented locally in the picture.
,PSOHPHQWDWLRQFRQFHSW
8
We implement changing of the set value by means of two buttons, which we create under
→; changing is event-driven. When the EXWWRQ is , the value of an LQWHUQDOWDJ is
changed to the extent of one increment. The increment is specified beforehand and cannot
be altered during runtime. The change in the set value is implemented by means of a &
DFWLRQ.
The change in the set value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG. The
output value of the,2ILHOG is linked to the LQWHUQDOWDJ.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFKDQJLQJDVHWYDOXHLQIL[HGVWHSV
1
Create a tag of type 6LJQHGELWYDOXH in Tag Management. In our example, we
use the tag called 6LBYDULDBEXWB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named 6LBYDULDBEXWB, change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW.
3
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ
4
To change the set value, create a &DFWLRQ by the object and selecting
3URSHUWLHV(YHQWV→0RXVH→3UHVVOHIW. This &DFWLRQ changes the value of
the tag each time the button is clicked with the
and checked in the &DFWLRQ.
5
2-8
8
. The limit value is specified
Configure decrementation of the set value in the same way. In our example, we
use the object called %XWWRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
C action for Button2
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
DWORD value;
value=GetTagDWord("S32i_varia_but_00"); //get tag value
if (value>1300) (value=1400);
//check limit
else value=value+100;
//inc value
SetTagDWord("S32i_varia_but_00",value); //set new value
}
• Declare the C tag value.
• Use the LQWHUQDOIXQFWLRQ *HW7DJ':RUG to read out the current value from tag
6LBYDULDBEXWB.
• In the LI inquiry, check whether the value of the tag is greater than 1300. If it is, 1400
will be specified as the upper limit. If the value of the tag is less than 1300, the
instruction in the HOVH branch is executed and the value is raised in this way by 100.
• The LQWHUQDOIXQFWLRQ 6HW7DJ':RUG then returns the changed value to the
6LBYDULDBEXWB tag.
1RWHVRQJHQHUDOXVH
The &DFWLRQV linked to the two EXWWRQV can be used after changes have been made to the
tag (internal or external), the limits and the increment.
WinCC Configuration Manual
C79000-G8276-C140-01
2-9
6DPSOH3URMHFWYDULDB
-RJJLQJFKDQJLQJDVHWYDOXHXVLQJ*OREDO6FULSWH[DPSOH
7DVNGHILQLWLRQ
Jogging is to be performed using the mouse.
A set value is to be changed in fixed steps by clicking a button. This changing of the value
is to be restricted to fixed limits.
It is to be implemented with the aid of a SURMHFWIXQFWLRQ.
,PSOHPHQWDWLRQFRQFHSW
8
We implement changing of the set value by means of two buttons, which we create under
→; changing is event-driven. When the EXWWRQ is , the value of an LQWHUQDOWDJ is
changed to the extent of one increment. The increment is specified beforehand and cannot
be altered during runtime. The change in the set value is implemented by means of a SURMHFW
IXQFWLRQ.
The change in the set value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG. The
output value of the,2ILHOG is linked to the LQWHUQDOWDJ.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFUHDWLQJWKHSURMHFWIXQFWLRQ
1
2
Open the *OREDO6FULSW editor from the &RQWURO&HQWHU.
3
Assign this new function the name ,QF'HF9DOXH and save the function by
selecting )LOH→6DYH$V→,QF'HF9DOXHIFW.
4
Program and compile the function.
Create a new function by selecting )LOH→1HZ3URMHFW)XQFWLRQ.
Project function IncDecValue
void IncDecValue(DWORD *value,DWORD low,DWORD high,DWORD step,DWORD
a)
{
DWORD v;
v=*value; //get current value
switch (a){
case 0: {
if (v<step) (v=0); //low limit
else v=v-step;
//decrement
} //case 0
break;
case 1:{
if (v>(high-step))
(v=high);
//high limit
else v=v+step;
//increment
}//case 1
break;
}//switch
*value=v; //return
}
2-10
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
• The function header with the name of the project function ,QF'HF9DOXH and the transfer
parameters. We use the same SURMHFWIXQFWLRQ for incrementing and decrementing.
• The declaration of the tag.
• When the function is called, it is not the tag to be processed that is transferred as the
transfer parameter, but only its address. The contents of this address are read into the
&WDJ Y.
• Using the VZLWFK statement, evaluate the information of the direction tag D.
• In the relevant FDVH branch, check the limit values and specify the maximum or
minimum value if the limit is exceeded.
• If the limit is not violated, change the current value.
• Transfer the current set value to the address of the tag to be processed.
Implementing in the WinCC project
6WHS
3URFHGXUHFKDQJLQJDVHWYDOXHLQIL[HGVWHSV
1
Create a tag of type 6LJQHGELWYDOXH in Tag Management. In our example, we
use the tag called 6LBYDULDBEXWB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG.
In our example, we use the object called I/O Field2. When configuring the,2
ILHOG in the FRQILJXUDWLRQGLDORJ, select the tag named 6LBYDULDBEXWB. change
the entry in the list box from the default value of 2s to 8SRQFKDQJH and change
the field type entry (7\SH) to 2XWSXW.
3
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ
4
To change the set value, create a &DFWLRQ by the object and selecting
3URSHUWLHV(YHQWV→0RXVH→3UHVVOHIW. This &DFWLRQ calls the SURMHFW
IXQFWLRQ ,QF'HF9DOXH and transfers the required parameters to it. The changes the
. The limits are
value of the tag each time the EXWWRQ is clicked with the
specified as the transfer parameters when the SURMHFWIXQFWLRQ is called. They are
checked in the SURMHFWIXQFWLRQ.
8
5
Configure decrementation of the set value in the same way. In our example, we
use the object called %XWWRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
2-11
6DPSOH3URMHFWYDULDB
C action for Button7
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
DWORD value;
value=GetTagDWord("S32i_varia_but_04");
//IncDecValue(DWORD *value,DWORD low,DWORD high,DWORD step,DWORD a )
IncDecValue(&value,0,1400,100,1);
SetTagDWord("S32i_varia_but_04",value);
}
• Use the LQWHUQDOIXQFWLRQ *HW7DJ':RUG to read out the current value of the LQWHUQDO
WDJV.
• Call the SURMHFWIXQFWLRQ ,QF'HF9DOXHand transfer the parameters (3RLQWHUWRWDJ,
/RZHUOLPLW8SSHUOLPLW,QFUHPHQW'LUHFWLRQ.
• Use the LQWHUQDOIXQFWLRQ 6HW7DJ':RUG to transfer the changed value to the LQWHUQDO
WDJ.
1RWHVRQJHQHUDOXVH
The SURMHFWIXQFWLRQ can be used immediately without any further changes being required.
In the &DFWLRQ used for calling the SURMHFWIXQFWLRQ, adapt the transfer parameters to suit
your own requirements.
2-12
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
-RJJLQJEXWWRQVH[DPSOH
→
You access the solutions to these subjects in our project called YDULDBby choosing the
two EXWWRQVwith the
. They are configured in the picture with the name
SLFWXBBFKDSWHUBDSGO.
8
7DVNGHILQLWLRQ
Jogging is to be performed using the mouse.
A unit (motor, valve) is to be activated by clicking a button. When the button is released,
activation will be canceled.
,PSOHPHQWDWLRQFRQFHSW
We implement the button along event-driven lines by means of a button, which we create
under :LQGRZV2EMHFWV→%XWWRQ.
We visualize this implementation by means of a GLUHFWFRQQHFWLRQ and a &DFWLRQ.
1RWH
Implementing a button by means of a GLUHFWFRQQHFWLRQ offers the best level of performance
during runtime.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFWGLUHFWFRQQQHFWLRQ
6WHS
3URFHGXUHKRZDEXWWRQZRUNV±GLUHFWFRQQHFWLRQ
1
Create a tag of type %LQDU\WDJ in Tag Management. In our example, we use the
tag called %,1LBYDULDBEXWB
2
In a picture, we configure :LQGRZV2EMHFWV→%XWWRQ. In our example, we use
the object called %XWWRQ
3
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW 9DULDEOH→%,1LBYDULDBEXWB.
Accept the settings by clicking the 2. button. Configure another GLUHFW
FRQQHFWLRQ under (YHQWV→0RXVH→5HOHDVHOHIW, but this time for the VRXUFH
&RQVWDQW→.
WinCC Configuration Manual
C79000-G8276-C140-01
2-13
6DPSOH3URMHFWYDULDB
6WHS
4
3URFHGXUHKRZDEXWWRQZRUNV±GLUHFWFRQQHFWLRQ
We control our animation by means of the %,1LBYDULDBEXWB tag.
As an option, we will explain implementation with a &action in the same example.The
GLUHFWFRQQHFWLRQ method described above is the better and quicker way of doing it.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW&DFWLRQ
6WHS
3URFHGXUHKRZDEXWWRQZRUNV&DFWLRQ
1
Create a tag of type %LQDU\WDJ in Tag Management. In our example, we use the
tag called %,1LBYDULDBEXWB
2
In a picture, we configure :LQGRZV2EMHFWV→%XWWRQ. In our example, we use
the object called %XWWRQ
3
Under (YHQWV→0RXVH→3UHVVOHIW, generate a &DFWLRQ which sets the value of
the %,1LBYDULDBEXWB tag to . Under (YHQWV→0RXVH→5HOHDVHOHIW, generate
a further &DFWLRQ which sets the value of the %,1LBYDULDBEXWB tag to .
C action for Button1
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagWord("BINi_varia_but_12",1); //on
}
• Use the LQWHUQDOIXQFWLRQ 6HW7DJ':RUG to set the tag to .
2-14
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
$QLPDWLRQRIRXUH[DPSOH
In our example, we use the button to animate the following color wheel.
• The color wheel consists of several 6WDQGDUG2EMHFWV→3LH6HJPHQW.
• The 3URSHUWLHV→*HRPHWU\→6WDUW$QJOH and 3URSHUWLHV→*HRPHWU\→(QG$QJOH
of all the objects are dynamized using the '\QDPLF'LDORJ.
• To change the value, we need an action which changes the value of the angle of rotation
with a fixed time base. We effect this changing of the value by means of a &DFWLRQ for
3LH6HJPHQW under 3URSHUWLHV→&RORUV→/LQH&RORU. We set the trigger for the
action to PV. In this case, we do QRW dynamize the /LQH&RORU. The reason a &DFWLRQ
is linked to this property is that we require a trigger to start changing of the value. We
could also use a different property of the object instead of the .
• The current angle of rotation is changed in the LQWHUQDOWDJ called 6LBYDUDBEXWB.
WinCC Configuration Manual
C79000-G8276-C140-01
2-15
6DPSOH3URMHFWYDULDB
C action for animation
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
static DWORD i = 0;
//if button pressed
if (GetTagBit("BINi_varia_but_12")) {
i=i+10;
//increment of rotation
if (i==360) (i=0); //high limit
SetTagDWord("S32i_varia_but_11",i);
}//if
return(0x0); //black
}
• Declare the &WDJ L as a VWDWLF':25', since its value must remain constant while the
picture is open.
• By clicking the EXWWRQ (button on), rotate the wheel further in steps of 10 degrees, i.e.
increment the value of the tag by 10.
• The tag L is initialized once the wheel has been fully rotated through 360°.
• Transfer the new value for the angle of rotation of the LQWHUQDOWDJ.
• Return the input configured for the background color with UHWXUQ. It isn't supposed to be
changed.
1RWHVRQJHQHUDOXVH
The EXWWRQ with the GLUHFWFRQQHFWLRQ can be used after changes have been made to the tag.
2-16
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
-RJJLQJFKDQJHRYHUVZLWFKH[DPSOH
→
You access the example that relates to this topic in our YDULDB project by
EXWWRQV depicted above. They are configured in the picture with the name
SLFWXBBFKDSWHUBDSGO.
8
the two
7DVNGHILQLWLRQ
Jogging is to be performed using the mouse.
The function of a changeover switch is to be implemented by means of a button.
Pressing the button will switch the unit (motor, valve) on and the unit is to remain on when
the button is released. Pressing the button again will switch the unit off.
,PSOHPHQWDWLRQFRQFHSW
We implement the changeover switch along event-driven lines by means of a button, which
we create under :LQGRZV2EMHFWV→%XWWRQ.
1RWH
Implementing a changeover switch by means of a GLUHFWFRQQHFWLRQ offers the best
performance during runtime, but it requires two buttons.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFWGLUHFWFRQQQHFWLRQ
6WHS
3URFHGXUHKRZDFKDQJHRYHUVZLWFKZRUNVGLUHFWFRQQHFWLRQ
1
Create a tag of type %LQDU\WDJ in Tag Management. In our example, we use the
tag called %,1LBYDULDBEXWB
2
In a picture, configure two buttons under :LQGRZV2EMHFWV→%XWWRQ. In our
example, we use the object %XWWRQ for switching on and the object %XWWRQ for
switching off.
3
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW 9DULDEOH→%,1LBYDULDBEXWB.
Accept the settings by clicking the 2. button. Configure a GLUHFWFRQQHFWLRQ
linked to %XWWRQ in the same way, but this time with the VRXUFH &RQVWDQW→.
4
The GLUHFWFRQQHFWLRQ under Events → Mouse → Mouse Action only
synchronizes the labeling on %XWWRQ and isn’t essential for the changeover switch
to be able to function.
WinCC Configuration Manual
C79000-G8276-C140-01
2-17
6DPSOH3URMHFWYDULDB
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW&DFWLRQ
6WHS
3URFHGXUHKRZDFKDQJHRYHUVZLWFKZRUNV&DFWLRQ
1
Create a tag of type %LQDU\WDJ in Tag Management. In our example, we use the
tag called %,1LBYDULDBEXWB
2
In a picture, configure a :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the
object called %XWWRQ.
3
Under (YHQWV→0RXVH→3UHVVOHIW, generate a &DFWLRQ which negates the
status of the %,1LBYDULDBEXWB tag.
C action for changeover switch
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
BOOL state;
//flip tag
state = !GetTagBit("BINi_varia_but_16"),
SetTagBit("BINi_varia_but_16",(SHORT)state);
}
• The declaration of the VWDWH tag.
• The LQWHUQDOIXQFWLRQ *HW7DJ%LW reads out the value of the LQWHUQDOWDJ, inverts it and
returns it with 6HW7DJ%LW.
1RWHVRQJHQHUDOXVH
The button with the &DFWLRQ can be used after changes have been made to the tag.
Inversion of the LQWHUQDOWDJ can also be carried out without the &WDJ.
SetTagDWord("BINi_varia_but_16",(SHORT)!GetTagBit("BINi_varia_but_16
"));
2-18
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
,QFUHPHQWLQJDQGGHFUHPHQWLQJH[DPSOH
7DVNGHILQLWLRQ
The value of a tag is to be changed. This changing of the value is to be restricted to fixed
limits. Changing of the value is to be performed using the mouse.
A tag value is to be changed by pressing a button. The value is to be changed only when the
button is pressed. The value set must be retained when the button is released.
,PSOHPHQWDWLRQFRQFHSW
We create a button along event-driven lines using :LQGRZV2EMHFWV→%XWWRQ.
When the button is pressed with the
, the value of an LQWHUQDOWDJ is incremented by the
8
8
increment set; when the button is pressed with the
5, the value of thistag is
decremented by the increment set. The value keeps changing as long as the button is
pressed. The increment is specified beforehand and cannot be altered during runtime.
The change in the value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG. The output
value of the,2ILHOG is linked to the LQWHUQDOWDJ.
Changing the value
To change the value, we need an action which changes the value of an LQWHUQDOWDJ with a
fixed time base. We effect this changing of the value by means of a &DFWLRQ on the ,2
ILHOG under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;. We set the trigger for the action to
PV. We are QRW dynamizing the position of the ,2ILHOG. The reason a &DFWLRQ is linked
to this property is that we want to implement changing of the value directly on the object.
In our sample project, we have also solved this problem by means of a JOREDODFWLRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
2-19
6DPSOH3URMHFWYDULDB
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
1
3URFHGXUHLQFUHPHQWLQJGHFUHPHQWLQJ
Creating the tag in the Tag Management. In our example, we use the tags called
6LBYDULDBEXWBDQG6LBYDULDBEXWB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG When creating the ,2ILHOG in the
FRQILJXUDWLRQGLDORJ, set the tag called 6LBYDULDBEXWB. change the entry in
the list box from the default value of 2s to 8SRQFKDQJH and change the field type
entry (7\SH) to 2XWSXW.
3
In the same picture, configure a :LQGRZV2EMHFWV→%XWWRQ. In our example, we
use the object called %XWWRQ
4
To modify a setpoint at the click of a mouse, we create several GLUHFWFRQQHFWLRQV
at thisEXWWRQ. These GLUHFWFRQQHFWLRQVmodify the value of tag
6LBYDULDBEXWBevery time the EXWWRQ is chosen with the
or
R.
8 8
Set (YHQWV→0RXVH→3UHVVOHIW to incrementation ON (set tag to ). Set (YHQWV
→0RXVH→5HOHDVHOHIW to incrementation OFF (set tag to ). Set (YHQWV→
0RXVH→3UHVVULJKW to decrementation ON (set tag to ) and (YHQWV→0RXVH
→5HOHDVHULJKW to decrementation OFF (set tag to ).
2-20
5
The value of the 6LBYDULDBEXWB tag is changed by a &DFWLRQ for the object
,2)LHOG under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;.
6
We then change the trigger for calling the &DFWLRQ to PV.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
C action for the I/O field for changing the value
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
DWORD value;
SHORT count;
count = GetTagWord("S08i_varia_but_01");
if ((count==1) || (count==2)){
//inc or dec
//current value
value = GetTagDWord("S32i_varia_but_00");
if (count==1){ //inc
value++;
if (value>1400) (value=1400);
//high limit
SetTagDWord("S32i_varia_but_00",value);
}//inc
if (count==2){ //dec
value--;
if (value<0) (value=0);
//low limit
SetTagDWord("S32i_varia_but_00",value);
}//dec
}//if count
return(81); //x-pos
}
• The declaration of the &WDJV YDOXH and FRXQW.
• Evaluation of whether the EXWWRQ is pressed. If the EXWWRQ is not being pressed, the &
DFWLRQ is ended (to avoid unnecessary loading of the system).
• If the EXWWRQ is being pressed, the script inquires whether the value is to be incremented
or decremented. The value of the tag is changed depending on the result of this
evaluation.
• After the value has been changed, the limit value check is performed.
• Return the value configured for position X with UHWXUQ. It isn’t supposed to be changed.
1RWHVRQJHQHUDOXVH
The button with the GLUHFWFRQQHFWLRQV can be used after changes have been made to the tag
and in conjunction with the &DFWLRQ for the ,2ILHOG. The limits and tags must be adapted
in the &DFWLRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
2-21
6DPSOH3URMHFWYDULDB
,QFUHPHQWLQJDQGGHFUHPHQWLQJXVLQJ*OREDO6FULSWH[DPSOH
7DVNGHILQLWLRQ
The value of a tag is to be changed. This changing of the value is to be restricted to fixed
limits. Changing of the value is to be performed using the mouse.
A tag value is to be changed by pressing a button. The value is to be changed only when the
button is pressed. The value set must be retained when the button is released.
,PSOHPHQWDWLRQFRQFHSW
We create a button along event-driven lines using :LQGRZV2EMHFWV→%XWWRQ.
It is to be implemented with the aid of a JOREDODFWLRQ.
, the value of an LQWHUQDOWDJ is incremented by the
When the button is pressed with the
8
8
increment set; when the button is pressed with the
R, the value of thistag is
decremented by the increment set. The value keeps changing as long as the button is
pressed. The increment is specified beforehand and cannot be altered during runtime.
The change in the value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG. The output
value of the,2ILHOG is linked to the LQWHUQDOWDJ.
2-22
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
Changing the value
To change the value, we need an action which changes the value of an LQWHUQDOWDJ with a
fixed time base. We implement the change in the value by means of a JOREDODFWLRQ.
The action is activated when the WinCC runtime is started and is then processed with the
set cycle. The action is programmed in such a way that the actual program component is
only processed when the button is pressed.
One unusual feature of this action is that it uses external &WDJV. External &WDJV are
recognized throughout the entire WinCC runtime, but they must be declared outside the
function header. Since in WinCC this is only possible in a SURMHFWIXQFWLRQ, a separate
SURMHFWIXQFWLRQ is created for declaring these tags. This project function must be executed
once when the project is started and is then no longer required.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
Configuration is divided into the following three steps.
6WHS
&UHDWLQJWKHSURMHFWIXQFWLRQ
6WHS
3URFHGXUHFUHDWLQJWKHSURMHFWIXQFWLRQIRULQLWLDOL]DWLRQ
1
Open the *OREDO6FULSW editor from the &RQWURO&HQWHU.
2
Create a new function by selecting )LOH→1HZ3URMHFW)XQFWLRQ.
3
Assign this new function the name ,QLW$FWLRQ and save the function by selecting
)LOH→6DYH$V→,QLW$FWLRQIFW.
4
Program and compile the function.
Project function InitAction
//declaration for counter.pas
extern
extern
extern
extern
extern
char tagname[30] = " ";
SHORT count = 0;
DWORD low = 0;
DWORD high = 0;
DWORD step = 0;
void InitAction()
{
//function is used to generate external tags
}
• The declaration of the external &WDJV.
• This function must be executed once when the project is started and is then no longer
required. A good way of executing it is in the Start Picture, and this can be set under
(YHQWV→0LVFHOODQHRXV→2SHQ3LFWXUH.
WinCC Configuration Manual
C79000-G8276-C140-01
2-23
6DPSOH3URMHFWYDULDB
6WHS
&UHDWLQJWKHJOREDODFWLRQ
6WHS
3URFHGXUHFUHDWLQJWKHJOREDODFWLRQ
1
Open the *OREDO6FULSW editor from the &RQWURO&HQWHU.
2
Create a new action by selecting )LOH→1HZ$FWLRQ.
3
Save the file by selecting )LOH→6DYH$V→FRXQWHUSDV.
4
5
Program and compile the action.
Set the trigger. You do this by clicking the
tab. Add 7LPHU→&\FOLF→PV on this tab.
EXWWRQ
and selecting the 7ULJJHU
Global action counter.pas
#include "apdefap.h"
int gscAction( void )
{
extern char tagname[30];
extern SHORT count;
extern DWORD low;
extern DWORD high;
extern DWORD step;
DWORD value;
if ((count==1)||(count==2)){
//get current value
value = GetTagDWord(tagname);
if (count==1){
//inc
value = value+step;
if (value>high) (value=high); //high limit
}//if
if (count==2){
//dec
value = value-step;
if (value<low) (value=low); //low limit
}//if
SetTagDWord(tagname,value);
}//if
return(0);
}
• The declaration of the external &WDJ.
• Evaluation of whether the EXWWRQ is pressed. If the EXWWRQ is not being pressed, the &
DFWLRQ is ended (to avoid unnecessary loading of the system).
• If the EXWWRQ is being pressed, the script inquires whether the value is to be incremented
or decremented. The value of the &WDJYDOXH is changed depending on the result of this
evaluation.
• After the value has been changed, the limit value check is performed.
• Use the LQWHUQDOIXQFWLRQ 6HW7DJ':RUG to assign the new value to the tag to be
processed.
2-24
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
&RQILJXULQJWKHEXWWRQV
6WHS
3URFHGXUHLQFUHPHQWLQJDQGGHFUHPHQWLQJXVLQJ*OREDO6FULSW
1
Creating the tag in the Tag Management. In our example, we use the tag called
6LBYDULDBEXWB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG When creating the ,2ILHOG in the
FRQILJXUDWLRQGLDORJ, set the tag called 6LBYDULDBEXWB. change the entry in
the list box from the default value of 2s to 8SRQFKDQJH and change the field type
entry (7\SH) to 2XWSXW.
3
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ
4
To modify a setpoint at the click of a mouse, we create several &DFWLRQV at this
EXWWRQThese &DFWLRQV provide the JOREDODFWLRQ, FRXQWHUSDVwith the relevant
parameters. This happens each time the button is clicked with the
or
R.
Set (YHQWV→0RXVH→3UHVVOHIW to incrementation ON, (YHQWV→0RXVH→
5HOHDVHOHIW to incrementation OFF, (YHQWV→0RXVH→3UHVVULJKW to
decrementation ON and (YHQWV→0RXVH→5HOHDVHULJKW to decrementation
OFF.
5
The value of the 6LBYDULDBEXWB tag is changed in the JOREDODFWLRQ
FRXQWHUSDV.
8 8
C action for Button8for incrementation ON
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
//inc on
extern
extern
extern
extern
extern
char tagname[30];
SHORT count;
DWORD low;
DWORD high;
DWORD step;
strcpy(tagname,"S32i_varia_but_04");
count = 1;
low = 0;
high =1400;
step = 1;
}
WinCC Configuration Manual
C79000-G8276-C140-01
2-25
6DPSOH3URMHFWYDULDB
C action for Button8 for incrementation OFF
#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName, UINT nFlags, int x, int y)
{
//inc off
extern SHORT count;
count=0;
}
• The declaration of the external &WDJV in the &DFWLRQ. These tags are generated in the
project function ,QLW$FWLRQ.
• Provide the tags with the relevant values. This is comparable with transferring
parameters to a SURMHFWIXQFWLRQ. The content of the FRXQW tag is responsible for
processing the program in the JOREDODFWLRQ.
• When switching off the incrementation process, there is no need to set all the tags.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• In the &DFWLRQV, change the tag and adapt the limit values and the increment.
• If this button is to be used in another project, the SURMHFWIXQFWLRQ ,QLW$FWLRQ and the
JOREDODFWLRQ FRXQWHUSDV must both be transferred over together with the button.
2-26
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
7KHRWKHUH[DPSOHVUHODWHGWRWKLVWRSLF
H[DPSOH
The functionality of this example is similar to that of example H[DPSOH. The basic
difference is that the increment can be changed during runtime.
Another difference is the dynamic changing of the increment when the increment is being
set. If the increment is > 20, the value is changed in steps of 10; if the increment is < 20, the
value is changed in steps of 1.
H[DPSOH
The functionality of this example results from combining H[DPSOH and H[DPSOH. The
value is changed with the help of the JOREDODFWLRQ FRXQWHUSDV.
H[DPSOH
The functionality of this example is similar to that of example H[DPSOH. The difference
here is in the mode of animation.
WinCC Configuration Manual
C79000-G8276-C140-01
2-27
6DPSOH3URMHFWYDULDB
&KDQJLQJWDJYDOXHXVLQJ:LQGRZV2EMHFWV
8
In runtime, you access the solutions that relate to these topics in
the EXWWRQ depicted above. The examples are configured in the
our YDULDB project by
picture named YDULDBBFKDSWHUBSGO.
2-28
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
,QSXWWLQJE\PHDQVRIDVOLGHUZLWKGLUHFWFRQQHFWLRQH[DPSOH
7DVNGHILQLWLRQ
Changing a set value is to be performed by means of a slider.
This changing of the value is to be restricted to fixed limits.
,PSOHPHQWDWLRQFRQFHSW
We use a slider object created under :LQGRZV2EMHFWV→6OLGHU2EMHFW to implement
changing of the set values. By means of a GLUHFWFRQQHFWLRQ, the value of an LQWHUQDOWDJ is
changed when the position of the slider is changed.
The change in the set value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
1
3URFHGXUHFKDQJLQJVHWYDOXHE\PHDQVRIDVOLGHU±GLUHFWFRQQHFWLRQ
Create a tag in Tag Management. In our example, we use the tag called
6LBYDULDBZLQB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named 6LBYDULDBZLQB. change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW.
WinCC Configuration Manual
C79000-G8276-C140-01
2-29
6DPSOH3URMHFWYDULDB
6WHS
2-30
3URFHGXUHFKDQJLQJVHWYDOXHE\PHDQVRIDVOLGHU±GLUHFWFRQQHFWLRQ
3
In the same picture, configure an object under :LQGRZV2EMHFWV→6OLGHU2EMHFW.
In our example, we use the object called 6OLGHU2EMHFW. Create aGLUHFW
FRQQHFWLRQ under (YHQWV→0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ.
4
In the 'LUHFW&RQQHFWLRQ dialog box, connect the VRXUFH WKLVREMHFW→3URFHVV
'ULYHU&RQQHFWLRQ to the WDUJHW 9DULDEOH→6BYDULDBZLQB. Accept the
settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHFKDQJLQJVHWYDOXHE\PHDQVRIDVOLGHU±GLUHFWFRQQHFWLRQ
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Change the tag in the GLUHFWFRQQHFWLRQ.
• The value range of the 6OLGHU2EMHFW can be changed under 3URSHUWLHV→0LVFHOODQHRXV
→0D[LPXP9DOXH and0LQLPXP9DOXH. This can also be done under &RQILJXUDWLRQ
'LDORJ
WinCC Configuration Manual
C79000-G8276-C140-01
2-31
6DPSOH3URMHFWYDULDB
,QSXWWLQJE\PHDQVRIVOLGHUDQGWDJFRQQHFWLRQH[DPSOH
7DVNGHILQLWLRQ
Changing a set value is to be performed by means of a slider.
This changing of the value is to be restricted to fixed limits.
,PSOHPHQWDWLRQFRQFHSW
We use a slider object created under :LQGRZV2EMHFWV→6OLGHU2EMHFW to implement
changing of the set values. By means of a WDJFRQQHFWLRQ, the value of an LQWHUQDOWDJ is
changed when the position of the slider is changed. The tag is only written to when the
slider is released.
The change in the set value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFKDQJLQJVHWYDOXHE\PHDQVRIDVOLGHU±WDJFRQQHFWLRQ
1
Create a tag in Tag Management. In our example, we use the tag called
6LBYDULDBZLQB
2-32
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named 6LBYDULDBZLQB. Change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW.
3
In the same picture, configure an object under :LQGRZV2EMHFWV→6OLGHU2EMHFW.
In our example, we use the object called 6OLGHU2EMHFW. When configuring the
VOLGHUREMHFW in the FRQILJXUDWLRQGLDORJ, select the tag named
6LBYDULDBZLQB. Change the entry in the 8SGDWH list box from the default
value of 2s to 8SRQFKDQJH.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Change the tag in theWDJFRQQHFWLRQ.
• The value range of the 6OLGHU2EMHFW can be changed under 3URSHUWLHV→0LVFHOODQHRXV
→0D[LPXP9DOXH and0LQLPXP9DOXH. This can also be done under &RQILJXUDWLRQ
'LDORJ.
WinCC Configuration Manual
C79000-G8276-C140-01
2-33
6DPSOH3URMHFWYDULDB
,QSXWWLQJE\PHDQVRIDQ2SWLRQ*URXSH[DPSOH
7DVNGHILQLWLRQ
Changing of a set value is to be implemented by selecting specified, fixed values from a
list.
,PSOHPHQWDWLRQFRQFHSW
We implement this changing of the set value by means of an option group, which we create
under :LQGRZV2EMHFWV→2SWLRQ*URXS.
When one of the specified set values is selecting using the
, the value in an LQWHUQDOWDJ
is changed. The list of set values is specified and cannot be altered during runtime.
The change in the set value is displayed by means of a 6PDUW2EMHFWV→,2)LHOG. The
output value of the,2ILHOG is linked to the LQWHUQDOWDJ. The change in the set value is
implemented by means of a &DFWLRQ.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
1
3URFHGXUHFKDQJLQJVHWYDOXHXVLQJDQRSWLRQJURXS
Create a tag in Tag Management. In our example, we use the tag called
6LBYDULDBZLQB
2-34
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named 6LBYDULDBZLQB. Change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW.
3
In the same picture, configure a :LQGRZV2EMHFWV→2SWLRQ*URXS. In our
example, this is 2SWLRQ*URXS. Under 3URSHUWLHV→*HRPHWU\→1XPEHURI
%R[HV, change the default value 3 to .
4
Select the index value 1 under 3URSHUWLHV→)RQW→,QGH[→. Enter the
appropriate text for the selected index under 3URSHUWLHV→)RQW→7H[W→. In
the same way, configure the values for the remaining index inputs.
5
Under (YHQWV→3URSHUW\7RSLFV→2XWSXW,QSXW→6HOHFWHG%R[HV, create a &
DFWLRQ, which set tag 6LBYDULDBZLQB to a specific value depending on the
field selected.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHFKDQJLQJVHWYDOXHXVLQJDQRSWLRQJURXS
C action for the option group
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, long value)
{
//set tag according to selected box
switch(value){
case 1 : SetTagDWord("S32i_varia_win_02",0);
break;
case 2 : SetTagDWord("S32i_varia_win_02",50);
break;
case 4 : SetTagDWord("S32i_varia_win_02",100);
break;
case 8 : SetTagDWord("S32i_varia_win_02",150);
break;
}//switch
}
• Assign values to tag 6LBYDULDBZLQB in accordance with the input state. The input
state is stored in the predefined tag YDOXH.
1RWHVRQJHQHUDOXVH
The following adaptation must be made before the 2SWLRQ*URXS can be put to general use:
• Adapt the tag in the &DFWLRQ under (YHQWV→3URSHUW\7RSLFV→2XWSXW,QSXW→
6HOHFWHG%R[HV.
WinCC Configuration Manual
C79000-G8276-C140-01
2-35
6DPSOH3URMHFWYDULDB
,QSXWWLQJE\PHDQVRIFKHFNER[H[DPSOH
7DVNGHILQLWLRQ
Various objects are to be configured such that they can be shown and hidden by means of a
check box.
,PSOHPHQWDWLRQFRQFHSW
We implement this by means of a check box, which we create under :LQGRZV 2EMHFWV →
&KHFN%R[, and we use this check box to set individual bits in a tag. A number of objects
created under 6WDQGDUG 2EMHFWV → 3RO\JRQ are shown or hidden depending on these bits.
We display the binary output value of the FKHFN ER[ by means of a 6PDUW 2EMHFWV → ,2
)LHOG.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
2-36
3URFHGXUHLQSXWWLQJE\PHDQVRIDFKHFNER[
1
Create a tag of type 6LJQHGELWYDOXH in Tag Management. In our example, we
use the tag called 6LBYDULDBZLQB
2
Configure a number of objects under 6WDQGDUG2EMHFWV→3RO\JRQ; in our
example, we use 3RO\JRQ through 3RO\JRQ. These objects are to be shown or
hidden depending on the selection state of the FKHFNER[.
3
In the same picture, configure a :LQGRZV2EMHFWV→&KHFN%R[. In our example,
&KHFN%R[. Under 3URSHUWLHV→*HRPHWU\→1XPEHURI%R[HV, change the
default value 3 to .
4
Select the index value 1 under 3URSHUWLHV→)RQW→,QGH[→. Enter the
appropriate text for the selected index under 3URSHUWLHV→)RQW→7H[W, this text
being the name of the object you want to control by selecting this field. In the
same way, configure the values for the remaining index inputs.
5
Under (YHQWV→3URSHUW\7RSLFV→2XWSXW,QSXW→6HOHFWHG%R[HV create a &
DFWLRQ which assigns the binary state of &KHFN%R[ to tag S32i_varia_win_03
and controls the "visibility" of the individual SRO\JRQREMHFWV.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
6
3URFHGXUHLQSXWWLQJE\PHDQVRIDFKHFNER[
Configure an I/O field under 6PDUW2EMHFWV→,2)LHOG; in our example, we use
,2)LHOG. Under &RQILJXUDWLRQ'LDORJ, select tag 6LBYDULDBZLQB. Change
the entry in the 8SGDWH list box from the default value of 2s to 8SRQFKDQJH.
Under 3URSHUWLHV→2XWSXW,QSXW, change the 'DWD)RUPDW to %LQDU\ and change
the Output Format to .
WinCC Configuration Manual
C79000-G8276-C140-01
2-37
6DPSOH3URMHFWYDULDB
C action for the check box
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, long value)
{
SetTagDWord("S32i_varia_win_03",value);
//first box selected
if (value&1) SetVisible(lpszPictureName,"Polygon1",1);
else SetVisible(lpszPictureName,"Polygon1",0);
//second box selected
if (value&2) SetVisible(lpszPictureName,"Polygon2",1);
else SetVisible(lpszPictureName,"Polygon2",0);
//third box selected
if (value&4) SetVisible(lpszPictureName,"Polygon3",1);
else SetVisible(lpszPictureName,"Polygon3",0);
//fourth box selected
if (value&8) SetVisible(lpszPictureName,"Polygon4",1);
else SetVisible(lpszPictureName,"Polygon4",0);
//fifth box selected
if (value&16) SetVisible(lpszPictureName,"Polygon5",1);
else SetVisible(lpszPictureName,"Polygon5",0);
//sixth box selected
if (value&32) SetVisible(lpszPictureName,"Polygon6",1);
else SetVisible(lpszPictureName,"Polygon6",0);
//seventh box selected
if (value&64) SetVisible(lpszPictureName,"Polygon7",1);
else SetVisible(lpszPictureName,"Polygon7",0);
}
• Set tag 6LBYDULDBZLQB to the new input state of the FKHFNER[.
• Control the visibility of the objects in accordance with the input state. The input state is
stored in the predefined tag YDOXH. To read out the respective bit, you have to perform
bit masking to the relevant bit.
1RWH
A simple example is shown in the SLFWXB project in the chapter entitled '\QDPLFV in
H[DPSOH. In this case, however, visibility is queried for each individual object by means of
the '\QDPLF'LDORJ.
1RWHVRQJHQHUDOXVH
The following adaptation must be made before the &KHFN%R[ can be put to general use:
• Adapt the tag and the object names in the &DFWLRQ under (YHQWV→3URSHUW\7RSLFV→
2XWSXW,QSXW→6HOHFWHG%R[HV.
2-38
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
%LWHGLWLQJLQZRUGV
8
You access the solutions that relate to these topics in our
YDULDB project by
the EXWWRQ depicted above. The examples are configured in the
pictures YDULDBBFKDSWHUBSGO and YDULDBBFKDSWHUBDSGO.
'HILQLWLRQ
The term ELWHGLWLQJ refers to changing the state of bits in a word.
WinCC Configuration Manual
C79000-G8276-C140-01
2-39
6DPSOH3URMHFWYDULDB
'LUHFWO\VHWWLQJDELWZLWKWKHDLGRIDFKHFNER[DQGGLUHFW
FRQQHFWLRQH[DPSOH
7DVNGHILQLWLRQ
The state of a bit in a word is to be changed when this bit is selected. We want to be able to
select several bits.
,PSOHPHQWDWLRQFRQFHSW
8
We implement changing of the bit states by means of a check box, which we create under
:LQGRZV2EMHFWV→&KHFN%R[. When we
one of the fields of the &KHFN%R[, the bit
assigned to it in the LQWHUQDOWDJ is changed with the aid of a GLUHFWFRQQHFWLRQ.
The bit pattern is displayed by means of an I/O field created under 6PDUW2EMHFWV→,2
)LHOG. The output value of the ,2ILHOG is linked to an LQWHUQDOWDJ.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHGLUHFWO\VHWWLQJDELWZLWKWKHDLGRIDFKHFNER[DQGGLUHFW
FRQQHFWLRQ
2-40
1
Create a tag of type 8QVLJQHGELWYDOXH in Tag Management. In our example,
we use the tag called 8LBYDULDBVHWB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named 8LBYDULDBVHWB. Change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW. Under 3URSHUWLHV→2XWSXW,QSXW, change the
'DWD)RUPDW to %LQDU\ and change the 2XWSXW)RUPDW to .
3
In the same picture, configure a :LQGRZV2EMHFWV→&KHFN%R[In our example,
we use the object called &KHFN%R[. Under 3URSHUWLHV→*HRPHWU\→1XPEHU
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHGLUHFWO\VHWWLQJDELWZLWKWKHDLGRIDFKHFNER[DQGGLUHFW
FRQQHFWLRQ
RI%R[HV
4
5
, change the default value 3 to .
Select the index value 1 under 3URSHUWLHV→)RQW→,QGH[→. Enter the
appropriate text for the selected index under 3URSHUWLHV→)RQW→7H[W→ELW.
In the same way, configure the values for the remaining index inputs.
Under (YHQWV→3URSHUW\7RSLFV→6HOHFWHG%R[HV, dynamize this event using a
.
GLUHFWFRQQHFWLRQ
6
In the 'LUHFW&RQQHFWLRQ dialog box, connect the VRXUFH 3URSHUW\→WKLVREMHFW
→6HOHFWHG%R[HV to the target 9DULDEOH→8LBYDULDBVHWB. Accept the
settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
2-41
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHGLUHFWO\VHWWLQJDELWZLWKWKHDLGRIDFKHFNER[DQGGLUHFW
FRQQHFWLRQ
7
Configure two :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the objects
called %XWWRQ and %XWWRQ. These will be used to set and reset all bits.
8
Create a GLUHFWFRQQHFWLRQ for under (YHQWV→0RXVH→0RXVH$FWLRQ. Connect
the VRXUFH &RQVWDQW→ to the WDUJHW 2EMHFWLQ3LFWXUH→&KHFN%R[→
6HOHFWHG%R[HV. Accept the settings by clicking the 2. button. The constant
selected corresponds to the binary number 1111111111111111.
Create a GLUHFWFRQQHFWLRQ linked to the object %XWWRQ in the same way, but this
time with the VRXUFH &RQVWDQW→.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tags must be adapted in the GLUHFWFRQQHFWLRQV.
2-42
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6HOHFWLQJDELWDQGFKDQJLQJLWVVWDWHH[DPSOH
7DVNGHILQLWLRQ
The state of a bit in a word is to be changed by entering its bit number and clicking a
EXWWRQ. Switching from 0 to 1 and vice versa.
,PSOHPHQWDWLRQFRQFHSW
We implement changing of the bit states by means of a button, which we create under
:LQGRZV2EMHFWV→%XWWRQ.
To enter the bit number and display the bit pattern, we use a 6PDUW2EMHFWV→,2)LHOG.
When we enter the bit number and
the EXWWRQ, the selected bit in an LQWHUQDOWDJ is
changed. The change is implemented by means of a &DFWLRQ.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFKDQJLQJDELWLQDZRUG
1
Create two tags of type 8QVLJQHGELWYDOXH in Tag Management. In our
example, we use the tags called 8LBYDULDBVHWB and 8LBYDULDBVHWB
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG,
connect it to tag 8LBYDULDBVHWB. Change the entry in the 8SGDWH list box
from the default value of 2s to 8SRQFKDQJH. The bit number is entered in this
input field.
WinCC Configuration Manual
C79000-G8276-C140-01
2-43
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHFKDQJLQJDELWLQDZRUG
3
Configure a second ,2ILHOG for displaying the bit states. In our example, we use
the object called ,2)LHOG. When configuring the ,2ILHOG, connect it to tag
8LBYDULDBVHWB. Change the entry in the 8SGDWH list box from the default
value of 2s to 8SRQFKDQJH. Change the field type to 2XWSXW. Under 3URSHUWLHV
→2XWSXW,QSXW, change the 'DWD)RUPDW to %LQDU\ and change the 2XWSXW
)RUPDW to .
4
In the same picture, configure three buttons under :LQGRZV2EMHFWV→%XWWRQ. In
our example, we use the objects called %XWWRQ, %XWWRQ and %XWWRQ.
5
Create a &DFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. This &DFWLRQ
is to be used to set the bit selected in the ,2ILHOG in an LQWHUQDOWDJ. In the same
way, create &DFWLRQV under the other EXWWRQV for resetting and toggling the bit.
C action for set button
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
WORD word,pos;
//get word and bit position
pos=GetTagWord("U16i_varia_set_09");
word=GetTagWord("U16i_varia_set_08");
word = (WORD)(word|1<<pos);
SetTagWord("U16i_varia_set_08",word);
}
• Declare the &WDJV.
• Use the LQWHUQDOIXQFWLRQ *HW7DJ:RUG to read out the bit position entered and the
current value of the tag.
• The bit shift function (<<) is used to generate the corresponding bit mask. This is ORed
(|) bit-by-bit with the contents of the tag to be processed. The states of the other bits are
retained.
• Assign the new value to the LQWHUQDOWDJ.
2-44
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
C action for reset button
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
WORD word,pos;
//get word and bit position
pos=GetTagWord("U16i_varia_set_09");
word=GetTagWord("U16i_varia_set_08");
word=(WORD)(word&~(1<<pos));
SetTagWord("U16i_varia_set_08",word);
}
• Declare the &WDJV.
• Use the LQWHUQDOIXQFWLRQ *HW7DJ:RUG to read out the bit position entered and the
current value of the tag.
• The bit shift function (<<) is used to generate the corresponding bit mask. This is
complemented with the operator (~) and ANDed (&) bit-by-bit with the contents of the
tag to be processed.
• Assign the new value to the LQWHUQDOWDJ.
C action for toggle button
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
WORD word,pos;
//get word and bit position
pos=GetTagWord("U16i_varia_set_09");
word=GetTagWord("U16i_varia_set_08");
word = (WORD)(word^1<<pos);
SetTagWord("U16i_varia_set_08",word);
}
• Declare the &WDJV.
• Use the LQWHUQDOIXQFWLRQ *HW7DJ:RUG to read out the bit position entered and the
current value of the tag.
• The bit shift function (<<) is used to generate the corresponding bit mask. This is
EXORed (^) bit-by-bit with the contents of the tag to be processed. The states of the
other bits are retained.
• Assign the new value to the LQWHUQDOWDJ.
WinCC Configuration Manual
C79000-G8276-C140-01
2-45
6DPSOH3URMHFWYDULDB
7KHRWKHUH[DPSOHVUHODWHGWRWKLVWRSLF
H[DPSOH
The functionality of this example is similar to that of example H[DPSOH. The basic
difference is in the way the bit to be switched is selected. In this example, the bit is
switched by selecting an object which represents this bit. Each object is able to read out
which bit it is responsible for from its object name.
H[DPSOH
8
The functionality of this example is similar to that of example H[DPSOH. The difference
is that the bit is immediately toggled on being selected with the
. Here too, the objects
are assigned to the bits by means of the Object name.
H[DPSOH
The functionality of this example is similar to that of example H[DPSOH. The difference
here is that an option group is used. Use of this object type means that only one bit can be
set in each data word.
2-46
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
,QGLUHFWDGGUHVVLQJRIWDJV
8
You access the solutions that relate to these topics in our
YDULDB project by
the EXWWRQ depicted above. The examples are configured in the
picture named YDULDBBFKDSWHUBSGO.
WinCC Configuration Manual
C79000-G8276-C140-01
2-47
6DPSOH3URMHFWYDULDB
,QGLUHFWDGGUHVVLQJE\PHDQVRIDGLUHFWFRQQHFWLRQH[DPSOH
7DVNGHILQLWLRQ
Various process values are to be displayed in an ,2ILHOG. The corresponding values are to
be selected by means of EXWWRQV.
,PSOHPHQWDWLRQFRQFHSW
We implement selection of the corresponding process values by means of a button, which
we create under :LQGRZV2EMHFWV→%XWWRQ.
We use an I/O field created under 6PDUW2EMHFWV→,2)LHOG and indirect addressing in
WinCC to display the process values. Three more I/O fields created under 6PDUW2EMHFWV→
,2ILHOGValso enable you to enter the process value directly.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
2-48
3URFHGXUHLQGLUHFWDGGUHVVLQJE\PHDQVRIDGLUHFWFRQQHFWLRQ
1
Create three tags of type 6LJQHGELWYDOXH in Tag Management. In our
example, we use the tags called 6LBYDULDBDGUB6LBYDULDBDGUB and
6LBYDULDBDGUB. These contain the process values to be displayed.
2
Create a tag of type 7H[WWDJELWFKDUDFWHUVHW with a length of 20 characters in
Tag Management. In our example, we use the tag called 7[BYDULDBDGUB.
This will be used as an address tag.
3
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named 7[BYDULDBDGUB. Change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW. Under 3URSHUWLHV→2XWSXW,QSXW→2XWSXW
9DOXH, select the box in the ,,QGLUHFW column. Select the box.
4
Configure an object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W. In our example, we
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHLQGLUHFWDGGUHVVLQJE\PHDQVRIDGLUHFWFRQQHFWLRQ
use the object called 6WDWLF7H[W. This object indicates which process value is
currently being displayed. The text in the object is automatically supplied by the
EXWWRQ.
5
In the same picture, configure three buttons under :LQGRZV2EMHFWV→%XWWRQIn
our example, we use the objects called %XWWRQ, %XWWRQ and %XWWRQ.
6
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→6LBYDULDBDGUB to the WDUJHW 9DULDEOH→
7[BYDULDBDGUB. Accept the settings by clicking the 2. button.
7
Create a further GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→0RXVH$FWLRQ.
Connect the VRXUFH 3URSHUW\→WKLVREMHFW→7H[W to the WDUJHW 2EMHFWLQ3LFWXUH
→6WDWLF7H[W→7H[W. Accept the settings by clicking the 2. button.
8
Configure %XWWRQ and %XWWRQin the same way as %XWWRQ. In the first GLUHFW
FRQQHFWLRQ, the tag name in the VRXUFH must be changed. The second GLUHFW
FRQQHFWLRQ can be applied without any change.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
2-49
6DPSOH3URMHFWYDULDB
0XOWLSOH[GLVSOD\XVLQJLQGLUHFWDGGUHVVLQJDQGD&DFWLRQ
H[DPSOH
7DVNGHILQLWLRQ
Three different process values of a container are to be displayed. The same display is,
however, also to be set up for several containers. The relevant process values are to be
displayed by selecting the corresponding container.
,PSOHPHQWDWLRQFRQFHSW
We implement selection of the corresponding container by means of an option group,
which we create under :LQGRZV2EMHFWV→2SWLRQ*URXS.
We use three I/O fields created under 6PDUW2EMHFWV→,2)LHOG and indirect addressing in
WinCC to display the process values.
The containers with the corresponding values are displayed in H[DPSOH.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
2-50
3URFHGXUHPXOWLSOH[GLVSOD\ZLWKLQGLUHFWDGGUHVVLQJ
1
Create nine tags of type 6LJQHGELWYDOXH in Tag Management. In our example,
we use the tags called 6LBYDULDBDGUB through 6LBYDULDBDGUB. These
tags contain the corresponding process values of the container.
2
Create three tags of type 7H[WWDJELWFKDUDFWHUVHW in Tag Management. In our
example, we use the tags called 7[BYDULDBDGUB, 7[BYDULDBDGUB and
7[BYDULDBDGUB. They will be used as address tags for the,2ILHOGV.
3
Configure three I/O fields under 6PDUW2EMHFWV→,2)LHOG. In our example, we
use ,2)LHOG, ,2)LHOG and ,2)LHOG.
4
For object ,2)LHOG, change the )LHOG7\SH to 2XWSXW under 3URSHUWLHV→
2XWSXW,QSXW. Under the property 2XWSXW9DOXH, configure a WDJFRQQHFWLRQ to tag
7[BYDULDBDGUB and select the box in the ,,QGLUHFW column. Select the
box.
5
In the same way, configure the other ,2ILHOGV, but connect each field to a
different address tag.
6
Configure an option group under :LQGRZV2EMHFWV→2SWLRQ*URXS. In our
example, we use the object called 2SWLRQ*URXS.
7
Select the index 1 under 3URSHUWLHV→)RQW→,QGH[. Enter the appropriate text
for the selected index under 3URSHUWLHV→)RQW→7H[W→&RQWDLQHU. In the
same way, configure the texts for the remaining index values.
8
Create a &DFWLRQ under (YHQWV→3URSHUW\7RSLFV→2XWSXW,QSXW→6HOHFWHG
%R[HV. This action describes the address tag depending on the field selected.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
C action for the option group
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, long value)
{
char address1[20],address2[20],address3[20];
switch(value) {
case 2: {
strcpy(address1,"S32i_varia_adr_03");
strcpy(address2,"S32i_varia_adr_06");
strcpy(address3,"S32i_varia_adr_09");
}//case 2
break;
case 4: {
strcpy(address1,"S32i_varia_adr_04");
strcpy(address2,"S32i_varia_adr_07");
strcpy(address3,"S32i_varia_adr_10");
}//case 4
break;
default: {
strcpy(address1,"S32i_varia_adr_05");
strcpy(address2,"S32i_varia_adr_08");
strcpy(address3,"S32i_varia_adr_11");
}//default
break;
}//switch
SetTagChar("T16x_varia_adr_01",address1);
SetTagChar("T16x_varia_adr_02",address2);
SetTagChar("T16x_varia_adr_03",address3);
}
• Declaration of three &WDJV as an array of characters.
• Copy the tag names into the tags declared beforehand, in accordance with the input
state. The input state is stored in the predefined tag YDOXH.
• Assign the corresponding tag names to the address tags.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
2-51
6DPSOH3URMHFWYDULDB
,QGLUHFWDGGUHVVLQJE\PHDQVRI&DFWLRQH[DPSOH
7DVNGHILQLWLRQ
Various process values are to be displayed in an ,2ILHOG. The corresponding values are to
be selected by means of an 2SWLRQ*URXS.
,PSOHPHQWDWLRQFRQFHSW
We implement selection of the corresponding process value by means of an option group,
which we create under :LQGRZV2EMHFWV→2SWLRQ*URXS. We use an I/O field created
under 6PDUW2EMHFWV→,2)LHOG and indirect addressing in WinCC to display the process
value.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
2-52
3URFHGXUHLQGLUHFWDGGUHVVLQJE\PHDQVRID&DFWLRQ
1
Create three tags of type 6LJQHGELWYDOXH in Tag Management. In our
example, we use the tags called 6LBYDULDBDGUB6LBYDULDBDGUB and
6LBYDULDBDGUB. These contain the process values to be displayed.
2
Create a tag of type 7H[WWDJELWFKDUDFWHUVHW with a length of 20 characters in
Tag Management. In our example, we use the tag called 7[BYDULDBDGUB.
This will be used as an address tag.
3
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. When configuring the ,2ILHOG in
the FRQILJXUDWLRQGLDORJ, select the tag named7[BYDULDBDGUB. Change the
entry in the list box from the default value of 2s to 8SRQFKDQJH and change the
field type entry (7\SH) to 2XWSXW. Under 3URSHUWLHV→2XWSXW,QSXW→2XWSXW
9DOXH, select the box in the ,,QGLUHFW column. Select the box.
4
In the same picture, configure a :LQGRZV2EMHFWV→2SWLRQ*URXS. In our
example, we use the object called 2SWLRQ*URXS.
5
Select the index 1 under 3URSHUWLHV→)RQW→,QGH[. Enter the appropriate text
for the selected index under 3URSHUWLHV→)RQW→7H[W→)LOO/HYHO. In the same
way, configure the texts for the remaining index values.
6
Create a &DFWLRQ under (YHQWV→3URSHUW\7RSLFV→2XWSXW,QSXW→6HOHFWHG
%R[HV. This action describes the address tag depending on the field selected.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
C action for the option group
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, long value)
{
char address[40];
//set tag according to input value
switch(value) {
case 2: strcpy(address,"S32i_varia_adr_01");
break;
case 4: strcpy(address,"S32i_varia_adr_02");
break;
default: strcpy(address,"S32i_varia_adr_00");
}//switch
SetTagChar("T16x_varia_adr_00",address);
}
• Assign a tag name to address tag 7[BYDULDBDGUB in accordance with the input state.
The input state is stored in the predefined tag YDOXH.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
2-53
6DPSOH3URMHFWYDULDB
7KHRWKHUH[DPSOHVUHODWHGWRWKLVWRSLF
H[DPSOH
The functionality of this example is to display the process values used in H[DPSOH.
2-54
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6LPXODWLRQRIWDJV
8
You access the solutions that relate to these topics in our
YDULDB project by
the EXWWRQ depicted above. The examples are configured in the
picture named YDULDBBFKDSWHUBSGO.
'HILQLWLRQ
The term VLPXODWLRQ refers to changing the contents of a tag without a process driver
connection. Simulation is performed using utility programs.
WinCC Configuration Manual
C79000-G8276-C140-01
2-55
6DPSOH3URMHFWYDULDB
6LPXODWLQJDWULDQJXODURVFLOODWLRQE\PHDQVRID&DFWLRQ
H[DPSOH
7DVNGHILQLWLRQ
A triangular oscillation simulation with settable values for the maximum value and
minimum value is to be created. The plausibility of these values is to be verified as they are
entered. Simulation is to be started and stopped by means of a EXWWRQ. Another EXWWRQ is to
be used to reset the tag value to zero.
,PSOHPHQWDWLRQFRQFHSW
We implement starting of the simulation and initialization by means of two buttons, which
we create under :LQGRZV2EMHFWV→%XWWRQ. To display the tag value and to input the
maximum and minimum values, we will create three I/O fields under 6PDUW2EMHFWV→,2
)LHOG. If simulation is started while the maximum and minimum values set are identical, a
message box pops up.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
1
3URFHGXUHVLPXODWLQJDWULDQJXODURVFLOODWLRQE\PHDQVRID&DFWLRQ
Create three tags of type 6LJQHGELWYDOXH in Tag Management. In our
example, we use the tags called 6LBYDULDBVLPB6LBYDULDBVLPB and
6LBYDULDBVLPB
2
Create two tags of type %LQDU\WDJ in Tag Management. In our example, we use
the tags called %,1LBYDULDBVLPB and %,1LBYDULDBVLPB.
3
Configure three I/O fields under 6PDUW2EMHFWV→,2)LHOG. In our example, we
use ,2)LHOG, ,2)LHOG and ,2)LHOG.
4
For object ,2)LHOG, create a WDJFRQQHFWLRQ to tag 6LBYDULDBVLPB under
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH and set the trigger to 8SRQFKDQJH.
Change the 2XWSXW)RUPDW to . In the same way, configure ,2)LHOG, but
set tag 6LBYDULDBVLPB
, create a WDJFRQQHFWLRQ to tag
under 3URSHUWLHV→/LPLWV→+LJK/LPLW9DOXH. In the same
way, configure the tag 6LBYDULDBVLPB as the /RZ/LPLW9DOXH for ,2)LHOG.
7RFKHFNWKHSODXVLELOLW\RI,2)LHOG
6LBYDULDBVLPB
2-56
6
For object ,2)LHOG, create a WDJFRQQHFWLRQ to tag 6LBYDULDBVLPB under
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH and set the trigger to 8SRQFKDQJH.
Change the 2XWSXW)RUPDW to and the )LHOG7\SH to 2XWSXW.
7
Configure a picture window at 6PDUW2EMHFWV→3LFWXUH:LQGRZ; in our example
we use GLDORJER[ Select 3URSHUWLHV→0LVFHOODQHRXVand modify the properties
0RYHDEOH and %RUGHU to <HV and the 3LFWXUH1DPH to YDULDBBZLQGRZB. You
can take this picture from the sample project for use in your own projects; the
info text and title can be changed to whatever you want.
8
Configure a button under :LQGRZV2EMHFWV→%XWWRQ; in our example, we use
%XWWRQ. Create a further GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW9DULDEOH→%,1LBYDULDBVLPB.
This EXWWRQ is used for initialization.
9
Configure another :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the object
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHVLPXODWLQJDWULDQJXODURVFLOODWLRQE\PHDQVRID&DFWLRQ
called %XWWRQ. Under (YHQWV→B0RXVH→3UHVVOHIW, generate a &DFWLRQ which
negates the status of the %,1LBYDULDBVLPB tag. Under 3URSHUWLHV→*HRPHWU\
→3RVLWLRQ;, create a &DFWLRQ, which executes tag simulation.
10
Create a status display under 6PDUW2EMHFWV→6WDWXV'LVSOD\ to display the
status of simulation. In our example, we use the object called 6WDWXV'LVSOD\.
Under &RQILJXUDWLRQ'LDORJ, set tag %,1LBYDULDBVLPB and set the trigger to
8SRQFKDQJH. Add another status. For status , set the picture
JOKELUQHBB%LWEPS, and for status , set the picture JOKELUQHBB%LWEPS.
&DFWLRQIRUWDJVLPXODWLRQ
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
BOOL state;
static DWORD lowstore = 0;
static BOOL statestore = 0;
static DWORD r = 1;
static DWORD i = 0;
static DWORD box = 0;
int high,low;
//if button init was pressed
if (GetTagBit("BINi_varia_sim_04")) {
(i=lowstore);
(r=1);
SetTagDWord("S32i_varia_sim_00",i);
SetTagDWord("BINi_varia_sim_04",0);
}
//get simulator state
state=GetTagBit("BINi_varia_sim_01");
if (state!=statestore) (box=0);
statestore=state;
//get limits
high=GetTagDWord("S32i_varia_sim_02");
low=GetTagDWord("S32i_varia_sim_03");
//set low limit store
if (low!=lowstore){
lowstore = low;
i=low;
}//if
//if limits different
if (high!=low) {
box=0;
//if simulator is activated
if (state==TRUE) {
//inc or dec according to direction
if (r==1) (i=i+1);
else (i=i-1);
//set direction
WinCC Configuration Manual
C79000-G8276-C140-01
2-57
6DPSOH3URMHFWYDULDB
if (i==high) (r=0);
if (i==low) (r=1);
//init simulator if limit overflow
if ((i>high)||(i<low)){
(i=low);
(r=1);
}//if
//set new value
SetTagDWord("S32i_varia_sim_00",i);
}//if state
}//if (high!=low)
//set visible message box
if ((high==low)&&(state==1)&&(box==0)){
box++;
SetVisible("varia_3_chapter_05.PDL","dialog box",1);
}
return 80;//x-pos
}
• Declare tags.
• If %XWWRQ (init)has been pressed (clicked), set the tag value memory to the minimum
value stored, the counter direction to ascending, the value of the LQWHUQDOWDJ
6LBYDULDBVLPB to the minimum value stored and turn off the simulator.
• Read in the simulator state.
• If the state has changed, allow the message box to pop up.
• Save the state.
• Read in the maximum and minimum values.
• When the minimum value changes, update the minimum value memory.
• If the maximum and minimum values are different, the message box is allowed to pop
up, and simulation is performed when the simulator is turned on. Counting up or
counting down depends on the direction tag; when the limits are reached, the direction
is reversed; if the limit values are exceeded, initialization takes place and tag
S32i_varia_sim_00 is set to the minimum value.
• When the simulator is turned on, popping-up of the message box is enabled, and if the
maximum and minimum values agree, the message box is ’set visible’ (i.e. it pops up).
• The return value is the X position of the object %XWWRQ.
2-58
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6LPXODWLRQE\PHDQVRIDQH[WHUQDOSURJUDPH[DPSOH
WinCC provides its own simulation program, which can simulate tags using a number of
different methods. This simulation program must be installed using the 6HWXSH[H program
in the folder called 6PDUW7RROV→&&B6LPXODWRU on the WinCC CD.
7DVNGHILQLWLRQ
Tags are to be simulated using the WinCC tag simulator.
,PSOHPHQWDWLRQFRQFHSW
We will use a number of tags, which will be displayed in I/O fields created under 6PDUW
2EMHFWV→,2)LHOG and whose contents will be controlled by means of the tag simulator.
WinCC Configuration Manual
C79000-G8276-C140-01
2-59
6DPSOH3URMHFWYDULDB
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVLPXODWLQJE\PHDQVRIDQH[WHUQDOSURJUDP
1
Create two LQWHUQDOWDJV of type 6LJQHGELWYDOXH in Tag Management. In our
example, we use the tags called 6LBYDULDBVLPB and 6LBYDULDBVLPB
2
Configure two I/O fields under 6PDUW2EMHFWV→,2)LHOG. In our example, we
use ,2)LHOG and ,2)LHOG.
3
For object ,2)LHOG, create a WDJFRQQHFWLRQ to tag 6LBYDULDBVLPB under
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH and set the trigger to 8SRQFKDQJH.
Change the 2XWSXW)RUPDW to and the )LHOG7\SH to 2XWSXW)LHOG. In the
same way, configure ,2)LHOG, but set tag 6LBYDULDBVLPB.
4
Start the tag simulator by means of the 6LPXODWRU button. If the tag simulator has
not been installed under the default path, set the correct path by means of the
3DWK button. If the simulation program is started using a method other than the
one described, you must ensure that the project in question is running in runtime
mode.
5
In the simulator, select tag 6LBYDULDBVLPB under the menu item (GLW→1HZ
7DJ from the Tag Management screen which appears. Select the ,QF tab and enter
the 6WDUW9DOXH and (QG9DOXH. In our example, the values and have been
used. Simulation is started by selecting the item DFWLYH. The value of the tag is
increased from 0 to 20, after which simulation is restarted at 0.
6
Proceed in the same way with tag 6LBYDULDBVLPB. In our example, the 6LQXV
tab has been selected and $PSOLWXGH set to , 2IIVHW to and 2VFLOODWLRQWLPH to
.
1RWH
In the sample project, you can use the flag icon to select the English or German version of
the tag simulator.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tags to be simulated and the method of simulation must be customized to suit your
own requirements.
2-60
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
,PSRUWLQJH[SRUWLQJWDJV
8
You access the solutions that relate to these topics in our
YDULDB project by
the EXWWRQ depicted above. The examples are configured in the
picture named YDULDBBFKDSWHUBSGO.
7DVNGHILQLWLRQ
The contents of Tag Management are to be read out by means of a utility program and
edited in the spreadsheet program Excel. The modified data is to be able to be imported
back into the WinCC project again. This procedure makes it possible to create a large
number of tags without any great effort.
,PSOHPHQWDWLRQFRQFHSW
To implement this in the project, we use two buttons which we create under :LQGRZV
2EMHFWV→%XWWRQ; these buttons are used to start the import/export program YDUBLPH[H[H
and H[FHOH[H. The path to each of these programs can be set by means of two I/O fields
created under 6PDUW2EMHFWV→,2)LHOG.
WinCC Configuration Manual
C79000-G8276-C140-01
2-61
6DPSOH3URMHFWYDULDB
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
1
2
3
3URFHGXUHLPSRUWLQJH[SRUWLQJWDJV
Set the correct paths to the programs H[FHOH[H and YDUBLPH[H[H.
Call the YDUBH[LPH[H program by clicking the ,PS([S EXWWRQ during runtime.
The program can also be started directly in Explorer, without runtime being
active.
Use the
YDULDBPFS
EXWWRQ
to set the path to project YDULDB and select the file
there.
4
Select the selection field ([SRUW. Then click ([HFXWH→2.. Exporting of the tags
is now performed. The program generates a file with the extension YH[, which
contains the information relating to the tags. It also creates a second file with the
extension FH[, which contains the information relating to the connections to the
programmable controller, and a third file with the extension GH[, which contains
the information relating to tags of type 'DWD6WUXFWXUH.
5
Start ([FHO and open the YDULDBYD[FVY file just generated by selecting )LOH→
2SHQ.
6
To configure 100 tags of type 8QVLJQHGELWYDOXH, proceed as described below.
The names to be assigned to these tags are to range from 8LBYDULDBLPSH[B
through 8LBYDULDBLPSH[B.
7
In the first column of the first empty line, enter the name 8LBYDULDBLPSH[B.
Select the cell and move the mouse pointer to the bottom right corner. Press and
and drag the mouse pointer downward to fill in the remaining
hold down the
99 cells automatically.
8
In the second column, enter a ; in the third column, LQWHUQDOWDJ; in the fourth,
LPSH[S as the group name; in the fifth column, ; and in the sixth column, as
the code for an 8QVLJQHGELWYDOXH. In the remaining Columns, enter the value
. Fill in the remaining 99 lines automatically.
9
Open YDUBLPH[H[H again via the task bar and select the selection field ,PSRUW.
Then click ([HFXWH→2.. After completing import of the tags, exit the program.
10
100 new tags have now been created in Tag Management.
8
1RWH
Runtime doesn’t have to be active to enable the importing and exporting of tags.
2-62
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
8VLQJVWUXFWXUHWDJV
8
You access the solutions that relate to these topics in our
YDULDB project by
the EXWWRQ depicted above. The examples are configured in the
picture named YDULDBBFKDSWHUBSGO.
'HILQLWLRQ
This data type enables you to generate a data structure that forms a logical unit. Structure
tags consist of various standard data types.
WinCC Configuration Manual
C79000-G8276-C140-01
2-63
6DPSOH3URMHFWYDULDB
9DOYHFRQWUROE\PHDQVRIDVWUXFWXUHWDJH[DPSOH
7DVNGHILQLWLRQ
Different states of a valve are to be displayed with the aid of a structure tag.
,PSOHPHQWDWLRQFRQFHSW
To implement this, we use two buttons created under :LQGRZV2EMHFWV→%XWWRQ, with
which we will turn the valve on and off and simulate a fault condition. We will also use
polygons created under 6WDQGDUG2EMHFWV→3RO\JRQ
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
2-64
3URFHGXUHYDOYHFRQWUROE\PHDQVRIDVWUXFWXUHWDJ
8
1
Define a new structure tag in the &RQWURO&HQWHU. Select 1HZ6WUXFWXUH at 'DWD
5.
7\SHV→6WUXFWXUH7\SHV using
2
In the window that appears,
5 1HZ6WUXFWXUH and select 5HQDPH in the pop-up
menu that appears. The name YDOYH has been selected in our example. Add a new
structure element by clicking the 1HZHOHPHQW button. Then
5 this new
structure element and select the data type %,7.
8
8
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
6WHS
3URFHGXUHYDOYHFRQWUROE\PHDQVRIDVWUXFWXUHWDJ
3
Using 5HQDPH, change the name to DFWLYDWHG and select the selection field
LQWHUQDOWDJ. Define further structure elements as follows:
4
In Tag Management, create a tag of type YDOYH. In our example, we use the tag
called 678LBYDULDBVWUB. The following ELQDU\WDJV are created in this way.
5
Configure two buttons under :LQGRZV2EMHFWV→%XWWRQ; in our example, we use
%XWWRQ and %XWWRQ. Create a &DFWLRQ for %XWWRQ, which turns the valve on and
off. Create a &DFWLRQIRU %XWWRQ, which turns the error bit on and off.
6
Under %XWWRQ, configure a &DFWLRQ under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ
;, which simulates the external processes on the valve.
7
We then create three different pictures to display the on, off, and error states of
the valve. In our example, each of these pictures consists of two polygons created
under 6WDQGDUG2EMHFWV→3RO\JRQ. These are positioned one on top of the other
and shown or hidden depending on the state of the valve.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The structure type name and the comprising structure element types and structure
element names must be adapted.
•
for simulating the external processes on the valve are not necessary in
practical applications.
&DFWLRQV
WinCC Configuration Manual
C79000-G8276-C140-01
2-65
6DPSOH3URMHFWYDULDB
6HULDOFRQQHFWLRQWR6
8
You access the solutions that relate to these topics in our
YDULDB project by
the EXWWRQ depicted above. The examples are configured in the
picture named YDULDBBFKDSWHUBSGO.
7DVNGHILQLWLRQ
Planning, configuring and testing a serial connection. To connection partner to be used is a
Simatic PLC of the S5 system family. Data is to be read from the PLC (actual values,
states) and written to the PLC (set values, instructions).
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
2-66
3URFHGXUHVHULDOFRQQHFWLRQWR6
1
In the &RQWURO&HQWHU under 7DJ0DQDJHPHQW, add a new driver. In our example,
we use the driver 6,0$7,&66(5,$/5.
2
Click the name of the driver with the
5, select 1HZ'ULYHU&RQQHFWLRQ and
give the connection a name on the *HQHUDO,QIRUPDWLRQ tab; in our example, we
use 3/&&RQQHFWLRQ. On the *URXSV tab, create a new group; in our example, we
use FRQQHFW.
3
On the 6HULDO5 tab, make the settings you want; in our example, the
standard values are set.
4
In the tag group, create three new tags of type 8QVLJQHGELWYDOXH. The tags
must be assigned an address in the PLC, this being set by means of the 6HOHFW
button. The type of format adaptation selected in our example is
:RUG7R8QVLJQHG:RUG. Tags 8ZBYDULDBFRQB, 8ZBYDULDBFRQB and
8ZBYDULDBFRQB are used.
5
These tags are also used in the following examples.
8
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWYDULDB
7KHRWKHUH[DPSOHVUHODWHGWRWKLVWRSLF
H[DPSOH
The functionality of this example corresponds to the example named 6HOHFWLQJDELW
DQGFKDQJLQJLWVVWDWHH[DPSOH in the section called %LWHGLWLQJLQZRUGV. The tag in
which the bit is set is, however, the external data word 8ZBYDULDBFRQB.
H[DPSOH
The functionality of this example corresponds to the example named 'LUHFWO\VHWWLQJ
DELWZLWKWKHDLGRIDFKHFNER[DQGGLUHFWFRQQHFWLRQH[DPSOH in the section called
%LWHGLWLQJLQZRUGV. The tag in which the bit is set is, however, the external data word
8ZBYDULDBFRQB.
H[DPSOH
The functionality corresponds to the example named 7KHRWKHUH[DPSOHVUHODWHGWR
WKLVWRSLF in the section called ,QFUHPHQWLQJGHFUHPHQWLQJDQGMRJJLQJ. The tag which is
incremented or decremented is, however, the external data word 8ZBYDULDBFRQB.
WinCC Configuration Manual
C79000-G8276-C140-01
2-67
6DPSOH3URMHFWYDULDB
2-68
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
3LFWXUHFRQILJXUDWLRQ3URMHFWSLFWXBPFS
Details about the projects
This project presents various ways of building and opening pictures in WinCC.
Picture buildup and picture opening depend on two factors: on the hardware used (an
industry PC in the form of an operator panel with integrated keyboard -OP47- or a PC in
the control room with mouse and standard keyboard) and on the application. A
manufacturer of machinery requires different things from an HMI system compared with,
for example, a chemicals company.
What possibilities does WinCC have to offer
WinCC supports all screen resolutions that are supported by Windows (e.g. 640x480,
800x600, 1024x768, 1280x1024). Sometimes, overview pictures have to be displayed on a
larger base (e.g. 1600x1028, 2000x1500, etc.).
WinCC allows you to create pictures with a maximum resolution of 4096 x 4096 pixels. If
these dimensions are greater than the maximum resolution of the graphics system being
used (video card with monitor), these pictures can be moved round using scroll bars.
WinCC Configuration Manual
C79000-G8276-C140-01
3-1
6DPSOH3URMHFWSLFWXB
Assumption
The resolution of the graphics system being used is assumed to be 1024x768 pixels. This
resolution corresponds to the recommendations with regard to ergonomics for a graphics
system with a 17" monitor.
The examples used for these topics are configured in the WinCC project entitled SLFWXB.
1RWH
The password for logging in is the project name, SLFWXBA simpler way to log in is to
click /RJLQ in the title bar, click the input field 3DVVZRUG and then to confirm the input.
3-2
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6FUHHQOD\RXWDQGFKDQJLQJSLFWXUHV
This chapter should show you a number of different ways of building and opening pictures.
The basic elements (start picture, overview section and buttons section) of the screen layout
are also used in the other projects.
WinCC Configuration Manual
C79000-G8276-C140-01
3-3
6DPSOH3URMHFWSLFWXB
/D\LQJRXWWKHVFUHHQ
7DVNGHILQLWLRQ
Dynamic button set and overview section
The screen is to be divided into three sections:
an overview section, a buttons section, and a section for the plant pictures.
The overview and buttons sections are to be adjustable.
The system is located in a control room and is controlled using a mouse and a keyboard.
,PSOHPHQWDWLRQFRQFHSW
The screen is set to a resolution of 1024x768 pixels. We will divide the screen into three
sections. We will use two different layouts for the three sections.
Layout 1
Overview Area
Plant Representations
Button Area
3-4
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
Layout 2
Logo
Button
Area
Overview Area
Plant Representations
/D\RXWSULQFLSOH
We use an empty start picture in which we then create 3 picture windows (overview,
buttons, plant). The pictures displayed in these picture windows can be swapped over
during runtime as required. This gives us a solution which is very flexible and simple to
modify.
Overview section
In the overview section, we configure a logo, a picture title, a clock with the date and time,
and an alarm line.
Buttons section
In the buttons section, we configure permanent buttons which will be displayed in every
picture and buttons which will be displayed depending on the plant picture displayed.
Plant section
In the plant section, we configure the respective plant pictures.
WinCC Configuration Manual
C79000-G8276-C140-01
3-5
6DPSOH3URMHFWSLFWXB
3LFWXUHFKDQJH
8
In runtime, you access the examples that relate to these topics in our SLFWXB project by
the button depicted above. The examples are configured in the pictures
SLFWXBBFKDSWHUBSGO and SLFWXBBFKDSWHUBDSGO.
3-6
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
2SHQLQJDSLFWXUHE\PHDQVRIDGLUHFWFRQQHFWLRQDQGGLVSOD\LQJ
WKHSLFWXUHQDPHH[DPSOH
7DVNGHILQLWLRQ
The picture in the picture window is to be changed by clicking a EXWWRQ with the mouse; this
change is to be executed with the aid of a direct connection.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
8
, which we click with the
to change the picture displayed in the 6PDUW2EMHFWV
→3LFWXUH:LQGRZ. We display the picture name in the picture by means of 6WDQGDUG
2EMHFWV→6WDWLF7H[W.
%XWWRQ
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIDGLUHFWFRQQHFWLRQDQGGLVSOD\LQJ
WKHSLFWXUHQDPH
1
Create a new picture by selecting)LOH→1HZ and then select )LOH→6DYHDV to
save it under the name SLFWXBBZLQGRZBSGO. Change the picture geometry by
setting 3URSHUWLHV→*HRPHWU\→3LFWXUH:LGWK to and 3URSHUWLHV→
*HRPHWU\→3LFWXUH+HLJKW to .
2
In picture SLFWXBBZLQGRZBSGO, configure the 6WDQGDUG2EMHFWV→6WDWLF7H[W.
In our example, we use the object called 6WDWLF7H[W. Change 3URSHUWLHV→)RQW
→%ROG to <HV. Under 3URSHUWLHV→)RQW→7H[W, delete the default text in the
6WDWLF column. This prevents an incorrect text from being output at the moment of
picture buildup.
Dynamize the object using a &DFWLRQ7KLV&DFWLRQ returns the current picture
name as the return value. The trigger we use for the &DFWLRQ is the 6WDQGDUG
F\FOH→K (low system load, no change).
3
In picture SLFWXBBZLQGRZBSGO, configure the information to be displayed. In
our example, we use 7DQN from the Global Library. The library is opened by
choosing 9LHZ→/LEUDU\ from the menu or by choosing the
toolbar.
button on the
Make sure that the symbol view function is selected by means of the
so that a preview of the individual objects is displayed.
WinCC Configuration Manual
C79000-G8276-C140-01
EXWWRQ
,
3-7
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIDGLUHFWFRQQHFWLRQDQGGLVSOD\LQJ
WKHSLFWXUHQDPH
3-8
4
Configure two more pictures by saving the picture you have just configured once
again, but this time under the name SLFWXBBZLQGRZBSGO, and then saving this
picture under the name SLFWXBBZLQGRZBSGO ()LOH→6DYH$V). This gives us
two copies of SLFWXBBZLQGRZBSGONow insert the content you want into the
new pictures created. There’s no need to change the 6WDWLF7H[W object for
displaying the picture name.
5
Configure a new picture by selecting )LOH→1HZ. In this picture, configure a
picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ. In our example, we use
3LFWXUH:LQGRZ. Adjust the size of the SLFWXUHZLQGRZ to the size of the pictures
just created by means of 3URSHUWLHV→*HRPHWU\→:LQGRZ:LGWK and
3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW. In order to display the window with
a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to <HV.
6
Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the
name SLFWXBBZLQGRZBSGO. This sets the picture to be displayed by the
3LFWXUH:LQGRZ object when the picture is opened.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIDGLUHFWFRQQHFWLRQDQGGLVSOD\LQJ
WKHSLFWXUHQDPH
7
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Create a further GLUHFW
FRQQHFWLRQ under (YHQWV→0RXVH→3UHVVOHIW.
button to display a
Under 6RXUFH, select &RQVWDQW and click the now active
selection list of all the pictures available. Select the SLFWXBBZLQGRZBSGO
picture and under 7DUJHW, select 2EMHFWLQ3LFWXUH, 3LFWXUH:LQGRZ as the object
and 3LFWXUH1DPH as the property.
Accept the settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
3-9
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIDGLUHFWFRQQHFWLRQDQGGLVSOD\LQJ
WKHSLFWXUHQDPH
8
8
Select the now configured %XWWRQ by clicking it with the
and duplicate the
object by means of (GLW→'XSOLFDWH. Repeat this procedure once more. We now
have two more buttons, %XWWRQ and %XWWRQ. Under (YHQWV→0RXVH→3UHVV
OHIW, modify the GLUHFWFRQQHFWLRQ configured. Change the 6RXUFH for %XWWRQ to
SLFWXBBZLQGRZBSGO and the 6RXUFH for %XWWRQ to SLFWXBBZLQGRZBSGO.
C action for Static Text1
#include "apdefap.h"
char* _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
char
*name = lpszPictureName;
char
*pdest;
int
ch = ’:’;
//check if picture path contains char
pdest = strrchr( lpszPictureName, ch );
//read only picture name without path
if ( pdest == NULL ) return lpszPictureName;
else {
name = strcpy(name,strrchr(name,’:’)+1);
return name;
}//else
}
• Declare the &WDJV.
• Check whether OSV]3LFWXUH1DPH contains only the picture name. You do this using the
function VWUUFKU. This function searches through OSV]3LFWXUH1DPH. If the picture is
displayed in a SLFWXUHZLQGRZ, OSV]3LFWXUH1DPH contains the picture name with the
complete path of the picture.
• In the first case, return OSV]3LFWXUH1DPH directly as the return value.
3-10
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
• In the latter case, read only the picture name out of the picture path and return this name
as the return value.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The object 6WDWLF7H[W can be transferred directly to any other SLFWXUHZLQGRZ. This
object is also suitable for being stored in the project library. In this way, it can quite
simply be inserted into any picture by means of drag&drop.
• The picture name to be displayed and the object name of the SLFWXUHZLQGRZ must be
adapted in the GLUHFWFRQQHFWLRQ for %XWWRQ.
• Pictures, picture contents and SLFWXUHZLQGRZV that are to be displayed must be laid out
as you need them. The height and width of the picture and the SLFWXUHZLQGRZ should
agree.
WinCC Configuration Manual
C79000-G8276-C140-01
3-11
6DPSOH3URMHFWSLFWXB
2SHQLQJDSLFWXUHE\PHDQVRIWKH'\QDPLF:L]DUGH[DPSOH
7DVNGHILQLWLRQ
The picture in the SLFWXUHZLQGRZ is to be changed by clicking a EXWWRQ with the mouse;
configuration of the button is to be performed by means of the '\QDPLF:L]DUG.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
8
, which we click with the
5 to change the picture displayed in the 6PDUW2EMHFWV
→3LFWXUH:LQGRZ. We will use the pictures already configured in the previous example.
%XWWRQ
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIWKH'\QDPLF:L]DUG
1
In a picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ.
In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUHZLQGRZ
to the size of the screen and change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to
<HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with
the name SLFWXBBZLQGRZBSGO.
2
If the '\QDPLF:L]DUG isn’t visible, activate it by selecting 9LHZ→7RROEDUV
3
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. With the object selected, select
' the 3LFWXUH
the 3LFWXUH)XQFWLRQV tab from the '\QDPLF:L]DUG and
&KDQJHLQWKH:LQGRZ option. In the '\QDPLF:L]DUG on the page entitled 6HOHFW
WULJJHU, select 5LJKWPRXVHEXWWRQ and choose 1H[W to close the page. Fill in the
6HWRSWLRQV page as follows:
8
3-12
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIWKH'\QDPLF:L]DUG
Click the
EXWWRQ to display a list of the pictures available in the project. Close
the )LQLVKHG page by clicking )LQLVK.
4
Configure two more buttons under :LQGRZV2EMHFWV→%XWWRQ; in our example,
we use %XWWRQ and %XWWRQ. Apply the '\QDPLF:L]DUG to these buttons, too. In
the 6HWRSWLRQV window, set SLFWXBBZLQGRZBSGO as the GHVWLQDWLRQSLFWXUH
QDPH for %XWWRQ and SLFWXBBZLQGRZBSGO for %XWWRQ.
C action generated by the Dynamic Wizard
#include "apdefap.h"
void OnRButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
static char szPicture[22] = "pictu_5_window_00.PDL";
static char* tmp = &szPicture[0];
PDLRTSetPropEx(PDLRT_AM_PICTABS, "pictu_3_chapter_01","Picture
Window2", "PictureName",VT_LPSTR,&tmp,NULL,NULL,0,NULL, NULL);
}
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Adapt the settings in the '\QDPLF:L]DUG to suit your own needs.
WinCC Configuration Manual
C79000-G8276-C140-01
3-13
6DPSOH3URMHFWSLFWXB
2SHQLQJDSLFWXUHE\PHDQVRILQWHUQDOIXQFWLRQH[DPSOH
7DVNGHILQLWLRQ
The picture in the SLFWXUHZLQGRZ is to be changed by clicking a EXWWRQ with the mouse;
configuration of the EXWWRQ is to be performed by means of a C action.
,PSOHPHQWDWLRQFRQFHSW
8
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
, which we click with the
to change the picture displayed in the 6PDUW2EMHFWV
→3LFWXUH:LQGRZ. We will use the pictures from the previous example.
%XWWRQ
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRILQWHUQDOIXQFWLRQ
1
In a picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ.
In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUHZLQGRZ
to the size of the screen and change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to
<HV.
Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the
name SLFWXBBZLQGRZBSGO.
2
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Under (YHQWV→0RXVH→
3UHVVOHIW, configure the &DFWLRQ for changing picture. Configure two more
EXWWRQV; in our example, we use %XWWRQand %XWWRQ, which are equipped with
an appropriately modified &DFWLRQ.
C action for Button4
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetPictureName("pictu_3_chapter_01.PDL", "Picture
Window2","pictu_5_window_00");
}
• Using the LQWHUQDOIXQFWLRQ 6HW3LFWXUH1DPH, switch the picture SLFWXBZLQGRZBSGO
to the object 3LFWXUH:LQGRZ. SLFWXBBFKDSWHUBSGO is the name of the picture in
which the SLFWXUHZLQGRZ is located.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The parameters of the LQWHUQDOIXQFWLRQ6HW3LFWXUH1DPH must be adapted to suit your
own needs.
3-14
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6LQJOHSLFWXUHFKDQJHE\PHDQVRIWKH'\QDPLF:L]DUG
H[DPSOH
7DVNGHILQLWLRQ
The picture displayed during runtime is to be changed by clicking a EXWWRQ. Configuration is
to be implemented using the '\QDPLF:L]DUG.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ
, which we click with the
8
to change the picture displayed during runtime.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVLQJOHSLFWXUHFKDQJHE\PHDQVRIWKH'\QDPLF:L]DUG
1
In our example, the picture change is from SLFWXBBVWDUWSLFWXUHBSGO to
SLFWXBBFKDSWHUBDSGO. In the sample project, picture
SLFWXBBVWDUWSLFWXUHBSGO is always selected and only picture changes between
windows are performed there. By using the &DFWLRQ generated by the '\QDPLF
:L]DUG, the entire picture system displayed during runtime is replaced by the one
called. Changing back to SLFWXBBVWDUWSLFWXUHBSGO is like completely restarting
the picture project.
2
In the picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ. In our
example, we use the object called %XWWRQ.
3
With the object selected, select the 3LFWXUH)XQFWLRQV tab from the '\QDPLF
' the 6LQJOHSLFWXUHFKDQJH option. In the '\QDPLF:L]DUG on
:L]DUG and
the page entitled 6HOHFWWULJJHU, select the /HIWPRXVHEXWWRQ list entry and choose
1H[W to close the page. Fill in the 6HWRSWLRQV page as follows:
8
Click the
EXWWRQ to display a list
of the pictures available in the project. Close the )LQLVKHG page by clicking
)LQLVK.
4
If the picture change is performed in the sample project, you can return to the
project by clicking the
button.
WinCC Configuration Manual
C79000-G8276-C140-01
3-15
6DPSOH3URMHFWSLFWXB
C action generated by the Dynamic Wizard
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
OpenPicture("pictu_3_chapter_01a.PDL");
}
• The '\QDPLF:L]DUG generates a &DFWLRQ. This &DFWLRQ uses a VWDQGDUGIXQFWLRQ
called 2SHQ3LFWXUH, thus switching the picture SLFWXBBFKDSWHUBDSGO to runtime.
The &DFWLRQ generated can itself also be programmed.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Adapt the settings in the '\QDPLF:L]DUG to suit your own needs.
3-16
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6LQJOHSLFWXUHFKDQJHE\PHDQVRIDGLUHFWFRQQHFWLRQH[DPSOH
→
You access this example in our project SLFWXB by clicking the twoEXWWRQV.
7DVNGHILQLWLRQ
In contrast to the previous examples, clicking a EXWWRQ will in this case lead to the entire
picture being changed. This isn’t intended to just change the contents of a picture window; a
new picture is opened.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, which we click with the
to change the picture. The button is configure using a
GLUHFWFRQQHFWLRQ.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVLQJOHSLFWXUHFKDQJHE\PHDQVRIDGLUHFWFRQQHFWLRQ
1
In our example, the picture change is from SLFWXBBFKDSWHUBDSGO to
SLFWXBBVWDUWSLFWXUHBSGO.
2
In the picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ. In our
example, we use the object called %XWWRQ.
3
In the &KDQJH3LFWXUHRQ0RXVH&OLFN section of the %XWWRQ&RQILJXUDWLRQ
dialog, select the picture SLFWXBBVWDUWSLFWXUHB by means of the selection
window. This automatically leads to the generation of a GLUHFWFRQQHFWLRQ under
(YHQWV→0RXVH→0RXVH$FWLRQ. This connection can also be generated by
means of the 2EMHFW3URSHUWLHV dialog box.
WinCC Configuration Manual
C79000-G8276-C140-01
3-17
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHVLQJOHSLFWXUHFKDQJHE\PHDQVRIDGLUHFWFRQQHFWLRQ
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The picture name to be displayed and the object name of the picture window must be
adapted in the GLUHFWFRQQHFWLRQ for %XWWRQ.
3-18
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
2SHQLQJDSLFWXUHE\PHDQVRIWKHREMHFWQDPHDQGDQLQWHUQDO
IXQFWLRQH[DPSOH
→
You access this example in our project SLFWXB by clicking the twoEXWWRQV.
7DVNGHILQLWLRQ
The picture in a SLFWXUHZLQGRZ is to be changed by clicking a button. The EXWWRQ is to
recognize which picture it is to call by means of its object name, and is consequently only
supposed to be reusable for making further copies after its object name is changed.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
8
, which we click with the
to change the picture displayed in the 6PDUW2EMHFWV→
. We will use the pictures already configured in the previous example. The
names of these pictures comprise two components: a text section and a picture number.
%XWWRQ
3LFWXUH:LQGRZ
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIWKHREMHFWQDPHDQGDQLQWHUQDO
IXQFWLRQ
1
In a picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ.
In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUHZLQGRZ
to match the size of the pictures previously created. In order to display the
window with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→
%RUGHU to <HV.
Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the
name SLFWXBBZLQGRZBSGO.
2
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Under (YHQWV→0RXVH→
3UHVVOHIW, configure a &DFWLRQ which reads out the name and number of the
EXWWRQ and displays the picture you want in accordance with the agreed name
conventions.
3
Duplicate %XWWRQ twice and change the object names to %XWWRQ and %XWWRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
3-19
6DPSOH3URMHFWSLFWXB
C action for Button0
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
char
name[30];
int
number;
int
ch = ’n’;
char
*pdest;
//check if object name contains character
pdest = strrchr( lpszObjectName, ch );
if ( pdest == NULL )(printf("ObjectNameError"));
else {
//read object number
number = atoi(strrchr(lpszObjectName,’n’)+1);
//generate picture name
sprintf(name,"pictu_5_window_%02d.PDL",number);
//set picture name
SetPictureName("pictu_3_chapter_01a.PDL","Picture Window1",name);
}
}
• Declare the &WDJV.
• Check whether the object has been named in accordance with the agreed guidelines. The
objects are given the name [button]+[number of the picture to be called].
• Output of an error message if the character in front of the number, namely n, is not
found.
• Reading the number out of the button name. The function VWUUFKU searches backward
through the name for the character and the character string that follows the Q is picked
up and converted into an integer value by the function DWRL.
• The VSULQWI function uses the two components, namely the picture name to be called and
the picture number, to generate the complete picture name to be called up by the EXWWRQ.
• The LQWHUQDOIXQFWLRQ 6HW3LFWXUH1DPHis then used to switch the picture to be called to
the object 3LFWXUH:LQGRZ.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The &DFWLRQ for the EXWWRQ and assignment of the object name must be adapted to be in
accordance with your own name conventions. Make sure that these name conventions
are always strictly observed, both in object names and picture names, in order to
guarantee perfect accessing of the picture you want to open.
3-20
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
2SHQLQJDSLFWXUHE\PHDQVRIWKHREMHFWQDPHDQGDWDJ
FRQQHFWLRQZLWKGLVSOD\RIWKHSLFWXUHQDPHH[DPSOH
→
You access this example in our project SLFWXB by clicking the twoEXWWRQV.
7DVNGHILQLWLRQ
The picture in a SLFWXUHZLQGRZ is to be changed by clicking a EXWWRQ. The EXWWRQ is to
recognize which picture it is to call by means of its object name, and is consequently only
supposed to be reusable for making further copies after its object name is changed. The
picture name is to be stored in a text tag and displayed in a text field which isn’t in the
actual picture.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
8
, which we click with the
to change the picture displayed in the 6PDUW2EMHFWV
→3LFWXUH:LQGRZ. We will use the pictures already configured in the previous example.
The names of these pictures comprise two components: a text section and a picture number.
In addition, we use a static text created under 6WDQGDUG2EMHFWV→6WDWLF7H[W to display the
picture name.
%XWWRQ
WinCC Configuration Manual
C79000-G8276-C140-01
3-21
6DPSOH3URMHFWSLFWXB
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHRSHQLQJDSLFWXUHE\PHDQVRIWKHREMHFWQDPHDQGDWDJ
FRQQHFWLRQZLWKGLVSOD\RIWKHSLFWXUHQDPH
3-22
1
Create a tag of type 7H[WWDJELWFKDUDFWHUVHW with a length of 30 characters in
Tag Management. In our example, we use the tag called 7[BVHOHFB. This tag
contains the name of the picture displayed in the SLFWXUHZLQGRZ.
2
Call the properties dialog box of the picture object with the name
SLFBFKDSWHUBDSGO.
Under (YHQWV→0LVFHOODQHRXV→2SHQ3LFWXUH, configure a &DFWLRQ which
assigns the picture name SLFWXBBZLQGRZBSGO to tag 7[BVHOHFB. This
corresponds to the picture that is to be displayed the first time a picture is opened.
3
In a picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ.
In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUHZLQGRZ
to match the size of the pictures previously created. In order to display the
window with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→
%RUGHU to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select
SLFWXBBZLQGRZBSGO and create a WDJFRQQHFWLRQ to tag 7[BVHOHFB.
4
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQB. Under (YHQWV→0RXVH→
3UHVVOHIW, configure a &DFWLRQ which reads out the name and number of the
EXWWRQ and assigns this name to the LQWHUQDOWDJ 7[BVHOHFB.
5
6
Duplicate %XWWRQB twice and change the object names to %XWWRQB and %XWWRQB.
In the picture, configure a static text (6PDUW2EMHFWV→6WDWLF7H[Wabove 3LFWXUH
:LQGRZ; in our example, we use the object 6WDWLF7H[W. Change 3URSHUWLHV→
)RQW→%ROG to <HV. Under 3URSHUWLHV→)RQW→7H[W, delete the default text in
the 6WDWLF column and create a WDJFRQQHFWLRQ to tag 7[BVHOHFB. Set updating
to take place 8SRQFKDQJH. Deleting the static entry prevents an incorrect text
from being output at the moment of picture buildup.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
C action for Open Picture
#include "apdefap.h"
void OnOpenPicture(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName)
{
SetTagChar("T16x_selec_00","pic_window_01.pdl");
}
• Assigning the picture name by means of the LQWHUQDOIXQFWLRQ 6HW7DJ&KDU.
C action for Button_0
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
char name[30];
int number;
int ch = ’_’;
char *pdest;
//check if object name contains character
pdest = strrchr( lpszObjectName, ch );
if ( pdest == NULL )(printf("ObjectNameError"));
else {
//read object number
number = atoi(strrchr(lpszObjectName,’_’)+1);
//generate picture name
sprintf(name,"pictu_5_window_%02d.PDL",number);
//set tag which contains picture name
SetTagChar("T16x_selec_00",name);
}
}
• Declare the LQWHUQDOWDJV.
• Check whether the object has been named in accordance with the agreed guidelines. The
objects are given the name [button]+[_]+[number of the picture to be called].
• Output of an error message if the character in front of the number, namely _, is not
found.
• Reading the number out of the button name. The function VWUUFKU searches backward
through the name for the character B and the character string that follows the B is picked
up and converted into an integer value by the function DWRL.
• The VSULQWI function uses the two components, namely the picture name to be called and
the picture number, to generate the complete picture name to be called up by the EXWWRQ.
• The LQWHUQDOIXQFWLRQ 6HW7DJ&KDUis then used to transfer the picture name to be called
to tag 7[BVHOHFB.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The&DFWLRQ for the EXWWRQ and assignment of the object name must be adapted to be in
accordance with your own name conventions. Make sure that these name conventions
are always strictly observed, both in object names and picture names, in order to
guarantee perfect accessing of a picture you want to open.
WinCC Configuration Manual
C79000-G8276-C140-01
3-23
6DPSOH3URMHFWSLFWXB
6KXWGRZQ:LQ&&DFFHVVSURWHFWLRQ
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
3-24
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6KXWWLQJGRZQH[LWLQJUXQWLPHDQGWKHV\VWHPH[DPSOH
7DVNGHILQLWLRQ
Two EXWWRQV are to be used by means of the mouse to select two windows via which either
runtime or the complete system is shut down.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, each of which displays a picture in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
8
click it with the
. In the individual pictures, two buttons created under :LQGRZV2EMHFWV
→%XWWRQ are to enable either the corresponding system function to be called or the
procedure to be canceled.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKXWWLQJGRZQH[LWLQJUXQWLPHDQGWKHV\VWHP
1
Configure a picture that is to be used to shut down (exit) runtime; in our example,
we use picture SLFWXBBZLQGRZBSGO.
2
In this picture, configure a button under :LQGRZV2EMHFWV→%XWWRQ; in our
example, we use %XWWRQ.With the object selected, select the 6\VWHP)XQFWLRQV
tab from the '\QDPLF:L]DUG and
' the ([LW:LQ&&RU:LQGRZV option. In
the '\QDPLF:L]DUG on the page entitled 6HOHFWWULJJHU, select /HIWPRXVHEXWWRQ
and
1H[W. On the 6HWRSWLRQV page, select ([LW:LQGRZV. Close the )LQLVKHG
page by clicking )LQLVK.
8
8
3
Configure another :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the object
called %XWWRQ. This is used to cancel the procedure. Under (YHQWV→0RXVH→
3UHVVOHIW, configure a GLUHFWFRQQHFWLRQ which hides the picture.
4
Configure another picture that is to be used to shut down the system; in our
example, we use picture SLFWXBBZLQGRZBSGO.
5
In this picture, configure a :LQGRZV2EMHFWV→%XWWRQ. In our example, we use
the object called %XWWRQ. With the object selected, select the 6\VWHP)XQFWLRQV
tab from the '\QDPLF:L]DUG and
' the ([LW:LQ&&5XQWLPH option. In the
'\QDPLF:L]DUG on the page entitled 6HOHFWWULJJHU, select /HIWPRXVHEXWWRQ and
1H[W. Close the )LQLVKHG page by clicking )LQLVK.
8
8
6
Configure another :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the object
called %XWWRQ. This is used to cancel the procedure. Under (YHQWV→0RXVH→
3UHVVOHIW, configure a GLUHFWFRQQHFWLRQ which hides the picture.
7
In another picture, configure two picture windows under 6PDUW2EMHFWV→
3LFWXUH:LQGRZ; in our example, we use the objects 3LFWXUH:LQGRZ and
3LFWXUH:LQGRZ, which, however are tiled. Adjust the size of the SLFWXUH
ZLQGRZV to match the size of the pictures just configured. If the SLFWXUHZLQGRZV
are to be displayed with borders, :LQGRZ+HLJKW and the :LQGRZ:LGWK of the
SLFWXUHZLQGRZV must be set 10 pixels greater than those of the pictures, so that
the entire picture can be displayed. Enter the respective picture names under
3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH. Change 3URSHUWLHV→
WinCC Configuration Manual
C79000-G8276-C140-01
3-25
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHVKXWWLQJGRZQH[LWLQJUXQWLPHDQGWKHV\VWHP
0LVFHOODQHRXV
8
→'LVSOD\ to 1R.
In the same picture, configure two button objects under :LQGRZV2EMHFWV→
%XWWRQ. In our example, these are %XWWRQ and %XWWRQ. Configure a GLUHFW
FRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH
&RQVWDQW→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button. In the same way, create a GLUHFW
FRQQHFWLRQ for %XWWRQ, but set the WDUJHW to 2EMHFWLQ3LFWXUH→3LFWXUH
:LQGRZ→'LVSOD\.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The pictures for shutting down the system and runtime can be applied directly to other
projects.
• The object names in the GLUHFWFRQQHFWLRQV of the SLFWXUHZLQGRZV which make up the
EXWWRQV for calling the picture windows must be changed.
3-26
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
$FFHVVSURWHFWLRQORJLQE\PHDQVRIDVWDQGDUGER[H[DPSOH
7DVNGHILQLWLRQ
A picture should only be able to be changed by means of two EXWWRQV if the user has the
appropriate authorization.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, each of which displays a picture in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
8
click it with the
. The necessary settings for assigning user authorization are to be made
in the 8VHU$GPLQLVWUDWRU editor.
WinCC Configuration Manual
C79000-G8276-C140-01
3-27
6DPSOH3URMHFWSLFWXB
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
1
2
3
85
3URFHGXUHDFFHVVSURWHFWLRQORJLQE\PHDQVRIDVWDQGDUGER[
Open the 8VHU$GPLQLVWUDWRUeditor in the &RQWURO&HQWHU using
.
EXWWRQ to create a new user group and give it a name; in our
Click the
example, we use the name VHUYLFH.
Under the menu item 7DEOH→$GGQHZDXWKRUL]DWLRQOHYHO, define the
authorization level &KDQJHSLFWXUH under line 9. This authorization level is
assigned to the VHUYLFH group. For this, select the group with
. In the table
8
8
containing the authorization levels,
' the SLFWXUHFKDQJH line in the (QDEOH
column.
An authorization level assigned to a group or a user is identified by a red dot in
the (QDEOH column.
4
EXWWRQ and create a new user.
With the VHUYLFH user group selected, click the
User ZLOOL having the password SLFWXB was used in the example project. The
&RS\JURXSVHWWLQJVDOVR check box is selected in order to transfer the
authorization levels applicable to the group to the user.
$GPLQLVWUDWRU
5
editor by choosing )LOH→([LW from the menu.
Close the 8VHU
In the &RQWURO&HQWHU, call the 3URMHFWSURSHUWLHV dialog box.
In the window now displayed, select the
tab and enter the desired settings for calling the login (Log on) dialog
box and for logoff (Log off). In our example, we use the key combination
CTRL+O for Log on and CTRL+F for Log off.
+RW.H\V
6
3-28
In a picture, configure two buttons under :LQGRZV2EMHFWV→%XWWRQ. In our
example, we use the objects called %XWWRQ and %XWWRQ.
Configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ, into which
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHDFFHVVSURWHFWLRQORJLQE\PHDQVRIDVWDQGDUGER[
various pictures are inserted by means of GLUHFWFRQQHFWLRQV linked to the two
EXWWRQV.
7
Under 3URSHUWLHV→0LVFHOODQHRXV→8VHUOHYHO, select the authorization level
&KDQJHSLFWXUH for the objects %XWWRQand %XWWRQ and change 3URSHUWLHV→
0LVFHOODQHRXV→2SHUDWRU&RQWURO(QDEOH to 1R.
8
Selectthe tab labeled 0LVFHOODQHRXV on %XWWRQ for an object selected in the
'\QDPLF:L]DUGand
' 2SHUDEOHLIDXWKRUL]HG. Close the '\QDPLF:L]DUG by
choosing )LQLVK. Apply the same procedure to %XWWRQ.
9
In tag management, create the system tag #&XUUHQW8VHUof type WH[WWDJELW
FKDUDFWHUVHW with a length of 20 characters. This tag is automatically assigned
the user name currently logged in.
10
Trigger the &DFWLRQV generated by the '\QDPLF:L]DUG at %XWWRQand %XWWRQ
on change of this tag. This means that the &DFWLRQ is no longer processed every
two seconds but only when there is a change of user name.
8
C action generated by the Dynamic Wizard
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#pragma code (" UseAdmin.DLL")
#include "pwrt_api.h"
#pragma code ()
#define NO_MESSAGEBOX 1
CMN_ERROR err;
DWORD pwlevel = 0;
pwlevel = (DWORD) GetPasswordLevel(lpszPictureName,lpszObjectName);
if (pwlevel==0)
return (TRUE);
else
return(PWRTCheckPermissionOnPicture(pwlevel,lpszPictureName,NO_MESSA
GEBOX,&err));
}
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The names of the user groups and the users, the logins and the passwords (user levels)
must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
3-29
6DPSOH3URMHFWSLFWXB
2SHUDWRU&RQWURO(QDEOHORJLQLQDVHSDUDWHGLDORJER[
H[DPSOH
7DVNGHILQLWLRQ
Runtime should only be able to be exited by means of a EXWWRQ if the user has the
appropriate authorization. A dialog box for logging in is to pop up when a EXWWRQ is clicked.
,PSOHPHQWDWLRQFRQFHSW
For implementation we use two buttons created under :LQGRZV2EMHFWV→%XWWRQ; with the
first button a picture window, created under 6PDUW2EMHFW→3LFWXUH:LQGRZ, is opened for
8
logging on upon clicking
. The second button is to be used to shut down runtime.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHDFFHVVSURWHFWLRQ2SHUDWRU&RQWURO(QDEOHORJLQE\PHDQVRI
DVHSDUDWHGLDORJER[
3-30
1
In the 8VHU$GPLQLVWUDWRU editor, create a new user group and give it a name; in
our example, we use the name XVHU. Under line 10, define a new authorization
level with the name 5XQWLPHHQG (= Exit runtime). This authorization level is
assigned to the XVHU group. Create a user for the group.
User XOULFK having the password SLFWXB was used in the example project.
2
In a picture, configure two buttons under :LQGRZV2EMHFWV→%XWWRQ. In our
example, we use the objects called %XWWRQ and %XWWRQ.
3
Under object %XWWRQ, configure the call for a picture window created under
6PDUW2EMHFWV→3LFWXUH:LQGRZ to be used to exit runtime; in our example, we
use 3LFWXUH:LQGRZ
4
Under 3URSHUWLHV→0LVFHOODQHRXV→8VHUOHYHO, select the authorization level
5XQWLPHHQG for the object %XWWRQ and change 3URSHUWLHV→0LVFHOODQHRXV→
2SHUDWRU&RQWURO(QDEOH to 1R.
5
At %XWWRQ, apply the '\QDPLF:L]DUG labeled 2SHUDEOHLIDXWKRUL]HG. Set the &
DFWLRQ generated to be triggered by the system tag, #&XUUHQW8VHU, to be created
in Tag Management.
6
Configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ. In our
example, we use the object called 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
+HLJKW to . In the 3URSHUWLHV→0LVFHOODQHRXV:LQGRZFKDQJH0RYDEOH,
%RUGHU, 7LWOH and )RUHJURXQG to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→
3LFWXUH1DPH, select the picture with the name SLFWXBBZLQGRZBSGO. This
picture can be taken directly from project SLFWXB.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHDFFHVVSURWHFWLRQ2SHUDWRU&RQWURO(QDEOHORJLQE\PHDQVRI
DVHSDUDWHGLDORJER[
7
Under %XWWRQ, configure a GLUHFWFRQQHFWLRQ for displaying the SLFWXUHZLQGRZ
just configured.
8
Under %XWWRQ, configure a &DFWLRQ which assigns a text to the button label,
which depends on whether the user is logged in or not. This &DFWLRQ is also
triggered by the #&XUUHQW8VHU tag.
C action for Button6
#include "apdefap.h"
char *_main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
if (strcmp(GetTagChar("@CurrentUser"),""))
return "Logoff";
else
return "Logon";
}
• If the #&XUUHQW8VHU tag contains a name, that is, the comparison of the two texts
results in 758(, the text /RJRII is returned, otherwise /RJRQ.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The names of the user groups and the users, the logins and the passwords (user levels)
must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
3-31
6DPSOH3URMHFWSLFWXB
6KRZLQJDSLFWXUHZLQGRZ
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
3-32
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6KRZLQJDQGKLGLQJIURPRXWVLGHDSLFWXUHZLQGRZH[DPSOH
7DVNGHILQLWLRQ
A picture window is to be shown and hidden again by means of two EXWWRQV for clicking.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, to show and hide the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ
when we click one of them with the
8
.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKRZLQJDQGKLGLQJIURPRXWVLGHDSLFWXUHZLQGRZ
1
Configure a picture that is to be shown and hidden, e.g. a help text or an info box.
In our example, we use SLFWXBBZLQGRZB, a pure info box without any
additional control elements.
2
In another picture, configure a 6PDUW2EMHFWV→3LFWXUH:LQGRZ with the same
geometric dimensions as the picture created before. In our example, we use
3LFWXUH:LQGRZ Change 3URSHUWLHV→*HRPHWU\→:LQGRZ:LGWK to and
3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW to . In order to display the
window with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→
%RUGHU to <HV. To allow the window to be moved round, change 3URSHUWLHV→
0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH
1DPH, select the picture with the name SLFWXBBZLQGRZBSGO.
3
In the same picture, configure two button objects under :LQGRZV2EMHFWV→
%XWWRQ. In our example, these are %XWWRQ and %XWWRQ. Configure a GLUHFW
FRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH
&RQVWDQW→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
3-33
6DPSOH3URMHFWSLFWXB
6WHS
4
3URFHGXUHVKRZLQJDQGKLGLQJIURPRXWVLGHDSLFWXUHZLQGRZ
In the same way as for %XWWRQ, configure a direct connection for %XWWRQ under
(YHQWV→0RXVH→3UHVVOHIW. Enter the value as the &RQVWDQW.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The picture name to be displayed and the object name of the SLFWXUHZLQGRZ must be
adapted in the GLUHFWFRQQHFWLRQV for %XWWRQ and %XWWRQ.
• The picture SLFWXBBZLQGRZB can be integrated directly into another project, where
its title and information text are changed.
3-34
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6KRZLQJIURPRXWVLGHDQGKLGLQJIURPLQVLGHDSLFWXUHZLQGRZ
H[DPSOH
7DVNGHILQLWLRQ
A picture window is to be shown (displayed) by clicking a EXWWRQ. The picture window is to
be hidden by clicking a button inside theSLFWXUHZLQGRZ.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, to show and hide the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ
when we click one of them with the
8
.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKRZLQJIURPRXWVLGHDQGKLGLQJIURPLQVLGHWKHSLFWXUHZLQGRZ
1
Configure a picture that is to be shown and hidden, e.g. a help text or an info box.
In our example, we use picture SLFWXBBZLQGRZB, an info box with an
additional button → which will be used to hide the picture. In our example, this is
%XWWRQ.
2
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the source &RQVWDQW→ to the target &XUUHQW:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
3
In another picture, configure a 6PDUW2EMHFWV→3LFWXUH:LQGRZ with the same
geometric dimensions as the picture created before. In our example, we use
3LFWXUH:LQGRZ. Change 3URSHUWLHV→*HRPHWU\→:LQGRZ:LGWK to and
3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW to . In order to display the
window with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→
%RUGHU to <HV. To allow the window to be moved round, change 3URSHUWLHV→
0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH
1DPH, select the picture with the name SLFWXBBZLQGRZBSGO.
4
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Configure a GLUHFWFRQQHFWLRQ
for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH &RQVWDQW
→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\. Accept the
settings by clicking the 2. button.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The picture name to be displayed and the object name of the SLFWXUHZLQGRZ must be
adapted in the GLUHFWFRQQHFWLRQ for %XWWRQ.
• The picture SLFWXBBZLQGRZB can be integrated directly into another project, where
its title and info text are changed. There is no need to make any changes to the GLUHFW
FRQQHFWLRQ under %XWWRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
3-35
6DPSOH3URMHFWSLFWXB
7LPHFRQWUROOHGKLGLQJRIDSLFWXUHZLQGRZH[DPSOH
7DVNGHILQLWLRQ
A SLFWXUHZLQGRZ is to be shown and hidden by clicking a EXWWRQ. This picture window is
then to be hidden automatically after a set time.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show and hide the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ
when we click it with the
8
.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3-36
3URFHGXUHWLPHFRQWUROOHGKLGLQJRIDSLFWXUHZLQGRZ
1
Configure a picture that is to be shown and hidden, e.g. a help text or an info box.
In our example, we use the picture SLFWXBBZLQGRZB, a pure info box without
any additional control elements. To implement time-controlled hiding of the
object called *UDSKLF2EMHFW at 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;,
configure a &DFWLRQ. This &DFWLRQ can be positioned anywhere, since only a
WULJJHU is required. Set VHFRQG as the trigger.
2
In another picture, configure a 6PDUW2EMHFWV→3LFWXUH:LQGRZ with the same
geometric dimensions as the picture created before. In our example, we use
3LFWXUH:LQGRZ Change 3URSHUWLHV→*HRPHWU\→:LQGRZ:LGWK to and
3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW to . In order to display the
window with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→
%RUGHU to <HV. To allow the window to be moved round, change 3URSHUWLHV→
0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH
1DPH, select the picture with the name SLFWXBBZLQGRZBSGO.
3
In our example, this is %XWWRQ. Under (YHQWV→0RXVH→3UHVVOHIW, configure a
&DFWLRQ for %XWWRQ, which shows and hides the SLFWXUHZLQGRZ.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
C action for Graphic Object1
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
staticint i = 0;
//count time
i++;
//if maximum time is reached
if (i>5) SetVisible("pictu_3_chapter_03.PDL","Picture Window3",0);
return 0;
}
• Declare the static &WDJ. This tag retains its value during the time the picture is open.
• Incrementing of the static &WDJ each time the program is called.
• When it has exceeded the value 5, that is, after 5 seconds if the trigger has been set to 1
second, the SLFWXUHZLQGRZ is hidden.
• The return value is the X position of *UDSKLF2EMHFW, since the &DFWLRQ is attached to
this property and the property itself is not to be changed.
C action for Button4
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
//set visibility in complement state
SetVisible("pictu_3_chapter_03.PDL","Picture
Window3",(SHORT)!GetVisible("pictu_3_chapter_03.PDL","Picture
Window3"));
}
• The LQWHUQDOIXQFWLRQ 6HW9LVLEOH assigns the inverse of the current state of visibility to
the state of visibility of 3LFWXUH:LQGRZ. The current state is queried by the LQWHUQDO
IXQFWLRQ *HW9LVLEOH.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The picture name to be displayed and the object name of the SLFWXUHZLQGRZ must be
adapted in the &DFWLRQ for %XWWRQ.
• The picture SLFWXBBZLQGRZB can be integrated directly into another project, where
its title and info text are changed. The time until the picture is hidden can be defined in
the &DFWLRQ under *UDSKLF2EMHFW either by changing the trigger or by changing the
condition in the LI statement itself.
WinCC Configuration Manual
C79000-G8276-C140-01
3-37
6DPSOH3URMHFWSLFWXB
6KRZLQJDSLFWXUHZLQGRZZKLOHKROGLQJGRZQWKHULJKWPRXVH
EXWWRQH[DPSOH
7DVNGHILQLWLRQ
85
A SLFWXUHZLQGRZ is to be shown while the
is to be hidden again when the
85
is pressed and held down on a EXWWRQ, and
is released.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show the picture in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ while the
pressed and held down on this button.
8
R is being
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKRZLQJDSLFWXUHZLQGRZZKLOHKROGLQJGRZQWKHULJKWPRXVH
EXWWRQ
1
Configure a picture that is to be shown and hidden, e.g. a help text or an info box.
In our example, we use the picture SLFWXBBZLQGRZB, a pure info box without
any additional control elements.
2
In another picture, configure a 6PDUW2EMHFWV→3LFWXUH:LQGRZ with the same
geometric dimensions as the picture created before. In our example, we use
3LFWXUH:LQGRZ Change 3URSHUWLHV→*HRPHWU\→:LQGRZ:LGWK to and
3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW to . In order to display the
window with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→
%RUGHU to <HV. To allow the window to be moved round, change 3URSHUWLHV→
0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH
1DPH, select the picture with the name SLFWXBBZLQGRZBSGO.
3
In the same picture, configure a button under :LQGRZV2EMHFWV→%XWWRQ; in our
example, this is %XWWRQ. Configure a GLUHFWFRQQHFWLRQIRU %XWWRQ under (YHQWV
→0RXVH→3UHVVULJKW. Connect the VRXUFH &RQVWDQW→ to the WDUJHW 2EMHFW
LQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\. Accept the settings by clicking the
2. button.
4
In the same way, configure a GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→
5HOHDVHULJKW. Enter the value as the &RQVWDQW.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The picture name to be displayed and the object name of the SLFWXUHZLQGRZ must be
adapted in the GLUHFWFRQQHFWLRQV for %XWWRQ.
• The picture SLFWXBBZLQGRZB can be integrated directly into another project, where
its title and information text are changed.
3-38
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&RQILJXULQJLQIRLQVWUXFWLRQER[HVZLWKWKHZL]DUGH[DPSOH
8
You access this example by
the EXWWRQ depicted above. The example is configured in
the picture named SLFWXBBFKDSWHUBDSGO.
7DVNGHILQLWLRQ
An info (instruction) box is to be shown (pop up) if a tag exceeds the value 100; an
emergency box is to be shown if it exceeds 150.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a slider object created under :LQGRZV2EMHFWV→
6OLGHU2EMHFW to input the tag value and an I/O field created under 6PDUW2EMHFWV→,2
)LHOG to display the tag value.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFRQILJXULQJLQIRLQVWUXFWLRQER[HVZLWKWKHZL]DUG
1
If the '\QDPLF:L]DUG isn’t visible, activate it by selecting 9LHZ→7RROEDUV
2
In a picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In our
example, we use the object called ,2)LHOG. With the object selected, select the
3LFWXUH)XQFWLRQV tab from the '\QDPLF:L]DUG and
' the 'LVSOD\
,QVWUXFWLRQ%R[ option. In the '\QDPLF:L]DUG on the page entitled 6HOHFW
1H[W. Fill in the 6HWRSWLRQV page as
WULJJHU, select /HIWPRXVHEXWWRQ and
follows:
8
WinCC Configuration Manual
C79000-G8276-C140-01
8
3-39
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJLQIRLQVWUXFWLRQER[HVZLWKWKHZL]DUG
Close the )LQLVKHG page by clicking )LQLVK.
3-40
3
Use the '\QDPLF:L]DUG on ,2)LHOG once again. On the page entitled 6HOHFW
WULJJHU, select 5LJKWPRXVHEXWWRQ. On the page entitled 6HWRSWLRQV, select the
(PHUJHQF\%R[ option and enter the text to be displayed.
4
Create a tag of type 6LJQHGELWYDOXH in Tag Management. In our example, we
use the tag called 6LBSLFWXBER[HVB.
5
In the same picture, configure an object under :LQGRZV2EMHFWV→6OLGHU2EMHFW.
in our example, this is 6OLGHU2EMHFW. Create a GLUHFWFRQQHFWLRQ for 6OLGHU
2EMHFW under (YHQWV→3URSHUW\7RSLFV→0LVFHOODQHRXV→3URFHVV'ULYHU
&RQQHFWLRQ. Connect the VRXUFH 3URSHUW\→6OLGHU2EMHFW→3URFHVV'ULYHU
&RQQHFWLRQ to the WDUJHW 9DULDEOH→6LBSLFWXBER[HVB. Accept the settings
by clicking the 2. button.
6
For object ,2)LHOG, create a tag connection to tag 6LBSLFWXBER[HVB under
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH and set the trigger to 8SRQFKDQJH.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJLQIRLQVWUXFWLRQER[HVZLWKWKHZL]DUG
7
For object ,2)LHOG, create a &DFWLRQ under (YHQWV→3URSHUW\7RSLFV→
2XWSXW,QSXW→2XWSXW9DOXH, which displays an info box if tag
6LBSLFWXBER[HVB exceeds a value of 100 and an emergency box if the tag
exceeds a value of 150. The &DFWLRQV generated by the '\QDPLF:L]DUG can be
copied at (YHQWV→0RXVH→3UHVVOHIWand 3UHVVULJKW and inserted into this &
DFWLRQ.
8
Delete the &DFWLRQV under (YHQWV→0RXVH→3UHVVOHIWand 3UHVVULJKW.
WinCC Configuration Manual
C79000-G8276-C140-01
3-41
6DPSOH3URMHFWSLFWXB
C action for I/O Field1
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, double value)
{
int a;
static int i = 0, j = 0;
//get tag value
a=GetTagDWord("S32i_pictu_boxes_00");
//set visible info box
if
((a>100)&&(i==0)) {
i=1;
MessageBox(NULL,"The tag value has exceeded \r\n100",
"Message", MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND);
}//if
if (a<=100) (i=0);
//set visible emergency box
if
((a>150)&&(j==0)) {
j=1;
MessageBox(NULL,"The tag value has exceeded \r\n150",
"Caution!!!", MB_OK|MB_ICONSTOP|MB_SETFOREGROUND);
}//if
if (a<=150) (j=0);
}
• Read in the tag value using the LQWHUQDOIXQFWLRQ *HW7DJ':RUG.
• If 100 is exceeded, show the info (instruction) box with the &DFWLRQ generated by the
'\QDPLF:L]DUG. If 100 is exceeded, the info box is initially shown again; if 100 is
fallen below, the static &WDJ ’i’ has been reset to zero.
• If 150 is exceeded, show the emergency box with the&DFWLRQ generated by the '\QDPLF
:L]DUG. If 150 is exceeded, the emergency box is initially shown again; if 150 is fallen
below, the static &WDJ j has been reset to zero.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag name in the &DFWLRQ under ,2)LHOG must be adapted.
• The text displayed in the info and emergency boxes must be adapted to suit your own
needs.
3-42
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6KRZLQJDGLDORJER[IRUHQWHULQJWH[WH[DPSOH
8
You access this example by
the EXWWRQ depicted above. The example is configured in
the picture named SLFWXBBFKDSWHUBDSGO.
7DVNGHILQLWLRQ
8
When aEXWWRQ is clicked with the
, a dialog box is to be displayed to enable you to enter
a text. The text entered is displayed in the picture.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ to display the dialog box and a static text created under 6WDQGDUG2EMHFWV→6WDWLF
7H[W to display the text. An I/O field created under 6PDUW2EMHFWV→,2)LHOG is used to
enter the text in the dialog box, and two buttons created under :LQGRZV2EMHFWV→%XWWRQ
are used apply or cancel the input.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKRZLQJDGLDORJER[IRUHQWHULQJWH[W
1
Create two tags of type 7H[WWDJELWFKDUDFWHUVHW in Tag Management. In our
example, we use 7LBSLFWXBZLQB and 7LBSLFWXBZLQB.
2
Configure a picture in which text input is to be carried out. in our example, we
use picture SLFWXBBZLQGRZBSGO.
3
In this picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG.
Under 3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH, configure a WDJFRQQHFWLRQ to
tag 7LBSLFWXBZLQB and set the trigger to 8SRQFKDQJH. Change 3URSHUWLHV→
2XWSXW,QSXW→'DWD)RUPDW to 6WULQJ and 3URSHUWLHV→2XWSXW,QSXW→$SSO\
RQ([LW to <HV. This means that the Return key doesn’t have to be pressed to
accept the text entered.
4
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. This is used to accept (apply)
the text entered. Under (YHQWV→0RXVH→3UHVVOHIW, configure a &DFWLRQ
which transfer the contents of tag 7LBSLFWXBZLQB to the tag which contains
the text to be displayed, i.e. tag7LBSLFWXBZLQB. Under (YHQWV→0RXVH→
0RXVH$FWLRQ, configure a GLUHFWFRQQHFWLRQ which hides the picture.
5
Configure another button under :LQGRZV2EMHFWV→%XWWRQ; in our example, we
use %XWWRQ. This is used to cancel the input; the text previously entered is
retained. Configure a &DFWLRQ under (YHQWV→0RXVH→3UHVVOHIW. This
transfers the contents of tag 7LBSLFWXBZLQB (which contains the previous
text) to tag7LBSLFWXBZLQB. Under (YHQWV→0RXVH→0RXVH$FWLRQ,
configure a GLUHFWFRQQHFWLRQ which hides the picture.
6
In a second picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ. In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUH
ZLQGRZ to match the size of the picture just configured. If the picture window is
WinCC Configuration Manual
C79000-G8276-C140-01
3-43
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHVKRZLQJDGLDORJER[IRUHQWHULQJWH[W
to be displayed with borders, the :LQGRZ+HLJKW and the :LQGRZ:LGWK of the
SLFWXUHZLQGRZ must be set 10 pixels greater than those of the picture. Under
3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZBSGO.
7
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Create a further GLUHFW
FRQQHFWLRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH &RQVWDQW
→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\. Accept the
settings by clicking the 2. button.
8
In the same picture, configure an object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W.
In our example, this is 6WDWLF7H[W. Under 3URSHUWLHV→)RQW→7H[W, configure a
WDJFRQQHFWLRQ to tag 7LBSLFWXBZLQB and set the trigger to 8SRQFKDQJH.
C action for Button1
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
//set new text to current text
SetTagChar("T16i_pictu_win_00",GetTagChar ("T16i_pictu_win_01"));
}
• Assign the contents of tag 7LBSLFWXBZLQB to tag 7LBSLFWXBZLQB.
C action for Button2
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
//set actual text to temporary text
SetTagChar("T16i_pictu_win_01",GetTagChar ("T16i_pictu_win_00"));
}
• Assign the contents of tag 7LBSLFWXBZLQB to tag 7LBSLFWXBZLQB.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Picture SLFWXBBZLQGRZBSGO can be used directly for entering text. The &DFWLRQV
under the EXWWRQV, however, must be adapted to your own tag names.
3-44
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
=RRP
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
WinCC Configuration Manual
C79000-G8276-C140-01
3-45
6DPSOH3URMHFWSLFWXB
&KDQJLQJSLFWXUHJHRPHWU\EHWZHHQWZRVL]HVH[DPSOH
7DVNGHILQLWLRQ
A SLFWXUHZLQGRZis to be shown and hidden again by means of two EXWWRQV for clicking.
When opened, the picture is to be shown small. The size of the picture is to be adjustable by
means of another EXWWRQ.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, to show and hide the picture displayed in the 6PDUW2EMHFWV→3LFWXUH
. Two further buttons created under
:LQGRZ when we click one of them with the
:LQGRZV2EMHFWV→%XWWRQ are used to enlarge and reduce the size of the picture.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3-46
3URFHGXUHFKDQJLQJSLFWXUHJHRPHWU\EHWZHHQWZRVL]HV
1
Configure a picture that is to be shown and hidden. In our example, we use the
picture with the name SLFWXBBFKDSWHUB (the start picture of picture project
SLFWXB.
2
In another picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ; in our example, we use 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
+HLJKW to . Change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to <HV and
3URSHUWLHV→0LVFHOODQHRXV→$GDSW3LFWXUH to <HV. In this way, the picture,
which has a geometry of 859*698, is adapted to the size of the picture window.
Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the
name SLFWXBBFKDSWHUB. Change 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\ to
1R.
3
In the same picture, configure two more button objects under :LQGRZV2EMHFWV
→%XWWRQ. In our example, these are %XWWRQ and %XWWRQ. Configure a GLUHFW
FRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH
&RQVWDQW→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
4
Configure two more buttons under :LQGRZV2EMHFWV→%XWWRQ. In our example,
these are %XWWRQ and %XWWRQ. Under %XWWRQ, select (YHQWV→0RXVH→3UHVV
OHIW and configure a &DFWLRQ which enlarges the SLFWXUHZLQGRZ, then hides
%XWWRQ and shows %XWWRQ. Under %XWWRQ, likewise select (YHQWV→0RXVH→
3UHVVOHIW and configure a &DFWLRQ which reduces the SLFWXUHZLQGRZ, then hides
%XWWRQ and shows %XWWRQ. The 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\ settings
of both EXWWRQV are set to 1R.
5
Create a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→0RXVH$FWLRQ.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW 2EMHFWLQ3LFWXUH→%XWWRQ→
'LVSOD\.
Accept the settings by clicking the 2. button. Under %XWWRQ, select (YHQWV→
0RXVH→3UHVVOHIW and configure a &DFWLRQ which hides %XWWRQ and %XWWRQ,
reduces the size of 3LFWXUH:LQGRZ and then hides the SLFWXUHZLQGRZ.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
6
3URFHGXUHFKDQJLQJSLFWXUHJHRPHWU\EHWZHHQWZRVL]HV
Position %XWWRQ and %XWWRQ directly one on top of the other.
C action for Button3
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetHeight(lpszPictureName,"Picture Window1",420);
SetWidth(lpszPictureName,"Picture Window1",516);
SetVisible(lpszPictureName,"Button3",0);
SetVisible(lpszPictureName,"Button4",1);
}
• Change height and width of 3LFWXUH:LQGRZ using theLQWHUQDOIXQFWLRQV 6HW+HLJKW
and 6HW:LGWK.
• Hide the HQODUJH button (%XWWRQ).
• Show the UHGXFH button (%XWWRQ).
C action for Button4
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetHeight(lpszPictureName,"Picture Window1",140);
SetWidth(lpszPictureName,"Picture Window1",172);
SetVisible(lpszPictureName,"Button3",1);
SetVisible(lpszPictureName,"Button4",0);
}
• Change height and width of 3LFWXUH:LQGRZ using theLQWHUQDOIXQFWLRQV 6HW+HLJKW
and 6HW:LGWK.
• Show the HQODUJH button (%XWWRQ).
• Hide the UHGXFH button (%XWWRQ).
WinCC Configuration Manual
C79000-G8276-C140-01
3-47
6DPSOH3URMHFWSLFWXB
C action for Button2
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetVisible(lpszPictureName,"Button3",0);
SetVisible(lpszPictureName,"Button4",0);
SetHeight(lpszPictureName,"Picture Window1",140);
SetWidth(lpszPictureName,"Picture Window1",172);
SetVisible(lpszPictureName,"Picture Window1",0);
}
• Hide the HQODUJH button (%XWWRQ) and the UHGXFH button (%XWWRQ).
• Change height and width of 3LFWXUH:LQGRZ using theLQWHUQDOIXQFWLRQV 6HW+HLJKW
and 6HW:LGWK.
• Hide 3LFWXUH:LQGRZ.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The object names in the GLUHFWFRQQHFWLRQV under %XWWRQ must be adapted.
• The object names and the picture dimensions to be set must be adapted in the &DFWLRQV
for %XWWRQ, %XWWRQ and %XWWRQ.
3-48
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&KDQJLQJWKHSLFWXUHJHRPHWU\VWHSOHVVO\VPRRWK]RRP
H[DPSOH
7DVNGHILQLWLRQ
A SLFWXUHZLQGRZ is to be shown and hidden again by means of two EXWWRQV for clicking. In
addition, the size of the picture is to be made steplessly adjustable by means of a VOLGHU
REMHFW.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, to show and hide the picture displayed in the 6PDUW2EMHFWV→3LFWXUH
:LQGRZ
8
when we click one of them with the
, and a slider object created under :LQGRZV
→6OLGHU2EMHFW, with which we change the size of the picture.
2EMHFWV
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFKDQJLQJWKHSLFWXUHJHRPHWU\VWHSOHVVO\
VPRRWK]RRP
1
Configure a picture that is to be shown and hidden. In our example, we use the
picture named SLFWXBBZLQGRZBSGO, whose width:height ratio is 2:1.
2
In another picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ; in our example, we use 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
+HLJKW to (width:height ratio likewise 2:1). In order to display the window
with a border during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to
<HV and 3URSHUWLHV→0LVFHOODQHRXV→$GDSW3LFWXUH to <HV. In this way, the
picture is adapted to the size of the SLFWXUHZLQGRZ. Under 3URSHUWLHV→
0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZBSGO. Change 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\ to 1R.
3
In the same picture, configure two more button objects under :LQGRZV2EMHFWV
→%XWWRQ. In our example, these are %XWWRQ and %XWWRQ. Configure a GLUHFW
FRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH
&RQVWDQW→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
4
In the same way, configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→
0RXVH→3UHVVOHIW. Enter the value as the &RQVWDQW.
5
Create a tag of type 8QVLJQHGELWYDOXH in Tag Management. In our example,
we use the tag called 8LBSLFWXB]RRPB.
6
Configure a slider object under :LQGRZV2EMHFWV→6OLGHU2EMHFW; in our
example, this is 6OLGHU2EMHFW. Change 3URSHUWLHV→0LVFHOODQHRXV
→0D[LPXP9DOXH to . Change 3URSHUWLHV→0LVFHOODQHRXV→3URFHVV
'ULYHU&RQQHFWLRQ to . Create a GLUHFWFRQQHFWLRQ under (YHQWV→3URSHUW\
7RSLFV→0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ. Connect the VRXUFH
3URSHUW\→WKLVREMHFW→3URFHVV'ULYHU&RQQHFWLRQ to the WDUJHW9DULDEOH→
8LBSLFWXB]RRPB.
Accept the settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
3-49
6DPSOH3URMHFWSLFWXB
6WHS
7
3URFHGXUHFKDQJLQJWKHSLFWXUHJHRPHWU\VWHSOHVVO\
VPRRWK]RRP
Create a G\QDPLFGLDORJ for 3LFWXUH:LQGRZ under 3URSHUWLHV→*HRPHWU\→
:LQGRZ+HLJKW
. Click
7DJ
→ and select 8LBSLFWXB]RRPB. Click the
button and confirm tag 8LBSLFWXB]RRPB as the trigger name in the
dialog box. Select 8SRQFKDQJH as the standard cycle and
confirm by clicking 2.. In the 'DWD7\SH field, select 'LUHFW and close the
'\QDPLF'LDORJ by clicking $SSO\.
&KDQJHWULJJHU
8
Create a dynamic dialog for 3LFWXUH:LQGRZ under 3URSHUWLHV→*HRPHWU\→
:LQGRZ:LGWK. The settings can be made as described above, but the
([SUHVVLRQ)RUPXOD field must be filled in as follows:
This means that the value
assigned to the window height will be twice that of the window width.
9
In picture object SLFWXBBFKDSWHUB, configure a &DFWLRQunder (YHQWV→
0LVFHOODQHRXV→2SHQ3LFWXUH, which sets tag 8LBSLFWXB]RRPB to when
the picture is opened. Without this initialization, the value of the tag would
remain 0 until the object 6OLGHU2EMHFW is operated for the first time. If the
%XWWRQ object were operated, 3LFWXUH:LQGRZ with the dimensions 0x0 would
be visibly set.
C action for Open Picture
#include "apdefap.h"
void OnOpenPicture(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName)
{
//init tag
SetTagWord("U16i_pictu_zoom_00",80);
}
• Set tag 8LBSLFWXB]RRPB to .
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag name in the GLUHFWFRQQHFWLRQ under 6OLGHU2EMHFW must be adapted.
• The tag names in the G\QDPLFGLDORJV under 3LFWXUH:LQGRZ must be adapted. The
multiplier must be adapted to the width:height ratio used.
3-50
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&RQILJXULQJDGMXVWDEOHSLFWXUHJHRPHWU\E\PHDQVRIWKHSURSHUWLHV
GLDORJH[DPSOH
7DVNGHILQLWLRQ
A SLFWXUHZLQGRZ is to be able to be dragged to any size using the mouse. In addition, the
picture is to be able to be moved to any position on the screen. It can be maximized and
hidden by clicking a EXWWRQ.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two buttons created under :LQGRZV2EMHFWV→
%XWWRQ, to show and hide the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ
when we click one of them with the
the properties dialog box.
8
. The necessary picture properties are configured in
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFRQILJXULQJDGMXVWDEOHSLFWXUHJHRPHWU\E\PHDQVRIWKH
SURSHUWLHVGLDORJ
1
Configure a picture that is to be shown and hidden. In our example, we use the
picture with the name SLFWXBBFKDSWHUB (the start picture of picture project
SLFWXB.
2
In another picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ; in our example, we use 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
+HLJKW to . Under 3URSHUWLHV→0LVFHOODQHRXV, change the attributes
6L]HDEOH, 0RYDEOH, %RUGHU, 7LWOH, &DQ%H0D[LPL]HG, $GDSW3LFWXUH and &DQ%H
&ORVHG to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select
SLFWXBBFKDSWHUB. Change 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\ to 1R.
3
In the same picture, configure two buttons under :LQGRZV2EMHFWV→%XWWRQ. In
our example, these are %XWWRQ and %XWWRQ. Configure a GLUHFWFRQQHFWLRQ for
%XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH &RQVWDQW→
to the WDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\. Accept the
settings by clicking the 2. button.
4
In the same way, configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→
0RXVH→3UHVVOHIW. However, enter the value as the &RQVWDQW.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The picture name to be displayed and the object name of the SLFWXUHZLQGRZ must be
adapted in the GLUHFWFRQQHFWLRQV for %XWWRQ and %XWWRQ.
• The picture shown in 3LFWXUH:LQGRZ must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
3-51
6DPSOH3URMHFWSLFWXB
2SHUDWRUSDQHOV
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
3-52
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
%LQDU\VZLWFKLQJRSHUDWLRQWZRVWHSFRQWUROH[DPSOH
7DVNGHILQLWLRQ
An operator panel is to be shown (displayed) by clicking a EXWWRQ. This operator panel is to
contain a EXWWRQ which can be used to turn a valve on and off, and the panel itself is to be
closed by clicking another EXWWRQ.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
click the button with the
, and two more EXWWRQV which are used in the operator panel
for performing the switching operation and for closing the panel.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHELQDU\VZLWFKLQJRSHUDWLRQWZRVWHSFRQWURO
1
Create a tag of type %LQDU\WDJ in Tag Management. in our example, we use
%,1LBSLFWXBLQSXWB. This tag is to contain the current state of the value.
2
Configure a picture with two buttons created under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use picture SLFWXBBZLQGRZB with %XWWRQ and %XWWRQ.
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW &XUUHQW:LQGRZ→'LVSOD\
Accept the settings by clicking the 2. button.
3
Under the second EXWWRQ, in our example %XWWRQ, configure a &DFWLRQ which
reverses the status of the binary tag %,1LBSLFWXBLQSXWB.
4
In another picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ; in our example, we use 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
WinCC Configuration Manual
C79000-G8276-C140-01
3-53
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHELQDU\VZLWFKLQJRSHUDWLRQWZRVWHSFRQWURO
+HLJKW to . In order to display the window with a border and make it movable
during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to <HV and
3URSHUWLHV→0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→
0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZB. Change 3URSHUWLHV→0LVFHOODQHRXV→0LVFHOODQHRXV to
1R.
5
In the picture, configure a button under :LQGRZV2EMHFWV→%XWWRQ. In our
example, this is %XWWRQ in picture SLFWXBBFKDSWHUB. Configure a GLUHFW
FRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH
&RQVWDQW→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
C action for Button2
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("BINi_pictu_input_00",
(SHORT)!GetTagBit("BINi_pictu_input_00"));
}
• Read in the of tag %,1LBSLFWXBLQSXWB usingLQWHUQDOIXQFWLRQ *HW7DJ%LW, negate it and
reset it using LQWHUQDOIXQFWLRQ 6HW7DJ%LW.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The object name of the picture window to be opened must be adapted in the GLUHFW
FRQQHFWLRQ for %XWWRQ.
• The tag name in the &DFWLRQ under %XWWRQ in the operator panel must be adapted.
3-54
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
%LQDU\65VZLWFKLQJRSHUDWLRQWZRVWHSFRQWUROH[DPSOH
7DVNGHILQLWLRQ
An operator panel is to be shown (displayed) by clicking a EXWWRQ. This operator panel is to
contain one EXWWRQ for turning a valve on and a second EXWWRQ for turning the same valve off
again. The panel itself is to be closed by clicking another EXWWRQ in the panel.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
click the button with the
, and three more EXWWRQV which are used in the operator panel
for performing the switching operation and for closing the panel.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHELQDU\65VZLWFKLQJRSHUDWLRQWZRVWHSFRQWURO
1
Create a tag of type %LQDU\WDJ in Tag Management. in our example, we use
%,1LBSLFWXBLQSXWB. This tag is to contain the current state of the value.
2
Configure a picture with three buttons created under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use picture SLFWXBBZLQGRZB with %XWWRQ, %XWWRQ and
%XWWRQ. Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→
3UHVVOHIW. Connect the VRXUFH &RQVWDQW→ to the WDUJHW &XUUHQW:LQGRZ→
'LVSOD\
Accept the settings by clicking the 2. button.
3
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW 9DULDEOH→%,1LBSLFWXBLQSXWB.
Accept the settings by clicking the 2. button.
4
In the same way, configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→
0RXVH→3UHVVOHIW. Enter the value as the &RQVWDQW.
5
In another picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ; in our example, we use 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
+HLJKW to . In order to display the window with a border and make it movable
during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to <HV and
3URSHUWLHV→0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→
0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZB.
6
In a picture, configure a :LQGRZV2EMHFWV→%XWWRQ. In our example, this is
%XWWRQ in picture SLFWXBBFKDSWHUB. Configure a GLUHFWFRQQHFWLRQ for
%XWWRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH &RQVWDQW→
to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
3-55
6DPSOH3URMHFWSLFWXB
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The object name of the picture window to be opened must be adapted in the GLUHFW
FRQQHFWLRQ for %XWWRQ.
• The tag names in the GLUHFWFRQQHFWLRQV under %XWWRQ and %XWWRQ in the operator
panel must be adapted.
3-56
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
%LQDU\VZLWFKLQJRSHUDWLRQZLWKDFNQRZOHGJHPHQWH[DPSOH
7DVNGHILQLWLRQ
An operator panel is to be shown (displayed) by clicking a EXWWRQ. This operator panel is to
contain a EXWWRQ which can be used to turn a valve on and off. Actual switching operation is
only to take effect when a separate 2. button is clicked, which at the same time closes the
operator panel.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
click the button with the
, and two more EXWWRQVwhich are used in the operator panel for
performing the switching operation and for closing the panel.
8
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHELQDU\VZLWFKLQJRSHUDWLRQZLWKDFNQRZOHGJHPHQW
1
Create two tags of type %LQDU\WDJ in Tag Management. In our example, we use
%,1LBSLFWXBLQSXWB and %,1LBSLFWXBLQSXWB. %,1LBSLFWXBLQSXWB is to
contain the current state of the valve, %,1LBSLFWXBLQSXWBis to act as a buffer
memory for the switching operation before acknowledgement.
2
Configure a picture with two buttons created under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use picture SLFWXBBZLQGRZB with %XWWRQ and %XWWRQ.
Create a GLUHFWFRQQHFWLRQIRU%XWWRQ under (YHQWV→0RXVH$FWLRQ. Connect
the VRXUFH &RQVWDQW→ to the WDUJHW &XUUHQW:LQGRZ→'LVSOD\.
Accept the settings by clicking the 2. button.
Under (YHQWV→0RXVH→3UHVVOHIW, configure another GLUHFWFRQQHFWLRQ.
Connect the VRXUFH%,1LBSLFWXBLQSXWB to the WDUJHW %,1LBSLFWXBLQSXWB.
Accept the settings by clicking the 2. button.
3
Under the second button, in our example %XWWRQ, configure a &DFWLRQ which
reverses the status of the binary tag %,1LBSLFWXBLQSXWB.
4
In another picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ; in our example, we use 3LFWXUH:LQGRZ. Change 3URSHUWLHV→
*HRPHWU\→:LQGRZ:LGWK to and 3URSHUWLHV→*HRPHWU\→:LQGRZ
+HLJKW to . In order to display the window with a border and make it movable
during runtime, change 3URSHUWLHV→0LVFHOODQHRXV→%RUGHU to <HV and
3URSHUWLHV→0LVFHOODQHRXV→0RYDEOH to <HV. Under 3URSHUWLHV→
0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZB.
5
In a picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ. In our
example, this is %XWWRQ in picture SLFWXBBFKDSWHUB.
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH
:LQGRZ→'LVSOD\. Accept the settings by clicking the 2. button.
WinCC Configuration Manual
C79000-G8276-C140-01
3-57
6DPSOH3URMHFWSLFWXB
C action for Button2
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("BINi_pictu_input_02",
(SHORT)!GetTagBit("BINi_pictu_input_02"));
}
• Read in the state of tag %,1LBSLFWXBLQSXWB using LQWHUQDOIXQFWLRQ *HW7DJ%LW, negate
it and reset it using LQWHUQDOIXQFWLRQ 6HW7DJ%LW.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The object name of the SLFWXUHZLQGRZ to be opened must be adapted in the GLUHFW
FRQQHFWLRQ for %XWWRQ.
• The tag names in the GLUHFWFRQQHFWLRQV under %XWWRQ in the operator panel must be
adapted.
• The tag name in the &DFWLRQ under %XWWRQ in the operator panel must be adapted.
3-58
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
$XWRPDWLFLQSXWFKHFNH[DPSOH
8
You access this example in our SLFWXB project by
the button depicted above. The
example is configured in the picture named SLFWXBBFKDSWHUBDSGO.
7DVNGHILQLWLRQ
An operator panel is to be shown (displayed) by clicking a EXWWRQ. This operator panel is to
be used to fill a container with an amount of liquid, which is also to be entered in this panel.
The value entered is to be checked automatically to determine whether it exceeds the
maximum fill level of the container or not.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
8
click it with the
. Furthermore, we use three buttons created under :LQGRZV2EMHFWV→
, to turn the valve on and off and to closed the operator panel. An I/O field created
under 6PDUW2EMHFWV→,2)LHOG is used to enter the fill level.
%XWWRQ
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHDXWRPDWLFLQSXWFKHFN
1
In Tag Management, create a tag of type %LQDU\WDJ, which contains the current
state of the valve. in our example, we use %,1LBSLFWXBLQSXWB.
2
Create two tags of type 8QVLJQHGELWYDOXH. In our example, these are
8LBSLFWXBLQSXWB and 8LBSLFWXBLQSXWB. The first of these two tags
contains the set value for the container fill level, the second the actual value.
3
Configure a picture with three buttons created under :LQGRZV2EMHFWV→%XWWRQ
and one I/O field created under 6PDUW2EMHFWV→,2)LHOG. In our example, we
use %XWWRQ, %XWWRQ and %XWWRQ and the object ,2)LHOG The picture we use
is SLFWXBBZLQGRZBSGO.
4
For object ,2)LHOG, create a WDJFRQQHFWLRQ to tag 8LBSLFWXBLQSXWB under
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH and set the trigger to 8SRQFKDQJH.
5
We assume the container has a maximum fill level of 40 liters. The,2ILHOG must
therefore only accept inputs between 0 and 40. To set these limits, set 3URSHUWLHV
→/LPLWV→/RZ/LPLW9DOXHWR and 3URSHUWLHV→/LPLWV→+LJK/LPLW9DOXH
WR.
6
For object %XWWRQ, configure a GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→
3UHVVOHIW, which hides the picture.
7
For object %XWWRQ, configure a GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→
3UHVVOHIW, which assigns the value to tag %,1LBSLFWXBLQSXWB. Under %XWWRQ,
configure a GLUHFWFRQQHFWLRQ which assigns the value to the tag.
8
In a second picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ. In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUH
ZLQGRZ to match the size of the picture just configured. If the SLFWXUHZLQGRZ is
to be displayed with borders, the :LQGRZ+HLJKW and the :LQGRZ:LGWK of the
SLFWXUHZLQGRZ must be set 10 pixels greater than those of the picture. Under
WinCC Configuration Manual
C79000-G8276-C140-01
3-59
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHDXWRPDWLFLQSXWFKHFN
→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
.
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Create a further GLUHFW
FRQQHFWLRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH &RQVWDQW
→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\. Accept the
settings by clicking the 2. button.
Select the 7DQN object from the library and use it display the fill level. Create a
&DFWLRQ under 3URSHUWLHV→*HRPHWU\→:LGWK to simulate the filling process.
Under 3URSHUWLHV→7DJ$VVLJQPHQW→)LOO/HYHO, configure a WDJFRQQHFWLRQ to
tag 8LBSLFWXBLQSXWB.
As a second method of displaying the fill level, configure an I/O field under
6PDUW2EMHFWV→,2)LHOG; in our example, this is ,2)LHOG
3URSHUWLHV
SLFWXBBZLQGRZBSGO
9
10
11
C action for simulating the filling process
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
BOOL state;
SHORT level1,level2;
//get valve state
state=GetTagBit("BINi_pictu_input_06");
if (state==TRUE) {
level1=GetTagWord("U16i_pictu_input_04");
level2=GetTagWord("U16i_pictu_input_05");
level2++;
if (level2>=level1) {
SetTagBit("BINi_pictu_input_06",FALSE);
}//if
if (level2<=level1) {
SetTagWord("U16i_pictu_input_05",level2);
}//if
}//if
return(80);
}
• Reading in the valve state.
• When the valve is opened, the actual and set values of the fill level are read in.
Increment the actual value. When the actual value has reached the set value, close the
valve. Set the tag which contains the actual value.
• The return value is the width of the object.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names and the limits of the ,2ILHOG in picture SLFWXBBZLQGRZB must be
adapted to suit your own needs.
3-60
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
(QKDQFHGDXWRPDWLFLQSXWFKHFNH[DPSOH
8
You access this example in our SLFWXB project by
the EXWWRQ depicted above. The
example is configured in the picture named SLFWXBBFKDSWHUBDSGO.
7DVNGHILQLWLRQ
An operator panel is to be shown (displayed) by clicking a EXWWRQ. This operator panel is to
be used to fill a container with two liquids in a specific ratio. The sum of the two values
entered is to be checked automatically to determine whether it exceeds the maximum fill
level of the container.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a button created under :LQGRZV2EMHFWV→
%XWWRQ, to show the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we
8
click it with the
. The amounts of liquid to be filled into the container are entered by
means of three I/O fields created under 6PDUW2EMHFWV→,2)LHOG. In addition, we use two
buttons created under :LQGRZV2EMHFWV→%XWWRQ, one to apply the settings in the,2
ILHOGV, the other to cancel the inputs and close the operator panel.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHHQKDQFHGDXWRPDWLFLQSXWFKHFN
1
In Tag Management, create two tags of type %LQDU\WDJ, which contain the
current states of the valves via which the container is filled. In our example, we
use %,1LBSLFWXBLQSXWB and %,1LBSLFWXBLQSXWB
2
Create four tags of type 8QVLJQHGELWYDOXH; in our example, these are
8LBSLFWXBLQSXWB, 8LBSLFWXBLQSXWB, 8LBSLFWXBLQSXWB, and
8LBSLFWXBLQSXWB. The first two contain the set values for the container fill
levels, the last two the actual values.
3
Create two tags of type 8QVLJQHGELWYDOXH. In our example, these are
8LBSLFWXBLQSXWB and 8LBSLFWXBLQSXWB. These contain the values entered
in the ,2ILHOGV.
4
Configure a picture with two buttons created under :LQGRZV2EMHFWV→%XWWRQ
and three I/O fields created under 6PDUW2EMHFWV→,2)LHOG. In our example, we
use %XWWRQ and %XWWRQ and ,2)LHOG, ,2)LHOG, and ,2)LHOG. The picture
we use is SLFWXBBZLQGRZBSGO.
5
For ,2)LHOG, create a WDJFRQQHFWLRQ to tag 8LBSLFWXBLQSXWB under
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH and set the trigger to 8SRQFKDQJH.
For ,2)LHOG, create a WDJFRQQHFWLRQ to tag 8LBSLFWXBLQSXWB.
6
For ,2)LHOG, configure a dynamic dialog under 3URSHUWLHV→2XWSXW,QSXW→
2XWSXW9DOXH. Enter the settings shown in the figure below. Set the trigger to
’Upon change’.
WinCC Configuration Manual
C79000-G8276-C140-01
3-61
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHHQKDQFHGDXWRPDWLFLQSXWFKHFN
7
For %XWWRQ, configure a GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→3UHVVOHIW,
which hides the picture.
8
For %XWWRQ, configure a &DFWLRQ under (YHQWV→0RXVH→3UHVVOHIW, which
assigns the contents of input tags 8LBSLFWXBLQSXWB and 8LBSLFWXBLQSXWB
to set value tags 8LBSLFWXBLQSXWB and 8LBSLFWXBLQSXWB. Under (YHQWV
→0RXVH→0RXVH$FWLRQ, configure a GLUHFWFRQQHFWLRQ which closes the
picture.
9
In the same picture, configure two objects of type 6WDQGDUG2EMHFWV→6WDWLF
7H[W. In our example, we use 6WDWLF7H[W and 6WDWLF7H[W. These are used to
display whether the maximum fill level is exceeded or not. Under 6WDWLF7H[W,
which contains the error message, change 3URSHUWLHV→0LVFHOODQHRXV→
'LVSOD\ to 1R.
10
For ,2)LHOG, create a &DFWLRQ under (YHQWV→3URSHUW\7RSLFV→
→2XWSXW9DOXH, which makes %XWWRQ operable only if the
maximum fill level is not exceeded and displays the error text if the maximum fill
level is exceeded.
2XWSXW,QSXW
11
In a second picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ. In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUH
ZLQGRZ to match the size of the picture just configured. Under 3URSHUWLHV→
0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZBSGO.
12
In the same picture, configure a button object under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the object called %XWWRQ. Create a further GLUHFW
FRQQHFWLRQ under (YHQWV→0RXVH→3UHVVOHIW. Connect the VRXUFH &RQVWDQW
→ to theWDUJHW 2EMHFWLQ3LFWXUH→3LFWXUH:LQGRZ→'LVSOD\. Accept the
settings by clicking the 2. button.
13
Select the 7DQN object from the library and use it display the fill level. Create a
under 3URSHUWLHV→*HRPHWU\→:LGWK and under 3URSHUWLHV→
&DFWLRQ
3-62
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHHQKDQFHGDXWRPDWLFLQSXWFKHFN
→+HLJKW to simulate the filling process. Under 3URSHUWLHV→7DJ
→)LOO/HYHO, create a G\QDPLFGLDORJ which returns the sum of the
two actual value tags 8LBSLFWXBLQSXWB and 8LBSLFWXBLQSXWB as the
return value.
As a second method of displaying the fill level, configure an I/O field under
6PDUW2EMHFWV→,2)LHOG; in our example, this is ,2)LHOG
*HRPHWU\
$VVLJQPHQW
14
C action for Button1
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SHORT tmp1,tmp2;
tmp1=GetTagWord("U16i_pictu_input_11");
tmp2=GetTagWord("U16i_pictu_input_12");
if (tmp1>GetTagWord("U16i_pictu_input_07")){
SetTagWord("U16i_pictu_input_07",tmp1);
SetTagBit("BINi_pictu_input_09",TRUE);
}//if
if (tmp2>GetTagWord("U16i_pictu_input_08")){
SetTagWord("U16i_pictu_input_08",tmp2);
SetTagBit("BINi_pictu_input_10",TRUE);
}//if
}
• Reading in the tag values that have been entered in the ,2ILHOGV.
• If the value entered exceeds the current set value, it is transferred to the set value and
the valve is turned on.
WinCC Configuration Manual
C79000-G8276-C140-01
3-63
6DPSOH3URMHFWSLFWXB
C action for I/O Field3
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, double value)
{
int a;
a=GetTagWord("U16i_pictu_input_11")+GetTagWord("U16i_pictu_input_12")
;
if (a<=) {
SetOperation("pictu_5_window_15.PDL","Button1",1);
SetVisible("pictu_5_window_15.PDL","Static Text5",0);
SetVisible("pictu_5_window_15.PDL","Static Text6",1);
}//f
else {
SetOperation("pictu_5_window_15.PDL","Button1",0);
SetVisible("pictu_5_window_15.PDL","Static Text5",1);
SetVisible("pictu_5_window_15.PDL","Static Text6",0);
}//if
}
• Reading in the sum of the tag values that have been entered in the,2ILHOGV.
• If the sum of the value entered exceeds the maximum fill level of the container, %XWWRQ
is made inoperable and 6WDWLF7H[W, which contains the error message, is displayed.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names and the limits of the,2ILHOG in picture SLFWXBBZLQGRZB must be
adapted to suit your own needs.
3-64
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
0XOWLSOHRSHUDWLRQH[DPSOH
8
You access this example in our SLFWXB project by
the EXWWRQ depicted above. The
example is configured in the picture named SLFWXBBFKDSWHUBESGO.
7DVNGHILQLWLRQ
One operator panel is to be able to be displayed by clicking several different EXWWRQV. If the
SLFWXUHZLQGRZ is opened by clicking a EXWWRQ, it can be used to control a valve assigned to
the respective EXWWRQ. The operator window is as a rule displayed next to the EXWWRQ used to
call the window. It can, however, also be anchored at any position.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use buttons created under :LQGRZV2EMHFWV→%XWWRQ,
to show the picture displayed in the 6PDUW2EMHFWV→3LFWXUH:LQGRZ when we click them
with the
8
. The valve is controlled by means of two buttons created under :LQGRZV
→%XWWRQ; another EXWWRQ is used to close the window. The name of the valve and
the valve state are displayed by means of two static texts created under 6WDQGDUG2EMHFWV→
6WDWLF7H[W. The picture is anchored by means of a status display created under 6PDUW
2EMHFWV→6WDWXV'LVSOD\.
2EMHFWV
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHPXOWLSOHRSHUDWLRQ
1
In Tag Management, create tags of type %LQDU\WDJ, which contain the current
states of the valves. The number of tags required depends on the number of
valves. In our example, we use tags %,1LBSLFWXBPXOWLB, %,1LBSLFWXBPXOWLB,
%,1LBSLFWXBPXOWLB, and %,1LBSLFWXBLQSXWB.
2
Create a tag of type 7H[WWDJELWFKDUDFWHUVHW with a length of 20 characters.
In our example, this is 7[BSLFWXBLQSXWB. This will be used as an address tag.
3
Create a tag of type %LQDU\WDJ. In our example, this is %,1LBSLFWXBPXOWLB. The
contents of this tag inform us whether the window has been anchored.
4
Configure a picture with three buttons created under :LQGRZV2EMHFWV→%XWWRQ.
In our example, we use the objects %XWWRQ, %XWWRQ, and %XWWRQ The picture
we use is SLFWXBBZLQGRZBSGO.
5
For %XWWRQ, configure a &DFWLRQ under (YHQWV→0RXVH→3UHVVOHIW, which
sets the position of the picture outside the visible area, closes the picture and
cancels the anchoring of the picture.
6
Configure a GLUHFWFRQQHFWLRQ for %XWWRQ under (YHQWV→0RXVH→3UHVVOHIW.
Connect the VRXUFH &RQVWDQW→ to the WDUJHW9DULDEOH→7[BSLFWXBLQSXWB.
Select the LQGLUHFW option. Accept the settings by clicking the 2. button. In this
way, you have carried out indirect addressing. In the same way, create a GLUHFW
FRQQHFWLRQ under %XWWRQ with the VRXUFH &RQVWDQW→.
7
Create a status display under 6PDUW2EMHFWV→6WDWXV'LVSOD\. In our example,
we use 6WDWXV'LVSOD\. Under &RQILJXUDWLRQ'LDORJ, select tag
WinCC Configuration Manual
C79000-G8276-C140-01
3-65
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHPXOWLSOHRSHUDWLRQ
and set the trigger in the 8SGDWH list box to 8SRQFKDQJH.
Click the $GG button to add another state. For state , select picture SXWBXSEPS,
and for state , picture SXWBGRZQEPS.
%,1LBSLFWXBPXOWLB
3-66
8
For 6WDWXV'LVSOD\FUHDWHD&DFWLRQ under (YHQWV→0RXVH→3UHVVOHIW,
which negates the state of tag %,1LBSLFWXBPXOWLB.
9
Configure an object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W as the title. In our
example, we use the object called 6WDWLF7H[W. Create a &DFWLRQ under
3URSHUWLHV→)RQW→7H[W, which reads the current valve number out of the
address tag 7[BSLFWXBLQSXWB and returns an appropriate text as the return
value.
10
Configure another object under 6WDQGDUG2EMHFWV→6WDWLF7H[W to display the
valve state. In our example, we use the object called 6WDWLF7H[W. Create a&
DFWLRQ under 3URSHUWLHV→)RQW→7H[W, which reads the state of the valve in
question and returns an appropriate text as the return value. Under 3URSHUWLHV→
&RORUV→)RQW&RORU, create a &DFWLRQ which controls the font color in
accordance with the state of the valve.
11
In a second picture, configure a picture window under 6PDUW2EMHFWV→3LFWXUH
:LQGRZ. In our example, we use 3LFWXUH:LQGRZ. Adjust the size of the SLFWXUH
ZLQGRZ to match the size of the picture just configured. In the 3URSHUWLHV→
0LVFHOODQHRXV window, change the attributes 0RYDEOH and %RUGHU to <HV. Under
3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBZLQGRZBSGO.
12
In the same picture, configure a button under :LQGRZV2EMHFWV→%XWWRQ for
each valve in the picture; in our example, we use %XWWRQ, %XWWRQ, %XWWRQ, and
%XWWRQ. For each button, create a &DFWLRQ which reads out the number of the
EXWWRQ and assigns the corresponding tag name to the address tag. Depending on
whether the picture is anchored or not, the picture is either positioned on the right
next to the button that calls it or not.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
C action for the Close button (Button1)
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetLeft("pictu_3_chapter_05b","Picture Window1",-1000);
SetVisible("pictu_3_chapter_05b","Picture Window1",0);
SetTagBit("BINi_pictu_multi_00",FALSE);
}
• Set the position of the picture outside the visible area.
• Hide the picture.
• Cancel anchoring of the picture.
C action for Status Display1
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("BINi_pictu_multi_00",(SHORT)!GetTagBit("BINi_pictu_multi_0
0"));
}
• Negate the state tag for picture anchoring.
WinCC Configuration Manual
C79000-G8276-C140-01
3-67
6DPSOH3URMHFWSLFWXB
C action for the control buttons for the valves
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
int x,y;
char name[20];
int number;
int ch = n;
char *pdest;
//check if object name contains character n
pdest = strrchr( lpszObjectName, ch );
if ( pdest == NULL )(printf("ObjectNameError"));
//read object number
else {
number = atoi(strrchr(lpszObjectName,n)+1);
sprintf(name,"BINi_pictu_multi_%02d",number);
//generate tag name
SetTagChar("T16x_pictu_input_15",name);
}
SetVisible(lpszPictureName,"Picture Window1",1);
if (GetTagBit("BINi_pictu_multi_00")==FALSE){
//get object position
y=GetTop(lpszPictureName,lpszObjectName);
x=GetLeft(lpszPictureName,lpszObjectName);
//set position of picture window
SetLeft(lpszPictureName,"Picture Window1",-1000);
SetTop(lpszPictureName,"Picture Window1",y);
SetLeft(lpszPictureName,"Picture Window1",(x+22));
}
}
• Read the object number from the object name.
• Generate the name of the current state tag.
• Set the address tag to the current state tag.
• Display the SLFWXUHZLQGRZ.
• If the SLFWXUHZLQGRZ is not anchored, determine the position of theEXWWRQand set the
position of the picture to the right next to the EXWWRQ. When its position is changed, the
SLFWXUHZLQGRZ is set outside the visible area, in order to prevent it from being briefly
displayed in the picture after the first change of position.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Adapt the object and tag names to suit your own needs. Make sure you observe the
name conventions. The button number must be able to be uniquely assigned to the tag
number to be switched.
3-68
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
'\QDPLFV
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
WinCC Configuration Manual
C79000-G8276-C140-01
3-69
6DPSOH3URMHFWSLFWXB
&RORUFKDQJHH[DPSOH
7DVNGHILQLWLRQ
The color of a text is to change through various colors depending on the value of a tag.
,PSOHPHQWDWLRQFRQFHSW
We implement this by means of a slider object created under :LQGRZV2EMHFWV→6OLGHU
2EMHFW, which we use to change the value in a tag. The text is displayed by means of
6WDQGDUG2EMHFWV→6WDWLF7H[W.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3-70
3URFHGXUHFRORUFKDQJH
1
Create a tag of type 6LJQHGELWYDOXH in Tag Management. In our example, we
use the tag called 6LBSLFWXBG\QB.
2
Configure a slider object under :LQGRZV2EMHFWV→6OLGHU2EMHFW; In our
example, we use the object called 6OLGHU2EMHFW. Under 3URSHUWLHV→
0LVFHOODQHRXV, set the 0D[LPXP9DOXH to and the 0LQLPXP9DOXH to .
Under (YHQWV→3URSHUW\7RSLFV→0LVFHOODQHRXV→3URFHVV'ULYHU
&RQQHFWLRQ, create a GLUHFWFRQQHFWLRQ to tag 6LBSLFWXBG\QB.
3
Configure an object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W. In our example, we
use the object called 6WDWLF7H[W. Under 3URSHUWLHV→)RQW→7H[W, create a &
DFWLRQ which outputs a text with the corresponding tag value. and set the trigger
to 8SRQFKDQJH.
4
Create a G\QDPLFGLDORJ under 3URSHUWLHV→&RORUV→)RQW&RORU. In the
([SUHVVLRQ)RUPXOD field, set tag 6LBSLFWXBG\QB and set the trigger to 8SRQ
FKDQJH. In the 'DWD7\SH field, select $QDORJ and add 4 value ranges by means of
the $GG button. Set the value ranges as follows.
5
Create a G\QDPLFGLDORJ under 3URSHUWLHV→)ODVKLQJ→)ODVKLQJ%DFNJURXQG
$FWLYH. In the ([SUHVVLRQ)RUPXOD field, set tag 6LBSLFWXBG\QB and set the
trigger to 8SRQFKDQJH. In the 'DWD7\SH field, select $QDORJ and add a value
range by means of the $GG button. Set the value ranges as follows.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRORUFKDQJH
C action for Static Text
#include "apdefap.h"
char *_main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
char text[100];
DWORD temp;
//get tag value
temp = GetTagDWord("S32i_pictu_dyn_00");
//generate text
switch (GetTagDWord("@CurrentLanguage"))
{
case 0x407:
sprintf(text,"The boiler temperature is \r\n%d
degrees",temp);
return text;
case 0x409:
sprintf(text,"Container Temperature is\r\n%d degree",temp);
return text;
case 0x40C:
sprintf(text,"La température de chaudière est\r\nde %d
degré",temp);
return text;
}//switch
}
• Read out the tag value.
• Generate a piece of text consisting of a text component and a numerical value
component using the VSULQWI function. It is performed independently of the current
runtime language.
• The return value is the generated text.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The value ranges and tag used in the G\QDPLFGLDORJV must be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
3-71
6DPSOH3URMHFWSLFWXB
7H[WH[FKDQJHH[DPSOH
7DVNGHILQLWLRQ
The texts attached to different objects are to be changed automatically depending on the
state of a tag. The tool tip text is likewise to be changed.
,PSOHPHQWDWLRQFRQFHSW
button created under :LQGRZV2EMHFWV→%XWWRQ, to turn a valve on and off. A static text
created under 6WDQGDUG2EMHFWV→6WDWLF7H[W displays whether the valve is on or off.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHWH[WH[FKDQJH
1
Create a tag of type %LQDU\WDJ in Tag Management. In our example, we use the
tag called %,1LBSLFWXBG\QB.
2
Configure a button under :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the
object called %XWWRQ. Under (YHQWV→0RXVH→3UHVVOHIW, generate a &DFWLRQ
which negates the status of the %,1LBSLFWXBG\QB tag.
3
Create a G\QDPLFGLDORJ under 3URSHUWLHV→0LVFHOODQHRXV→7RROWLS7H[W. In
the ([SUHVVLRQ)RUPXOD field, set tag %,1LBSLFWXBG\QB and set the trigger to
8SRQFKDQJH. In the 'DWD7\SH field, select the %RRO option. In the 7RROWLS7H[W
column, enter the text FORVH next to the valid range <HV758( and the text RSHQ
next to 1R)$/6(.
4
Configure an object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W. In our example, we
use the object called 6WDWLF7H[W. Create a G\QDPLFGLDORJ under 3URSHUWLHV→
)RQW→7H[W. In the ([SUHVVLRQ)RUPXOD field, set tag %,1LBSLFWXBG\QB and set
the trigger to 8SRQFKDQJH. In the 'DWD7\SH field, select the %RRO option. In the
7RROWLS7H[W column, enter the text RSHQ next to the valid range <HV758( and
the text FORVH next to 1R)$/6(.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The texts and tag used in the G\QDPLFGLDORJV must be adapted to suit your own needs.
3-72
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
$QLPDWLRQRIPRYHPHQWH[DPSOH
7DVNGHILQLWLRQ
An object is to be moved to a specific position on the screen depending on a tag value.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a picture window created under 6PDUW2EMHFWV→
3LFWXUH:LQGRZ, whose position we control by means of a tag. We change the value in the
tag by means of a slider object created under :LQGRZV2EMHFWV→6OLGHU2EMHFW.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHDQLPDWLRQRIPRYHPHQW
1
Create a tag of type 6LJQHGELWYDOXH in Tag Management. In our example, we
use the tag called 6LBSLFWXBG\QB.
2
Configure a slider object under :LQGRZV2EMHFWV→6OLGHU2EMHFW; in our
example, we use 6OLGHU2EMHFW. Under 3URSHUWLHV→0LVFHOODQHRXV, set the
0D[LPXP9DOXH to and the 0LQLPXP9DOXH to . Under (YHQWV→3URSHUW\
7RSLFV→0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ, create a GLUHFW
FRQQHFWLRQ to tag 6LBSLFWXBG\QB.
3
Configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ. In our
example, we use the object called 3LFWXUH:LQGRZ. Under 3URSHUWLHV→
0LVFHOODQHRXV, change the attributes %RUGHU and $GDSW3LFWXUH to <HV. Under
3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture with the name
SLFWXBBFKDSWHUB.
4
Create a G\QDPLFGLDORJ under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;. In the
([SUHVVLRQ)RUPXOD field, set the expression 6LBSLFWXBG\QB. Set
the trigger to 8SRQFKDQJH of tag 6LBSLFWXBG\QB. In the 'DWD7\SH field,
select the 'LUHFW option.
5
Create a G\QDPLFGLDORJ under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ<. In the
([SUHVVLRQ)RUPXOD field, set the expression 6LBSLFWXBG\QB. Set the
trigger to 8SRQFKDQJH of tag 6LBSLFWXBG\QB. In the 'DWD7\SH field, select
the 'LUHFW option.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The expressions for calculating the bit position must be adapted in the G\QDPLFGLDORJV
to suit your own needs.
• The tag name must also be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
3-73
6DPSOH3URMHFWSLFWXB
6KRZLQJDQGKLGLQJREMHFWVE\PHDQVRIELWHYDOXDWLRQ
H[DPSOH
7DVNGHILQLWLRQ
Objects are to be shown and hidden depending on a specific bit position in a tag value.
,PSOHPHQWDWLRQFRQFHSW
We implement this by means of a check box, which we create under :LQGRZV 2EMHFWV →
&KHFN %R[, and we use this check box to set individual bits in a tag. Several polygons
created under 6WDQGDUG 2EMHFWV → 3RO\JRQV are displayed or hidden depending on these
bits.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKRZLQJDQGKLGLQJREMHFWVE\PHDQVRIELWHYDOXDWLRQ
1
Create a tag of type 8QVLJQHGELWYDOXH in Tag Management. In our example,
we use the tag called 8BSLFWXBG\QB.
2
Configure a check box under :LQGRZV2EMHFWV→&KHFN%R[; in our example we
use &KHFN%R[. Under 3URSHUWLHV→*HRPHWU\→1XPEHURI%R[HV, enter the
number of objects to be switched; in our example, . Under 3URSHUWLHV→)RQW
→7H[W, enter the name of the object that is to be switched by the bit in question
for each index value;
3
Configure a number of objects under 6WDQGDUG2EMHFWV→3RO\JRQ. In our
example, we use the objects called 3RO\JRQ through 3RO\JRQ.
4
Create a G\QDPLFGLDORJ for 3RO\JRQ under 3URSHUWLHV→0LVFHOODQHRXV→
'LVSOD\. In the ([SUHVVLRQ)RUPXOD field, set tag 8LBSLFWXBG\QB and set the
trigger to 8SRQFKDQJH. In the 'DWD7\SH field, select the %LW option. Click the
button to call bit selection and select the first bit.
5
Follow the same procedure for the other SRO\JRQREMHFWV and change the bit
number for each one.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names and picture position must be adapted in the G\QDPLFGLDORJV to suit your
own needs.
3-74
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
$QLPDWLRQRIPRYHPHQWE\PHDQVRID&DFWLRQH[DPSOH
8
You access the following examples that relate to the Dynamics chapter in our SLFWXB
project by
the button depicted above. The examples are configured in the picture named
SLFWXBBFKDSWHUBDSGO.
7DVNGHILQLWLRQ
An object is to be moved in one direction by clicking a EXWWRQ and in another direction by
clicking another EXWWRQ.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a status display created under 6PDUW2EMHFWV→
6WDWXV'LVSOD\ to display two pictures. Two buttons created under :LQGRZV2EMHFWV→
%XWWRQ are used to move this status display in two different directions.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHDQLPDWLRQRIPRYHPHQWE\PHDQVRID&DFWLRQ
1
In Tag Management, create three tags of type %LQDU\WDJ; in our example, we use
tags %,1LBSLFWXBG\QB, %,1LBSLFWXBG\QB and %,1LBSLFWXBG\QB.
2
Create a status display under 6PDUW2EMHFWV→6WDWXV'LVSOD\. In our example,
we use the object called 6WDWXV'LVSOD\. Under &RQILJXUDWLRQ'LDORJ, select
tag %,1LBSLFWXBG\QB and set the trigger to 8SRQFKDQJH. Add another status.
Set picture )HUUDULEPS under state and picture )HUUDULEPS under state by
means of drag&drop.
3
Under 3URSHUWLHV→6WDWH→%DVLF3LFWXUH7UDQVSDUHQW&RORU, set the color
:KLWH for both states ( and ) and set 3LFWXUH7UDQVSDUHQW&RORU2Q to <HV. This
means that the picture is not shown with a white background.
4
Configure a button under :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the
object called %XWWRQ. Under (YHQWV→0RXVH→3UHVVOHIW, create a GLUHFW
FRQQHFWLRQ which sets tag %,1LBSLFWXBG\QB to , and under (YHQWV→0RXVH
→3UHVVULJKW, create another GLUHFWFRQQHFWLRQ which resets the same tag to .
5
Create a second button under :LQGRZV2EMHFWV→DQGLQWKHVDPHZD\DV
GHVFULEHGLQWKHSUHYLRXVVWHSFUHDWHWZRGLUHFWFRQQHFWLRQVWRWDJ
%,1LBSLFWXBG\QB
6
. In our example, we use the object called %XWWRQ.
Under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;, create a &DFWLRQ for 6WDWXV
'LVSOD\ which executes animation of the movement depending on which EXWWRQ
is clicked. Set the trigger for this action to PV.
WinCC Configuration Manual
C79000-G8276-C140-01
3-75
6DPSOH3URMHFWSLFWXB
C action for animation of movement
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
static int a = 90;
//forward
if (GetTagBit("BINi_pictu_dyn_07")&&(a<652)) {
a+=20;
SetTagBit("BINi_pictu_dyn_05",(SHORT)!GetTagBit("BINi_pictu_dy
n_05"));
}
//rewind
if (GetTagBit("BINi_pictu_dyn_06")&&(a>-0)) {
a-=10;
SetTagBit("BINi_pictu_dyn_05",(SHORT)!GetTagBit("BINi_pictu_dy
n_05"));
}
//return x-position
return a;
}
• Define a tag of type VWDWLFLQW and initialize it with the current X position of the object.
• Check whether %XWWRQ is clicked and if the X position is greater than 652. If yes,
increase the value that contains the X position by 20. Then change the picture displayed
in 6WDWXV'LVSOD\.
• Check whether %XWWRQ is clicked and if the X position is less than -200. If yes, decrease
the value that contains the X position by 10. Then change the picture displayed in 6WDWXV
'LVSOD\.
• The return value is the new X position.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The principle of animation can be adopted.
3-76
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&UHDWHDQLPDWLRQRIPRYHPHQWE\PHDQVRIDZL]DUGH[DPSOH
7DVNGHILQLWLRQ
An object is to change its position on the screen when changes are made to a tag. Separate
tags are to be used for the X and Y positions. Configuration is to be implemented using the
'\QDPLF:L]DUG.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a circle created under 6WDQGDUG2EMHFWV→&LUFOH,
which is to be moved on the screen. We use two slider objects created under :LQGRZV
2EMHFWV→6OLGHU2EMHFW to enter the tag.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFUHDWHDQLPDWLRQRIPRYHPHQWE\PHDQVRIDZL]DUG
1
Create two tags of type 8QVLJQHGELWYDOXH in Tag Management. In our
example, we use the tags called 6LBSLFWXBG\QB and 6LBSLFWXBG\QB.
2
Configure two slider objects under :LQGRZV2EMHFWV→6OLGHU2EMHFW; in our
example, we use 6OLGHU2EMHFW and 6OLGHU2EMHFW. Create a GLUHFWFRQQHFWLRQ
under 6OLGHU2EMHFW. Connect the VRXUFH 3URSHUW\→6OLGHU2EMHFW→3URFHVV
'ULYHU&RQQHFWLRQ to the target Variable 6LBSLFWXBG\QB. In the same way,
create a GLUHFWFRQQHFWLRQ to tag 6LBSLFWXBG\QB under 6OLGHU2EMHFW.
3
Under 3URSHUWLHV→0LVFHOODQHRXV→0D[LPXP9DOXH, change the setting to
for both slider objects.
4
Configure an object of type 6WDQGDUG2EMHFWV→&LUFOH. In our example, we use
&LUFOH. With the object selected, select the 6WDQGDUG'\QDPLFV tab from the
'\QDPLF:L]DUG and
' the 0RYH2EMHFW option. Select 7DJ as the trigger. On
the 6HWRSWLRQV page, select tag 6LBSLFWXBG\QB for the X direction and tag
6LBSLFWXBG\QB for the Y direction. Enter and as the low and high
limits for formatting, respectively. On the next page, specify the picture area
within which the object is to be moved. Close the Finished ! page by clicking
)LQLVK.
8
5
Under 3URSHUWLHV→*HRPHWU\→3RVLWLRQ; and 3URSHUWLHV→*HRPHWU\→
3RVLWLRQ<, set the trigger to 8SRQFKDQJH of the respective tag in the &DFWLRQV
generated by the '\QDPLF:L]DUG.
WinCC Configuration Manual
C79000-G8276-C140-01
3-77
6DPSOH3URMHFWSLFWXB
C action generated by wizard at position X
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
long i,j,k;
i=GetTagWord("S32i_pictu_dyn_10");
j=((i-0)*100/(255-0));
k=min((((j*(690-490))/100)+490),690);
return max(490,k);
}
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The settings made in the '\QDPLF:L]DUG for animation of the movement must be
adapted to suit your own needs.
3-78
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&RORUFKDQJHE\PHDQVRID&DFWLRQH[DPSOH
7DVNGHILQLWLRQ
The color of an object is to change smoothly from a dark to a light shade as a tag value
changes.
,PSOHPHQWDWLRQFRQFHSW
We implement this by means of a circle, which we create under 6WDQGDUG2EMHFWV→
&LUFOH, whose color changes as a tag value changes. We use a slider object created under
:LQGRZV2EMHFWV→6OLGHU2EMHFW to enter the tag.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUH
1
Create a tag of type 8QVLJQHGELWYDOXH in Tag Management. In our example,
we use tag 6LBSLFWXBG\QB.
2
Configure a slider object under :LQGRZV2EMHFWV→6OLGHU2EMHFW; In our
example, we use the object called 6OLGHU2EMHFW. Create a GLUHFWFRQQHFWLRQ for
6OLGHU2EMHFW under (YHQWV→3URSHUW\7RSLFV→0LVFHOODQHRXV→3URFHVV
'ULYHU&RQQHFWLRQ. Connect the VRXUFH 3URSHUW\→6OLGHU2EMHFW→3URFHVV
'ULYHU&RQQHFWLRQ to the target Variable 6LBSLFWXBG\QB.
3
Under 3URSHUWLHV→0LVFHOODQHRXV→0D[LPXP9DOXH, change the setting for
6OLGHU2EMHFW to .
4
Configure a circle under 6WDQGDUG2EMHFWV→&LUFOH; in our example, we use
&LUFOH. Under 3URSHUWLHV→&RORUV→%DFNJURXQG&RORU, create a &DFWLRQ
which provides a color value depending on tag 6LBSLFWXBG\QB. This action is
triggered 8SRQFKDQJH of this tag.
C action for color change
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
return (GetTagDWord("S32i_pictu_dyn_10")<<8);
}
• The return value returned by the action is the tag read in, 6LBSLFWXBG\QB, shifted 8
bit positions to the left.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The color values are coded by specifying values for red, green and blue. 8 bits are
reserved for each of these values in the 24-bit color value. In our example, the tag has
been shifted 8 bits to the left and therefore represents the green value. If this isn’t done,
the color will change from black to red; if the tag is shifted 16 bits, from black to blue.
WinCC Configuration Manual
C79000-G8276-C140-01
3-79
6DPSOH3URMHFWSLFWXB
$QLPDWLRQRIPRYHPHQWE\PHDQVRIDVWDWXVGLVSOD\H[DPSOH
7DVNGHILQLWLRQ
Movement is to be simulated by turning on different pictures in a 6PDUW2EMHFWV→6WDWXV
GLVSOD\.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a status display created under 6PDUW2EMHFWV→
6WDWXV'LVSOD\, in which we display different pictures one after the other after turning on
the display by means of another status display created under 6PDUW2EMHFWV→6WDWXV
GLVSOD\.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3-80
3URFHGXUHDQLPDWLRQRIPRYHPHQWE\PHDQVRIDVWDWXVGLVSOD\
1
Create a tag of type %LQDU\WDJ in Tag Management. In our example, we use the
tag called %,1LBSLFWXBG\QB.
2
Create a status display under 6PDUW2EMHFWV→6WDWXV'LVSOD\. in our example,
we use the object called 6WDWXV'LVSOD\. Under &RQILJXUDWLRQ'LDORJ, select
tag %,1LBSLFWXBG\QB and set the trigger to 8SRQFKDQJH. Add another status.
Set picture 6PLOLEPS under state and picture &RROEPS under state .
3
For 6WDWXV'LVSOD\, create a &DFWLRQXQGHU (YHQWV→0RXVH→3UHVVOHIW,
which negates the state of tag %,1LBSLFWXBG\QB.
4
Configure another status display under 6PDUW2EMHFWV→6WDWXV'LVSOD\; in our
example, we use 6WDWXV'LVSOD\. Under 3URSHUWLHV→6WDWH→&XUUHQW6WDWXV,
configure seven more statuses with the respective pictures. For each status,
change the %DVLF3LFWXUH7UDQVSDUHQW&RORU attribute to :KLWH and the %DVLF
3LFWXUH7UDQVSDUHQW&RORU2Q to <HV. Statuses through are each assigned one
of the pictures from 6BEPS through 6BEPS.
5
For 6WDWXV'LVSOD\, create a &DFWLRQ under 3URSHUWLHV→6WDWH→&XUUHQW
6WDWXV, which causes current statuses 0 through 7 to be run through. Set the
trigger for this action to PV.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
C action for Status Display4
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
static int a = 0, b = 0;
if (GetTagBit("BINi_pictu_dyn_09")) {
if (b==0) a++;
else a--;
if (a==7) b=1;
if (a==0) b=0;
}
return a;
}
• Declare two tags of type VWDWLFLQW and initialize them with zero.
• When animation is activated, run through tags 0 through 7 and then begin at 0 again.
• Return this tag as the return value.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The principle of animation can be adopted.
•
can be integrated into other projects in the form of a switch object if the
status pictures and the tag name are adapted.
6WDWXV'LVSOD\
WinCC Configuration Manual
C79000-G8276-C140-01
3-81
6DPSOH3URMHFWSLFWXB
/DQJXDJHVZLWFK
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
3-82
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&KDQJHUXQWLPHODQJXDJHH[DPSOH
7DVNGHILQLWLRQ
The runtime language is to be able to be changed by means of one button for each language
set.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use three buttons, which we can take ready-configured
from the library when creating them under :LQGRZV2EMHFWV→%XWWRQ.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFKDQJHUXQWLPHODQJXDJH
1
In the *UDSKLFV'HVLJQHU, a picture (any picture) is configured in a certain
language. By selecting the menu item View → Language, the next language to be
configured is selected and all the texts translated into the language in question.
All of the texts used in the project can be exported to a FVYfile with the aid of the
ODQJXDJHH[H program on the WinCC CD. They can then be translated and
imported back into the project.
2
Call the library by selecting menu item 9LHZ→/LEUDU\. Select the *OREDO
/LEUDU\→%XWWRQV/DQJXDJH subfolder and drag the EXWWRQV you require to the
workspace using the
3
8
.
If you require a language that is not contained in the library, create a button under
:LQGRZV2EMHFWV→%XWWRQ and configure a &DFWLRQ under (YHQWV→0RXVH→
3UHVVOHIW, which executes the language change to the language in question. The
*UDSKLFV'HVLJQHU even provides a '\QDPLF:L]DUG, which generates the &
DFWLRQ required. To do this, select the EXWWRQ to be used for the additional
language and then
' the /DQJXDJH6ZLWFK option in the 6\VWHP)XQFWLRQV tab
of the '\QDPLF:L]DUG. You can then select the language you want in the
'\QDPLF:L]DUG.
8
C action for the German button
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetLanguage(0x407); //Return type:BOOL
}
• Use the 6HW/DQJXDJH function to change the language setting, entering the respective
language code to do so.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Carry out the desired language settings in the '\QDPLF:L]DUG.
WinCC Configuration Manual
C79000-G8276-C140-01
3-83
6DPSOH3URMHFWSLFWXB
'LDORJER[IRUFKDQJLQJWKHUXQWLPHDQG&RQWURO&HQWHUODQJXDJH
H[DPSOH
7DVNGHILQLWLRQ
A EXWWRQ is to be created, which when clicked calls a dialog box in which one of the
languages set can be selected.
,PSOHPHQWDWLRQFRQFHSW
To implement this control on, we use a button created under :LQGRZV2EMHFWV→%XWWRQ,
which shows or hides a picture window created under 6PDUW2EMHFWV→3LFWXUH:LQGRZ.
This dialog box can be taken directly from the project with the name SLFWXB.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHGLDORJER[IRUFKDQJLQJWKHUXQWLPHDQG&RQWURO&HQWHU
ODQJXDJH
1
In the *UDSKLFV'HVLJQHU, a picture (any picture) is configured in a certain
language. By selecting the menu item 9LHZ→/DQJXDJH, the next language to be
configured is selected and all the texts translated into the language in question.
2
Configure a picture window under 6PDUW2EMHFWV→3LFWXUH:LQGRZ. In our
example, we use 3LFWXUH:LQGRZ. Under 3URSHUWLHV→*HRPHWU\, change the
:LQGRZ:LGWK to and the :LQGRZ+HLJKW to . Under 3URSHUWLHV→
0LVFHOODQHRXV, change the attributes 0RYDEOH, %RUGHU, 7LWOH and &DQ%H&ORVHG
to <HV. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the picture
with the name SLFWXBBZLQGRZBSGO. This picture can be taken directly from
project SLFWXB. Change 3URSHUWLHV→0LVFHOODQHRXV→0LVFHOODQHRXV to 1R.
3
Configure a button under :LQGRZV2EMHFWV→%XWWRQ. In our example, we use the
object called %XWWRQ. Configure a GLUHFWFRQQHFWLRQ under (YHQWV→0RXVH→
3UHVVOHIW, which shows 3LFWXUH:LQGRZ.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• Picture SLFWXBBZLQGRZBSGO can be integrated directly into another project without
any changes.
3-84
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
:RUNLQJZLWKRXWDPRXVH
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the pictures SLFWXBBFKDSWHUBSGO,
SLFWXBBFKDSWHUBDSGOand SLFWXBBFKDSWHUBESGO.
WinCC Configuration Manual
C79000-G8276-C140-01
3-85
6DPSOH3URMHFWSLFWXB
2SHUDWLRQZLWKWKH7$%NH\RUKRWNH\H[DPSOH
7DVNGHILQLWLRQ
Lettering is required to be capable of formatting across several dialog boxes in different
ways. There is a requirement for it to be possible to set the font color, different font
attributes and the font size. Further, it should be possible to reset the settings to specified
default settings.
Operation of all the elements in the picture is to be performed solely on the keyboard.
,PSOHPHQWDWLRQFRQFHSW
To implement these control actions, we use four buttons created under :LQGRZV2EMHFWV→
%XWWRQ. They are used to display the dialog boxes. They can be operated on the keyboard
when the runtime cursor is activated. Select the EXWWRQ you want to operate with the TAB
key. Further, a hot key is assigned to every button.
Three picture windows created under 6PDUW2EMHFWV→3LFWXUH:LQGRZ are used to display
the dialog boxes.
&RQILJXULQJFXUVRUFRQWURO
6WHS
1
3URFHGXUHFRQILJXULQJFXUVRUFRQWURO
8
5
Make the relevant settings in the &RQWURO&HQWHU to enable cursor control.
&RPSXWHU to call the shortcut menu and choose 3URSHUWLHV. In the &RPSXWHUOLVW
the 3URSHUWLHV button.
SURSHUWLHV dialog box that appears,
8
Then select the *UDSKLFV5XQWLPH tab.
3-86
2
Make the hot key settings as follows. A hot key is not configured to FKDQJH
ZLQGRZV since setting of the control focus is performed with &DFWLRQV in the
examples.
To switch between 7DE2UGHU$OSKD&XUVRU, set 6+,)7$, and set 6+,)75 for
turning the runtime cursor on and off.
3
Do not set any keys in the segment &XUVRUFRQWURONH\V. If they are required in
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJFXUVRUFRQWURO
the examples, they are set by means of an API function. This is performed
because several control concepts are shown in the examples. Normally, a certain
control concept is selected for a project and set here.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFRQILJXULQJFRQWUROE\PHDQVRIKRWNH\V
1
In tag management, create three tags of the 8QVLJQHGELWYDOXH type, which
contain the set font attributes. In our example, we use 8LBSLFWXBFXUVRUB
through 8LBSLFWXBFXUVRUB.
2
In the picture SLFWXBBFKDSWHUBSGO, create four objects of the :LQGRZV2EMHFW
→%XWWRQ type. In our example, we use the objects called %XWWRQ, %XWWRQ,
%XWWRQ and %XWWRQ. They are used to open the dialog boxes and to reset the
settings performed.
Further, configure static text under 6WDQGDUG2EMHFWV→6WDWLF7H[W, the font
attributes of which have been set in the dialog boxes. In our example, we use the
object called 6WDWLF7H[W.
3
Configure another picture, which will be used as a dialog box for setting colors.
In our example, we use the picture named SLFWXBBZLQGRZBSGO.
In this picture, configure a :LQGRZV2EMHFWV→2SWLRQ*URXS. In our example,
we use the object called 2SWLRQ*URXS. 3URSHUWLHV→*HRPHWU\→1XPEHURI
)LHOGV is set to . This means it is possible to select four different colors.
Under 3URSHUWLHV→2XWSXW,QSXW→6HOHFWHG%R[HV, create a WDJFRQQHFWLRQ to
tag 8LBSLFWXBFXUVRUB.
At 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;, create a &DFWLRQ which switches the
focus to its own object. This &DFWLRQ is triggered at K. If the 2SWLRQ*URXS has
the operation focus when the runtime cursor is switched on, it is displayed with a
border. If quadrangles are placed over the edges of the object that have the same
color as the background, the border around the object can be hidden.
4
In the same picture, configure two button objects under :LQGRZV2EMHFWV→
%XWWRQ. In our example, we use the objects called %XWWRQ and %XWWRQ.
%XWWRQis used as the 2.EXWWRQ. At the (YHQW→0RXVH→0RXVHFOLFN, create a
&DFWLRQ which changes the color of the lettering as a function of the value of the
8LBSLFWXBFXUVRUBtag. Further, its own window is switched to be made
invisible.
%XWWRQis used as the (6&EXWWRQ. At (YHQW→0RXVH→0RXVH&OLFN, create a
GLUHFWFRQQHFWLRQ to hide the separate window.
5
Performing settings for keyboard control.
Set the tabulator order. It can be set by choosing (GLW→7$%2UGHU→6ZLWFK
&XUVRU→6HTXHQFH from the menu.
WinCC Configuration Manual
C79000-G8276-C140-01
3-87
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJFRQWUROE\PHDQVRIKRWNH\V
Every controllable object is now represented by a number. The order of
numbering represents the tabulator sequence. This is the order in which the
objects are addressed when the tabulator key is operated. The order can be
modified with the mouse by selecting the different numbers.
The order is set as shown below.
The selection in the 2SWLRQ*URXS is performed with the DUURZNH\V. A color is
selected with VSDFHEDU. You can switch to and fro between the control elements
with the WDEXODWRUNH\. The buttons are operated with the VSDFHEDU.
The two EXWWRQV are further provided with a hot key. The dialog box for
configuring a hot key is opened by choosing 3URSHUWLHV→0LVFHOODQHRXV→+RW
.H\. (17(5 and (6& are set for 2. &DQFHO, respectively.
3-88
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJFRQWUROE\PHDQVRIKRWNH\V
6
In the picture called SLFWXBBFKDSWHUBSGO, configure a picture window by
choosing 6PDUW2EMHFWV→3LFWXUH:LQGRZ in which you want to display the
picture you have just configured. In our example, we use the object called 3LFWXUH
:LQGRZ. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the
picture with the name SLFWXBBZLQGRZBSGO. Set 3URSHUWLHV→0LVFHOODQHRXV
→'LVSOD\ to 1R.
7
At the %XWWRQ object, create a &DFWLRQ which queries the currently set color of
the lettering and, depending on that, describes the 8LBSLFWXBFXUVRUB tag.
This is used to set the selection of the 2SWLRQ*URXS in the dialog box to the
currently set value. Further, the 3LFWXUH:LQGRZ object is displayed.
At %XWWRQ create at 3URSHUWLHV→*HRPHWU\→3RVLWLRQ; a &DFWLRQ that
switches the control focus to that object. This &DFWLRQ is triggered at K, but
setting of the focus is performed only the first time.
The EXWWRQ is further provided with a hot key. In our example, this is the function
key ).
8
Configure a picture which is to be used as a dialog box for creating different font
attributes. In our example, we use the picture named SLFWXBBZLQGRZBSGO.
In this picture, configure a :LQGRZV2EMHFWV→&KHFN%R[. In our example, we
use the object called &KHFN%R[. 3URSHUWLHV→*HRPHWU\→1XPEHURI)LHOGV is
set to . It should be possible to choose the attributes EROG, LWDOLF, XQGHUVFRUH and
ERUGHU.
Under 3URSHUWLHV→2XWSXW,QSXW→6HOHFWHG%R[HV, create a WDJFRQQHFWLRQ to
tag 8LBSLFWXBFXUVRUB.
At 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;, create a &DFWLRQ which switches the
control focus to its own object. The selection frame can be hidden in a manner
similar to the 2SWLRQ*URXS configured beforehand.
As with the picture called SLFWXBBZLQGRZBSGO, two buttons are created by
choosing :LQGRZV2EMHFWV→%XWWRQ. Choosing 2. reads in the
8LBSLFWXBFXUVRUB tag and depending on that, the appropriate settings are
WinCC Configuration Manual
C79000-G8276-C140-01
3-89
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJFRQWUROE\PHDQVRIKRWNH\V
applied to the lettering.
The settings for keyboard control are performed in the same way as for the
picture called SLFWXBBZLQGRZBSGO.
9
In the picture called SLFWXBBFKDSWHUBSGO, configure a further picture window
by choosing 6PDUW2EMHFWV→3LFWXUH:LQGRZ in which you want to display the
picture you have just configured. In our example, we use the object called 3LFWXUH
:LQGRZ. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the
picture with the name SLFWXBBZLQGRZBSGO. Set 3URSHUWLHV→0LVFHOODQHRXV
→'LVSOD\ to 1R.
10
At the %XWWRQ object, create a &DFWLRQ which queries the currently set font
attributes you want to modify and, depending on that, describes the
8LBSLFWXBFXUVRUB tag. This is used to set the selection of the FKHFNER[ in
the dialog box to the currently set values. Further, the 3LFWXUH:LQGRZ object is
displayed.
The EXWWRQ is further provided with a hot key. In our example, this is the function
key ).
11
Configure a further picture which is to be used as a dialog box for setting the font
sizeSmart-Objekt. In our example, we use the picture named
SLFWXBBZLQGRZBSGO.
In this picture, configure an object by selecting 6PDUW2EMHFWV→,2)LHOG. In
our example, we use the object called ,2)LHOG.
Under 3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH, create a WDJFRQQHFWLRQ to tag
8LBSLFWXBFXUVRUB.
At 3URSHUWLHV→*HRPHWU\→3RVLWLRQ;, create a &DFWLRQ which switches the
control focus to its own object. Hiding the selection list-box is accomplished in
the current example by a JUDSKLFREMHFW being placed across the ,2ILHOG. In our
example, we use the object called *UDSKLF2EMHFW. The bitmap displayed by the
JUDSKLFREMHFW has a specific color in the area in which the ,2ILHOG has to be
displayed. This color is set in the JUDSKLFREMHFW as the picture transparent color
at 3URSHUW\→3LFWXUH→3LFWXUH7UDQVSDUHQW&RORU. Further, the SURSHUW\→
3LFWXUH→3LFWXUH7UDQVSDUHQW&RORU2Q has to be set to<HV. The bitmap used is
displayed below.
12
As with the picture called SLFWXBBZLQGRZBSGO, two buttons are created by
choosing :LQGRZV2EMHFWV→%XWWRQ. Click 2. or &DQFHO to close the dialog
box.
Both EXWWRQV are removed from the TAB order, however. This is accomplished by
choosing (GLW→7$%2UGHU→6ZLWFK&XUVRU→6HTXHQFH. An object can be
removed from the TAB order by selecting it with
3-90
8
with key combination
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJFRQWUROE\PHDQVRIKRWNH\V
&75/6+,)7
pressed. Instead of the number, an * appears in the white
rectangle.
The EXWWRQV are operated solely by means of the (17(5 and (6& hot keys. If,
however, (17(5is pressed, the value entered in the ,2ILHOG is applied to tag
8LBSLFWXBFXUVRUB simultaneously.
At object 6WDWLF7H[W in the picture called SLFWXBBFKDSWHUBSGO, create a WDJ
FRQQHFWLRQ at 3URSHUWLHV→)RQW→)RQW6L]H at tag 8LBSLFWXBFXUVRUB.
13
In the picture called SLFWXBBFKDSWHUBSGO, configure a further picture window
by choosing 6PDUW2EMHFWV→3LFWXUH:LQGRZ in which you want to display the
picture you have just configured. In our example, we use the object called 3LFWXUH
:LQGRZ. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the
picture with the name SLFWXBBZLQGRZBSGO. Set 3URSHUWLHV→0LVFHOODQHRXV
→'LVSOD\ to 1R.
14
At object %XWWRQ, create a &DFWLRQ that displays the object called 3LFWXUH
:LQGRZ.
The EXWWRQ is further provided with a hot key. In our example, this is the function
key ).
15
At object %XWWRQ, create a &DFWLRQ that resets the settable properties of the
object called 6WDWLF7H[W to the presettings. The EXWWRQ is provided with hot key
).
16
Choose (GLW→7$%2UGHU→6ZLWFK&XUVRU→6HTXHQFH from the menu to set
objects %XWWRQ to %XWWRQ in the corresponding order. All other objects are
removed from the TAB order.
Press the VSDFHEDU or operate the appropriate hot keys to choose the EXWWRQV.
WinCC Configuration Manual
C79000-G8276-C140-01
3-91
6DPSOH3URMHFWSLFWXB
C action for setting the focus
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
static BOOL bFirst = FALSE;
//set focus in first run
if (bFirst==FALSE)
Set_Focus(lpszPictureName,lpszObjectName);
bFirst=TRUE;
return 100;
}
• The first time the function is triggered, the focus is set to its own object. The &DFWLRQ is
called once per hour. The focus is set only once, however.
• This &DFWLRQ is located at the 3URSHUW\→*HRPHWU\→3RVLWLRQ; of object 2SWLRQ
*URXS in the picture called SLFWXBBZLQGRZBSGO It is executed once every hour.
C action to set the font color
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
WORD wValue;
//get tag value
wValue=GetTagWord("U16i_pictu_cursor_00");
//set text color
switch (wValue) {
case 1: SetForeColor("pictu_3_chapter_08.PDL","Static
Text1",CO_BLACK);break;
case 2: SetForeColor("pictu_3_chapter_08.PDL","Static
Text1",CO_RED); break;
case 4: SetForeColor("pictu_3_chapter_08.PDL","Static
Text1",CO_GREEN); break;
case 8: SetForeColor("pictu_3_chapter_08.PDL","Static
Text1",CO_BLUE);break;
default:SetForeColor("pictu_3_chapter_08.PDL","Static
Text1",CO_BLACK);break;
}
//close window
SetVisible("pictu_3_chapter_08.PDL","Picture Window1", FALSE);
}
• The IRQWFRORU property of object 6WDWLF7H[W is set as a function of the value of tag
8LBSLFWXBFXUVRUB.
• This &DFWLRQ is executed by choosing 2. in the picture called SLFWXBBZLQGRZBSGO.
3-92
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
C action for Open Picture
#include "apdefap.h"
void OnOpenPicture(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName)
{
//load DLL
#pragma code ("pdlrtapi.dll")
#include <pdlrtapi.h>
#pragma code ()
PDLRTSetCursorKeys(255,255,255,255,0,0,NULL, (LPVOID)1,NULL);
}
• Selection of the picture called SLFWXBBFKDSWHUBSGO applies a cursor setting by means
of API-function 3'/576HW&XUVRU.H\V. The first four parameters of the function
contain the key codes for the keys required for up and down, and for left and right
movements.
• In the present example, the WIN key for all four directions of movement is selected in
order to disable cursor movement by means of the keyboard. Movement of the runtime
cursor is therefore allowed only by means of the TAB in the set TAB order.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• If you are working with a number of windows, you must define in the &RQWURO&HQWHU a
key combination for switching between these windows. In the present example, the
control concept was chosen, however, so that switching from one dialog box to another
is neither possible nor necessary on the keyboard.
• The key combinations and hot keys used must be adapted to suit your own needs.
• The present control concept has been designed so that no specific arrow keys are used to
move the runtime cursor but simply TAB. However, the arrow keys are used by default
to operate option groups and check boxes.
WinCC Configuration Manual
C79000-G8276-C140-01
3-93
6DPSOH3URMHFWSLFWXB
&XUVRUNH\ERDUGH[DPSOH
8
The present example is obtained in the picture called SLFWXBBFKDSWHUBSGO using the key
. It is configured in the
combination &75/: or by choosing the top button with
picture with the name SLFWXBBFKDSWHUBDSGO.
7DVNGHILQLWLRQ
Text has to be entered using the arrow keys on a keyboard projected in a picture. The
different characters have to be selected with the arrow keys.
It shall be possible to set cursor behavior at runtime in a dialog box. It shall be possible to
open the dialog box by operating a hot key.
,PSOHPHQWDWLRQFRQFHSW
A ready-made keyboard from the library is used for the implementation. It is personalized.
A picture window created at 6PDUW2EMHFWV→3LFWXUH:LQGRZ is used to display the dialog
box. A button created at :LQGRZV2EMHFW→%XWWRQ provided with a hot key is used to
display the dialog box. TheEXWWRQ itself is not displayed at runtime, however.
3-94
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6WHS
1
2
3URFHGXUHLPSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
In tag management, create two tags of the 8QVLJQHGELWYDOXH type for storing
cursor behavior. In the example we use the tags 8LBSLFWXBFXUVRUB and
8LBSLFWXBFXUVRUB.
Further, create a tag of the WH[WWDJELWFKDUDFWHUVHW type for transferring the
entered text. In our example, we use the tag called 7LBSLFWXBFXUVRUB.
button on the toolbar.
Open the library with the
In the .H\ERDUGV folder, select the .H\ERDUG&KDU object and drag and drop it
into a picture. In our example, this is the picture named SLFWXBBFKDSWHUBDSGO.
The explanatory objects can be deleted; only the elements displayed below are
required.
3
At (17(5, a &DFWLRQ is created at (YHQWV→0RXVH→0RXVH$FWLRQ to write
entered text to a text tag. This tag is called &RQQHFWHG9DU&KDU. It has to be
modified in the picture called 7LBSLFWXBFXUVRUB.
The contents of the 7LBSLFWXBFXUVRUB tag are displayed in the example in the
6WDWLF7H[W, which forma the picture heading. This is performed by means of a WDJ
FRQQHFWLRQ to that tag.
4
Performing settings for cursor control. With the exception of the keyboard keys,
all the objects have to be removed from the TAB order. The order does not have
to be set since operation is intended to be performed with the arrow keys rather
than the TAB key.
The arrow keys for cursor control are set in a &DFWLRQ at (YHQWV→
0LVFHOODQHRXV→2SHQ3LFWXUH.
5
It should be possible to set the cursor behavior in a dialog box.
8
This will normally already have been performed in the &RQWURO&HQWHU. Use
5
to open the shortcut menu at the item &RPSXWHU and select 3URSHUWLHV. In the
&RPSXWHUOLVWSURSHUWLHV dialog box that appears,
the 3URSHUWLHV button. Then
select the *UDSKLFV5XQWLPH tab. You can choose between three different settings
in the &XUVRUFRQWUROEHKDYLRU box.
8
WinCC Configuration Manual
C79000-G8276-C140-01
3-95
6DPSOH3URMHFWSLFWXB
6WHS
6
3URFHGXUHLPSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
Create a new picture to be used as a dialog box. In our example, we use the
picture named SLFWXBBZLQGRZBSGO.
Configure three status displays at 6PDUW2EMHFWV→6WDWXV'LVSOD\V in this
picture. In our example these are the objects called 6WDWXV'LVSOD\, 6WDWXV
'LVSOD\ and 6WDWXV'LVSOD\. The &RQILJXUDWLRQGLDORJER[ is used to set for
every VWDWXVGLVSOD\ one bitmap which displays the pressed state of a button, and
one bitmap which displays the non-pressed state of a button. 6WDWH is intended
to display the pressed button, while VWDWH is intended to display the non-pressed
state.
At 3URSHUWLHV→6WDWH→&XUUHQW6WDWXV, create in each case a G\QDPLFGLDORJ
ER[ that control the current status of tag 8LBSLFWXBFXUVRUB. This tag contains
the temporary setting for the cursor behavior.
At (YHQWV→.H\ERDUG→3UHVV, create a &DFWLRQ that describes tag
8LBSLFWXBFXUVRUB with a value representing a specific selection. These
values are:
• 0...Normal
• 1...Normal without roll-back
7
3-96
• 10...Extended
In the same picture, configure two button objects under :LQGRZV2EMHFWV→
%XWWRQ. In our example, we use the objects called %XWWRQ and %XWWRQ.
%XWWRQis used as the 2.EXWWRQ. At (YHQWV→0RXVH→0RXVH$FWLRQ, create a
&DFWLRQ that writes the value of tag 8LBSLFWXBFXUVRUBto tag
8LBSLFWXBFXUVRUB. This is intended to represent the currently set cursor
behavior. Following that, the cursor behavior is changed using the API function
3'/576HW&XUVRU.H\V. The value stored in the 8LBSLFWXBFXUVRUBtag
corresponds to the numerical value demanded by the function for specific cursor
behavior. Further, the focus is set to the $EXWWRQ and the separate window is
switched to become invisible.
%XWWRQis used as the (6&EXWWRQ. At (YHQWV→0RXVH→0RXVH$FWLRQ, create a
&DFWLRQ that sets the focus to the $EXWWRQ and hides its own window..
8
In the picture called SLFWXBBFKDSWHUBDSGO, configure a picture window by
choosing 6PDUW2EMHFWV→3LFWXUH:LQGRZ in which you want to display the
picture you have just configured. In our example, we use the object called 3LFWXUH
:LQGRZ. Under 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, select the
picture with the name SLFWXBBZLQGRZBSGO. Set 3URSHUWLHV→0LVFHOODQHRXV
→'LVSOD\ to 1R.
9
In the picture called SLFWXBBFKDSWHUBDSGO, create a button at :LQGRZV
2EMHFWV→%XWWRQ. In our example, we use the object called %XWWRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHLPSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
At object %XWWRQ, create a &DFWLRQ which writes the value for the currently set
cursor behavior to the 8LBSLFWXBFXUVRUB tag and makes the 3LFWXUH:LQGRZ
object visible.
The EXWWRQ is further provided with a hot key. In our example this is the key
combination &75/(. The 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\ settings are
set to 1R. This means the button itself is not visible but the configured hot key is
effective.
C action at the Press Key event
#include "apdefap.h"
void OnKeyDown(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName, UINT nChar, UINT nRepCnt, UINT
nFlags)
{
if (nChar==VK_SPACE)
SetTagWord("U16i_pictu_cursor_05",0);
}
• If the runtime cursor is positioned over the status display, this &DFWLRQ is executed
when a key is pressed. The nChar tag contains the key code of the corresponding key. If
this the spacebar, the value for the cursor behavior is written to the tag. In the present
example this is the value for normal cursor behavior.
• This &DFWLRQ has to be configured at the 3UHVV.H\ event, as it not a question of a
EXWWRQ with this object but of a VWDWXVGLVSOD\. If it were not, the 0RXVH&OLFN event
might be used.
• To design the object for mouse operation too, a further &DFWLRQ has to be created at the
Mouse Click event - without key code query, however.
WinCC Configuration Manual
C79000-G8276-C140-01
3-97
6DPSOH3URMHFWSLFWXB
C action for the OK button
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
//load DLL
#pragma code ("pdlrtapi.dll")
#include <pdlrtapi.h>
#pragma code ()
//set selected cursor mode to tag
SetTagWord("U16i_pictu_cursor_04",
GetTagWord("U16i_pictu_cursor_05"));
//set cursor mode
PDLRTSetCursorKeys(VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT,0,
GetTagWord("U16i_pictu_cursor_04"),NULL,
(LPVOID)1,NULL);
//set focus to A-button
Set_Focus("pictu_3_chapter_08a.PDL","Button92");
//close window
SetVisible("pictu_3_chapter_08a.PDL","Picture Window1", FALSE);
}
• Load the DLL containing the 3'/576HW&XUVRU.H\V function.
• The selected cursor behavior is stored in the 8LBSLFWXBFXUVRUB tag.
• Perform the cursor setting with the AP function 3'/576HW&XUVRU.H\V. The first four
parameters of the function contain the key codes for the keys required for up and down,
and for left and right movements. The sixth parameter transfers the required cursor
behavior to the function. This is already contained, in properly coded form, in the
8LBSLFWXBFXUVRUB tag.
• The focus is again set to the $EXWWRQ of the keyboard and the dialog box is closed.
• Upon the event Open Picture, the function called 3'/576HW&XUVRU.H\V is called and
the cursor behavior is set to normal. Loading of the DLL is already performed at this
time. It does not have to be reloaded. This is mentioned again for the sake of
completeness, however.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The key combinations and hot keys used must be adapted to suit your own needs.
• Two other keyboards are available in the library. These are a keyboard for entering
numerals and one for numbers and characters. They are in the same way as the keyboard
used in this example.
3-98
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
9DOXHLQSXWFRQWURODFWLRQVH[DPSOH
8
The present example is obtained in the picture called SLFWXBBFKDSWHUBDSGO using the
. It is configured in the
key combination &75/: or by choosing the top button with
picture with the name SLFWXBBFKDSWHUBESGO.
7DVNGHILQLWLRQ
Various control actions are to be performed in a plant picture without using a mouse.
Values are to be input and a number of switching operations performed.
,PSOHPHQWDWLRQFRQFHSW
To implement these control actions, a number of buttons created under :LQGRZV2EMHFWV→
%XWWRQ is used, under which hot keys are configured. Values are to be able to be entered in
I/O fields created under 6PDUW2EMHFWV→,2)LHOG, and valves are to be able to be turned
on and off.
,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6WHS
3URFHGXUHLPSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
1
In tag management, create six tags of the VLJQHGELWYDOXH type for performing
and storing inputs. In our example we use the tags 6LBSLFWXBFXUVRUB to
6LBSLFWXBFXUVRUB.
2
In a picture, configure three I/O fields at 6PDUW2EMHFWV→,2)LHOGV in which
the fill-level setpoints have to be entered. In our example these are the objects ,2
)LHOG, ,2)LHOG and ,2)LHOG.
At object ,2)LHOG, create a tag connection to tag 6LBSLFWXBFXUVRUB at
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH. Choose 3URSHUWLHV→/LPLWV and set
the 8SSHUOLPLW to and the /RZHUOLPLW to .
Proceed in a similar manner at the other ,2ILHOGV, but set tags
6LBSLFWXBFXUVRUB and 6LBSLFWXBFXUVRUB. At the ,2)LHOG object,
however, set the 8SSHUOLPLW to .
3
Configure three buttons at :LQGRZV2EMHFWV→%XWWRQwhich are to be used for
applying the values entered in the ,2ILHOGV. In our example, we use the objects
called %XWWRQ), %XWWRQ) and %XWWRQ).
At object %XWWRQ), create a &DFWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ that
writes the value entered in tag 6LBSLFWXBFXUVRUB to tag
6LBSLFWXBFXUVRUB. Choose 3URSHUWLHV→0LVFHOODQHRXV→+RW.H\ set hot
key ) for the EXWWRQ.
Proceed in a similar manner with the other EXWWRQV.
At %XWWRQ), create a &DFWLRQ at 3URSHUWLHV→*HRPHWU\→:LGWK that switches
the focus to its own object.
WinCC Configuration Manual
C79000-G8276-C140-01
3-99
6DPSOH3URMHFWSLFWXB
6WHS
3-100
3URFHGXUHLPSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
4
Configure three rectangle at 6WDQGDUG2EMHFWV→5HFWDQJOHV to represent entered
values. In our example, we use the objects 5HFWDQJOH, 5HFWDQJOH, and
5HFWDQJOH.
Set the 3URSHUWLHV→)LOOLQJ→'\QDPLF)LOOLQJ to <HV. At 3URSHUWLHV→)LOOLQJ
→)LOO/HYHO, create in each instance a G\QDPLFGLDORJER[ for converting the tag
value into a fill level.
The graphical display of the containers is performed with several VWDQGDUG
REMHFWV, which are combined to form a group in each instance.
5
Configure four more buttons under :LQGRZV2EMHFWV→%XWWRQ. They are to be
used to turn valves on and off. In our example, we use the objects called
%XWWRQ), %XWWRQ), %XWWRQ) and %XWWRQ).
At the (YHQW→0RXVH→0RXVH&OLFN, create a &DFWLRQ to invert a binary tag
representing a valve state. Every EXWWRQ is linked to a hot key.
6
In the picture, configure four valves which are connected with the corresponding
binary tags. You will find a detailed description of how to create these valves in
the section called 'LVSOD\LQJDQGKLGLQJLQIRUPDWLRQ in example 6KRZLQJDQG
KLGLQJREMHFWVH[DPSOH.
7
With the exception of the EXWWRQV provided with hot keys, all the other objects are
removed from the TAB order.
Set the order of selection of the ,2ILHOGV with the TAB key by choosing (GLW→
7$%2UGHU→$OSKD&XUVRU→2UGHU from the menu.
8
In the &RQWURO&HQWHU, set a key combination for fore toggling between the Tab
5 &RPSXWHU to call the shortcut menu and choose
Orders and the alpha cursor.
8
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHLPSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
8
. In the &RPSXWHUOLVWSURSHUWLHV dialog box that appears,
the
button. Then select the *UDSKLFV5XQWLPH tab.
To toggle between 7DE2UGHUVDQGDOSKDFXUVRU, set the key combination
6+,)7$. Further, to turn the runtime cursor on and off, set the key combination
6+,)75.
3URSHUWLHV
3URSHUWLHV
1RWH
You can exit the example just described by choosing the following button or by pressing
(6&.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The key combinations and hot keys used must be adapted to suit your own needs.
• Only the red-colored control elements are provided with functions. The other elements
do not have functions. The whole picture represents a diagram of operator panel 6LPDWLF
23.
WinCC Configuration Manual
C79000-G8276-C140-01
3-101
6DPSOH3URMHFWSLFWXB
6KRZLQJDQGKLGLQJLQIRUPDWLRQ
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
3-102
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6KRZLQJDQGKLGLQJREMHFWVH[DPSOH
In many plant pictures, it sometimes makes sense if certain items of information are not
constantly displayed in the picture, but can be shown when required or when specific events
occur.
7DVNGHILQLWLRQ
Certain objects or object groups in a picture are to be able to be hidden by the user.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use a picture in which several valves are displayed.
Each valve is assigned a button created under :LQGRZV2EMHFWV→%XWWRQ which is used to
control the valve, a static text created under 6WDQGDUG2EMHFWV→6WDWLF7H[W with the name
of the valve, and a group object which displays the state of the valve. In addition, the
picture also depicts containers whose fill levels are displayed by means of I/O fields created
under 6PDUW2EMHFWV→,2)LHOG. All I/O fields, all buttons and all static texts can be
shown and hidden by clicking the corresponding one of the buttons created for this purpose
under :LQGRZV2EMHFWV→%XWWRQ.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHVKRZLQJDQGKLGLQJREMHFWV
1
In Tag Management, create three tags of type %LQDU\WDJ, which control the
visibility of the various object groups. In our example, we use
%,1LBSLFWXBLQIRB, %,1LBSLFWXBLQIRB, and %,1LBSLFWXBLQIRB.
2
In Tag Management, create further tags of type %LQDU\WDJ, which contain the
current states of the valves. The number of tags required depends on the number
of valves. In our example, we use %,1LBSLFWXBLQIRB through
%,1LBSLFWXBPXOWLB; we have, then, configured a total of 11 valves.
3
To display the valves in their open state, configure an object under 6WDQGDUG
2EMHFWV→3RO\JRQ, which has the shape of a valve. Under 3URSHUWLHV→&RORUV
→%DFNJURXQG&RORU, select the color GDUNJUHHQ.
4
To display the valves in their closed state, configure an object under 6WDQGDUG
2EMHFWV→3RO\OLQH, which has the shape of a valve.
5
Configure two identical objects under 6WDQGDUG2EMHFWV→5HFWDQJOH and set
them to display the background color of the picture under 3URSHUWLHV→&RORUV
→%DFNJURXQG&RORU. The rectangles should be slightly larger than the valves, so
that they can hide them.
6
Position a rectangle and an open valve over each other and position the open
valve in the foreground by clicking the
button. Select menu item (GLW→
*URXSREMHFW→*URXS and group the two objects. For the group object this
generates, configure a tag connection to tag %,1LBSLFWXBLQIRB under 3URSHUWLHV
→0LVFHOODQHRXV→9LHZ.
WinCC Configuration Manual
C79000-G8276-C140-01
3-103
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHVKRZLQJDQGKLGLQJREMHFWV
7
Position the closed valve over the second UHFWDQJOH and position it in the
foreground. Then position the JURXSREMHFW generated under Step 6 over this and
position it in the foreground. Now group these three objects. This new JURXS
REMHFW can then be copied to enable you to configure the remaining valves
quickly. The only adaptation you have to make is to the WDJFRQQHFWLRQ.
8
For each valve, configure a button under :LQGRZV2EMHFWV→%XWWRQ and under
(YHQWV→0RXVH→3UHVVOHIW, create a &DFWLRQ which negates the corresponding
tag value.
9
Configure a static text for each valve under 6WDQGDUG2EMHFWV→6WDWLF7H[W,
which contains the name of the valve.
10
Configure a number of containers whose fill levels are displayed by means of I/O
fields created under 6PDUW2EMHFWV→,2)LHOG.
11
Configure three objects under :LQGRZV2EMHFWV→%XWWRQ. In our example, we
use the objects called %XWWRQ, %XWWRQ, and %XWWRQ. For %XWWRQ, create a &
DFWLRQ under (YHQWV→0RXVH→3UHVVOHIW, which negates the value of tag
%,1LBSLFWXBLQIRB. Then create identical &DFWLRQV for tags %,1LBSLFWXBLQIRB
and %,1LBSLFWXBLQIRB under the remaining EXWWRQV.
12
Configure a WDJFRQQHFWLRQ to tag %,1LBSLFWXBLQIRB under all of the objects
which are to be shown and hidden by means of %XWWRQ. Do exactly the same
for the other objects. In our example, %XWWRQ is used to show the ,2ILHOGV,
%XWWRQ to show the VWDWLFWH[WV, and %XWWRQ to show the EXWWRQV.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The basic method of showing and hiding objects can be adopted.
• The method of displaying the valves can be adopted directly.
3-104
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
'LVSOD\LQJWKHGDWHDQGWLPHH[DPSOH
7DVNGHILQLWLRQ
Different ways of displaying the time and date are to be presented.
,PSOHPHQWDWLRQFRQFHSW
We implement this by means of an OLE Control object which we create under 6PDUW
2EMHFWV→2/(&RQWURO and which is used to display an OCX object. We also use two
static texts created under 6WDQGDUG2EMHFWV→6WDWLF7H[W to display the date and the time.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHGLVSOD\LQJWKHGDWHDQGWLPH
1
Configure an OLE Control object under 6PDUW2EMHFWV→2/(&RQWURO. In our
example, we use the object called 2/(&RQWURO. Select the :LQ&&
'LJLWDO$QDORJ&ORFN&RQWURO object from the window that appears. This
generates a time display which you now only have to adjust to the size and type
of display you want.
2
Configure an object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W. In our example, we
use the object called 6WDWLF7H[W. Create a &DFWLRQ under 3URSHUWLHV→)RQW→
7H[W, which reads out the current computer or system time and returns this as the
return value. Set the trigger for this action to 1 second.
3
Configure another object of type 6WDQGDUG2EMHFWV→6WDWLF7H[W. In our
example, we use the object called 6WDWLF7H[W. Create a &DFWLRQ under
3URSHUWLHV→)RQW→7H[W, which reads out the current date and returns this as
the return value.
WinCC Configuration Manual
C79000-G8276-C140-01
3-105
6DPSOH3URMHFWSLFWXB
C action for reading out the time
#include "apdefap.h"
char* _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
time_t timer;
struct tm *ptm;
char *p;
time(&timer);
ptm=localtime(&timer);
p=SysMalloc(9);
sprintf(p,"%02d:%02d:%02d",ptm->tm_hour,ptm->tm_min,ptm->tm_sec);
return(p);
}
•
WLPHWLPHU
•
ORFDOWLPHWLPHU
•
6\V0DOORF
•
VSULQWI
returns the current system time in seconds.
returns a pointer to the system time structure.
reserves a memory area.
generates a text consisting of a static segment and several numerical segments.
C action for reading out the date
#include "apdefap.h"
char* _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
time_t timer;
struct tm *ptm;
char *p;
time(&timer);
ptm=localtime(&timer);
p=SysMalloc(9);
sprintf(p,"%02d:%02d:%02d",ptm->tm_mday,ptm->tm_mon,ptm->tm_year);
return(p);
}
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The 6PDUW2EMHFWV→2/(&RQWURO can be directly applied.
• The &DFWLRQV at 6WDQGDUG2EMHFWV→6WDWLF7H[W can be directly applied.
3-106
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
&RQILJXULQJPHVVDJHV
8
You access the examples that relate to this topic in our SLFWXB project by
the EXWWRQ
depicted above. The examples are configured in the picture named SLFWXBBFKDSWHUBSGO.
7DVNGHILQLWLRQ
Specific messages are to be output depending on the tag state. These messages are to be
output depending on changes of state in bits and limit violations. In addition, automatic
picture changes are to be enabled in the event of an error.
All messages are to be displayed in a message picture. In an overview picture, messages are
to be displayed selectively.
,PSOHPHQWDWLRQFRQFHSW
To implement this control action, we use two application windows created under 6PDUW
2EMHFWV→$SSOLFDWLRQ:LQGRZ, in which we display the message pictures. In addition, we
also use three slider objects created under :LQGRZV2EMHFWV→6OLGHU2EMHFW and a check
box created under :LQGRZV2EMHFWV→&KHFN%R[, with which we enter values and
simulate error messages.
,PSOHPHQWLQJLQWKH:LQ&&SURMHFW
6WHS
3URFHGXUHFRQILJXULQJPHVVDJHV
1
Create four tags of type 8QVLJQHGELWYDOXH in Tag Management. In our
example, we use 8LBSLFWXBPHVVDJHB through 8LBSLFWXBPHVVDJHB.
2
Configure a check box under :LQGRZV2EMHFWV→&KHFN%R[; in our example,
we use &KHFN%R[. Under 3URSHUWLHV→2XWSXW,QSXW→6HOHFWHG%R[HV, create
a WDJFRQQHFWLRQ to tag 6LBSLFWXBPHVVDJHB.
3
Configure three objects of type :LQGRZV2EMHFWV→6OLGHU2EMHFW. in our
example, we use 6OLGHU2EMHFW, 6OLGHU2EMHFW, and 6OLGHU2EMHFW. Under
&RQILJXUDWLRQ'LDORJ, select tag 6LBSLFWXBPHVVDJHB and set the trigger to
8SRQFKDQJH. Change the 0D[LPXP9DOXH to . In the same way, configure
the remaining tags for the other VOLGHUREMHFWV.
4
Open the $ODUP/RJJLQJ editor in the &RQWURO&HQWHU by clicking it with the
5.
5
Select menu item )LOH→6WDUW0HVVDJH:L]DUG and close the first page of the
8
WinCC Configuration Manual
C79000-G8276-C140-01
3-107
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJPHVVDJHV
wizard by clicking 1H[W.
6
On the page entitled 6HOHFWLQJ0HVVDJH%ORFNV in the section called 6\VWHP
EORFNV, select the 'DWH7LPH1XPEHU option. Leave the remaining settings as
they are and close the page by clicking 1H[W. On the page entitled &UHDWLQJD
/LQH, leave the settings as they are and close the page by clicking 1H[W. On the
page entitled 0HVVDJH:LQGRZV, leave the settings as they are and close the page
by clicking 1H[W. On the page entitled 3UHVHWWLQJ&ODVVHV, leave the settings as
they are and close the page by clicking 1H[W. On the page entitled &KRRVLQJ
$UFKLYHV, select the 6KRUW7HUP$UFKLYH)RU0HVVDJHV and close the page by
clicking 1H[W. Close the )LQDOH page by clicking $SSO\.
7
Select 0HVVDJHOLQHIRUPDW,
5 the 0HVVDJHOLQHH[DPSOH option in the righthand window and open the properties dialog.
8
Add the message blocks 0HVVDJHWH[W and 3RLQWRIHUURU by clicking the
button and close the window by clicking 2..
8
8
Select 0HVVDJHEORFNV and
8'
the 8VHUWH[WEORFN option in the right-hand
window.
5 the 0HVVDJHWH[W option and call the properties dialog. Change the
length to 40 characters. In the same way, change the length of the 3RLQWRIHUURU
block to 20 characters.
9
3-108
8
5 the 0HVVDJHZLQGRZH[DPSOH option in
Select 0HVVDJHZLQGRZWHPSODWHV,
the right-hand window and open the properties dialog. In the *HQHUDO
,QIRUPDWLRQ tab, enter the window name and the window title and select 6KRUW
7HUP$UFKLYH:LQGRZ in the :LQGRZ7\SH section. In our example, we have
chosen )LOOLQJV\VWHPPRQLWRULQJ as the window name and )LOOLQJV\VWHP as the
window title. On the 0HVVDJH/LQH tab, set the message line format you require WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJPHVVDJHV
in the example, the previously created H[DPSOHPHVVDJHOLQH format. On the
3DUDPHWHUV tab, select the items /LQH7LWOH and &ROXPQ7LWOH. In the 6WDWXV%DU
tab, select 'LVSOD\6WDWXV%DU, set %RWWRP in the $OLJQPHQW section, and under
(OHPHQWV2I7KH6WDWXV%DU, select 'DWH and 7LPH. In the 7RROEDU tab, select
'LVSOD\7RROEDU, set 7RS in the $OLJQPHQW section, select DOONH\ERDUGIXQFWLRQV,
but deselect the &LW\&DOOIXQFWLRQV check box. Close the window by clicking 2..
8
10
Define messages in the table window. To do this,
5 the 1XPEHU column and
click $SSHQG1HZ/LQH. Enter (UURU in the &ODVV column and $ODUP in the 7\SH
column. In the (YHQWWDJ column, select tag 8LBSLFWXBPHVVDJHB and under
(YHQWELW, set the bit number . Enter EUHDNGRZQ as the PHVVDJHWH[W and SXPS
as the ORFDWLRQ. Configure further messages in the same way, using (UURU and
:DUQLQJ also as message types. These are all generated by individual bits of the
tag written to by the FKHFNER[.
11
Select menu item 2SWLRQV→$GG,QV and click /LPLWYDOXHPRQLWRULQJ if this
8
12
8
hasn’t already been done. Now
5 the new /LPLWYDOXHPRQLWRULQJ option that
has appeared and click the 1HZ option. Select 8LBSLFWXBPHVVDJHB as the
tag to be monitored.
5 the new option generated for the tag, select 1HZ and
define a limit value and the message number that belongs to it. In our example,
we use a +LJK/LPLW9DOXH of and the 0HVVDJHQXPEHU . A new line has
now been added in the table window, in which all you have to enter now is the
0HVVDJHWH[W and the 3RLQWRIHUURU. In the same way, configure other messages
for the low limit value and the other tags.
8
To configure the message colors, select the 0HVVDJHFODVVHV item and
8'
the
option in the right-hand window.
5 the $ODUP option, open the
properties dialog and enter the color settings you want. Do the same for the
)DLOXUH and :DUQLQJ options. In our example, we use the following color scheme
for the message type $ODUP:
)DLOXUH
We use the following color scheme for the message type )DLOXUH:
We use the following color scheme for the message type :DUQLQJ:
13
14
Save the settings in the $ODUP/RJJLQJ editor.
In the picture, configure an application window under 6PDUW2EMHFWV→
, select $ODUP/RJJLQJ as the :LQGRZ&RQWHQWV and )LOOLQJ
PRQLWRULQJ as the 7HPSODWH. In our example, we use the object called $SSOLFDWLRQ
:LQGRZ.
$SSOLFDWLRQ:LQGRZ
WinCC Configuration Manual
C79000-G8276-C140-01
3-109
6DPSOH3URMHFWSLFWXB
Configuring Loop in Alarm
6WHS
3URFHGXUHFRQILJXULQJ/RRSLQ$ODUP
1
The pictures we use in our example to display a /RRSLQ$ODUP are
SLFWXBBZLQGRZB through SLFWXBBZLQGRZBFor each of the container
objects in the three pictures, a WDJFRQQHFWLRQ is configured to one of the three
tags supplied by the VOLGHUREMHFWV; this is done under 3URSHUWLHV→7DJ
$VVLJQPHQW→)LOO/HYHO.
2
In the picture in which the VOLGHUREMHFWV and the FKHFNER[HV are also configured,
configure a picture window (6PDUW2EMHFWV→3LFWXUH:LQGRZ). In our example,
we use 3LFWXUH:LQGRZ and set SLFWXBBZLQGRZBSGO as the picture name.
3
To implement a /RRSLQ$ODUP, create a SURMHFWIXQFWLRQ in the *OREDO6FULSW
editor, which uses the name of the picture in which the error has arisen as the
transfer parameter. In our sample project, this is the function
$ODUP3LFWXUH&KDQJH. The $ODUP/RJJLQJ editor uses the 2SHQ3LFWXUH function
by default.
4
Create three alarm lines which react, for example, to a limit value inquiry. In our
example, these are messages through .
' in the /RRSLQ$ODUP column and
set the picture name. The picture set is the one in which the corresponding tag,
whose limit value is monitored, is displayedThe function$ODUP3LFWXUH&KDQJH
is selected as the function name at 3URMHFWIXQFWLRQ. If a relevant error now arises
8
during runtime, you can click the
button (’Short-Term Archive’) in the
toolbar of the message window to execute a picture change in the picture.
Configuring a message window in the overview section
6WHS
1
3URFHGXUHFRQILJXULQJDPHVVDJHZLQGRZLQWKHRYHUYLHZVHFWLRQ
In the $ODUP/RJJLQJ editor, create a new message window template; in our
example, we use the template 2YHUYLHZPHVVDJH. Select 0HVVDJHZLQGRZ
8
5 it, and then click 1HZ. In the *HQHUDO,QIRUPDWLRQ tab, enter
WHPSODWHV,
the window name and the window title. In our example, we have chosen
2YHUYLHZPHVVDJH as the window name and DODUPV as the window title. Select
the 0HVVDJH:LQGRZ option in the :LQGRZ7\SH section. Choose the 6HOHFWLRQ
button to open the 6HW6HOHFWLRQ window and deselect message types (UURU and
:DUQLQJvia the folder called 0HVVDJH&ODVV→(UURU in the window on the
right. This means that only messages of type $ODUP are displayed in the overview
window.
3-110
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWSLFWXB
6WHS
3URFHGXUHFRQILJXULQJDPHVVDJHZLQGRZLQWKHRYHUYLHZVHFWLRQ
In
the 0HVVDJH/LQH tab, set the format entitled 0HVVDJHOLQHH[DPSOH. The
3DUDPHWHUV, 6WDWXV%DU and 7RROEDU tabs can be applied unchanged.
2
In an overview window which is displayed in every plant status, configure an
application window under 6PDUW2EMHFWV→$SSOLFDWLRQ:LQGRZ and set $ODUP
/RJJLQJ as the :LQGRZ&RQWHQWV and 2YHUYLHZPHVVDJH as the 7HPSODWH. In our
example, we use the object called $SSOLFDWLRQ:LQGRZ in picture
SLFWXBBRYHUYLHZBSGO. Set the size of the window large enough that a message
can be displayed.
3
In the overview picture, configure a button object under :LQGRZV2EMHFWV→
%XWWRQ. In our example, we use the object called %XWWRQ. For this button, create a
&DFWLRQ under (YHQWV→0RXVH→0RXVH$FWLRQ, which opens the message
picture SLFWXBBFKDSWHUB. This EXWWRQ can, therefore, be used in every plant
status to switch to the message window if an alarm message has been displayed.
4
In the sample project in picture SLFWXBBNH\ERDUGBSGO, a further EXWWRQ has
been configured, which can be used to start an automatic message simulation
function which generates a message every 10 seconds.
WinCC Configuration Manual
C79000-G8276-C140-01
3-111
6DPSOH3URMHFWSLFWXB
Project function AlarmPictureChange
void AlarmPictureChange(char* lpszPicture)
{
SetPictureName("pictu_3_chapter_10","Picture Window1", lpszPicture);
}
• Calling the 6HW3LFWXUH1DPH function with a preset name for the picture name and
picture window name. The name of the picture that is to be displayed in the 3LFWXUH
:LQGRZ is the transfer parameter.
1RWHVRQJHQHUDOXVH
The following adaptations must be made before this button can be put to general use:
• The tag names and message texts must be adapted.
• The color coding of the message types must be adapted to suit your own needs.
3-112
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
$GGLWLRQDO)XQFWLRQVLQ:LQ&&3URMHFW
H[DPSOHBPFS
This project presents examples to the 7DJ/RJJLQJ, $ODUP/RJJLQJ and 5HSRUW'HVLJQHU
editors.
The examples to this subject are configured in the H[DPSOHB WinCC project.
WinCC Configuration Manual
C79000-G8276-C140-01
4-1
6DPSOH3URMHFWH[DPSOHB
7DJ/RJJLQJ
8
In runtime, the examples can be selected by clicking on the button displayed above with the
. The examples are configured in the pictures H[BBFKDSWHUB3'/ to
H[BBFKDSWHUBI3'/.
*HQHUDO,QIRUPDWLRQ
contains functions for the transfer of data from external and internal WinCC
tags. This data can be archived in several ways. In runtime, the data can be displayed in
trend or table form.
7DJ/RJJLQJ
6LPXODWLRQRI3URFHVV9DOXHV
For the simulation of process values that are archived by 7DJ/RJJLQJ in the example
project, a project-internal simulator is available. This simulator is activated by clicking on
the corresponding button on the toolbar.
The simulator enables you to supply three distinct internal tags with sinus wave profiles. An
additional tag is supplied with the sum of the individual tag values. The profiles of the tag
values are displayed in a small trend window.
Below the trend window are three lines consisting of input and output elements. Each of the
lines corresponds to a trend profile.
The first I/O field allows you to change the amplitude of a trend. The second I/O field sets
the frequency of the trend in oscillations per minute. Check boxes allow you to stop each
trend simulation. The last I/O field displays the current trend amplitude.
The tags *BH[BWOJB,*BH[BWOJB and *BH[BWOJB are supplied with values. The
tag *LBH[BWOJB is supplied with the sum of these three tags. If the simulator is
deactivated, all tag values will be set to zero again.
4-2
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
&\FOLF&RQWLQXRXV$UFKLYLQJH[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
Process values are to be stored continuously in an archive. The stored data is to be
displayed graphically in a trend window. The trend window’s toolbar and status bar are
realized using standard tools. As an authorized user, the online configuration should be
possible.
The example uses FRQWUROOHU as user name and WDJORJJLQJ as password.
,PSOHPHQWDWLRQ&RQFHSW
To archive the displayed data, create a cyclic-continuous process value archive in the 7DJ
/RJJLQJ editor.
To realize a graphical display, an DSSOLFDWLRQZLQGRZ for displaying a trend window is
used. The WUHQGZLQGRZWHPSODWH is created in the 7DJ/RJJLQJ editor.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
1
Creation of the tags to be archived in "Tag Management". In the example, the
tags *BH[BWOJB,*BH[BWOJB and *BH[BWOJB are archived. These tags
are supplied with values by the simulator.
2
In the &RQWURO&HQWHU, open the 7DJ/RJJLQJ editor via a
3
Creating a new archive. Start the ArchiveWizard via $UFKLYHV
85
.
85
.
Conclude the first page of the Wizard by clicking on 1H[W.
On the second page, select the 3URFHVV9DOXH$UFKLYH as the DUFKLYHW\SH and
name it. In the example, the archive was named =.B3URFHVV9DOXH$UFKLYHB.
Proceed to the next page by clicking on 1H[W.
On the third page, set the tags to be archived via the
button. In the
example, the tags *BH[BWOJB,*BH[BWOJB and *BH[BWOJB were
WinCC Configuration Manual
C79000-G8276-C140-01
4-3
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
selected. Close the page by clicking on )LQLVK.
4-4
8
4
The right window will display the entry of the newly created archive. Open the
5 on this entry.
properties dialog box of the archive by
5
In the *HQHUDO,QIRUPDWLRQ tab, basic archive parameters can be changed. The
DUFKLYHQDPH and the DUFKLYHW\SH have already been set by the Wizard. The
DUFKLYHW\SHcan not be changed again.
The $UFKLYLQJDW6\VWHP6WDUW box is HQDEOHG. In the $XWKRUL]DWLRQ/HYHO box, 1R
$FFHVV3URWHFWLRQ has been set for both access types. This automatically starts the
archiving when the system is started and no separate function is needed to enable
the archive. The data itself can be used by any user and is not subject to special
access protection.
No special action is executed while the archive starts. A special action, for
example, could inform you about the status of an archive.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
6
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
Additional properties are set in the $UFKLYH3DUDPHWHUV tab.
Set as the number of data records. As the 0HPRU\/RFDWLRQ, select 2QWKH
KDUGGLVN. A function can be set as the $FWLRQIRUH[SRUWLQJWKHVKRUWWHUP
DUFKLYH that is, executed automatically whenever the short-term archive is full. In
the example, however, no action is planned. Select 6KRUWWHUPDUFKLYH as the
$UFKLYH7\SH.
With these settings, 1000 data records are archived to the hard drive. Once this
maximum number of data records has been reached, the oldest archive entries are
replaced by the new ones.
Close the properties dialog box by clicking on 2..
7
8
85
on the table window to open the properties dialog box of the selected
archive tag.
In the $UFKLYH7DJ tab, the basic properties of the tag can be set. The process tag
has already been set in the Wizard. You can assign a unique name as the 1DPHRI
WKH$UFKLYH7DJ, in the example, the name of the corresponding process tag is
WinCC Configuration Manual
C79000-G8276-C140-01
4-5
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
used.
In the 6XSSO\LQJ7DJV box, 6\VWHP has been selected and the $UFKLYLQJDW6\VWHP
6WDUW has been HQDEOHG. &\FOLF&RQWLQXRXV has been set as the $UFKLYLQJ7\SH.
These settings define that the acquisition of data is started together with the
system and performed in constant time cycles until the system is shut down.
Additionally, the archived value is not to written to any tag.
9
4-6
In the 3DUDPHWHUV tab, additional settings are made.
In the &\FOH box, set PV as the $FTXLVLWLRQ cycle and PV as the
$UFKLYLQJ cycle. Set the $FWXDOYDOXH in the 3URFHVVLQJ box.
8QLW will not be selected. "Last Value" is to be saved on error. $UFKLYHXSRQ
FKDQJH is not selected.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
10
In the 'LVSOD\ tab, the transfer range of the tag into the archive is set. In the
example, 1R'LVSOD\/LPLWDWLRQ is set.
11
In the (YHQWV tab, the example uses no action in the '\QDPLF box to change the
archiving cycle.
12
The settings made have to be incorporated into the two other archive tags. To do
so, carry out step 7 to 11 for each of the two archive tags.
1RWH
The presettings made by the Archive Wizard for the process value archive and the archive
tags can be changed via $UFKLYHV→3UHVHWWLQJV→3URFHVV$UFKLYH and $UFKLYHV→
3UHVHWWLQJV→$QDORJ7DJ.
This is advantageous, if a large number of similar archives have to be created.
WinCC Configuration Manual
C79000-G8276-C140-01
4-7
6DPSOH3URMHFWH[DPSOHB
7UHQG'LVSOD\&RQILJXUDWLRQ
6WHS
8
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
1
Create a new trend window template by
5 on the corresponding entry in the
navigation window of the 7DJ/RJJLQJ editor.
2
The 3URSHUWLHV7UHQG:LQGRZ7HPSODWH dialog box will be displayed. The
button opens the 3URSHUWLHVRIWKH7HPSODWH dialog box. General
settings for the entire template are made in this dialog.
As the 1DPHRIWKH7HPSODWH, the example uses =.B3$B7UHQGWHPSODWHB. In
the 'LVSOD\ box, select the 6WDWXV%DU, a 7LWOH%DU is not needed.
In the 7RROEDU box, the toolbar can be adapted to your needs via the
button. In the example, the $OONH\ERDUG)XQFWLRQV checkbox has been selected.
Data is to be read from the archive immediately when the SLFWXUHLVRSHQHG. As
the &RORU, the background color of the picture is set (RGB Value 231/207/199).
Apply the settings made by clicking on the 2. button.
3
4-8
In the 2SHUDWRU$XWKRUL]DWLRQ box, you can determine, if a change in the
configuration data is possible in runtime.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
The 3HUVLVWHQWLQ57 check-box allows you to determine, if setting changes made
in runtime are to be maintained after a picture change. The 3HUVLVWHQWLQ57DQG
&6 check-box gives the user the possibility to permanently change the
configuration data in runtime.
button assigns authorization levels to the functions that only allow
The
authorized users to make setting changes.
In the example, the 3HUVLVWHQWLQ57DQG&6 function has been associated with the
(GLW7UHQG7HPSODWH authorization level. This authorization level must first be
created in the 8VHU$GPLQLVWUDWRU editor and be assigned to an user.
4
button allows you to add two additional trends. The names of these
The
trends are displayed in the &KRRVH2EMHFW box.
5
Select the first trend from the &KRRVH2EMHFW box.
In the *HQHUDO,QIRUPDWLRQ tab, the general trend properties are set. In the
example, 7UHQG is used as the 1DPHRIWKH7UHQG. In the 'LVSOD\ box, select
the check-boxes 'LVSOD\7UHQG, 6KDUHG;$[LV and 6KDUHG<$[LV. Set 5HG as the
trend color.
WinCC Configuration Manual
C79000-G8276-C140-01
4-9
6DPSOH3URMHFWH[DPSOHB
6WHS
4-10
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
6
In the 7DJ tab, the archive tag displayed by the trend is selected. In the example,
the *BH[BWOJB tag from the =.B3URFHVV9DOXH$UFKLYHB archive is used.
7
In the ;$[LV tab, the properties of the time axis are set.
Enter 7LPH as the /DEHO of the axis.
Select the 8SGDWH check-box from the 6FDOLQJ box. This determines that the trend
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
is displayed dynamically. The end time of the trend display corresponds to the
archiving time of the last archived data record. Newly collected tag values are
immediately incorporated into the display.
Select the 7LPH5DQJH check-box and the 0LQXWH entry from the list-box. No
changes are needed for the date of the )URP range. These settings determine that,
in runtime, the endpoint of the displayed time range is always one minute in
addition to the current time.
If the 7LPH5DQJH check-box is not selected, the displayed time range is
determined by the time difference resulting from the IURP and WR dates. However,
this is only the case if the 8SGDWH check-box has been selected.
8
In the <$[LV tab, the properties of the Y-Axis are set.
Enter 7DJ9DOXH as the /DEHO of the axis. In the 'LVSOD\ field, no grid lines are
shown is set. In the 6HOHFWLRQ field, is entered as the 6WDUW value and as the
(QG value. Both input fields only become visible, if the $XWRUDQJH check-box is
not selected. Select &RQQHFW'RWVOLQHDUO\as the 7UHQG'LVSOD\.
WinCC Configuration Manual
C79000-G8276-C140-01
4-11
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
9
For this example, filling out the &RORU/LPLW9DOXHV tab is not necessary. The
setting options of this tab are described in the example $UFKLYLQJLI9DOXHLV
([FHHGHGH[BBFKDSWHUBE3'/ in the table 7UHQG'LVSOD\&RQILJXUDWLRQ.
10
Carry out step 5 to 8 for the two other trends. Since shared X and Y axes have
been selected, the corresponding tabs do not have to be filled out, again.
However, the 7UHQG'LVSOD\ property is an exception to this.
The trend color, as well as the archive tag to be displayed, must be changed
correspondingly.
Apply the settings made by clicking on 2. and save the changes made in the 7DJ
/RJJLQJ editor via )LOH→6DYH.
1RWH
In the example project, the password protected online configuration, configured in step 3,
can be accessed via the login name FRQWUROOHU and the password 7DJ/RJJLQJ. A new user
logging in is only recognized by 7DJ/RJJLQJ after a new picture has been selected. The
procedures for setting up a new user and new authorization levels are explained in the
corresponding chapters of the manual 6KXWGRZQ:LQ&&DFFHVVSURWHFWLRQ.
The "Login" dialog box is opened via the [Ctrl+O] key combination. This key combination
can be set in the +RW.H\V tab of the project’s properties dialog box.
4-12
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
Creation of a new picture, in the example, this is the H[BBFKDSWHUB3'/.
In this picture, a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ is configured. In the
example, the $SSOLFDWLRQ:LQGRZ object is used. After placing the object in the
picture, the :LQGRZ&RQWHQWV dialog box is displayed. Select the 7DJ/RJJLQJ
entry. Close the dialog box by clicking on 2..
In the following 7HPSODWH dialog box, select =.B3$B7UHQGWHPSODWHB trend
window template. Close the dialog box by clicking on 2..
In the Graphics Designer, the configured $SSOLFDWLRQ:LQGRZ will be displayed
as a gray rectangle. The rectangle will be labeled with the name of the selected
trend window template.
2
In the example, a 6PDUW2EMHFW→6WDWXV'LVSOD\ is placed below the $SSOLFDWLRQ
:LQGRZ. It is the 6WDWXV'LVSOD\ object.
It displays a picture of an inactive ruler window. A status display is used because
the displayed picture has to be switched dependent on the set runtime language.
The position of the 6WDWXV'LVSOD\ has been selected in such a way that it will be
covered up by the ruler window, if the ruler button
is pressed in runtime.
This creates the impression the displayed output fields of the 6WDWXV'LVSOD\ are
WinCC Configuration Manual
C79000-G8276-C140-01
4-13
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
supplied with values.
3
To be able to use 7DJ/RJJLQJ during runtime, 7DJ/RJJLQJ5XQWLPH must be
enabled first. To do so, check "Tag Logging Runtime" in the "Startup" tab of the
&RPSXWHU3URSHUWLHV dialog box.
If this is not the case, select the "Computer" entry in the &RQWURO&HQWHU via a
and open the &RPSXWHU3URSHUWLHV6WDUWXS7DE by clicking on the
8
button
button to open the
from the dialog’s toolbar. Click on the
dialog box. In the 6WDUWXS tab, select the 7DJ/RJJLQJ
5XQWLPH check-box.
&RPSXWHU3URSHUWLHV
1RWH
In runtime, the ruler window will be displayed just below the configured DSSOLFDWLRQ
ZLQGRZ. The lower left corner of the DSSOLFDWLRQZLQGRZ will correspond to the upper left
corner of the ruler window. The width of these two windows is identical.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The tags to be archived have to be adapted to your requirements.
• The fast archiving cycle selected in the example only makes sense, if fast changing
values are to be displayed. In normal cases, slower cycles are sufficient. Fast archiving
cycles cause high system loads.
• Adapt the elements of the toolbar to your own needs. This depends on the extent of
influence the user is going to have on the trend display and how much information from
the archive is needed.
4-14
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
&\FOLF6HOHFWLYH$UFKLYLQJH[BBFKDSWHUBD3'/
7DVN'HILQLWLRQ
Multiple process values are to be stored continuously in an archive. In runtime, the
archiving is started and stopped via a button.
The values are to be graphically displayed in a trend window. The toolbar and status bar is
configured in the *UDSKLFV'HVLJQHU using your own objects. One diagram is to be
displayed for each process value.
WinCC Configuration Manual
C79000-G8276-C140-01
4-15
6DPSOH3URMHFWH[DPSOHB
,PSOHPHQWDWLRQ&RQFHSW
To archive the data to be displayed, a cyclic-selective process value archive is created in the
7DJ/RJJLQJ editor.
To realize a graphical display, an DSSOLFDWLRQZLQGRZ for displaying a trend window is
used. This is created in the 7DJ/RJJLQJ editor. The required toolbar is made up of multiple
:LQGRZV2EMHFWV→%XWWRQ, 6PDUW2EMHFWV→6WDWXV'LVSOD\V and 6PDUW2EMHFWV→
*UDSKLF2EMHFWV, the status bar is realized with two :LQGRZV2EMHFWV→%XWWRQ.
To control the archive, a project function is needed that starts and stops the archiving
process.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
1
Open the 7DJ/RJJLQJ editor from the &RQWURO&HQWHU.
Create a new 3URFHVV9DOXH$UFKLYH with the archive wizard. In the example, the
archive was named =6B3URFHVV9DOXH$UFKLYHB.
For the archiving, the tags *BH[BWOJB,*BH[BWOJB and *BH[BWOJB
are selected.
2
In the properties dialog box of the process value archive, set the size of the
archive to data records. Accept the presettings for the remaining settings.
3
In the properties dialog box of the process tag, select F\FOLFVHOHFWLYH as $UFKLYLQJ
7\SH for each of the three tags. This gives you the option of setting a 6WDUW(YHQW,
as well as a 6WRS(YHQW, in the (YHQWV tab. In the example, the project function
=6B3$B6WDUW is set as the 6WDUW(YHQW.
In the &\FOH field, enter PV as the $FTXLVLWLRQ cycle and PV as the
$UFKLYLQJ cycle. Accept the presettings for the remaining settings.
Project Function ZS_PA_Start
BOOL ZS_PA_Start()
{
if (GetTagBit("BINi_ex_tlg_00"))
return TRUE;
else
return FALSE;
}
• The function supplies the value TRUE or FALSE depending on the status of the internal
tag %,1LBH[BWOJB.
• This function is called by 7DJ/RJJLQJ for every archiving cycle. It determines, via the
return value, if archiving takes place or not (TRUE = archive).
4-16
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
7UHQG'LVSOD\&RQILJXUDWLRQ
6WHS
1
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
Creating a new trend window template. The 3URSHUWLHV7UHQG:LQGRZ7HPSODWH
dialog box will be displayed.
2
3
button opens the 3URSHUWLHVRIWKH7HPSODWH dialog box.
The
As the template name, the example uses =6B3$B7UHQGWHPSODWHB. No WLWOHEDU,
VWDWXVEDU or WRROEDU is required.
As the &RORU, the example uses the background color of the picture (RGB Value
231/207/199). Accept the presettings for the remaining settings.
No inputs need to be made in the 2SHUDWRU$XWKRUL]DWLRQ field.
4
button allows you to add two additional trends. The trends will then be
The
displayed in the &KRRVH2EMHFW window.
Select the first trend.
In the *HQHUDO,QIRUPDWLRQ tab, 7UHQG is displayed as the 1DPHRIWKH7UHQG. In
the 'LVSOD\ field, select the 'LVSOD\7UHQG and 'LVSOD\7UHQGV6WDJJHUHG checkboxes. This determines that a separate graph is drawn for each trend. The
presettings can be accepted for the remaining settings.
In the 7DJ tab, the *BH[BWOJB archive tag from the
=6B3URFHVV9DOXH$UFKLYHB archive is selected.
The presettings can be accepted in the ;$[LV tab.
In the <$[LV tab, use the trend name as the /DEHO. In the 6HOHFWLRQ field, select the
$XWRUDQJH check-box. Enter as the 6WDUW and as the (QG value. As the
7UHQG'LVSOD\, select 6KRZRQO\GRWV. This type of display facilitates the
recognition of time periods where no archiving took place.
Accept the presettings of the &RORU/LPLW9DOXHV tab.
5
Follow these steps for the two other trends (steps 5 - 8). The archive tag to be
displayed must be changed correspondingly, as well as the names and labels of
the trends.
Click on 2. to apply all the settings made. Save the changes made in the 7DJ
/RJJLQJ editor via )LOH→6DYH.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
1
2
3
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
In Tag Management, two internal tags of the %LQDU\7DJ type are created. In the
example, the %,1LBH[BWOJB and %,1LBH[BWOJB tags are used.
Creation of a new picture, in the example, this is the H[BBFKDSWHUBD3'/.
In this picture, a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ is configured. Select 7DJ
/RJJLQJ as the window content and the =6B3$B7UHQGWHPSODWHB trend window
template as the 7HPSODWH.
To control the update, a 6PDUW2EMHFW→6WDWXV'LVSOD\ is configured. In the
example, this is the 6WDWXV'LVSOD\ object.
Via the 6WDWXV'LVSOD\&RQILJXUDWLRQ dialog box, this object is connected to the
%,1LBH[BWOJB tag and triggered upon change. The states and are created and
assigned to the corresponding pictures. In the example, the bitmaps VWRSWOJEPS
WinCC Configuration Manual
C79000-G8276-C140-01
4-17
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
and VWRSJRWOJEPS are used.
A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which simulates the
button from the standard toolbar and toggles the status of the
tag.
The status of this tag should always be zero at the opening of the picture, since
the update of the trend window is always initiated at the selection of the picture.
This is realized by a 'LUHFW&RQQHFWLRQ at (YHQWV→0LVFHOODQHRXV→2SHQ
3LFWXUH of the H[BBFKDSWHUBD3'/ picture object, which sets the status of the
tag to .
pressing of the
%,1LBH[BWOJB
4
Configure a second 6PDUW2EMHFW→6WDWXV'LVSOD\ following the procedure
described in step 3. In the example, this is the 6WDWXV'LVSOD\ object. It will
control the archiving process.
The object is connected to the %,1LBH[BWOJB tag and uses the $UFKLYHEPS /
$UFKLYHLQYEPS bitmaps.
A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which toggles the
%,1LBH[BWOJB tag queried by the =6B3$B6WDUW project function.
5
To be able to navigate in the archive while the update is stopped, replicas of the
four navigation buttons of the standard toolbar are required.
To implement this, four :LQGRZV2EMHFW→%XWWRQV are configured. In the
example, these are the %XWWRQ, %XWWRQ, %XWWRQ and %XWWRQ objects.
&$FWLRQV are created at (YHQWV→0RXVH→0RXVH$FWLRQ, which simulate the
activation of the standard buttons.
Additionally, a 6PDUW2EMHFW→*UDSKLF2EMHFW is required that disables the
buttons in case of an active update. In the example, this is the *UDSKLF2EMHFW
object. The bitmap displayed by the object shows the four buttons in an
inoperational state (3IHLOHGLVEPS). Create a '\QDPLF'LDORJ at 3URSHUWLHV→
4-18
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
→'LVSOD\, which controls the visibility of the buttons depending
on the status of the %,1LBH[BWOJB tag (this tag contains information about the
update).
0LVFHOODQHRXV
6
To display the status bar, two :LQGRZV2EMHFWV→%XWWRQV are configured. In the
example, these are the %XWWRQ and %XWWRQ objects.
%XWWRQV are used for the text display because it is easy to add 3D borders (no
additional objects are required for generating the button border).
Create a '\QDPLF'LDORJ at the %XWWRQ object at 3URSHUWLHV→)RQW→7H[W,
which returns to the property, depending on the %,1LBH[BWOJB tag, either the
text $UFKLYLQJ6WDUWHG or $UFKLYLQJ6WRSSHG.
Perform the same steps for %XWWRQ using the %,1LBH[BWOJB tag.
1RWH
The implementation of the buttons for time selection and print preview are explained in
greater detail in the 5HSRUW'HVLJQHU chapter, example 3ULQW2XWWKH7UHQG:LQGRZ
LQ5XQWLPHH[BBFKDSWHUBD3'/.
C-Action for Status Display5
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
TlgTrendWindowPressStartStopButton("ZS_PA_Trendtemplate_00");
SetTagBit("BINi_ex_tlg_06",(SHORT)!GetTagBit("BINi_ex_tlg_06"));
}
• Calling the standard function 7OJ7UHQG:LQGRZ3UHVV6WDUW6WRS%XWWRQ has the same effect
as clicking on the 6WRS*R%XWWRQ of the standard toolbar. The transfer parameter
indicates the name of the template to which the function call is referring to.
• Toggles the %,1LBH[BWOJB tag to save the current status of the template.
WinCC Configuration Manual
C79000-G8276-C140-01
4-19
6DPSOH3URMHFWH[DPSOHB
C-Action at Button4
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
TlgTrendWindowPressFirstButton("ZS_PA_Trendtemplate_00");
}
• Calling this standard function has the same effect as clicking on the )LUVW'DWD5HFRUG
button of the standard toolbar. The functions used at the other buttons are:
•
7OJ7UHQG:LQGRZ3UHVV3UHY%XWWRQ
•
7OJ7UHQG:LQGRZ3UHVV1H[W%XWWRQ
•
7OJ7UHQG:LQGRZ3UHVV/DVW%XWWRQ
1RWH
For each button of the standard toolbar there exists a corresponding standard function,
which simulates the activation of that button. A detailed description of all functions can be
found in the manual of the *OREDO6FULSW editor.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The tags to be archived have to be adapted to your requirements.
• The fast archiving cycle selected in the example only makes sense, if fast changing
values are to be displayed. In normal cases, slower cycles are sufficient. Fast archiving
cycles cause high system loads.
• The archiving start, as well as the archiving end, can be made dependent on special
events, which can be something other than the activation of a button.
• The appearance and required elements of the toolbar should be tailored to meet your
needs. The same applies for the status bar.
• The trend display type selected enhances the visibility of time ranges, during which no
archiving took place. In any other display type, all dots are shown connected to each
other; even ranges where no archiving took place are bridged by a line.
4-20
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
$UFKLYLQJLI9DOXHLV([FHHGHGH[BBFKDSWHUBE3'/
7DVN'HILQLWLRQ
A process value is to be stored once in the archive at the time of exceeding a set limit value.
The stored values are to be displayed in a table. The progress of the process value is to be
displayed as a trend.
The table content should only be displayed if the user has the appropriate authorization
level. The option of entering values directly into the table should also be authorization
protected. The "System Login" dialog box should be accessible by a button. The example
uses FRQWUROOHU and XVHU as the user names, and WDJORJJLQJ as the password.
The toolbar and status must first be created in the *UDSKLFV'HVLJQHU. The status bar should
contain the name of the currently logged in user.
,PSOHPHQWDWLRQ&RQFHSW
To archive the displayed data, create an acyclic process value archive in the 7DJ/RJJLQJ
editor.
To implement the graphical display, two DSSOLFDWLRQZLQGRZV are used. One displays the
trend and the other the table window. The WUHQGZLQGRZWHPSODWH and the WDEOHZLQGRZ
WHPSODWH to be displayed are created in the 7DJ/RJJLQJ editor.
The required toolbar is made up of multiple :LQGRZV2EMHFWV→%XWWRQ, 6PDUW2EMHFWV→
6WDWXV'LVSOD\V and 6PDUW2EMHFWV→*UDSKLF2EMHFWV, the status bar is realized using two
:LQGRZV2EMHFWV→%XWWRQ.
To control the archive, a project function is created. This function triggers the archiving if
the process value exceeds a set limit value.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
1
Create a new 3URFHVV9DOXH$UFKLYH with the archive wizard. In the example, the
archive was named $=B3URFHVV9DOXH$UFKLYHB.
The tag to be archived was *LBH[BWOJB. In the example project, this tag is
supplied with the sum of the three sinus wave profiles by the simulator.
2
In the properties dialog box of the process value archive, set the size of the
archive to data records. As DXWKRUL]DWLRQOHYHO for read and write access, set
two levels which must first be created in the 8VHU$GPLQLVWUDWRU editor.
Accept the presettings for the remaining settings.
3
In the properties dialog box of the process tag, select DF\FOLF as the $UFKLYLQJ
7\SH. This gives you the option of setting a 6WDUW(YHQW in the (YHQWV tab. In the
example, the project function $UFKLYH&RQWURO is set as the 6WDUW(YHQW.
Accept the presettings for the remaining settings.
WinCC Configuration Manual
C79000-G8276-C140-01
4-21
6DPSOH3URMHFWH[DPSOHB
"ArchiveControl" Project Function
BOOL ArchiveControl()
{
#define TAG_LIMIT 55
static BOOL state = FALSE;
static BOOL overflow = FALSE;
double value;
value = GetTagDouble("G64i_ex_tlg_04");
if (value<=TAG_LIMIT) overflow=FALSE;
if ((value>TAG_LIMIT)&&(overflow==FALSE))
{
state=!state;
overflow=TRUE;
}
return state;
}
• The tag to be archived is read. In an LI structure, the value overflow flag RYHUIORZ is
reset, if the tag value is below the limit value.
• If the value is exceeded and the previous function call did not detect a value overflow,
the status of the return value will be negated and the value overflow flag RYHUIORZ be
set.
• This function is automatically invoked by 7DJ/RJJLQJ. Archiving is performed if WKH
UHWXUQYDOXHVWDWXVRIWKHIXQFWLRQGLIIHUVIURPWKHSUHYLRXVFDOO (on the other hand,
in a cyclic-selective archive, the archiving is started if the return value is TRUE).
7DEOH'LVSOD\&RQILJXUDWLRQ
6WHS
8
3URFHGXUH7DEOH'LVSOD\&RQILJXUDWLRQ
1
Create a new table window template by
5 on the corresponding entry in the
navigation window of the 7DJ/RJJLQJ editor.
2
The 3URSHUWLHV7DEOH:LQGRZ7HPSODWH dialog box will be displayed. The
button opens the 3URSHUWLHVRIWKH7HPSODWH dialog box.
As the template name, the example uses $=B3$B7DEOHWHPSODWH. No WLWOHEDU,
VWDWXVEDU or WRROEDU is required.
As the &RORU, the example uses the background color of the picture (RGB Value
231/207/199). Accept the presettings for the remaining settings.
4-22
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7DEOH'LVSOD\&RQILJXUDWLRQ
3
4
No inputs need to be made in the 2SHUDWRU$XWKRUL]DWLRQ field.
5
In the 7DJ tab, the *LBH[BWOJB archive tag from the
$=B3URFHVV9DOXH$UFKLYHB archive is selected.
6
Click on 2. to apply all the settings made.
In the *HQHUDO,QIRUPDWLRQ tab, &ROXPQ is displayed as the &ROXPQ+HDGLQJ. In
the 'LVSOD\ field, select the &ROXPQFDQEHHGLWHG and 6KDUHFROXPQ checkboxes. The presettings can be accepted for the remaining settings.
WinCC Configuration Manual
C79000-G8276-C140-01
4-23
6DPSOH3URMHFWH[DPSOHB
7UHQG'LVSOD\&RQILJXUDWLRQ
6WHS
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
1
For the *LBH[BWOJB tag, create a cyclic-continuous process value archive
with 120 data records and an archiving cycle of 500 ms.
In the example, this is the =6B3URFHVV9DOXH$UFKLYHB archive.
2
Creating a new trend window template. The 3URSHUWLHV7UHQG:LQGRZ7HPSODWH
dialog box will be displayed.
3
4
5
4-24
button opens the 3URSHUWLHVRIWKH7HPSODWH dialog box.
The
As the template name, the example uses =.B3$B7UHQGWHPSODWHB. No WLWOHEDU,
VWDWXVEDU or WRROEDU is required.
As the &RORU, the example uses the background color of the picture (RGB Value
231/207/199). Accept the presettings for the remaining settings.
No inputs need to be made in the 2SHUDWRU$XWKRUL]DWLRQ field.
In the *HQHUDO,QIRUPDWLRQ tab, 7UHQG is displayed as the 1DPHRIWKH7UHQG. In
the 'LVSOD\ field, select the 'LVSOD\WUHQG check-box. Choose blue as the color of
the trend.
In the 7DJ tab, the *LBH[BWOJB archive tag from the
=.B3URFHVV9DOXH$UFKLYHB archive is selected.
The presettings can be accepted in the ;$[LV tab.
In the 6HOHFWLRQ field of the <$[LV tab, deselect the $XWRUDQJH check-box. Enter as the 6WDUW and as the (QG value. As the 7UHQG'LVSOD\, select )LOODUHD
LQWHUSRODWHGWUHQG. This display type allows you to better emphasize areas, where
value overflows have occurred. Accept the presettings for the remaining settings.
In the &RORU/LPLW9DOXHV tab, set as the upper limit value. Select the color red.
This will display in red all parts of the trend which have exceeded the value of
55. Accept the presettings for the remaining settings.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
6
3URFHGXUH7UHQG'LVSOD\&RQILJXUDWLRQ
Click on 2. to apply all the settings made. Save the changes made in the 7DJ
/RJJLQJ editor via )LOH→6DYH.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
1
2
3
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
In Tag Management, two internal tags of the %LQDU\7DJ type are created. In the
example, the %,1LBH[BWOJB and %,1LBH[BWOJB tags are used. Additionally, the
#&XUUHQW8VHU tag of the type 7H[W7DJ%LW&KDUDFWHU6HW, with a length of characters, is required. This tag is automatically supplied with the current user
name by the system.
Creation of a new picture, in the example, this is the H[BBFKDSWHUBE3'/.
In this picture, a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ is configured. In the
example, this is the $SSOLFDWLRQ:LQGRZ object. Select 7DJ/RJJLQJ as the
window content and the $=B3$B7DEOHWHPSODWH as the 7HPSODWH.
To control the update, a 6PDUW2EMHFW→6WDWXV'LVSOD\ is configured. In the
example, this is the 6WDWXV'LVSOD\ object.
Via the &RQILJXUDWLRQ'LDORJ%R[, this object is connected to the %,1LBH[BWOJB
tag and triggered upon change. The states and are created and assigned to the
corresponding pictures. In the example, the bitmaps VWRSWOJEPS and VWRSJR
WOJEPS are used.
A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which simulates the
button from the standard toolbar and toggles the status of the
tag.
The status of this tag should always be zero at the opening of the picture, since
pressing of the
%,1LBH[BWOJB
WinCC Configuration Manual
C79000-G8276-C140-01
4-25
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
the update of the table window is always initiated at the selection of the picture.
This is realized by a &$FWLRQ at (YHQWV→0LVFHOODQHRXV→2SHQ3LFWXUH of the
H[BBFKDSWHUBE3'/ picture object, which sets the status of the tag to .
4
Configure a second 6PDUW2EMHFW→6WDWXV'LVSOD\ following the procedure
described in step 3. In the example, this is the 6WDWXV'LVSOD\ object. This object
controls the editability of the table.
The object is connected to the %,1LBH[BWOJB tag and uses the (GLWEPS / (GLW
LQYEPS bitmaps.
A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which simulates the
edit button from the standard toolbar and toggles the status of
pressing of the
the %,1LBH[BWOJB tag.
Via 3URSHUWLHV→0LVFHOODQHRXV→3DVVZRUG, set the same authorization level
for the %XWWRQ as for the archive’s write access. In the example, this is the (GLW
7DEOH authorization level.
The status of the %,1LBH[BWOJB tag should always be zero at the opening of the
picture, since the editability of the table windows is always turned off at the
selection of the picture. This is realized by expanding the &$FWLRQ at (YHQWV→
0LVFHOODQHRXV→2SHQ3LFWXUH of the H[BBFKDSWHUBE3'/ picture object.
Add a statement that sets the status of the tag to .
5
To be able to navigate in the archive while the update is stopped and the
editability is active, replicas of the four navigation buttons of the standard toolbar
are required.
To implement this, four :LQGRZV2EMHFW→%XWWRQV are configured. In the
example, these are the %XWWRQ, %XWWRQ, %XWWRQ and %XWWRQ objects.
&$FWLRQV are created at (YHQWV→0RXVH→0RXVH$FWLRQ, which simulate the
activation of the standard buttons.
Additionally, a 6PDUW2EMHFW→*UDSKLF2EMHFW is required that disables the
buttons in case of an active update and active editability. In the example, this is
the *UDSKLF2EMHFW object. The bitmap displayed by the object shows the four
buttons in an inoperational state (3IHLOHGLVEPS). Create a '\QDPLF'LDORJ at
3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\, which controls the visibility of the
buttons depending on the states of the %,1LBH[BWOJB and %,1LBH[BWOJB tags.
6
An additional 6PDUW2EMHFW→*UDSKLF2EMHFW is needed that disables the button
for controlling the update while editability is active. In the example, this is the
*UDSKLF2EMHFW object. Create a '\QDPLF'LDORJ at 3URSHUWLHV→
0LVFHOODQHRXV→'LVSOD\, which makes the object visible if the %,1LBH[BWOJB
tag receives the status 758(.
In the example, the picture to be displayed is the VWRSGLVWOJEPS. The object
must be positioned exactly on top of the 6WDWXV'LVSOD\ object.
7
Configure two additional :LQGRZV2EMHFWV→%XWWRQV that take on the function
and the 6HOHFW7LPH5DQJH
of the buttons for opening the parameter
dialog boxes. In the example, these are the %XWWRQ and %XWWRQ objects.
8
4-26
Configure an additional :LQGRZV2EMHFW→%XWWRQ. In the example, this is the
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
object. This button accesses the 6\VWHP/RJLQ dialog box. To do so,
create a &$FWLRQ at (YHQWV→0RXVH→3UHVV/HIW, which calls the required API
function.
%XWWRQ
9
To display the status bar, two :LQGRZV2EMHFWV→%XWWRQV are configured. In the
example, these are the %XWWRQ and %XWWRQ objects.
Create a '\QDPLF'LDORJ at the %XWWRQ object at 3URSHUWLHV→)RQW→7H[W,
which returns to the property, depending on the %,1LBH[BWOJB tag, either the
text 8SGDWH6WDUWHG or 8SGDWH6WRSSHG.
At %XWWRQ at 3URSHUWLHV→)RQW→7H[W, configure a WDJFRQQHFWLRQ to the
#&XUUHQW8VHU tag and set the trigger to "upon change". Clicking on this button
displays the name of the current user.
10
Configure an additional 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ . In the example,
this is the $SSOLFDWLRQ:LQGRZ object. Select 7DJ/RJJLQJ as the window
content and the =.B3$B7UHQGWHPSODWHBas the 7HPSODWH.
1RWH
The usage and changing of data is password protected. In the example project, access to the
archive data is gained via the login name XVHU and the password WDJORJJLQJ. Via the login
name FRQWUROOHU and the password WDJORJJLQJ, changes to the data can also be made.
The procedures for setting up a new user and new authorization levels are explained in the
corresponding chapters of the configuration manual.
C-Action for Status Display2
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
TlgTableWindowPressEditRecordButton("AZ_PA_Tabletemplate");
SetTagBit("BINi_ex_tlg_07",(SHORT)!GetTagBit("BINi_ex_tlg_07"));
}
• Calling the standard function 7OJ7UHQG:LQGRZ3UHVV(GLW%XWWRQ has the same effect as
clicking on the (GLW%XWWRQ of the standard toolbar. The transfer parameter indicates the
name of the template to which the function call is referring to.
• Toggles the %,1LBH[BWOJB tag to save the current status of the edit function.
WinCC Configuration Manual
C79000-G8276-C140-01
4-27
6DPSOH3URMHFWH[DPSOHB
C-Action at Button4
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
TlgTableWindowPressFirstButton("AZ_PA_Tabletemplate");
}
• Calling this standard function has the same effect as clicking on the )LUVW'DWD5HFRUG
button of the standard toolbar. The functions used at the other buttons are:
•
7OJ7UHQG:LQGRZ3UHVV3UHY%XWWRQ
•
7OJ7UHQG:LQGRZ3UHVV1H[W%XWWRQ
•
7OJ7UHQG:LQGRZ3UHVV/DVW%XWWRQ
•
7OJ7DEOH:LQGRZ3UHVV2SHQ'OJ%XWWRQ
•
7OJ7DEOH:LQGRZ3UHVV2SHQ7LPH6HOHFW'OJ%XWWRQ
•
7OJ7DEOH:LQGRZ3UHVV6WDUW6WRS%XWWRQ
C-Action at Button5
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#pragma code ("useadmin.dll")
BOOL PWRTLogin(TCHAR);
#pragma code ()
PWRTLogin(1);
}
• Integration of the DLL which contains the API function 3:57/RJLQ.
• Call of the API function for opening the 6\VWHP/RJLQ dialog box.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The tags to be archived have to be adapted to your requirements.
• The event, on which the archiving is depending on, must be defined. A corresponding
project function has to be created.
• The appearance and required elements of the toolbar should be tailored to meet your
needs. The same applies for the status bar.
4-28
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
8VHUGHILQHGWDEOHOD\RXWH[BBFKDSWHUBF3'/
7DVN'HILQLWLRQ
A process value is to be acquired cyclically and its mean, maximum and minimum values
are to be generated every 10 seconds. These values are to be stored in the configured
archive.
The stored values are to be displayed in a table. This table is created in the *UDSKLFV
'HVLJQHU editor. A table has to be created in the Graphics Designer if the standard tools of
7DJ/RJJLQJ are insufficient to realize a table layout.
,PSOHPHQWDWLRQ&RQFHSW
To archive the data, create a cyclic-continuous process value archive in the 7DJ/RJJLQJ
editor.
To implement the graphical display, each line of the table uses, depending on the type of
data to be displayed, either a 6WDQGDUG2EMHFW→6WDWLF7H[W or a 6PDUW2EMHFW→,2)LHOG
.
The data is read from the database table of the appropriate archive via API functions.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
1
In Tag Management, create three tags of the type )ORDWLQJ3RLQW1XPEHU%LW
,(((. In the example, these are the *LBH[BWOJB, *LBH[BWOJB and
*LBH[BWOJB tags. The archived values are to be written into these tags (in
addition).
2
Create a new 3URFHVV9DOXH$UFKLYH with the archive wizard. In the example, the
archive was named =.B3URFHVV9DOXH$UFKLYHB.
As the archiving tag, the *LBH[BWOJB tag was selected three times.
3
In the properties dialog box of the process value archive, set the size of the
archive to data records. Accept the presettings for the remaining settings.
4
In the *HQHUDO,QIRUPDWLRQ tab of the first process tag’s properties dialog box,
enter 0D[LPXP9DOXH as the 1DPHRIWKH$UFKLYH7DJ. In the $OVRSXWDUFKLYHG
YDOXHLQWDJ field, select the *LBH[BWOJB tag. This tag allows you to react to
the archiving of a value with a &$FWLRQ. This is accomplished, if the &$FWLRQ is
triggered upon the change of this tag.
In the &\FOH field of the 3DUDPHWHUV tab, set the $FTXLVLWLRQ to PV and the
$UFKLYLQJ to PV. In the 3URFHVVLQJ field, select the 0D[LPXP9DOXH
check-box. This causes the selected tag to be acquired every 500ms and be
archived every 10s. The largest value is archived that occurred during the 10s
period.
WinCC Configuration Manual
C79000-G8276-C140-01
4-29
6DPSOH3URMHFWH[DPSOHB
6WHS
5
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
The presettings can be accepted for the remaining settings.
Carry out step 3 to 4 for the two other archive tags.
However, for 3URFHVVLQJ select 0LQLPXP9DOXH and 0HDQ9DOXH. The 1DPHRI
WKH$UFKLYH7DJ should reflect this selection.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
In Tag Management, two internal tags of the %LQDU\7DJ type are created. In the
example, these are the %,1LBH[BWOJB and )/$*B7DEOH*HW2XWSXW9DOXH tags.
2
Create a project function which instructs 7DJ/RJJLQJ to transfer data from the
archive to another function (callback function). This function is called once for
each data record and receives information about that data record in the form of a
special structure type. The transferred data is stored in a static array of this
structure type.
In the example, the (QXPHUDWH6XSHU$UFKLYH'DWD and *HW$UFKLYH'DWD&DOOEDFN
functions are used.
This example uses two external C tags.
• extern int dwSize
• extern WORD wOffset
These tags must be set up while the project is started. To do so, a separate project
function is used. The call of this function is integrated into the &$FWLRQ at (YHQWV
→0LVFHOODQHRXV→2SHQ3LFWXUH of the H[BBVWDUWSLFWXUHB3'/ start picture.
In the example, this function is named &UHDWH([WHUQDO.
3
4-30
Creation of a new picture, in the example, this is the H[BBFKDSWHUBE3'/.
The user defined table should be able to display 10 lines. To display data in the
first column, 10 (one for each line) 6WDQGDUG2EMHFWV→6WDWLF7H[WV are used,
which display the time and date. For the additional columns, 6PDUW2EMHFWV→
,2)LHOGV are used.
As object names in the first column, use 6WDWLF7H[W to 6WDWLF7H[W, where the
number defines the line. The numbering is from bottom to top, since the last line
contains the most current data.
The ,2)LHOGV use code numbers as their name. The first digit indicates the
column number, the following digit the line number.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
4
Create a &$FWLRQ for each 6WDWLF7H[W at 3URSHUWLHV→)RQW→7H[W. This action
reads, with respect to its own object number, the date to be displayed from the
callback function. This function is triggered upon the change of the
)/$*B7DEOH*HW2XWSXW9DOXH tag. The status of this tag will be changed, if the
archive has received new data and this data has been read.
Corresponding to that, create a &$FWLRQ for each ,2)LHOG at 3URSHUWLHV→
2XWSXW,QSXW→2XWSXW9DOXH. This function also has the task to read the data
record, assigned to their object, from the callback function.
5
To control the update, a 6PDUW2EMHFW→6WDWXV'LVSOD\ is configured. In the
example, this is the 6WDWXV'LVSOD\ object.
Via the &RQILJXUDWLRQ dialog box, this object is connected to the %,1LBH[BWOJB
tag and triggered upon change. The states and are created and assigned to the
corresponding pictures. In the example, the bitmaps VWRSWOJEPS and VWRSJR
WOJEPS are used.
Create a &$FWLRQ at (YHQWV→0RXVH→3UHVV/HIW, which toggles the status of
the %,1LBH[BWOJB. The status 758( means that the update has been started.
The status of this tag should be 758( at the opening of the picture, since the
update of the table window is always initiated at the selection of the picture. This
is realized via a &$FWLRQ at (YHQWV→0LVFHOODQHRXV→2SHQ3LFWXUH of the
H[BBFKDSWHUBF3'/ picture object. This &$FWLRQ sets the status of the tag to
758( and reads the archive one time.
6
Create a &$FWLRQ for 6WDWXVGLVSOD\ at 3URSHUWLHV→*HRPHWU\→:LGWK. This
action will, depending on the status of the %,1LBH[BWOJB tag, read the archive
and toggle the )/$*B7DEOH*HW2XWSXW9DOXH tag to initiate the update of the table.
The &$FWLRQ is triggered upon the change of the *LBH[BWOJB tag, in which
this value will be stored (in addition) if a value is archived. It should also be able
to react to the next archiving, if the value archived is identical to the previous
one. To do so, the *LBH[BWOJB tag is set to a value, which can not be attained
WinCC Configuration Manual
C79000-G8276-C140-01
4-31
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
by the process value to be archived, after each pass of the &$FWLRQ.
7
To be able to navigate in the archive while the update is stopped, four navigation
buttons are required.
To implement this, four :LQGRZV2EMHFW→%XWWRQV are configured. In the
example, these are the %XWWRQ, %XWWRQ, %XWWRQ and %XWWRQ objects.
Create &$FWLRQV at (YHQWV→0RXVH→0RXVH$FWLRQ. These actions write a
new value to the external C tag GZ2IIVHW. Additionally, the trigger tag
)/$*B7DEOH*HW2XWSXW9DOXH is toggled to achieve an update of the display.
Also, a 6PDUW2EMHFW→*UDSKLF2EMHFW is required that disables the buttons in
case of an active update. In the example, this is realized via the *UDSKLF2EMHFW
object. The bitmap displayed by the object shows the four buttons in an
inoperational state (3IHLOHGLVEPS). At 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\,
create a WDJFRQQHFWLRQ to the %,1LBH[BWOJB tag and trigger it upon change.
Project Function for Reading the Archive
#include "apdefap.h"
BOOL EnumerateSuperArchiveData()
{
extern DWORD dwSize;
BOOL
fRet;
TLG_GETARCHIVEDATA GAD;
CMN_ERROR
Error;
LPTSTR lpszArchiveName = "ZK_ProcessValueArchive_02";
LPTSTR lpszVarName3 = "MaximumValue" ;
LPTSTR lpszVarName2 = "MinimumValue" ;
LPTSTR lpszVarName1 = "MeanValue" ;
SYSTEMTIME
sysFrom;
SYSTEMTIME
sysTo;
time_t Time;
struct tm*
TimeStruct;
time(&Time);
TimeStruct = localtime(&Time);
sysTo.wYear
sysTo.wMonth
sysTo.wDay
sysTo.wHour
sysTo.wMinute
sysTo.wSecond
=
=
=
=
=
=
sysFrom.wYear
sysFrom.wMonth
sysFrom.wDay
sysFrom.wHour
sysFrom.wMinute
sysFrom.wSecond
(WORD)(TimeStruct->tm_year+1900);
(WORD)(TimeStruct->tm_mon+1);
(WORD)(TimeStruct->tm_mday);
(WORD)(TimeStruct->tm_hour);
(WORD)(TimeStruct->tm_min);
(WORD)(TimeStruct->tm_sec);
=
=
=
=
=
=
1997;
1;
1;
0;
0;
0;
Call(&GAD,(PVOID)0);
if (TLGConnect( NULL , &Error )==FALSE) {
printf("Error: %s\r\n",Error.szErrorText);
4-32
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
return FALSE;
}
else {
fRet=TLGGetArchiveData(lpszArchiveName,lpszVarName1,
sysFrom,sysTo,GetArchiveDataCallback,
(PVOID)1,0,&Error);
if (fRet==FALSE)
printf("Error: %s\r\n",Error.szErrorText);
fRet=TLGGetArchiveData(lpszArchiveName,lpszVarName2,
sysFrom,sysTo,GetArchiveDataCallback,
(PVOID)2,0,&Error);
if (fRet==FALSE)
printf("Error: %s\r\n",Error.szErrorText);
fRet=TLGGetArchiveData(lpszArchiveName,lpszVarName3,
sysFrom,sysTo,GetArchiveDataCallback,
(PVOID)3,0,&Error);
if (fRet==FALSE)
printf("Error: %s\r\n",Error.szErrorText);
Call(&GAD,(PVOID)4);
dwSize=GAD.dwFlags;
TLGDisconnect( NULL );
return TRUE;
}
}
• Definition of the values for the start and end time, between which the data is to be read
from the archive. A fixed time is set for the start time and the current system time for
the end time.
• Initialization of the callback function via the help function &DOO. This function calls the
*HW$UFKLYH'DWD&DOOEDFN function, which sets a value of 0 for the OS8VHU parameter.
• Establishes the connection to 7DJ/RJJLQJ. If this fails, the function is aborted.
• Reading of the archived values of the of the 0D[9DOXH, 0LQ9DOXH and 0HDQ9DOXH
archive tags via the 7/**HW$UFKLYH'DWD function.
• Determines the number of values read. This is done via the help function &DOO, which
calls the *HW$UFKLYH'DWD&DOOEDFN function and sets a value of 4 for the OS8VHU
parameter.
• Abortion of the connection to 7DJ/RJJLQJ.
WinCC Configuration Manual
C79000-G8276-C140-01
4-33
6DPSOH3URMHFWH[DPSOHB
Callback Function
BOOL GetArchiveDataCallback (PTLG_GETARCHIVEDATA
lpUser)
{
lpGAD, PVOID
static int i1 = 0;
static int i2 = 0;
static int i3 = 0;
WORD wRecordNumber;
WORD wColumnNumber;
static TLG_GETARCHIVEDATA GAD1[100];
static TLG_GETARCHIVEDATA GAD2[100];
static TLG_GETARCHIVEDATA GAD3[100];
int User;
User=(int)lpUser;
if ((User==1)||(User==2)||(User==3))
{
switch(User)
{
case 1 : if (i1<=100) {GAD1[i1]=*lpGAD; i1++;} break;
case 2 : if (i2<=100) {GAD2[i2]=*lpGAD; i2++;} break;
case 3 : if (i3<=100) {GAD3[i3]=*lpGAD; i3++;} break;
}//switch
}//if ((User==1)||(User==2)||(User==3))
if (User==0)
{
i1=0;
i2=0;
i3=0;
memset(&GAD1[0],0,sizeof(TLG_GETARCHIVEDATA)*100);
memset(&GAD2[0],0,sizeof(TLG_GETARCHIVEDATA)*100);
memset(&GAD3[0],0,sizeof(TLG_GETARCHIVEDATA)*100);
}//if (User==0)
if (User==4)
{
lpGAD->dwFlags=i1;
}//if (User==4)
if (User==7)
{
wRecordNumber=lpGAD->stTime.wMonth;
wColumnNumber=lpGAD->stTime.wDay;
switch(wColumnNumber)
{
case 0 : lpGAD->stTime.wYear = GAD1[wRecordNumber].stTime.wYear;
lpGAD->stTime.wMonth = GAD1[wRecordNumber].stTime.wMonth;
lpGAD->stTime.wDay = GAD1[wRecordNumber].stTime.wDay;
4-34
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
lpGAD->stTime.wHour = GAD1[wRecordNumber].stTime.wHour;
lpGAD->stTime.wMinute =
GAD1[wRecordNumber].stTime.wMinute;
lpGAD->stTime.wSecond =
GAD1[wRecordNumber].stTime.wSecond;
break;
case 1 : lpGAD->doValue=GAD1[wRecordNumber].doValue;
break;
case 2 : lpGAD->doValue=GAD2[wRecordNumber].doValue;
break;
case 3 : lpGAD->doValue=GAD3[wRecordNumber].doValue;
break;
default : break;
}//switch
}//if (User==7)
return TRUE;
}
• Declaration of three static counter variables: i1, i2 and i3.
• Declaration of three static arrays consisting of structures of the type
TLG_GETARCHIVEDATA. The archive values are stored in these arrays.
• If the transfer parameter OS8VHU contains the value 1, 2 or 3, the function has been called
by Tag Logging. In this case, the transferred structure OS*$' will be stored in the
corresponding archive.
• If the transfer parameter OS8VHU contains the value 0, an initialization run has been
performed. The counter variables are then set to 0 and space is reserved for the arrays.
• If the transfer parameter OS8VHU contains the value 4, the number of stored values is
requested. This number is then stored in the transferred structure as the structure
member GZ)ODJV.
• If the transfer parameter OS8VHU contains the value 7, the stored tag value of an ,2)LHOG
or 6WDWLF7H[W object is requested. From which position of the table the tag is requested,
is determined by the transferred structure via the VW7LPHZ0RQWK and VW7LPHZ'D\
structure members.
WinCC Configuration Manual
C79000-G8276-C140-01
4-35
6DPSOH3URMHFWH[DPSOHB
C-Action at Static Texts
#include "apdefap.h"
char* _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
int nRecordNumber;
WORD wColumnNumber;
extern WORD wOffset;
char szObject[5];
TLG_GETARCHIVEDATA GAD;
PVOID lpUser7 = 7;
char szTime[20] = "";
int nObjectNumber;
extern DWORD dwSize;
wColumnNumber=0;
nObjectNumber=atoi(lpszObjectName+15);
nRecordNumber=(dwSize-nObjectNumber-wOffset);
if (nRecordNumber<0) return "";
GAD.stTime.wMonth=(WORD)nRecordNumber;
GAD.stTime.wDay=wColumnNumber;
GetArchiveDataCallback(&GAD,lpUser7);
sprintf(szTime,"%02d.%02d.%d
%02d:%02d:%02d",GAD.stTime.wDay,GAD.stTime.wMonth,GAD.stTime.wYear,G
AD.stTime.wHour,GAD.stTime.wMinute,GAD.stTime.wSecond);
return szTime;
}
• The VW7LPHZ0RQWK and VW7LPHZ'D\ structure members of the *$' structure to be
transferred are supplied with the column number or calculated data record number. The
object name contains information about the data record number.
• The *HW$UFKLYH'DWD&DOOEDFN function is called with a OS8VHU transfer parameter value
of 7, i.e. a value is requested.
• The date value of the transferred structure *$' is stored in the VW7LPH structure
member. From this, the text to be displayed is formed. The text is returned to the
property via UHWXUQ.
C-Action at the I/O Fields
#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
extern dwSize;
int nRecordNumber;
WORD wColumnNumber;
extern WORD wOffset;
char szObject[5];
TLG_GETARCHIVEDATA GAD;
4-36
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
PVOID lpUser = 7;
strcpy(szObject,"");
sprintf(szObject,"%c",lpszObjectName[0]);
wColumnNumber=(WORD)atoi(szObject);
nRecordNumber=(dwSize-atoi(lpszObjectName+1)-wOffset);
if (nRecordNumber<0) return 0;
GAD.stTime.wMonth=(WORD)nRecordNumber;
GAD.stTime.wDay=wColumnNumber;
GetArchiveDataCallback(&GAD,lpUser);
return GAD.doValue;
}
• The column and line numbers are determined from the object name. The VW7LPHZ0RQWK
and VW7LPHZ'D\ structure members of the *$' structure to be transferred are supplied
with the column number or calculated data record number.
• The *HW$UFKLYH'DWD&DOOEDFN function is called with a OS8VHU transfer parameter value
of 7, i.e. a value is requested.
• The tag value of the transferred structure *$' is stored in the GR9DOXH structure
member and is used as a return value.
1RWH
The toolbar contains the
button to set the parameters of the table. This button accesses
a dialog box that allows you to set the colors of the various table elements. A short
description on this topic can be found in the example 'LDORJ%R[HVIRU6HWWLQJ&RORUV
H[BBFKDSWHUBF.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The archive data to be displayed has to be adapted to your requirements.
• The table layout has to be adapted to your needs. If a different column or line number is
needed, the C-actions and project functions must also be adapted.
WinCC Configuration Manual
C79000-G8276-C140-01
4-37
6DPSOH3URMHFWH[DPSOHB
$UFKLYLQJRIELQDU\WDJVH[BBFKDSWHUBG3'/
7DVN'HILQLWLRQ
8
The switching operations of three motors are to be stored in an archive. If a motor is
selected via
, a table containing the switching operations for a time period of one day
will be displayed. Only one table can be shown at a time.
,PSOHPHQWDWLRQ&RQFHSW
To archive the data to be displayed, create a cyclic-continuous process value archive for
three binary tags in the 7DJ/RJJLQJ editor. Create a separate table window template for
each tag.
To realize the graphical display, a 6PDUW2EMHFW→3LFWXUH:LQGRZ is used, which displays
a different picture depending on the selected motor. Each of the pictures contains a 6PDUW
2EMHFW→$SSOLFDWLRQ:LQGRZ, which will display the table window template.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
4-38
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
1
Creation of four tags in "Tag Management". In the example, these are the
%,1LBH[BWOJBP,%,1LBH[BWOJBP and %,1LBH[BWOJBP tags of the %LQDU\7DJ
type, and the 8LBH[BWOJB tag of the 8QVLJQHG%LW9DOXH type.
2
Create a new 3URFHVV9DOXH$UFKLYH with the archive wizard. In the example, the
archive was named =.B3URFHVV9DOXH$UFKLYHB.
For the archiving, the %,1LBH[BWOJBP,%,1LBH[BWOJBP and %,1LBH[BWOJBP
tags are selected.
3
In the properties dialog box of the process value archive, set the size of the
archive to data records. Accept the presettings for the remaining settings.
4
In the properties dialog box of the first process tag’s 3DUDPHWHUV tab, select
RQHYHU\VLJQDOFKDQJH from the $UFKLYLQJ field. In the 1DPHRI6WDWHV field,
enter 0RWRU2II for 6WDWH and 0RWRU2Q for 6WDWH. In the &\FOH field, set the
$UFKLYLQJ to PV.
Accept the presettings for the remaining settings.
Perform the same steps for the other archive tags.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
7DEOH'LVSOD\&RQILJXUDWLRQ
6WHS
1
3URFHGXUH7DEOH'LVSOD\&RQILJXUDWLRQ
Creating a new table window template. The 3URSHUWLHV7DEOH:LQGRZ7HPSODWH
dialog box will be displayed. The
button opens the 3URSHUWLHVRIWKH
7HPSODWH dialog box.
As the template name, the example uses =.B3$B7DEOHWHPSODWHBD. A WLWOHEDU
and WRROEDU is required. Select the following elements for the WRROEDU via the
button:
• First Data Record
• Previous Data Record
• Next Data Record
• Last Data Record
• Select Time Range
2
3
• Start/Stop the Update
No inputs need to be made in the 2SHUDWRU$XWKRUL]DWLRQ field.
In the *HQHUDO,QIRUPDWLRQ tab, enter 6WDWH as the &ROXPQ+HDGLQJ. In the
'LVSOD\ field, select the 6KDUH&ROXPQ check-box. Also select the 7LPHUDQJH
check-box and set 'D\.
The presettings can be accepted for the remaining settings.
WinCC Configuration Manual
C79000-G8276-C140-01
4-39
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7DEOH'LVSOD\&RQILJXUDWLRQ
4
In the 7DJ tab, the *LBH[BWOJBP archive tag from the
=.B3URFHVV9DOXH$UFKLYHB archive is selected. Click on 2. to apply all the
settings made.
5
Table templates must also be created for the two other archive tags. Follow the
previous configuration steps. The only difference lies in the selection of the tags.
The example uses the names =.B3$B7DEOHWHPSODWHBE and
=.B3$B7DEOHWHPSODWHBF for the other templates.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
A separate picture must be created for each table template. In the example, these
are the H[BBDSSOLFDWLRQB, H[BBDSSOLFDWLRQB and H[BBDSSOLFDWLRQB
pictures.
Each of these pictures contains a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ. For each
of these objects, 7DJ/RJJLQJ is set as the :LQGRZ&RQWHQW and one of the
previously created table templates as the 7HPSODWH. The geometry of the pictures
is tuned to the geometry of the $SSOLFDWLRQ:LQGRZV.
2
Creation of a new picture, in the example, this is the H[BBFKDSWHUBG3'/
picture.
3
The motors to be displayed each consist of a 6WDQGDUG2EMHFW→&LUFOH, a
6WDQGDUG2EMHFW→3RO\JRQ and a 6WDQGDUG2EMHFW→6WDWLF7H[W. The
background color of the circle is changed via a '\QDPLF'LDORJ depending on the
status of the motor.
These three objects are grouped. In the example, these are the *URXS, *URXS
and *URXS objects. Each of these objects has a 'LUHFW&RQQHFWLRQ at (YHQWV→
0RXVH→0RXVH$FWLRQ, which writes the number of the motor to the
8LBH[BWOJB tag.
4
Two :LQGRZV2EMHFWV→%XWWRQV are assigned to each motor. These buttons
control the tags assigned to the motors via 'LUHFW&RQQHFWLRQV.
5
To be able highlight the currently selected motor, assign each motor a 6WDQGDUG
2EMHFW→5HFWDQJOH.
Select the dotted line via 3URSHUWLHV→6W\OHV→/LQH6W\OH and 7UDQVSDUHQW via
→6W\OHV→)LOO3DWWHUQ.
3URSHUWLHV
Use a '\QDPLF'LDORJ (for each rectangle) at 3URSHUWLHV→0LVFHOODQHRXV→
to make the 5HFWDQJOH only visible if the content of the 8LBH[BWOJB
tag agrees with its own object number.
'LVSOD\
6
4-40
Configure a 6PDUW2EMHFW→3LFWXUH:LQGRZ , in the example, the 3LFWXUH
:LQGRZ object is used.
Via 3URSHUWLHV→0LVFHOODQHRXV, set the 0RYDEOH, %RUGHU, 7LWOH and &DQ%H
&ORVHG properties to \HV.
Create a '\QDPLF'LDORJ at 3URSHUWLHV→0LVFHOODQHRXV→'LVSOD\, which
makes the 3LFWXUH:LQGRZ visible if the 8LBH[BWOJB tag has a value greater
than 0, i.e. a motor has been selected.
Create a '\QDPLF'LDORJ at 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH,
which, depending on the content of the 8LBH[BWOJB tag, displays the
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
corresponding picture in the 3LFWXUH:LQGRZ.
Create a &$FWLRQ at (YHQWV→3URSHUW\7RSLFV→0LVFHOODQHRXV→'LVSOD\,
which sets the 8LBH[BWOJB tag to 0 if the 3LFWXUH:LQGRZ is invisible. This
ensures that the selection frame around the current motor is also invisible.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The tags to be archived have to be adapted to your requirements.
• The graphical display of the objects has to be adapted to your requirements.
WinCC Configuration Manual
C79000-G8276-C140-01
4-41
6DPSOH3URMHFWH[DPSOHB
$UFKLYLQJDW6HW7LPHVH[BBFKDSWHUBH3'/
7DVN'HILQLWLRQ
A cyclic-continuous process value archive is to acquire process values in one second
cycles. Every full minute, the sum of the values is to be archived.
The archived values are to be displayed in table form, its toolbar and status bar are to be
realized using standard tools.
,PSOHPHQWDWLRQ&RQFHSW
To archive the displayed data, create a cyclic-continuous process value archive in the 7DJ
/RJJLQJ editor. To archive at every full minute, a new &\FOH7LPH needs to be set up. This
cycle time is started at a precisely defined time. The archiving is triggered by this cycle.
To display the data, a table template is created. This template is displayed in the *UDSKLFV
'HVLJQHU via a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ.
&UHDWLQJDQHZ&\FOH7LPH
6WHS
1
3URFHGXUH&UHDWLQJDQHZ&\FOH7LPH7LPHU
Create a new 7LPHU by
2
4-42
85
Open the 7DJ/RJJLQJ editor from the &RQWURO&HQWHU.
on this point in the navigation window.
The properties dialog box of the new 7LPHU will be displayed.
The example uses PLQ6WDUW as the QDPH of the 7LPHU. As the %DVH select 0LQXWH and as the )DFWRU choose . The )DFWRU also allows you to configure, for
example, cycles of 4 or 6 minutes. In the 6WDUWLQJ3RLQWRIWKH&\FOH field, select
the (QWHUWKH6WDUWLQJ3RLQWRIWKH&\FOH check-box. Enter into every timer
input field. This has the effect that the cycle will be triggered at the first full
minute after runtime has been activated. If an actual time would be entered, the
cycle would be triggered for the first time at the indicated time.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&UHDWLQJDQHZ&\FOH7LPH7LPHU
Close the properties dialog box by clicking on 2..
The window to the right will now display the newly created 7LPHU in addition to
the default timers.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
1
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
Create a new 3URFHVV9DOXH$UFKLYH with the archive wizard. In the example, the
archive was named =.B3URFHVV9DOXH$UFKLYHB.
For the archiving, the tags *BH[BWOJB, *BH[BWOJB and *BH[BWOJB
are selected. In the example project, these tags are supplied with values by the
simulator.
WinCC Configuration Manual
C79000-G8276-C140-01
4-43
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
In the properties dialog box of the process value archive, accept the presettings
displayed by the wizard.
2
In the properties dialog box of the first process tag’s 3DUDPHWHUV tab, select 6HFRQG as the $FTXLVLWLRQ cycle in the &\FOH field. As $UFKLYLQJ, set * PLQ
6WDUW. Select 6XP in the 3URFHVVLQJ field.
The presettings can be accepted for the remaining settings of the first tag.
For the remaining archive tags, carry out the same steps described above.
7DEOH'LVSOD\&RQILJXUDWLRQ
6WHS
1
3URFHGXUH7DEOH'LVSOD\&RQILJXUDWLRQ
Creating a new table window template. The 3URSHUWLHV7DEOH:LQGRZ7HPSODWH
dialog box will be displayed. The
button opens the 3URSHUWLHVRIWKH
7HPSODWH dialog box.
As the template name, the example uses =.B3$B7DEOHWHPSODWHB. A VWDWXVEDU
and WRROEDU is required. Select the desired elements for the WRROEDU via the
2
button.
No inputs need to be made in the 2SHUDWRU$XWKRUL]DWLRQ field.
3
The
4-44
button allows you to add two additional columns. The columns will
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7DEOH'LVSOD\&RQILJXUDWLRQ
then be displayed in the &KRRVH2EMHFW window. Select the first column.
In the *HQHUDO,QIRUPDWLRQ tab, enter *BH[BWOJB as the &ROXPQ+HDGLQJ. In
the 'LVSOD\ field, select the 6KDUH&ROXPQ check-box. Also select the 7LPHUDQJH
check-box and set +RXU.
The presettings can be accepted for the remaining settings.
4
In the 7DJ tab, the *BH[BWOJB archive tag from the
=.B3URFHVV9DOXH$UFKLYHB archive is selected. Click on 2. to apply all the
settings made.
5
Carry out step 3 to 4 for the second and third column. However, the &ROXPQ
+HDGLQJ and $UFKLYH7DJ must be adapted.
In the example project, the colors of the individual columns have been adapted to
the colors used in the simulator window for the individual trends.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
Creation of a new picture, in the example, this is the H[BBFKDSWHUBH3'/
picture.
In this picture, a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ is configured. In the
example, this is the $SSOLFDWLRQ:LQGRZ object. Select 7DJ/RJJLQJ as the
window content and the =.B3$B7DEOHWHPSODWHBas the 7HPSODWH.
1RWH
A brief explanation about the other configuration settings made for the
H[BBFKDSWHUBH3'/ picture in the *UDSKLFV'HVLJQHU can be found in example %DU*UDSK'LVSOD\H[BBFKDSWHUBH.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The described configuration allows you to start archiving at set times. Also, values can
be stored in an archive at every full minute, hour. etc.
• The archiving cycle created in the example should be adapted to your needs in regard to
start time and time base.
WinCC Configuration Manual
C79000-G8276-C140-01
4-45
6DPSOH3URMHFWH[DPSOHB
([SRUWLQJDQ$UFKLYHH[BBFKDSWHUBI3'/
7DVN'HILQLWLRQ
A cyclic-continuous process value archive is to be exported to a CSV file, once the
maximum number of data records the archive can store has been reached. The archive is to
be locked at system start and only be enabled after pressing a button.
The archived values are to be displayed in table form, a user defined toolbar and status bar
is required. The user is to be informed about the export time by a message dialog box.
,PSOHPHQWDWLRQ&RQFHSW
To archive the displayed data, create a cyclic-continuous process value archive in the 7DJ
/RJJLQJ editor. To export the archive and for locking/enabling the archive, separate project
functions are created.
To display the data, a table template is created. The toolbar is realized using multiple
:LQGRZV2EMHFWV→%XWWRQV and 6PDUW2EMHFWV→6WDWXV'LVSOD\V.
&UHDWLRQRID3URFHVV9DOXH$UFKLYH
6WHS
3URFHGXUH&UHDWLRQRID3URFHVV9DOXH$UFKLYH
1
Create a new 3URFHVV9DOXH$UFKLYH with the archive wizard. In the example, the
archive was named =.B3URFHVV9DOXH$UFKLYHB.
The tag to be archived was *LBH[BWOJB. In the example project, this tag is
supplied with the sum of the three trend profiles by the simulator.
2
In the properties dialog box of the process value archive, set the size of the
archive to data records. As the $FWLRQIRU([SRUWLQJWKH6KRUW7HUP$UFKLYH,
the project function $FWLRQ)RU([SRUWLQJ$UFKLYH is set.
3
Accept the presettings for the properties dialog box of the process tag.
Accept the presettings for the remaining settings.
7UHQG'LVSOD\&RQILJXUDWLRQ
6WHS
1
3URFHGXUH7HQG'LVSOD\&RQILJXUDWLRQ
Creation of a new table window template. The 3URSHUWLHV7DEOH:LQGRZ
dialog box will be displayed. The
button opens the
dialog box.
As the template name, the example uses =.B3$B7UHQGWHPSODWHB. No WLWOHEDU,
VWDWXVEDU or WRROEDU is required.
Accept the presettings for the remaining settings.
7HPSODWH
3URSHUWLHVRIWKH7HPSODWH
2
3
4-46
No inputs need to be made in the 2SHUDWRU$XWKRUL]DWLRQ field.
In the *HQHUDO,QIRUPDWLRQ tab, 7UHQG is displayed as the 1DPHRIWKH7UHQG. In
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH7HQG'LVSOD\&RQILJXUDWLRQ
the 'LVSOD\ field, select the 'LVSOD\7UHQG and 'LVSOD\7UHQGV9HUWLFDOO\ checkboxes, and then the IURPWKHWRS radio-button.
In the 7DJ tab, the *LBH[BWOJB archive tag from the
=.B3URFHVV9DOXH$UFKLYHB archive is selected.
In the ;$[LV tab, select the 8SGDWH check-box in the 6FDOLQJ field and deselect the
remaining check-boxes.
In the 6HOHFWLRQ field of the <$[LV tab, deselect the $XWRUDQJH check-box. Enter as the 6WDUW and as the (QG value. As the 7UHQG'LVSOD\, select 6WHSSHG
7UHQGV. Accept the presettings for the remaining settings.
Accept the presettings of the &RORU/LPLW9DOXHV tab.
4
Apply the settings made by clicking on 2. and save the changes made in the 7DJ
/RJJLQJ editor via )LOH→6DYH.
Project Function for Exporting the Archive
void ActionForExportingArchive (LPTSTR lpszArchivNameReturn, LPTSTR
lpszVariablenName , DWORD dwNumberOfRecords)
{
BOOL fRet;
int iTlgCon = 0;
CMN_ERROR Error;
char szProj[MAX_PATH];
char szFile[MAX_PATH];
LPTSTR lpszArchiveName =
"PDE#HD#ZK_ProcessValueArchive_04#G64i_ex_tlg_04" ;
char
szFileName[MAX_PATH] = "";
LPTSTR lpszFileName;
TLG_IO_BACKUP_SELECT
ibs;
DWORD dwSize;
time_t
Time;
struct tm*
TimeStruct;
int nPathLen,nFileLen;
DMGetRuntimeProject( szProj, MAX_PATH, &Error);
nPathLen=strlen(szProj);
nFileLen=strlen((strrchr(szProj,\\)+1));
strncat(szFile,szProj,nPathLen-nFileLen);
sprintf(szFileName,"%s%s",szFile,"ArchiveBackUp.CSV");
lpszFileName=&szFileName[0];
time(&Time);
TimeStruct = localtime(&Time);
ibs.sysFrom.wYear
ibs.sysFrom.wMonth
ibs.sysFrom.wDay
ibs.sysFrom.wHour
ibs.sysFrom.wMinute
ibs.sysFrom.wSecond
ibs.sysTo.wYear
ibs.sysTo.wMonth
ibs.sysTo.wDay
WinCC Configuration Manual
C79000-G8276-C140-01
=
=
=
=
=
=
1997;
1;
1;
0;
0;
0;
= (WORD)(TimeStruct->tm_year+1900);
= (WORD)(TimeStruct->tm_mon+1);
= (WORD)(TimeStruct->tm_mday);
4-47
6DPSOH3URMHFWH[DPSOHB
ibs.sysTo.wHour
= (WORD)(TimeStruct->tm_hour);
ibs.sysTo.wMinute = (WORD)(TimeStruct->tm_min);
ibs.sysTo.wSecond = (WORD)(TimeStruct->tm_sec);
fRet = TLGConnect( NULL, &Error );
if (fRet==FALSE)
printf("Error in TLGConnect(...)\r\n");
fRet=TLGGetBackupSize (lpszArchiveName, &dwSize, &ibs,
TLG_BACKUP_EVACUATE, TLG_BAKFMT_CSV, &Error);
if (fRet==FALSE) printf("Error in
TLGGetBackupSize(...)[%s]\r\n",Error.szErrorText);
else SetTagWord("U16i_ex_tlg_00",(WORD)dwSize);
fRet=TLGBackup (lpszArchiveName, lpszFileName, &ibs,
TLG_BACKUP_EXPORT, TLG_BAKFMT_CSV, &Error);
if (fRet==FALSE) printf("Error in TLGBackup(...)
[%s]\r\n",Error.szErrorText);
else SetTagBit("BINi_ex_tlg_09",TRUE);
TLGDisconnect( NULL );
}
• Determination of the project path
• Generation of the name of the file into which the archive is exported to. This name also
contains the path.
• Determination of the system time.
• Definition of the start and end time, between which the archiving times of the data to be
exported are lying.
• Establishment of a connection to 7DJ/RJJLQJ via the 7/*&RQQHFW function.
• Determination of the size of the data to be exported via the 7/*%DFNXS6L]H function.
This value is stored in an internal tag.
• Exporting of the archive via the 7/*%DFNXS function and setting of the %,1LBH[BWOJB
binary tag, which makes the export visible.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
4-48
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
In Tag Management, three tags of the %LQDU\7DJ type are created. In the
example, the %,1LBH[BWOJB,%,1LBH[BWOJB and %,1LBH[BWOJB tags are used.
In addition, the 8LBH[BWOJB tag of the 8QVLJQHG%LW9DOXH type is
required.
2
Creation of a new picture, in the example, this is the H[BBFKDSWHUBI3'/.
In this picture, a 6PDUW2EMHFW→$SSOLFDWLRQ:LQGRZ is configured. In the
example, this is the $SSOLFDWLRQ:LQGRZ object. Select 7DJ/RJJLQJ as the
window content and the =.B3$B7UHQGWHPSODWHBas the 7HPSODWH.
3
The implementation of a toolbar has already been explained in detail in the $UFKLYLQJLI9DOXHLV([FHHGHGH[BBFKDSWHUBE3'/ example. This chapter
will only describe the newly added control elements.
4
To control the archiving, a :LQGRZV2EMHFW→%XWWRQ is configured. In the
example, this is the %XWWRQ object.
A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which toggles the
%,1LBH[BWOJB tag and calls the /RFN8QORFN$UFKLYH project function. The binary
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
tag allows the current status of the archive to be stored.
5
Configure a new picture which is displayed if the archive is exported. In the
example, this is the H[BBZLQGRZB3'/.
This picture contains a 6WDQGDUG2EMHFW→6WDWLF7H[W, which displays a text via a
&$FWLRQ. This text consists of a fixed part and the number value of the
8LBH[BWOJB tag. The number value contains the size of the exported data.
Additionally, the picture contains a :LQGRZV2EMHFW→%XWWRQ and 6PDUW2EMHFW
→*UDSKLF2EMHFW, which both turn the %,1LBH[BWOJB tag to the constant via
a 'LUHFW&RQQHFWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ.
6
Configure a 6PDUW2EMHFW→3LFWXUH:LQGRZ in the initial picture, in the
example, the 3LFWXUH:LQGRZ object is used. At 3URSHUWLHV→0LVFHOODQHRXV→
3LFWXUH1DPH, set the H[BBZLQGRZB3'/. At 3URSHUWLHV→0LVFHOODQHRXV→
'LVSOD\, create a WDJFRQQHFWLRQ to the %,1LBH[BWOJB tag.
7
To display the status bar, two :LQGRZV2EMHFWV→%XWWRQV are configured. In the
example, these are the %XWWRQ and %XWWRQ objects.
Create a '\QDPLF'LDORJ at the %XWWRQ object at 3URSHUWLHV→)RQW→7H[W,
which returns to the property, depending on the %,1LBH[BWOJB tag, either the
text 8SGDWH6WDUWHG or 8SGDWH6WRSSHG.
Create a '\QDPLF'LDORJ at the %XWWRQ object at 3URSHUWLHV→)RQW→7H[W,
which returns to the property, depending on the %,1LBH[BWOJB tag, either the
text $UFKLYH(QDEOHG or $UFKLYH/RFNHG.
WinCC Configuration Manual
C79000-G8276-C140-01
4-49
6DPSOH3URMHFWH[DPSOHB
Project Function for Locking and Enabling the Archive
void LockUnlockArchive (BOOL bLock)
{
BOOL fRet;
CMN_ERROR Error;
LPTSTR
lpszArchiveName = "ZK_ProcessValueArchive_04";
fRet = TLGConnect( NULL, &Error );
if (fRet==FALSE)
printf("Error in TLGConnect(...)\r\n");
else
{
fRet=TLGLockArchive (NULL,lpszArchiveName,bLock,&Error );
if (fRet==FALSE) printf("Error in TLGLockArchive(...)
[%s]\r\n",Error.szErrorText);
TLGDisconnect( NULL );
}
}
• Establishment of a connection to 7DJ/RJJLQJ.
• Call of the 7/*/RFN$UFKLYH function. The E/RFN transfer parameter decides whether the
archive is to be locked or enabled.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The tags to be archived have to be adapted to your requirements.
• The maximum archive size, as well as the path settings and file name of the export file
have to be adapted to meet your needs.
4-50
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
$ODUP/RJJLQJ
8
In runtime, the examples to this topic can be selected by clicking on the button displayed
. The examples are configured in the pictures H[BBFKDSWHUB3'/ to
above with the
H[BBFKDSWHUBG3'/.
*HQHUDO,QIRUPDWLRQ
The $ODUP/RJJLQJ editor is responsible for acquiring and archiving messages. It contains
functions for accepting messages from processes, and for preparing, displaying,
acknowledging, and archiving them.
This is how $ODUP/RJJLQJ supports the search for causes of errors.
WinCC Configuration Manual
C79000-G8276-C140-01
4-51
6DPSOH3URMHFWH[DPSOHB
%LW0HVVDJH3URFHGXUHH[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
Four motors are to be monitored by $ODUP/RJJLQJ. Errors within motors are displayed by
setting various bits in tags assigned to each motor. The message states of the motors are
stored in separate internal tags. Depending on the message state, the display of the motor is
to be changed.
The messages are to be displayed in a message window. The message window’s toolbar and
status bar are realized using standard tools.
,PSOHPHQWDWLRQ&RQFHSW
A message window template is created in $ODUP/RJJLQJ. Additionally, several single
messages must be created that refer to the monitored motors.
The message window is created in the Graphics Designer via a 6PDUW2EMHFW→$SSOLFDWLRQ
:LQGRZ. The individual motors consist of multiple 6WDQGDUG2EMHFWV. &$FWLRQV change the
displays of the motors for the various message states.
6HWXSRIWKH5HTXLUHG7DJV
6WHS
1
4-52
3URFHGXUH6HWXSRIWKH5HTXLUHG7DJV
In Tag Management, set up a total of twelve tags of the 8QVLJQHG%LW9DOXH
type. Four of these tags serve as event tags. In the example, these are the
8LBH[BDOJB,8LBH[BDOJB,8LBH[BDOJB and 8LBH[BDOJB tags.
Four tags serve as status tags. In the example, these are the 8LBH[BDOJB,
8LBH[BDOJB,8LBH[BDOJB and 8LBH[BDOJB tags. The remaining tags
serve as acknowledgment tags. In the example, these are the 8LBH[BDOJB,
8LBH[BDOJB,8LBH[BDOJB and 8LBH[BDOJB tags.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
*HQHUDO,QIRUPDWLRQ
A message consists of several message blocks. These message blocks can be divided into
three groups:
• 6\VWHP%ORFNV: These blocks contain system data assigned by $ODUP/RJJLQJ. This
includes date, time, report ID, etc.
•
•
: These blocks contain the values transmitted from the process,
e.g. critical fill levels, temperatures, etc.
3URFHVV9DOXH%ORFNV
8VHU7H[W%ORFNV: These blocks contain texts which provide general information and
aid the understandability, e.g. error explanations, message sources, point of error, etc.
0HVVDJH%ORFN&RQILJXUDWLRQ
6WHS
3URFHGXUH0HVVDJH%ORFN&RQILJXUDWLRQ
85
1
In the &RQWURO&HQWHU, open the $ODUP/RJJLQJ editor via a
2
Selection of the required message blocks. Open the &RQILJXUH0HVVDJH%ORFNV
dialog box via 0HVVDJH%ORFNV
5.
.
8
By
8'
0HVVDJH
WinCC Configuration Manual
C79000-G8276-C140-01
on one of the three entries in the $YDLODEOH0HVVDJH%ORFNVLQWKH
window, the already selected message blocks become visible.
4-53
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH0HVVDJH%ORFN&RQILJXUDWLRQ
Once a 6\VWHP%ORFN, 8VHU7H[W%ORFN or 3URFHVV9DOXH%ORFN entry has selected,
the
button allows you to display the dialog box for adding
message blocks. In the example, the following message blocks are used:
• System Blocks
• Date
• Time
• Number
• User Text Blocks
• Message Text
• Point of Error
4-54
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH0HVVDJH%ORFN&RQILJXUDWLRQ
The
button moves a message block highlighted in the left window to the
right window, and thus selects it. Clicking on 2. applies the settings made.
In the &RQILJXUH0HVVDJH%ORFNV dialog box, if a block is selected using
8
, the
and
buttons become operational. The first
button allows you to remove already selected message blocks, the second button
allows you to configure the properties of the individual message blocks.
Clicking on 2. applies the settings made in the 0HVVDJH%ORFNV dialog boxes.
The &RQILJXUH0HVVDJH%ORFNV dialog box is also exited by clicking on 2..
3
The settings made can also be displayed by
WinCC Configuration Manual
C79000-G8276-C140-01
8'
on the 0HVVDJH%ORFNV entry.
4-55
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH0HVVDJH%ORFN&RQILJXUDWLRQ
8
If one of the three sub-entries, 6\VWHP%ORFNV, 8VHUWH[W%ORFNV or 3URFHVV9DOXH
, the right window will display the selected
%ORFNV, is selected with the
8
message blocks.
5 on the displayed icons and then selecting properties,
accesses the 0HVVDJH%ORFNV dialog box. Message blocks can also be deleted this
way.
85
If the 0HVVDJH%ORFNV entry in the left window has been selected with the
8
8
,
on one of the icons displayed in the right window, allows you to access the
add/remove or properties dialog box.
' on one of the displayed icons in the
right window, will display the message blocks it contains.
4-56
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6HWXSRIDQHZ0HVVDJH/LQH)RUPDW
6WHS
1
3URFHGXUH6HWXSRIDQHZ0HVVDJH/LQH)RUPDW
85
The $ODUP/RJJLQJ editor must still be open.
Create a new message line format by
on the 0HVVDJH/LQH)RUPDW entry.
The 0HVVDJH/LQH dialog box will be displayed. As the 1DPHRIWKH0HVVDJH
/LQH)RUPDW, the example uses /LQHB. As the (OHPHQWVRIWKH0HVVDJH, select
the 1XPEHU, 'DWH, 7LPH, 3RLQWRI(UURU and 0HVVDJH7H[W message blocks via the
button.
The move XS and move GRZQ buttons allow you to change the order of the
selected message blocks.
Clicking on 2. applies the settings made and exits the dialog box.
2
If the 0HVVDJH/LQH)RUPDW entry is selected with the
display all available message line formats.
WinCC Configuration Manual
C79000-G8276-C140-01
8
, the right window will
4-57
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRIDQHZ0HVVDJH/LQH)RUPDW
8' 85
or
on the appropriate icon opens the 0HVVDJH/LQH dialog box.
*HQHUDO,QIRUPDWLRQ
The message window template defines the structure, display and operation of a message
window. Additionally, the template defines if the message window should display the
current messages or the message archive.
6HWXSRI0HVVDJH:LQGRZ7HPSODWH
6WHS
1
3URFHGXUH6HWXSRI0HVVDJH:LQGRZ7HPSODWH
The $ODUP/RJJLQJ editor must still be open.
Create a new message window template by
7HPSODWHV entry.
85
on the 0HVVDJH:LQGRZ
The &RQILJXUH0HVVDJH:LQGRZV dialog box will be displayed.
2
4-58
In the *HQHUDO,QIRUPDWLRQ tab, enter 0HVVDJH:LQGRZB in the :LQGRZ entry
field and 0RWRU0HVVDJH:LQGRZ in the :LQGRZ7LWOH entry field. In runtime, the
:LQGRZ7LWOH will be displayed if the $SSOLFDWLRQ:LQGRZ displaying this
template is configured with 7LWOH. If no text is entered in the window title entry
field, the content of the :LQGRZ entry field is used as the :LQGRZ7LWOH.
As the :LQGRZ7\SH, select 0HVVDJH:LQGRZ.
The 6HOHFWLRQ is performed after the single messages have been configured.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI0HVVDJH:LQGRZ7HPSODWH
3
In the 0HVVDJH/LQH tab, a message line format is selected. In the example, the
/LQHB message line format has been selected.
A new message line format can be created by clicking on the 1HZ button.
4
In the 3DUDPHWHUV tab, the appearance of the message window is defined.
In the 6HSDUDWLRQ/LQHV field, select the +RUL]RQWDO and 9HUWLFDO check-boxes.
This means that the table will be displayed with horizontal and vertical separation
WinCC Configuration Manual
C79000-G8276-C140-01
4-59
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI0HVVDJH:LQGRZ7HPSODWH
lines.
In the 6HOHFWLRQ field, select 1R6HOHFWLRQ. This defines that - in runtime - single
messages can only be selected by using buttons on the toolbar, not with the
mouse.
Select the /LQH7LWOH and &ROXPQ7LWOH check-boxes.
Select the $XWR6FUROOLQJ check-box.
5
4-60
In the 6WDWXV%DU tab, select the 'LVSOD\6WDWXV%DU check-box. In the $OLJQPHQW
field, select %RWWRP. As (OHPHQWVRIWKH6WDWXV%DU, select the 'DWH, 7LPH and
1XPEHURI0HVVDJHVLQWKH:LQGRZ check-boxes.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
6
3URFHGXUH6HWXSRI0HVVDJH:LQGRZ7HPSODWH
In the 7RROEDU tab, select the 'LVSOD\7RROEDU check-box. In the $OLJQPHQW field,
select 7RS. The following .H\ERDUG)XQFWLRQV are used:
• Display Process Message Window
• Single Acknowledgement
• Group Acknowledgment
• Auto-Scroll On/Off
• Beginning of the List
• End of the List
• Next Message
• Previous Message
WinCC Configuration Manual
C79000-G8276-C140-01
4-61
6DPSOH3URMHFWH[DPSOHB
6WHS
7
3URFHGXUH6HWXSRI0HVVDJH:LQGRZ7HPSODWH
8
, the right
If the 0HVVDJH:LQGRZ7HPSODWHV entry is selected with the
window will display all available message window templates.
8' 85
or
dialog box.
on the appropriate icon opens the &RQILJXUH0HVVDJH:LQGRZV
The :LQGRZ3UHYLHZ function, accessed by right-clicking on the desired message
window template, allows you to check all the settings made without activating
runtime.
4-62
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI0HVVDJH:LQGRZ7HPSODWH
1RWH
The creation of a new message window template can also be performed using the wizard.
The wizard allows you to make the most important settings.
All settings made so far in $ODUP/RJJLQJ can also be performed, in a very simplified and
abbreviated form, by the Message Wizard. This wizard is activated via the menu points )LOH
→6WDUW0HVVDJH:L]DUG. However, for a detailed configuration, the dialog boxes described
in this example are necessary.
The creation of a message system using the Message Wizard is described in chapter &RQILJXULQJPHVVDJHV.
WinCC Configuration Manual
C79000-G8276-C140-01
4-63
6DPSOH3URMHFWH[DPSOHB
%LW0HVVDJH3URFHGXUH&RQWLQXHG
6HWXSRI6LQJOH0HVVDJHV
6WHS
1
3URFHGXUH6HWXSRI6LQJOH0HVVDJHV
In the $ODUP/RJJLQJ editor, the lower part of the window is called the table
window. In this window, the individual messages are configured, and the already
5, new lines can be added.
configured ones displayed. By
8
For this example, 12 different single messages are configured.
Each line in the table window represents one message and contains several
columns. Changes can be made directly in the individual columns. In the example
however, the settings are made via the 6LQJOH0HVVDJH dialog box. This dialog
5 on the corresponding message line.
box is accessed via a
8
2
Access the 6LQJOH0HVVDJH dialog box as described in the previous step.
In the 3DUDPHWHUV tab, select (UURU as the message class and )DLOXUH as the
message type.
In the 7KLV0HVVDJH field, select the ZLOOEHDUFKLYHG and ZLOOEHUHSRUWHG checkboxes.
In the &RQQHFWLRQV field, select the 8LBH[BDOJB tag as the (YHQW7DJ and
enter as the (YHQW%LW. This means that the message will be generated if the first
bit of the set tag assumes the status of 1.
Select the 8LBH[BDOJB tag as the $FNQRZOHGJH7DJ and enter as the
$FNQRZOHGJH%LW. This means that the first bit of the set tag will be set to 1 if the
message is acknowledged in runtime.
Select the 8LBH[BDOJB tag as the 6WDWXV7DJ and enter as the 6WDWXV%LW.
This setting effects that the first bit of the set tag is representing the &DPH
,Q:HQW2XW6WDWXV of the message. If the message is pending, the bit will be set
to 1. This bit is reset, once the message has been cleared. The ninth bit of the tag
contains the $FNQRZOHGJH6WDWXV of the message. If the message has not been
acknowledged, the bit has the status of 1. If the message has been acknowledged,
the bit has the status of 0.
A 16-bit status tag can represent the states of 8 single messages. The low-byte
always contains the &DPH,Q:HQW2XW6WDWHV, the high-byte the $FNQRZOHGJH
6WDWHV
4-64
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3
3URFHGXUH6HWXSRI6LQJOH0HVVDJHV
In the 7H[W tab, enter ,QWHUORFN(UURU as the 0HVVDJH7H[W and 0RWRU as the
3RLQWRI(UURU. No ,QIRWH[W is used.
No entries need to made in the 7DJ$FWLRQ tab.
Apply the settings made by clicking on the 2. button.
4
The just created message monitors the first of the four motors. Create two
additional message lines for the first motor.
The settings are made as described in step 2 to 3, however, the (YHQW%LWV,
$FNQRZOHGJH%LWV and 6WDWXV%LWV have to be adjusted. Additionally, )HHGEDFN
(UURU and %LPHWDO(UURU are used as the 0HVVDJH7H[WV.
5
The other three motors also require three message lines each.
WinCC Configuration Manual
C79000-G8276-C140-01
4-65
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI6LQJOH0HVVDJHV
The (YHQW7DJV, $FNQRZOHGJH7DJV and 6WDWXV7DJV, as well as the texts for the
3RLQWRI(UURU, must be adapted for each motor.
6
The configured message window template should only display messages that
refer to one of the four motors. Therefore, a selection must be made in the
properties dialog box, *HQHUDO,QIRUPDWLRQ tab, of the created message window
template.
To do so, open the appropriate properties dialog box. In the *HQHUDO,QIRUPDWLRQ
tab, clicking on the
accesses the 6HWWKH6HOHFWLRQ dialog box.
Message block selections are made in this dialog box. In the example, only
messages with a message number from 1 to 12 are to be displayed. That is, the
selection is concerned with the 1XPEHU system block.
A
8'
8
on the 6\VWHP%ORFNV folder displays all available system blocks. By
selecting a block with the
, all possible selections are displayed in the right
side of the window. For the 1XPEHU system block, a 6WDUW9DOXH and a 6WRS9DOXH
can be entered - the message numbers lie in this range.
In the example, is entered as the 6WDUW9DOXH and as the 6WRS9DOXH.
Close the properties dialog box by clicking on 2.. If a selection has been made,
a check-mark
will be displayed next to the "Selection" button. The
dialog box is also exited by clicking on 2..
&RQILJXUH0HVVDJH:LQGRZV
4-66
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
&RQILJXUDWLRQRIWKHRIWKH0HVVDJH&RORU6FKHPHV
6WHS
1
3URFHGXUH&RQILJXUDWLRQRIWKHRIWKH0HVVDJH&RORU6FKHPHV
The configured single messages are of the (UURU message class and the )DLOXUH
message type.
8
8'
8' 85
on the 0HVVDJH&ODVVHV entry to display all available message classes in the
right window.
message types.
dialog box.
2
on the message class icon (UURU to display all available
or
on the message type icon )DLOXUH opens the 7\SH
In the 7\SH dialog box, a color scheme can be defined for each message state.
In the example, the following color schemes have been used:
Came In: Text Color = yellow, Background Color = orange
Went Out: Text Color = orange, Background Color = light gray
Acknowledged: Text Color = white, Background Color = orange
WinCC Configuration Manual
C79000-G8276-C140-01
4-67
6DPSOH3URMHFWH[DPSOHB
6WHS
3
3URFHGXUH&RQILJXUDWLRQRIWKHRIWKH0HVVDJH&RORU6FKHPHV
The configurations made in $ODUP/RJJLQJ are saved via the )LOH→6DYH menu
points.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
Each motor to be displayed consist of a 6WDQGDUG2EMHFW→&LUFOH, a 6WDQGDUG
2EMHFW→3RO\JRQ and a 6WDQGDUG2EMHFW→6WDWLF7H[W.
The motors are to change color whenever an error message is displayed or this
message is being acknowledged. The colors are to correspond to the ones used
for the came in, went out and acknowledged message states.
To do so, create a &$FWLRQ for the 6WDWLF7H[W at 3URSHUWLHV→&RORUV→)RQW
&RORU, which changes the font color depending on the current state of the motor’s
status tag.
In the same manner, create a &$FWLRQ for the &LUFOH at 3URSHUWLHV→&RORUV→
%DFNJURXQG&RORU.
2
4-68
The occurrence of an error at a motor is simulated using a :LQGRZV2EMHFW→
&KHFN%R[.
At 3URSHUWLHV→*HRPHWU\→1XPEHURI%R[HV enter .
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
At 3URSHUWLHV→2XWSXW,QSXW→6HOHFWHG%R[HV, create a 7DJ&RQQHFWLRQ to the
corresponding event tag of the motor.
3
To display the created message window template, a 6PDUW2EMHFW→$SSOLFDWLRQ
:LQGRZ is configured. In the example, the $SSOLFDWLRQ:LQGRZ object is used.
After placing the object in the picture, the :LQGRZ&RQWHQWV dialog box is
displayed. Select the $ODUP/RJJLQJ entry. Close the dialog box by clicking on
2..
In the following 7HPSODWH dialog box, select 0HVVDJH:LQGRZB trend window
template. Close the dialog box by clicking on 2..
In the Graphics Designer, the configured $SSOLFDWLRQ:LQGRZ will be displayed
as a gray rectangle. The rectangle will be labeled with the name of the selected
trend window template. At 3URSHUWLHV→0LVFHOODQHRXV, set the %RUGHU and 7LWOH
properties of the $SSOLFDWLRQ:LQGRZ object to <HV.
4
To be able to use $ODUP/RJJLQJ during runtime, $ODUP/RJJLQJ5XQWLPH must
be enabled first. To do so, check "Alarm Logging Runtime" in the "Startup" tab
of the &RPSXWHU3URSHUWLHV dialog box.
If this is not the case, select the "Computer" entry in the &RQWURO&HQWHU via a
and open the &RPSXWHU3URSHUWLHV6WDUWXS7DE by clicking on the
WinCC Configuration Manual
C79000-G8276-C140-01
8
button
4-69
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
from the dialog’s toolbar. Click on the
button to open the
&RPSXWHU3URSHUWLHV dialog box. In the 6WDUWXS tab, select the $ODUP/RJJLQJ
5XQWLPH check-box.
C-Action at the Circle
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
DWORD state;
state=GetTagDWord ("U16i_ex_alg_02");
if ((state&1)||(state&2)||(state&4))
return 0x80FF;
else
return 0xFFFFFF;
}
• This &$FWLRQ adds dynamics to the background color property of the &LUFOH assigned to
the first motor.
• The 8LBH[BDOJB status tag assigned to the first motor is read. The low-byte of this
tag contains the came in/went out message states. This means that a message is pending
and the circle’s background color is set to orange (hex 80ff) if the first, second or third
bit of this tag is set to 1. If the message goes out again, the background color will be set
to white (hex ffffff).
• This &$FWLRQ is triggered upon the change of the 8LBH[BDOJB status tag.
4-70
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
C-Action at Static Text
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
DWORD state;
state=GetTagDWord ("U16i_ex_alg_02");
if ( ((state&1)&&(state&256)) || ((state&2)&&(state&512)) ||
((state&4)&&(state&1024)) )
return 0xFFFF;
else if ((state&1)||(state&2)||(state&4))
return 0xFFFFFF;
else if ((state&256)||(state&512)||(state&1024))
return 0x80FF;
else
return 0x800000;
}
• This &$FWLRQ adds dynamics to the font color property of the 6WDWLF7H[W assigned to the
first motor.
• The 8LBH[BDOJB status tag assigned to the first motor is read. The low-byte of this
tag contains the came in/went out message states, the high-byte the acknowledged
message states. In the case of an unacknowledged, pending message, the font color will
be set to yellow (hex ffff). In the case of an acknowledged message, the font color will
be set to white (hex ffffff). In the case of an unacknowledged, but went out message, the
font color will be set to orange (hex 80ff). In the normal state, the font color is dark blue
(hex 800000).
• This &$FWLRQ is triggered upon the change of the 8LBH[BDOJB status tag.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The required message blocks, and with it the used message line formats, must be
adapted to your needs.
• The message window template must be adapted to the desired display type.
• The event, status and acknowledge tags, as well as their bits, must be adapted to meet
your requirements. The same applies for the user texts.
WinCC Configuration Manual
C79000-G8276-C140-01
4-71
6DPSOH3URMHFWH[DPSOHB
$QDORJ$ODUPVH[BBFKDSWHUBD3'/
7DVN'HILQLWLRQ
The pressure and temperature values of three containers are to be monitored by $ODUP
/RJJLQJ. If the monitored analog values approach the critical zone, warnings are to be
generated. If the values reach the critical zone, alarms are to be generated. The occurrence
of an alarm should also be indicated optically and acoustically in the *UDSKLFV'HVLJQHU.
A user-friendly message window layout should be used. That is, a custom toolbar should be
configured. The table should have a user-defined color scheme.
,PSOHPHQWDWLRQ&RQFHSW
A message window template is created in $ODUP/RJJLQJ. Additionally, several single
messages must be created that refer to the three monitored containers.
In the *UDSKLFV'HVLJQHU, the message window is displayed using a 6PDUW2EMHFW→
$SSOLFDWLRQ:LQGRZ. The height of this window, controlled by a &$FWLRQ, depends on the
on the number of messages. The background of this table is formed by a 6PDUW2EMHFW→
*UDSKLF2EMHFW. The toolbar consists of multiple :LQGRZV2EMHFWV→%XWWRQV and 6PDUW
2EMHFWV→6WDWXV'LVSOD\V.
6HWXSRIWKH5HTXLUHG7DJV
6WHS
1
3URFHGXUH6HWXSRIWKH5HTXLUHG7DJV
In Tag Management, set up a total of six tags of the 8QVLJQHG%LW9DOXH type.
Three of these tags contain the temperature values of the individual containers. In
the example, these are the 8LBH[BDOJBW,8LBH[BDOJBW and 8LBH[BDOJBW
tags. The remaining three tags contain the pressure values. In the example, these
are the 8LBH[BDOJBS,8LBH[BDOJBS and 8LBH[BDOJBS tags.
Three additional tags of the 8QVLJQHG%LW9DOXH tags are required that serve as
status tags. In the example, these are the 8LBH[BDOJB,8LBH[BDOJB and
8LBH[BDOJB tags.
One additional tag of the 8QVLJQHG%LW9DOXH type is needed to control a
central signaling device. In the example, this is the 8LBH[BDOJB tag.
Two %LQDU\7DJV are required. In the example, these are the %,1LBH[BDOJB and
%,1LBH[BDOJB tags.
1RWH
The configurations carried out in the &RQILJXUH0HVVDJH%ORFNV table example are
considered complete and will not be described again.
4-72
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6HWXSRIDQHZ0HVVDJH:LQGRZ7HPSODWH
6WHS
1
3URFHGXUH6HWXSRIDQHZ0HVVDJH:LQGRZ7HPSODWH
Open the $ODUP/RJJLQJ editor.
The message window should display the current value of the monitored tag if a
message arrives. To do so, a new process value block must be created.
8
5 on the 0HVVDJH%ORFNV
Access the &RQILJXUH0HVVDJH%ORFNV dialog box by
entry. Select the 3URFHVV9DOXH%ORFNV entry from the list and access the $GG
button.
3URFHVV9DOXH%ORFNV dialog box by clicking on the
This will add a new process value block. Close the dialog box by clicking on 2..
8'
on the 3URFHVV9DOXH%ORFNV entry will display the new block. If you select
this block, its properties can be displayed by clicking on the
button. In the example, 9DOXH has been entered as the 1DPH of the block and has been set as its /HQJWK.
Clicking on 2. accepts the settings made in the 0HVVDJH%ORFNV and &RQILJXUH
0HVVDJH%ORFNV dialog boxes.
2
Since a new message block has been configured, a new message line format is
needed. The /LQHB format, created in the first example, can not be used
anymore.
Create a new message line format by
85
on the 0HVVDJH/LQH)RUPDW entry.
The 0HVVDJH/LQH dialog box will be displayed. As the 1DPHRIWKH0HVVDJH
/LQH)RUPDW, the example uses /LQHB. As the (OHPHQWVRIWKH0HVVDJH, select
the 1XPEHU, 'DWH, 7LPH, 3RLQWRI(UURU, 0HVVDJH7H[W and 9DOXH message blocks
WinCC Configuration Manual
C79000-G8276-C140-01
4-73
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRIDQHZ0HVVDJH:LQGRZ7HPSODWH
via the
button.
Clicking on 2. applies the settings made and exits the dialog box.
3
Create a new message window template by
7HPSODWHV entry.
85
on the 0HVVDJH:LQGRZ
The &RQILJXUH0HVVDJH:LQGRZV dialog box will be displayed.
4
In the *HQHUDO,QIRUPDWLRQ tab, enter 0HVVDJH:LQGRZB in the :LQGRZ entry
field. A separate :LQGRZ7LWOH is not needed. As the :LQGRZ7\SH, select
0HVVDJH:LQGRZ. The 6HOHFWLRQ is performed after the single messages have
been configured.
In the 0HVVDJH/LQH tab, select the /LQHB message line format.
In the 3DUDPHWHUV tab, the appearance of the message window is defined. In the
6HSDUDWLRQ/LQHV field, select the +RUL]RQWDO and 9HUWLFDO check-boxes. In the
6HOHFWLRQ field, select /LQH. This determines that in runtime individual message
lines can be selected using the mouse if $XWR6FUROOLQJ is turned off. Deselect the
/LQH7LWOH and &ROXPQ7LWOH check-boxes. Select the $XWR6FUROOLQJ check-box.
In the 6WDWXV%DU and 7RROEDU tabs, deselect the check-boxes for displaying the
status bar and toolbar.
Close the dialog box by clicking on 2..
*HQHUDO,QIRUPDWLRQ
With the help of message classes,
• the acknowledgement type
• the corresponding status text
• the output of acoustical/optical signals
of all message types (belonging to a message class) are set.
4-74
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6HWXSRIDQHZ0HVVDJH&ODVV
6WHS
1
85
3URFHGXUH6HWXSRIDQHZ0HVVDJH&ODVV
on the 0HVVDJH&ODVVHV entry to access the $GG0HVVDJH&ODVV dialog box.
Clicking on the
button adds a new message class. The dialog box is
closed by clicking on 2..
2
8
8
on the 0HVVDJH&ODVVHV entry to display all available message classes,
including newly created ones, in the right window.
5 on one of the message
class icons to open the &RQILJXUH0HVVDJH&ODVVHV dialog box.
3
In the *HQHUDO,QIRUPDWLRQ tab, enter &RQWDLQHU(UURU as the 1DPHRIWKH&ODVV.
Access the $GG0HVVDJH7\SH dialog box by clicking on the
button. In this dialog box, move two message types from the left to the right side
button. The dialog box is closed by clicking on
of the window using the
2..
Select one of the two new message types from the 0HVVDJH7\SHV field and
button.
display its properties by clicking on the
Enter &RQWDLQHU$ODUP as the name of the first message type. The color scheme
of the individual message states is as follows:
Came In: Text Color = black, Background Color = red
Went Out: Text Color = black, Background Color = green
Acknowledged: Text Color = black, Background Color = orange
Enter &RQWDLQHU:DUQLQJ as the name of the second message type. The color
scheme of the individual message states is as follows:
Came In: Text Color = yellow, Background Color = blue
Went Out: Text Color = blue, Background Color = RGB(207,163,146)
Acknowledged: Text Color = white, Background Color = blue
WinCC Configuration Manual
C79000-G8276-C140-01
4-75
6DPSOH3URMHFWH[DPSOHB
6WHS
4
4-76
3URFHGXUH6HWXSRIDQHZ0HVVDJH&ODVV
In the $FNQRZOHGJHPHQW tab, select the $FNQRZOHGJHPHQW&DPH,Q check-box
from the $FNQRZOHGJHPHQW3KLORVRSK\ field.
In the &HQWUDO6LJQDOLQJ'HYLFHV field, select 6HSDUDWH$FNQRZOHGJHPHQW.H\. As
the 7DJ, set the 8LBH[BDOJB tag. This tag triggers a central signaling device.
To acknowledge this signaling device, a button must be provided on the toolbar.
This is the +RUQ$FNQRZOHGJHPHQW button, if a standard toolbar is configured.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
5
3URFHGXUH6HWXSRIDQHZ0HVVDJH&ODVV
In the 6WDWXV7H[WV tab, no changes need to be made.
The dialog box is closed by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-77
6DPSOH3URMHFWH[DPSOHB
$QDORJ$ODUPVFRQWLQXHG
6HWXSRI6LQJOH0HVVDJHV
6WHS
1
85
3URFHGXUH6HWXSRI6LQJOH0HVVDJHV
in the table window and add 12 new lines.
Select the first of the newly added lines via a
6LQJOH0HVVDJH dialog box.
4-78
8 85
.
on this line opens the
2
In the 3DUDPHWHUV tab, select &RQWDLQHU(UURU as the message class and &RQWDLQHU
$ODUP as the message type. In the 7KLV0HVVDJH field, select the ,V6LQJOH
$FNQRZOHGJHPHQW2QO\, 7ULJJHU+RUQ, ZLOOEHDUFKLYHG and ZLOOEHUHSRUWHG
check-boxes. In the &RQQHFWLRQV field, select the 8LBH[BDOJB tag as the
6WDWXV7DJ and enter as the 6WDWXV%LW. No (YHQW7DJ is set, since the message is
generated by an analog alarm. Also, no $FNQRZOHGJH7DJ is set.
In the 7H[W tab, enter &ULWLFDO2YHUSUHVVXUH as the 0HVVDJH7H[W and &RQWDLQHU
as the 3RLQWRI(UURU. As the ,QIRWH[W enter 7KHSUHVVXUHLQFRQWDLQHUKDV
H[FHHGHGWKHFULWLFDOYDOXH.
In the 7DJ$FWLRQ tab, a tag can be set for the 9DOXH process value block.
However, since the message is generated by an analog alarm, the first process
value block of the message line is automatically supplied with the limit value
which triggered the message.
Apply the settings made by clicking on the 2. button.
3
The just created message monitors the pressure in the first of three containers.
Three additional message lines must be configured for the first container.
Proceed as described in step 2. Create an additional message of the &RQWDLQHU
(UURU message type. Enter &ULWLFDO7HPSHUDWXUH as the 0HVVDJH7H[W and change
the ,QIRWH[W correspondingly. Create two messages of the &RQWDLQHU:DUQLQJ
message type and enter 3UHVVXUH:DUQLQJ and 7HPSHUDWXUH:DUQLQJ as the
0HVVDJH7H[WV. For these warnings select all check-boxes from the 7KLV0HVVDJH
field of the 3DUDPHWHUV tab (of the 6LQJOH0HVVDJH dialog box). All messages
pertaining to container 1 use the same status tag. Their status bits, though, must
be adapted.
4
The other two containers also require four message each.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI6LQJOH0HVVDJHV
The 6WDWXV7DJV, as well as the 3RLQWRI(UURU texts, must adapted to each
container.
5
The configured message window template should only display messages that
refer to one of the three containers. Therefore, a selection must be made in the
properties dialog box, *HQHUDO,QIRUPDWLRQ tab, of the created message window
template.
To do so, open the appropriate properties dialog box. In the *HQHUDO,QIRUPDWLRQ
tab, clicking on the
accesses the 6HWWKH6HOHFWLRQ dialog box.
For the 1XPEHU system block, enter as the 6WDUW9DOXH and as the 6WRS
9DOXH.
Close the properties dialog box by clicking on 2.. If a selection has been made,
a check-mark
will be displayed next to the "Selection" button. The
dialog box is also exited by clicking on 2..
&RQILJXUH0HVVDJH:LQGRZV
WinCC Configuration Manual
C79000-G8276-C140-01
4-79
6DPSOH3URMHFWH[DPSOHB
&RQILJXUDWLRQRI$QDORJ$ODUPV
6WHS
1
2
3URFHGXUH&RQILJXUDWLRQRI$QDORJ$ODUPV
If the $QDORJ$ODUP entry is not present in the navigation window, it must be
loaded first. This is done from the 2SWLRQV→$GG,QV menu of the $ODUP
/RJJLQJ editor. In the following dialog, select the analog alarm entry.
85
on the $QDORJ$ODUP entry and select "New" to open the 3URSHUWLHV dialog
box of the tag. In this dialog box, a new tag for the analog alarm can be selected.
Set the 8LBH[BDOJBW tag, which contains the temperature value of the first
container, as the 7DJWREHPRQLWRUHG. The $0HVVDJHIRUDOO/LPLW9DOXHV checkbox is not selected. Keep as the 'HOD\7LPH.
Close the dialog box by clicking on 2..
4-80
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3
3URFHGXUH&RQILJXUDWLRQRI$QDORJ$ODUPV
8
In the right window, the icon of the new tag to be monitored will be displayed.
5 on this icon and select "New" to open the 3URSHUWLHV dialog box of the limit
values. In this dialog box, a new limit value can be assigned to the tag.
Select 8SSHU/LPLW in the /LPLW9DOXH field. Enter in the /LPLW9DOXHRU7DJ
entry box. Keep as the +\VWHUHVLV. Enter as the 1XPEHU in the 0HVVDJH field.
This is the alarm message for the first container if the temperature has been
exceeded.
Close the dialog box by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-81
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH&RQILJXUDWLRQRI$QDORJ$ODUPV
For the same tag, set a second limit value. In the /LPLW9DOXH field, select 8SSHU
/LPLW again. Enter in the /LPLW9DOXHRU7DJ entry box. Enter as the
1XPEHU in the 0HVVDJH field. This is the warning message for the first container
if the temperature has been exceeded.
4
The other five tags to be monitored are created as described in step 2 and 3 and
have two limit values each.
8'
4-82
on the $QDORJ$ODUP entry to display all created tags.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
The simulation of the process values to be monitored is realized using :LQGRZV
2EMHFWV→6OLGHU2EMHFWV. In the example, these are the 6OLGHU2EMHFW to 6OLGHU
2EMHFW objects.
Create a 'LUHFW&RQQHFWLRQ for the 6OLGHU2EMHNF at (YHQWV→3URSHUW\7RSLFV
→0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ, which directs the current
process value of the 6OLGHU to the 8LBH[BDOJBW tag. This 6OLGHU has the task of
simulating the temperature value of the first container. In the same manner,
configure a 6OLGHU for each tag.
To synchronize the slider positions with the current tag values at the opening of
the picture, create a &$FWLRQ at (YHQWV→0LVFHOODQHRXV→2SHQ3LFWXUH.
2
Assign each 6OLGHU a 6PDUW2EMHFW→,2)LHOG , which displays its current tag
value. In the example, these are the ,2)LHOG to ,2)LHOG objects.
Create a 7DJ&RQQHFWLRQ for the ,2)LHOG at 3URSHUWLHV→0LVFHOODQHRXV→
3LFWXUH1DPH to the 8LBH[BDOJBW tag and trigger it upon change. This is the
,2)LHOG assigned to the first 6OLGHU. In the same manner, assign an ,2)LHOG to
each 6OLGHU.
3
The display of the individual containers is accomplished via the 7DQN smart
object from the global library. In the example, these are the 7DQN, 7DQN and
7DQN objects.
In the example, these objects contain no dynamics. They only serve display
purposes.
4
A 6PDUW2EMHFW→6WDWXV'LVSOD\ is assigned to each container to represent a
warning light. In the example, these are the 6WDWXV'LVSOD\ to 6WDWXV'LVSOD\
objects.
In the example, via 3URSHUWLHV→6WDWH of the 6WDWXV'LVSOD\ for the &XUUHQW
6WDWXV , set the bitmap ,QGLFDWRULVQRWIODVKLQJEPS
as the %DVLF3LFWXUH
and the bitmap ,QGLFDWRULVIODVKLQJEPS
as the )ODVK3LFWXUH. The
3URSHUWLHV→6WDWH→)ODVKLQJ)ODVK3LFWXUHDFWLYH is set to 1R. At the same
property, create a &$FWLRQ, which turns on the flashing if an alarm message
concerning a container is pending. Configure the two other 6WDWXV'LVSOD\V in the
same manner.
5
Configure an additional 6PDUW2EMHFW→6WDWXV'LVSOD\ to represent a horn. In
the example, this is the 6WDWXV'LVSOD\ object. At this object, via 3URSHUWLHV→
for the &XUUHQW6WDWXV , set the bitmap +RUQLVQRWVRXQGLQJEPS
as the %DVLF3LFWXUH and the bitmap +RUQLVVRXQGLQJEPS as the )ODVK3LFWXUH.
6WDWH
WinCC Configuration Manual
C79000-G8276-C140-01
4-83
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
The 3URSHUWLHV→6WDWH→)ODVKLQJ)ODVK3LFWXUHDFWLYH
is set to 1R.
At the same property, create a &$FWLRQ, which turns on the flashing if an alarm
message arrives for one of the three containers, i.e. if the tag set in $ODUP
/RJJLQJ for the &RQWDLQHU(UURU message class (which triggers a central
signaling device) receives the status of . In the example, this is the
8LBH[BDOJB tag.
Create a &$FWLRQ at 3URSHUWLHV→*HRPHWU\→:LGWK, which emits acoustical
signals if the object is flashing.
6
Design of the message table background. The example uses a bitmap which is
displayed by a 6PDUW2EMHFW→*UDSKLF2EMHFW.
7
To display the configured message window template, a 6PDUW2EMHFW→
$SSOLFDWLRQ:LQGRZ is used. In the example, this is the $SSOLFDWLRQ:LQGRZ
object. Select $ODUP/RJJLQJ as the :LQGRZ&RQWHQW and 0HVVDJH:LQGRZB as
the 7HPSODWH. Create a &$FWLRQ at 3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW,
which controls the height of the message window depending on the number of
messages to be displayed.
8
For the toolbar, configure several :LQGRZV2EMHFWV→%XWWRQV, which simulate
the pressing of individual buttons of the standard toolbar via special standard
functions.
The %XWWRQ object replaces the button for the horn acknowledgement. Create a
&$FWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ, which calls the
2Q%WQ+RUQ$FNQSV]0VJ:LQ standard function. As SV]0VJ:LQ transfer
parameter, enter the name of the message window template. This button
acknowledges the central signaling device. Using a 6PDUW2EMHFW→*UDSKLF
2EMHFW, which is placed on top of the button, this button can be made
inoperational. This occurs, if no signal is present at the tag triggering the central
signaling device.
9
Additionally, configure a %XWWRQ for single acknowledgement, a %XWWRQ for group
acknowledgement and a %XWWRQ for calling the infotext dialog box. The
corresponding standard functions are:
2Q%WQ6LQJO$FNQSV]0VJ:LQ
2Q%WQ9LVLEOH$FNQSV]0VJ:LQ
2Q%WQ,QIRSV]0VJ:LQ
10
4-84
As replacement for the button turning the auto-scroll function on/off, a 6PDUW
2EMHFW→6WDWXV'LVSOD\ is used. In the example, this is the 6WDWXV'LVSOD\
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
object.
At 3URSHUWLHV→6WDWH→&XUUHQW6WDWXV, create a 7DJ&RQQHFWLRQ to the
%,1LBH[BDOJB tag. This tag contains information whether auto-scrolling is
turned on or off. A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which
toggles the %,1LBH[BWOJB tag and calls the 2Q%WQ6FUROOSV]0VJ:LQ standard
function. At the opening of the picture, the %,1LBH[BDOJB tag is set to , since
auto-scroll is turned on if the message window is newly selected.
C-Action for Status Display1
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
WORD state;
state=GetTagWord("U16i_ex_alg_01");
if ((state&1)||(state&2)) return TRUE;
else return FALSE;
}
• Input of the status tag of the first container. If an alarm message is pending, 758( is
returned to the property, that is, the warning light is flashing.
• This &$FWLRQ is triggered upon the change of the first container’s status tag.
C-Action for Status Display4
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
if (GetTagWord("U16i_ex_alg_10")&1) return TRUE;
else return FALSE;
}
• If the central signaling device is triggered, 758( is returned to the property, that is, the
horn is also displayed optically.
• This &$FWLRQ is triggered upon the change of the tag triggering the central audible
indicator.
WinCC Configuration Manual
C79000-G8276-C140-01
4-85
6DPSOH3URMHFWH[DPSOHB
C-Action for the Generation of Acoustical Signals
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#pragma code ("winmm.dll")
BOOL PlaySound(LPCSTR pszSound,HMODULE hMod,DWORD fdwSound);
#define SND_FILENAME 0x00020000L
#define SND_ASYNC 0x0001
#pragma code ()
char szProjectName[MAX_PATH];
CMN_ERROR Error;
char szSoundFilePath[MAX_PATH] = "";
char szSoundFile[MAX_PATH] = "Hupe.wav";
if (GetFlashFlashPicture(lpszPictureName,lpszObjectName)) {
if (DMGetRuntimeProject( szProjectName, MAX_PATH, &Error)) {
strncat(szSoundFilePath,szProjectName,strlen(szProjectName)strlen(strrchr(szProjectName,\\)+1));
strcat(szSoundFilePath,szSoundFile);
//MessageBeep((WORD)-1);
PlaySound(szSoundFilePath,NULL,SND_FILENAME| SND_ASYNC);
}
}
return 56;
}
• Loading of the ZLQPPGOO. This DLL contains the function for playing sound files.
• If the 6WDWXV'LVSOD\ object is flashing, the +XSHZDY file, located in the project folder,
is played. To do so, the project folder and file path must be determined via the
'0*HW5XQWLPH3URMHFW function.
• Calling of the 3OD\6RXQG function.
• The present &$FWLRQ is executed in one second cycles.
C-Action for Controlling the Height of the Message Window
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#define MAX_LINES 8
#define LINE_HEIGHT 18
WORD state1,state2,state3;
WORD count = 0;
static WORD Scount = 0;
state1=GetTagWord("U16i_ex_alg_01");
state2=GetTagWord("U16i_ex_alg_04");
state3=GetTagWord("U16i_ex_alg_07");
if (state1)
4-86
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
{
if
if
if
if
((state1&1)||(state1& 256))
((state1&2)||(state1& 512))
((state1&4)||(state1&1024))
((state1&8)||(state1&2048))
count++;
count++;
count++;
count++;
}
if (state2)
{
if ((state2&1)||(state2& 256))
if ((state2&2)||(state2& 512))
if ((state2&4)||(state2&1024))
if ((state2&8)||(state2&2048))
}
if (state3)
{
if ((state3&1)||(state3& 256))
if ((state3&2)||(state3& 512))
if ((state3&4)||(state3&1024))
if ((state3&8)||(state3&2048))
}
count++;
count++;
count++;
count++;
count++;
count++;
count++;
count++;
if ((count==MAX_LINES)&&(Scount==(MAX_LINES+1)))
{
Scount=count;
SetTagBit("BINi_ex_alg_03",
(SHORT)!GetTagBit("BINi_ex_alg_03"));
return (2+LINE_HEIGHT+LINE_HEIGHT*count);
}
else if (count<=MAX_LINES)
{
Scount=count;
return (2+LINE_HEIGHT*count);
}
else
{
Scount=count;
return ((LINE_HEIGHT*MAX_LINES)+2);
}
}
• Definition of the line height and the maximum number of lines to be displayed.
• Input of the status tags of the three containers.
• Determination of the number of messages visible in the window.
• Calculation of the window height. If all messages do not fit in the message window, the
message window will temporarily be expanded beyond its maximum size. This allows
the scroll bars to be removed if auto-scroll is deactivated. If the message window
contains fewer lines than can be displayed, the height of the window is calculated by
multiplying the number of lines by the line height. If the number of lines is greater than
the maximum value, a maximum height is preset.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The created message class must be adapted to your needs.
• The type of message window display must meet your requirements.
WinCC Configuration Manual
C79000-G8276-C140-01
4-87
6DPSOH3URMHFWH[DPSOHB
0HVVDJH:LQGRZH[BBFKDSWHUBE3'/
7DVN'HILQLWLRQ
Several processes are to be monitored via a message window. If a message comes in, a
button on the toolbar should allow you to jump to the window in which the error occurred.
The message window is created using the standard tools of the $ODUP/RJJLQJ editor, that
is, the standard toolbar and status bar are used.
,PSOHPHQWDWLRQ&RQFHSW
A message window template is created in $ODUP/RJJLQJ. This example will use the
messages and pictures created in the previous examples. A project function is required that
executes a picture change if the /RRS,Q$ODUP button on the toolbar is pressed.
In the *UDSKLFV'HVLJQHU, the message window is displayed using a 6PDUW2EMHFW→
$SSOLFDWLRQ:LQGRZ. No additional objects are needed.
1RWH
The configurations carried out in the previous two examples are considered complete. They
will not be described again, however, this example is based on them.
,PSOHPHQWDWLRQRIWKH([DPSOH
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQRIWKH([DPSOH
Open the $ODUP/RJJLQJ editor from the &RQWURO&HQWHU.
Create a new message window template by
7HPSODWHV entry.
85
on the 0HVVDJH:LQGRZ
The &RQILJXUH0HVVDJH:LQGRZV dialog box will be displayed.
2
4-88
In the *HQHUDO,QIRUPDWLRQ tab, enter 0HVVDJH:LQGRZB in the :LQGRZ entry
field and 0HVVDJH:LQGRZ in the :LQGRZ7LWOH entry field. As the :LQGRZ7\SH,
select 0HVVDJH:LQGRZ. 6HOHFWLRQ must not be performed, since all single
messages that occur are to be displayed.
In the 0HVVDJH/LQH tab, select the /LQHB message line format.
In the 3DUDPHWHUV tab, select the +RUL]RQWDO and 9HUWLFDO check-boxes from the
6HSDUDWLRQ/LQHV field. In the 6HOHFWLRQ field, select 1R6HOHFWLRQ. Select the /LQH
7LWOH and &ROXPQ7LWOH check-boxes. Select the $XWR6FUROOLQJ check-box.
In the 6WDWXV%DU tab, select the 'LVSOD\6WDWXV%DU check-box and %RWWRP from
the $OLJQPHQW field. As the (OHPHQWVRIWKH6WDWXV%DU, select 'DWH, 7LPH,
1XPEHURI0HVVDJHVLQWKH:LQGRZ, /RFN and 6HOHFWLRQ.
In the 7RROEDU tab, select the 'LVSOD\7RROEDU check-box and 7RS from the
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQRIWKH([DPSOH
field. As elements of the toolbar, select everything but the keys for
, 'LVSOD\6KRUW7HUP$UFKLYH, 'LVSOD\
6HTXHQFH$UFKLYH and &LW\&DOO)XQFWLRQV.
Close the dialog box by clicking on 2..
$OLJQPHQW
'LVSOD\3URFHVV0HVVDJH:LQGRZ
3
For each single message, /RRSLQ$ODUP must be set. This function enables a
direct picture change to the corresponding picture of the message. By default, the
function 2SHQ3LFWXUH is set for executing the picture change. In this example,
though, a separate function must be created that can execute a picture change in a
picture window. The calling parameters of this function are given by $ODUP
/RJJLQJ. In this example, the $/*/RRS,Q$ODUP function is created in the *OREDO
6FULSW editor. In the message window’s toolbar, the
must have been selected.
button for /RRSLQ$ODUP
8
In the table window of $ODUP/RJJLQJ,
' on the /RRSLQ$ODUP column to
display the /RRSLQ$ODUP dialog box of the selected single message.
As )XQFWLRQ1DPH, the $/*/RRS,Q$ODUP function is used. For the messages that
refer to the motors of the first example, the H[BBFKDSWHUB3'/ picture is used
as the 3LFWXUH1DPH3DUDPHWHU, for messages of the second example, the
H[BBFKDSWHUBD3'/ picture is used.
The configuration of the /RRSLQ$ODUP function can also be made from the
single message’s properties dialog box in the 7DJ$FWLRQ tab, /RRSLQ$ODUP field.
Save the configurations made in $ODUP/RJJLQJ.
4
Open the *UDSKLFV'HVLJQHU and create a new picture. In the example, this is the
WinCC Configuration Manual
C79000-G8276-C140-01
4-89
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQRIWKH([DPSOH
.
To display the configured message window template, a 6PDUW2EMHFW→
$SSOLFDWLRQ:LQGRZ is used. In the example, this is the $SSOLFDWLRQ:LQGRZ
object. Select $ODUP/RJJLQJ as the :LQGRZ&RQWHQW and 0HVVDJH:LQGRZB as
the 7HPSODWH. Via 3URSHUWLHV→0LVFHOODQHRXV, the attributes 7LWOH and %RUGHU
are set to <HV.
H[BBFKDSWHUBE3'/
ALGLoopInAlarm Project Function
void ALGLoopInAlarm(char* PictureName)
{
SetPictureName("ex_0_startpicture_00.PDL","workspace", PictureName);
}
• Call of the 6HW3LFWXUH1DPH function to execute the picture change. This function can
not be used directly in $ODUP/RJJLQJ, since the number and type of the call parameters
do not agree with the previous ones.
1RWH
In the message window template, a button in the toolbar has been provided to access the
report functions. The implementation of a message sequence report and its activation is
described in the example 0HVVDJH6HTXHQFH5HSRUWH[BBFKDSWHUBE3'/, in the
5HSRUW'HVLJQHU chapter.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The functions, configured for the individual messages, pertaining to the /RRSLQ$ODUP,
must be adapted to meet your needs.
• The type of message window display must meet your requirements.
4-90
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
0HVVDJH$UFKLYLQJH[BBFKDSWHUBF3'/
7DVN'HILQLWLRQ
A message archive is to be created, which is designed to hold 200 messages in the form of a
short-term archive. All archived messages are to be displayed in a message window.
The message window is to be controlled from a newly created toolbar. This toolbar should
contain two special buttons that allow the user to either display archived messages from
example 1 or example 2.
,PSOHPHQWDWLRQ&RQFHSW
A message window template is created in $ODUP/RJJLQJ. This example will use the
messages created in the previous examples. In addition, a message archive is configured.
In the *UDSKLFV'HVLJQHU, the message window is displayed using a 6PDUW2EMHFW→
$SSOLFDWLRQ:LQGRZ. The toolbar is implemented using multiple :LQGRZV2EMHFWV→
%XWWRQV, 6PDUW2EMHFWV→6WDWXV'LVSOD\V and 6PDUW2EMHFWV→*UDSKLF2EMHFWV. A
project function is needed that performs a defined selection in the message window if the
selection buttons are activated.
6HWXSRIWKH5HTXLUHG7DJV
6WHS
1
3URFHGXUH6HWXSRIWKH5HTXLUHG7DJV
Create a total of three tags of the %LQDU\7DJ type. In the example, these are the
%,1LBH[BDOJB, %,1LBH[BDOJB and %,1LBH[BDOJB tags.
1RWH
The configurations carried out in the previous two examples are considered complete. They
will not be described again, however, this example is based on them.
,PSOHPHQWDWLRQLQ$ODUP/RJJLQJ
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQ$ODUP/RJJLQJ
Open the $ODUP/RJJLQJ editor from the &RQWURO&HQWHU.
8
Create a new message window template by
5 on the 0HVVDJH:LQGRZ
7HPSODWHV entry. The &RQILJXUH0HVVDJH:LQGRZV dialog box will be displayed.
In the *HQHUDO,QIRUPDWLRQ tab, enter 0HVVDJH:LQGRZB in the :LQGRZ entry
field, a separate :LQGRZ7LWOH is not needed. As the :LQGRZ7\SH, select 6KRUW
7HUP$UFKLYH:LQGRZ. 6HOHFWLRQ must not be performed, since all archive
messages are to be displayed.
In the 0HVVDJH/LQH tab, select the /LQHB message line format.
In the 3DUDPHWHUV tab, select the +RUL]RQWDO and 9HUWLFDO check-boxes from the
6HSDUDWLRQ/LQHV field. In the 6HOHFWLRQ field, select &HOO. Select the /LQH7LWOH and
&ROXPQ7LWOH check-boxes. Select the $XWR6FUROOLQJ check-box.
In the 6WDWXV%DU and 7RROEDU tabs, deselect the check-boxes for displaying the
status bar and toolbar.
Close the dialog box by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-91
6DPSOH3URMHFWH[DPSOHB
6WHS
2
85
3URFHGXUH,PSOHPHQWDWLRQLQ$ODUP/RJJLQJ
on the $UFKLYHV entry and select "Add/Remove" to open the $UFKLYH
dialog box.
3DUDPHWHU$VVLJQPHQW
Select the "Short-Term Archive Active" check-box.
8
In the right window, the icon for the short-term archive will now be displayed.
5 on this icon will display its properties.
The archive is to be stored on the hard disk. In the 1XPEHURI0HVVDJHV entry
box, enter . 6HOHFWLRQ is not performed.
4-92
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ$ODUP/RJJLQJ
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
To display the configured message window template, a 6PDUW2EMHFW→
$SSOLFDWLRQ:LQGRZ is used. In the example, this is the $SSOLFDWLRQ:LQGRZ
object. Select $ODUP/RJJLQJ as the :LQGRZ&RQWHQW and 0HVVDJH:LQGRZB as
the 7HPSODWH.
2
For the toolbar, configure several :LQGRZV2EMHFWV→%XWWRQV, which simulate
the pressing of individual buttons of the standard toolbar via special standard
functions.
The %XWWRQ object replaces the button for the horn acknowledgement. Create a
&$FWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ, which calls the
2Q%WQ+RUQ$FNQSV]0VJ:LQ standard function. As SV]0VJ:LQ transfer
parameter, enter the name of the message window template. This button
acknowledges the central signaling device, which is triggered by some of the
configured messages. Using a 6PDUW2EMHFW→*UDSKLF2EMHFW, which is placed
on top of the button, this button can be made inoperational. This occurs, if no
signal is present at the tag triggering the central signaling device.
3
Additionally, configure a %XWWRQ for single acknowledgement, a %XWWRQ for group
acknowledgement, a %XWWRQ for calling the selection dialog box and a %XWWRQ for
calling the infotext dialog box. The corresponding standard functions are:
2Q%WQ6LQJO$FNQSV]0VJ:LQ
2Q%WQ9LVLEOH$FNQSV]0VJ:LQ
2Q%WQ,QIRSV]0VJ:LQ
WinCC Configuration Manual
C79000-G8276-C140-01
4-93
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
2Q%WQ6HOHFWSV]0VJ:LQ
4
As replacement for the button turning the auto-scroll function on/off, a 6PDUW
2EMHFW→6WDWXV'LVSOD\ is used. In the example, this is the 6WDWXV'LVSOD\
object.
At 3URSHUWLHV→6WDWH→&XUUHQW6WDWXV, create a 7DJ&RQQHFWLRQ to the
%,1LBH[BDOJB tag. This tag contains information whether auto-scrolling is
turned on or off. A &$FWLRQ is created at (YHQWV→0RXVH→3UHVV/HIW, which
toggles the %,1LBH[BWOJB tag and calls the 2Q%WQ6FUROOSV]0VJ:LQ standard
function. At the opening of the picture, the %,1LBH[BDOJB tag is set to , since
auto-scroll is turned on if the message window is newly selected.
5
If auto-scroll is turned off, four special keys should enable you to navigate in the
message window. These keys replace the corresponding keys of the standard
toolbar with the following standard functions:
2Q%WQ0VJ)LUVWSV]0VJ:LQ
2Q%WQ0VJ/DVWSV]0VJ:LQ
2Q%WQ0VJ1H[WSV]0VJ:LQ
2Q%WQ0VJ3UHYSV]0VJ:LQ
These buttons can be made inoperational via a 6PDUW2EMHFW→*UDSKLF2EMHFW,
which positions itself over the buttons if auto-scrolling is turned on. This is
accomplished via a 7DJ&RQQHFWLRQ to the %,1LBH[BDOJB tag at 3URSHUWLHV→
0LVFHOODQHRXV→'LVSOD\.
6
Use of two 6PDUW2EMHFWV→6WDWXV'LVSOD\V to switch between the 0HVVDJH
:LQGRZ and 6KRUW7HUP$UFKLYH:LQGRZ display types. The current status of the
message window is stored in the %,1LBH[BDOJB tag, which must be set to zero
at the opening of the picture, since the message window is displayed as 6KRUW
7HUP$UFKLYH:LQGRZ first if called.
Create a 7DJ&RQQHFWLRQ for the 6WDWXV'LVSOD\ object at 3URSHUWLHV→6WDWH→
&XUUHQW6WDWXV to the %,1LBH[BDOJB tag. Create a '\QDPLF'LDORJ at 3URSHUWLHV
→0LVFHOODQHRXV→2SHUDWRU&RQWURO(QDEOH, which enables the operation of
the object only, if the message window displays the short-term archive, i.e. the
%,1LBH[BDOJB tag has the status of 0. Create a &$FWLRQ at (YHQWV→0RXVH→
3UHVV/HIW, which simulates the pressing of the corresponding button on the
standard toolbar and toggles the %,1LBH[BDOJB tag. Do the same to configure
the 6WDWXV'LVSOD\ object. The following standard functions are used:
2Q%WQ0VJ:LQSV]0VJ:LQ
2Q%WQ$UF6KRUWWSV]0VJ:LQ
7
4-94
Use two additional :LQGRZV2EMHFWV→%XWWRQV to allow direct selections to be
made in the message window. It should be possible to select messages referring
to the motors or messages referring to the containers. The selection is executed
by a project function created in the *OREDO6FULSW editor, which receives the
message numbers between which the displayed messages are lying. In the
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
example, this function is named 6HW0VJ1U6HOHFWLRQ.
8
An additional :LQGRZV2EMHFW→%XWWRQ is used to call the
2Q%WQ3ULQWSV]0VJ:LQ function for reporting. If this button is activated, the
content of the short-term archive will be printed out. If a selection has been made
in the window, only the selected messages will be printed.
The system print job 5HSRUW$ODUP/RJJLQJ575HYROYLQJ$UFKLYH is called. By
default, the 3DJH/D\RXW DOJXPDUSO is used. This page layout must be adapted or
exchanged. The steps to do this are described in the example 0HVVDJH
$UFKLYH5HSRUWH[BBFKDSWHUBF3'/, in the 5HSRUW'HVLJQHU chapter.
Project Function for Setting a Selection
BOOL SetMsgNrSelection(DWORD dwFrom, DWORD dwTo, LPSTR MsgTem)
{
PCMN_ERROR
BOOL
MSG_FILTER_STRUCT
pError;
fRet;
Filter;
memset(&Filter, \0, sizeof( MSG_FILTER_STRUCT ) );
strcpy( Filter.szFilterName, MsgTem);
Filter.dwFilter = MSG_FILTER_NR_FROM|MSG_FILTER_NR_TO;
Filter.dwMsgNr[0] = dwFrom;
Filter.dwMsgNr[1] = dwTo;
fRet = MSRTSetMsgWinFilter( &Filter, pError );
if (fRet == FALSE)
{
printf("Error MSRTSetMsgWinFilter\r\n" );
return FALSE;
}
else
return TRUE;
}
• Reservation of space for the created )LOWHU filter structure.
• Assignment of values to the, for this application relevant, structure member of the file
structure. As the V])LOWHU1DPH, the name of the message window template, to which the
filter is referring to, must be used. In the GZ0VJ1U array, enter the start and end values
of the message numbers to be selected. These values are supplied as transfer parameters
while the function is called. The GZ)LOWHU switch is set to identify the file structure as a
number filter.
• Call of the 06576HW0VJ:LQ)LOWHU API function, which applies the created filter to the
selected message window template.
WinCC Configuration Manual
C79000-G8276-C140-01
4-95
6DPSOH3URMHFWH[DPSOHB
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The type of message window display must meet your requirements.
• The appearance and elements of the toolbar should be adapted to meet your needs.
4-96
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
:LQ&&$ODUP&RQWUROH[BBFKDSWHUBG3'/
7DVN'HILQLWLRQ
A message window is to be configured that switches between the short-term archive
window and message window display types. However, no message window template is to
be used to display the window, but the :LQ&&$ODUP&RQWURO OCX. By using this object,
the toolbar and status bar must be created in the *UDSKLFV'HVLJQHU.
,PSOHPHQWDWLRQ&RQFHSW
By using an OCX, no message line format or message window template must be created in
$ODUP/RJJLQJ. However, single messages must still be created. In the example, the single
messages created in the first two examples of this chapter are used.
In the *UDSKLFV'HVLJQHU, the message window is configured as a 6PDUW2EMHFW→2/(
&RQWURO. The toolbar is implemented using multiple :LQGRZV2EMHFWV→%XWWRQV, 6PDUW
2EMHFWV→6WDWXV'LVSOD\V and 6PDUW2EMHFWV→*UDSKLF2EMHFWV.
1RWH
The configurations carried out in the previous two examples are considered complete. They
will not be described again, however, this example is based on them. The configuration of
the short-term archive is described in the example 0HVVDJH$UFKLYLQJ
H[BBFKDSWHUBF3'/.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
In Tag Management, create two tags of the %LQDU\7DJ type. In the example,
these are the %,1LBH[BDOJB and %,1LBH[BDOJB tags.
2
To display the message window, a 6PDUW2EMHFW→2/(&RQWURO is used. In the
example, this is the &&$OJ:LQ&WUO object.
After placing the object, the ,QVHUW2/(&RQWURO2&; dialog box is
automatically displayed. Select the :LQ&&$ODUP&RQWURO entry from the list and
exit the dialog box by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-97
6DPSOH3URMHFWH[DPSOHB
6WHS
3
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
The 2/(2EMHFW will be displayed as follows:
8
' on this object to open the :LQ&&$ODUP&RQWURO3URSHUWLHV dialog box.
Settings are made in this dialog box that are normally made in $ODUP/RJJLQJ
while creating a message window template and message line format.
In the 6W\OH tab, select 6KRUW7HUP$UFKLYH:LQGRZ from the :LQGRZ7\SH field.
In the 3DUDPHWHUV tab, select the +RUL]RQWDO and 9HUWLFDO check-boxes from the
6HSDUDWLRQ/LQHV field. Select line and column title, as well as auto-scrolling. In
the 6HOHFWLRQ field, set 1R6HOHFWLRQ.
4-98
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
In the 0HVVDJH/LQH tab, the message blocks displayed in the message line are
selected. The message blocks configured in $ODUP/RJJLQJ are marked by a at
the beginning. For this example, all message blocks created in $ODUP/RJJLQJ are
selected for the message line.
Apply the settings made in this dialog box by clicking on 2..
4
8'
on the just created object while holding down the CRTL key, activates the
OCX in the *UDSKLFV'HVLJQHU and gives you a preview of its appearance.
If runtime is activated, the OCX will receive relevant data of the $ODUP/RJJLQJ.
WinCC Configuration Manual
C79000-G8276-C140-01
4-99
6DPSOH3URMHFWH[DPSOHB
6WHS
5
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
To control the :LQ&&$ODUP&RQWURO, a user-defined toolbar must used. The
configuration of the individual elements of the toolbar has been described in
detail in the example 0HVVDJH$UFKLYLQJH[BBFKDSWHUBF3'/, in the
table ,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU. The standard functions used
there are to be replaced by functions that control the :LQ&&$ODUP&RQWURO.
These functions have the same names as their counterparts used to control
message window templates in application windows, however, the character string
$;&B precedes them. They also differ in the way they are supplied with
parameters. These functions require the picture and object names as transfer
parameters. The functions used in the example are:
•
$;&B2Q%WQ+RUQ$FNQOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ6LQJO$FNQOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ9LVLEOH$FNQOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ6FUROOOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ0VJ)LUVWOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ0VJ/DVWOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ0VJ1H[WOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ0VJ3UHYOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ0VJ:LQOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
•
$;&B2Q%WQ$UF6KRUWWOSV]3LFWXUH1DPHOSV]2EMHFW1DPH
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The type of message window display must meet your requirements.
• The appearance and elements of the toolbar should be adapted to meet your needs.
4-100
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
*URXS0HVVDJHVH[BBJHQHUDWRUB3'/
8
In runtime, this example is accessed by clicking on the %XWWRQ displayed above using the
. The message generator can be turned on by selecting the $FWLYH check-box contained in
this picture. Messages will then be generated in 10 second cycles.
7DVN'HILQLWLRQ
Warnings are to be displayed in a picture that point out the presence of a certain type of
message.
The messages have already been created in the examples %LW0HVVDJH3URFHGXUH
&RQWLQXHG and $QDORJ$ODUPVFRQWLQXHG and can be taken over. Warnings and
alarms pending in the container picture and errors occurring in the motor picture are to be
pointed out. The alarm has priority over the error and warning. If a message is pending, a
button should enable the user to jump to the corresponding picture.
,PSOHPHQWDWLRQ&RQFHSW
The single messages to be monitored are combined into one group message. If one of the
single messages is generated, the group message will also be generated. A status tag and
status bit is assigned to this message.
Via a 6PDUW2EMHFW→6WDWXV'LVSOD\, the current status of this tag is analyzed and a
corresponding symbol displayed.
1RWH
The configurations carried out in the previous two examples are considered complete. They
will not be described again, however, this example is based on them.
6HWXSRIWKH5HTXLUHG7DJV
6WHS
1
3URFHGXUH6HWXSRIWKH5HTXLUHG7DJV
In Tag Management, set up a total of three tags of the 8QVLJQHG%LW9DOXH
type. In the example, these are the 8LBH[BDOJB, 8LBH[BDOJB and
8LBH[BDOJB tags. They serve as status, lock and acknowledge tags.
*HQHUDO,QIRUPDWLRQ
If a new message class is created, a group message for this message class will also be
created automatically. All messages within this message class are accepted into the group
message. The properties of the message classes and message types of the group message
can be changed independently of each other and therefore be linked to various status, lock
and acknowledge tags.
This example assumes that there are additional pictures using the same message classes.
This means that the automatically generated group messages can not be used, since the
group messages also try to identify the picture, from which the message originated.
Therefore, user-defined group messages must be created.
WinCC Configuration Manual
C79000-G8276-C140-01
4-101
6DPSOH3URMHFWH[DPSOHB
&UHDWLRQRIQHZ*URXS0HVVDJHV
6WHS
1
3URFHGXUH&UHDWLRQRIQHZ*URXS0HVVDJHV
8'
Open the $ODUP/RJJLQJ editor.
8
on the *URXS0HVVDJHV entry. This will display the 0HVVDJH&ODVV and
entries.
5 on the 8VHU'HILQHG entry and select "Add Group
Message" to display the 1HZ*URXS0HVVDJH dialog box.
8VHU'HILQHG
2
Enter &RQWDLQHU$ODUP in the 1DPH entry field. As the 6WDWXV, /RFN and
$FNQRZOHGJH tags, set the tags created previously. Enter as the bit numbers.
Close the dialog box by clicking on 2.. Create two additional group messages
that use the same 6WDWXV, /RFN and $FNQRZOHGJH tags, but enter the bitnumber 1
and 2, respectively. The right window will display the icons of the newly created
group messages.
4-102
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3
3URFHGXUH&UHDWLRQRIQHZ*URXS0HVVDJHV
85
on one of the icons and select "Add Single Message" to open the 1HZ
dialog box. For each group message, enter the message
numbers of the corresponding single messages and close the dialog boxes by
clicking on 2..
6LQJOH0HVVDJHV
4
8
In the navigation window,
' on the 8VHU'HILQHG entry will display the
individual group messages as sub entries. If one of these group messages is
, the right window will display the icons of all added single
selected using the
messages.
8
The following picture displays the single messages of the &RQWDLQHU$ODUP group
message.
WinCC Configuration Manual
C79000-G8276-C140-01
4-103
6DPSOH3URMHFWH[DPSOHB
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
4-104
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
Create a new picture in the *UDSKLFV'HVLJQHU. In the example, this is the
H[BBJHQHUDWRUB3'/.
In this picture, configure a 6PDUW2EMHFW→6WDWXV'LVSOD\, which displays the
current status of the group messages. In the example, this is the 6WDWXV'LVSOD\
object. The status of the group messages is stored in the 8LBH[BDOJB tag, as
configured in $ODUP/RJJLQJ.
A bitmap must be designed for each status. This means bitmaps are required for
the three unacknowledged states, the three acknowledged states and the "no
message present" state. Create a &$FWLRQ at 3URSHUWLHV→6WDWH→&XUUHQW
6WDWXV, which controls the status depending on the 8LBH[BDOJB tag and the
requested priority.
2
Additionally, configure a :LQGRZV2EMHFW→%XWWRQ, which performs, in the case
of a displayed group message, the picture change to the picture in which the
message occurred. In the example, this is the %XWWRQ object.
Using a &$FWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ, the current status of the
group messages is retrieved and the picture change performed accordingly. If no
message is pending, a :LQGRZV2EMHFW→%XWWRQ is placed on top of the just
described %XWWRQ. This new button has the purpose of making the other button
inoperational and of optically displaying that inoperability. Set the 3URSHUWLHV→
0LVFHOODQHRXV→2SHUDWRU&RQWURO(QDEOH to 1R.
3
Configure an additional :LQGRZV2EMHFW→%XWWRQ, which allows the currently
displayed group message to be acknowledged. In the example, this is the %XWWRQ
object.
Configure &$FWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ, which determines if a
group message is to be acknowledged (and if yes, which one). If a message is to
be acknowledged, the corresponding bit in the configured 8LBH[BDOJB
acknowledge tag is set and then reset. If no unacknowledged message is pending,
an additional :LQGRZV2EMHFW→%XWWRQ is positioned on top of the just described
%XWWRQ to make it inoperational and optically display that inoperability. Set the
3URSHUWLHV→0LVFHOODQHRXV→2SHUDWRU&RQWURO(QDEOH to 1R.
4
Configure an additional picture. In the example, this is the
H[BBJHQHUDWRUB3'/.
In this picture, three :LQGRZV2EMHFWV→&KHFN%R[HV are configured. In the
example, these are the &KHFN%R[, &KHFN%R[ and &KHFN%R[ objects.
Create a &$FWLRQ each at (YHQWV→3URSHUW\7RSLFV→2XWSXW,QSXW→6HOHFWHG
%R[HV, which locks are enables the corresponding group message. Each lock is
displayed in the 8LBH[BDOJB tag as configured in $ODUP/RJJLQJ. Since a
lock can also be set from the other side, a &$FWLRQ must be created at 3URSHUWLHV
→2XWSXW,QSXW→6HOHFWHG%R[HV. This action is triggered upon the change of
the 8LBH[BDOJB tag and checks, if the status of the lock controlled by the
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
&KHFN%R[
5
has changed.
In the picture created first (H[BBJHQHUDWRUB3'/), create a 6PDUW2EMHFW→
3LFWXUH:LQGRZ and set the H[BBJHQHUDWRUB3'/ at 3URSHUWLHV→
0LVFHOODQHRXV→3LFWXUH1DPH. Set 1R at 3URSHUWLHV→0LVFHOODQHRXV→
'LVSOD\.
An additional :LQGRZV2EMHFW→%XWWRQ is needed that makes the previously
configured 3LFWXUH:LQGRZ visible via a 'LUHFW&RQQHFWLRQ at (YHQWV→0RXVH
→0RXVH$FWLRQ.
C-Action for Determining the Current Status
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
WORD state;
state = GetTagWord("U16i_ex_alg_20");
if ((state&1)&&(state&256)) return 6;
else if ((state&2)&&(state&512)) return 5;
else if (state&1) return 3;
else if ((state&4)&&(state&1024)) return 4;
else if (state&2) return 2;
else if (state&4) return 1;
else return 0;
}
• Reading out of the status tag described by $ODUP/RJJLQJ.
• Setting of the current status depending on this tag. If multiple group messages are
pending, the user-definable order of priority decides which message will be displayed.
In this example, the order of priority, starting with the highest priority level, looks as
follows:
•
Container Alarm
•
Motor Error
•
Acknowledged Container Alarm
•
Container Warning
•
Acknowledged Motor Error
•
Acknowledged Container Warning
WinCC Configuration Manual
C79000-G8276-C140-01
4-105
6DPSOH3URMHFWH[DPSOHB
C-Action for Performing the Picture Change
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
int value;
value = GetIndex(lpszPictureName,"Status Display1");
if ((value==2)||(value==5))
SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_02.PDL");
else if (value>0)
SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_02a.PDL");
}
• Determination of the currently displayed status of the status display.
• Depending on the displayed status, the picture change is performed. If the status is 0, no
action will be performed.
C-Action for the Acknowledgement of a Displayed Message
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
WORD state;
state = GetTagWord("U16i_ex_alg_20");
if ((state&1)&&(state&256)){
SetTagWord("U16i_ex_alg_22",
(WORD)(1|GetTagWord("U16i_ex_alg_22")));
SetTagWord("U16i_ex_alg_22",
(WORD)(~1&GetTagWord("U16i_ex_alg_22")));
}
else if ((state&2)&&(state&512)){
SetTagWord("U16i_ex_alg_22",
(WORD)(2|GetTagWord("U16i_ex_alg_22")));
SetTagWord("U16i_ex_alg_22",
(WORD)(~2&GetTagWord("U16i_ex_alg_22")));
}
else if ((state&4)&&(state&1024)){
SetTagWord("U16i_ex_alg_22",
(WORD)(4|GetTagWord("U16i_ex_alg_22")));
SetTagWord("U16i_ex_alg_22",
(WORD)(~4&GetTagWord("U16i_ex_alg_22")));
}
}
• Reading in of the current status of the group messages.
• If a message to be acknowledged is pending, it will be acknowledged. If multiple
messages to be acknowledged are pending, the on with the highest priority will be
acknowledged.
4-106
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
C-Action for Setting a Lock
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, long value)
{
DWORD dwServiceID;
MSG_RTGROUPSET_STRUCT mGroup;
CMN_ERROR Error;
BOOL fRet;
time_t Time;
struct tm*
TimeStruct;
time(&Time);
TimeStruct = localtime(&Time);
mGroup.stTime.wYear=(WORD)(TimeStruct->tm_year+1900);
mGroup.stTime.wMonth=(WORD)(TimeStruct->tm_mon+1);
mGroup.stTime.wDay=(WORD)(TimeStruct->tm_mday);
mGroup.stTime.wHour=(WORD)(TimeStruct->tm_hour);
mGroup.stTime.wMinute=(WORD)(TimeStruct->tm_min);
mGroup.stTime.wSecond=(WORD)(TimeStruct->tm_sec+1);
mGroup.fIDUsed=FALSE;
strcpy(mGroup.szName,"Container Alarm");
mGroup.dwData=value;
MSRTStartMsgService(&dwServiceID,NULL,NULL,
MSG_NOTIFY_MASK_ALL,(LPVOID)0,&Error);
fRet=MSRTLockGroup (dwServiceID,&mGroup,&Error);
if (fRet==FALSE)
printf("Error in MSRTLockGroup(:::)
%s\r\n",Error.szErrorText);
else printf("Executed MSRTLockGroup(:::) \r\n");
MSRTStopMsgService (dwServiceID,&Error );
}
• Definition of the required tags. P*URXS is a structure that must be transferred to the
function setting the lock.
• Determination of the current system time. This value is given to the VW7LPH structure
member of the SYSTEMTIME type.
• The I,'8VHG structure member indicates, if the desired group message, which is to be
locked or enabled, is identified using its name or ID. The value of FALSE determines
that the group message is to be identified using its name.
•
•
V]1DPH
contains the name of the desired group message.
GZ'DWH indicates, if it should be set or enabled. The current status is transferred to the
check-box.
• Starting of the message service via the 06576WDUW0VJ6HUYLFH function.
• Calling of the function for locking or enabling the 0657/RFN*URXS group message.
• Termination of the message service via the 06576WRS0VJ6HUYLFH function.
WinCC Configuration Manual
C79000-G8276-C140-01
4-107
6DPSOH3URMHFWH[DPSOHB
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The single messages grouped into a group message must be adapted to meet your needs.
• The display of the group messages, the display priority order as well as the picture
changes to be performed must be adapted.
4-108
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
5HSRUW'HVLJQHU
8
In runtime, the examples pertaining to this topic can be selected by clicking on the button
. The examples are configured in the H[BBFKDSWHUB3'/.
displayed above with the
Additional examples are spread out throughout the example project.
*HQHUDO,QIRUPDWLRQ
The 5HSRUW'HVLJQHU is part of the WinCC basic package and offers functions for the
creation and output of reports. Creation comprises the creation of the report layout in the
configuration system of the 5HSRUW'HVLJQHU, output comprises the printing of these reports.
1RWH
The supplied system layouts can be used directly, or be copied and modified to meet your
needs. The names of the system layouts and system print jobs are always preceded by the
# symbol.
WinCC Configuration Manual
C79000-G8276-C140-01
4-109
6DPSOH3URMHFWH[DPSOHB
3LFWXUH'RFXPHQWDWLRQH[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
Comprehensive documentation of all pictures contained in a project is to be generated. The
picture documentation should contain a graphical display, general information about the
picture, a listing of all contained objects and a listing of all set picture properties.
,PSOHPHQWDWLRQ&RQFHSW
A system layout is available that satisfies all of these requirements. It is the #3'/3LFUSO
layout. This layout is copied and adapted to meet your needs.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
Open the 5HSRUW'HVLJQHU editor from the &RQWURO&HQWHU.
Open the #3'/3LFUSO system layout via )LOH→2SHQ and save it under a new
name via )LOH→6DYH$V. In the example, the name 3'/SLFWXUHUSO is used.
2
85
on a blank area within the layout to open its properties dialog box.
In the 3URSHUWLHV tab, general geometric properties can be set at the *HRPHWU\
entry.
4-110
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
The 0LVFHOODQHRXV entry allows you to add a cover sheet or final page. In the
example, a cover sheet is used.
3
Clicking on the
button from the toolbar enables the editing of the static
picture part, while clicking on the
button enables the editing of the dynamic
picture part.
The dynamic part of the report contains a '\QDPLF2EMHFW→(PEHGGHG/D\RXW.
In the example, this is the (PEHG/D\RXW dynamic object, which is not to be
changed. The embedded layout is the #3'/SLFWXUHFRPSDFWUSO layout.
This layout can be opened and its elements be changed to meet your needs. It is
recommended to make a copy of this layout first and then to edit the copy. If
changes are made to the layout, this layout must be set in the initial layout at the
(PEHG/D\RXW object via 3URSHUWLHV→0LVFHOODQHRXV→/D\RXW)LOH.
4
The static part of the report contains a header and a footer.
The footer contains the 6\VWHP2EMHFWV 'DWH7LPH, 3DJH1XPEHU, 3URMHFW1DPH
and /D\RXW1DPH.
The header contains two 6WDWLF2EMHFWV→6WDWLF7H[WV and one 6\VWHP2EMHFW→
3URMHFW1DPH. Additionally, a logo is displayed via a 6WDWLF2EMHFW→2/(
(OHPHQW. Change the text of the 6WDW7H[W to 3LFWXUH'RFXPHQWDWLRQ. To display
your own logo, delete the current 2OH2EMHFW. Configure a new 6WDWLF2EMHFW→
2/((OHPHQW. In the ,QVHUW2EMHFW dialog box, which is displayed after placing
the object in the report, select &UHDWHIURP)LOH and set the bitmap file containing
your logo. Close the dialog box by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-111
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
Save the configurations made in the 5HSRUW'HVLJQHU.
5
4-112
button on the toolbar switches among the cover
Clicking on the
sheet, report contents and final page.
The example’s cover sheet contains two 6WDWLF2EMHFWV→6WDWLF7H[WV and a 6WDWLF
2EMHFW→2/((OHPHQW.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6HWXSRI3ULQW-RE
6WHS
1
85
3URFHGXUH6HWXSRI3ULQW-RE
In the &RQWURO&HQWHU,
on "Print Job" and select "New Print Job".
8' 85
The right window will display the new print job using the default name 3ULQW
-RE, in addition to the already existing print jobs.
print job to display its properties dialog box.
or
on the new
2
In the 3ULQW-RE tab, replace the default name in the 1DPH entry field by
3ULQWMREB3'/. As the /D\RXW, set the previously created layout 3'/SLFWXUHUSO.
In the 6HOHFWLRQ tab, the area to be printed is set. In the 3DJH5DQJH field, select
$OO. In the example, a set 7LPH5DQJH has no influence on the print job.
In the 3ULQWHU6HWXS tab, the printer is selected. You can also choose to print the
data to a file.
3
In the &RQWURO&HQWHU,
5 on the print job and selecting "Print the Print Job"
starts the print job. The print job can also be previewed first.
4
In the example project, a print job preview can be displayed via a :LQGRZV
2EMHFW→%XWWRQ. This is the %XWWRQ object in the H[BBFKDSWHUB3'/.
8
Create a &$FWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ, which activates the
preview of the corresponding print job.
WinCC Configuration Manual
C79000-G8276-C140-01
4-113
6DPSOH3URMHFWH[DPSOHB
C-Action for Starting a Print Job
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
RPTJobPreview("PrintJob_PDL");
}
• Calls the 537-RE3UHYLHZ standard function. As transfer parameter, the name of the
print job is used.
1RWH
If the layout, inserted into the report layout of the 5HSRUW'HVLJQHU editor, is open, the
preview and the print job can not be started.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The created layout can be accepted without modifications. However, changes might
become necessary for the logo and the information displayed in the report. These
changes are carried out as described in step 3 and 4 of ,PSOHPHQWDWLRQLQWKH5HSRUW
'HVLJQHU.
4-114
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
5HSRUWLQJWKH3URMHFW)XQFWLRQH[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
All created project functions of a project are to be reported. General information and the
source code of each project function are to be printed out.
,PSOHPHQWDWLRQ&RQFHSW
A system layout is available that satisfies all of these requirements. It is the
#*6&B53)&USO layout. This layout is copied and adapted to meet your needs. This layout
contains an inserted layout that must also be adapted.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQWURO&HQWHU, open the #*6&B53)&USO system layout by
85
on it.
Save this system layout under a new name via )LOH→6DYH$V. In the example,
the name JVFBSURMHFWIXQFWLRQUSO is used.
2
3
4
8
5 on a blank
In the properties dialog box of the layout, which is accessed by
area within the report, select the &RYHU6KHHW entry from 0LVFHOODQHRXV. Accept
the remaining settings.
The static part of the report contains a header and a footer.
The footer contains the 6\VWHP2EMHFWV 'DWH7LPH, 3DJH1XPEHU, 3URMHFW1DPH
and /D\RXW1DPH.
The header and footer both contain a 6WDWLF2EMHFW→5HFWDQJOH as the
background. Via 3URSHUWLHV→&RORUV→%DFNJURXQG&RORU, set the background
color of these rectangles to /LJKW*UD\.
The header contains two additional 6WDWLF2EMHFWV→6WDWLF7H[WV and one 6\VWHP
2EMHFW→3URMHFW1DPH. The existing 2OH2EMHFW, which displays the logo, is
deleted. It is replaced by a 6WDWLF2EMHFW→6WDWLF0HWDILOH. In the example, this is
the 6WDW0HWDILOH. Via 3URSHUWLHV→0LVFHOODQHRXV→0HWDILOH1DPH, an
existing metafile is set. In the example, this is the ORJRHPI file containing the
WinCC logo.
If 6WDWLF0HWDILOHV are used, be sure to link them to the report layout. If the path to
the corresponding file changes, the layout must be updated.
The example’s cover sheet contains two 6WDWLF2EMHFWV→6WDWLF7H[WV and a 6WDWLF
2EMHFW→2/((OHPHQW.
WinCC Configuration Manual
C79000-G8276-C140-01
4-115
6DPSOH3URMHFWH[DPSOHB
6WHS
5
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
The dynamic part of the report consists of a '\QDPLF2EMHFW→(PEHGGHG
/D\RXW. In the example, this is the (PEHG/D\RXW object. As the embedded layout,
the system layout #JVFUSIFUSO is used.
Open the system layout #JVFUSIFUSO and save it under a new name. In the
example, the name JVFBSURMLQWHUQUSO is used.
The static part of this layout contains no objects.
The dynamic part of this report contains two '\QDPLF2EMHFWV→'\QDPLF7H[WV.
In the example, these are the '\Q7H[W and '\Q7H[W objects.
The connection of the '\Q7H[W object to the *OREDO6FULSW data was established
as follows:
• Open the properties dialog box of the '\Q7H[W object.
• Select the &RQQHFW tab.
• Click on the
button to open the &RQQHFW dialog box.
• In the *OREDO6FULSW folder, select ,QIR from the 3URMHFW)XQFWLRQV and close
the dialog box by clicking on 2..
• The selected connection will then be displayed in the left window of the
&RQQHFW tab. If the 3URMHFW)XQFWLRQV entry is selected, the 6HOHFWLQJ(OHPHQWV
entry will be displayed. This means that a selection can be made. Click on this
entry using the
8
6HOHFWLQJ(OHPHQWV
6
7
to activate the
dialog box.
button. This button opens the
• In this dialog box, select $OO$YDLODEOH(OHPHQWV.
For the '\Q7H[W object, a connection was established as described above. The
exception being that 6RXUFH&RGH, instead of ,QIR, was selected.
Configuration of appropriate fonts. In the example, the '\Q7H[W object uses the
font $ULDO with a font size of SW. The font is also displayed 8QGHUOLQHG. The
'\Q7H[W object uses the &RXULHU1HZ font with a font size of SW. This font is
displayed in %ROG. The entire '\Q7H[W object was framed by a border using a
/LQH:HLJKW of .
Save the changes made to the embedded layout. Close the layout.
In the still open layout JVFBSURMHFWIXQFWLRQUSO, set the just created layout at the
(PEHG/D\RXW object via 3URSHUWLHV→0LVFHOODQHRXV→/D\RXW)LOH. This
layout replaces the previously set system layout.
Via &RQQHFW→3URMHFW)XQFWLRQV (in the 2EMHFW3URSHUWLHV dialog box of the
(PEHG/D\RXW object), a selection can now be made. Select the 6HOHFWLQJ
entry. This makes the
button operational, by which the
dialog box is accessed. In the example, $OO$YDLODEOH
(OHPHQWV has been selected. It is also possible to directly select the project
functions to be reported.
(OHPHQWV
6HOHFWLQJ(OHPHQWV
4-116
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
Save the configurations made in the 5HSRUW'HVLJQHU.
1RWH
The procedure of creating a new print job and executing that print job from the &RQWURO
&HQWHU or runtime, is described in the previous example under 6HWXSRI3ULQW-RE. The
settings can be made correspondingly.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The created layout can be accepted without modifications.
WinCC Configuration Manual
C79000-G8276-C140-01
4-117
6DPSOH3URMHFWH[DPSOHB
5HSRUWLQJRIWKH&RQWURO&HQWHUH[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
All tags of certain tag groups used in a project are to be documented. The tag
documentation should contain the tag name, tag type, its group, tag parameters and process
connection information.
,PSOHPHQWDWLRQ&RQFHSW
Configure a new layout in the 5HSRUW'HVLJQHU editor. This layout is not based on any
existing layout.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
85
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQWURO&HQWHU, create a new layout by
on /D\RXW.
8
The right window will display the new layout, using the default name
1HZ53/53/, in addition to the already existing ones.
5 on this layout and
select "Rename Layout" to give it a new name. In the example, the name
&RQWURO&HQWHUUSO is used.
2
3
4
4-118
8
Open the new layout in the 5HSRUW'HVLJQHU.
5 on a blank
In the properties dialog box of the layout, which is accessed by
area within the report, select the &RYHU6KHHW entry from 0LVFHOODQHRXV. Accept
the remaining settings.
In the static part of the report, various 6WDWLF2EMHFWV and 6\VWHP2EMHFWV are
configured for the header and footer.
The design of the cover sheet is a suggestion on which your own concept can be
based.
In the dynamic part of the report, a '\QDPLF2EMHFW→'\QDPLF7DEOH is
configured. In the example, this is the '\Q7DEOH object.
After the object is placed in the report, the &RQQHFW dialog box is displayed.
Select the 7DJV entry from the &RQWURO&HQWHU&6 folder. Close the dialog box by
clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
6
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQQHFW tab of the table’s properties dialog box, several selection options
are available.
8'
on one of the entries brings up its corresponding dialog box for selecting
data. If a selection was made, a red check-mark
will be displayed.
In the dialog box for selecting the tag parameters, select the 'DWD7\SH, *URXS,
3DUDPHWHUV and ([WHUQDO7DJ'DWD check-boxes. Also, select the &RPSDFW checkbox. This causes all tag data to be displayed in one line.
In the example, the following tag groups are selected: $ODUP/RJJLQJ and
$ODUP/RJJLQJ. However, this selection is only possible, if the $OO7DJ*URXSV
check-box has not been selected.
To make the selection of the tag groups effective, the $OO7DJV check-box must be
deselected in the tag selection’s dialog box.
WinCC Configuration Manual
C79000-G8276-C140-01
4-119
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
Save the settings made in the 5HSRUW'HVLJQHU.
1RWH
The procedure of creating a new print job and executing that print job from the &RQWURO
&HQWHU or runtime, is described in the first example of the 5HSRUW'HVLJQHU chapter under
6HWXSRI3ULQW-RE. The settings can be made correspondingly.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The created layout can be accepted without modifications.
4-120
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
5HSRUWLQJRI7DJ/RJJLQJ&6H[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
The configuration data of all process value archives created in a project are to be
documented. The documentation should contain the general archive data and the
configuration data of the individual archive tags.
,PSOHPHQWDWLRQ&RQFHSW
Configure a new layout in the 5HSRUW'HVLJQHU editor. This layout is not based on any
existing layout.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
2
3
4
85
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQWURO&HQWHU, create a new layout by
on /D\RXW.
The right window will display the new layout, using the default name
1HZ53/53/, in addition to the already existing ones.
5 on this name and
rename the layout to WOJBFVUSO.
8
8
Open the new layout in the 5HSRUW'HVLJQHU.
5 on a blank
In the properties dialog box of the layout, which is accessed by
area within the report, select the &RYHU6KHHW entry from 0LVFHOODQHRXV. Accept
the remaining settings.
In the static part of the report, various 6WDWLF2EMHFWV and 6\VWHP2EMHFWV are
configured for the header and footer.
The design of the cover sheet is a suggestion on which your own concept can be
based.
In the dynamic part of the report, a '\QDPLF2EMHFW→'\QDPLF7DEOH is
configured. In the example, this is the '\Q7DEOH object.
After the object is placed in the report, the &RQQHFW dialog box is displayed.
Select the 3URFHVV9DOXH$UFKLYH entry from the 7DJ/RJJLQJ&6 folder. Close
the dialog box by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-121
6DPSOH3URMHFWH[DPSOHB
6WHS
6
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQQHFW tab of the table’s properties dialog box, several selection options
are available.
8'
on one of the entries brings up its corresponding dialog box for selecting
data. If a selection was made, a red check-mark will be displayed.
In the archive selection dialog box of the "Archive Names" entry, select the $OO
$UFKLYHV check-box. In the process archive selection dialog box of the "Process
Archive Data" entry, select all data available.
Save the settings made in the 5HSRUW'HVLJQHU.
1RWH
The procedure of creating a new print job and executing that print job from the &RQWURO
&HQWHU or runtime, is described in the first example of the 5HSRUW'HVLJQHU chapter under
6HWXSRI3ULQW-RE. The settings can be made correspondingly.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The created layout can be accepted without modifications.
4-122
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
3ULQW2XWWKH7UHQG:LQGRZLQ5XQWLPHH[BBFKDSWHUBD3'/
7DVN'HILQLWLRQ
A trend window is to be printed out in runtime. It should be possible to set a time range for
the data to be printed.
This example is based on the &\FOLF6HOHFWLYH$UFKLYLQJH[BBFKDSWHUBD3'/
example in the 7DJ/RJJLQJ chapter. Its concepts will be utilized to print out the table
displayed in this example.
,PSOHPHQWDWLRQ&RQFHSW
Configure a new layout in the 5HSRUW'HVLJQHU editor. The time selection is not made in the
layout, but in runtime via a project function. This function will carry out the time selection
directly in the print job.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
8
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
5 on /D\RXW.
The right window will display the new layout in addition to the already existing
5 on it.
ones. Rename the layout to WOJB=6B3$BUSO by
In the &RQWURO&HQWHU, create a new layout by
8
2
Open the new layout in the 5HSRUW'HVLJQHU.
In the static part of the report, various 6WDWLF2EMHFWV and 6\VWHP2EMHFWV are
configured for the header and footer.
3
In the dynamic part of the report, three '\QDPLF2EMHFWV→'\QDPLF0HWDILOHV
are configured. In the example, these are the '\Q0HWDILOH, '\Q0HWDILOH and
'\Q0HWDILOH objects.
After placing the objects in the report, the &RQQHFW dialog box is displayed. For
all three objects, select the 7DJ7UHQG entry from the 7DJ/RJJLQJ5XQWLPH
folder. Close the dialog boxes by clicking on 2..
WinCC Configuration Manual
C79000-G8276-C140-01
4-123
6DPSOH3URMHFWH[DPSOHB
6WHS
4
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQQHFW tab of the '\QDPLF0HWDILOHV
properties dialog box, several
selection options are available.
8'
on one of the entries brings up its corresponding dialog box for selecting
data. If a selection was made, a red check-mark will be displayed.
A 7LPH6HOHFWLRQ will not be performed.
In the $UFKLYH'DWD6HOHFWLRQ dialog box, the =6B3URFHVV9DOXH$UFKLYHB
archive is selected. For the '\Q0HWDILOH object, select the *BH[BWOJB tag as
the archive tag. For the other two objects, set the other two available tags,
respectively.
4-124
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
Save the settings made in the 5HSRUW'HVLJQHU.
6HWXSRI3ULQW-RE
6WHS
1
85
3URFHGXUH6HWXSRI3ULQW-RE
In the &RQWURO&HQWHU,
on the 3ULQW-RE entry and select "New Print Job".
8 8
The right window will display the new print job using the default name 3ULQW
' or 5 on the new
-RE, in addition to the already existing print jobs.
print job to display its properties dialog box.
In the 3ULQW-RE tab, enter 3ULQWMREB=6B3$B in the 1DPH entry field. As the
/D\RXW, set the previously created layout WOJB=6B3$BUSO.
In the 6HOHFWLRQ tab, the print range is set. In the 3DJH5DQJH field, select $OO. In
the 7LPH5DQJH field, select $EVROXWH. An exact time range is not set until runtime
is activated.
In the 3ULQWHU6HWXS tab, the printer to be used is set.
2
In the example project, a print job preview can be displayed via a :LQGRZV
2EMHFW→%XWWRQ. This is the %XWWRQ object in the H[BBFKDSWHUBD3'/.
Create a &$FWLRQ at (YHQWV→0RXVH→0RXVH$FWLRQ, which activates the
WinCC Configuration Manual
C79000-G8276-C140-01
4-125
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI3ULQW-RE
preview of the corresponding print job.
3
To perform a time selection, a setup dialog box is necessary. This dialog box is
configured as a separate picture. In the example project, this is the
H[BBZLQGRZB3'/.
In this picture, configure six 6PDUW2EMHFWV→,2)LHOGV each for entering the
start and end times. These are the ,2)LHOG to ,2)LHOG objects for setting the
start time, and the ,2)LHOG to ,2)LHOG objects for setting the end time.
To buffer the made settings, a tag of the 8QVLJQHG%LW9DOXH type must be
created for each ,2)LHOG in 7DJ0DQDJHPHQW. In the example, these are the
8LBH[BUHSBI to 8LBH[BUHSBI tags for the start time, and the
8LBH[BUHSBW to 8LBH[BUHSBW tags for the end time.
For each ,2)LHOG, a 7DJ&RQQHFWLRQ to the corresponding tag must be created
via 3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH.
At 3URSHUWLHV→2XWSXW,QSXW→2XWSXW)RUPDW, the format is set for each
. One exception are the ,2)LHOGV for setting the year. They use the
output format .
,2)LHOG
4-126
4
In the H[BBZLQGRZB3'/, create a &$FWLRQ at (YHQWV→0LVFHOODQHRXV→
2SHQ3LFWXUH, which supplies the time selection tags with preset time values. As
the end time, the current system time is set, as the start time, the current system
time minus one minute is set.
5
Configure two :LQGRZV2EMHFWV→%XWWRQV in the H[BBZLQGRZB3'/. In the
example, these are the %XWWRQ and %XWWRQ objects.
%XWWRQ serves as the cancel button. Create a 'LUHFW&RQQHFWLRQ at (YHQWV→
0RXVH→0RXVH$FWLRQ, which switches the &RQVWDQW of to the 'LVSOD\ of the
&XUUHQW:LQGRZ.
%XWWRQ serves as the OK button. It also contains a 'LUHFW&RQQHFWLRQ at (YHQWV
→0RXVH→0RXVH$FWLRQ for closing the window. Configure a &$FWLRQ at
(YHQWV→0RXVH→3UHVV/HIW. This action calls a previously created project
function that sets the time selection of a certain print job. The name of the print
job is read from a tag of the 7H[W7DJ%LW&KDUDFWHU6HW type that must be
created in 7DJ0DQDJHPHQW. In the example, this is the 7LBH[BUHSB tag.
6
To display the just created picture in the H[BBFKDSWHUBD3'/, a 6PDUW2EMHFW
→3LFWXUH:LQGRZ must be created. In the example, this is the 3LFWXUH:LQGRZ
object. At 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, set the
H[BBZLQGRZB3'/. Set the 'LVSOD\ to 1R.
7
To display the 3LFWXUH:LQGRZ, an additional :LQGRZV2EMHFW→%XWWRQ is
needed. In the example, this is the %XWWRQ object. Create a &$FWLRQ for this
button at (YHQWV→0RXVH→0RXVH$FWLRQ, which writes the print job name to
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH6HWXSRI3ULQW-RE
be processed to the 7LBH[BUHSB tag and makes the 3LFWXUH:LQGRZ object
visible.
C-Action at the OK-Button
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
ModifyPrintJob(TimeFrom(),
TimeTo(),
GetTagChar("T16i_ex_rep_00"));
}
• Calling of the 0RGLI\3ULQW-RE project function. This project function requires as transfer
parameters two time values in the form of the SYSTEMTIME structure. These values
are determined via two project functions from the time values 7LPH)URP and
7LPH7R stored in the internal tags. In addition, the name of the print job to be
processed is required. This name is stored in the 7LBH[BUHSB tag.
ModifyPrintJob Project Function
BOOL ModifyPrintJob(SYSTEMTIME st1,SYSTEMTIME st2,char jobname[200])
{
BOOL
fRet;
PCMN_ERROR
pError;
HPROPERTIES hProp;
LPVOID
ptr1,ptr2;
DWORD
typ;
DWORD
dwVal;
char
propname1[200],propname2[200];
TCHAR
g_szProj[MAX_PATH+1];
typ = VT_DATE;
strcpy( propname1, "ABSOLUTESELECTIONFROM");
strcpy( propname2, "ABSOLUTESELECTIONTO");
ptr1 = (LPVOID)&st1;
ptr2 = (LPVOID)&st2;
//-----get project path
if( !DMGetRuntimeProject( g_szProj, MAX_PATH, pError)) {
printf("Error DMGetRuntimeProject(...)\r\n");
return FALSE;
}
//-----create property handle
hProp = RPJCreatePropertyHandle ( g_szProj, pError );
if( !hProp) {
printf("Error RPJCreatePropertyHandle(...)\r\n");
return FALSE;
}
//-----get job properties
if ( !RPJGetJobProps ( hProp, jobname, pError )) {
printf("Error RPJGetProps(...)\r\n");
WinCC Configuration Manual
C79000-G8276-C140-01
4-127
6DPSOH3URMHFWH[DPSOHB
RPJDeletePropertyHandle ( hProp, pError);
return FALSE;
}
//-----set property
if ( !RPJSetProperty ( hProp, propname1, ptr1,
(VARTYPE) typ, 200, pError )) {
printf("Error RPJSetProperty(...)\r\n");
RPJDeletePropertyHandle ( hProp, pError);
return FALSE;
}
//-----save job properties
if ( !RPJSetJobProps ( hProp, jobname, pError)) {
printf("Error RPJSetProps(...)\r\n");
RPJDeletePropertyHandle ( hProp, pError);
return FALSE;
}
//-----get job properties
if ( !RPJGetJobProps ( hProp, jobname, pError )) {
printf("Error RPJGetProps(...)\r\n");
RPJDeletePropertyHandle ( hProp, pError);
return FALSE;
}
//-----set property
if ( !RPJSetProperty ( hProp, propname2, ptr2,
(VARTYPE) typ, 200, pError )) {
printf("Error RPJSetProperty(...)\r\n");
RPJDeletePropertyHandle ( hProp, pError);
return FALSE;
}
//-----save job properties
if ( !RPJSetJobProps ( hProp, jobname, pError)) {
printf("Error RPJSetProps(...)\r\n");
RPJDeletePropertyHandle ( hProp, pError);
return FALSE;
}
//-----delete property handle
fRet = RPJDeletePropertyHandle ( hProp, pError);
return TRUE;
}
• As the transfer parameters VW and VW, the function will receive the start and end times
to be set in the form of the SYSTEMTIME structure.
• Determination of the project path using the '0*HW5XQWLPH3URMHFW function.
• Setting and storing of the start time. This is the $%62/8(6(/(&7,21)520 property.
• Setting and storing of the end time. This is the $%62/8(6(/(&7,2172 property.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• In the layout for printing out the trend profiles, the archive to be reported and the
archive tags must be adapted.
• The time selection dialog box can be accepted without modifications. The
0RGLI\3ULQW-RE, 7LPH)URP and 7LPH7R project functions are required to ensure
functionality. The tags for buffering the time values are to be configured using the same
names. Otherwise, the 7LPH)URP and 7LPH7R project functions need to be adapted. To
utilize the dialog box for multiple print jobs, the creation of a text tag for storing the
print job name is advisable.
4-128
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
3ULQWLQJ2XWWKH7DEOHLQ5XQWLPHH[BBFKDSWHUBF3'/
7DVN'HILQLWLRQ
A table is to be printed out in runtime. It should be possible to set a time range for the data
to be printed.
This example is based on the 8VHUGHILQHGWDEOHOD\RXWH[BBFKDSWHUBF3'/
example in the 7DJ/RJJLQJ chapter. Its concepts will be utilized to print out the table
displayed in this example.
,PSOHPHQWDWLRQ&RQFHSW
Configure a new layout in the 5HSRUW'HVLJQHU editor. The time selection is not made in the
layout, but in runtime via a project function. This function will carry out the time selection
directly in the print job.
The procedure for making a time selection in runtime is described in the previous 6HWXSRI
3ULQW-RE table.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
85
85
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
1
In the &RQWURO&HQWHU, create a new layout by
2
Open the new layout in the 5HSRUW'HVLJQHU.
In the static part of the report, various 6WDWLF2EMHFWV and 6\VWHP2EMHFWV are
configured for the header and footer.
3
In the dynamic part of the report, a '\QDPLF2EMHFW→'\QDPLF7DEOH is
configured. In the example, this is the '\Q7DEOH object.
After placing the objects in the report, the &RQQHFW dialog box is displayed. Select
the 7DJ7DEOH entry from the 7DJ/RJJLQJ5XQWLPH folder. Close the dialog box
by clicking on 2..
on /D\RXW.
The right window will display the new layout in addition to the already existing
on it.
ones. Rename the layout to WOJB=.B3$BUSO by
WinCC Configuration Manual
C79000-G8276-C140-01
4-129
6DPSOH3URMHFWH[DPSOHB
6WHS
4
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQQHFW tab of the '\QDPLF0HWDILOHV
properties dialog box, several
selection options are available.
8'
on one of the entries brings up its corresponding dialog box for selecting
data. If a selection was made, a red check-mark will be displayed. A 7LPH
6HOHFWLRQ is not performed.
In the $UFKLYH'DWD6HOHFWLRQ dialog box, the =.B3URFHVV9DOXH$UFKLYHB
archive is selected. Select all available columns of the table.
4-130
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
Save the settings made in the 5HSRUW'HVLJQHU.
6HWXSRI3ULQW-RE
6WHS
1
85
3URFHGXUH6HWXSRI3ULQW-RE
In the &RQWURO&HQWHU,
on "Print Job" and select "New Print Job".
8 8
The right window will display the new print job using the default name 3ULQW
' or 5 on the new
-RE, in addition to the already existing print jobs.
print job to display its properties dialog box.
In the 3ULQW-RE tab, enter 3ULQWMREB=.B3$B in the 1DPH entry field. As the
/D\RXW, set the previously created layout WOJB=.B3$BUSO.
In the 6HOHFWLRQ tab, the print range is set. In the 3DJH5DQJH field, select $OO. In
the 7LPH5DQJH field, select $EVROXWH. An exact time range is not set until runtime
is activated.
In the 3ULQWHU6HWXS tab, the printer to be used is set.
2
The procedure for making a time selection in runtime is described in the previous
example in the 6HWXSRI3ULQW-RE table.
button for the time selection in the
Adaptations must be made to the
at (YHQWV→0RXVH→0RXVH$FWLRQ. The 7LBH[BUHSB text tag is to
be supplied with the name of the just created print job.
&$FWLRQ
button
The print job name must be changed in the function call for the
(which activates the print preview) in the &$FWLRQ at (YHQWV→0RXVH→0RXVH
$FWLRQ.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The created layout can directly be used after making adaptations to the archive
selection.
WinCC Configuration Manual
C79000-G8276-C140-01
4-131
6DPSOH3URMHFWH[DPSOHB
0HVVDJH6HTXHQFH5HSRUWH[BBFKDSWHUBE3'/
7DVN'HILQLWLRQ
A message sequence report is to be created. The user should be able to activate the printing
of the report via a button. However, if the messages in the report exceed one layout page,
the message sequence report will be printed out automatically.
This example is based on the 0HVVDJH:LQGRZH[BBFKDSWHUBE3'/ example in
the $ODUP/RJJLQJ chapter. In that example, the toolbar of the message window used
already provided a button for the report functions, and the message sequence report has
been activated.
,PSOHPHQWDWLRQ&RQFHSW
A system layout and system print job are available, which meet the set requirements. These
are the #DOUWPHIUSO layout and #5HSRUW$ODUP/RJJLQJ570HVVDJH6HTXHQFH print job.
The layout is copied and adapted to meet your own requirements. As the print job, the
above system print job must be used, only its layout is replaced.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQWURO&HQWHU, open the #DOUWPHIUSO system layout by
85
on it.
Save this system layout under a new name via )LOH→6DYH$V. In the example,
the name DOJBPHIUSO is used.
2
The static part of the report contains a header and a footer.
The elements of the static part can be adapted to meet your own requirements.
3
The dynamic part of the report consists of a '\QDPLF2EMHFW→'\QDPLF7DEOH
("Alarm Logging Runtime" -> "Message Sequence Report"). In the example, this
is the '\Q7DEOH object.
Open the '\Q7DEOH object’s properties dialog box and select the &RQQHFW tab.
The table is already connected to the 0HVVDJH6HTXHQFH5HSRUW of $ODUP
/RJJLQJ5XQWLPH. A selection has also been already performed.
4-132
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
4
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
8
The
button or
' on the 6HOHFWLRQ entry opens the dialog box for
selecting message blocks. The 'DWH, 7LPH and 1XPEHU system blocks are already
button adds all remaining
selected. In the example, clicking on the
message blocks.
Close the dialog box by clicking on 2.. Save the layout.
$GDSWLQJWKH3ULQW-RE
6WHS
3URFHGXUH$GDSWLQJWKH3ULQW-RE
8 8
1
Open the system print job #5HSRUW$ODUP/RJJLQJ570HVVDJH6HTXHQFH by
' or 5 on its name (and then selecting "Properties") in the &RQWURO&HQWHU.
2
In the 3ULQW-RE tab, set the just created /D\RXW DOUWPHIUSO. In the 3ULQWHU6HWXS
tab, set the printer to be used. No further changes need to be made. Close the
dialog box by clicking on 2..
3
The message sequence report must be activated in the $ODUP/RJJLQJ editor.
Open the Alarm Logging editor.
5 on the 5HSRUWV entry and select
"Add/Remove" to open the $VVLJQLQJ5HSRUW3DUDPHWHUV dialog box.
4
If the user does not activate the print job, the message sequence report will be
printed automatically once a layout page has been filled.
8
In this dialog box, select the 0HVVDJH6HTXHQFH5HSRUW check-box.
WinCC Configuration Manual
C79000-G8276-C140-01
4-133
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH$GDSWLQJWKH3ULQW-RE
To allow the user to activate the message sequence report at any time, a
corresponding button must be configured in the toolbar of the message window
template. This is the 5HSRUW)XQFWLRQV button. In the example project, this button
has already been configured in the 0HVVDJH:LQGRZB template used in the
H[BBFKDSWHUBE3'/.
Save the settings made in $ODUP/RJJLQJ.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed
• In the layout created, the message blocks of the message sequence report must be
adapted to meet your needs.
4-134
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
0HVVDJH6HTXHQFH5HSRUWRQD/LQH3ULQWHU
7DVN'HILQLWLRQ
A message sequence report is to be created which is suitable for the output of a line printer.
If a message to be reported comes in, this message is to be printed automatically.
,PSOHPHQWDWLRQ&RQFHSW
Create a line printer layout. This layout will be set in the #5HSRUW$ODUP/RJJLQJ57
0HVVDJH6HTXHQFH system print job.
&UHDWLRQRID/LQH3ULQWHU/D\RXW
6WHS
85
3URFHGXUH&UHDWLRQRID/LQH3ULQWHU/D\RXW
1
Create a new line printer layout by
&RQWURO&HQWHU.
2
A new line printer layout with the default name 1HZ5353 is created. In the
on the corresponding entry in the
8
example, this name is kept.
' on the name of the new line printer layout (in
the right window), opens the /LQH/D\RXW(GLWRU.
In this editor, general settings pertaining to page margins, headers, footers, etc.
can be made.
In the 7DEOH field, the
button opens a dialog box for selecting the
message blocks to be used in the message sequence report. In the example, all
available message blocks are selected.
3
The number of columns and their width is automatically adjusted according to the
selected message blocks and their order.
Save the settings made and close the line layout editor.
WinCC Configuration Manual
C79000-G8276-C140-01
4-135
6DPSOH3URMHFWH[DPSOHB
$GDSWLQJWKH3ULQW-RE
6WHS
3URFHGXUH$GDSWLQJWKH3ULQW-RE
8 8
1
Open the system print job #5HSRUW$ODUP/RJJLQJ570HVVDJH6HTXHQFH by
' or 5 on its name (and then selecting "Properties") in the &RQWURO&HQWHU.
2
In the 3ULQW-RE tab, select the /LQH/D\RXWIRU/LQH3ULQWHU check-box and set the
just created /D\RXW 1HZ5353. In the 3ULQWHU6HWXS tab, set the line printer
to be used. No further changes need to be made. The dialog box is closed by
clicking on 2..
3
The message sequence report must be activated in the $ODUP/RJJLQJ editor.
Open the Alarm Logging editor.
5 on the 5HSRUWV entry and select
"Add/Remove" to open the $VVLJQLQJ5HSRUW3DUDPHWHUV dialog box. In this
dialog box, select the 0HVVDJH6HTXHQFH5HSRUW check-box.
8
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The desired page settings and message blocks to be printed must be adapted to meet
your needs.
4-136
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
0HVVDJH$UFKLYH5HSRUWH[BBFKDSWHUBF3'/
7DVN'HILQLWLRQ
A message archive report is to be created. The user should be able to activate the printing of
the report via a button.
This example is based on the 0HVVDJH$UFKLYLQJH[BBFKDSWHUBF3'/ example
in the $ODUP/RJJLQJ chapter. In that example, the user-defined toolbar of the short-term
archive window already provided a button for the report function, and the message
sequence report has been activated.
,PSOHPHQWDWLRQ&RQFHSW
A system layout and system print job are available, which meet the set requirements. These
are the #DOUWXPDUSO layout and #5HSRUW$ODUP/RJJLQJ575HYROYLQJ$UFKLYH print job.
The layout is copied and adapted to meet your requirements. As the print job, the above
system print job must be used, only its layout is replaced.
,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
6WHS
1
3URFHGXUH,PSOHPHQWDWLRQLQWKH5HSRUW'HVLJQHU
In the &RQWURO&HQWHU, open the #DOUWXPDUSO system layout by
85
on it.
Save this system layout under a new name via )LOH→6DYH$V. In the example,
the name DOJBXPD is used.
2
The static part of the report contains a header and a footer.
The elements of the static part can be adapted to meet your own requirements.
3
The dynamic part of the report consists of a '\QDPLF2EMHFW→'\QDPLF7DEOH
("Alarm Logging Runtime" -> "Short-Term Archive Report"). In the example,
this is the '\Q7DEOH object.
Open the '\Q7DEOH object’s properties dialog box and select the &RQQHFW tab.
The table is already connected to the 6KRUW7HUP$UFKLYH5HSRUW of $ODUP
/RJJLQJ5XQWLPH. A selection has also been already performed.
4
8
The
button or
' on the 6HOHFWLRQ entry opens the dialog box for
selecting message blocks. The 'DWH, 7LPH and 1XPEHU system blocks are already
button adds all remaining
selected. In the example, clicking on the
message blocks.
Close the dialog box by clicking on 2.. Save the layout.
WinCC Configuration Manual
C79000-G8276-C140-01
4-137
6DPSOH3URMHFWH[DPSOHB
$GDSWLQJWKH3ULQW-RE
6WHS
3URFHGXUH$GDSWLQJWKH3ULQW-RE
8 8
1
Open the system print job #5HSRUW$ODUP/RJJLQJ575HYROYLQJ$UFKLYH by
' or 5 on its name (and then selecting "Properties") in the &RQWURO&HQWHU.
2
In the 3ULQW-RE tab, set the just created /D\RXW DOUWXPDUSO. In the 3ULQWHU6HWXS
tab, set the printer to be used. No further changes need to be made. The dialog
box is closed by clicking on 2..
3
The archive report must be activated in the $ODUP/RJJLQJ editor. Open the
5 on the 5HSRUWV entry and select "Add/Remove" to
Alarm Logging editor.
open the $VVLJQLQJ5HSRUW3DUDPHWHUV dialog box.
8
In this dialog box, select the $UFKLYH5HSRUW$FWLYH check-box. Save the settings
made in $ODUP/RJJLQJ.
4
To allow the user to activate the report at any time, a corresponding button must
be configured in the toolbar of the message window template. If a user-defined
toolbar is used, the pressing of this button must be simulated my a standard
function. This would be the standard function 2Q%WQ3ULQWSV]0VJ:LQ. In the
example project, this button has already been configured in the
H[BBFKDSWHUBE3'/.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• In the layout created, the message blocks of the archive report must be adapted to meet
your needs.
4-138
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
2/(&RPPXQLFDWLRQWR(;&(/
8
In runtime, the examples to this topic can be selected by clicking on the button displayed
. These examples are configured in the H[BBFKDSWHUB3'/ and the
above with the
2/(B&RPPXQLFDWLRQ[OV Excel spreadsheet.
WinCC Configuration Manual
C79000-G8276-C140-01
4-139
6DPSOH3URMHFWH[DPSOHB
5HDGLQJDQG:ULWLQJ7DJ9DOXHVH[BBFKDSWHUB3'/
7DVN'HILQLWLRQ
The values of internal tags of different types are to be read into an Excel spreadsheet. In a
second column of the spreadsheet, it should be possible to enter set point values for these
tags. These values are then written into the WinCC project.
,PSOHPHQWDWLRQ&RQFHSW
In a picture, one I/O field is configured for each tag in which the value of the tag can be
displayed and written.
Create a spreadsheet in Excel (Version 8.0). In a column of this spreadsheet, the names of
the tags to be read and written are entered. Add two buttons to the spreadsheet. Macros are
assigned to these buttons, which read the tag names to be processed and either read or
assign set point values to these tags.
,PSOHPHQWDWLRQLQ:LQ&&
6WHS
4-140
3URFHGXUH,PSOHPHQWDWLRQLQ:LQ&&
1
In Tag Management, create tags of several types. In the example, the following
tags are used:
2
In a picture, a 6PDUW2EMHFW→,2)LHOG is configured for each tag created. At
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH, create a 7DJ&RQQHFWLRQ to the
corresponding tag.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
,PSOHPHQWDWLRQLQ([FHO9HUVLRQ
6WHS
1
2
3URFHGXUH,PSOHPHQWDWLRQLQ([FHO
Create a new Excel spreadsheet. In the example, this spreadsheet is named
2/(B&RPPXQLFDWLRQ[OV.
In the spreadsheet, fill out a column with the names of the tags to be processed.
Configure a button for reading tag values.
For this purpose, activate the &RQWURO7RROER[ toolbar from the 9LHZ→7RROEDUV
menu (if it is not activated yet). Select the "Command Button" element and place
it in the table.
The properties of this control element can be set after clicking on the
button.
The example uses *HW9DOXH as the name of the object and *HW9DOXH as the
caption.
8'
on the created command button opens the Visual Basic Editor, where the
detailed procedure code can be entered.
3
Create an additional button, as described in step 2, for writing tag values.
WinCC Configuration Manual
C79000-G8276-C140-01
4-141
6DPSOH3URMHFWH[DPSOHB
Procedure for Reading Tag Values
Rem Read Tag Values in WinCC-Project
Private Sub GetValue_Click()
Dim
Dim
Dim
Dim
Dim
mcp As Object
var As String
value As Variant
cell As Variant
i As Integer
Set mcp = CreateObject("WinCC-Runtime-Project")
Cell = "C3"
i = 1
Do While Not Range(cell) = ""
var = Range(cell)
value = mcp.GetValue(var)
Range("D" & 2 + i).value = value
cell = "C" & 3 + i
i = i + 1
Loop
End Sub
• Creation of a WinCC object, which is stored in the PFS tag.
• Using a loop, the individual cells of the column (containing the names of the tags to be
processed) are read. In the WinCC project, the tag values are read using the *HW9DOXH
function and entered into the column next to it. The loop is continued until an empty
cell (of the columns containing the tag names) is reached.
4-142
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
Procedure for Writing Tag Values
Rem Set Tag Values in WinCC-Project
Private Sub SetValue_Click()
Dim
Dim
Dim
Dim
Dim
Dim
mcp As Object
var As String
value As Variant
cell As Variant
i As Integer
bRet As Integer
Set mcp = CreateObject("WinCC-Runtime-Project")
Cell = "C3"
i = 1
Do While Not Range(cell) = ""
var = Range(cell)
value = Range("E" & 2 + i).value
bRet = mcp.SetValue(var, value)
cell = "C" & 3 + i
i = i + 1
Loop
End Sub
• Creation of a WinCC object, which is stored in the PFS tag.
• Using a loop, the individual cells of the column (containing the names of the tags to be
processed) are read. Additionally, a column, containing the tag values to be set, is read.
These tag values are written into the WinCC project using the 6HW9DOXH function. The
loop is continued until an empty cell (of the columns containing the tag names) is
reached.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• Data is exchanged between WinCC and Excel using the GetValue() and SetValue()
functions.
WinCC Configuration Manual
C79000-G8276-C140-01
4-143
6DPSOH3URMHFWH[DPSOHB
$GGLWLRQDO&RQILJXUDWLRQVLQWKH([DPSOHV
This chapter describes the additional elements used in some of the pictures. The description
of these elements in the examples where they occur would distract from the main topic.
This chapter completes the description of the sample projects.
4-144
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
3LFWXUH5HJLVWHU
7DVN'HILQLWLRQ
The order of the last 10 selected pictures in the project are to be stored. A "Back" button
should allow the selection of these pictures in reverse order. A "Forward" button should
allow the selection of the current picture.
In a separate picture, all pictures of the register are to be displayed in the right order. A
direct selection of the pictures can be made from there.
,PSOHPHQWDWLRQ&RQFHSW
The picture order is stored in 10 static C-tags of a project function. This project function is
called at every picture change. It controls the picture selection performed by the "Back" and
"Forward" buttons and the direct picture selection.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
Two tags of the %LQDU\7DJ type are required. In the example, these are the
%,1LBH[BRUJB and %,1LBH[BRUJB tags. These tags control the operation of
the "Forward" and "Back" buttons.
A tag of the 8QVLJQHG%LW9DOXH type is required. In the example, this is the
8LBH[BRUJB tag. This tag stores the current position in the picture register.
A tag of the 7H[W7DJ%LW&KDUDFWHU6HW type is required. In the example, this
is the 7[BH[BRUJB tag. This tag stores the current picture name.
2
A project function for controlling the picture register is available. This is the
&UHDWH3LFWXUH6HTXHQFH function, which is called at every picture change. This is
accomplished by a &$FWLRQ at (YHQWV→3URSHUW\7RSLFV→0LVFHOODQHRXV→
3LFWXUH1DPH of the :RUNVSDFH object in the H[BBVWDUWSLFWXUHB3'/. Every
time a call is made, the new picture name is stored in the register and the
remaining names are moved back by one position.
3
In the keyboard layout H[BBNH\ERDUGB3'/, two control elements for
scrolling backward and forward are configured.
If one of these elements is operated, the &UHDWH3LFWXUH6HTXHQFH project function
will be called. This function performs the picture change. The two control
elements can be disabled via two 6PDUW2EMHFWV→*UDSKLF2EMHFWV.
4
The following button displays a picture containing the current picture register. In
the example, this is the H[BBUHJLVWHUB3'/.
In this picture, 10 6WDQGDUG2EMHFWV→6WDWLF7H[WV are configured. The set text is
deleted at all objects. For the picture object, create a &$FWLRQ at 3URSHUWLHV→
*HRPHWU\→3LFWXUH:LGWK, which calls the &UHDWH3LFWXUH6HTXHQFH project
WinCC Configuration Manual
C79000-G8276-C140-01
4-145
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
function. This function transfers the stored picture names to the 6WDWLF7H[WV. The
&$FWLRQ is triggered upon the change of the 7[BH[BRUJB tag. This updates
the display at a picture change.
For each 6WDWLF7H[W, create &$FWLRQ at (YHQWV→0RXVH→3UHVV/HIW, which
calls the project function and performs the picture change to the displayed
picture. The selected picture is highlighted in color. This is accomplished via a
'\QDPLF'LDORJ at 3URSHUWLHV→&RORUV→)RQW&RORUV of each static text.
5
The project function uses a parameter to identify from where it was called. For
this parameter, some constants have been defined in the $3'()$3+ file. This
file is located in the /LEUDU\ project folder.
The following constants have been defined:
• #define REG_INSERTPICTURE 0
• #define REG_BACK 1
• #define REG_FORWARD 2
• #define REG_DIRECT 3
• #define REG_SHOWREGISTER 4
Project Function for Controlling the Picture Register
#include "APDEFAP.H"
#define MAX_REG 10
void CreatePictureSequence(char* PicName,int nFlag,int nPos)
{
static char PictureName[MAX_REG][40] =
{"","","","","","","","","",""};
int i;
static int pos = 0;
static int st = 0;
static int biz = 0;
if (nFlag==REG_INSERTPICTURE){
if (st == 0 ){
pos = 0;
if (biz < MAX_REG) biz++;
for ( i=(MAX_REG-1) ; i>0 ; i-- ){
strcpy(PictureName[i],PictureName[i-1]);
}
strcpy(PictureName[0],PicName);
}
4-146
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
else st=0;
}
if (nFlag==REG_BACK){
pos++;
if ( pos > (MAX_REG-1) ) pos=(MAX_REG-1);
st = 1;
SetPictureName("ex_0_startpicture_00.PDL",
"workspace",PictureName[pos]);
}
if (nFlag==REG_FORWARD){
pos--;
if ( pos < 0 ) pos=0;
st = 1;
SetPictureName("ex_0_startpicture_00.PDL",
"workspace",PictureName[pos]);
}
if (nFlag==REG_SHOWREGISTER){
SetText("ex_9_register_00.PDL",
"Static Text1",PictureName[0]);
SetText("ex_9_register_00.PDL",
"Static Text2",PictureName[1]);
SetText("ex_9_register_00.PDL",
"Static Text3",PictureName[2]);
SetText("ex_9_register_00.PDL",
"Static Text4",PictureName[3]);
SetText("ex_9_register_00.PDL",
"Static Text5",PictureName[4]);
SetText("ex_9_register_00.PDL",
"Static Text6",PictureName[5]);
SetText("ex_9_register_00.PDL",
"Static Text7",PictureName[6]);
SetText("ex_9_register_00.PDL",
"Static Text8",PictureName[7]);
SetText("ex_9_register_00.PDL",
"Static Text9",PictureName[8]);
SetText("ex_9_register_00.PDL",
"Static Text10",PictureName[9]);
}
if (nFlag==REG_DIRECT){
st=1;
pos=nPos;
}
if ((nFlag!=REG_SHOWREGISTER) && (nFlag!=REG_DIRECT)){
if (pos<(biz-1))
SetTagBit("BINi_ex_org_00",FALSE);
else
SetTagBit("BINi_ex_org_00",TRUE);
if (pos>0)
SetTagBit("BINi_ex_org_01",FALSE);
else
SetTagBit("BINi_ex_org_01",TRUE);
}
SetTagWord("U16i_ex_org_00",(WORD)pos);
}
• If the transfer parameter Q)ODJ has the value of 5(*B,16(573,&785(, the function
was called by the &$FWLRQ at (YHQWV→3URSHUW\7RSLFV→0LVFHOODQHRXV→3LFWXUH
1DPH of the :RUNVSDFH object in the H[BBVWDUWSLFWXUHB3'/. The :RUNVSDFH object
is the picture window in which all the example pictures are displayed. If the picture
change is not to be entered into the register, the VW tag must be set to in a previous
function call. The register itself consists of a static array having 10 text tags.
WinCC Configuration Manual
C79000-G8276-C140-01
4-147
6DPSOH3URMHFWH[DPSOHB
• If the transfer parameter Q)ODJ has the value of 5(*B%$&., the "Back" button has
been pressed. The picture change is performed by the function itself and is not entered
into the register.
• If the transfer parameter Q)ODJ has the value of 5(*B)25:$5', the "Forward" button
has been pressed. The picture change is performed by the function itself and is not
entered into the register.
• If the transfer parameter Q)ODJ has the value of 5(*B6+2:5(*,67(5, the 6WDWLF
7H[WV in the H[BBUHJLVWHUB3'/ are to be updated. This is the case if the named
picture has been selected or if a picture change has been performed in an opened
picture.
• If the transfer parameter Q)ODJ has the value of 5(*B',5(&7, a direct picture selection
via the 6WDWLF7H[WV has been performed. The picture change is performed by the
&$FWLRQ at the 6WDWLF7H[W and is not entered into the register.
*HQHUDO$SSOLFDWLRQ1RWHV
For the general application, the following adaptations must be performed:
• The configurations made can be accepted without changes. To ensure functionality, the
5 tags used must be created, the project function be incorporated and the control
elements be added.
• If the direct picture selection and the display of the picture register is not needed, the
sections 5(*B',5(&7 and 5(*B6+2:5(*,67(5 from the project function can be
omitted.
• If the number of stored pictures is to be modified, the definition 0$;B5(* (for the
maximum number of pictures) in the project function must be changed.
4-148
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
7DEOHRI&RQWHQWV
8
The example project’s table of contents can be displayed by clicking on the above button
.
with the
7DVN'HILQLWLRQ
The entire contents of the project is to be displayed in a dialog box. One window should
display the main chapters. Another window should display the examples belonging to a
selected chapter.
It should be possible to directly select an example. The selection should be activated by a
double-click.
,PSOHPHQWDWLRQ&RQFHSW
The selection of the contents dialog box is made via a button from the overview bar. This
dialog box is displayed via a picture window. The dialog box contains an additional picture
window, which displays, depending on the chapter selected, another picture.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
Two tags of the 8QVLJQHG%LW9DOXH type are required. In the example, these
are the 8LBH[BFRQB and 8LBH[BFRQB tags. These tags store the currently
selected chapter number and example number.
2
A picture of the dialog box’s layout is available. This is the
H[BBUHJLVWHUB3'/. For each chapter, a 6WDQGDUG2EMHFW→6WDWLF7H[W and a
6PDUW2EMHFW→*UDSKLF2EMHFW is configured.
At the opening of the picture, no chapter is selected. The 8LBH[BFRQB tag
, the corresponding
has the value of zero. If a 6WDWLF7H[W is selected with the
chapter number is written into the tag. Using multiple '\QDPLF'LDORJV, the
coloring of the selected 6WDWLF7H[W is changed.
8
WinCC Configuration Manual
C79000-G8276-C140-01
4-149
6DPSOH3URMHFWH[DPSOHB
6WHS
3
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
A separate picture is configured for each chapter, which, depending on the
selected chapter number, is displayed in a 6PDUW2EMHFW→3LFWXUH:LQGRZ. If no
chapter is selected, the picture window will not be displayed.
Each example also contains a 6WDQGDUG2EMHFW→6WDWLF7H[W. If a chapter is
8
selected, no example is selected at first. If a 6WDWLF7H[W is selected with the
the corresponding example number is written into the 8LBH[BFRQB tag.
Using multiple '\QDPLF'LDORJV, the coloring of the selected 6WDWLF7H[W is
changed.
4
,
To realize the picture selection via double-click, three external C-tags have been
created. They are generated using the &UHDWH([WHUQDO project function. This
function is executed once at the start of the project:
• extern BOOL bPress1,bPress2
• extern int nButtonID
A &$FWLRQ at the picture’s 3URSHUWLHV→*HRPHWU\→3LFWXUH:LGWK queries, in
500 ms cycles, if a double-click has been performed. If this is the case, an action
is performed depending on the Q%XWWRQ,' tag.
C-Action at an Example Project
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, UINT nFlags, int x, int y)
{
extern BOOL bPress1,bPress2;
static BOOL bToggle = FALSE;
extern int nButtonID;
nButtonID=1;
if (bToggle) bPress1=TRUE;
else bPress2=TRUE;
bToggle=!bToggle;
SetTagWord("U16i_ex_cont_01",(WORD)nButtonID);
}
• The external C-tag is supplied with the identification number of the 6WDWLF7H[W. This
will determine the action to be performed.
• At each mouse click, E3UHVV and E3UHVV are alternately set to 758(.
4-150
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
C-Action to Determine a Double-Click
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
extern BOOL bPress1,bPress2;
extern int nButtonID;
if ((bPress1)&&(bPress2))
switch(nButtonID){
case1:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01.PDL");
break;
case2:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01a.PDL");
break;
case3:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01b.PDL");
break;
case4:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01c.PDL");
break;
case5:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01d.PDL");
break;
case6:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01e.PDL");
break;
case7:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01f.PDL");
break;
case8:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01g.PDL");
break;
case9:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01i.PDL");
break;
case10:SetPictureName("ex_0_startpicture_00.PDL",
"workspace","ex_3_chapter_01j.PDL");
break;
default:break;
}
bPress1=FALSE;
bPress2=FALSE;
return 242;
}
• The two external C-tags are queried. If both have the status of 758(, a double-click has
been performed on a 6WDWLF7H[W in the past 500 ms. The &$FWLRQ is executed every 500
ms. After every call, both external C-tags are reset to )$/6(.
• If a double-click is detected, an action is performed depending on the Q%XWWRQ,' tag.
This tag contains information about which 6WDWLF7H[W was selected.
• Return of the picture width.
WinCC Configuration Manual
C79000-G8276-C140-01
4-151
6DPSOH3URMHFWH[DPSOHB
'LDORJ%R[HVIRU6HWWLQJ&RORUVH[BBFKDSWHUBF
8
The dialog boxes for setting colors described in this example are displayed by selecting the
above button from the H[BBFKDSWHUBF3'/ with the
.
7DVN'HILQLWLRQ
Using several dialog boxes, the color settings of the table described in the 7DJ/RJJLQJ
chapter, example 8VHUGHILQHGWDEOHOD\RXWH[BBFKDSWHUBF3'/, can be changed.
The background color of the table as well as each column’s font color are to be changeable.
,PSOHPHQWDWLRQ&RQFHSW
The setting colors dialog boxes are realized using three pictures. The first picture, which is
displayed by pressing on the button above, shows a dialog box containing the current color
settings. From this dialog box, a dialog box for selecting a color from among the 16 basic
colors can be displayed for each settable table property via a
'. From this dialog box in
turn, an additional dialog box can be reached for selecting a color from a total of 50 colors.
8
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
4-152
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
Five tags of the 8QVLJQHG%LW9DOXH type are used. In the example, these are
the &2B7,0(, &2B0$;, &2B0,1, &2B0($1 and &2B%$&. tags. These tags
store the current color values.
A tag of the 8QVLJQHG%LW9DOXH type is required. In the example, this is the
&2B7(03 tag. This tag serves as a buffer for the color value to be accepted with
an 2.%XWWRQ.
A tag of the 7H[W7DJ%LW&KDUDFWHU6HW type is used as an address tag. The
name of the color tag to be processed is stored in this tag. In the example, this is
the &2B$GGUHVV7DJ.
2
The table configured in the H[BBFKDSWHUBF3'/ consists of several individual
objects. All properties of these objects that are changeable have a 7DJ
&RQQHFWLRQ to one of the color tags.
3
A picture of the first dialog box’s layout is available. This is the
H[BB)'B3'/. For each property that can be set, a 6WDQGDUG2EMHFW→
6WDWLF7H[W and a 6WDQGDUG2EMHFW→5HFWDQJOH is configured.
The rectangle displays the currently set color of each property. This is realized
via a 7DJ&RQQHFWLRQ to the corresponding color tag. Create a &$FWLRQ for the
5HFWDQJOHV and 6WDWLF7H[WV at (YHQWV→0RXVH→3UHVV/HIW, which writes the
name of the corresponding color tag into the address tag.
Double-clicking on one of these rectangles opens a dialog box for selecting a
color from among the 16 basic colors. The double-click is queried at 3URSHUWLHV
→*HRPHWU\→3RVLWLRQ; of the *UDSKLF2EMHFW.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
6WHS
4
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
The layout of the second dialog box has been configured in another picture. This
is the H[BB)'B3'/. For each color that can be selected, a 6WDQGDUG2EMHFW
→5HFWDQJOH is configured whose background color matches the color to be set.
Also configure a 'LUHFW&RQQHFWLRQ for each color at (YHQWV→0RXVH→3UHVV
/HIW. This direct connection switches the value of the %DFNJURXQG&RORU 3URSHUW\
of the selected object to the color tag contained in the address tag.
Configure a 'LUHFW&RQQHFWLRQ for each 5HFWDQJOH at (YHQWV→0RXVH→0RXVH
$FWLRQ, which turns the current window invisible.
Via a separate :LQGRZV2EMHFW→%XWWRQ, the next dialog box can be opened.
WinCC Configuration Manual
C79000-G8276-C140-01
4-153
6DPSOH3URMHFWH[DPSOHB
6WHS
4-154
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
5
The layout of the third dialog box has been configured in another picture. This is
the H[BB)'B3'/. Just as described in step 4, a 6WDQGDUG2EMHFW→
5HFWDQJOH is configured for each color that can be selected. However, the 'LUHFW
&RQQHFWLRQ at (YHQWV→0RXVH→3UHVV/HIW is not writing the color tag
indicated by the address tag, but the temporary color tag &2B7(03.
The value contained in this tag will only be written to the processing color tag
after activation of the OK button.
In the picture, a 6PDUW2EMHFW→*UDSKLF2EMHFW is configured, which displays
the current color value contained in the &2B7(03 tag. In the example, this is the
6HOHFWLRQ object. The position of this object is changed, if a rectangle is selected,
via a &$FWLRQ at (YHQWV→0RXVH→3UHVV/HIW.
6
In the H[BBFKDSWHUBF3'/, a 6PDUW2EMHFW→3LFWXUH:LQGRZ is configured
for each dialog box. The 3LFWXUH:LQGRZ containing the first dialog box is
opened via a :LQGRZV2EMHFW→%XWWRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
6DPSOH3URMHFWH[DPSOHB
%DU*UDSK'LVSOD\H[BBFKDSWHUBH
The bar graph display described in this example was used in the 7DJ/RJJLQJ chapter, $UFKLYLQJDW6HW7LPHVH[BBFKDSWHUBH3'/ example.
7DVN'HILQLWLRQ
The current values of the tags archived in a corresponding picture are to be displayed using
three bar graphs. It should be possible to deactivate each bar graph via a button.
,PSOHPHQWDWLRQ&RQFHSW
Each bar graph consists of a 6PDUW2EMHFW→6WDWXV'LVSOD\, which displays the foreground
of the bar graph, and a 6PDUW2EMHFW→3LFWXUH:LQGRZ, in which the background of the
bar graph is displayed. A '\QDPLF'LDORJ controls the height of the 3LFWXUH:LQGRZ
depending on the value of the tag to be displayed.
,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
1
Three pictures are available, each consisting of a 6PDUW2EMHFW→*UDSKLF
2EMHFW. These are the H[BB%+B3'/, H[BB%+B3'/ and
H[BB%+B3'/. Each *UDSKLF2EMHFW contains a bitmap, which displays the
background of the bar graph.
2
In the H[BBFKDSWHUBH3'/, three 6PDUW2EMHFWV→6WDWXV'LVSOD\V are
configured, which display the foreground of each bar graph. If the bar graph is
deactivated, the background of the bar graph is displayed.
3
A 6PDUW2EMHFW→3LFWXUH:LQGRZ is placed over each 6WDWXV'LVSOD\. The
pictures described in step 1 are set at 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH
1DPH.
Configure a '\QDPLF'LDORJ at 3URSHUWLHV→*HRPHWU\→:LQGRZ+HLJKW,
which controls the height of the picture window depending on the value of the tag
to be displayed.
WinCC Configuration Manual
C79000-G8276-C140-01
4-155
6DPSOH3URMHFWH[DPSOHB
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQWKH*UDSKLFV'HVLJQHU
Only positive values can be displayed. Therefore, the absolute value of the tag is
formed using the DEV function. The maximum value that can be displayed is
100. Since the 3LFWXUH:LQGRZ displays the background of the bar graph, the tag
value must be subtracted from the maximum value to maintain the background
height. One unit of the bar graph consists of 3 pixels in the bitmap, therefore the
calculated height of the bar graph height must be multiplied by 3. Above the bar
graph background, there are 14 free pixels, which must be added to the picture
height.
4
4-156
Via three 6PDUW2EMHFWV→6WDWXVGLVSOD\V on the toolbar, the bar graphs can be
deactivated. This is done via &$FWLRQ at (YHQWV→0RXVH→3UHVV/HIW. This
&$FWLRQ toggles the visibility of the SLFWXUHZLQGRZ, toggles the visibility of the
picture displayed in the status display (which displays the bar graph), and toggles
the picture displayed by its own object.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
8VHU$UFKLYH
This manual describes the way in which the new User Archive works and the procedure for
configuring and using it.
WinCC Configuration Manual
C79000-G8276-C140-01
5-1
8VHU$UFKLYH
8VHU$UFKLYH
8
At runtime you can access the examples concerning this subject by choosing the button
in the H[DPSOHB8$ project. The examples are configured in
illustrated above using the
pictures H[BBFKDSWHUBSGO to H[BBFKDSWHUBFSGO.
*HQHUDOLQIRUPDWLRQ
User Archive makes a database available for storing data in a user-defined tabular structure.
These data can be transferred to a subordinate PLC in different ways. You can use WinCC
tags and WinCC raw data tags for communication with the PLC. User Archive can also be
configured without communication, however.
At the present time four data types are available for the different data fields. They are:
• number (integer)
• number (double)
• string
• date/time
An OLE control can be used to display the data of User Archive at runtime in tabular form.
This OLE control can further be used, among other things, to edit the data of User Archive,
write them to the PLC, read them from the PLC, export them to a CSV file and import them
from a CSV file. Displayed data can be filtered according to different criteria and sorted
according to your specific requirements.
The OLE control has a freely configurable toolbar and status bar. Different display formats
can be assigned to the various columns of the table.
By configuring views, you can display fused data from different archives.
5-2
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
&UHDWLQJD8VHU$UFKLYHH[BBFKDSWHUB3'/
7DVNGHILQLWLRQ
You wish to create an archive having data records consisting of five integer boxes and a
text box for storing a data record name. You want the data of the archive to be available
record for record throughout the project.
,PSOHPHQWDWLRQFRQFHSW
An archive is created in the user archive editor for archiving the data. Archive
communications will be configured with WinCC tags. Six data fields of the requisite field
types will be created in the archive. An internal WinCC tag will be assigned to each data
field and will be used by the archive to communicate with the rest of the project.
1RWH
The following example is a general description of the procedure for configuring a user
archive. A connection is not established to the subordinate PLC and, instead, internal
WinCC tags will be used to demonstrate the method of working.
Examples containing a fully configured connection will be found further below.
&UHDWLQJDQDUFKLYH
6WHS
3URFHGXUH&UHDWLQJDQ$UFKLYH
1
Create one internal tag for each data record in the archive. Communications
between the archive and the rest of the system will take place by means of these
tags.
In the example, use is made of tags 6LBH[B8$LB to 6LBH[B8$LB of the
VLJQHGELWYDOXH type. Further, a type ELWIRQWWH[WWDJ is created for storing
the data record name. In our example, this is tag 7LBH[B8$LB.
2
Open the XVHUDUFKLYHHGLWRU. You do this by clicking
8VHU$UFKLYH in &RQWURO&HQWHU.
3
Create a new archive. Click
5 on the $UFKLYH entry to start a wizard. This
wizard guides the user through the process of creating a new archive.
WinCC Configuration Manual
C79000-G8276-C140-01
85
on the entry called
8
5-3
8VHU$UFKLYH
6WHS
3URFHGXUH&UHDWLQJDQ$UFKLYH
4
Fill out the wizard’s page called *HQHUDO,QIRUPDWLRQ. At this stage you give
general details about the archive you want to create.
You have to enter the DUFKLYHQDPH. The archive name length may be as many as
20 characters. You must not use any ANSI C (programming language) or SQL
(database query language) keywords. In our example, we enter 8VHU$UFKLYHBL as
the name in the $UFKLYH1DPH box.
In the $OLDV box, we can enter a piece of text that describes the archive in greater
detail. All alpha and numeric entries are accepted in this box. Completion of this
box is optional, however. In our example, we will leave the $OLDV box blank.
Further, we have to select the DUFKLYHW\SH. If this is set to /LPLWHG, we will have
to specify the maximum number of GDWDUHFRUGV that the archive will be allowed
to hold. In our example, we will set 8QOLPLWHG as the DUFKLYHW\SH.
The wizard’s page is closed by clicking 1H[W.
5
Fill out the wizard’s &RPPXQLFDWLRQV page. At this stage we have to specify how
our new archive will communicate with the rest of the project.
If we select &RPPXQLFDWLRQVYLD:LQ&&5DZ'DWD7DJ, we have to set a WinCC
raw data tag on this page. A complete data record is transferred via this set tag
with this type of communication. Further, we have to enter a 3/&,', which may
contain up to eight characters. This ID can be used to assign a block of raw data
that has been sent by the programmable logic controller to a specific archive.
If we select &RPPXQLFDWLRQVYLD:LQ&&7DJV, we will have to assign a WinCC
tag to every data field in the archive. However, we cannot do this until we create
the corresponding data fields.
Further, there is the possibility of configuring an archive with the option 1R
&RPPXQLFDWLRQV.
In the present example, we select 7\SH as &RPPXQLFDWLRQVYLD:LQ&&7DJV.
The wizard’s page is closed by clicking 1H[W.
5-4
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&UHDWLQJDQ$UFKLYH
6
Fill out the wizard’s &RQWURO7DJV page. Here you can set four internal or external
WinCC tags. The archive can be controlled at runtime by means of these tags.
In our example, we will not use the control tags options. The example used in
:RUNLQJZLWK&RQWURO7DJVH[BBFKDSWHUB3'/ contains a detailed
description of this subject.
The wizard’s page is closed by clicking 1H[W.
7
Fill out the wizard’s 3ULYLOHJHVDQG)ODJV page.
In the 3ULYLOHJHV box, we can set authorization levels for the UHDG and ZULWH types
button opens a dialog box containing a list
of access. Clicking the
of all the authorization levels created using the 8VHU$GPLQLVWUDWRU editor. You
can choose the authorization level you require from the list. Section 6KXWGRZQ
:LQ&&DFFHVVSURWHFWLRQ contains an in-depth description of configuring users
and authorization levels with the 8VHU$GPLQLVWUDWRU editor.
Pre-defined columns can be inserted into the archive in the )ODJV box. A column
is available for storing the date when the data record was last accessed. Further,
there is a column for saving the name of the last user to access the data record.
WinCC Configuration Manual
C79000-G8276-C140-01
5-5
8VHU$UFKLYH
6WHS
3URFHGXUH&UHDWLQJDQ$UFKLYH
In our example, we will not perform any settings on this page of the wizard.
The wizard’s page is closed by clicking )LQLVK.
8
The archive you have just configured now appears in the tree structure under the
entry $UFKLYHV.
8
Click
5 on the entry of the new archive or the
button while the entry is
selected to open the Properties dialog box of the archive. The dialog box shows
all the wizard’s pages and the details we made on them in the form of tabs. In
addition, there is another tab for setting the archive order. However, there is only
a single archive at this stage of configuration.
5-6
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
1RWH
By default, the user archive editor is set such that when you have completed one archive
you are prompted as to whether you wish to create another one. This feature can be
modified by choosing (GLW→2SWLRQV from the menu and deselecting the corresponding
check box. The same applies to boxes, views and columns.
&RQILJXULQJGDWDILHOGV
6WHS
3URFHGXUH&RQILJXULQJ'DWD)LHOGV
8
1
5 on the entry of the new
Create the individual boxes of the archive. Click
archive to start a wizard. This wizard guides the user through the process of
creating a new box.
2
Fill out the wizard’s page called *HQHUDO,QIRUPDWLRQ. At this stage you provide
general details about the box you want to create.
You have to enter the ER[QDPH. The box name is subject to the same constraints
as the archive name. In our example, we will use the name 5HFRUG1DPH as the
ER[QDPH.
In the $OLDV box, you can enter a long name that is not subject to any constraints.
If a name is entered in the $OLDV box, it is used at runtime as a column heading. If
you do not enter a name, the ER[QDPH is used as the column heading. There is
also the possibility of entering the DOLDV directly or of using a reference to a text
in the WH[WOLEUDU\. The second possibility is sensible only when you want to
create multi-lingual projects.
Clicking the
button opens a dialog box for entering text in the WH[W
OLEUDU\ or selecting text from the WH[WOLEUDU\. Text entered in the 7H[W box is
entered in the WH[WOLEUDU\ by clicking 2.. The DOLDV used is then a reference to
this text.
You can search for existing text in the 6HOHFW box, too. When doing so, you enter
a word or a piece of text that you require to be contained in the text you are
looking for as a ILOWHU. In this case the character is used a wildcard character. If
you just enter , the whole contents of the WH[WOLEUDU\ is displayed in the list
on the list box updates its contents.
box. Clicking
In our example, we will enter ER[QDPH as WH[W. Close the 7H[W/LEUDU\ dialog box
by clicking 2..
8
WinCC Configuration Manual
C79000-G8276-C140-01
5-7
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJ'DWD)LHOGV
Further, we have to select the W\SH of box. At the present time the types available
are QXPEHULQWHJHU, QXPEHUGRXEOH, VWULQJ and GDWHWLPH. In our example, we
will set the W\SH of box to VWULQJ. We also have to set the string OHQJWK for this
type. In our example, we will set the value to .
The wizard’s page is closed by clicking 1H[W.
3
5-8
Fill out the wizard’s page called 9DOXHV. Here we can set numeric box types to
0D[LPXP, 0LQLPXP and also 6WDUW9DOXH. In the case of text boxes, we can enter
a default value for the VWDUWYDOXH that is dependent upon the defined length.
If &RPPXQLFDWLRQYLD:LQ&&7DJV has been configured, we have to set a
corresponding tag for every box. In our example, we will select the text tag called
7LBH[B8$LB, which we configured earlier.
The wizard’s page is closed by clicking 1H[W.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
4
3URFHGXUH&RQILJXULQJ'DWD)LHOGV
Fill out the wizard’s 3ULYLOHJHVDQG)ODJV page.
In the 3ULYLOHJHV box we can set authorization levels for the UHDG and ZULWH types
of access. The authorization levels set at this stage refer to a single box. It is
therefore possible to protect individual boxes from unauthorized access.
In the )ODJV box, we can assign various properties to the box. The following
properties can be assigned:
• The PXVWKDYHDYDOXH, which was must not be zero.
• The PXVWKDYHDXQLTXHYDOXH, the values of this column must all differ from
each other.
• The ER[VKRXOGEHVXSSRUWHGE\DQLQGH[.
In our example, we will not perform any settings on this page of the wizard.
The page is closed by clicking )LQLVK.
5
In our example, let us now create five more boxes. We want them to be
QXPEHULQWHJHU type boxes. The names of the boxes will range from 3UHVVXUHBD
to 3UHVVXUHBH; the aliases of the boxes will range from 3UHVVXUH to 3UHVVXUH. A
WinCC Configuration Manual
C79000-G8276-C140-01
5-9
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJ'DWD)LHOGV
VLJQHGELWWDJ, which we created earlier, will be set as the tag. The remaining
box settings will be similar to those of the first box.
The new boxes are displayed in the list when 8VHU$UFKLYHBL archive is selected
in the tree structure.
6
7
8
5 on the entry of a box or the
button while the box is selected to
Click
open the Properties dialog box associated with the box. The dialog box shows all
the wizard’s pages and the details we provided on them in the form of tabs. In
addition, there is another tab for setting the archive box order.
Save the configurations you have performed. To do this, you can use the
button on the toolbar or you can choose 3URMHFW→6DYH from the menu.
When doing so, make sure that the XVHUDUFKLYHHGLWRU is not in the mode for
entering data in the different archives. This means that you must not click the
button. Only then can you apply the configuration data to the database.
5-10
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
'DWD(QWU\H[BBFKDSWHUB3'/
7DVNGHILQLWLRQ
The present example is based on the previous example &UHDWLQJD8VHU$UFKLYH
H[BBFKDSWHUB3'/.
We want to supply the archive we created earlier with data. In doing so, we want to avail
ourselves of the possibilities provided by direct data entry in the user archive editor and that
of data import from an external file.
'DWDHQWU\LQWKHXVHUDUFKLYHHGLWRU
6WHS
3URFHGXUH'DWD(QWU\LQWKH8VHU$UFKLYH(GLWRU
8
1
Open the user archive editor. Before we can enter data records in an archive, we
.
have to select it in the left tree structure with
2
Switch the archive to Runtime Data mode. You do this by clicking the button on
the toolbar or by choosing (GLW→5XQWLPH'DWD from the menu. The data of an
archive can be modified in this mode only.
A blank table, whose columns correspond to the data structure of the archive we
configured, appears in the lower table window.
3
Enter the data. Before we can enter data in a box, we have to select the box by
'. If the focus is in the table window, entry of a new data record can be
8
initiated by clicking the
4
button on the toolbar.
8
button on the toolbar,
If the focus is in the table window and if you click the
in
the table window is in Change mode. It suffices to select a box with the
order to enable data entry.
If the focus is in the table window, you can delete the currently selected data
record by clicking the
button on the toolbar. You cannot delete more than
one data record at a time.
WinCC Configuration Manual
C79000-G8276-C140-01
5-11
8VHU$UFKLYH
,PSRUWLQJGDWDIURP&69ILOHV
6WHS
1
3URFHGXUH,PSRUWLQJ'DWDIURP&69)LOHV
Determine the structure of an import file. To do this, we need to export data
records, which we entered earlier, to a CSV file. We do this by clicking the
button on the toolbar. The ([SRUW dialog box is displayed.
In the )LOH6HOHFWLRQ box, we specify the name of the file to which we wish to
button to select an existing file.
export our archive data records. Click the
In our example, the file we will set in the )LOH6HOHFWLRQ box is the one called
H[B8$LFVY.
We leave &69 (comma separated values) set as the file format. We can modify
button. In our
the separator used for the file by clicking the
example, we will keep to the default semicolon, however.
In the $UFKLYH6HOHFWLRQ box we set the 8VHU$UFKLYHBL archive.
We will keep $OO as the ILOWHU so that all the data stored in the archive are
exported. There is also the possibility of setting a filter to the values of a specific
5-12
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH,PSRUWLQJ'DWDIURP&69)LOHV
box or making a selection by means of an SQL expression.
Clicking the
file we selected.
2
button starts the export operation of the data to the
The file we just selected can be opened only with a text editor of some
description. In our example, the file was opened with the Microsoft editor. It will
be retained for importing the necessary file structure.
When creating a file which you want to use as a basis for importing data, make
sure the quotation marks enclosing text boxes are removed, since otherwise
errors will occur during the import operation. Existing data records are not
overwritten during the import operation. Data records are identified by the IDs
displayed in the first column. Imported files should contain only data records
having IDs that have not been assigned so far.
3
There is now the possibility of opening and editing the file we received in Excel.
In Excel’s Open dialog box, change the file type setting from 0LFURVRIW([FHO
)LOHV to WH[WILOHV.
The different boxes in the archive are then displayed in such a manner that they
are distributed over various columns in a table. Various new data records can be
created in a user-friendly manner as illustrated below.
In our example, we will now save the file by choosing )LOH→6DYH$V from the
menu as LPB8$LFVY. Excel automatically removes the quotation marks
encompassing the text boxes during the operation. We can now exit Excel. The
final query on the save operation can be answered by selecting 1R, since the data
have already been saved in a new file.
4
Import the data into the user archive editor. We do this by clicking the
button on the toolbar. The Import dialog box opens.
WinCC Configuration Manual
C79000-G8276-C140-01
5-13
8VHU$UFKLYH
6WHS
3URFHGXUH,PSRUWLQJ'DWDIURP&69)LOHV
In the )LOH6HOHFWLRQ box, we set the file receiving the data by clicking the
button. In our example, the file we set in the )LOH6HOHFWLRQ box will be the one
we created earlier, in other words LPB8$LFVY.
button to
In the )LOH)RUPDW box, we left &69 as it was. Click the
specify the separator to be used in the file. In our example, we can keep to the
default semicolon, however.
We set the destination archive in the $UFKLYH6HOHFWLRQ box; In our example, it
will be 8VHU$UFKLYHBL.
The data import operation is started by clicking the
5
button.
Imported data are written directly to the database. They therefore do not have to
be saved separately.
1RWH
During the import operation, make sure the file is not still open in Excel. If it is, an error
will occur. The same error message is issued when the file contains existing data records or
the file structure of the file does not match that of the archive.
5-14
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
&RQILJXULQJD7DEOH9LHZH[BBFKDSWHUB3'/
7DVNGHILQLWLRQ
The present example is based on the two preceding examples, &UHDWLQJD8VHU
$UFKLYHH[BBFKDSWHUB3'/ and 'DWD(QWU\H[BBFKDSWHUB3'/.
The data of the archive configured in these examples are required to be made available to
the user at runtime. The archive data are to be displayed in tabular form.
,PSOHPHQWDWLRQFRQFHSW
The archive will be displayed at runtime by means of a special OLE control. The data will
be displayed in tabular form. Using the control it will be possible to place various edit
options for the archive at the disposal of the user.
,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
1
Open *UDSKLFV'HVLJQHU and create a new picture. In our example, this is the
picture called H[BBFKDSWHUBSGO.
2
Configure an OLE control at 6PDUW2EMHFW→2/(&RQWURO. The ,QVHUW
2OH&RQWURO dialog box is opened.
In this dialog box, we select the entry :LQ&&8VHU$UFKLYH7DEOH&RQWURO from
the list of available OLE controls and close the dialog box by clicking 2.. The
deactivated :LQ&&8VHU$UFKLYH7DEOH&RQWURO appears. In our example, we use
the object called 2/(&RQWURO.
3
Click
box.
WinCC Configuration Manual
C79000-G8276-C140-01
8'
on the object known as 2/(&RQWURO to open its Properties dialog
5-15
8VHU$UFKLYH
6WHS
5-16
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
4
On the *HQHUDO,QIRUPDWLRQ tab, we select the $UFKLYH option in the 6RXUFH box.
In the present example, we cannot select 9LHZ since we have not configured any
views as yet. The archive we select is 8VHU$UFKLYHBL.
In the (GLW box, we can set the edit options for the archive that the user will be
able to access. In our example, we will make the full range of edit options
available to the user.
We can display the OLE control with %RUGHU. In addition, we can also display the
object in form view. In our example, we select the %RUGHU check box. But we do
not select the )RUP check box.
5
We can select the data fields, which we want to have displayed in the table, on
the &ROXPQV tab. In our example, we select all the boxes available.
Further, there is the possibility of setting certain properties for every data field in
the 3URSHUWLHV box. In our example, however, we will leave the default settings
for all the data fields as they are.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6
On the 7RROEDU tab, we can configure the elements we require on the toolbar. In
our example, we will leave all the functions selected. There is the possibility of
assigning an authorization level to every button on the toolbar so that it can be
operated only by authorized users.
If the &OHDU check box is selected, the toolbar is not displayed. If, however, only
individual buttons are deselected from the list by means of the check boxes, they
will be displayed nevertheless, though it will not be possible to operate them.
7
On the 6WDWXV%DU tab, we can set the status bar to look as we wish it to. In our
example, we will leave all the elements selected.
If the &OHDU check box is selected, the status bar is not displayed.
WinCC Configuration Manual
C79000-G8276-C140-01
5-17
8VHU$UFKLYH
6WHS
5-18
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
8
On the )RQWV tab, we can customize the font used by the OLE control. In our
example, we will reduce the VL]H of the font to in order to be able
simultaneously to display all the columns of the table at runtime. We will leave
all the other settings as they are.
9
On the )LOWHU6RUW tab, we will not perform any settings for our example. You can
set filters and sorts at runtime, too, if the corresponding buttons have been
provided on the toolbar.
10
On the &RORUV tab, we can modify the colors of individual elements in a table. A
convenient place for settings colors, especially when more than 16 colors are
required to be available, is the 2/(&RQWURO object Properties dialog box
provided by WinCC.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
11
12
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
Complete the settings in the 3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO
dialog box by clicking 2..
Set the table color scheme. Click
object.
2/(&RQWURO
85
to open the Properties dialog box of the
In our example, we will adapt the colors *ULG%DFN&RORU, %DFN&RORU and
+HDGHU%DFN&RORU to the color scheme used in the project. The default settings
will be applied for the remaining colors.
There is a possibility of performing almost all the other settings performed in the
3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO dialog box at this stage as well.
This is not practical for some setting options, however.
WinCC Configuration Manual
C79000-G8276-C140-01
5-19
8VHU$UFKLYH
6WHS
4
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
8'
We can check some of the configurations we have performed in *UDSKLFV
'HVLJQHU. Click
to open the object.
5
5-20
on the 2/(&RQWURO object while keeping CTRL pressed
Configure five pointer-type instruments to display the tags that have to be written
by 8VHU$UFKLYH. These are :LQ&&JDXJHFRQWURO type OLE controls configured
at 6PDUW2EMHFWV→2/(&RQWUROV. In our example, these are objects 2/(
&RQWURO to 2/(&RQWURO.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
At each of the objects, we create a WDJFRQQHFWLRQ to one of the five integer tags
that have to be written by the archive at 3URSHUWLHV→2/(&RQWURO3URSHUWLHV→
9DOXH.
To be in a position to simulate a change of the values of these tags, five slider
objects are configured at 6PDUW2EMHFWV→6OLGHU2EMHFWV. In our example, these
are objects6OLGHU2EMHFW to 6OLGHU2EMHFW.
At each of these objects, we create one WDJFRQQHFWLRQ to one of the
corresponding tags at 3URSHUWLHV→0LVFHOODQHRXV→3URFHVV'ULYHU
&RQQHFWLRQ. Further, a GLUHFWFRQQHFWLRQ to the same tag is created at (YHQW→
3URSHUW\7RSLFV→0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ→&KDQJH. For
these GLUHFWFRQQHFWLRQV, the VRXUFH WKLVREMHFW→3URFHVV'ULYHU&RQQHFWLRQis
connected to the GHVWLQDWLRQ of the corresponding WDJ. This is performed so that a
change of the tag value is achieved for every change in the position of the slider.
6
We configure a standard object at 6WDQGDUG2EMHFW→6WDWLF7H[W to display the
data record that is currently being loaded to the tags. In our example, we use the
object called 6WDWLF7H[W. At this object, we create a WDJFRQQHFWLRQ to
7LBH[B8$LB tag containing the name of the data record at 3URSHUWLHV→)RQW
→7H[W.
If the tag still does not contain text when a picture is opened, a data record has
not been loaded as yet, and we want this to be displayed likewise. This is
performed by means of a &DFWLRQ at picture object H[BBFKDSWHUB by selecting
(YHQW→0LVFHOODQHRXV→2SHQ3LFWXUH. This &DFWLRQ writes the words 1RGDWD
UHFRUG to the tag if it is blank.
WinCC Configuration Manual
C79000-G8276-C140-01
5-21
8VHU$UFKLYH
1RWHVRQJHQHUDOXVH
The OLE control toolbar buttons illustrated below perform the following tasks at runtime:
5-22
•
You can toggle between table view and form view at runtime by means of the
Form button.
•
You can modify archive data at runtime, too, using the edit buttons. You
can delete and modify data records, or add new ones. The extent to which the user is
authorized to modify data will depend on the OLE control settings in *UDSKLFV
'HVLJQHU.
•
Using the navigation buttons, you can move in the table and select
different data records. Selection of data records also works by directly selecting data
records with the mouse.
•
The data transfer buttons are used to read and write data. The :ULWH7DJV
button is used to write the data record selected in the table to the tags set in 8VHU
$UFKLYH. The 5HDG7DJV button is used to read in the current values of the tag set in
8VHU$UFKLYH to the data record selected in the table.
•
We can use the Export and Import buttons to export archive data to CSV files,
or import new data from CSV files. The buttons have the same function as the
corresponding buttons in the user archive editor. The procedure for importing and
exporting data is described in the example contained in 'DWD(QWU\
H[BBFKDSWHUB3'/.
•
We can use the )LOWHU and 6RUW buttons to define the data records we want to
have displayed and the order in which we want to have them displayed. These settings
for OLE control can also be performed in *UDSKLFV'HVLJQHU.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
&RQILJXULQJD)RUP9LHZH[BBFKDSWHUB3'/
7DVNGHILQLWLRQ
The present example is based on the two preceding examples, &UHDWLQJD8VHU
$UFKLYHH[BBFKDSWHUB3'/ and 'DWD(QWU\H[BBFKDSWHUB3'/.
The data of the archive configured in these examples are required to be made available to
the user at runtime. We want the archive data to be displayed as a form, by means of which
it will be possible to display one data record at a time.
,PSOHPHQWDWLRQFRQFHSW
The archive will be displayed at runtime by means of a special OLE control. The data will
be displayed as a form.
By means of several buttons, it will be possible to place various edit options for the archive
at the disposal of the user.
,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
1
Open *UDSKLFV'HVLJQHU and create a new picture. In our example, this is the
picture called H[BBFKDSWHUBSGO.
2
Configure an OLE Control object at 6PDUW2EMHFWV→2/(&RQWURO. The ,QVHUW
2OH&RQWURO dialog box is opened.
In this dialog box, we select the entry :LQ&&8VHU$UFKLYH7DEOH&RQWURO from
the list of available OLE controls and close the dialog box by clicking 2.. The
deactivated :LQ&&8VHU$UFKLYH7DEOH&RQWURO appears. In our example, we use
the object called 2/(&RQWURO.
3
Click
box.
WinCC Configuration Manual
C79000-G8276-C140-01
8'
on the object known as 2/(&RQWURO to open its Properties dialog
5-23
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
4
On the *HQHUDO,QIRUPDWLRQ tab, we select the $UFKLYH option in the 6RXUFH box.
In the present example we cannot select 9LHZ since we have not configured any
views as yet. The archive we select is 8VHU$UFKLYHBL.
In the (GLW box, we can set the edit options for the archive that the user will be
able to access. In our example, we will not allow the user to modify archive data
by selecting the 5HDG2QO\ check box.
We can display the OLE control with %RUGHU. In addition, we can also display the
object in form view. In our example, we select the %RUGHU and )RUP check boxes.
5
On the 7RROEDU tab, we can configure a toolbar. In our example, however, we
select the &OHDU check box. This means that the toolbar will not be displayed at
runtime.
On the 6WDWXV%DU tab, we can configure a status bar. In our example, we will
leave all the elements selected. But, as on the previous tab, we select the &OHDU
tab. This means that the status bar will not be displayed at runtime, either.
6
In our example, the VL]H of the font was reduced to on the )RQWVtab. It is true
that this setting refers to table view, which is not being used, but it also indirectly
affects form view too.
If the size of the OLE control is too small to display the entire table view, scroll
bars are shown. They are likewise shown when the OLE control happens to be in
form view. To circumvent this annoying effect, the font size is reduced to allow
the entire table view to be shown.
7
On the other tabs, we will not perform any more settings for our example.
Complete the settings in the 3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO
dialog box by clicking 2..
8
For us to be able to configure the form view, OLE control has to be activated in
*UDSKLFV'HVLJQHU. This is done by clicking
' on the object while keeping
CTRL pressed.
8
8
5 on the activated object opens a shortcut menu, which can be used
Clicking
to insert text boxes, editing boxes and buttons in the form. To insert a text box,
choose 7H[W from the menu.
9
5-24
A text box is displayed on the form and, at the same time, its Properties dialog
box is opened. There is also the possibility of entering a piece of text in the 7H[W
input box, or selecting the name of a data field from the drop-down list.
In our example, the box name 5HFRUG1DPH has been selected from the drop-
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
down list for the 7H[W box.
8
10
Configure the editing box that matches the text box. This is accomplished by
clicking
5 on the activated OLE control. We choose (GLW from the shortcut
menu that appears.
11
An editing box is displayed on the form and, at the same time, its Properties
dialog box is opened. From the drop-down list, we can now select the required
box whose data we want to have displayed in the editing box.
In our example, the 5HFRUG1DPH box has been selected from the drop-down list
for the )LHOG box.
12
As with the procedure described in the preceding four steps, a text box and an
editing box will be configured for each archive box in our example.
13
It must then be possible to navigate through the boxes in the archive. This is
accomplished by configuring buttons. On the form, all the functions available on
the toolbar can be triggered by buttons.
Click
14
85
on the activated OLE control to insert a EXWWRQ in the form.
A button is displayed on the form and, at the same time, its Properties dialog box
is opened. It is possible to enter a piece of text for labeling the button in the 7H[W
input box. In our example, the WH[W we use is the string . Its purpose is to
symbolize the function of the button for going to the first data record.
In the $FWLRQ box, we set the function we want the button to trigger. A list of all
the functions available is shown as a drop-down list. In our example, we set the
6WDUW function.
WinCC Configuration Manual
C79000-G8276-C140-01
5-25
8VHU$UFKLYH
6WHS
15
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
We then configure three more buttons. We want them to trigger %DFN, )RUZDUG
and (QG functions.
In our example, we configure a further two buttons which the user can use to
write single data records to the tags assigned to the data fields. The functions we
have to set for them are 5HDG7DJV and :ULWH7DJV.
5-26
16
Configure five pointer-type instruments to display the tags that have to be written
by 8VHU$UFKLYH. These are :LQ&&JDXJHFRQWURO type OLE controls configured
at 6PDUW2EMHFWV→2/(&RQWUROV. In our example, these are objects 2/(
&RQWURO to 2/(&RQWURO.
At each of the objects, we create a WDJFRQQHFWLRQ to one of the five integer tags
that have to be written by the archive at 3URSHUWLHV→2/(&RQWURO3URSHUWLHV→
9DOXH.
To be in a position to simulate a change of the values of these tags, five slider
objects are configured at 6PDUW2EMHFWV→6OLGHU2EMHFWV. In our example, these
are objects6OLGHU2EMHFW to 6OLGHU2EMHFW.
At each of these objects, we create a WDJFRQQHFWLRQ to one of the corresponding
tags at 3URSHUWLHV→0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ. Further, a
GLUHFWFRQQHFWLRQ to the same tag is created at (YHQW→3URSHUW\7RSLFV→
0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ→&KDQJH. For these GLUHFW
FRQQHFWLRQV, the VRXUFH WKLVREMHFW→3URFHVV'ULYHU&RQQHFWLRQis connected to
the GHVWLQDWLRQ of the corresponding WDJ. This is performed so that a change of
the tag value is achieved for every change in the position of the slider.
17
We configure static text at 6WDQGDUG2EMHFW→6WDWLF7H[W to display the data
record that is currently being loaded to the tags. In our example, we use the
object called 6WDWLF7H[W. At this object, we create a WDJFRQQHFWLRQ to the
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
tag containing the name of the data record at 3URSHUWLHV→)RQW
→7H[W.
If the tag still does not contain text when a picture is opened, a data record has
not been loaded as yet, and we want this to be displayed likewise. This is
performed by means of a &DFWLRQ at picture object H[BBFKDSWHUB at (YHQW→
0LVFHOODQHRXV→2SHQ3LFWXUH. This &DFWLRQ writes the words 1RGDWDUHFRUG
to the tag if it is blank.
7LBH[B8$LB
WinCC Configuration Manual
C79000-G8276-C140-01
5-27
8VHU$UFKLYH
:RUNLQJZLWK&RQWURO7DJVH[BBFKDSWHUB3'/
7DVNGHILQLWLRQ
We wish to create an archive having data records consisting of three double boxes and a
text box for storing a data record name. We want to keep the number of data records to
three.
We want the archive data to be made available throughout the project by using the control
tags on a record-by-record basis.
,PSOHPHQWDWLRQFRQFHSW
An archive is created in the user archive editor for archiving the data. Archive
communication will be configured with WinCC tags. We will assign four control tags to the
archive. Their purpose is to control writing of the data to the WinCC tags and reading of the
data from the WinCC tags.
Four data fields of the requisite field types will be created in the archive. An internal tag
will be assigned to each data field and will be used by the archive to communicate with the
rest of the project.
We then configure several buttons and I/O fields in Graphics Designer, which will be used
to write to the control tags. The contents of the control tags set the data record for
processing and whether data should be read or written.
&UHDWLQJDQDUFKLYH
6WHS
5-28
3URFHGXUH&UHDWLQJDQ$UFKLYH
1
Create a single internal tag for each data record in the archive. Communication
between the archive and the rest of the system will take place by means of these
tags.
In our example, we use tags *LB8$FWB to *LB8$FWB of the IORDWLQJ
SRLQWELW,((( type. Further, a type ELWIRQWWH[W tag is created for
storing the data record name. In our example, this is tag 7LB8$FWB.
2
Open the user archive editor. We create a new archive in the user archive editor.
Click
5 on the $UFKLYHV entry to open a wizard for this purpose.
3
We enter the DUFKLYHQDPH on the wizard’s first page. In our example, we enter
8VHU$UFKLYHBFW as the name in the $UFKLYHQDPH box. We will leave the $OLDV
box blank.
We choose /LPLWHG as the DUFKLYHW\SH. In keeping with the task set, the
maximum number of GDWDUHFRUGV is set to .
The wizard’s page is closed by clicking 1H[W.
4
On the wizard’s second page, we select the type of communication. In the present
example, we select 7\SH as &RPPXQLFDWLRQYLD:LQ&&7DJV.
The wizard’s page is closed by clicking 1H[W.
5
On the third page of the wizard, we can set four control tags. The archive can be
controlled at runtime by means of these tags.
If the tags have not been created previously, you can have the wizard do it
8
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&UHDWLQJDQ$UFKLYH
automatically. Click the
button to open a dialog box for setting a
few details concerning the tags which we want to create.
We have to set whether we want to create internal or external tags. If we want the
wizard to create external tags, then we must also specify the FRQQHFWLRQ for which
we want to have them created.
The wizard generates the tags in a tag group. We have to set the name of the
group and also the names of the individual tags. However, the wizard also
proposes names without being prompted to do so.
In our example, we select LQWHUQDO as the type of tag. We will keep to the names
for the tag group and individual tags as proposed by the wizard. Click 2. to
close the &UHDWH&RQWURO7DJV dialog box.
The tags you have just created are then automatically entered in the
corresponding boxes for ,', -RE, )LHOG and 9DOXH.
Since we will not perform any more settings on the next page of the wizard in our
example, we can close the wizard at this stage already by clicking )LQLVK.
WinCC Configuration Manual
C79000-G8276-C140-01
5-29
8VHU$UFKLYH
6WHS
3URFHGXUH&UHDWLQJDQ$UFKLYH
6
The boxes listed in the table that follows are created in our example for the
archive you have just configured. The tags configured in step 1 are set as the
assigned tags.
For the double boxes, we set a PLQLPXPYDOXH of - and a PD[LPXPYDOXH of .
We set the OHQJWK of the text box to .
7
A total of three data records can now be created for the archive in the bottom
window of the table.
,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6WHS
5-30
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
1
Open *UDSKLFV'HVLJQHU and create a new picture. In our example, this is the
picture called H[BBFKDSWHUBSGO.
2
Configure an OLE Control object at 6PDUW2EMHFWV→2/(&RQWURO. It will only
be used in our example to display archive data and will not be given any control
elements.
The ,QVHUW2OH&RQWURO dialog box is opened.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
In this dialog box, we select the entry :LQ&&8VHU$UFKLYH7DEOH&RQWURO from
the list of available OLE controls and close the dialog box by clicking 2.. The
deactivated :LQ&&8VHU$UFKLYH7DEOH&RQWURO appears. In our example, we use
the object called 2/(&RQWURO.
8
3
' on the object known as 2/(&RQWURO to open its Properties dialog
Click
box.
On the *HQHUDO,QIRUPDWLRQ tab, we set the 6RXUFH field to 8VHU$UFKLYHBFW, the
DUFKLYH you configured earlier.
Keep 5HDG2QO\ as the setting in the (GLW box.
In our example, we deselect the %RUGHU check box. The )RUP check box likewise
remains deselected.
4
On the 7RROEDU tab, we select the &OHDU check box. Similarly, we select the &OHDU
check box on the 6WDWXV%DU tab. This results in the table being displayed without
the toolbar or the status bar.
Complete the settings in the 3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO
dialog box by clicking 2..
5
Configure three bar graphs to display the tags that have to be written by 8VHU
$UFKLYH by selecting 6PDUW2EMHFWV→%DU*UDSK. In our example, these objects
are %DU to %DU.
We create a WDJFRQQHFWLRQ to one of the three double tags that have to be written
by the archive at each of the objects by selecting3URSHUWLHV→0LVFHOODQHRXV→
3URFHVV'ULYHU&RQQHFWLRQ.
For us to be in a position to simulate any change of values for these tags, two
buttons are configured at :LQGRZV2EMHFWV→%XWWRQ for each bar graph. One of
these buttons is used to increment the corresponding tag value in typing mode
and the other to decrease it.
WinCC Configuration Manual
C79000-G8276-C140-01
5-31
8VHU$UFKLYH
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6
We then have to configure control elements with which the user can, firstly,
select a specific data record and, secondly, trigger a specific function for that
function.
Selection of the data record by means of control tags can be done in two different
ways. It is possible to write to the tag set for the ID. The second version consists
of writing a field name for the tag set for the field and, in addition, a search value
to the tag set for the value.
7
To select the data record by means of the ID, we configure three buttons at
:LQGRZV2EMHFWV→%XWWRQ in our example. They write a suitable value, via
GLUHFWFRQQHFWLRQV, to the tag, #8$B8VHU$UFKLYHBFWB,', set for the ID. The
current tag value is displayed by means of an I/O field created at 6PDUW2EMHFW→
,2)LHOG.
8
To select the data record using the field name and a search value, we configure
four buttons at :LQGRZV2EMHFWV→%XWWRQ. They write a suitable field name, via
GLUHFWFRQQHFWLRQV, to the tag, #8$B8VHU$UFKLYHBFWB)LHOG, set for the field
name. The current tag value is displayed by means of an I/O field created at
6PDUW2EMHFWV→,2)LHOG.
We configure another I/O field at 6PDUW2EMHFW→,2)LHOG for entering the
search value. Make sure you enter dots rather than commas for double values. If
you want to use text as a search value, it must be encompassed in quotation
marks.
5-32
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
9
10
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
In our example, we can switch to and fro between two possible selections for data
records by means of two buttons configured at :LQGRZV2EMHFWV→%XWWRQ. A
ELQDU\WDJ type is used to disable the input objects of the one version and then the
other.
To trigger jobs for the data record we selected, we configure two buttons at
→%XWWRQ. They write a suitable value, via GLUHFWFRQQHFWLRQV,
to the tag, #8$B8VHU$UFKLYHBFWB-RE, set for the job. Permissible values in this
instance are:
:LQGRZV2EMHFWV
• 6, for the job of reading the record from the tags
• 7, for the job of writing the record to the tags
• 8, for the job of deleting the record from the archive
In the present example, however, we use only the read tags and write tags jobs.
Successful triggering of the job can similarly be checked by means of the tag set
for the job. If the job has been completed successfully, the tag is set to zero. If the
job fails, the tag is set to -1.
This is evaluated in our example using a G\QDPLFGLDORJER[ created at 6PDUW
2EMHFW→,2)LHOG.
WinCC Configuration Manual
C79000-G8276-C140-01
5-33
8VHU$UFKLYH
&RQQHFWLQJYLD:LQ&&7DJVH[BBFKDSWHUBDSGO
7DVNGHILQLWLRQ
We want to establish a connection to a programmable logic controller. The programmable
logic controller we are going to use is the S5. The following description refers to the use of
an S5-115U (CPU 944B) with a CP1430 communication processor. Communication will
take place via a SIMATIC Industrial Ethernet.
Further, we wish to create an archive. The data records in this archive will consist of a text
box, two integer fields, two double fields and a date field. We want the archive data to be
displayed in tabular form at runtime. They are required to be made available to the
programmable logic controller on a record-by-record basis.
1RWH
The option of communication between User Archive and the programmable logic controller
via WinCC tags should be preferred when the majority of the activities are to be controlled
by WinCC.
,PSOHPHQWDWLRQFRQFHSW
We establish a connection to an S5 over a SIMATIC Industrial Ethernet. Several external
tags are created for the connection we configured. We want to use them for communication
between the programmable logic controller and the User Archive that we are going to
create.
We create a User Archive which we want to communicate with the PLC by means of
WinCC tags. Created beforehand, the tags are assigned to the individual data fields of the
archive.
The archive data are displayed at runtime by means of an OLE control. The current values
of the tags we are using are displayed for information purposes and for checking by means
of I/O fields and bar graphs.
6,0$7,&6(WKHUQHW/D\HUFRPPXQLFDWLRQGULYHU
This driver will be used for communication with the programmable logic controller in our
example. It is suitable for connections to the SIMATIC S5-115U, -135U and -155U with
the CP 1430 communication processor. We will use a CP-1413 card as the PC interface.
With not more than two modules, it can communicate with as many as 30 programmable
logic controllers.
&RQILJXULQJWKH&3FRPPXQLFDWLRQSURFHVVRU
6WHS
1
5-34
3URFHGXUH&RQILJXULQJWKH&3&RPPXQLFDWLRQ3URFHVVRU
Install the driver for the network connection between the PC and the PLC. For
this we will require the SIMATIC Drivers CD (SIMATIC NET). After specifying
a few general details in the installation wizard concerning the installation, we
select the entry ,(6 in the list box displayed on the page labeled
&RPSRQHQWV. Installation is completed by clicking 1H[W. Following this, the
computer has to be rebooted.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
2
3URFHGXUH&RQILJXULQJWKH&3&RPPXQLFDWLRQ3URFHVVRU
Install the CP 1413 card on the PC. Install the CP 1413 card on the PC exactly in
the manner stated in the installation instructions enclosed with the card.
Following this, software installation of the card has to be performed, again by
precisely following the instructions.
Start the 6HW3URJUDPPLQJ'HYLFH3&,QWHUIDFH program on the Control Panel.
The access point for the Industrial Ethernet connection was entered by default
when you installed the card. This is the access point labeled &3+B.
WinCC Configuration Manual
C79000-G8276-C140-01
5-35
8VHU$UFKLYH
6WHS
3
3URFHGXUH&RQILJXULQJWKH&3&RPPXQLFDWLRQ3URFHVVRU
Assign a module to the access point. The module has to be installed first,
however. This is accomplished by means of the
button in the
0RGXOHV box. The ,QVWDOO8QLQVWDOO0RGXOH dialog box opens. In the left list box,
we select the &3 entry and install the card using the
button.
5-36
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&3&RPPXQLFDWLRQ3URFHVVRU
4
The &35HVRXUFHV dialog box opens. The set memory area (
()))) can frequently not be used. We recommend the '
')))) area. By default, the I/O area is set to (( and can be
influenced by jumpers on the card.
5
To avoid duplicate assignment of the memory area and interrupts, it is sensible to
look in :LQGRZV17'LDJQRVWLFV. You do this by choosing the 6WDUWPHQX→
3URJUDPV→$GPLQLVWUDWLYH7RROV&RPPRQ→:LQGRZV17'LDJQRVWLFV.
The :LQGRZV17'LDJQRVWLFV program appears. In this program, select the
5HVRXUFHV tab.
You can determine the interrupts in use by clicking the
you click the
are in use.
button. If
button, you can determine which memory locations
6
The settings in the &35HVRXUFHV dialog box are now completed by clicking
2. and the ,QVWDOO8QLQVWDOO0RGXOHV dialog box is closed.
7
Assign the card you have just installed to the access point. To do this, in the 6HW
3URJUDPPLQJ'HYLFH3&,QWHUIDFH program, select access point &3B+B in the
top list box and select the entry for the &3 in the bottom list.
WinCC Configuration Manual
C79000-G8276-C140-01
5-37
8VHU$UFKLYH
6WHS
8
3URFHGXUH&RQILJXULQJWKH&3&RPPXQLFDWLRQ3URFHVVRU
Set the properties of the &3 card. We do this by clicking the
button. In the CP 1413 Properties dialog box that appears, we
have to enter the Ethernet address of the card on the (WKHUQHW0$&$GGUHVV tab.
&RQILJXULQJWKHFRQQHFWLRQRQWKHSURJUDPPDEOHORJLFFRQWUROOHU
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQRQWKH3URJUDPPDEOH/RJLF
&RQWUROOHU
5-38
1
Configure the connection on the programmable logic controller. This is done with
the 6,1(&1&0 COM package for the processor we are using.
Open the 'HIDXOW6HWWLQJV dialog box by choosing )LOH→6HOHFWfrom the menu.
For the &37\SH, we enter &3. The GDWDEDVHILOH we create in our example is
the file called $865$5&. The file name must start with an A character. Apply
the settings you have performed with ).
2
Choose (GLW→&3,QLW from the menu to open the &3%DVLF,QLWLDOL]DWLRQ dialog
box. We will leave the 0$&$GGUHVV in our example at . This is
also the default Ethernet address set by WinCC for the programmable logic
controller when a new connection is created. Apply the settings you have
performed with ).
3
Create two transport connections. This is accomplished by choosing (GLW→
&RQQHFWLRQV→7UDQVSRUW&RQQHFWLRQV from the menu. The 7UDQVSRUW
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQRQWKH3URJUDPPDEOH/RJLF
&RQWUROOHU
dialog box opens.
A transport connection is now created for requesting data from the programmable
logic controller to be transferred to WinCC. Specify )(7&+ as the job type.
Further, we set the programmable logic controller to 3DVVLYH. In the 7UDQVSRUW
$GGUHVVHV box, we enter $*')(7&+ for the local parameter of 76$3in our
example. In addition to the 76$3, &&')(7&+ in our example, we also have to
enter the Ethernet address of the CP-1413 card as the 0$&DGGUHVV for the
remote device parameter.
A transport connection is now created for sending data to the programmable logic
controller from WinCC. We can enter a new transport connection by pressing ).
Specify 5(&(,9( as the job type. We set the programmable logic controller to
3DVVLYH. In the 7UDQVSRUW$GGUHVVHV box, we enter $*':5,7( for the local
parameter of 76$3in our example. We enter &&':5,7( as the 76$3 for the
remote device parameter. We also have to specify the Ethernet address of the
card at this stage. Apply the settings you have performed with ).
It is always necessary to create read and write jobs. This also applies when one or
the other type of job is not required.
&RQQHFWLRQ
4
The data must now be transferred to the CP. This is accomplished by choosing
'RZQORDG→)'!&3 from the menu. However, this can be done only when the
programmable logic controller has been stopped.
&RQILJXULQJWKHFRQQHFWLRQLQ&RQWURO&HQWHU
6WHS
1
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
8
Install the required communication driver for the requisite programmable logic
controller and the requisite driver connections. In &RQWURO&HQWHU, click
5 on
7DJ0DQDJHPHQW to open the $GG1HZ'ULYHU dialog box.
Select 6,0$7,&6(WKHUQHW/D\HU from the list shown in the dialog box. Exit
the dialog box by clicking 2SHQ.
WinCC Configuration Manual
C79000-G8276-C140-01
5-39
8VHU$UFKLYH
6WHS
2
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
8
Configure a connection for the communication driver you have just added. This
is accomplished in &RQWURO&HQWHU by clicking
5 on the entry of one of the
two channel units that are displayed. In our example, we will use the
67UDQVSRUW&3 channel unit.
The &RQQHFWLRQ3URSHUWLHV dialog box is displayed.
Enter the name of the new connection on the *HQHUDO,QIRUPDWLRQ tab. In our
example, we use the name 68:LQ&&$FWLYH.
We set the properties of the connection on the &RQQHFWLRQ tab. In our example,
we will keep to the default setting for the (WKHUQHW$GGUHVVRI3/&.
In the 5($')XQFWLRQ box, we select )HWFK$FWLYH. This means that WinCC is the
active peer and it is possible for WinCC to read data from the programmable
logic controller. In our example, our 2ZQ76$3 will be called &&')(7&+ and
the 3HHU76$3 will be called $*')(7&+.
In the :5,7()XQFWLRQ box, our 2ZQ76$3 will be called &&':5,7( and the
3HHU76$3 will be called $*':5,7( in our example.
TSAPs always consist of eight characters. If less than eight characters are
entered, the other positions are filled with 0x0. The hexadecimal code of the
TSAP is displayed next to the name we entered. Be careful with upper-case and
lower-case characters, and also with distinguishing an entered space and a nonentered character.
5-40
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Close the dialog box by clicking 2..
3
Set the system parameters for the channel unit being used. To do this, click
on their entry.
85
The 6\VWHP3DUDPHWHUV dialog box opens.
On the 'HYLFH1DPH tag, you can enter the name of the access point via which
you wish communication to take place. However, this is not necessary in our
example, since by default a name was assigned already when the driver for the
CP-1413 card was installed. That name is used in this instance.
On the 7UDQVSRUW3DUDPHWHUV tab, we can modify different settings relating to
communication management. These settings should always agree with the CP´s
configuration on the programmable logic controller. A check always gives added
security.
Close the dialog box by clicking 2.. If modifications have been performed, exit
WinCC Configuration Manual
C79000-G8276-C140-01
5-41
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
WinCC and reboot. A complete restart is the only way to enable application of
the parameters to the CP.
5-42
4
We create a new tag group in the example for the new connection we have
created. All the tags for communication between User Archive and the
programmable logic controller will be combined in this group. In our example,
we will call the new tag group 8VHU$UFKLYHBGP.
5
Create the tags to be used for communication in the new tag group. Each of the
tags corresponds to a box in the User Archive we have yet to create. We create a
type ELWIRQWWH[W tag. In our example, it is called 7ZBH[B8$GPB. Its OHQJWK
is set to .
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Click the
button to open the dialog box for setting the DGGUHVV of the
tag on the programmable logic controller.
In the $GGUHVV'HVFULSWLRQ box, we select '% for the GDWDDUHD in our example.
We set the '%1R to . Select :RUG for the addressing, and set ':.
Exit the dialog box by clicking 2..
WinCC Configuration Manual
C79000-G8276-C140-01
5-43
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Further, we create two VLJQHGELWYDOXH type tags and two IORDWLQJSRLQWELW
,((( type tags.
The assigned names and the parameters assigned to the addresses comply with
the following table.
For VLJQHGELWYDOXH type tags, we set $GDSW6FDOH/RQJ7R6LJQHG':RUG in the
7DJ3URSHUWLHV dialog box.
For VLJQHGELW,((( type tags, we set $GDSW6FDOH'RXEOH7R6)ORDW in
the 7DJ3URSHUWLHV dialog box. This means that these tags only require 4 bytes on
the programmable logic controller.
6
5-44
Check the connection to the programmable logic controller. To do this, switch the
WinCC project to Runtime and start the programmable logic controller. A dialog
box, which you can open by choosing 2SWLRQV→6WDWXVRI'ULYHU&RQQHFWLRQV in
&RQWURO&HQWHU, keeps you informed of the status of the connection.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
&UHDWLQJDQGFRQILJXULQJWKH'%LQWKH6,0$7,&6FRQILJXUDWLRQ
DB
20
0:KH
1:KH
2:KH
3:KH
4:KH
5:KH
6:KH
7:KH
8:KH
9:KH
10:KC
15:KH
16:KH
17:KG
19:KH
20:KH
21:KG
User Archive via DM Tags
= 0000
= 0000
= 0000
= 0000
= 0000
= 0000
= 0000
= 0000
= 0000
= 0000
=’Record_001’
RecordName
= 0000
Pressure_a High
= 01C9
Pressure_a Low
= +1025400+03
Temperature_a
= 0000
Pressure_b High
= 0381
Pressure_b Low
= +4959800+03
Temperature_b
• The tags for communication are addressed in '%. This DB therefore contains the
data sent by User Archive.
• With a text length of 10 characters, the text box is assigned a data area from ': to
':. The memory allocation for the other data fields can be taken from the program
excerpt from the SIMATIC S5 configuration software shown above.
WinCC Configuration Manual
C79000-G8276-C140-01
5-45
8VHU$UFKLYH
&RQILJXULQJWKH8VHU$UFKLYH
6WHS
1
3URFHGXUH&RQILJXULQJ8VHU$UFKLYH
Open the 8VHU$UFKLYH editor and create a new archive by clicking
$UFKLYHV.
85
on
On the wizard’s first page, we enter 8VHU$UFKLYHBGP as the DUFKLYHQDPH and
specify the DUFKLYHW\SH as 8QOLPLWHG. On the second page, we set
&RPPXQLFDWLRQYLD:LQ&&7DJV. On the other pages we will not perform any
more settings.
2
The boxes listed in the table that follows are created in our example for the
archive you have just configured. The external tags we configured earlier are set
as the assigned tags.
3
Several data records can now be created for the archive in the bottom window of
the User Archive table editor.
1RWH
You cannot assign tags to a date/time type of data field. The data entered in this data field
are used merely as additional details elating to a data record.
&RQILJXULQJLQ*UDSKLFV'HVLJQHU
6WHS
1
5-46
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
Create a new picture in *UDSKLFV'HVLJQHU. In our example, this is the picture
called H[BBFKDSWHUBDSGO.
We configure an OLE control in this picture at 6PDUW2EMHFW→2/(&RQWURO. In
the ,QVHUW2OH&RQWURO dialog box that appears, we select the entry :LQ&&8VHU
$UFKLYH7DEOH&RQWURO from the list displayed. Close the dialog box by clicking
2.. The deactivated :LQ&&8VHU$UFKLYH7DEOH&RQWURO appears. In our
example, we use the object called 2/(&RQWURO.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
8
2
Click
' on the object known as 2/(&RQWURO to open its Properties dialog
box.
On the *HQHUDO,QIRUPDWLRQ tab, we select $UFKLYH8VHU$UFKLYHBGP as the
6RXUFH. In the (GLW field, we select the check boxes labeled 3DVWH, &KDQJH and
'HOHWH to make all the editing options available to the user. In addition, we select
the %RUGHU check box.
On the &ROXPQV tab, we select all the existing data fields of the archive.
On the 7RROEDU and 6WDWXV%DU tabs, we apply the presettings and thus use all the
existing elements.
On the )RQWV tab, we will reduce the VL]H of the font to in order to be able
simultaneously to display all columns of the table at runtime.
On the )LOWHU6RUW tab, we will not perform any settings for our example.
Complete the settings in the 3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO
dialog box by clicking 2..
The color scheme of the table has been adapted in our example to the color
scheme used throughout the project by means of the Properties dialog box of the
2/(&RQWURO object.
3
We configure an I/O field at 6PDUW2EMHFW→,2)LHOG to display the data record
name. In our example, we use the object called ,2)LHOG.
At 3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH, we create a WDJFRQQHFWLRQ to tag
7ZBH[B8$GPB. Select 3URSHUWLHV→2XWSXW,QSXW to modify the GDWD
IRUPDW to VWULQJ on the object.
The other four tags are all displayed by means of an I/O field created at 6PDUW
2EMHFW→,2)LHOG and a bar graph created at 6PDUW2EMHFW→%DU*UDSK.
At the ,2ILHOGV, create a WDJFRQQHFWLRQ to every one of the four tags at
3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH. In the case of the bars, create
corresponding WDJFRQQHFWLRQV in a similar manner at 3URSHUWLHV→
0LVFHOODQHRXV→3URFHVV'ULYHU&RQQHFWLRQ.
WinCC Configuration Manual
C79000-G8276-C140-01
5-47
8VHU$UFKLYH
1RWHVRQJHQHUDOXVH
The following adaptations must be made with regard to general use:
• The configurations performed for the connection can be directly applied to private
applications, provided that the hardware used is identical. If not, adjustments have to be
made in this area.
• Adapt the structure and format of the archive to your own requirements.
5-48
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
&RQQHFWLRQYLD:LQ&&5DZ'DWD7DJVWRWKH6
H[BBFKDSWHUBESGO
7DVNGHILQLWLRQ
We want to establish a connection to a programmable logic controller. The programmable
logic controller we are going to use is the S5. The description below refers to the use of an
S5-115U (CPU 944B) with a CP1430 processor. Communication is required to take place
over a SIMATIC Industrial Ethernet.
Further, we wish to create an archive. The data records in this archive will consist of a text
box, an integer field and a double field. We want the archive data to be displayed in tabular
form at runtime. They are required to be made available to the programmable logic
controller on a record-by-record and field-by-field basis.
1RWH
The option of communication between User Archive and the programmable logic controller
via WinCC raw data tags should be preferred when the majority of the activities are to be
controlled by the programmable logic controller.
In the present example, however, the WinCC user takes the initiative. The programmable
logic controller will be prompted to send job message frames to WinCC by setting a control
tag. In this way the functionality otherwise present in the programmable logic controller is
simulated.
,PSOHPHQWDWLRQFRQFHSW
We establish a connection to an S5 over a SIMATIC Industrial Ethernet. We will create a
WinCC raw data tag for the configured connection. We want to use this tag for
communication between the programmable logic controller and User Archive.
We create a User Archive which we want to communicate with the PLC by means of
WinCC raw data tags. The tag we created earlier is assigned to the archive.
The archive data are displayed at runtime by means of an OLE control. Control bits are set
on the programmable logic controller by means of various buttons. They trigger the transfer
of raw data message frames for writing, reading and deleting different data records and data
fields.
1RWH
The present example of connecting via WinCC raw data tags is based on the previous
example of connecting via WinCC tags. The configurations performed with regard to the
connection are regarded as completed. These are the sections on configuration of
communication processor CP 1413, configuration of the connection on the programmable
logic controller and configuration of the connection in Control Center. Completion of the
other sections of the preceding example is not assumed.
WinCC Configuration Manual
C79000-G8276-C140-01
5-49
8VHU$UFKLYH
&RQILJXULQJWKH&3&RPPXQLFDWLRQ3URFHVVRU
The configuration of the CP 1413 communication processor has already been described at
length in the preceding section. The approach to configuring is identical in as far as the
requirements of this example are concerned and can thus be adopted without any changes
having to be made to it.
&RQILJXULQJWKHFRQQHFWLRQRQWKHSURJUDPPDEOHORJLFFRQWUROOHU
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQRQWKH3URJUDPPDEOH/RJLF
&RQWUROOHU
1
In the 6,1(&1&0IRU&20V communication package, choose )LOH→6HOHFW to
open the 'HIDXOW6HWWLQJV dialog box. For the &37\SH, we enter &3. The
GDWDEDVHILOH we open is the $8$5&+,9 file we used in the previous example.
Apply the settings you have performed with ).
2
Create two new transport connections. This is accomplished by choosing (GLW→
&RQQHFWLRQV→7UDQVSRUW&RQQHFWLRQV from the menu. The 7UDQVSRUW
&RQQHFWLRQ dialog box opens.
A transport connection is now created for the active transmission of data from the
programmable logic controller to WinCC. We can enter a new transport
connection by pressing ). Specify 6(1' as the job type. We set the
programmable logic controller to $FWLYH.
In the 7UDQVSRUW$GGUHVVHV box, we enter $*5)(7&+ for the local parameter of
76$3in our example. In addition to the 76$3, &&5)(7&+ in our example, we
also have to enter the Ethernet address of the &3 card as the 0$&DGGUHVV
for the remote device parameter.
A transport connection is now created for sending data to the programmable logic
controller from WinCC. Specify 5(&(,9( as the job type. We set the
programmable logic controller to 3DVVLYH.
In the 7UDQVSRUW$GGUHVVHV box, we enter $*5:5,7( for the local parameter of
76$3in our example. We enter &&5:5,7( as the 76$3 for the remote device
parameter. We also have to specify the Ethernet address of the card again. Apply
the settings you have performed with ).
3
The data must now be transferred to the CP. This is accomplished by choosing
'RZQORDG→)'!&3 from the menu. However, this can be done only when the
programmable logic controller has been stopped.
&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
6WHS
1
5-50
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Configure a new connection for the 6,0$7,&6(7+(51(7/$<(5 driver.
The driver was installed in the preceding example already. Create the new
5 on the entry of one of the two
connection in &RQWURO&HQWHU by clicking
channel units displayed. In our example, we will use the
67UDQVSRUW&3 channel unit.
8
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
The &RQQHFWLRQ3URSHUWLHV dialog box opens.
Enter the name of the new connection on the *HQHUDO,QIRUPDWLRQ tab. In our
example, we use the name 68:LQ&&3DVVLYH.
We set the properties of the connection on the &RQQHFWLRQ tab. In our example,
we will keep to the default setting for the (WKHUQHW$GGUHVVRI3/&.
In the 5($')XQFWLRQ box, we select )HWFK3DVVLYH. This means that WinCC is
the passive peer. Data are sent on the initiative of the programmable logic
controller.
Enter the TSAPs which we defined when we configured the connection on the
programmable logic controller. In our example, our 2ZQ76$3 will be called
&&5)(7&+ and the 3HHU76$3 will be called $*5)(7&+.
In the :5,7()XQFWLRQ box, our 2ZQ76$3 will be called &&5:5,7( and the
3HHU76$3 will be called $*5:5,7( in our example.
TSAPs always consist of eight characters. If less than eight characters are
entered, the other positions are filled with 0x0. The hexadecimal code of the
TSAP is displayed next to the name we entered. Be careful with upper-case and
lower-case characters, and also with distinguishing an entered space and a nonentered character.
Close the dialog box by clicking 2..
WinCC Configuration Manual
C79000-G8276-C140-01
5-51
8VHU$UFKLYH
6WHS
5-52
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
8
2
Create the WinCC raw data tag for communication between User Archive and the
programmable logic controller. You do this by clicking
5 on the entry of the
new connection 68:LQ&&3DVVLYH. The 7DJ3URSHUWLHV dialog box opens.
3
Set the tag properties. The QDPH of the tag we use in our example is
5$:BH[B8$UGB. We select the UDZGDWDW\SH from the list of GDWDW\SHV.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Open the dialog box for assigning parameters to addresses by clicking the
button.
In the $GGUHVV'HVFULSWLRQ box, we select in our example the GDWDDUHD as '%
and '%1R. Further, we enter :RUG$GGUHVVLQJ and ':. We select the 5DZ
'DWD check box and set a OHQJWK of for the tag. In the 5DZ'DWD box, we
select the 6HQG5HFHLYH%ORFN option.
Exit the $GGUHVV3URSHUWLHV dialog box by clicking 2.. Similarly, click 2. to
close the 7DJ3URSHUWLHV dialog box.
4
Create external tags for triggering actions on the programmable logic controller
and for checking correct functioning of the connection.
We create these tags in a new tag group, which we will have to create, in the 6
8:LQ&&$FWLYH connection. We configured this connection in the preceding
example.
In our example, the tag group in which we are going to create the tags will be
called 8VHU$UFKLYHBUG.
WinCC Configuration Manual
C79000-G8276-C140-01
5-53
8VHU$UFKLYH
6WHS
5
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
The tags we need to create and their addressing on the programmable logic
controller are shown at length in the list below.
Tags 7ZBH[B8$UGB, *ZBH[B8$UGB and 6ZBH[B8$UGB are
required to accommodate data sent to and from User Archive.
Tags 8ZBH[B8$UGB and 8ZBH[B8$UGB are to be used to set the record
number that has to be edited or the field number that needs editing.
Tag 8ZBH[B8$UGB is used as a control tag. We wish to use it to set and
trigger the type of job that has to be performed.
&RQILJXULQJ8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJ8VHU$UFKLYH
85
1
Open the 8VHU$UFKLYH editor and create a new archive. Do this by clicking
on $UFKLYHV. The wizard for creating a new archive appears.
2
On the *HQHUDO,QIRUPDWLRQ page, we enter the DUFKLYHQDPH as 8VHU$UFKLYHBUG
and specify the DUFKLYHW\SH as 8QOLPLWHG.
3
On the &RPPXQLFDWLRQ page, we set &RPPXQLFDWLRQYLD:LQ&&5DZ'DWD7DJV.
Once this item has been selected, the 3/&,' input field can be used. In our
example, we will use the name 865$5&5' as the 3/&,'. This ID must not be
longer than eight characters. This ID can be used to assign, to a specific archive,
a block of raw data that has been sent by the programmable logic controller.
Click the
button to set the WinCC raw data tag used for
communication. In our example, we set the tag we created earlier,
5$:BH[B8$UGB, in the 7DJ box.
5-54
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJ8VHU$UFKLYH
4
In our example, we will not perform any more settings on the remaining pages of
the wizard.
3
The boxes listed in the table that follows are created in our example for the
archive you have just configured. We now save the settings we have performed.
5
Several data records can now be created for the archive in the bottom window of
the User Archive table editor.
3URJUDPJHQHUDWLRQRQWKHSURJUDPPDEOHORJLFFRQWUROOHU
6WHS
1
2
3URFHGXUH3URJUDP*HQHUDWLRQRQWKH3URJUDPPDEOH/RJLF&RQWUROOHU
We have to create a data block in which we store the data for controlling and
monitoring communication.
This is control tag 8ZBH[B8$UGB, which contains the job type. Further,
there are the communication monitoring tags, 7ZBH[B8$UGB,
*ZBH[B8$UGB and 6ZBH[B8$UGB, as well as the tags for setting the
record number and field number for editing, 8ZBH[B8$UGB and
8ZBH[B8$UGB.
In our example, this data block is '%.
Create a further data block which we can use to handle communication with User
Archive. In our example, this is '%. The address of the WinCC raw data tag
set in the user archive editor refers to this memory area.
WinCC Configuration Manual
C79000-G8276-C140-01
5-55
8VHU$UFKLYH
6WHS
3URFHGXUH3URJUDP*HQHUDWLRQRQWKH3URJUDPPDEOH/RJLF&RQWUROOHU
WinCC sends to it the acknowledgement of the raw data message frames
received from the programmable logic controller. The structure of the
acknowledgement message frames can be taken from the section that follows,
6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV.
3
To illustrate the example more clearly, a separate raw data message frame is
stored in a separate data data block for every job type. The structure of these job
message frames is explained in the section that follows, 6WUXFWXUHRIUDZ
GDWDPHVVDJHIUDPHV.
4
Every job message frame has an area for accommodating the data record number
and data field number. In WinCC, we enter the values for these specifications in
tags 8ZBH[B8$UGB and 8ZBH[B8$UGB. The tag types have been
chosen in accordance with the length specified in the message frame structure for
the different values. The data record number requires 4 bytes, while the data field
number requires 2 bytes.
In the PLC program, these values are reloaded to the different job message
frames by means of a separate program block. The data record number is required
for all job types except the 'HOHWH$OO'DWD5HFRUGV type. The data field number
is required only for job types :ULWH)LHOG and 5HDG)LHOG. The program block
responsible for reloading the values is 3% in our example.
5
All communication handling is performed by another program block. In our
example, this is 3%. It is processed on a cyclic basis by means of 2%.
The contents of the control tag are transferred to a specific memory byte in 3%.
In our example, this is memory byte 30. Depending on the states of the different
bit memories, job message frames are sent to WinCC. This is accomplished in
each case by send block )%.
The different transmit data for )% are stored in a separate data block. In our
example, '% is used for this purpose.
Description of PB5 (communication with archive)
PB
5
Communication with archive
5-56
Network
0000
0001
0002
0003
0005
0006
0007
0008
0009
000A
1
:A
:L
:T
:L
:T
:
:SPA
:
:A
:***
NETWORK
000B
000C NAME
000D SSNR
000E A-NR
2
Send All
:JU FB 244
:SEND
:
KY 000,000
:
KY 000,000
Job number zero for Send All
DB
DW
MW
KF
DW
21
2
30
+0
2
PB 7
DB 5
Reload job tag
to memory word 30
Load record number and field number
in job message frames
Open data block
containing transmit data
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
000F
0010
0011
0012
0013
0014
0015
SW
QTYP
DBNR
QANF
QLAE
PAFE
:
:
:
:
:
:
:***
DW
KC
KY
KF
KF
MB
0
DB
000,000
+0
+0
100
NETWORK
0016
0017 NAME
0018 SSNR
0019 A-NR
001A SW
001B ZTYP
001C DBNR
001D ZANF
001E ZLAE
001F PAFE
0020
3
Receive All
:SPA FB 245
:RECEIVE
:
KY 000,000
:
KY 000,000
Job number zero for Receive All
:
DW 2
:
KC DB
:
KY 000,000
:
KF +0
:
KF +0
:
MB 100
:***
NETWORK
0021
0022
0023 NAME
0024 SSNR
0025 A-NR
0026 SW:
0027 QTYP
0028 DBNR
at DW 50
0029 QANF
002A QLAE
002B PAFE
002C
4
Delete all records
:U
M 30.1
If the bit memory set is Send
:JC FB 244
the job
:SEND
:
KY 000,000
:
KY 000,003
DW 4
:
KC RW
:
KY 000,005
Transmitted data from DB5 starting
NETWORK
002D
002E
002F NAME
0030 SSNR
0031 A-NR
0032 SW :
0033 QTYP
0034 DBNR
at DW 60
0035 QANF
0036 QLAE
0037 PAFE
0038
5
Read data record
:U
M 30.2
If the bit memory set is Send
:SPB FB 244
the job
:SEND
:
KY 000,000
:
KY 000,003
DW 6
:
KC RW
:
KY 000,005
Transmitted data from DB5 starting
NETWORK
0039
003A
003B NAME
003C SSNR
003D A-NR
003E SW :
003F QTYP
0040 DBNR
at DW 70
6
Write record
:U
M 30.3
If the bit memory set is Send
:JC FB 244
the job
:SEND
:
KY 000,000
:
KY 000,003
DW 8
:
KC RW
:
KY 000,005
Transmitted data from DB5 starting
WinCC Configuration Manual
C79000-G8276-C140-01
:
KF +50
:
KF +0
:
MB 100
:***
:
KF +60
:
KF +0
:
MB 100
:***
5-57
8VHU$UFKLYH
0041 QANF :
KF +70
0042 QLAE :
KF +0
0043 PAFE :
MB 100
0044
:***
NETWORK
0045
0046
0047 NAME
0048 SSNR
0049 A-NR
004A SW :
004B QTYP
004C DBNR
at DW 80
004D QANF
004E QLAE
004F PAFE
0050
7
Delete data record
:U
M 30.4
If the bit memory set is Send
:JC FB 244
the job
:SEND
:
KY 000,000
:
KY 000,003
DW 10
:
KC RW
:
KY 000,005
Transmitted data from DB5 starting
NETWORK
0051
0052
0053 NAME
0054 SSNR
0055 A-NR
0056 SW :
0057 QTYP
0058 DBNR
at DW 90
0059 QANF
005A QLAE
005B PAFE
005C
8
Read field
:U
M 30.5
If the bit memory set is Send
:JC FB 244
the job
:SEND
:
KY 000,000
:
KY 000,003
DW 12
:
KC RW
:
KY 000,005
Transmitted data from DB5 starting
NETWORK
005D
005E
005F NAME
0060 SSNR
0061 A-NR
0062 SW :
0063 QTYP
0064 DBNR
at DW 100
0065 QANF
0066 QLAE
0067 PAFE
0068
9
Write field
:U
M 30.6
If the bit memory set is Send
:SPB FB 244
the job
:SEND
:
KY 000,000
:
KY 000,003
DW 14
:
KC RW
:
KY 000,005
Transmitted data from DB5 starting
:
KF +80
:
KF +0
:
MB 100
:***
:
KF +90
:
KF +0
:
MB 100
:***
:
:
:
:BE
KF +100
KF +0
MB 100
• This program block is called in OB1. This means that it is processed on a cyclic basis.
• On Network1, the address area of the control tag sent by WinCC, 8ZBH[B8$UGB,
is transferred first to memory word 30. The contents of the control tag is then reset to
zero. Further, the record number and field number entered in WinCC is entered in the
different message frames by means of PB7. In this case we must remember that the byte
order has to be changed. Finally, the data block containing the transmit data is opened
for processing on the subsequent networks.
• On Network 2, a Send All job is executed.
• On Network 3, a Receive All job is executed.
5-58
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
• On Network 4, a job message frame is sent to WinCC in the event of bit memory 30.1
being set. In this case the message frame is used to delete all the data records from an
archive. The transmit data are taken by FB244 from DB5 starting at DW50. The
transmit data contained in this block are shown in the program excerpt below.
• On the subsequent networks, other job message frames are sent to WinCC, depending
on the state of memory byte 30. The only differences in the calls relate to the addressing
if the display word and the start of the transmit data in DB5.
Transmit data in DB5 (excerpt)
DB
5
Transmit data for FB244
48:KH
49:KH
50:KC
51:KY
52:KF
53:KF
54:KC
55:KY
56:KF
57:KF
58:KH
59:KH
= 0000
= 0000
=’DB’
= 000,025
= +00000
= +00050
=’DB’
= 000,023
= +00000
= +00050
= 0000
= 0000
### Transmit data Delete All Records
Source type DB
of DB 25
DW 0
with length of 50 words
Destination type DB
to DB 23
DW 0
with length of 50 words
• The program excerpt above contains the transmit data of the job for deleting the archive.
The contents of DB25, which contains the job message frame, is sent to DB23. This is
the block in which the raw data tag of User Archive is addressed
• This block similarly contains the transmit data for all the other send jobs of PB5.
&RQILJXULQJLQ*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
1
Create a new picture in *UDSKLFV'HVLJQHU. In our example, this is the picture
called H[BBFKDSWHUBESGO.
We configure an OLE control in this picture at 6PDUW2EMHFW→2/(&RQWURO. In
the ,QVHUW2OH&RQWURO dialog box that appears, we select the entry :LQ&&8VHU
$UFKLYH7DEOH&RQWURO from the list displayed. Close the dialog box by clicking
2.. The deactivated :LQ&&8VHU$UFKLYH7DEOH&RQWURO appears. In our
example, we use the object called 2/(&RQWURO.
2
Click
' on the object known as 2/(&RQWURO to open its Properties dialog
box.
On the *HQHUDO,QIRUPDWLRQ tab, we select $UFKLYH8VHU$UFKLYHBUG as the
6RXUFH. In the (GLW field, we select check boxes 3DVWH, &KDQJH and 'HOHWH to
WinCC Configuration Manual
C79000-G8276-C140-01
8
5-59
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
make all the editing options available to the user. In addition, we select the
%RUGHU check box.
On the &ROXPQV tab, we select all the existing data fields of the archive.
On the 7RROEDU tab, we deselect the two buttons :ULWH7DJ and 5HDG7DJ.
Control is performed by the programmable logic controller in the present
example. All the other buttons on the toolbar will be used.
On the 6WDWXV%DU tabs, we apply the presettings and thus use all the existing
elements.
On the )RQWV tab, we will reduce the VL]H of the font to in order to be able
simultaneously to display all columns of the table at runtime.
On the )LOWHU6RUW tab, we will not perform any settings for our example.
Complete the settings in the 3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO
dialog box by clicking 2..
The color scheme of the table has been adapted in our example to the color
scheme used throughout the project by means of the Properties dialog box of the
2/(&RQWURO object.
3
To display the data transferred from User Archive to the programmable logic
controller, we configure three I/O fields at 6PDUW2EMHFWV→,2)LHOGV. In our
example, these are the objects ,2)LHOG, ,2)LHOG and ,2)LHOG.
At the ,2ILHOGV, we create - at 3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH - a
WDJFRQQHFWLRQ for each of the three tags 7ZBH[B8$UGB, 6ZBH[B8$UGB
and *ZBH[B8$UGB.
4
To set the record number that has to edited and the field number, we create two
more I/O fields at 6PDUW2EMHFWV→,2)LHOGV. In our example, these are the
objects ,2)LHOG and ,2)LHOG.
At the object ,2)LHOG, we create at 3URSHUWLHV→2XWSXW,QSXW→2XWSXW
9DOXH a WDJFRQQHFWLRQ to tag 8ZBH[B8$UGB. This is used to accommodate
the record number.
At the object ,2)LHOG, we create at 3URSHUWLHV→2XWSXW,QSXW→2XWSXW
9DOXH a WDJFRQQHFWLRQ to tag 8ZBH[B8$UGB. This is used to accommodate
the field number.
To trigger actions on the programmable logic controller, we configure six buttons
at :LQGRZV2EMHFWV→%XWWRQ. In our example, these objects are %XWWRQ to
%XWWRQ.
When a button is clicked, a different value is written to tag 8ZBH[B8DUGB.
Every value corresponds to a different type of job for the programmable logic
controller. Refer to the list below for the assignment of individual values to the
corresponding jobs. The values are specified as hexadecimal.
• 0x0200 = Delete All Records
• 0x0400 = Write Record to PLC
5-60
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
• 0x0800 = Read Record from PLC
• 0x1000 = Delete Record from Archive
• 0x2000 = Write Field to PLC
• 0x4000 = Read Field from PLC
This tag is periodically queried in the PLC program. A corresponding job is
triggered depending on the contents of the tag.
1RWH
In our example, we want to test the exchange of data between User Archive and the
programmable logic controller. A complex program that sends and receives would go
beyond the framework of a basic description of the connection.
Tags 7ZBH[B8$UGB, *ZBH[B8$UGB and 6ZBH[B8$UGB have been created
for checking communication. I/O field data are used to make entries in these tags at
runtime. These data are then re-stored in the data area of a job message frame using project
functions.
The procedure for data arriving at the programmable logic controller is similar. They are restored from the data area of the acknowledgement message frame in the corresponding tags
by means of a project function.
-REVIRUZULWLQJWRWKH3/&
6WHS
1
3URFHGXUH-REVIRU:ULWLQJWRWKH3/&
With write jobs (write to the programmable logic controller), the data arriving at
the programmable logic controller in our example are re-stored in tags
7ZBH[B8$UGB, *ZBH[B8$UGB and 6ZBH[B8$UGB. This is done to
check the function and is not necessary in normal practice. In the present
example, the storage of data at the WinCC end is solved by means of project
functions.
Two raw data tags were created. One of the tags is tag 5$:BH[B8$UGB in our
example. With regard to its address, it corresponds to the data area of the
acknowledgement message frame sent to the requesting programmable logic
controller by WinCC in response to a job. The second tag is tag
5$:BH[B8$UGB in our example. With regard to its addressing, it corresponds
to the memory area on the programmable logic controller in which the three
WinCC tags used for checking are addressed.
When the data are re-stored, we have to make sure that the first byte of a number
occurring in a raw data message frame is the least significant byte. In the case of
WinCC tags, the byte order is exactly the reverse of this.
8
If object %XWWRQ (write record to PLC) is operated by clicking
, an internal
tag of the ELQDU\WDJ type is set. In our example, this is tag %,1LBH[B8$UGB.
WinCC Configuration Manual
C79000-G8276-C140-01
5-61
8VHU$UFKLYH
6WHS
3URFHGXUH-REVIRU:ULWLQJWRWKH3/&
Further, control tag 8ZBH[B8$UGB is set to a value of 0x0400.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC, which requests a specific
data record. The requested data are then sent by means of the raw data tag set in
User Archive to the programmable logic controller (acknowledgement message
frame).
We configure a &DFWLRQ at 3URSHUWLHV→*HRPHWU\→3RVLWLRQ; of the button
that is triggered when tag 5$:BH[B8$UGB is modified. Any change to this tag
signifies that new data have been sent.
Tag %,1LBH[B8$UGB is checked in the &DFWLRQ. If it has been set, a new data
record (as opposed to a new data field) has been sent. Project function
$FWXDOLVH'DWD6HW is then triggered and performs the re-store operation of the
sent data to the WinCC tags. Further, tag %,1LBH[B8$UGB is reset.
2
The procedure for writing fields to the PLC is similar to step 1. However, only a
single field is processed.
8
If object %XWWRQ (write field to PLC) is operated by clicking
, an internal tag
of the ELQDU\WDJ type is set. In our example, this is tag %,1LBH[B8$UGB.
Further, control tag 8ZBH[B8$UGB is set to a value of 0x2000.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC. This message frame
requests a specific data field of a data record. The requested data are then sent by
means of the raw data tag set in User Archive to the programmable logic
controller (acknowledgement message frame).
We configure a &DFWLRQ at 3URSHUWLHV→*HRPHWU\→3RVLWLRQ; of the button
that is triggered when tag 5$:BH[B8$UGB is modified. Any change to this tag
signifies that new data have been sent.
Tag %,1LBH[B8$UGB is checked in the &DFWLRQ. If it has been set, a new data
field (as opposed to a new data record) has been sent. Project function
$FWXDOLVH'DWD)LHOG is then triggered and performs the re-store operation of the
sent field to the corresponding WinCC tag. This is performed in function of the
currently set field number. Further, tag %,1LBH[B8$UGB is reset.
5-62
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
C action on Button9 at a click of the mouse
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
SetTagWord("U16w_ex_UArd_01",0x0400);
SetTagBit("BINi_ex_UArd_01",TRUE);
}
• Trigger a job on the programmable logic controller. This is done by setting tag
8ZBH[B8$UGB to a defined value. In this instance we use the value [. It
causes the programmable logic controller to request a record.
• Set tag %,1LBH[B8$UGB. This indicates that a data record has been requested.
C action on Button9 at the PositionX property
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
if (GetTagBit("BINi_ex_UArd_01") == TRUE)
{
ActualiseDataSet();
SetTagBit("BINi_ex_UArd_01",FALSE);
}
return 470;
}
• Check tag%,1LBH[B8$UGB.
• If it has been set, a data record has been sent. In this instance project function
$FWXDOLVH'DWD6HW is called. It re-stores the data area of the sent acknowledgement
message frame in the WinCC tags. Further, tag %,1LBH[B8$UGB is reset.
• This action is triggered upon a change to tag 5$:BH[B8$UGB. This tag is addressed
to the data area of the acknowledgement message frame sent by WinCC. If its value
changes, it means that new data have arrived on the programmable logic controller.
WinCC Configuration Manual
C79000-G8276-C140-01
5-63
8VHU$UFKLYH
Project function ActualiseDataSet()
void ActualiseDataSet()
{
BYTE byData[22];
BYTE bySet[22];
int i;
GetTagRaw("RAW_ex_UArd_02",&byData[0],22);
//load text data
for (i=0; i<10; i++)
{
bySet[i]=byData[i];
}
//load double data
for (i=0; i<8; i++)
{
bySet[17-i]=byData[10+i];
}
//load integer data
for (i=0; i<4; i++)
{
bySet[21-i]=byData[18+i];
}
SetTagRaw("RAW_ex_UArd_08",&bySet[0],22);
//init telegram data
for (i=0; i<22; i++)
{
byData[i] = 0;
}
SetTagRaw("RAW_ex_UArd_02",&byData[0],22);
}
• Declaration of two byte fields. They are required to store the data of the raw data tags.
• Read the data sent to the programmable logic controller to the E\'DWD byte field.
• Reload the text box to the E\6HW byte field. These data correspond to data field
5HFRUG1DPH, which is present in the 8VHU$UFKLYHBUG archive. The 10-character field is
the equivalent of ten bytes.
• Reload the double field to the E\6HW byte field. These data correspond to data field
7HPSHUDWXUH, which is present in the archive. A double field requires an area of eight
bytes. The byte order has to be reversed.
• Reload the integer field to the E\6HW byte field. These data correspond to data field
3UHVVXUH, which is present in the archive. An integer field requires an area of four bytes.
The byte order has to be reversed.
• The E\6HW byte field is now written to the raw data tag that corresponds to the three
WinCC tags used for checking.
• The data sent by the archive are now deleted. For this purpose, a byte field consisting of
zeroes is written to tag 5$:BH[B8$UGB.
5-64
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
Job message frame in DB26 (read data record)
DB
26
0:KY
1:KY
2:KY
3:KY
4:KC
8:KY
9:KY
10:KY
11:KY
12:KY
13:KY
14:KH
15:KH
= 028,000
= 000,000
= 002,000
= 001,000
=’USRARCRD’
= 012,000
= 006,000
= 000,000
= 002,000
= 000,000
= 000,000
= 0000
= 0000
Read data record
Message frame length low
Message frame length high
Transfer type, reserve
Number of jobs
PLCID
Job length
Job type
Field number
Data record number low
Data record number high
Selection criterion
• The program excerpt above shows the job message frame for reading a data record from
the archive. The structure of the job message frames can be taken from Section 6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV. Attention must be paid to the coding of the
numerical values. The least significant byte is sent first.
• The number of the data record that has to be read is entered in the message frame by
means of 3%.
1RWH
stores the message frame for reading a data field. This differs from the message
frame for reading a data record only in respect of a different value for the job type (9). The
data field number is entered in this message frame by means of 3%, in addition to the data
record number.
'%
Acknowledgement message frame in DB23
DB
23
0:KY
1:KY
2:KY
3:KY
4:KY
5:KY
6:KY
7:KY
8:KC
12:C
17:KH
18:KH
19:KH
20:KH
21:KH
22:KH
23:KH
24:KH
25:KH
Receive block
= 046,000
Message frame length low
= 000,000
Message frame length high
= 002,000
Transfer type, Reserve
= 001,000
Error code,job type
= 000,000
Reserved
= 001,000
Field number
= 002,000
Data record number low
= 000,000
Data record number high
=’USRARCRD’
PLCID
=’Record_001’
RecordName 10 bytes ->
= 0000
Temperature 8 bytes ->
= 0000
= 0000
= 0000
= 0000
Pressure 4 bytes ->
= 0000
= 0000
= 0000
= 0000
WinCC Configuration Manual
C79000-G8276-C140-01
5-65
8VHU$UFKLYH
• The program excerpt above shows the acknowledgement message frame for reading a
data record from the archive. The structure of the acknowledgement message frames
can be taken from the section that follows, 6WUXFWXUHRIUDZGDWDPHVVDJH
IUDPHV.
• The data are re-stored from the data area of the message frame by means of project
function $FWXDOLVH'DWD6HW to the WinCC tags. This means that successful sending of
data is immediately visible in the example project.
• In the case of a job to send a data field, the data area of the acknowledgement message
frame does not contain more than a single data field. The data field is re-stored in the
corresponding WinCC tag by means of project function $FWXDOLVH'DWD)LHOG.
-REVIRUUHDGLQJIURPWKH3/&
6WHS
1
3URFHGXUH-REVIRU5HDGLQJIURPWKH3/&
In the case of read jobs (read from the programmable logic controller), the data
stored in tags 7ZBH[B8$UGB, *ZBH[B8$UGB and 6ZBH[B8$UGB
have to be re-stored in the data areas of the write message frames of the PLC
program. In the present example, this is performed at the WinCC end by means
of project functions.
Create two raw data tags. A tag, in our example tag 5$:BH[B8$UGB,
corresponds with regard to its addressing to the data area of the message frame
for sending a data record in the PLC program. A second tag, in our example tag
5$:BH[B8$UGB, corresponds with regard to its addressing to the data area of
the message frame for sending a data field in the PLC program.
8
If object %XWWRQ (read record from PLC) is operated by clicking
, project
function /RDG'DWD6HW is called. These re-stores the current data of the tags in
the data area of the message frame for writing a data record.
Further, control tag 8ZBH[B8DUGB is set to a hexadecimal value of [.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC to send a data record. In our
example, the message frame we are referring to is located in '%.
2
The procedure for reading from fields on the PLC is similar to that for reading
records. However, only a single field is processed.
8
, project
If object %XWWRQ (read record from PLC) is operated by clicking
function /RDG'DWD)LHOG is called. This function re-stores the current data of the
tag corresponding to the currently set field number in the data area of the
message frame for writing a data field.
Further, control tag 8ZBH[B8DUGB is set to a hexadecimal value of [.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC to send a data field. In our
example, the message frame we are referring to is located in '%.
5-66
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
Job message frame in DB27 (write data record)
DB
28
0:KY
1:KY
2:KY
3:KY
4:KC
8:KY
9:KY
10:KY
11:KY
12:KY
13:KY
14:KC
19:KH
20:KH
21:KH
22:KH
23:KH
24:KH
25:KH
26:KH
Write data record
= 050,000
Message frame length low
= 000,000
Message frame length high
= 002,000
Transfer type, reserve
= 001,000
Number of jobs
=’USRARCRD’
PLCID
= 034,000
Job length
= 007,000
Job type
= 000,000
Field number
= 003,000
Data record number low
= 000,000
Data record number high
= 000,000
Selection criterion
=’Record_001’
RecordName 10 bytes ->
= 0000
Temperature 8 bytes ->
= 0000
= 0000
= 5940
= 2D00
Pressure 4 bytes->
= 0000
= 0000
= 0000
• The program excerpt above shows the job message frame for sending a data record to
the archive. The structure of the job message frames can be taken from Section 6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV. Attention must be paid to the coding of the
numerical values. The least significant byte is sent first.
• The number of the data record, to which the message frame data are required to be
written, is written to the message frame by means of 3%.
• The data from the tags are entered in the data area of the message frame by means of
project function /RDG'DWD6HW.
1RWH
stores the message frame for writing a data field. This differs from the message
frame from writing a data record only in respect of a different value for the job type (10).
Further, the data area of the message frame contains only the data of one message field.
The data field number is entered in this message frame by means of 3%, in addition to the
data record number.
'%
WinCC Configuration Manual
C79000-G8276-C140-01
5-67
8VHU$UFKLYH
-REVIRUGHOHWLQJIURPWKHDUFKLYH
6WHS
1
3URFHGXUH-REVIRU'HOHWLQJIURPWKHDUFKLYH
8
If object %XWWRQ (delete record) is operated by pressing
, control tag
8ZBH[B8$UGB is set by means of a GLUHFWFRQQHFWLRQ to a hexadecimal value
of [. However, decimal values have to be entered in the &RQVWDQW input
field of the 'LUHFW&RQQHFWLRQ dialog box. In the present case, the value is .
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC to delete a data record. In
our example, the message frame we are referring to is located in '%.
2
5-68
8
If object %XWWRQ (delete record) is operated by pressing
, control tag
8ZBH[B8$UGB is similarly set by means of a GLUHFWFRQQHFWLRQ to a
hexadecimal value of [.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to delete all data records. In our
example, the message frame we are referring to is located in '%.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
Job message frame in DB28 (Delete data record)
DB
28
0:KY
1:KY
2:KY
3:KY
4:KC
8:KY
9:KY
10:KY
11:KY
12:KY
13:KH
14:KH
= 026,000
= 000,000
= 002,000
= 001,000
=’USRARCRD’
= 010,000
= 008,000
= 000,000
= 001,000
= 000,000
= 0000
= 0000
Delete data record
Message frame length low
Message frame length high
Transfer type, reserve
Number of jobs
PLCID
Job length
Job type
Field number
Data record number low
Data record number high
• The program excerpt above shows the job message frame for deleting a data record
from the archive. The structure of the job message frames can be taken from Section
6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV. Attention must be paid to the coding of
the numerical values. The least significant byte is sent first.
• The number of the data record that has to be deleted is entered in the message frame by
means of 3%.
Job message frame in DB25 (Delete all data records)
DB
25
0:KY
1:KY
2:KY
3:KY
4:KC
8:KY
9:KY
10:KH
11:KH
= 020,000
= 000,000
= 002,000
= 001,000
=’USRARCRD’
= 004,000
= 005,000
= 0000
= 0000
Delete all data records
Message frame length low
Message frame length high
Transfer type, reserve
Number of jobs
PLCID
Job length
Job type
• The program excerpt above shows the job message frame for deleting all data records
from the archive.
1RWHVRQJHQHUDOXVH
The following adaptations must be made for general use:
• The configurations performed for the connection can be directly applied to private
applications, provided that the hardware used is identical. If not, adjustments have to be
made in this area.
• Adapt the structure and format of the archive to your own requirements.
• You can adopt the type of organization of the job message frames. It is sufficient,
however, to configure a single job message frame if the job type is entered in it by the
program.
WinCC Configuration Manual
C79000-G8276-C140-01
5-69
8VHU$UFKLYH
&RQQHFWLRQYLD:LQ&&5DZ'DWD7DJVWRWKH6
H[BBFKDSWHUBFSGO
7DVNGHILQLWLRQ
We want to establish a connection to a programmable logic controller. The programmable
logic controller we are going to use is the S7. The following description refers to the use of
an S7-400 (CPU 414-2D). We want communication to take place via the MPI.
Further, we wish to create an archive. The data records in this archive will consist of a text
field, an integer field and a double field. We want the archive data to be displayed in tabular
form at runtime. They are required to be made available to the programmable logic
controller on a record-by-record and field by field basis.
1RWH
The option of communication between User Archive and the programmable logic controller
via WinCC raw data tags should be preferred when the majority of the activities are to be
controlled by the programmable logic controller.
In the present example, however, the WinCC user takes the initiative. The programmable
logic controller will be prompted to send job message frames to WinCC by way of setting a
control tag. In this way the functionality otherwise present in the programmable logic
controller is simulated.
,PSOHPHQWDWLRQFRQFHSW
We establish a connection to an S7 via the MPI. Two connections are created in Control
Center. Create a WinCC raw data tag for this connection. We want to use this tag for
communication between the programmable logic controller and the User Archive that we
are going to create. The second connection is used to connect WinCC tags.
We create a User Archive which we want to communicate with the PLC by means of
WinCC raw data tags. The tag we created earlier is assigned to the archive.
The archive data are displayed at runtime by means of an OLE control. Control bits are set
on the programmable logic controller by means of various buttons. They trigger the transfer
of raw data message frames for writing, reading and deleting different data records and data
fields.
6,0$7,&6SURWRFROVXLWHFRPPXQLFDWLRQGULYHU
This driver will be used for communication with the programmable logic controller in our
example. The driver contains five different channel units. In our example, we use the MPI
channel unit. It is suitable for connections to a SIMATIC S7-300 and S7-400 through the
MPI. An MPI ISA card is used as the PC interface. Not more than one module can be used.
It should communicate with not more than four programmable logic controllers.
5-70
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
&RQILJXULQJWKH03,FDUG
6WHS
3URFHGXUH&RQILJXULQJWKH03,&DUG
1
Install the WinCC component called 6'RV. If this was not done at the time when
WinCC was installed, the 6'RV component can be installed later.
2
Install the MPI ISA card on the PC. Install the card on the PC exactly as stated in
the installation instructions enclosed with the card. Following this, software
installation of the card has to be performed, again by precisely following the
instructions.
Start the 6HW3URJUDPPLQJ'HYLFH3&,QWHUIDFH program on the Control Panel.
The access point for the MPI was entered by default at the time WinCC was
installed. This is the access point labeled 03,:LQ&&.
WinCC Configuration Manual
C79000-G8276-C140-01
5-71
8VHU$UFKLYH
6WHS
3
3URFHGXUH&RQILJXULQJWKH03,&DUG
Assign a module to the access point. The module has to be installed first,
however. This is accomplished by means of the
button in the
0RGXOHV box. The ,QVWDOO8QLQVWDOO0RGXOH dialog box is opened. In the left list
box, we select the 03,,6$&DUG entry and install the card using the
button.
5-72
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH03,&DUG
4
The 03,,6$&DUG5HVRXUFHV dialog box opens. The set memory area can
frequently not be used. We recommend the '')). area
5
To avoid duplicate assignment of the memory area and interrupts, it is sensible to
look in :LQGRZV17'LDJQRVWLFV. You do this by choosing the 6WDUWPHQX→
3URJUDPV→$GPLQLVWUDWLYH7RROV&RPPRQ→:LQGRZV17'LDJQRVWLFV.
The :LQGRZV17'LDJQRVWLFV program appears. In this program, select the
5HVRXUFHV card.
You can determine the interrupts in use by clicking the
you click the
locations are in use.
button. If
button, you can determine which the memory
6
The settings in the 03,,6$&DUG5HVRXUFHV dialog box are now completed by
clicking 2. and the ,QVWDOO8QLQVWDOO0RGXOHV dialog box is closed.
7
Assign the card you have just installed to the access point. To do this, in the 6HW
3URJUDPPLQJ'HYLFH3&,QWHUIDFH program select access point 03,:LQ&& in
the top list box and select the entry for the 03,,6$&DUG in the bottom list.
WinCC Configuration Manual
C79000-G8276-C140-01
5-73
8VHU$UFKLYH
6WHS
8
3URFHGXUH&RQILJXULQJWKH03,&DUG
Set the properties of the MPI ISA card. We do this by clicking the
button. In the 03,,6$&DUG03, Properties dialog box that
appears, set a ORFDOQRGHDGGUHVV for the card on the 03,1HWZRUN tab. The
WUDQVPLVVLRQUDWH we use on the S7-300 must be NELWVHF. On the S7-400,
even 0ELWVHF would be possible.
5-74
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH03,&DUG
&RQILJXULQJWKHFRQQHFWLRQRQWKHSURJUDPPDEOHORJLFFRQWUROOHU
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQRQWKH3URJUDPPDEOH/RJLF
&RQWUROOHU
1
In our example, we use the default programming device interface of the
programmable logic controller for the MPI connection. In this instance no
additional card is required at the programmable logic controller end. All we have
to do is create the MPI node and define the MPI address of the programmable
logic controller.
To do this, open +DUGZDUH in 6,0$7,&0DQDJHU. The +:&RQILJ program is
opened. In the present example, the CPU is in slot 3. Open the Properties dialog
5.
box for the CPU module we are using by clicking
8
2
In the &38'33URSHUWLHV dialog box that appears, select the *HQHUDO
,QIRUPDWLRQ
tab. Click the
button to open the 03,8VHU3URSHUWLHV
dialog box.
WinCC Configuration Manual
C79000-G8276-C140-01
5-75
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQRQWKH3URJUDPPDEOH/RJLF
&RQWUROOHU
On the 3RZHU6XSSO\ tab, enter a as the value for the DGGUHVV in the 8VHU box.
This value also has to be specified later in WinCC when we configure the
connection.
Finish the settings in the 03,8VHU3URSHUWLHV dialog box by clicking 2.. Close
the &38'33URSHUWLHV dialog box similarly by clicking 2.. We can then
exit the +:&RQILJ program.
&RQILJXULQJWKHFRQQHFWLRQLQ&RQWURO&HQWHU
6WHS
1
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
8
Install the required driver for the necessary programmable logic controller and
necessary driver connections. In &RQWURO&HQWHU, click
5 on option 7DJ
0DQDJHPHQW to open the $GG1HZ'ULYHU dialog box.
Select the 6,0$7,&63URWRFRO6XLWH driver from the list shown in the dialog
box. Exit the dialog box by clicking 2SHQ.
5-76
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
2
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
8
Configure a connection for the driver you have just added. This is accomplished
in &RQWURO&HQWHU by clicking
5 on the 03, channel unit entry.
The &RQQHFWLRQ3URSHUWLHV dialog box is displayed.
Enter the name of the new connection on the *HQHUDO,QIRUPDWLRQ tab. In our
example, we use the QDPH 6:LQ&&3DVVLYH.
We set the properties of the connection on the &RQQHFWLRQ tab. In our example,
we set the VWDWLRQDGGUHVV to the value of that is set on the PLC.
We have to set the values of the VHJPHQW,', UDFNQXPEHU and VORWQXPEHU in
accordance with the conditions prevalent on the programmable logic controller.
Select the 6HQG5HFHLYH5DZ'DWD%ORFN check box. We want this connection to
be responsible for communication via WinCC raw data tags. The FRQQHFWLRQ
UHVRXUFH we enter in our example is .
Close the dialog box by clicking 2..
WinCC Configuration Manual
C79000-G8276-C140-01
5-77
8VHU$UFKLYH
6WHS
3
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Set the system parameters for the channel unit being used. To do this, click
on their entry.
85
The 6\VWHP3DUDPHWHUV dialog box opens.
Close the dialog box by clicking 2..
5-78
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
4
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
We create a new tag group in our example for the new connection we have
created. In the 1HZ7DJ dialog box, we use the name 5$:BH[B8$6B in our
example. We set the tag type to 5DZ'DWD7\SH.
button to open the $GGUHVV3URSHUWLHV dialog box. We
Click the
select the 5DZ'DWD check box. The value of the 5B,' we use in our example is
. %6(1'%5&9 is used in the Raw Data Type box.
Complete the settings in the $GGUHVV3URSHUWLHV dialog box by clicking 2..
Similarly, click 2. to close the 7DJ3URSHUWLHV dialog box.
We want to use the tag we have just created for communication between the User
Archive and the programmable logic controller.
WinCC Configuration Manual
C79000-G8276-C140-01
5-79
8VHU$UFKLYH
6WHS
5
5-80
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Configure a further connection for the 6,0$7,&63URWRFRO6XLWH driver. We
want to use it for communication for the normal WinCC tags.
In the &RQQHFWLRQ3URSHUWLHV dialog box, enter the name of the new connection
on the *HQHUDO,QIRUPDWLRQ tab. In our example, we use the QDPH6
:LQ&&$FWLYH.
We set the properties of the connection on the &RQQHFWLRQ tab. In our example,
we set the VWDWLRQDGGUHVV to the value of that is set on the PLC.
We have to set the values of the VHJPHQW,', UDFNQXPEHU and VORWQXPEHU in
accordance with the conditions prevalent on the programmable logic controller.
Close the dialog box by clicking 2..
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
6
Create external tags for triggering actions on the programmable logic controller
and for checking correct functioning of the connection.
We create these tags in a new tag group, which we have yet to create, in the 6
8:LQ&&$FWLYH connection.
In our example, the tag group in which we are going to create the tags will be
called 8VHU$UFKLYHB6.
7
The tags we need to create and their addressing on the programmable logic
controller are shown at length in the list below.
Tags 7ZBH[B8$6B, *ZBH[B8$6B and 6ZBH[B8$6B are
required to accommodate data sent to and from User Archive.
Tags 8ZBH[B8$6B and 8ZBH[B8$6B are to be used to set the
record number that has to be edited or the field number that needs editing.
Tag 8ZBH[B8$B is used as a control tag. We wish to use it to set the type
of job that has to be performed and to trigger it.
WinCC Configuration Manual
C79000-G8276-C140-01
5-81
8VHU$UFKLYH
6WHS
8
3URFHGXUH&RQILJXULQJWKH&RQQHFWLRQLQ&RQWURO&HQWHU
Check the connection to the programmable logic controller. To do this, switch the
WinCC project to Runtime and start the programmable logic controller. A dialog
box, which you can open by choosing 2SWLRQV→6WDWXVRI'ULYHU&RQQHFWLRQV in
&RQWURO&HQWHU, keeps you informed of the status of the connection.
For the 6,0$7,&3URWRFRO6XLWH driver, however, a separate status dialog box is
available for the different connections of the channel unit. It is opened by
5 on the button of the corresponding channel unit and the V\VWHP
clicking
SDUDPHWHUV entry in the shortcut menu that is displayed. The 6\VWHP3DUDPHWHUV
dialog box opens. The &RQQHFWLRQV tab displays the current states of the different
connections.
8
5-82
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
&RQILJXULQJWKH8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJ8VHU$UFKLYH
85
1
Open the 8VHU$UFKLYH editor and create a new archive. Do this by clicking
on $UFKLYHV. The wizard for creating a new archive appears.
2
On the *HQHUDO,QIRUPDWLRQ page, we enter 8VHU$UFKLYHB6 as the DUFKLYHQDPH
and specify the DUFKLYHW\SH as 8QOLPLWHG.
On the &RPPXQLFDWLRQ page, we set &RPPXQLFDWLRQYLD:LQ&&5DZ'DWD7DJV.
Once this item has been selected, the 3/&,' input field can be used. In our
example, we will use the name 865$5&6 as the 3/&,'. This ID must not be
longer than eight characters. This ID can be used to assign, to a specific archive,
a block of raw data that has been sent by the programmable logic controller.
3
Click the
button to set the WinCC raw data tag used for
communication. In our example, we set the tag we created earlier,
5$:BH[B8$6B, in the 7DJ box.
4
In our example, we will not perform any more settings on the remaining pages of
the wizard.
3
The boxes listed in the table that follows are created in our example for the
archive you have just configured. We now save the settings we have performed.
5
Several data records can now be created for the archive in the bottom window of
the User Archive table editor.
WinCC Configuration Manual
C79000-G8276-C140-01
5-83
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJ8VHU$UFKLYH
3URJUDPJHQHUDWLRQRQWKHSURJUDPPDEOHORJLFFRQWUROOHU
6WHS
1
2
3URFHGXUH3URJUDP*HQHUDWLRQRQWKH3URJUDPPDEOH/RJLF&RQWUROOHU
We have to create a data block in which we store the data for controlling and
monitoring communication.
This is control tag 8ZBH[B8$6B, which contains the job type. Further,
there are the communication monitoring tags, 7ZBH[B8$6B,
*ZBH[B8$6B and 6ZBH[B8$6B, as well as the tags for setting the
record number and field number for editing, 8ZBH[B8$6B and
8ZBH[B8$6B.
In our example, this data block is '%.
Create a further data block which we can use to handle communication with User
Archive. In our example, this is '%. The address of the raw data tag set in the
user archive editor refers to this memory area.
WinCC sends to it the acknowledgement of the raw data message frames
received from the programmable logic controller. The structure of the
acknowledgement message frames can be taken from the section that follows,
6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV.
5-84
3
To illustrate the example more clearly, a separate raw data message frame is
stored in a separate data data block for every job type. The structure of these job
message frames is explained in the section that follows, 6WUXFWXUHRIUDZ
GDWDPHVVDJHIUDPHV.
4
Every job message frame has an area for accommodating the data record number
and data field number. In WinCC, we enter the values for these specifications in
tags 8ZBH[B8$6B and 8ZBH[B8$6B. The tag types have been
chosen in accordance with the length specified in the message frame structure for
the different values. The data record number requires 4 bytes, while the data field
number requires 2 bytes.
In the PLC program, these values are reloaded to the different job message
frames by means of a separate program block. The data record number is required
for all job types except the 'HOHWH$OO'DWD5HFRUGV type. The data field number
is required only for job types :ULWH)LHOG and 5HDG)LHOG. The program block
responsible for reloading the values is )& in our example.
5
All communication handling is performed by another program block. In our
example, this is )&. It is processed on a cyclic basis by means of 2%.
The contents of the control tag are transferred to a specific memory byte in )&.
In our example, this is memory byte 30. Depending on the states of the different
bit memories, job message frames are sent to WinCC. This is accomplished in
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH3URJUDP*HQHUDWLRQRQWKH3URJUDPPDEOH/RJLF&RQWUROOHU
each case by the send block known as %6(1'.
Description of FC5 (communication with archive)
FUNCTION FC 5 : VOID
TITLE = Communication with User Archiver
//Communication with User Archive via raw data message frames
VERSION : 0.0
VAR_TEMP
stat : WORD ;
len : WORD ;
END_VAR
BEGIN
NETWORK
TITLE = Preparations for communication
//Load the job type in memory word 30, reset job type,
//reload record number and field number via FC7
L
DB21.DBW
0;
T
MW
30;
L
0;
T
DB21.DBW
0;
CALL FC
7 ;
NETWORK
TITLE = Transmit data length
//Set tag #len (length of transmit data) to a value of 50
L
50;
T
#len;
NOP
0;
NETWORK
TITLE = Delete all records
//If bit memory 30.1 set, send job "Delete all records"
U
M
30.1;
=
L
4.0;
BLD
103;
CALL SFB
12 , DB
REQ
ID
R_ID
STATUS
SD_1
LEN
NOP
0;
NETWORK
TITLE = Read data record
12 (
:=
:=
:=
:=
:=
:=
L
4.0,
W#16#10,
DW#16#5,
#stat,
P#DB25.DBX 0.0 BYTE 4,
#len);
//If bit memory 30.2 set, send job "Read data record"
U
M
30.2;
=
L
4.0;
BLD
103;
CALL SFB
12 , DB
REQ
ID
R_ID
STATUS
SD_1
LEN
NOP
0;
NETWORK
WinCC Configuration Manual
C79000-G8276-C140-01
12 (
:=
:=
:=
:=
:=
:=
L
4.0,
W#16#10,
DW#16#5,
#stat,
P#DB26.DBX 0.0 BYTE 4,
#len);
5-85
8VHU$UFKLYH
TITLE = Write data record
//If bit memory 30.3 set, send job "Write data record"
U
M
30.3;
=
L
4.0;
BLD
103;
CALL SFB
12 , DB
REQ
ID
R_ID
STATUS
SD_1
LEN
NOP
0;
NETWORK
TITLE = Delete data record
12 (
:=
:=
:=
:=
:=
:=
L
4.0,
W#16#10,
DW#16#5,
#stat,
P#DB27.DBX 0.0 BYTE 4,
#len);
//If bit memory 30.4 set, send job "Delete data record"
U
M
30.4;
=
L
4.0;
BLD
103;
CALL SFB
12 , DB
REQ
ID
R_ID
STATUS
SD_1
LEN
NOP
0;
NETWORK
TITLE = Read data field
12 (
:=
:=
:=
:=
:=
:=
L
4.0,
W#16#10,
DW#16#5,
#stat,
P#DB28.DBX 0.0 BYTE 4,
#len);
//If bit memory 30.5 set, send job "Read data field"
U
M
30.5;
=
L
4.0;
BLD
103;
CALL SFB
12 , DB
REQ
ID
R_ID
STATUS
SD_1
LEN
NOP
0;
NETWORK
TITLE = Write data field
12 (
:=
:=
:=
:=
:=
:=
L
4.0,
W#16#10,
DW#16#5,
#stat,
P#DB29.DBX 0.0 BYTE 4,
#len);
//If bit memory 30.6 set, send job "Write data field"
U
M
30.6;
=
L
4.0;
BLD
103;
CALL SFB
12 , DB
12 (
REQ
ID
R_ID
STATUS
SD_1
LEN
NOP
0;
NETWORK
TITLE = Receive acknowledgement
:=
:=
:=
:=
:=
:=
L
4.0,
W#16#10,
DW#16#5,
#stat,
P#DB30.DBX 0.0 BYTE 4,
#len);
//Acknowledgement message frames received from WinCC are stored in DB23
CALL SFB
13 , DB
ID
R_ID
STATUS
5-86
13 (
:= W#16#10,
:= DW#16#5,
:= #stat,
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
RD_1
LEN
NOP
0;
END_FUNCTION
:= P#DB23.DBX 0.0 BYTE 100,
:= #len);
• This program block is called in OB1. This means that it is processed on a cyclic basis.
• On the first network, the address area of the control tag sent by WinCC,
8ZBH[B8$UGB, is transferred to memory word 30. The contents of the control tag
is then reset to zero. Further, the record number and field number entered in WinCC are
entered in the different message frames by means of FC7. In this case we must
remember that the byte order has to be changed.
• On the second network, the tag called #len, which transfers the length of the message
frames that have to be transmitted to subsequent send jobs, is set to 50.
• On the third network, a job message frame is sent to WinCC in the event of bit memory
30.1 being set. In this case the message frame is used to delete all the data records from
an archive.
• On subsequent networks, other job message frames are sent to WinCC depending on the
state of memory byte 30. The only differences between the calls relate to the addressing
of the start of the data that have to be transmitted.
• On the final network, acknowledgement message frames originating from WinCC are
forwarded to DB23.
&RQILJXULQJLQ*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
1
Create a new picture in *UDSKLFV'HVLJQHU. In our example, this is the picture
called H[BBFKDSWHUBFSGO.
We configure an OLE control in this picture at 6PDUW2EMHFW→2/(&RQWURO. In
the ,QVHUW2OH&RQWURO dialog box that appears, we select the entry :LQ&&8VHU
$UFKLYH7DEOH&RQWURO from the list displayed. Close the dialog box by clicking
2.. The deactivated :LQ&&8VHU$UFKLYH7DEOH&RQWURO appears. In our
example, we use the object called 2/(&RQWURO.
2
Click
' on the object known as 2/(&RQWURO to open its Properties dialog
box.
On the *HQHUDO,QIRUPDWLRQ tab, we select $UFKLYH8VHU$UFKLYHB6 as the
6RXUFH. In the (GLW field, we select check boxes 3DVWH, &KDQJH and 'HOHWH to
make all the editing options available to the user. In addition, we select the
%RUGHU check box.
On the &ROXPQV tab, we select all the existing data fields of the archive.
On the 7RROEDU tab, we deselect the two buttons :ULWH7DJ and 5HDG7DJ.
Control is performed by the programmable logic controller in the present
example. All the other buttons on the toolbar will be used.
On the 6WDWXV%DU tabs, we apply the presettings and thus use all the existing
WinCC Configuration Manual
C79000-G8276-C140-01
8
5-87
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
elements.
On the )RQWV tab, we will reduce the VL]H of the font to in order to be able
simultaneously to display all columns of the table at runtime.
On the )LOWHU6RUW tab, we will not perform any settings for our example.
Complete the settings in the 3URSHUWLHVRI:LQ&&8VHU$UFKLYH7DEOH&RQWURO
dialog box by clicking 2..
The color scheme of the table has been adapted in our example to the color
scheme used throughout the project by means of the Properties dialog box of the
2/(&RQWURO object.
3
To display the data transferred from User Archive to the programmable logic
controller, we configure three I/O fields at 6PDUW2EMHFWV→,2)LHOGV. In our
example, these are the objects ,2)LHOG, ,2)LHOG and ,2)LHOG.
At the ,2ILHOGV, we create - at 3URSHUWLHV→2XWSXW,QSXW→2XWSXW9DOXH - a
WDJFRQQHFWLRQ for each of the three tags 7ZBH[B8$6B, 6ZBH[B8$6B
and *ZBH[B8$6B.
4
To set the record number that has to edited and the field number, we create two
more I/O fields at 6PDUW2EMHFWV→,2)LHOGV. In our example, these are the
objects ,2)LHOG and ,2)LHOG.
At the object ,2)LHOG, we create at 3URSHUWLHV→2XWSXW,QSXW→2XWSXW
9DOXH a WDJFRQQHFWLRQ to tag 8ZBH[B8$6B. This is used to accommodate
the record number.
At the object ,2)LHOG, we create at 3URSHUWLHV→2XWSXW,QSXW→2XWSXW
9DOXH a WDJFRQQHFWLRQ to tag 8ZBH[B8$6B. This is used to accommodate
the field number.
To trigger actions on the programmable logic controller, we configure six buttons
at :LQGRZV2EMHFWV→%XWWRQ. In our example, these objects are %XWWRQ to
%XWWRQ.
When a button is clicked, a different value is written to tag 8ZBH[B8DUGB.
Every value corresponds to a different type of job for the programmable logic
controller. Refer to the list below for the assignment of individual values to the
corresponding jobs. The values are specified as hexadecimal.
• 0x0200 = Delete All Records
• 0x0400 = Write Record to PLC
• 0x0800 = Read Record from PLC
• 0x1000 = Delete Record from Archive
• 0x2000 = Write Field to PLC
• 0x4000 = Read Field from PLC
This tag is periodically queried in the PLC program. A corresponding job is
triggered depending on the contents of the tag.
5-88
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3URFHGXUH&RQILJXULQJLQ*UDSKLFV'HVLJQHU
1RWH
In our example, we want to test the exchange of data between User Archive and the
programmable logic controller. A complex program that sends and receives would go
beyond the framework of a basic description of the connection.
For checking communication, tags 7ZBH[B8$6B, *ZBH[B8$6B and
6ZBH[B8$6B have been created. I/O field data are used to make entries in these tags
at runtime. These data are then re-stored in the data area of a job message frame using
project functions.
The procedure with data arriving at the programmable logic controller is similar. They are
re-stored from the data area of the acknowledgement message frame in the corresponding
tags by means of a project function.
-REVIRUZULWLQJWRWKH3/&
6WHS
1
3URFHGXUH-REVIRU:ULWLQJWRWKH3/&
With write jobs (write to the programmable logic controller), the data arriving at
the programmable logic controller in our example are re-stored in tags
7ZBH[B8$6B, *ZBH[B8$6B and 6ZBH[B8$6B. This is done
to check the function and is not necessary in normal practice. In the present
example, the storage of data at the WinCC end is solved by means of project
functions.
Two raw data tags were created. One of the tags is 5$:BH[B8$UGB in our
example. With regard to its address, it corresponds to the data area of the
acknowledgement message frame sent to the requesting programmable logic
controller by WinCC in response to a job. The second tag is 5$:BH[B8$UGB
in our example. With regard to its addressing, it corresponds to the memory area
on the programmable logic controller in which the three WinCC tags used for
checking are addressed.
When the data are re-stored, we have to make sure that the first byte of a number
occurring in a raw data message frame is the least significant byte. In the case of
WinCC tags, the byte order is exactly the reverse of this.
8
, an internal
If object %XWWRQ (write record to PLC) is operated by clicking
tag of the ELQDU\WDJ type is set. In our example, this is tag %,1LBH[B8$6B.
Further, control tag 8ZBH[B8$6B is set to a value of 0x0400.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC, which requests a specific
data record. The requested data are then sent by means of the raw data tag set in
User Archive to the programmable logic controller (acknowledgement message
frame).
We configure a &DFWLRQ at 3URSHUWLHV→*HRPHWU\→3RVLWLRQ; of the button
WinCC Configuration Manual
C79000-G8276-C140-01
5-89
8VHU$UFKLYH
6WHS
3URFHGXUH-REVIRU:ULWLQJWRWKH3/&
that is triggered when tag 5$:BH[B8$6B is modified. Any change to this tag
signifies that new data have been sent.
Tag %,1LBH[B8$6B is checked in the &DFWLRQ. If it has been set, a new data
record (as opposed to a new data field) has been sent. Project function
$FWXDOLVH6'DWD6HW is then triggered and performs the re-store operation of the
sent data to the WinCC tags. Further, tag %,1LBH[B8$UGB is reset.
2
The procedure for writing fields to the PLC is similar to step 1. However, only a
single field is processed.
8
, an internal tag
If object %XWWRQ (write field to PLC) is operated by clicking
of the ELQDU\WDJ type is set. In our example, this is tag %,1LBH[B8$6B.
Further, control tag 8ZBH[B8$6B is set to a value of 0x2000.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC, which requests a specific
data field of a data record. The requested data are then sent by means of the raw
data tag set in User Archive to the programmable logic controller
(acknowledgement message frame).
We configure a &DFWLRQ at 3URSHUWLHV→*HRPHWU\→3RVLWLRQ; of the button
that is triggered when tag 5$:BH[B8$6B is modified. Any change to this tag
signifies that new data have been sent.
Tag %,1LBH[B8$6B is checked in the &DFWLRQ. If it has been set, a new data
field (as opposed to a new data record) has been sent. Project function
$FWXDOLVH6'DWD)LHOG is then triggered and performs the re-store operation of
the sent field to the corresponding WinCC tag. This is performed as a function of
the currently set field number. Further, tag %,1LBH[B8$6B is reset.
C action on Button9 at a click of the mouse
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
SetTagWord("U16w_ex_UAS7_01",0x0400);
SetTagBit("BINi_ex_UAS7_01",TRUE);
}
• Trigger a job on the programmable logic controller. This is done by setting tag
8ZBH[B8$6B to a defined value. In this instance we use the value [. It
causes the programmable logic controller to request a record.
• Set tag %,1LBH[B8$6B. This indicates that a data record has been requested.
5-90
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
C action on Button9 at the PositionX property
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
if (GetTagBit("BINi_ex_UAS7_01") == TRUE)
{
ActualiseS7DataSet();
SetTagBit("BINi_ex_UAS7_01",FALSE);
}
return 470;
}
• Check tag %,1LBH[B8$6B.
• If it has been set, a data record has been sent. In this instance project function
$FWXDOLVH6'DWD6HW is called. It re-stores the data area of the sent acknowledgement
message frame in the WinCC tags. Further, tag %,1LBH[B8$6B is reset.
• This action is triggered upon a change to tag 5$:BH[B8$6B. This tag is addressed
to the data area of the acknowledgement message frame sent by WinCC. If its value
changes, it means that new data have arrived on the programmable logic controller.
Project function ActualiseS7DataSet()
void ActualiseDataSet()
{
BYTE byData[22];
BYTE bySet[22];
int i;
GetTagRaw("RAW_ex_UAS7_02",&byData[0],22);
//load text data
for (i=0; i<10; i++)
{
bySet[i]=byData[i];
}
//load double data
for (i=0; i<8; i++)
{
bySet[17-i]=byData[10+i];
}
//load integer data
for (i=0; i<4; i++)
{
bySet[21-i]=byData[18+i];
}
SetTagRaw("RAW_ex_UAS7_08",&bySet[0],22);
//init telegram data
for (i=0; i<22; i++)
{
byData[i] = 0;
}
SetTagRaw("RAW_ex_UAS7_02",&byData[0],22);
}
WinCC Configuration Manual
C79000-G8276-C140-01
5-91
8VHU$UFKLYH
• Declaration of two byte fields. They are required to store the data of the raw data tags.
• Read the data sent to the programmable logic controller to the E\'DWD byte field.
• Reload the text box to the E\6HW byte field. These data correspond to data field
5HFRUG1DPH, which is present in the 8VHU$UFKLYHBUG archive. The 10-character field is
the equivalent of ten bytes.
• Reload the double field to the E\6HW byte field. These data correspond to data field
7HPSHUDWXUH, which is present in the archive. A double field requires an area of eight
bytes. The byte order has to be reversed.
• Reload the integer field to the E\6HW byte field. These data correspond to data field
3UHVVXUH, which is present in the archive. An integer field requires an area of four bytes.
The byte order has to be reversed.
• The E\6HW byte field is now written to the raw data tag that corresponds to the three
WinCC tags used for checking.
• The data sent by the archive are now deleted. For this purpose, a byte field consisting of
zeroes is written to tag 5$:BH[B8$6B.
Job message frame in DB26 (read data record)
DATA_BLOCK DB 26
Name : SRead
Version : 0.0
struct
TLngLow
TLngHigh
Transfer
AAnz
PLCID
ALng
ATyp
FNr
SNrLow
SNrHigh
SelKrit
Date1
Date2
:
:
:
:
:
:
:
:
:
:
:
:
:
WORD := W#16#1C00;
//Frame length low
WORD := W#16#0;
//Frame length high
WORD := W#16#200;
//Transfer type, Reserve
WORD := W#16#100;
//Number of jobs
ARRAY [1 .. 8 ] OF
//PLCID of archive
CHAR := ’U’,’S’,’R’,’A’,’R’,’C’,’S’,’7’;
WORD := W#16#C00;
//Job length
WORD := W#16#600;
//Job type, Reserve
WORD := W#16#0;
//Field number
WORD := W#16#200;
//Data record number low
WORD := W#16#0;
//Data record number high
WORD := W#16#0:
//Selection criterion
WORD;
WORD;
END_STRUCT ;
• The program excerpt above shows the job message frame for reading a data record from
the archive. The structure of the job message frames can be taken from Section 6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV. Attention must be paid to the coding of the
numerical values. The least significant byte is sent first.
• The number of the data record that has to be read is entered in the message frame by
means of )&.
1RWH
stores the message frame for reading a data field. This differs from the message
frame from reading a data record only in respect of a different value for the job type (9).
The data field number is entered in this message frame by means of )&, in addition to the
data record number.
'%
5-92
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
Acknowledgement message frame in DB23
DATA_BLOCK DB 23
NAME : Quit
Version : 0.1
struct
TLngLow
TLngHigh
TTyp
FCode
Res
FNr
SNrLow
SNrHigh
PLCID
:
:
:
:
:
:
:
:
:
Text
:
Double0
Double1
Double2
Double4
IntLow
IntHigh
Data1
Data2
:
:
:
:
:
:
:
:
WORD := W#16#2C00;
//Frame length low
WORD := W#16#0;
//Frame length high
WORD := W#16#100;
//Transfer type, Reserve
WORD := W#16#0;
//Error code, job type
WORD := W#16#0;
//Reserve
WORD := W#16#100;
//Field number
WORD := W#16#300;
//Data record number low
WORD := W#16#0;
//Data record number high
ARRAY [1 .. 8 ] OF
//PLCID
CHAR := ’U’,’S’,’R’,’A’,’R’,’C’,’S’,’7’;
ARRAY [1 .. 10 ] OF
//Text box
CHAR := ’R’,’E’,’C’,’O’,’R’,’D’,’_’,’0’,’0’,’1’;
WORD := W#16#0;
//Double field low
WORD := W#16#0;
WORD := W#16#0;
WORD := W#16#0;
//Double field high
WORD := W#16#0;
//Integer field low
WORD := W#16#0;
//Integer field high
WORD;
WORD;
END_STRUCT ;
• The program excerpt above shows the acknowledgement message frame for reading a
data record from the archive. The structure of the acknowledgement message frames
can be taken from the section that follows, 6WUXFWXUHRIUDZGDWDPHVVDJH
IUDPHV.
• The data are re-stored from the data area of the message frame by means of project
function $FWXDOLVH6'DWD6HW to the WinCC tags. This means that successful sending
of data is immediately visible in the example project.
• In the case of a job to send a data field, the data area of the acknowledgement message
frame does not contain more than a single data field. The data field is re-stored in the
corresponding WinCC tag by means of project function $FWXDOLVH6'DWD)LHOG.
-REVIRUUHDGLQJIURPWKH3/&
6WHS
1
3URFHGXUH-REVIRU5HDGLQJIURPWKH3/&
In the case of read jobs (read from the programmable logic controller), the data
stored in tags 7ZBH[B8$6B, *ZBH[B8$6B and 6ZBH[B8$6B
have to be re-stored in the data areas of the write message frames of the PLC
program. In the present example, this is performed at the WinCC end by means
of project functions.
Create two raw data tags. A tag, in our example tag 5$:BH[B8$6B,
corresponds with regard to its addressing to the data area of the message frame
for sending a data record in the PLC program. A second tag, in our example tag
5$:BH[B8$6B, corresponds with regard to its addressing to the data area of
the message frame for sending a data field in the PLC program.
WinCC Configuration Manual
C79000-G8276-C140-01
5-93
8VHU$UFKLYH
6WHS
3URFHGXUH-REVIRU5HDGLQJIURPWKH3/&
8
If object %XWWRQ (read record from PLC) is operated by clicking
, project
function /RDG6'DWD6HW is called. This re-stores the current data of the tags in
the data area of the message frame for writing a data record.
Further, control tag 8ZBH[B8D6B is set to a hexadecimal value of [.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC to send a data record. In our
example, the message frame we are referring to is located in '%.
2
The procedure for reading from fields on the PLC is similar to that for reading
records. However, only a single field is processed.
8
, project
If object %XWWRQ (read field from PLC) is operated by clicking
function /RDG6'DWD)LHOG is called. This function re-stores the current data of
the tag corresponding to the currently set field number inn the data area of the
message frame for writing a data field.
Further, control tag 8ZBH[B8D6B is set to a hexadecimal value of [.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to WinCC to send a data field. In our
example, the message frame we are referring to is located in '%.
Job message frame in DB27 (write data record)
DATA_BLOCK DB 27
NAME : SWrite
Version : 0.0
5-94
struct
TLngLow
TLngHigh
TTyp
AAnz
PLCID
:
:
:
:
:
ALng
ATyp
FNr
SNrLow
SNrHigh
SelKrit
Text
:
:
:
:
:
:
:
Double0
Double1
Double2
Double4
IntLow
IntHigh
:
:
:
:
:
:
WORD := W#16#3200;
//Frame length low
WORD := W#16#0;
//Frame length high
WORD := W#16#200;
//Transfer type, Reserve
WORD := W#16#100;
//Number of jobs
ARRAY [1 .. 8 ] OF
//PLCID
CHAR := ’U’,’S’,’R’,’A’,’R’,’C’,’S’,’7’;
WORD := W#16#2200;
//Job length
WORD := W#16#700;
//Job type, Reserve
WORD := W#16#0;
//Field number
WORD := W#16#300;
//Data record number low
WORD := W#16#0;
//Data record number high
WORD := W#16#0;
//Selection criterion
ARRAY [1 .. 10 ] OF
//Text box
CHAR := ’R’,’E’,’C’,’O’,’R’,’D’,’_’,’0’,’0’,’1’;
WORD := W#16#0;
//Double field low
WORD := W#16#0;
WORD := W#16#0;
WORD := W#16#0;
//Double field high
WORD := W#16#0;
//Integer field low
WORD := W#16#0;
//Integer field high
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
Data1 : WORD ;
Data2 : WORD ;
END_STRUCT;
• The program excerpt above shows the job message frame for sending a data record to
the archive. The structure of the job message frames can be taken from Section 6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV. Attention must be paid to the coding of the
numerical values. The least significant byte is sent first.
• The number of the data record, to which the message frame data are required to be
written, is written to the message frame by means of )&.
• The data from the tags are entered in the data area of the message frame by means of
project function /RDG6'DWD6HW.
1RWH
stores the message frame for writing a data field. This differs from the message
frame for writing a data record only in in as much as a there is a different value for the job
type (10). Further, the data area of the message frame contains only the data of one message
field.
The data field number is entered in this message frame by means of )&, in addition to the
data record number.
'%
-REVIRUGHOHWLQJIURPWKHDUFKLYH
6WHS
1
3URFHGXUH-REVIRU'HOHWLQJIURPWKHDUFKLYH
8
, control tag
If object %XWWRQ (delete record) is operated by pressing
8ZBH[B8$6B is set by means of a GLUHFWFRQQHFWLRQ to a hexadecimal
value of [. However, decimal values have to be entered in the &RQVWDQW
input field of the 'LUHFW&RQQHFWLRQ dialog box. In the present case, the value is
.
By means of the write operation to the control tag, the programmable logic
WinCC Configuration Manual
C79000-G8276-C140-01
5-95
8VHU$UFKLYH
6WHS
3URFHGXUH-REVIRU'HOHWLQJIURPWKHDUFKLYH
controller then sends a job message frame to WinCC to delete a data record. In
our example, the message frame we are referring to is located in '%.
2
8
If object %XWWRQ (delete record) is operated by pressing
, control tag
8ZBH[B8$6B is similarly set by means of a GLUHFWFRQQHFWLRQ to a
hexadecimal value of [.
By means of the write operation to the control tag, the programmable logic
controller then sends a job message frame to delete all data records. In our
example, the message frame we are referring to is located in '%.
Job message frame in DB28 (delete data record)
DATA_BLOCK DB 28
NAME : SDelete
Version : 0.0
struct
TLngLow
TLngHigh
TTyp
AAnz
PLCID
:
:
:
:
:
ALng
ATyp
FNr
SNrLow
SNrHigh
Date1
Date2
:
:
:
:
:
:
:
WORD := W#16#1A00;
//Frame length low
WORD := W#16#0;
//Frame length high
WORD := W#16#200;
//Transfer type, Reserve
WORD := W#16#100;
//Number of jobs
ARRAY [1 .. 8 ] OF
//PLCID
CHAR := ’U’,’S’,’R’,’A’,’R’,’C’,’S’,’7’;
WORD := W#16#A00;
//Job length
WORD := W#16#800;
//Job type, Reserve
WORD := W#16#0;
//Field number
WORD := W#16#100;
//Data record number low
WORD := W#16#0;
//Data record number high
WORD;
WORD;
END_STRUCT ;
• The program excerpt above shows the job message frame for deleting a data record
from the archive. The structure of the job message frames can be taken from Section
6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV. Attention must be paid to the coding of
the numerical values. The least significant byte is sent first.
• The number of the data record that has to be deleted is entered in the message frame by
means of )&.
5-96
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
Job message frame in DB25 (Delete all data records)
DATA_BLOCK DB 25
NAME : ASDelete
Version : 0.0
struct
TLngLow
TLngHigh
TTyp
AAnz
PLCID
ALng
ATyp
Date1
Date2
:
:
:
:
:
:
:
:
:
WORD := W#16#1400;
//Frame length low
WORD := W#16#0;
//Frame length high
WORD := W#16#200;
//Transfer type, Reserve
WORD := W#16#100;
//Number of jobs
ARRAY [1 .. 8 ] OF
//PLCID
CHAR := ’U’,’S’,’R’,’A’,’R’,’C’,’S’,’7’;
WORD := W#16#400;
//Job length
WORD := W#16#500;
//Job type, Reserve
WORD;
WORD;
END_STRUCT ;
• The program excerpt above shows the job message frame for deleting the archive.
1RWH
A dialog box for monitoring the status of individual tags can be opened by means of a
button. However, the configuration of this dialog box does not depend on the
programmable logic controller being used and is therefore described in a separate section
(Section 6WDWXV0RQLWRULQJRI([WHUQDO7DJVH[BBFKDSWHUBFSGO).
1RWHVRQJHQHUDOXVH
The following adaptations must be made for general use:
• The configurations performed for the connection can be directly applied to private
applications, provided that the hardware used is identical. If not, adjustments have to me
made in this area.
• Adapt the structure and format of the archive to your own requirements.
• You can adopt the type of organization of the job message frames. It is sufficient,
however, to configure a single job message frame if the job type is entered in it by the
PLC program.
WinCC Configuration Manual
C79000-G8276-C140-01
5-97
8VHU$UFKLYH
6WDWXV0RQLWRULQJRI([WHUQDO7DJVH[BBFKDSWHUBFSGO
7DVNGHILQLWLRQ
The status of several external tags is required to be monitored at runtime. We want the
status to be displayed in a separate dialog box, which we want to be accessible by means of
a button.
,PSOHPHQWDWLRQFRQFHSW
The dynamic dialog box is used to monitor the status of individual tags. For every tag we
want to have monitored, static text is used to display the static text and a status display
presents a symbolic representation of the status. These objects are configured in a separate
picture.
This picture is displayed at runtime by means of a picture window that can be shown by
means of a button.
,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
6WHS
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
1
Create a new picture in *UDSKLFV'HVLJQHU. In our example, this is the picture
called H[BBZLQGRZBSGO.
2
In the picture we have just created, we configure static text at 6WDQGDUG2EMHFW→
6WDWLF7H[W. In our example, we use the object called 6WDWLF7H[W. Its purpose is to
display the status of tag 7ZBH[B8$6B, which was created in the &RQQHFWLRQYLD:LQ&&5DZ'DWD7DJVWRWKH6H[BBFKDSWHUBFSGO
example. The procedure is the same for any other external tag, however.
At 3URSHUWLHV→)RQW→7H[W, we create a G\QDPLFGLDORJER[. In the
([SUHVVLRQ)RUPXOD box, we click the
button to set the tag we want to
monitor, namely 7ZBH[B8$6B.
Select the (YDOXDWH7DJ6WDWXV check box. The dialog box is then expanded.
There is then the possibility of defining text for every tag status possible. If the
tag assumes the corresponding status, this text is displayed in the 6WDWLF7H[W
object. If no status on the list is in fact current - in other words, the connection is
in order - the text entered on the 2WKHU line is displayed. In our example, this is
&RQQHFWLRQ2..
5-98
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
3
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
Configure a status display at 6PDUW2EMHFW→6WDWXV'LVSOD\. In our example, we
use the object called 6WDWLF'LVSOD\. The purpose of the object is to symbolically
display the status of tag 7ZBH[B8$6B. Following placement, the
FRQILJXUDWLRQGLDORJER[ of the object is displayed. A further status is added by
button. We then set a suitable picture for every status.
clicking the
In our example, the pictures are 9HUELQGXQJ2.EPS for status and
9HUELQGXQJ6723EPS for status .
Complete the settings in the FRQILJXUDWLRQGLDORJER[ by clicking 2..
WinCC Configuration Manual
C79000-G8276-C140-01
5-99
8VHU$UFKLYH
6WHS
5-100
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
4
We want the 6WDWXV'LVSOD\ object to be supplied at runtime with information
about the status of the tag. This is accomplished by means of the 6WDWLF7H[W
object, which monitors the status.
At this object, we create a C action at (YHQW→3URSHUW\7RSLFV→)RQW→7H[W
→&KDQJH. This is executed upon a change of the displayed text - in other words,
when the status of tag changes. The &DFWLRQ checks the text being displayed. If it
is identical with the string &RQQHFWLRQ2., the status of object 6WDWXV'LVSOD\ is
set to . In other words, the green check mark is displayed. If this is not the case,
the STOP symbol is displayed.
The &DFWLRQ described has to be executed once when the picture is opened in
order to display the status display with the current status. This is accomplished by
the text entered in object 6WDWLF7H[W being deleted. In this way, the text is
modified at all events following opening of the picture and the action is executed.
5
In our example, tags *ZBH[B8$6B and 6ZBH[B8$6B are likewise
monitored. To configure them for monitoring, proceed in a similar manner to the
steps just described. When configuring several similar tag monitors, pay attention
to the note that follows this table.
6
We want to display the picture we have just created in a picture window. For this
purpose, we configure in our example a picture window at 6PDUW2EMHFW→
3LFWXUH:LQGRZ in another picture, H[BBFKDSWHUBFSGO in our example. This
picture window is object 3LFWXUH:LQGRZ.
At 3URSHUWLHV→0LVFHOODQHRXV→3LFWXUH1DPH, set H[BBZLQGRZBSGO, the
picture you created earlier. At 3URSHUWLHV→0LVFHOODQHRXV, the GLVSOD\ of the
object is set to 1R.
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WHS
7
3URFHGXUH,PSOHPHQWDWLRQLQ*UDSKLFV'HVLJQHU
In order to be able to display it at runtime all the same, we configure a button at
:LQGRZV2EMHFW→%XWWRQ. In our example, we use the object called %XWWRQ. At
this button, we create a GLUHFWFRQQHFWLRQ at (YHQW→0RXVH→0RXVH$FWLRQ.
This switches &RQVWDQW to the GLVSOD\ property of object 3LFWXUH:LQGRZ.
1RWH
If you wish to use several objects in the same manner for monitoring the status of different
tags, it is advantageous to fully configure these objects and then copy them. In the present
case, however, this is not possible - at least not directly possible. If, namely, the tag name is
modified in the dynamic dialog box, the values entered for each status of the tag will
similarly be lost.
There is a possibility, however, of transforming the dynamic dialog box into a C action. For
this purpose, only the created dynamic dialog box is opened as a C action in the Properties
dialog box of the object.
The C action received can now be copied. Only the tag name in the code of the copy has to
be modified and the C action triggered on this tag.
WinCC Configuration Manual
C79000-G8276-C140-01
5-101
8VHU$UFKLYH
C action upon modification of text in object Static Text1
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,
char* lpszPropertyName, char* value)
{
if (strcmp(value,"Connection OK") != 0)
{
SetIndex("ex_5_window_03.pdl","Status Display1",1);
}
else
{
SetIndex("ex_5_window_03.pdl","Status Display1",0);
}
}
• Compares the new text with the string &RQQHFWLRQ2..
• If they are identical, object 6WDWXV'LVSOD\ is set to status . This means that the green
check mark is displayed.
• If they are not identical, object 6WDWXV'LVSOD\ is set to status . This means that the
STOP symbol is displayed.
1RWHVRQJHQHUDOXVH
The following adaptations must be made for general use:
• The procedure described above can be applied directly to your own project.
5-102
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
6WUXFWXUHRIUDZGDWDPHVVDJHIUDPHV
*HQHUDO
The raw data message frames can be sent by the programmable logic controller by means of
an active sender to WinCC. The message frames contain one or more requests on the
WinCC archive system. These may be read or write jobs. In response to these requests,
WinCC returns a processing acknowledgement with any data that may have been requested.
Requests consist of a message frame header and subsequent requests. The requests consist
in their turn of a job header and possibly subsequent data - where write jobs are concerned.
Processing acknowledgements consist of an acknowledgement header and possibly
subsequent data - where read jobs are concerned.
6WUXFWXUHRIWKHPHVVDJHIUDPHKHDGHU
%\WH
'HVFULSWLRQ
0
1
Message frame length in byte LSB (frame length requires a total of 4 bytes)
Message frame length in byte
2
3
Message frame length in byte
Message frame length in byte MSB
4
5
Transfer type: 2 corresponds to Send Data from the programmable logic
controller
Reserved
6
7
Number of jobs LSB (number of jobs requires a total of 2 bytes)
Number of jobs MSB
8
9
1st character of archive PLCID (PLCID is eight characters long)
2nd character of archive PLCID
10
11
3rd character of archive PLCID
4th character of archive PLCID
12
13
5th character of archive PLCID
6th character of archive PLCID
14
7th character of archive PLCID
15
8th character of archive PLCID
WinCC Configuration Manual
C79000-G8276-C140-01
5-103
8VHU$UFKLYH
6WUXFWXUHRIWKHMREKHDGHU
%\WH
'HVFULSWLRQ
0
1
Job length LSB (job length requires a total of 2 bytes)
Job length in byte MSB
2
3
Job type: refer to description of job types below
Reserved
4
5
Field number LSB (field number requires a total of 2 bytes)
Field number MSB
6
7
Data record number LSB (data record number requires a total of 4 byte)
Data record number
8
9
Data record number
Data record number MSB
10
11
Selection criterion LSB (selection criterion requires a total of 2 bytes)
Selection criterion MSB
1RWH
The field number that has to be specified in the job header is applicable only to jobs
involving reading from and writing to different fields. Data fields are numbered from zero.
The data record number specified in the job header is identical to the number specified in
the ID column of User Archive. Data record numbering starts at 1. If 0 is entered, a new
data record is added in the case of a job writing a data record to User Archive.
-REW\SHV
A byte is set for the job type in the job header. The following job types are available.
7\SH
5-104
'HVFULSWLRQ
4
Test archive for presence
5
Delete all data records from the archive
6
7
Read data record (archive to programmable logic controller)
Write data record (programmable logic controller to archive)
8
9
Delete data record
Read data field (archive to programmable logic controller)
10
Write data field (programmable logic controller to archive)
WinCC Configuration Manual
C79000-G8276-C140-01
8VHU$UFKLYH
-REGDWD
In the case of write jobs, the archive data come next. They correspond to the contents of a
data record with a ZULWHGDWDUHFRUG job or the contents of a data field with a ZULWHGDWD
ILHOG job. No other data follow for the remaining jobs.
Numbers are transmitted in Intel format. This means that the LSB is transferred first and the
MSB last. Integer fields are 4 bytes long, double fields are 8 bytes long. Text fields are not
terminated with \0.
$FNQRZOHGJHPHQWKHDGHU
%\WH
'HVFULSWLRQ
0
1
Message frame length in byte LSB (frame length requires a total of 4 bytes)
Message frame length in byte
2
Message frame length in byte
3
Message frame length in byte MSB
4
5
Transfer type: 1 corresponds to the data sent by WinCC
Reserved
6
7
Error code: refer to the description of error types below
Job type: refer to description of job types above
8
9
Reserved
Reserved
10
11
Field number LSB (field number requires a total of 2 bytes)
Field number MSB
12
Data record number LSB (data record number requires a total of 4 byte)
13
14
Data record number
Data record number
15
16
Data record number MSB
1st character of archive PLCID (PLCID is eight characters long)
17
2nd character of archive PLCID
18
3rd character of archive PLCID
19
20
4th character of archive PLCID
5th character of archive PLCID
21
22
6th character of archive PLCID
7th character of archive PLCID
23
8th character of archive PLCID
WinCC Configuration Manual
C79000-G8276-C140-01
5-105
8VHU$UFKLYH
$FNQRZOHGJHPHQWGDWD
In the case of read jobs, the requested data then follow. They correspond to the contents of
a data record with a UHDGGDWDUHFRUG job or the contents of a data field with a UHDGGDWD
ILHOG job. No other data follow for the remaining jobs.
(UURUFRGHV
If an error occurs during communication, WinCC returns an error code to the
programmable logic controller in the acknowledgement message frame. The following error
codes are defined.
&RGH
5-106
'HVFULSWLRQ
0
Function triggered
1
2
Invalid data (archive)
Non-existent data (archive)
101
Invalid data (data record)
102
Non-existent data (data record)
201
Invalid data (field)
202
254
Non-existent data (field)
Function not available
255
Undefined error
WinCC Configuration Manual
C79000-G8276-C140-01
,QGH[
Index
A
Acknowledgement, 3-57
Horn, 4-76
Messages, 4-76
Addressing
indirect, 2-47, 2-50
Alarm
Analog Alarms, 4-72
Archiving of, 4-91
Bit Message Procedure, 4-52
Create with Wizard, 4-63
Enter Alarm Logging in the Startup tab, 469
line, 3-5
Loop in, 4-89
Loop in, 3-109
Setup, 4-52
Use OCX, 4-97
Alias
archive, 5-4
data fields, 5-7
Analog Values
Monitor, 4-72
API
For Message Filter, 4-95
Use, 4-28
Application window, 3-107
Archive
Every full Minute, 4-42
Export, 4-46
archiving
Cyclic-Continuous, 4-3
Archiving
Acyclic, 4-21
Alarms, 4-91
Authorization level, 3-27
Use, 4-30
Changeover switch, 2-17
Color
change, 3-70, 3-79
scheme, 3-109
Communication
driver, 5-39
processor, 5-34
Communications
user archives, 5-4
Communikation
OLE with Excel, 4-139
Configuration
Color Scheme of the Messages, 4-67
Loop in Alarm, 4-89
Trend Display, 4-24, 4-46
Connection
in Control Center, 5-39
on PLC, 5-38
raw data tags, 5-49
To Excel, 4-139
to S5, 2-66
WinCC tags, 5-34
Content
Print Short-Term Archive, 4-95
Control tags, 5-28
Controllable
access protection, 3-24, 3-27
Create
data fields, 5-7
user archives, 5-3
Creating
tags, 2-2
Creation
Group Messages, 4-102
Process Value Archive, 4-3
CSV
Export Archive Automatically, 4-46
user archives, 5-12
CurrentUser, 4-25
B
Bit editing, 2-39
Bit Message Procedure, 4-52, 4-64
Bit pattern, 2-40
Buttons
For Message Filter, 4-91
C
Callback Function
WinCC Configuration Manual
C79000-G8276-C140-01
D
Data
Archive, 4-29
Archiving, 4-16
data fields, 5-7
data type, 5-2
transfer to PLC, 5-2
Data import
user archives, 5-12
Decrementing, 2-7, 2-19
Index-1
,QGH[
Direct connection, 2-13, 2-29, 2-40, 3-7
Direct link, 1-1
Display Contents
Of Example_01, 4-149
DLL
Integration, 4-86
Documentation
Pictures, 4-110
Project Function, 4-115
Tags, 4-118
Trend Window, 4-123
Dynamic
Part of the Report, 4-132
Dynamic Dialog
Use, 4-40
Dynamic dialog box
status monitoring, 5-98
Dynamic Wizard, 3-12, 3-15
E
Editor
user archive editor, 5-3
Embedding
OCX, 5-15
Entry
data entry, 5-11
Error
error code, 5-106
Excel
user archives, 5-13
Export
Process Valie Archive, 4-46
tags, 2-61
picture window, 3-33, 3-35, 3-36
HMI, 3-1
Hot key
configuring, 3-86
I
Import
tags, 2-61
Incrementing, 2-7, 2-19
Info (instruction) box
configuring, 3-39
Information
hiding, 3-74, 3-102
showing, 3-74, 3-102
Initialisation
Of the Callback Function with Call, 4-33
Initialization
in the project, 3-50
picture, 1-2
simulation, 2-56
Input
by means of a check box, 2-36
by means of a slider, 2-29
by means of an option group, 2-34
check, 3-59, 3-61
Integration
DLL, 4-28
J
Jogging, 2-7
K
F
Form view, 5-23
G
Gauge control, 5-20
Group
Tag Management, 2-2
user group, 3-28
Group Messages, 4-101
H
Hiding
information, 3-74, 3-102
Index-2
Key combination
Logon, Logoff, 3-28
switching between windows, 3-93
Key Combination
For Login, 4-12
L
Language
in runtime, 3-83
Library, 3-7
project, 3-11
Login, 3-27, 3-30
Name in the project example_01, 4-12
Loop in Alarm, 4-89
WinCC Configuration Manual
C79000-G8276-C140-01
,QGH[
Message
Wizard, 4-63
Message box, 2-56
Message Window, 4-52, 4-58, 4-72, 4-88, 4-97
Messages
Archiving, 4-91
Bit Message Procedure, 4-52
Configure, 4-64
configuring, 3-107
Define Colors, 4-67
Print, 4-95, 4-137
MPI, 5-71
Multiplex display, 2-50
Picture Register Creation, 4-145
project, 3-1
windows, 3-5
Picture window
time-controlled hiding, 3-36
Pragma, 3-29, 4-28, 4-86
Print Job
Time Selection, 4-126
Process
connection, 2-1
Process Value Archive
Create, 4-3
Project
start, 2-23
Project library, 3-11
O
R
OCX
Use Alarm OCX, 4-97
using, 3-105
OLE
Connection to Excel, 4-139
insert, 5-15
OLE control, 5-2
Operator Authorization
For Trend Display, 4-9
Operator panels, 3-52
Operator-controllable
archives, 5-5
Output
Message Sequence Report, 4-135
Overview
picture, 3-3, 3-107
Raw data tags
raw data message frames, 5-103
user archives, 5-49, 5-70
Resolution
screen, 1-1, 3-1
Runtime
language change, 3-83
Print out table, 4-129
Print out trend window, 4-123
shutting down (exiting), 3-25
Start, stop archiving, 4-15
M
P
password
In the project example_01, 4-3
Password, 3-2
In the project example_01, 4-21
Performance, 1-1
Picture
adjust size, 3-46
buildup, 3-1
change, 3-6
change size, 3-49
changing, 3-3
displaying the picture name, 3-7
Documentation, 4-110
geometry, 3-46
initialization, 1-2
opening, 3-1, 3-7
WinCC Configuration Manual
C79000-G8276-C140-01
S
Screen
layout, 3-3, 3-4
Section
screen, 3-4
Selection
data types, 2-3
Set value
changing, 2-8, 2-29
Setup
Message Class, 4-75
Message Line Format, 4-57
Message Window Template, 4-58
Single Messages, 4-64
Short-term archive, 3-108
Short-Term Archive
Create, 4-92
Print Messages, 4-137
Showing
picture window, 3-32
Shutdown
WinCC, 3-24
Index-3
,QGH[
Simulation, 2-55, 4-2
Slider, 2-29
SmartTools, 2-59
Sound, 4-86
Startup Tab, 4-14, 4-69
Status display, 3-80
Status monitoring, 5-98
Structure
tags, 2-5, 2-63
Switching operation
binary, 3-53
Sysmalloc, 3-106
System Time
Determination, 4-48
T
Table
configuring, 5-15
Display process values, 4-21
User Defined, 4-30
Table Layout, 4-29
Tags
Archive, 4-38
Document, 4-118
simulation, 2-55
Text
text library, 5-7
Text input, 3-43
Time
display, 3-105
Time Selection, 4-126
Tool tip, 2-3
Toolbar
user archives, 5-22
User Archives, 5-2
Index-4
Trends
Displaying Process Values, 4-2
U
Update
Stopped, 4-26
Trend Window, 4-18
User
As the project example, 4-3
authorization, 3-27
groups, 3-29
User archive
creating, 5-3
editor, 5-3
User Archives database, 5-2
User level, 3-30
V
View, 5-2
W
WinCC
Shutdown, 3-24
Without a mouse
working, 3-85
Wizard
For Process Value Archive, 4-3
Message Wizard, 4-63
Working
without a mouse, 3-85
WinCC Configuration Manual
C79000-G8276-C140-01

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement