MatrikonOPC Server For Siemens PLCs Driver User Manual
MatrikonOPC Server For Siemens PLCs Driver User Manual
User's Manual
LB SN SN LB
LB SN TNM, SN, LB
2009-01-26
1.8
Added Server Status List object, and new entries in OPC Data Items section relating to support of interpreting internal memory DWORD as REAL. Updated Security appendix. Replaced Configuration window screenshot to show addition of View Tags and Security Settings icons on toolbar. Added View Tags and Security Settings descriptions to Tools Menu Commands table. Added standard Redundancy Group overview information to Creating and Configuring a Redundancy Group Object section. In the OPC Data Items section, added statistical and control items tables for Redundancy Group and Server Status List device links. Updated Security and Offline Mode appendixes. Updated Installation section. Updated SiemensPLC and Common folders in Installed Files section. Removed references to Advanced Options tab in the Options section. Updated Insert New Object Window Options table in the Server Configuration section. Limitations section updated. Updated local TSAP parameter description. Updated screenshots. Updated product version information. Updated to software version 1.2.0 (Beta version). Updated to v1.2.0 Driver. Updated Installed Files section. Updated Troubleshooting section. Updated to new framework and plug-in documentation standard. Removed all references to plug-in. Software version updated to 1.3.0 Updated to standard stand-alone server template.
TNM, LB
2009-04-08 2009-04-26
2.0 3.0
LB RN
SOFTWARE VERSION
Version: 1.3.0
DOCUMENT VERSION
Version: 6.0
COPYRIGHT INFORMATION Copyright 1997 - 2010, Matrikon Inc. All rights reserved. No part of this document may be reproduced, stored in
a retrieval system, translated, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of Matrikon Inc.
CONFIDENTIAL
The information contained herein is confidential and proprietary to Matrikon Inc. It may not be disclosed or transferred, directly or indirectly, to any third party without the explicit written permission of Matrikon Inc.
LIMITATIONS
Matrikon has made its best effort to prepare this manual. Matrikon makes no representation or warranties of any kind with regard to the completeness or accuracy of the contents herein and accepts no liability of any kind including without limitation warranties of merchantable quality, satisfactory quality, merchantability and fitness for a particular purpose on those arising by law, statute, usage of trade, course of dealing or otherwise. Matrikon shall not be liable for any losses or damages of any kind caused or alleged to be caused directly or indirectly from this manual.
LICENSE AGREEMENT
This document and the software described in this document are supplied under a license agreement and may only be used in accordance with the terms of that agreement. Matrikon reserves the right to make any improvements and/or changes to product specifications at any time without notice.
TRADEMARK INFORMATION
The following are either trademarks or registered trademarks of their respective organizations: Matrikon and MatrikonOPC are trademarks or registered trademarks of Matrikon Inc.
OTHER
MatrikonOPC is a division of Matrikon Inc.
Table of Contents
Introduction ................................................................................................................... 11 Who Should Use This Manual ............................................................................................ 12 Overview of Manual ......................................................................................................... 13 References ..................................................................................................................... 14 Document Terminology .................................................................................................... 14 Getting Started............................................................................................................... 16 System Requirements ...................................................................................................... 16 Software Requirements ................................................................................................. 16 Hardware Requirements ................................................................................................ 16 Configuration ................................................................................................................. 17 Starting the MatrikonOPC Server for Siemens PLCs .............................................................. 17 Tool Tray Menu ............................................................................................................... 18 Control Panel .................................................................................................................. 18 Configuration Window ...................................................................................................... 19 File Menu ..................................................................................................................... 21 Edit Menu .................................................................................................................... 21 View Menu ................................................................................................................... 22 Tools Menu .................................................................................................................. 22 Help Menu ................................................................................................................... 23 Options Window .............................................................................................................. 23 General Options............................................................................................................ 23 General Logging Options................................................................................................ 25 Interface Logging Options .............................................................................................. 26 Advanced Options ......................................................................................................... 27 Server Configuration ........................................................................................................ 29 Configuration Wizard ..................................................................................................... 29 Creating Objects ........................................................................................................... 40 Creating and Configuring a Server Status List Object ........................................................ 42 Creating and Configuring a Siemens TCP/IP Channel ......................................................... 45 Creating and Configuring a Redundancy Group Object ....................................................... 48 Creating and Configuring an S7 ISO on TCP (RFC 1006) Connection .................................... 52 Creating and Configuring a S7 NetLink Connection ............................................................ 60 Changing Objects ......................................................................................................... 65 Removing Objects ......................................................................................................... 65 Importing Symbols From SIMATIC STEP 7 Project ............................................................. 65 Alias Configuration .......................................................................................................... 70 Inserting Alias Groups ................................................................................................... 70 Renaming Alias Groups.................................................................................................. 70 Inserting New Aliases .................................................................................................... 70 Editing Aliases .............................................................................................................. 73 Removing Aliases.......................................................................................................... 73 Removing Alias Groups .................................................................................................. 74 Exporting Aliases .......................................................................................................... 74 Importing Aliases.......................................................................................................... 74 Configure Alias Scaling .................................................................................................. 74 Configure Alias Events ................................................................................................... 76 Configure Categories ..................................................................................................... 77 Expression Wizard ........................................................................................................... 78 Examples ..................................................................................................................... 78 Item Path Browser........................................................................................................... 82
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 5
Saving a Configuration ..................................................................................................... 83 Clearing a Configuration ................................................................................................... 83 Loading an Existing Configuration ...................................................................................... 83 Shutting Down the Server ................................................................................................ 84 OPC Data Items .............................................................................................................. 85 Connection Items ............................................................................................................ 85 S7 300/400 Tag Syntax ................................................................................................. 85 S7 200 Tag Syntax ....................................................................................................... 90 Control Items.................................................................................................................. 94 Siemens TCP/IP Channel Level Control Items ................................................................... 94 Connections Control Items ............................................................................................. 95 Enabling Write to $StopPLC and $RunPLC Control Items .................................................... 95 Getting Data without Being Connected to a Device .............................................................. 97 Diagnostics .................................................................................................................... 98 Logging .......................................................................................................................... 98 Statistical Items .............................................................................................................. 98 Siemens TCP/IP Channel Communication Statistics ........................................................... 98 Connections Communication Statistics............................................................................. 99 Limitations ................................................................................................................... 100 Troubleshooting ........................................................................................................... 101 Problems and Solutions .................................................................................................. 101 Questions and Answers .................................................................................................. 108 Licensing ...................................................................................................................... 109 Contacting Support ........................................................................................................ 109 OPC Compliance ........................................................................................................... 111 Installation ................................................................................................................... 111 Common Interfaces ....................................................................................................... 111 Data Access .................................................................................................................. 111 Groups ...................................................................................................................... 112 Items ........................................................................................................................ 112 Browsing and Item Properties ...................................................................................... 112 I/O Operations ........................................................................................................... 112
Table of Appendices
Appendix A Distributed COM (DCOM)....................................................................... 114 DCOM Configuration Utility ............................................................................................. 114 Default Properties.......................................................................................................... 114 Security Permissions ...................................................................................................... 115 Server Identity.............................................................................................................. 119 Default Protocols ........................................................................................................... 119 Remote Program ID ....................................................................................................... 120 Appendix B Aliases .................................................................................................. 121 Scaling Expressions ....................................................................................................... 121 Advanced Calculations ................................................................................................... 122 CSV File Format ............................................................................................................ 124 Scaling Algorithms ......................................................................................................... 126 Appendix C Standard Data Types ............................................................................. 127 Appendix D Microsoft Excel as a DDE Client ............................................................. 128 DDE Read ..................................................................................................................... 128 DDE Write .................................................................................................................... 128
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 6
Net DDE ....................................................................................................................... 129 Appendix E Configuring Dynamic Data Exchange (DDE) .......................................... 130 Appendix F Security ................................................................................................ 131 Introduction.................................................................................................................. 131 OPC Security Implementation ......................................................................................... 131 MatrikonOPC Tag Security Configuration Utility ................................................................. 132 Security Details ............................................................................................................. 154 Appendix G Offline Mode ......................................................................................... 157 Introduction.................................................................................................................. 157 Offline Mode Toggling .................................................................................................... 157 Offline Mode Item Values................................................................................................ 157 Operational Effects ........................................................................................................ 158 Appendix H Installation ........................................................................................... 159 Appendix I Installed Files ....................................................................................... 170 Appendix J Un-Installation...................................................................................... 173
Table of Figures
Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 1 - MatrikonOPC Server for Siemens PLCs Connections ....................................... 2 - Hilscher's Netlink-MPI Adapter ...................................................................... 3 - Siemens S7-300 PLC (with Hilscher's Netlink-MPI Adapter) .......................... 4 - Tool Tray ........................................................................................................ 5 - Tool Tray Menu............................................................................................... 6 - Control Panel ................................................................................................. 7 - Configuration Window.................................................................................... 8 - General Options Tab ....................................................................................... 9 - General Logging Options Tab ......................................................................... 10 - Interface Logging Options Tab ..................................................................... 11 - Advanced Options Tab .................................................................................. 12 - TCP Channel Configuration Screen ............................................................... 13 - Configuring TCP Channel .............................................................................. 14 - S7 200 ISO on TCP (RFC1006) Connections Screen ...................................... 15 - New S7 200 ISO on TCP (RFC1006) Connection ........................................... 16 - ISO on TCP (RFC1006) Connections Screen ................................................. 17 - New S7 300/400 ISO on TCP (RFC1006) Connection ................................... 18 - NetLink Connections Screen ......................................................................... 19 - New NetLink Connection Window ................................................................. 20 - Configuration Complete Screen .................................................................... 21 - Open STEP 7 Project File .............................................................................. 22 - Import Data Block Symbols from {Internal Project Name} Window ............ 23 - Import Data Block Symbols Result ............................................................... 24 - Connections List Menu ................................................................................. 25 - Insert New Object Window .......................................................................... 26 - Create New Server Status List Window ........................................................ 27 - New Server Status List Object ...................................................................... 28 - Create New Siemens TCP/IP Channel Window ............................................. 29 - New Manually-Created Siemens TCP/IP Channel ......................................... 30 - Create New Redundancy Group Window ...................................................... 31 - New Redundancy Group Object .................................................................... 32 - Create New S7 ISO on TCP Connection Window (General Tab) .................... 33 - Create New S7 ISO on TCP Connection Window (Timing Tab) ...................... 34 - Create New S7 ISO on TCP Connection Window (S7 Parameters Tab).......... 11 12 12 17 18 19 20 24 25 27 28 30 30 31 32 33 34 35 36 37 38 38 39 40 41 43 45 46 48 49 51 53 55 56
7
Figure 35 - Create New S7 ISO on TCP Connection Window (Optimization Tab) ............ 58 Figure 36 - Insert New Object Window .......................................................................... 59 Figure 37 - New S7 ISO on TCP Connection .................................................................... 59 Figure 38 - Create New S7 NetLink Connection Window (General Tab) .......................... 60 Figure 39 - Create New S7 NetLink Connection Window - Timing Tab ............................ 62 Figure 40 - Create New S7 NetLink Connection Window (Optimization Tab) .................. 63 Figure 41 - New S7 NetLink Connection ......................................................................... 64 Figure 42 - Client Reference Warning Message .............................................................. 65 Figure 43 - Select Step 7 Project File Window ................................................................ 66 Figure 44 - Import STEP 7 Project Symbols from [Project Internal Name] Window ....... 67 Figure 45 - Select STEP 7 MicroWIN Export File Window ................................................ 68 Figure 46 - STEP 7 MicroWIN Project Window ................................................................ 69 Figure 47 - Export Data Block Window ........................................................................... 69 Figure 48 - Insert New Alias Window Alias Type ......................................................... 71 Figure 49 - Contents Table ............................................................................................. 73 Figure 50 - Configure Scaling Window............................................................................ 75 Figure 51 - Generate Events Options .............................................................................. 76 Figure 52 - New Category Window ................................................................................. 77 Figure 53 - Edit Categories Window ............................................................................... 78 Figure 54 - Expression Engine Configuration .................................................................. 80 Figure 55 - Expression Wizard........................................................................................ 80 Figure 56 - Select Function Window ............................................................................... 81 Figure 57 - Select Variable Window................................................................................ 81 Figure 58 - User Defined Functions Editor ...................................................................... 82 Figure 59 - Operators Buttons ........................................................................................ 82 Figure 60 - Registry Editor ........................................................................................... 102 Figure 61 - Program ID Branch .................................................................................... 103 Figure 62 - Distributed COM Configuration Properties Window .................................... 116 Figure 63 - Distributed COM Configuration Security Tab .............................................. 117 Figure 64 - Registry Value Permissions Window .......................................................... 118 Figure 65 - Add Users and Groups Window .................................................................. 118 Figure 66 - DDE Share .................................................................................................. 129 Figure 67 - Start Menu Navigation................................................................................ 133 Figure 68 - Enter Server Password Window ................................................................. 133 Figure 69 - MatrikonOPC Tag Security Configuration Utility Main Screen ..................... 134 Figure 70 - MatrikonOPC Tag Security Configuration Utility Main Screen: Users & Groups ..................................................................................................................................... 135 Figure 71 - Add User Window (NT)............................................................................... 136 Figure 72 - Defined Users and Groups .......................................................................... 137 Figure 73 - Add User Window (Private) ........................................................................ 138 Figure 74 - Add Group Window (NT) ............................................................................ 139 Figure 75 - Add Group Window (Private) ..................................................................... 140 Figure 76 - Enter New Name Window ........................................................................... 140 Figure 77 - Edit <Username> Window (Permissions Tab) ............................................ 142 Figure 78 - Add Permission Screen (Server Address Space) ......................................... 143 Figure 79 - Add User Permission Window..................................................................... 144 Figure 80 - Add Permission Window: Browsing Server Address Space ......................... 145 Figure 81 - Edit <Username>: Example........................................................................ 146 Figure 82 - Edit <Username> Window (General Tab)................................................... 147 Figure 83 - Reset Password Window ............................................................................ 147 Figure 84 - Edit <Groupname> Window (Permissions Tab) ......................................... 148 Figure 85 - Edit <Groupname> Window (General Tab) ................................................ 149 Figure 86 - Edit <Groupname> Window (Members Tab) .............................................. 150
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 8
Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure
87 - Add Existing User Window ......................................................................... 88 - Change Password Window ......................................................................... 89 - InstallAware Wizard Verification Window .................................................. 90 - Pre-Requisites Screen ................................................................................ 91 - License Agreement Screen ......................................................................... 92 - Setup Type Screen ..................................................................................... 93 - Destination Folder Screen .......................................................................... 94 - Start Menu Screen ...................................................................................... 95 - Enter Password Screen .............................................................................. 96 - Licensing Screen ........................................................................................ 97 - Ready to Install Screen .............................................................................. 98 - Installing MatrikonOPC Server Screen ....................................................... 99 - MatrikonOPC Server Setup Complete Screen .............................................. 100 Add or Remove Programs ........................................................................ 101 - Welcome to MatrikonOPC Server for Siemens PLCs Maintenance Screen . 102 - Ready to Uninstall Screen ........................................................................ 103 - Uninstalling MatrikonOPC Server for Siemens PLCs Screen ...................... 104 - MatrikonOPC Server for Siemens PLCs Setup Complete Screen ................
151 152 159 160 161 162 163 164 165 166 167 168 169 173 174 175 176 177
Table of Tables
Table 1 - Terms and Definitions...................................................................................... Table 2 - Tool Tray Menu Commands .............................................................................. Table 3 - Control Panel Commands ................................................................................. Table 4 - Configuration Window Commands ................................................................... Table 5 - File Menu Commands ....................................................................................... Table 6 - Edit Menu Commands (Server Configuration) .................................................. Table 7 - Edit Menu Commands (Alias Configuration)..................................................... Table 8 - View Menu Commands ..................................................................................... Table 9 - Tools Menu Commands .................................................................................... Table 10 - Help Menu Commands ................................................................................... Table 11 - General Options Tab Components .................................................................. Table 12 - General Logging Options Tab Components .................................................... Table 13 - Interface Logging Options Tab Components .................................................. Table 14 - Advanced Options Tab Components ............................................................... Table 15 - Configuring TCP Channel Window Fields ........................................................ Table 16 - New S7 200 ISO on TCP (RFC1006) Connection Window Fields ..................... Table 17 - New S7 300/400 ISO on TCP (RFC1006) Connection Window Fields ............. Table 18 - New NetLink Connection Window Fields ........................................................ Table 19 - Connections List Menu Commands ................................................................. Table 20 - Insert New Object Window Options ............................................................... Table 21 - Create New Server Status List Window Components ..................................... Table 22 - Create New Siemens TCP/IP Channel Window .............................................. Table 23 - Redundancy Modes ........................................................................................ Table 24 - Create New Redundancy Group Window Components ................................... Table 25 - Create New S7 ISO on TCP Connection Window (General Tab) Components . Table 26 - Create New S7 ISO on TCP Connection Window (Timing Tab) Components ... Table 27 - Create New S7 ISO on TCP Connection Window (S7 Parameters Tab) Components ................................................................................................................... Table 28 - Create New S7 ISO on TCP Connection Window (Optimization Tab) Components ...................................................................................................................
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual
15 18 19 21 21 22 22 22 23 23 25 26 27 29 31 32 34 36 40 41 44 47 49 51 54 56 57 58
9
Table 29 - Create New S7 NetLink Connection Window (General Tab) Components ....... 61 Table 30 - Create New S7 NetLink Connection Window (Timing Tab) Components ........ 63 Table 31 - Create New S7 NetLink Connection Window (Optimization Tab) Components 64 Table 32 - Select S7 Data Block Symbols from [Project Internal Name] Components .... 67 Table 33 - Insert New Alias Window Alias Type Options ............................................. 72 Table 34 - Insert New Alias Window Alias Properties Options ..................................... 73 Table 35 - Configure Scaling Window Options ................................................................ 75 Table 36 - Generate Events Window Options .................................................................. 77 Table 37 - New Category Window Options ..................................................................... 78 Table 38 - Expression Wizard Options ............................................................................ 79 Table 39 Item Path Browser Options ........................................................................... 83 Table 40 - Item ID Field Descriptions ............................................................................. 85 Table 41 - S7 300/400 Tag Syntax Description .............................................................. 89 Table 42 - Custom OPC Properties .................................................................................. 89 Table 43 - S7 300 Date and Time Formats ...................................................................... 90 Table 44 - S7 200 Tag Syntax Description ...................................................................... 93 Table 45 - Array Elements Length .................................................................................. 94 Table 46 - Siemens TCP/IP Channel Control Items ........................................................ 95 Table 47 - Connections Control Items ............................................................................ 95 Table 48 - Standard Data Items ..................................................................................... 96 Table 49 - Server Data Items ......................................................................................... 96 Table 50 - Redundancy Device Link OPC Items .............................................................. 96 Table 51 - Server Status List Device Link OPC Items ...................................................... 97 Table 52 - Siemens TCP/IP Channel Statistical Items .................................................... 99 Table 53 - Connections Statistical Items ........................................................................ 99 Table 54 - MatrikonOPC Support Regional Contact Information ................................... 109 Table 55 - After-Hours Support .................................................................................... 110 Table 56 - Expressions Constructs for Alias Scaling ..................................................... 122 Table 57 - Calculation Operators for Alias Scaling ........................................................ 123 Table 58 - Calculation Functions for Alias Scaling ........................................................ 124 Table 59 - File Import/Export Field Descriptions ......................................................... 125 Table 60 - Additional File Import/Export Field Descriptions - Linear/Square Root Scaling ..................................................................................................................................... 125 Table 61 - Additional File Import/Export Field Descriptions - Offset Scaling................ 125 Table 62 - Additional File Import/Export Field Descriptions - Expression Scaling ........ 125 Table 63 - Additional File Import/Export Field Descriptions - Calculation Scaling ........ 126 Table 64 - Scaling Algorithms....................................................................................... 126 Table 65 - Standard Data Types ................................................................................... 127 Table 66 - Default Tag Security .................................................................................... 152 Table 67 - Example 1 .................................................................................................... 153 Table 68 - Example 2: Permissions ............................................................................... 153 Table 69 - Example 2: Groups and Members................................................................. 153 Table 70 - Example 2: Permissions ............................................................................... 156 Table 71 - Offline Mode Item Values ............................................................................ 158 Table 72 - Files Installed in "SiemensPLC" Folder ........................................................ 171 Table 73 - Files Installed in "Common" Folder ............................................................. 171 Table 74 - Files Installed in "system32" Folder ............................................................ 172
10
Introduction
The MatrikonOPC Server for Siemens PLCs provides real-time data access to Siemens S7 PLC via Ethernet. The following connections are actually supported: ISO on TCP (RFC1006): Connects to the S7 200/300/400 communication processors, respectively CP 243-1, CP 343-1 and CP 443-1 using the S7 protocol on Industrial Ethernet (ISO 8073 CLASS 0) and TCP/IP layers, as described in RFC1006. Hilschers NetLink-MPI adapter (Only for S7 300/400): Connects to the Hilschers NetLink-MPI adapter through TCP/IP, which communicates with the PLC via the MPI port. No communication processor is needed in this case. In the rest of this document, we will refer to the Hilschers NetLink-MPI adapter by just NetLink adapter. Figure 1 illustrates the possible connections to the S7 PLC with the MatrikonOPC Server for Siemens PLCs. Throughout this document, we will refer to S7 300 and S7 400 PLC models by just S7 300/400.
Figure 2 shows an actual Hilschers NetLink-MPI adapter, and Figure 3 shows a Siemens S7-300 PLC with the adapter (highlighted by a blue box) connected to it. This diagram also shows an ISO over Ethernet connection (highlighted by an orange box)
11
12
Overview of Manual
This document uses icons to highlight valuable information. Remember these icons and what they mean, as they will assist you throughout the manual. This symbol denotes important information that must be acknowledged. Failure to do so may result in the software not functioning properly. BOLD Font displayed in this color and style indicates a hyperlink to the applicable/associated information within this document, or if applicable, any external sources.
The Users Manual has been designed as such so that you can click on references in the document to jump to that referenced point without having to scroll through several pages (in some cases). For example, if you were to see the sentence Refer to Figure 1 for more information, pressing the CTRL key and clicking your mouse on the text Figure 1 automatically takes you to the location of Figure 1 within the document. This manual consists of several sections and is structured as follows: Introduction this introductory chapter. Getting Started provides system requirements information. Configuration shows how to start and configure the server, and describes each component in detail, including windows/screens, panels, tabs, and menu commands. OPC Data Items describes the servers items. Diagnostics explains how to use logging, statistical items, data qualities, timestamps, and result codes to get the most efficiency from the users system. Limitations provides information on specific performance and operational limitations of the software. Troubleshooting provides licensing, MatrikonOPC Support contact information, solutions for common problems that may be encountered, and answers to frequently asked questions. OPC Compliance details supported interfaces with regard to installation, common interfaces, and data access. Appendices: o o o o o o o o o A - DCOM B Aliases C Standard Data Types D Microsoft Excel as a DDE Client E Configuring Dynamic Data Exchange (DDE) F Security G Offline Mode H Installation I Installed Files
13
J Un-Installation
References
This document references information found within the following documents/sites: www.opcfoundation.org www.matrikonopc.com www.opcsupport.com OPC Overview 1.0 OPC Common Definitions and Interfaces 1.0 OPC Data Access Specification 2.05a OPC Data Access Specification 3.00 OPC Historical Data Access Specification 1.2 OPC Alarms and Events Specification 1.10 OPC Security 1.00 International Standard ISO/IEC 8073 (Fourth edition) RFC1006 ISO transport services on top of the TCP (version 3) Hilschers NetIdent Protocol Manual Hilschers NetLink-MPI Protocol Manual STEP 7 in 7 Steps C.T. Jones - Brilliant Training
Document Terminology
The following terms are used interchangeably throughout this document: screen and window tab and panel Table 1 provides a list of definitions for terms used throughout this document. Term/Abbreviation A&E COM CP DA DCOM DDE HDA HMI Description OPC Alarms and Events. Provides access to process alarm and event data. Component Object Model. A method for organizing software, specifying how to build components that can be dynamically interchanged. Communication Processor. OPC Data Access. Provides access to real-time process data. Distributed Component Object Model. An extension of COM that allows communication between COM components over a network. Dynamic Data Exchange. Allows the transfer of data between two running applications. OPC Historical Data Access. Provides access to historical process data. Human Machine Interface. Device that allows interaction between the user and
14
Description machine. Typically used in process control applications. Matrikons brand name for its OPC servers and clients. Operator Panel. A communication standard. Refer to www.opcfoundation.org for more information.
Table 1 - Terms and Definitions
15
Getting Started
This chapter contains important information about installing the server and how to contact the MatrikonOPC Support team. The System Requirements section shows how to avoid future problems by ensuring that the system meets the minimum software and hardware requirements. Detailed step-by-step instructions in Appendix H - Installation walks you through the installation process. Appendix I Installed Files lists the files that are installed during this process. Once the software is installed, refer to the Licensing section for information on how to obtain the appropriate license. The Licensing section will refer you to the Licensing Procedures document that was installed along with the server and this Users Manual. If any problems are encountered during installation or licensing, refer to the Contacting Support section for information about how to contact the MatrikonOPC Support team for assistance.
System Requirements
The software has minimum Software and Hardware system requirements. These requirements must be met for the software to function properly. Note: To install and configure a MatrikonOPC server, you must be set up as an administrative user account rather than a restricted user account.
Software Requirements
The server requires the following software: Microsoft Windows XP SP2, or Microsoft Windows 2003 SP0 Microsoft .NET 2.0 Framework (included with this install program) TCP/IP protocol enabled Note: It is recommended that the most current service packs are installed.
Hardware Requirements
The server requires the following hardware: Intel Pentium 4 Processor 512 MB RAM 40 GB 7200 RPM Hard Drive The server requires the following additional hardware to make use of the following functionality: PC standard Ethernet adapter S7 communication processor (CP 243-1, CP 343-1 or CP 443-1), or Hilschers NetLink-MPI adapter
16
Configuration
The servers Graphical User Interface (GUI) allows users to view and alter configuration parameters at run time. When you view a configuration parameter, the information is retrieved and displayed. The updated parameters are sent as a group to the server when submitted. Minimal configuration of the MatrikonOPC Server for Siemens PLCs is required for the server to function properly, but you can customize the servers behaviour as required. This section of the manual shows you how to start and configure the server and describes each component in detail, including the windows, panels, and menu commands. The Starting the MatrikonOPC Server for Siemens PLCs section of this manual shows you how to start the software. The next four sub-sections describe the Tool Tray Menu, Control Panel, Configuration window, and the Options window, in detail. The Server Configuration section describes in detail how to configure the server. Instructions for configuring the MatrikonOPC Server for Siemens PLCs as a DDE service appear in Appendix D Microsoft Excel as a DDE Client. The Alias Configuration section explains how to create userdefined aliases in place of regular OPC items, followed by four sub-sections that cover saving, clearing, and loading configuration settings, and shutting down the server. This server automatically discovers NetLink adapters connected to the same Ethernet network and creates corresponding device links. The MatrikonOPC Server for Siemens PLCs is able to assign an IP address to the NetLink adapter therefore the Hilschers SyCon configuration software is not required.
If the server is not installed as a Windows service, the Welcome screen appears briefly when the server starts up.
17
Notes: If the server is not installed as a service, the server will automatically start up when a client (such as MatrikonOPC Explorer) first tries to connect to it. If the server is installed as a service, users can choose to run it as an application by re-registering the OPC server executable using the /REGSERVER command-line switch.
Table 2 describes the commands in the Tool Tray Menu. Command Show Control Panel Configure Shutdown About Description Displays the configuration control panel. Displays the main Configuration window. Shuts down the server. Displays the servers Welcome screen, which includes information about the software.
Table 2 - Tool Tray Menu Commands
Control Panel
Note: If the server is installed as a Windows service, the Control Panel is not available. The Control Panel displays the servers status, system time, and number of clients connected to the server. The Control Panel allows users to: Access the Configuration window. Access the About screen. Execute the command to shut down the server. The Control Panel stays on top of every other window on the desktop to help monitor the status of the server.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 18
To view the Control Panel: 1. Right-click your mouse on the Matrikon logo 2. The Tool Tray Menu appears. 3. From the Tool Tray Menu, select the Show Control Panel menu option. 4. The Control Panel (Figure 6) appears. .
5. To window shade the Control Panel so that it displays only the client count, double-click your mouse on the title bar. Table 3 describes the commands in the Tool Tray Menu. Command Status Time Clients Configure Shutdown About Displays the current time. Displays the total number of OPC clients presently connected to the server. Displays the main Configuration window. Shuts down the server. Displays the servers Welcome screen, which includes information about the software.
Table 3 - Control Panel Commands
Configuration Window
Note: If the server is installed as a Windows service, the Tool Tray Menu and Control Panel are not available. In this case, the Configuration window is then accessed via the Windows Start menu. The Configuration window displays a tree view of objects configured in the server. Select an object to display its current configuration, which appears on the right-hand side of the window. If the server runs as a local executable, it will remain running even after the main configuration window is closed, even if no clients are connected. Displaying the control panel or main configuration window for the server will lock it so that it will not shut down while configuration is being performed. If the server runs as an NT service, it will remain running so long as there are clients connected to it. Closing the main configuration window will shut down the configuration utility, but will not interfere with the normal operation of the server.
19
To view the Configuration window: 1. From the Tool Tray Menu or the Control Panel, select Configure. 2. The Configuration window (Figure 7) appears.
Table 4 describes the commands in the Configuration window. Command Main Menu Main Toolbar Current Configuration Server Configuration Description Provides access to the File, Edit, View, Tools, and Help menus. Provides shortcut buttons for commands in the Main Menu. Displays a tree of configuration objects currently defined in the server. Select an object to display its current settings in the right-hand panel. Objects under this node affect how the server communicates with the data source.
20
Command Alias Configuration Object Settings Panel Statistics Panel Reset Statistics Matrikon Logo Clients Server Time
Description Define aliases and alias groups under this node. Displays the current settings of the object presently selected in the tree. Displays available statistics for the object presently selected in the tree: Sent, Received, Timed Out, Retried, Failed, Overrun. Resets statistics on the object presently selected in the configuration tree. Opens a link to the Matrikon web site. Displays the total number of OPC clients presently connected to the server. Displays the current time.
Table 4 - Configuration Window Commands
The following sections describe the menus available from the Configuration window, and what they are used for.
File Menu
Table 5 describes the File menu commands. Command New Description Clears the current configuration and starts a new one. If OPC clients are still connected to the server, the user is prompted for confirmation before continuing. Clears the current configuration and loads a new one from an existing file. Displays the Open Configuration window to prompt for the file name. If OPC clients are still connected to the server, the user is prompted for confirmation before continuing. Saves the current configuration to an XML file. Displays the Save Configuration window to prompt for a new file name if the configuration is new and has not been saved before. Saves the current configuration to an XML file. Displays the Save Configuration window to prompt for a new file name. Exports all currently configured aliases to a CSV file. Displays the Export Aliases window to prompt for a file name. Clears all aliases and imports new ones from a CSV file. Displays the Import Aliases window to prompt for an existing file name. Closes the current configuration and shuts down the server after signalling the shutdown event to all connected clients. If OPC clients are still connected to the server, the user is prompted for confirmation before continuing. Hides the main Configuration window. The server shuts down after a short delay if no OPC clients are currently connected to the server.
Table 5 - File Menu Commands
Open
Edit Menu
Table 6 describes the Edit menu commands that appear when the currently selected object appears under the Server Configuration node.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 21
Description
Delete
Removes the currently selected object from the server configuration. Prompts the user for confirmation before continuing to see if the OPC clients have reference to items associated with the selected object or one of its children. Does not remove such objects but simply disables them and sets them to marked for deletion. Displays the Insert New Object window used to create a new configuration object under the currently selected configuration object.
Table 6 - Edit Menu Commands (Server Configuration)
Define New
Table 7 describes the Edit menu commands that appear when the currently selected object appears under the Alias Configuration node. Command Undo/Cant Undo Rename Delete Alias Group Delete Alias Insert Alias Group Insert New Alias Not implemented. Renames the currently selected alias group. Removes the currently selected alias group and all subordinate groups and aliases. Removes the currently selected aliases. Creates a new alias group under the currently selected alias group. Displays the Insert New Alias window used to create a new alias under the currently selected alias group.
Table 7 - Edit Menu Commands (Alias Configuration)
Description
View Menu
Table 8 describes the View menu commands. Command Statistics Reset Statistics Defaults Refresh Options Description Displays/hides general communication statistics for the currently selected object. Resets all statistics for the currently selected object to zero. Displays the Server Defaults window used to configure the default settings for the various types of communication objects available in the server. Rebuilds the tree display of the server configuration and fully expands all branches. Displays the Options window used to change general server options.
Table 8 - View Menu Commands
Tools Menu
Table 9 describes the Tools menu commands.
22
Command
Description Launches the Microsoft Distributed COM Configuration Properties utility. This utility can be used to edit DCOM settings for specific COM servers to allow client applications on remote computers to connect to the server. Launches MatrikonOPC Explorer, which is a general-purpose OPC client included with all MatrikonOPC servers that may be used to test the capabilities of the software. For more information, refer to the MatrikonOPC Explorer Users Manual. Launches the Enter server password window where you are asked to enter the security password set during the installation of the server. The default password set during the installation of this server is MatrikonOPC. The MatrikonOPC Tag Security Configuration Utility screen is then displayed which allows you to configure security settings. For more information, refer to Appendix F Security.
Table 9 - Tools Menu Commands
DCOM Configurator
View Tags
Security Settings
Help Menu
Table 10 describes the Help menu commands. Command MatrikonOPC on the Web About Description Opens a link to the MatrikonOPC web site. Displays the Welcome screen, which includes information about the software version.
Table 10 - Help Menu Commands
Options Window
The Options window is used to edit the servers options and contains four tabs: General, General Logging, Interface Logging, and Advanced.
General Options
The General tab allows users to edit general server options (i.e., settings). To view the General options: 1. On the Configuration window, from the View menu, select the Options menu item. 2. The Options window appears. 3. From the Options window, select the General tab (Figure 8).
23
Table 11 describes the fields available on the General tab. Field Save current configuration on shutdown Backup: X copies Load configuration on setup Filename Launch configuration program on startup Restrict items to preconfigured aliases Description Automatically saves the current configuration to the specified file before shutting down, if selected. Automatically keeps up to the specified number (i.e., X) of backup copies of the configuration file when saving the configuration. Automatically loads a configuration from the specified file when starting up, if selected. Displays the full path of an existing file for load and save operations. Click on the ellipsis button ( existing file name. ) to display the Open window used to select an
Automatically launches the configuration utility when starting up as a local executable (rather than a Windows service), if selected. Prevents OPC clients from adding items other than configured aliases, if selected. Selecting this option will cause clients to see only aliases when
24
Field only
Description browsing this server. Note: As is the case with any changes to General options, if this option is changed you will need to restart the server for the change to take effect.
Table 11 - General Options Tab Components
Note: The server loads these settings from the Windows registry upon start-up. Changes to the General options settings take effect when the server is restarted.
25
Field
Description Enables/disables general activity logging at the specified detail level (High, Medium, Low, or None), if selected. Note: This option should not be selected unless users are debugging a problem as this will have a negative effect on performance of the OPC server. Always set this back to None when not in use. Purges the file buffer after each message is logged in the event of an unexpected server shut down. Overwrites the old log file each time the server starts up, if selected. Otherwise, rename the old log file with a (*.bak) suffix. Displays the full path for the general activity log file. Click on the ellipsis button ( ) to display the Open window used to select an existing file name.
The default path is C:\Program Files\Common Files\MatrikonOPC\Common\PSTCFGMatrikon.OPC.Siemens PLCs. 1.LOG. Match string for filtered log is displayed. Displays the full path for the filtered log file. Click on the ellipsis button ( display the Open window used to select an existing file name.
Table 12 - General Logging Options Tab Components
) to
26
Table 13 describes the fields available on the Interface Logging tab. Field Description Enables/disables interface logging at the specified detail level (High, Medium, Low, or None), if selected. Generates a separate log file for each client named PST###.TMP in the server installation directory. Note: This option should not be selected unless users are debugging a problem as this will have a negative effect on performance of the OPC server. Purges the file buffer after each message is logged in the event of an unexpected server shut down.
Table 13 - Interface Logging Options Tab Components
Enable logging
Note: Interface Logging options settings take effect when the next OPC client connects to the server.
Advanced Options
The Advanced tab allows users to view and edit advanced server options.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 27
To view the Advanced options: 1. On the Configuration window, from the View menu, select the Options menu item. 2. The Options window appears. 3. From the Options window, select the Advanced tab (Figure 11).
Table 14 describes the fields available on the Advanced options tab. Field OPC Group Update Rate (minimum) Description Minimum update rate (milliseconds) allowed for an OPC group. Prevents OPC clients from requesting update rates that are impossible to achieve or that cause heavy CPU loads. The default value is 100 ms. OPC server group scan thread interval (milliseconds). Determines the maximum resolution for data change detection. Time granularity should always be equal to or less than the minimum group update rate. This is the rate (in milliseconds) at which the Alias features subscribe
28
Field
Description to underlying data items. This rate is used by the Alias Events features and by the Expression and Calculation engines when other tags are referenced in the expressions. Default = 1000.
Selecting this checkbox this will allow the server to accept Dynamic Data Exchange (DDE) connections. The DDE service name that should be used by clients to connect to this program. The character to be used to indicate the start of a new item in the DDE data request.
Table 14 - Advanced Options Tab Components
Note: The server loads these settings from the Windows registry on start-up. Changes to Advanced options settings take effect when the server is shut down and restarted.
Server Configuration
The server requires minimal configuration for it to run properly. You can customize the servers behaviour as required. This section shows you how to create and edit objects, using the Configuration window or the Configuration Wizard.
Configuration Wizard
The Configuration Wizard is, by default, launched once the installation process is complete. It allows a step-by-step initial configuration of the MatrikonOPC Server for Siemens PLCs. The Configuration Wizard can also be launched by clicking on the Windows Start button and selecting Programs -> MatrikonOPC -> SiemensPLC -> Siemens PLCs Configuration Wizard. Figure 12 shows the TCP channel configuration screen. Unless the channel needs to be renamed or offline mode needs to be enabled, click on the Next button to proceed through the Wizard.
29
Configuring the TCP Channel Using the Wizard Figure 13 shows the Configuring TCP Channel window which appears upon selecting the TCP channel and clicking the Configure button.
Table 15 describes the fields available in the Configuring TCP Channel window. Field Name TCP Channel name.
30
Description
Description Check this option to enable offline mode for this TCP channel and all devices underneath. Refer to Appendix F Offline Mode in the MatrikonOPC Server Users Manual for more information.
Figure 14 shows the S7 200 ISO on TCP (RFC1006) Connections screen. This allows configuring connections to S7 200 CP 243-1 modules. To add a new connection, click on the New button. To modify an existing connection, select it and click on the Configure button. To delete an existing connection, select it and press the Delete key. Once all the S7 200 ISO on TCP (RFC1006) Connections have been added, click on the Next button to continue the configuration.
Creating a New S7 200 ISO on TCP Connection Using the Wizard Figure 15 shows the New S7 200 ISO on TCP (RFC1006) Connection window which appears upon clicking the New button.
31
Table 16 describes the fields available in the New S7 200 ISO on TCP (RFC1006) Connection window. Field Name IP Address PG Connection Configured Connection Local TSAP Remote TSAP Description ISO on TCP (RFC1006) Connection name. The IP address assigned to the S7 communication processor (CP). Select to use the PG (default) connection. Only 1 PG connection is available. Select to use a connection configured in STEP 7 MicroWIN. Up to eight connections can be configured with the STEP 7 MicroWINs Ethernet Wizard. The remote (client) TSAP configured in STEP 7 MicroWINs Ethernet Wizard. The local (server) TSAP configured in STEP 7 MicroWINs Ethernet Wizard. Click on the Import button to import data block symbols from a STEP 7 MicroWIN Export file. Click on the Clear button to delete currently imported data block symbols. Note: Importing data block symbols will override existing ones.
Figure 16 shows the S7 300/400 ISO on TCP (RFC1006) Connections screen. This allows configuring connections to S7 300/400 CP 343-1 and CP 443-1 modules. To add a new connection, click on the New button. To modify an existing connection, select it and click on the
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 32
Configure button. To delete an existing connection, select it and press the Delete key. Once all of the S7 300/400 ISO on TCP (RFC1006) Connections have been added, click on the Next button to continue the configuration.
Creating a New S7 300/400 ISO on TCP Connection Using the Wizard Figure 17 shows the New S7 300/400 ISO on TCP (RFC1006) Connection window which appears upon clicking the New button.
33
Table 17 describes the fields available in the New S7 300/400 ISO on TCP (RFC1006) Connection window. Field Name IP Address S7 Model Description ISO on TCP (RFC1006) Connection name. The IP address assigned to the S7 communication processor (CP). The S7 model which also defines the communication processor (CP), the OPC server is connecting to (e.g., if S7 300 is selected, the CP model is CP 343). The number of simultaneous connections the S7 CP can handle is determined by the type of link selected. Select the PLC type to use multiple connections. The rack number of the CPU which the OPC server is reading data from. The slot number of the CPU which the OPC server is reading data from. Click on the Import button to import data block symbols from a STEP 7 project. Refer to Importing Data Blocks from a STEP 7 Project Using the Wizard for more details. Click on the Clear button to delete currently imported data block symbols. Note: Importing data block symbols will override existing ones.
Figure 18 shows the NetLink Connections screen. This allows configuring connections to Hilschers NetLink-MPI adapters. The connections list should already show the NetLink adapters
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 34
which were discovered on the local network when the TCP channel was created. To add a new connection, click on the New button. To modify an existing connection, select it and click on the Configure button. To delete an existing connection, select it and press the Delete key. Once all the NetLink Connections are added, click on the Next button to continue the configuration.
Creating a New NetLink Connection Using the Wizard Figure 19 shows the New NetLink Connection window which appears upon clicking the New button.
35
Table 18 describes the fields available on the New ISO on TCP (RFC1006) Connection tab. Field Name IP Address Description ISO on TCP (RFC1006) Connection name. The IP address assigned to the NetLink-MPI adapter. Click on the Import button to import data block symbols from a STEP 7 project. Refer to Importing Data Blocks from a STEP 7 Project Using the Wizard for more details. Click on the Clear button to delete currently imported data block symbols. Note: Importing data block symbols will override the existing ones.
Table 18 - New NetLink Connection Window Fields
Figure 20 shows the Configuration Complete screen. Click on the Finish button to close the Configuration Wizard.
36
Importing Data Block Symbols From a STEP 7 Project Using the Wizard Clicking on the Import button on either the New S7 300/400 ISO on TCP (RFC1006) Connection or New NetLink Connection window displays the Open STEP 7 Project File window shown in Figure 21. Browse to the STEP 7 project file from which the data block symbols will be imported, select the file and click on the Open button.
37
Once a STEP 7 project file is selected, the Import S7 Data Block Symbols from {Internal Project Name} window is displayed. In the PLC Programs list, browse to the S7 program from which the data block symbols will be imported, select it and click on the Import button.
Figure 22 - Import Data Block Symbols from {Internal Project Name} Window
Once the data block symbols are imported for the current connection, the New ISO on TCP (RFC1006) Connection or the New NetLink Connection window will show the result as shown
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 38
in Figure 23. Once the connection is added, the data block symbols can be accessed as OPC items from any compliant OPC client through the OPC server browsing address space.
Using the Connections List Menu The menu shown in Figure 24 is displayed by right-clicking on a connection. The menu can be used to add a new connection, modify, delete, duplicate an existing one, or refresh the connections list.
39
Table 19 describes the commands available in the Connections List Menu. Field New Configure Duplicate Refresh Delete Disable/Enable Description Creates a new connection. Modify the selected connection. Makes a copy of the selected connection. Refreshes the connections list. Deletes the selected connection. Disables or enables the selected connection.
Creating Objects
The Insert New Object and Create New windows are used to create Siemens PLCs device link objects.
40
Insert New Object Window The Insert New Object window (Figure 25) displays a different set of options depending on the type of object selected and the types of objects already configured under it.
Table 20 describes the types of objects that are available for insertion as a child in the Insert New Object window, depending on which object is currently selected. Selected Object Root Device Link (Server Configuration) Server Status List Siemens TCP/IP Channel Redundancy Group S7 ISO on TCP (RFC 1006) Connection S7 NetLink Connection To insert a new object: 1. On the Configuration window, select the Server Configuration node and either: Right-click your mouse and select Define New from the menu that appears, or Select the Define New menu option from the Edit menu, or Click on the icon. Insert New Object Window Options Server Status List Siemens TCP/IP Channel <None> Redundancy Group S7 ISO on TCP (RFC 1006) Connection S7 NetLink Connection <None> <None> <None>
2. The Insert New Object window (Figure 25) appears. 3. From the displayed list, select the type of object to be created. Note: Different objects may be available depending on which object is currently selected in the tree view. 4. Click on the OK button. 5. The Create New window appears.
41
To create a newly inserted object: 1. From the Create New window, enter a name for the object. This name is part of the item ID that globally identifies data items from under the object. You may also choose to enter a description of the object. 2. Edit the configuration components as desired. 3. Click on the OK button. The object is created. Note: For the object to be used for communication, it must be enabled. This can be done at any time.
Create New Window The Create New window (Figure 26) displays the settings available for a new object.
The following sub-sections contain information on the types of objects available and how to configure them. A device-specific window is displayed for each device link: Server Status List Siemens TCP/IP Channel Redundancy Group S7 ISO on TCP Connection S7 NetLink Connection
42
Table 21 describes the components of the Create New Server Status List window. Component Name Description Allows you to enter the name of the device link, which becomes an element of the item ID for data items. Automatically converted to title case for display purposes. Use this checkbox to enable (i.e., checkbox is selected) or disable (i.e., checkbox is cleared) communication for the object. By default, the checkbox is selected. This field is optional and takes any user-defined text (64-character maximum) for documentation purposes. By default, this field is blank. Allows you to enter a value to define how often (in milliseconds) to check connected device links to make sure they are still actively communicating with a device. Default = 5000 ms. Status Check Type Allows you to select the type of logic used to determine Server Status. Selecting the first option, Running if at least one link is
43
Enabled
Description
Component
Description connected, results in a Server Status of Running (rather than Failed) if there are one or more device links with a status of Running. Selecting the second option, Running if all links are connected, results in a Server Status of Failed if there are one or more device links with a status of Failed.
Subscriptions
This section of the General tab displays those device links defined as part of the server status list. The Subscriptions section contains the following fields and buttons which are described below: Direct Device Link Name, Parent Device Link Name, Add, Delete. Allows you to enter the name of the device link that is going to be added to the list of Direct Device Links. These device links have their state monitored directly. The full path of the device link must be entered. Allows you to enter the name of the device link that is going to be added to the list of Parent Device Links. The subordinates of these device links will have their state monitored directly. The full path of the parent device link must be entered.
Note: Only immediate subordinates are monitored. If a parent device link named Parent has a subordinate Child that is the parent of another device link, Grandchild, only the Child device link is monitored. For Grandchild to be monitored, it may be added to the Direct Device Link list, or Child may be added to the Parent Device Link list. After entering a device link name into either the Direct Device Link Name field, or the Parent Device Link Name field, use the Add button for that particular list to add the device link to the list.
Add
Note: Once you have added a device link, you can make changes to it or delete it (see Delete for more information). To update a device link, from the list, highlight the one you want to change. Notice that the Add button now reads Update. Make the necessary changes and click on the Update button. Select the device link you want to remove from a particular list (either a Direct Device Link Name, or a Parent Device Link Name) and click on the Delete button. Select this button to save any changes and close the window. Select this button to close the window without saving any changes made.
Table 21 - Create New Server Status List Window Components
Delete OK Cancel
To create a Server Status List object: 1. On the Configuration window, select the Server Configuration node and either: Right-click your mouse and select Define New from the menu that appears, or Select the Define New menu option from the Edit menu, or Click on the icon.
44
2. The Insert New Object window (Figure 25) appears. 3. From the displayed list, select Server Status List. 4. Click on the OK button. 5. The Create New window appears (Figure 26). Note: The item selected in the Insert New Object window determines which Create New window is displayed. For example, when Server Status List is selected, then the Create New Server Status List window is displayed. 6. From the Create New window, enter a name for the object. Note: An error message is displayed when a valid name is not entered. If the entered name is a duplicate of an existing device link, the new device link is not created. The Description field is optional. 7. Edit the configuration components as desired. Note: For the object to be used for communication, it must be enabled (i.e., the Enabled checkbox is selected). This can be done at any time. 8. Click on the OK button. The object is created and appears as a child of the Server Configuration item as shown in Figure 27.
Connection Upon connection, NetLink adapters available on the network are auto-discovered.
The Create New window (Figure 28) displays the settings available for a Siemens TCP/IP Channel.
Table 22 describes the components of the Create New Siemens TCP/IP Channel window. Component Name Description Name of the object, which becomes an element of the item ID for data items under the object. Automatically converted to title case for display purposes. Enable (select the checkbox) or disable (clear the checkbox) communication for the object. By default, this checkbox is selected. Description Optional, user-defined text (64-character maximum) for documentation purposes. By default, this field is blank. Allows you to enter a value that defines the amount of time (in milliseconds) between two connection attempts.
46
Enabled
Description Allows you to enter a value that defines the amount of time (in milliseconds) that the server will wait for NetLink adapters to reply to an auto-discovery request. Default = 3000. When this option is selected (i.e., checked) and the user presses the Apply button, the OPC server auto-discovers NetLink adapters connected to the same Ethernet network. Default = Checked Allows you to select (i.e., check) this option to enable Offline Mode. Offline mode allows the MatrikonOPC Server for Siemens PLCs to be disconnected from the end device but still return data. Refer to Appendix F Offline Mode in the MatrikonOPC Server Users Manual for more information about offline mode. Select this button to save any changes and close the window. Select this button to close the window without saving any changes made.
Table 22 - Create New Siemens TCP/IP Channel Window
Timeout
To manually create a Siemens TCP/IP Channel: 1. On the Configuration window, select the Server Configuration node and either: Right-click your mouse and select Define New from the menu that appears, or Select the Define New menu option from the Edit menu, or Click on the 3. ) appears. 4. From the displayed list, select the Siemens TCP/IP Channel object type. 5. Click on the OK button. 6. The Create New window appears (Figure 28). Note: The item selected in the Insert New Object window will determine which Create New window is displayed. For example, when Siemens TCP/IP Channel is selected, then the Create New Siemens TCP/IP Channel window is displayed. 7. From the Create New window, enter a name for the device link. Note: An error message is displayed when a valid name is not entered. If the entered name is a duplicate of an existing device link, the new device link will not be created. The Description field is optional. 8. Edit the configuration components as desired. Note: For the object to be used for communication, it must be enabled (i.e., the Enabled checkbox is selected). This can be done at any time. 9. Click on the OK button. The object is created and will appear as a child of the Server Configuration item as shown in Figure 29.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 47
icon.
2. The Insert New Object window (Figure 25 - Insert New Object Window
48
Mode Classic
Description All device links are connected. Items are added only to the active device link, but are not removed when a fail over occurs. As failovers occur and cause multiple device links to become active, the collection state becomes the same as Hot. All device links are connected. When items are added they are added to all device links in the redundancy group. This means that all device links are actively collecting all the time. All device links are connected. When items are added they are added to the active device link. When a failover occurs the items will be removed from the formerly active device link. Only the active device link is connected. When items are added they are added to the active device link. When a failover occurs the items will be removed from the formerly active device link. Note: When a device link is a member of a Cold mode redundancy group and not the active device link, then all communication through that device link is disabled.
Table 23 - Redundancy Modes
Hot
Warm
Cold
Figure 30 - Create New Redundancy Group Window MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 49
Table 24 describes the components of the Create New Redundancy Group window. Component Description Allows you to enter the name of the device link, which becomes an element of the item ID for data items. The full path of the device link must be entered. Automatically converted to title case for display purposes. Use this checkbox to enable (i.e., checkbox is selected) or disable (i.e., checkbox is cleared) communication for the object. By default, the checkbox is selected. Description This field is optional and takes any user-defined text (64-character maximum) for documentation purposes. By default, this field is blank. Allows you to enter a value to define how often (in milliseconds) to check connected device links to make sure they are still actively communicating with a device. Default = 5000 ms. Allows you to enter a value to define how often (in milliseconds) to check connections that have failed (i.e., communication is down) to determine if connections have been restored. Default = 1000 ms. Mode Allows you to select, from the drop-down list, the style (Classic, Hot, Warm, Cold) of redundancy management that should be used by this group. This section of the General tab displays those device links defined as part of this particular redundant set, and the priorities of the device links. The Subscriptions section contains the following fields and buttons which are described below: Device Link Name, Priority, Add, Delete. Allows you to enter the name of the device link that is going to be added. Allows you to select a priority (High, Medium, or Low) for the current device link from the drop-down list. Device links of higher priority are preferred to lower priority device links. After entering a Device Link Name and selecting a Priority, use the Add button to add the device link to the list of redundant device links that appears at the bottom of the General tab. Note: Once you have added a device link, you can make changes to it or delete it (see Delete for more information). To update a device link, from the list, highlight the one you want to change. Notice that the Add button now reads Update. Make the necessary changes and click on the Update button. From the list of redundant device links that appears at the bottom of the General tab, select the device link you want to remove and click on the Delete button to delete it from the list. Select this button to save any changes and close the window.
Name
Enabled
Connection Period
Add
Delete OK
50
Component Cancel
Description Select this button to close the window without saving any changes made.
Table 24 - Create New Redundancy Group Window Components
To create a Redundancy Group object: 1. On the Configuration window, select the Server Configuration node and either: Right-click your mouse and select Define New from the menu that appears, or Select the Define New menu option from the Edit menu, or Click on the icon.
2. The Insert New Object window (Figure 25) appears. 3. From the displayed list, select Redundancy Group. 4. Click on the OK button. 5. The Create New window appears (Figure 30). Note: The item selected in the Insert New Object window determines which Create New window is displayed. For example, when Redundancy Group is selected, then the Create New Redundancy Group window is displayed. 6. From the Create New window, enter a name for the object. Note: An error message is displayed when a valid name is not entered. If the entered name is a duplicate of an existing device link, the new device link is not created. The Description field is optional. 7. Edit the configuration components as desired. Note: For the object to be used for communication, it must be enabled (i.e., the Enabled checkbox is selected). This can be done at any time. 8. Click on the OK button. The object is created and appears as a child of the Server Configuration item as shown in Figure 31.
Figure 31 - New Redundancy Group Object MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 51
52
General Tab
Table 25 describes the components of the Create New S7 ISO on TCP Connection - General tab. Component Name Description User name assigned to the object, which becomes an element of the item ID for data items. Automatically converted to title case for display purposes. Note: This information stays consistent across all tabs. Enable (select the checkbox) or disable (clear the checkbox) communication for the object. By default, the checkbox is selected. Note: This information stays consistent across all tabs. Optional, user-defined text (64-character maximum) for documentation purposes. By default, this field is blank. Note: This information stays consistent across all tabs. Connection Status Displays the connection to the S7 communication processor (CP) status.
53
Enabled
Description
Component
Description Allows you to select, from the drop-down list, the S7 model which also defines the communication processor (CP) to which the OPC server is connecting (e.g., if S7 300 is selected, the CP model is CP 343). Default = S7 200. Displays the IP address assigned to the S7 communication processor (CP). By default, this field is empty. Displays the TCP port number used to connect to the S7 communication processor (CP). Default = 102. Allows you to define the path to the SIMATIC Step 7 project from which the OPC server can import symbols. Refer to Importing Symbols From SIMATIC Step 7 Project. Select this button to save any changes and close the window. Note: This information stays consistent across all tabs. Select this button to close the window without saving any changes made. Note: This information stays consistent across all tabs.
Model
IP Address
Port Number
Import Symbols
OK Cancel
Table 25 - Create New S7 ISO on TCP Connection Window (General Tab) Components
Note: When the S7 model changes while an OPC client is reading data, some OPC items may not be valid anymore even though using a correct syntax. For example, item C0 becomes invalid when the model changes from S7 200 to S7 300 since these models use different type identifiers for counters. In this case, the OPC client needs to disconnect and reconnect to the OPC server to recreate these items with the correct type identifiers. Following are the types which do not require an OPC client disconnection/reconnection: Discrete Inputs Discrete Outputs Internal Memory Timing Tab Table 26 describes the components of the Create New S7 ISO on TCP Connection - Timing tab (Figure 33).
54
Component
Description Allows you to enter a value (in milliseconds) to define the communication timeout. If the server sends a request and does not receive a response from the S7 CP within this time limit, it will retry sending the message. Default = 1000. Allows you to enter a value (in milliseconds) to define the delay between consecutive messages. Default = 10. Allows you to enter a value (in milliseconds) to define the delay between connection attempts to the S7 CP. Default = 1000. Allows you to enter a value (in milliseconds) to define the delay between consecutive read attempts. Default = 100. Allows you to enter a value defining the number of retries allowed. If the server sends a request to the S7 CP and does not receive a response in the time limit specified in the Timeout field, it will retry sending the message the
55
Timeout
Retry Delay
Retries
Component
Description number of times specified here in this field. If a response is not received within the allotted number of retries, the server assumes that communication to the S7 CP has been lost. Default = 3.
Table 26 - Create New S7 ISO on TCP Connection Window (Timing Tab) Components
S7 Parameters Tab Table 27 describes the components of the Create New S7 ISO on TCP Connection S7 Parameters tab (Figure 34).
Figure 34 - Create New S7 ISO on TCP Connection Window (S7 Parameters Tab)
Component
Description The number of simultaneous connections the S7 CP can handle is determined by the type of link selected from the drop-down list. Each S7 ISO on TCP connection allows only one connection to the S7 CP. To increase the data throughput, multiple connections must be configured. This can be done by creating multiples S7 ISO on TCP connection objects with identical settings (except the object name), under the same Siemens TCP/IP Channel or under a separate one. The three different link types supported are: 1. PG/PC (Programming device or PC): Typically limited to only one connection. 2. OP (Operator panel): Typically limited to only one connection. 3. PLC (includes any device communicating with the CP and different than a PG/PC or OP): Number of simultaneous connections is typically 2 or greater (please refer to the S7 CPU
Link Type
56
Component
Description documentation for the maximum number of connections supported). The default option is set to PLC, since the PG/PC and/or OP links might be used by other automation software or devices.
Rack Slot
The rack number of the CPU from which the OPC server is reading data. The slot number of the CPU from which the OPC server is reading data. Select this option to use the PG connection, which is the default connection used by STEP 7 MicroWIN. Only one PG connection is available. Note: Please ensure no other configuration or communication software is using this same connection. Select this option to use a connection which was configured in STEP 7 MicroWIN. Up to eight connections can be added with the STEP 7 MicroWINs Ethernet Wizard. Each connection can be used by only one client. Displays the remote TSAP used to connect to the S7 PLC. Displays the local TSAP used to connect to the S7 PLC.
PG Connection
Table 27 - Create New S7 ISO on TCP Connection Window (S7 Parameters Tab) Components
Note: The TSAP is displayed in the STEP 7 MicroWINs Ethernet Wizard as: nn.yy (Hexadecimal values). In the OPC server configuration, the TSAP must be entered without the period: nnyy (Hexadecimal values). Optimization Tab Table 27 describes the components of the Create New S7 ISO on TCP Connection Optimization tab (Figure 35).
57
Component
Description Allows you to enter a value defining the maximum length (in bytes) used for data block strings. For optimal performance, this parameter is set, by default, to 210 bytes, but can be extended to 254 bytes. Allows you to enter a value defining the maximum gap (in bytes) between adjacent items in the same data area. Default = 1.
Maximum Gap
Table 28 - Create New S7 ISO on TCP Connection Window (Optimization Tab) Components
To manually create an S7 ISO on TCP Connection: 1. On the Configuration window, select an existing Siemens TCP/IP Channel item and either: Right-click your mouse and select Define New from the menu that appears, or Select the Define New menu option from the Edit menu, or Click on the icon.
3. From the displayed list, select the S7 ISO on TCP (RFC 1006) Connection object type. 4. Click on the OK button. 5. The Create New window appears (Figure 32). Note: The item selected in the Insert New Object window determines which Create New window is displayed. For example, when S7 ISO on TCP (RFC 1006) Connection is selected, then the Create New S7 ISO on TCP (RFC 1006) Connection window is displayed. 6. From the Create New window, enter a name for the object. Note: An error message is displayed when a valid name is not entered. If the entered name is a duplicate of an existing object, the new object will not be created. The Description field is optional. 7. Edit the configuration components as desired. Note: For the object to be used for communication, it must be enabled (i.e., the Enabled checkbox is selected). This can be done at any time. 8. Click on the OK button. The object is created and appears as a child of the Siemens TCP/IP Channel item as shown in Figure 37.
Figure 37 - New S7 ISO on TCP Connection MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 59
60
Component
Description Name of the object, which becomes an element of the item ID for data items under the object. Automatically converted to title case for display purposes. Note: This information stays consistent across all tabs. Use this checkbox to enable (i.e., checkbox is selected) or disable (i.e., checkbox is cleared) communication for the object. By default, the checkbox is selected. Note: This information stays consistent across all tabs. This field is optional, takes any user-defined text (64-character maximum) for documentation purposes. By default, this field is blank. Note: This information stays consistent across all tabs. Displays the status of the connection to the NetLink adapter. Displays the local network adapter used to communicate with the NetLink adapter. This field contains the IP address assigned to the NetLink adapter. By default, this field is blank. This field contains the TCP port number used to connect to the NetLink adapter. This field contains the MPI ID used by the PLC to which the NetLink adapter is connected. Displays the NetLink adapter Ethernet address. Displays the NetLink adapter serial number. Defines the path to the SIMATIC Step 7 project from which the OPC server can import data block symbols. Refer to Importing Symbols From SIMATIC Step 7 Project. Select this button to save any changes and close the window. Note: This information stays consistent across all tabs. Select this button to close the window without saving any changes made. Note: This information stays consistent across all tabs.
Name
Enabled
Description
Connection Status Network Adapter IP Address Port Number MPI Address Ethernet Address Serial Number Import Symbols
OK Cancel
Timing Tab Table 26 describes the components of the Create New S7 NetLink Connection - Timing tab (Figure 39).
61
Component
Description Allows you to enter a value (in milliseconds) to define the communication timeout. If the server sends a request and does not receive a response from the S7 CP within this time limit, it will retry sending the message. Default = 1000. Allows you to enter a value (in milliseconds) to define the delay between consecutive messages. Default = 10. Allows you to enter a value (in milliseconds) to define the delay between connection attempts to the S7 CP. Default = 1000. Allows you to enter a value (in milliseconds) to define the delay between consecutive read attempts. Default = 100. Allows you to enter a value that defines the number of retries allowed. If the server sends a request to the S7 CP and does not receive a response in the time limit specified in the Timeout field, it will retry sending the message
62
Timeout
Retry Delay
Retries
Component
Description the number of times specified here in this field. If a response is not received within the allotted number of retries, the server assumes that communication to the S7 CP has been lost. Default = 3.
Optimization Tab Table 26 describes the components of the Create New S7 NetLink Connection - Optimization tab (Figure 40).
Description Allows you to enter a value that defines the maximum length (in bytes) used for data block strings. For optimal performance, this parameter is set, by default, to 200 bytes, but can be extended to 254 bytes. Allows you to enter a value that defines the maximum gap (in bytes) between adjacent items in the same data area.
Maximum Gap
63
Component Default = 1.
Description
To manually create an S7 NetLink Connection: 1. On the Configuration window, select an existing Siemens TCP/IP Channel item and either: Right-click your mouse and select Define New from the menu that appears, or Select the Define New menu option from the Edit menu, or Click on the icon.
2. The Insert New Object window (Figure 36) appears. 3. From the displayed list, select the S7 NetLink Connection object type. 4. Click on the OK button. 5. The Create New window appears (Figure 38). Note: The item selected in the Insert New Object window determines which Create New window is displayed. For example, when S7 NetLink Connection is selected, then the Create New S7 NetLink Connection window is displayed. 6. From the Create New window, enter a name for the object. Note: An error message is displayed when a valid name is not entered. If the entered name is a duplicate of an existing object, the new object will not be created. The Description field is optional. 7. Edit the configuration components as desired. Note: For the object to be used for communication, it must be enabled (i.e., the Enabled checkbox is selected). This can be done at any time. 8. Click on the OK button. The object is created and appears as a child of the Siemens TCP/IP Channel item as shown in Figure 41.
Figure 41 - New S7 NetLink Connection MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 64
Changing Objects
To change an objects configuration: 1. Once an object is created, select it in the tree view (i.e., Current configuration) panel. 2. In the configuration panel (i.e., pane on the right), make the applicable changes. 3. Click on the Apply button to accept the changes, or click on the Cancel button to discard them.
Removing Objects
Note: Users can easily remove any object that they have created, but a warning message (Figure 42) will appear when users remove an object that has data items to which one or more OPC clients hold reference.
To remove an object: 1. In the Configuration window, under Server Configuration, select the object to be removed. 2. From the Edit menu, select the Delete menu option (or click on the button).
Note: If one or more OPC clients hold references to data items somewhere under the selected object, a warning message (Figure 42) appears. 3. To mark the object for later deletion, click on the Yes button. To leave the object unmodified, click on the No button. Note: Items marked for deletion are disabled and a red X appears over the icon on the right side of the window when the object is selected.
65
4. By default, the window points to the SIMATIC STEP 7 directory. Select the project from which the OPC server should be importing the symbols. 5. Click on the Open button. 6. The Import S7 Symbols from [Project Internal Name] window (Figure 44) appears.
66
Figure 44 - Import STEP 7 Project Symbols from [Project Internal Name] Window
Table 32 describes the components of the Import STEP 7 Project Symbols from [Project Internal Name]. Component Step 7 Project Path Internal Name PLC Programs Import Clear All Symbols Delete Description The SIMATIC Step 7 project directory path. The SIMATIC Step 7 project internal name. PLC programs available in stations configured in SIMATIC Step 7. Click this button to import symbols from the selected PLC program. Click this button to clear the Symbols list. List of imported symbols. Select the required symbol and then click this button to delete a symbol.
Table 32 - Select S7 Data Block Symbols from [Project Internal Name] Components
To import data block variables from a STEP 7 MicroWIN project: 1. Select the connection which should be using the variable symbols.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 67
3. The Select STEP 7 MicroWIN Export File window (Figure 45) appears.
4. Select the export file from which the data block variables should be imported. 5. Click on the Open button. To export STEP 7 MicroWIN project data block variables to a file: 1. Launch STEP 7 MicroWIN and Open the project which contains the data block variables. 2. Right click on Data Block and then select Export from the displayed menu.
68
69
4. Browse to the location where the export file should be stored. Type a file name in the File name field. 5. Click on the Save button.
Alias Configuration
MatrikonOPC servers, including this one, provide the ability to create user-defined aliases that can be used in place of regular OPC items. This feature is particularly useful when the item path for a given server is very complex or difficult to remember, for example: Com1.Radio1.Unit1.41.4.123. Servers can also be configured so that client applications have access to configured aliases only, rather than every available item. This section of the manual describes how to create and edit aliases using the Configuration window. Note: It is not necessary to define aliases before accessing server data items from an OPC client.
70
Table 33 describes the components of the Insert New Alias window. Component Name Basic Alias Description Allows you to enter a name for the alias (which must be unique within the alias group). A basic alias is an alias that renames a data item in the server and optionally allows the configuration of simple scaling. This Alias type is typically used when trying to simplify a servers address space. Fully-qualified item ID for the OPC item to which the alias refers. Click on the Browse button to display the Item Path Browser window used to select an existing OPC item on the server. Note: If Events are enabled, the alias creates a data subscription to the configured item at the Alias Subscription Rate. This rate is configured in the Advanced Options window. Basic Aliases can be configured to have scaling calculations applied to the value of the mapped item ID configured under Item Path. To enable the use of a scaling algorithm check the Apply scaling algorithm checkbox. Click on the Settings button to display the Configure Scaling window used to configured the scaling algorithm used. An Advanced Calculation Alias allows the user to configuration a data
71
Item Path
Component
Description point whose value is the result of a mathematical equation that can involve values from multiple data items in the server. See Appendix B Aliases Advanced Calculations or click on the Help icon for information on how to write equations and the functions available.
Equation
The equation to apply to calculate the data value of the alias. Use the Insert Item button to display the Item Path Browser window used to select an existing OPC item on the server and insert a reference into the equation. A Holding Register Alias is a data item that is not associated with any data items in the server. These registers can be read from and written to like any other data item. Typically Holding Register Aliases are used as temporary data locations or for configuration testing during system deployment. The canonical data type of the holding register. All values written to this alias will be converted to this data type. By default, clients will be sent data as this data type. By default, a holding register will initially contain a value of 0 or the closest value to zero that applies to the data type. If this value requires a different initial value it can be entered here. Note: Not all data types support the configuration of an initial value. This field may be disabled depending on the data type chosen for the holding register. Save changes to the alias and close the window. Save changes to the alias and begin configuring a new one. Discards changes to (abandon creation of) the alias and closes the window.
Table 33 - Insert New Alias Window Alias Type Options
Data Type
Initial Value
Component
Description Allows you to select, from the drop-down list, the value of the OPC item to the specified type unless Default is selected. Also serves as the canonical data type for the alias. Default = (Default). Allows you to enter a value defining the update rate (in milliseconds) to use with the Poll when inactive option. Default = 0. When this checkbox is selected, it prevents OPC clients from writing values to the alias. Note: This option is not available for Calculation aliases, as they are read-only. By default, this checkbox is cleared. If selected, continues updating the value for the alias at the specified update rate even if there are no OPC clients currently accessing the
72
Data Type
Update Rate
Read only
Component alias.
Description
Table 34 - Insert New Alias Window Alias Properties Options
To insert a new alias: Note: It is recommended that you create a new alias under an Alias Group rather than directly under the Alias Configuration node. 1. On the Configuration window, select Alias Configuration or a previously configured Alias Group. 2. The Contents table for that Alias Group is displayed on the right side of the Configuration window (Figure 49), listing the aliases it contains.
3. From the Edit menu, choose Insert New Alias. 4. The Insert New Alias window (Figure 48) appears. 5. Enter a name for the alias in the Name field. 6. Select Basic Alias. 7. Enter the item Path and ID for the item to which the alias refers, or click on the Browse button to navigate to the item. 8. If scaling is desired, check the Apply scaling algorithm checkbox and click on the Settings button to Configure Scaling. 9. From the Insert New Alias window, click on the Save button to save the alias.
Editing Aliases
Note: Aliases can be edited after they have been created using the Edit Alias window. This is virtually the same as the Insert New Alias window (Figure 48) with the exception that it appears after the alias has been created. To edit an alias: 1. On the Configuration window, select the alias you want to change, and then double-click or press Enter. 2. The Edit Alias window appears. 3. Make the changes as required.
Removing Aliases
Note: Any alias that was created can be removed. To remove an alias: 1. On the Configuration Window, select one or more aliases that you want to remove.
73
2. From the Edit menu, choose the Delete Alias menu option. 3. The alias is removed.
Exporting Aliases
Note: Use the Export Aliases window to export all currently configured aliases to a CSV file. To export all currently configured aliases: 1. From the File menu, select the Export Aliases menu option or click on the 2. The Export Aliases window appears. 3. Enter a file name for the CSV export file. 4. Click Save. 5. The aliases are exported. button.
Importing Aliases
Note: Use the Import Aliases window to clear all aliases and import new ones from a CSV file. The CSV file format does not support event generation settings. All imported aliases will be configured to not generate events. To import aliases from a CSV file: 1. From the File menu, select the Import Aliases menu option or click on the 2. The Import Aliases window appears. 3. Browse to the CSV file name. 4. Click Open. 5. The old aliases are cleared and the new ones are imported. button.
74
Table 35 describes the Scaling Options for the Configure Scaling window. Selection Component Raw High Raw Low Scaled High Linear and Square Root Scaled Low Clamp High Clamp Low Gain/Offset Gain Offset Description Maximum expected raw value of the OPC item. Minimum expected raw value of the OPC item. Maximum desired scaled value for the alias (corresponds to Raw High). Minimum desired scaled value for the alias (corresponds to Raw Low). Clamp the scaled value at the high limit to prevent it from going out of range. Clamp the scaled value at the low limit to prevent it from going out of range. Scaling factor. (No limits are assumed.) Scaling offset. Simple text equation to apply to incoming values (reads). Click on the Input Expression Output ellipsis button ( ) to display the Expression Wizard screen used to help build a formula. For more information, refer to the Expression Wizard section in this manual. Simple text equation to apply to outgoing values (writes). Click on the ellipsis button ( ) to display the Expression Wizard screen used to help build a formula. For more information, refer to the Expression Wizard section in this manual.
Table 35 - Configure Scaling Window Options
75
Notes: The data type for scaled values is double-precision real unless the alias data type is specified. Using invalid settings, such as zero-zero for the high-low range in Linear scaling, may be fatal to the server, OPC clients, and communications. The OPC item values must be numeric for Linear, Square Root, and Gain/Offset scaling to work. The OPC item values must be non-negative for Square Root scaling to work. Otherwise, the scaled value will be -1 with a bad quality. The server may be unable to load configuration files containing invalid scaling expressions, and may fail to start up properly. If this occurs, rename the configuration file so that the server will not load it upon start-up. Alternatively, edit the XML file to correct the invalid alias settings.
Figure 51 - Generate Events Options MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 76
Table 36 describes the Events tab fields. Component Source Description Allows you to enter the name of the source of the event. By default, this field is the Alias Group name, or if there is no Alias Group then the Alias name. Allows you to select from the drop-down list, the event category under which the event is to be registered. Select either the New Category or Edit Category option to configure the registered categories in the server. For more information, refer to the Configure Categories section for more information. Allows you to enter a value defining the severity of the alarm. The allowable range is 1 through 1000. Allows you to enter a message that is to appear in the posted event. This message can contain references to data item in the server. These references are replaced with the values of those items at the time the event was generated. Click the Insert Item button to display the Item Path Browser screen used to add item paths to this field. For more information, refer to the Item Path Browser section in this manual. Note: If items are referenced, the alias creates a data subscription to the referenced items at the Alias Subscription Rate. This rate is configured in the Advanced Options window.
Table 36 - Generate Events Window Options
Category
Severity
Message
Configure Categories
The New Category window (Figure 52) is presented when you choose to add a new category to the server from the Generate Events window (Figure 51).
Table 37 describes the New Category window fields. Component Category ID Description Displays the ID number that appears in the event that is registered
77
Component
Description under this category. This numbered field is blank until the category is created. Once the category is created the server assigns a unique ID.
Name
Allows you to enter the name that is to be used to refer to the category. Allows you to enter a description of what the category represents in the system. The name and the description appear together as the category description in OPC clients that support retrieving category information.
Table 37 - New Category Window Options
Description
The Edit Categories window is displayed when you choose to edit categories from the Generate Events window (Figure 51).
When presented with the Edit Categories window, select the category to edit and click the Edit button. This causes the Edit Category window to appear which is virtually identical to the New Category window. Note: Some categories cannot be edited. These categories are marked as Read Only and can be viewed, but not edited. From the Edit Categories window, if you wish to view existing category details, select the required category. Click on the View button. The View Category window is displayed, which again, is virtually identical to the New Category window.
Expression Wizard
The Expression form of scaling uses an Expression Wizard to build formulas. The created formula is a simple text equation that is applied to either incoming values (i.e., reads), or outgoing values (i.e., writes).
Examples
Example 1: The following turns any number into a Boolean value. Any non-zero value shows up as a 1.
IF(INPUT = 0,0,1)
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 78
OUTPUT
Example 2: The following takes the text out of SAMPLE and converts it to ON. All other values show as OFF. If OUTPUT is specified in the Output field, then the value is transferred to the end OPC item. Using this alias, you can write SAMPLE or any other value to the alias to get the display to changed from OFF to ON.
String comparisons are case-sensitive. IF(INPUT = SAMPLE,ON,OFF) OUTPUT Table 38 describes the Expression Wizard fields. Component Input/Output Expression Database field Function Variable Operators Clear Validate Description Displays the expression as it is created. This field is free-form which allows you to manually enter or edit information. This field reads Input Expression when creating an input or read expression. It reads Output Expression when creating an output or write expression. This button is reserved for future enhancements. Select this button to display the Select function window which allows you to select the necessary function from those available. Select this button to display the Select variable window which allows you to select the necessary variable from those available. Select the applicable button to add the corresponding operator or operators to the expression. Select this button to clear the Input/Output Expression field. Select this button to validate the expression that appears in the Input/Output Expression field. If the expression is invalid, an error message is displayed. If the expression is valid, a message is displayed indicating there are no errors and also stating what the result is. Select this button to accept changes to (or the creation of) the expression. Select this button to discard changes to (or abandon the creation of) the expression.
Table 38 - Expression Wizard Options
OK Cancel
Notes: The Expression Wizard appears and functions the same for an input expression as it does for an output expression. The differences being the expression field label: Input Expression, Output Expression, and that one is for reads and the other for writes. If you are expecting to read a particular alias, create an Input Expression. If you are expecting to write to a particular alias, create an Output Expression. To create an Input or Output Expression: 1. On the Configuration window, select Alias Configuration or a previously configured Alias Group.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 79
2. The Contents table for that alias group is displayed on the right side of the Configuration window, listing the aliases it contains. 3. Either create a new alias (for instructions, refer to Inserting New Aliases), or Double-click your mouse on an existing alias, or Click on the Edit the selected alias item ( 4. The Edit Alias window appears. 5. Check the Apply scaling algorithm checkbox and then click the Settings button. 6. Select the Expression Engine option (Figure 54). ) button.
7. Click on the Configure button adjacent to the Input field (or Output field). 8. The Expression Wizard (Figure 55) is displayed.
9. Manually enter your new expression in the Input/Output Expression field and proceed to step 14. Or,
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 80
Perform steps 9 through 13 using a combination of the Function, Variable, and Operators buttons to create your expression, which will be displayed in the Input/Output Expression field as you build it. 10. Click on the Function button to go to the Select function (Figure 56) window. After selecting the required function, click on the Continue button to close the Select function window and return to the Expression Wizard.
11. Click on the Variable button to go to the Select variable (Figure 57) window. After selecting the required variable, click on the OK button to close the Select variable window and return to the Expression Wizard.
12. If required, from the Select variable window, click on the Modify variables button to access the User Defined Functions Editor (Figure 58) which allows you to add, change, or delete variables.
81
13. The Operators buttons (Figure 59) allow you to enter an operation descriptor based on the selected button.
14. Click on the Validate button to determine whether or not the expression is valid. 15. If the expression is valid (i.e., a confirmation message is displayed), click on the OK button to close the message window and return to the Expression Wizard screen. 16. Click on OK button on the Expression Wizard screen to close the wizard and display the expression in either the Input or Output field, depending on which expression you defined. 17. From the Edit Alias window, click on the Save button. 18. The Edit Alias window closes and you are returned to the Configuration window.
Description Select this button to refresh the browsing hierarchy in the Branch Hierarchy component.
Table 39 Item Path Browser Options
Saving a Configuration
Note: When the server configuration is complete, use the Save Configuration window to save the configuration to an XML file. To save a configuration to an XML file: 1. From the File menu, select the Save As menu option or click on the (alternatively, users can choose Save or click ). 2. The Save Configuration window appears. 3. Enter a file name if saving the file for the first time. 4. Click Save. 5. The configuration is saved. button
Clearing a Configuration
Note: Starting a new configuration will clear the existing one. To clear a configuration: 1. From the File menu, choose the New menu option or click on the 3. Click OK. 4. The configuration is cleared. button.
2. If OPC clients are still connected to the server, a warning message appears.
83
6. Click OK. 7. The old configuration is cleared and the new configuration is loaded from the file.
84
Connection Items
The S7 ISO on TCP (RFC1006) and S7 NetLink (only for S7 300/400) connections use the same item ID syntax as described in Table 40: [Siemens TCP/IP Channel Name]>[Connection Name]>[Tag Syntax] Field Siemens TCP/IP Channel Name Connection Name Tag Syntax Description Siemens TCP/IP Channel Name Connection Name Tag Syntax
Table 40 - Item ID Field Descriptions
In the following information, offsets and bit positions are zero-based and S7 300/400 refers to the S7 300 and S7 400 models.
Description
Access a single discrete input
Access Right
Read-Write
Read-Write
Read-Write
Discrete Inputs
Give access to the process image of the digital inputs (PII). The input module is mapped to the PII based on the address assigned during hardware configuration.
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Discrete Outputs
Give access to the process image of the digital outputs (PIQ). The output module is mapped to the PIQ based on the address assigned during hardware configuration.
Read-Write
Read-Write
85
QB0 : QBn [Byte] n is the max discrete output byte offset. e.g.: QB8 accesses a byte at offset 8. AB0 : ABn [Byte] n is the max discrete output byte offset. e.g.: AB8 accesses a byte at offset 8. QW0 : QWn [Word] n is the max discrete output WORD offset. e.g.: QW8 accesses a WORD at offset 8. AW0 : AWn [Word] n is the max discrete output WORD offset. e.g.: AW8 accesses a WORD at offset 8. QD0 : QDn [DWord] n is the max discrete output DWORD offset. e.g.: QD8 accesses a DWORD at offset 8. AD0 : ADn [DWord] n is the max discrete output DWORD offset. e.g.: AD8 accesses a DWORD at offset 8. PE0.0 : PEn.7 [Boolean] (*) n is the max peripheral input offset. e.g.: PE8.3 accesses bit 3 at offset 8. PI0.0 : PIn.7 [Boolean] (*) n is the max peripheral input offset. e.g.: PI8.3 accesses bit 3 at offset 8. PEB0 : PEBn [Byte] n is the max peripheral input byte offset. e.g.: PEB8 accesses a byte at offset 8. PIB0 : PIBn [Byte] n is the max peripheral input byte offset. e.g.: PIB8 accesses a byte at offset 8. PEW0 : PEWn [Word] n is the max peripheral input WORD offset. e.g.: PEW8 accesses a WORD at offset 8. PIW0 : PIWn [Word] n is the max peripheral input WORD offset. e.g.: PIW8 accesses a WORD at offset 8. PED0 : PEDn [DWord] n is the max peripheral input DWORD offset. e.g.: PED8 accesses a DWORD at offset 8. PID0 : PIDn [DWord] n is the max peripheral input DWORD offset. e.g.: PID8 accesses a DWORD at offset 8. PQ0.0 : PQn.7 [Boolean] (*) n is the max peripheral output offset. e.g.: PQ8.3 accesses bit 3 at offset 8. PA0.0 : PAn.7 [Boolean] (*) n is the max peripheral output offset. e.g.: PA8.3 accesses bit 3 at offset 8. PQB0 : PQBn [Byte] n is the max peripheral output byte offset. e.g.: PQB8 accesses a byte at offset 8. PAB0 : PABn [Byte] n is the max peripheral output byte offset. e.g.: PAB8 accesses a byte at offset 8. PQW0 : PQWn [Word] n is the max peripheral output WORD offset. e.g.: PQW8 accesses a WORD at offset 8.
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read
Read
Read
Read
Read
Read
Read
Read
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
86
Internal Memory
PAW0 : PAWn [Word] n is the max peripheral output WORD offset. e.g.: PAW8 accesses a WORD at offset 8. PQD0 : PQDn [DWord] n is the max peripheral output DWORD offset. e.g.: PQD8 accesses a DWORD at offset 8. PAD0 : PADn [DWord] n is the max peripheral output DWORD offset. e.g.: PAD8 accesses a DWORD at offset 8. M0.0 : Mn.7 [Boolean] (*) n is the max internal memory offset. e.g.: M8.3 accesses bit 3 at offset 8. F0.0 : Fn.7 [Boolean] (*) n is the max internal memory offset. e.g.: F8.3 accesses bit 3 at offset 8. MB0 : MBn [Byte] n is the max internal memory byte offset. e.g.: MB8 accesses a byte at offset 8. FB0 : FBn [Byte] n is the max internal memory byte offset. e.g.: FB8 accesses a byte at offset 8. MW0 : MWn [Word] n is the max internal memory WORD offset. e.g.: MW8 accesses a WORD at offset 8. FW0 : FWn [Word] n is the max internal memory WORD offset. e.g.: FW8 accesses a WORD at offset 8. MD0 : MDn [DWord] n is the max internal memory DWORD offset. e.g.: MD8 accesses a DWORD at offset 8. FD0 : FDn [DWord] n is the max internal memory DWORD offset. e.g.: FD8 accesses a DWORD at offset 8. MR0 : MRn [Real] n is the max internal memory REAL offset. e.g.: MR8 accesses a REAL at offset 8. FR0 : FRn [Real] n is the max internal memory REAL offset. e.g.: FR8 accesses a REAL at offset 8.
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Timer Values
Counter Values
Contains the S7 program software timers. Internally, stored in one WORD. The first 12 bits contains the timer preset value coded in BCD. The last 4 bits contains the time base used coded only on 2 bits. See S5TIME for further details. Contains counter instructions. Internally, stored in one WORD. The first 12 bits contains the counter value coded in BCD. The last 4 bits are not used. Data block variable with a value of TRUE or FALSE. Internally, stored in one bit.
T0 : Tn [DWord] (*) n is the max timer offset. e.g.: T8 accesses timer at offset 8.
Read
C0 : Cn [Word] (*) n is the max counter offset. e.g.: C8 accesses counter at offset 8. Z0 : Zn [Word] (*) n is the max counter offset. e.g.: Z8 accesses counter at offset 8. DBn:BOOL:x.y [Boolean] (*) n is the data block number x is the Boolean offset y is the bit number : [Range 0 to 7] e.g.: DB1:BOOL:10.2 accesses bit # 2 at offset 10 from data block # 1.
Read-Write
Read-Write
Read-Write
87
Data block variable which represents a signed decimal integer, stored in two bytes.
Data block variable which represents a signed decimal integer, stored in four bytes. Data block variable which represents a floating-point number, internally stored in the IEEE 32 bits format. Data block variable which represents the number of days since January 01, 1990 (IEC format), internally stored in two bytes (WORD). Refer to the section S7 300 Date and time formats to see how the value is represented by the OPC server. Data block variable which represents a delay in milliseconds (IEC format), internally stored in 4 bytes (DWORD). Refer to the section S7 300 Date and time formats to see how the value is represented by the OPC server. Data block variable which represents the time of day as total milliseconds, internally stored as a signed integer in 4 bytes. Refer to the section Date and time formats to see how the value is represented by the OPC server. Data block variable which represents a single ASCII character. Internally, stored in one byte.
DBn:BYTE:x [Byte] n is the data block number x is the Byte offset e.g.: DB1:BYTE:10 accesses a byte at offset 10 from data block # 1. DBn:WORD:x [Word] n is the data block number x is the Word offset e.g.: DB1:WORD:10 accesses a WORD at offset 10 from data block # 1. DBn:DWORD:x [DWord] n is the data block number x is the DWord offset e.g.: DB1:DWORD:10 accesses a DWORD at offset 10 from data block # 1. DBn:INT:x [Short] n is the data block number x is the INT offset e.g.: DB1:INT:10 accesses a INT at offset 10 from data block # 1. DBn:DINT:x [Long] n is the data block number x is the DINT offset e.g.: DB1:DINT:10 accesses a DINT at offset 10 from data block # 1 DBn:REAL:x [Real] n is the data block number x is the REAL offset e.g.: DB1:REAL:10 accesses a REAL at offset 10 from data block # 1. DBn:DATE:x [String] n is the data block number x is the DATE offset e.g.: DB1:DATE:10 accesses a DATE variable at offset 10 from data block # 1.
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
DBn:TIME:x [String] n is the data block number x is the TIME offset e.g.: DB1:TIME:10 accesses a TIME variable at offset 10 from data block # 1.
Read-Write
DBn:TIME_OF_DAY:x [String] n is the data block number x is the TIME OF DAY offset e.g.: DB1:TIME_OF_DAY:10 accesses a TIME_OF_DAY variable at offset 10 from data block # 1. DBn:CHAR:x [String] n is the data block number x is the CHAR offset e.g.: DB1:CHAR:10 accesses a CHAR variable at offset 10 from data block # 1.
Read-Write
Read-Write
88
Data block variable which represents a timer preset value. Internally, stored in two bytes (WORD). The first 12 bits contains the timer preset value coded in BCD which allows a value from 000 to 999. Bits 12 and 13 are used to encode the time base, allowing values (in binary) of 00, 01, 10 and 11 which correspond respectively to 0.01 sec, 0.1 sec, 1.0 sec and 10 sec. Consequently, allowed values for this variable in milliseconds are from 0 to 9990000 and need to be multiple of 10 milliseconds. Refer to the section Date and time formats to see how the value is represented by the OPC server. Data block variable represents the date and time. Internally, stored in 8 bytes using BCD format. Refer to the section Date and time formats to see how the value is represented by the OPC server.
DBn:S5TIME:x [String] n is the data block number x is the S5TIME offset e.g.: DB1:S5TIME:10 accesses a S5TIME variable at offset 10 from data block # 1.
Read-Write
DBn:DATE_AND_TIME:x [String] n is the data block number x is the DATE AND TIME offset e.g.: DB1:DATE_AND_TIME:10 accesses a DATE_AND_TIME variable at offset 10 from data block # 1. DBn:STRING:x:length [String] (*) n is the data block number x is the STRING offset length is the string maximum number of characters [Range 1 to 254] e.g.: DB1:STRING:10:210 accesses a STRING variable with length 210 (characters) at offset 10 from data block # 1.
Read-Write
Data block variable which represents an ASCII string which can takes up to 254 bytes.
Read-Write
Data Block Structure (Cannot be entered manually, added only while importing data block symbols from a STEP7 project)
Data block which represents a structure with a certain number of elements which may be a combination of any data block type, including other structures.
Read-Write
Custom OPC Properties The OPC server provides some custom OPC properties for the items. Table 42 shows all possible custom OPC properties:
Value Device Address Description Items device address. This is particularly useful when an item corresponds to an imported symbol. Refer to the Importing Symbols From SIMATIC STEP 7 Project section for further details.
Table 42 - Custom OPC Properties
S7 300/400 Date and Time Formats The different representation used for data and time OPC items are shown in Table 43.
S7 Data Block Type Data Block DATE (IEC date) Year-Month-Day Format Example 2008-6-22
89
S7 Data Block Type Data Block TIME (IEC time) Data Block TIME OF DAY Data Block S5TIME Data Block DATE AND TIME
Writing to S7 300/400 Date and Time OPC Items When writing to S7 300/400 OPC items which represent data block date and/or time variables, the same format as the OPC items needs to be used. For example, when writing 1 minute to a Data Block TIME OF DAY, the value to be written is 0:1:0.0. When writing 65300 milliseconds (multiple of 10 milliseconds) to a Data Block S5TIME, the value to be written is 0H1M5S.300. S7 300/400 Counters The value returned for S7 300/400 counters are automatically converted to a BCD value. Since only the first 12 bits are used valid values are from 0 to 999. S7 300/400 Timers The value returned for S7 300/400 timers are automatically converted to S5TIME format and displayed in milliseconds. Valid values are from 0 to 9990000. Refer to S5TIME description for further details.
Description
Access a single discrete input
Access Right
Read-Write
Read-Write
Read-Write
Read-Write
Discrete Inputs
Read-Write
Read-Write
Read-Write
Read-Write
90
Discrete Outputs
Analog Inputs
Analog Outputs
Internal Memory
Q0.0 : Qn.7 [Boolean] (*) n is the max discrete output offset. e.g.: Q8.3 accesses bit 3 at offset 8. A0.0 : An.7 [Boolean] (*) n is the max discrete output offset. e.g.: A8.3 accesses bit 3 at offset 8. QB0 : QBn [Byte] n is the max discrete output byte offset. e.g.: QB8 accesses a byte at offset 8. AB0 : ABn [Byte] n is the max discrete output byte offset. e.g.: AB8 accesses a byte at offset 8. QW0 : QWn [Word] n is the max discrete output WORD offset. e.g.: QW8 accesses a WORD at offset 8. AW0 : AWn [Word] n is the max discrete output WORD offset. e.g.: AW8 accesses a WORD at offset 8. QD0 : QDn [DWord] n is the max discrete output DWORD offset. e.g.: QD8 accesses a DWORD at offset 8. AD0 : ADn [DWord] n is the max discrete output DWORD offset. e.g.: AD8 accesses a DWORD at offset 8. AEW0 : AEWn [Word] n is the max analog input WORD offset. e.g.: AEW8 accesses a WORD at offset 8. AIW0 : AIWn [Word] n is the max analog input WORD offset. e.g.: AIW8 accesses a WORD at offset 8. AQW0 : AQWn [Word] n is the max analog output WORD offset. e.g.: PQW8 accesses a WORD at offset 8. AAW0 : AAWn [Word] n is the max analog output WORD offset. e.g.: PAW8 accesses a WORD at offset 8. M0.0 : Mn.7 [Boolean] (*) n is the max internal memory offset. e.g.: M8.3 accesses bit 3 at offset 8. F0.0 : Fn.7 [Boolean] (*) n is the max internal memory offset. e.g.: F8.3 accesses bit 3 at offset 8. MB0 : MBn [Byte] n is the max internal memory byte offset. e.g.: MB8 accesses a byte at offset 8. FB0 : FBn [Byte] n is the max internal memory byte offset. e.g.: FB8 accesses a byte at offset 8. MW0 : MWn [Word] n is the max internal memory WORD offset. e.g.: MW8 accesses a WORD at offset 8. FW0 : FWn [Word] n is the max internal memory WORD offset. e.g.: FW8 accesses a WORD at offset 8. MD0 : MDn [DWord] n is the max internal memory DWORD offset. e.g.: MD8 accesses a DWORD at offset 8.
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read
Read
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
91
Timer Values
Counter Values
FD0 : FDn [DWord] n is the max internal memory DWORD offset. e.g.: FD8 accesses a DWORD at offset 8. MR0 : MRn [Real] n is the max internal memory REAL offset. e.g.: MR8 accesses a REAL at offset 8. FR0 : FRn [Real] n is the max internal memory REAL offset. e.g.: FR8 accesses a REAL at offset 8. T0 : Tn [DWord] (*) n is the max timer offset. e.g.: T8 accesses timer at offset 8. C0 : Cn [Word] (*) n is the max counter offset. e.g.: C8 accesses counter at offset 8. Z0 : Zn [Word] (*) n is the max counter offset. e.g.: Z8 accesses counter at offset 8. V0.0 : Vn.7 [Boolean] (*) n is the max data block variable offset. e.g.: V8.3 accesses bit 3 at offset 8. VB0 : VBn [Byte] n is the max data block variable byte offset. e.g.: VB8 accesses a byte at offset 8. VW0 : VWn [Word] n is the max data block variable WORD offset. e.g.: VW8 accesses a WORD at offset 8. VD0 : VDn [DWord] n is the max data block variable DWORD offset. e.g.: VD8 accesses a DWORD at offset 8. SM0.0 : SMn.7 [Boolean] (*) n is the max special memory offset. e.g.: SM8.3 accesses bit 3 at offset 8. SMB0 : SMBn [Byte] n is the max special memory byte offset. e.g.: SMB8 accesses a byte at offset 8. SMW0 : SMWn [Word] n is the max special memory WORD offset. e.g.: SMW8 accesses a WORD at offset 8. SMD0 : SMDn [DWord] n is the max special memory DWORD offset. e.g.: SMD8 accesses a DWORD at offset 8. S0.0 : Sn.7 [Boolean] (*) n is the max special memory offset. e.g.: S8.3 accesses bit 3 at offset 8. SB0 : SBn [Byte] n is the max special memory byte offset. e.g.: SB8 accesses a byte at offset 8. SW0 : SWn [Word] n is the max special memory WORD offset. e.g.: SW8 accesses a WORD at offset 8.
Read-Write
Read-Write
Read-Write
Read
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write
Read-Write Read-Write
(Bytes from 0 to 29 included are read-only) Read-Write (Bytes from 0 to 29 included are read-only) Read-Write (Bytes from 0 to 29 included are read-only) Read-Write (Bytes from 0 to 29 included are read-only) Read-Write
Special Memory
Provides access to some system status and configuration information (Bytes from 0 to 29 included are read-only)
Read-Write
Read-Write
92
High-Speed Counter
SD0 : SDn [DWord] n is the max special memory DWORD offset. e.g.: SD8 accesses a DWORD at offset 8. HC0 : HCn [DWord] (*) n is the max high speed counter offset. e.g.: HC8 accesses high speed counter at offset 8.
Read-Write
Read
Note: For E/I, E/Q and M/F, each address starts at a byte offset within the device. Consequently, Words MW0 and MW1 for example, overlap at byte 1, so writing to MW0 will also modify the value in MW1. Similarly, DWORD, Short and Long types can also overlap. Overlapping can be prevented by carefully selecting your offsets for these types. For example, Words MW0, MW2 and MW4 do not overlap.
SHORT and LONG Conversion To access a WORD as a signed 2-byte integer (SHORT), just replace the W in the syntax by S.
For example, to access an internal memory WORD at offset 16 as a SHORT the syntax is: MS16 To access a DWORD as a signed 4-byte integer (LONG), just replace the D in the syntax by L. For example, to access an internal memory DWORD at offset 16 as a LONG the syntax is: ML16
BCD Conversion To interpret a WORD or DWORD as a BCD number, just append the BCD suffix to the syntax.
For example, to convert MW0 to its BCD representation the syntax is: MW0:BCD Please note that if the WORD or DWORD contains an invalid BCD digit (greater than 9), the digit will be truncated to 9 and the OPC item will have a bad quality.
Array Syntax The valid syntax for accessing a memory area or a data block variable as an array is:
[Tag Syntax][Row][Col] Where Row is the number of rows and Col is the number of columns. For example, to access a two-dimensional Data Block INT array located in DB # 1 at address 282: DB1:INT:282[2][2] Row count of 1 is assumed, when the number of rows is not specified. For example, typing MB0[5] is equivalent to MB0[1][5]. Column count of 1 with Row count different than 1 is not accepted. For example, typing MB0[5][1] is not allowed. Memory areas and data block types which do not support arrays are marked with an asterisk (*) in Table 41 and Table 44. The syntax which should be used when writing to an array item is specific to the OPC client used to access the item. When importing data block symbols from STEP 7 project, arrays are automatically resolved, i.e. each array element will be represented by an individual OPC item.
93
For example, if a symbol called Zone1.TMPARRAY_INT_292 has been imported for an array of INT which starts at offset 292 and has a dimension 2x2, the following OPC items will be created: Zone1.TMPARRAY_INT_292(1,1) Zone1.TMPARRAY_INT_292(1,2) Zone1.TMPARRAY_INT_292(2,1) Zone1.TMPARRAY_INT_292(2,2) When accessing an array, the element offsets depend on the element data types. For example, reading MW0[4] will return MW0, MW2, MW4 and MW6 and reading MD0[4] will return MD0,MD4,MD8 and MD12. To access a one-dimensional array element by address, all needed is the array offset and the element data type in order to access the element. For example, to access the third element in an array of MB (bytes) which starts at offset 152, the syntax is: MB{Element Offset} (offsets are zero based) Element Offset = {Array offset} + (Element Position -1) * {Element Length} Element Offset = 152 + (3-1) * 1 byte The syntax to use is then: MB154 Table 45 lists the length for each array element type: Element Type BOOL BYTE CHAR DATE INT S5TIME DINT DWORD REAL TIME TIME OF DAY DATE AND TIME Length 1 1 1 2 2 2 4 4 4 4 4 8
Control Items
The MatrikonOPC Server for Siemens PLCs supplies control items to allow a connected OPC client to obtain status information by reading values and manipulating its operation by simply writing values.
Item ID
Description underlying devices to the Ethernet network. Write a Boolean true to force a connection, or false to force a disconnection (automatic reconnection will be attempted as long as it is enabled).
Default
$Enabled $ResetStats
Enable/disable Siemens TCP/IP Channel. Writing any value to this item triggers the OPC Communication statistics for the Siemens TCP/IP Channel, as well as all of the underlying connections, to be reinitialized.
Table 46 - Siemens TCP/IP Channel Control Items
FALSE FALSE
Description Indicates whether the host has established a connection with the end-device. Write a Boolean true to force a connection, or false to force a disconnection (automatic re-connection will be attempted as long as it is enabled). Enable/disable Network Device Link. Writing any value to this item will trigger the OPC Communication statistics for the connection to be reinitialized. Set to TRUE when the PLC is in Stop mode and FALSE when in Run mode. When the write is enabled, writing TRUE to this control item will attempt to place the S7 PLC in STOP mode. Set to TRUE when the PLC is in Run mode and FALSE when in Stop mode. When the write is enabled, writing TRUE to this control item will attempt to place the S7 PLC in the RUN mode.
Table 47 - Connections Control Items
Default FALSE
$RunPLC
FALSE
95
The MatrikonOPC Server Framework creates a number of standard data items which can be used for monitoring and controlling certain behaviour. Table 48 describes the standard items available for most device links. Field #Enabled Description This is a Boolean OPC tag which indicates whether or not the Device Link to which it belongs is enabled. If the value is True or a value of True is written to this item then the Device Link is enabled. Adding this item allows an OPC client to monitor the offline mode for that location using read operations and provide the ability to toggle offline mode for that location using write operations. For more information, refer to Appendix G - Offline Mode. This is a Boolean OPC tag which indicates whether or not the Device Link is connected to its resources. Typically True indicates that a connection of an end device has been established.
Table 48 - Standard Data Items
#OfflineMode
@Connected
Table 49 describes the standard items available for at the root branch of the server browse tree. Field Description This is a Boolean OPC tag that has a default value of True when the server starts which indicates that the tag security permissions are monitored and applied while the server is running. By adding this item to an OPC group and writing a value of False to this item, the server no longer applies tag security configuration changes while the server is running. The server would need to be stopped and restarted for the changes to take effect. For more information, refer to Appendix F - Security. This is a read-only string item which lists the name of every client currently connected to the OPC server.
Table 49 - Server Data Items
#MonitorACLFile
@Clients
Table 50 describes the statistical and control items available for the Redundancy Group device link. Field Description Write to this control item to indicate which device link, of the device links to which the Redundancy Group is subscribed, is forced to be active, whether or not it is available. Clear the value of this control item in order to allow the OPC server to decide which of the subscribed device links should be active, according to their configured priorities and availabilities. The current active device link, which will be the highest-priority of the available device links on the Redundancy Group device links subscription list. A numbered list of device links to which the Redundancy Group device link is subscribed. They are ordered from highest to lowest priority.
Table 50 - Redundancy Device Link OPC Items
Table 51 describes the statistical and control items available for the Server Status List device link.
96
Description A numbered list of the device links being monitored by the Server Status List device link. The full path of the device link is provided, as entered in the Server Status List device links subscription list. Indicates the customized status of the server based on the settings for the Server Status List device link. The status options are: Running, Failed, or No Configuration (if the monitor list is empty).
Table 51 - Server Status List Device Link OPC Items
@Server Status
97
Diagnostics
The server supplies diagnostic information to assist operators and support personnel with troubleshooting communication problems and software faults.
Logging
All MatrikonOPC servers produce log files that record errors and debugging information. The log files can be extremely valuable for troubleshooting. As such, it is important to note that the default log level is set to low. The General Logging tab of the Options dialogue in the main configuration window contains settings to control server logging. General Activity Logging records information about the internal workings of the OPC server. It is useful for troubleshooting problems with configuration and device communication. Interface Activity Logging records information about the client/server OPC communication. It is useful for troubleshooting compliance issues. For General logging, the higher the log level, the more information that is recorded. However, server performance may decrease at higher log levels. The recommended operating level is Medium. More log levels are available for both types of logging which record more detailed information, as well as the ability to output log statements to a console window at run time. Contact MatrikonOPC support for further instructions on how to enable the higher log levels and console logging. For Interface logging, the log level can be considered very high and therefore should never be used during normal operation of the OPC server unless specifically working on problems related to interfacing. MatrikonOPC Sniffer is a useful tool for logging OPC client/server communication. It enhances the Interface Activity Logging by recording the client-side transactions. It can also be used with other OPC servers. MatrikonOPC Sniffer is a utility used to troubleshoot OPC client/server interoperability issues. Contact the MatrikonOPC Sales department for further information about this product, or use the following link to access the Matrikon Sniffer Download. In general, the server logs all errors and other information of immediate importance to the user at the low detail level, all warnings and other information of moderate importance to the user at a medium detail level, and additional information concerning the normal functioning of the software at a high detail level. The server also logs further information of concern to support personnel at the debug log level. Note: The higher the log level, the slower the performance of the server. It is recommended that the log level be left at the default, unless troubleshooting needs to be performed.
Statistical Items
The server supplies statistical information pertaining to communication in the form of real-time data items for the Network Device Link and each connection.
98
Description Cumulative total of the number of expected responses received by the server from all underlying connections. Cumulative total of the number of retry messages sent by the server to all underlying connections. Cumulative total of the communication failures occurrences for all underlying connections. Cumulative total of the overrun occurrences for all underlying connections. Cumulative total of the timeout occurrences for all underlying connections. Total time (in milliseconds) taken to complete the last successful request/reply transaction all underlying connections.
Table 52 - Siemens TCP/IP Channel Statistical Items
Default 0 0 0 0 0 0
Default 0 0 0 0 0 0 0
99
Limitations
MatrikonOPC Server for Siemens PLCs has no known or expected limitations. Refer to the MatrikonOPC Server for Siemens PLCs Release Notes for known issues.
100
Troubleshooting
This section is intended to assist you by providing licensing information and MatrikonOPC Support contact information. Also addressed here are some of the most common problems encountered, and questions asked, while using this OPC server. Please check the following Problems/Solutions and Questions/Answers sections before contacting the MatrikonOPC Support team.
PSTCFG error
Problem: Solution: After my OPC server died, I tried to access the Configuration screen and now I am experiencing access violations and PSTCFG errors. If your OPC server process stops and you leave the PSTCFG running, when you attempt to access the Configuration screen to do anything to your configuration items (add, change, delete, and so on), you will experience access violations. You will need to kill the configuration and restart the server.
Server stops updating client with item values after two hours
Problem: Solution: The server stops updating the client with item values after two hours. The server may be licensed with a hardware key and the hardware key may not be properly detected, or the software license has expired. Alternatively, try running the MatrikonOPC Licensing utility from the shortcut menu. Click on the Check Licenses button to see the status of all MatrikonOPC product licenses. Check that the correct HASP hardware key is securely fastened to the parallel port. If it is, run the HINSTALL program that is located in the Program Files\Common Files\MatrikonOPC\Common directory.
101
7. Under the HKEY_CLASSES_ROOT\CLSID branch, search for the GUID retrieved in the previous step (e.g., HKEY_CLASSES_ROOT\CLSID\{024C7FFC-9CC3-476f-867ABC3CAD79F4FE}). 8. Create a string value called LockServer in the Options branch underneath the GUID (e.g., HKEY_CLASSES_ROOT\CLSID\{024C7FFC-9CC3-476f-867ABC3CAD79F4FE}\Options). 9. Create a new value using the context menu and choose New String Value from the menu. 10. Set the value of the LockServer entry to 1. Note: To edit the value, select the entry and select the Modify menu option from the Edit menu. 11. Shut down the server and restart it for the change to take effect.
103
accommodate clients that do not support access paths. Perform the following steps as shown (with example) below: Note: Microsoft highly recommends that you back up the registry before editing it or making changes to it. 1. From the Run command, enter REGEDIT. 2. The Registry Editor is launched. 3. In the Registry Editor, under HKEY_CLASSES_ROOT, look for the required program ID (e.g., Matrikon.OPC.Simulation.1). 4. Expand the program ID branch. 5. Click on the CLSID branch. 6. Record the global universal ID (GUID). 7. Under the HKEY_CLASSES_ROOT\CLSID branch, search for the GUID retrieved in the previous step (e.g., HKEY_CLASSES_ROOT\CLSID\{024C7FFC-9CC3-476f-867ABC3CAD79F4FE}). 8. Create a string value called ItemIDEscapeCharacter in the Options branch underneath the GUID (e.g., HKEY_CLASSES_ROOT\CLSID\{024C7FFC9CC3-476f-867A-BC3CAD79F4FE}\Options). Note: To create a new value, use the context menu and select the New String Value menu option. 9. Set the value of ItemIDEscapeCharacter to a single character, such as | (pipe). Note: To edit the value, select the entry and select the Modify menu option from the Edit menu. 10. Shut down the server and restart it for the change to take effect. 11. Configure the ItemIDEscapeCharacter Item ID in the OPC client with the access path appended to the end with the configured escape character (e.g., ITEMID|ACCESSPATH).
More than one HASP attached to parallel port, but only first one is recognized
Problem: Solution: There is more than one HASP hardware key from Matrikon attached to the parallel port, but the software recognizes only the first one. HASP keys from the same vendor cannot be chained together. Send an email to the MatrikonOPC Support team to obtain a HASP key containing the combined codes of all installed MatrikonOPC servers.
104
Solution:
If the server is running as a service, the Matrikon logo does not appear in the Tool Tray. To configure the server, start the configuration utility by using the shortcut to the OPC server in the Windows Start menu (this shortcut starts the Configuration utility as well as the OPC server). Note: If the server configuration utility generates an access denied error on launch, the DCOM permissions have not been configured properly.
OPC client unable to create or read items under configured object (device)
Problem: Solution: The OPC client is unable to create or read items under a configured object (device). Check the object configuration (for more information, refer to Server Configuration). Ensure the Enabled checkbox is selected.
Server does not show up in the list of locally available program IDs in OPC client application
Problem: Solution: The server does not show up in a list of locally available program IDs in the OPC client application. Make sure that a user with local administrative rights installs the OPC server so that it can create the necessary entries in the registry. Ensure OPCEnum is registered as a service, DCOM permissions are configured properly, and the OPCEnum service is running. Also, especially for older OPC clients that do not use the OPC server browser, make sure the client is running as a user that has read access to the registry.
105
Access denied or time-out error when connecting to remove server via DCOM
Problem: Solution: Access Denied error message appears, or time out occurs when trying to connect to a remote OPC server via DCOM. Ensure that the access and launch permissions for the OPC server are set correctly on the server machine. For more information, refer to Appendix A Distributed COM (DCOM).
Solution:
106
Reply from 127.0.0.1: bytes=32 time<10ms TTL=128 Reply from 127.0.0.1: bytes=32 time<10ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms) Where ipaddress is the IP address of the users <System X> device. If it says no response, then there are likely network issues between users computer and the product. Note: Refer to the DCOM Manual to further diagnose any DCOM issues.
Solution:
The exact physical address assigned to this module needs to be used when accessing a peripheral input/output.
Data bit we want to access In decimal notation, this would be expressed as 108 AND 4 = 4. To do this in an OPC server, users would configure an alias to use the IF operator. With the example above, where the user wishes to access the third bit in the integer, the statement would appear as: IF (INPUT AND 4 = 4, 1, 0) Therefore, if the bit in position 3 is a 1, since 1 AND 1 =1, the IF statement would be true and would return a 1. If the bit in position is 0, 0 AND 1 = 0, the IF statement would return a false value, which is a 0.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 108
Search the MatrikonOPC Support Knowledge Base at www.opcsupport.com to find the answers to other commonly-asked MatrikonOPC Server for Siemens PLCs questions.
Licensing
Most MatrikonOPC products require that some form of licensing criteria be met for it to function correctly. The MatrikonOPC Server for Siemens PLCs supports software licensing only. Note: Alias Events needs to be licensed separately, and by default, is delivered with only a 30-day demo. To purchase a full Alias Events license, please contact your MatrikonOPC Account Manager. IMPORTANT TO NOTE: The following licensing information is described in detail within the Licensing Procedures document which accompanies the MatrikonOPC Server for Siemens PLCs software and Users Manual: Software key licensing information. Information about the MatrikonOPC Licensing Utility that is used to license driver software, and the variety of ways in which licenses can be obtained (e.g., Internet Connection, Web Page, Email). Licensing Q&A and Troubleshooting.
Contacting Support
The MatrikonOPC Customer Services department (www.opcsupport.com) is available 24 hours a day, seven days a week. Contact MatrikonOPC Support using the information below, or send an email (support@MatrikonOPC.com). For Monday to Friday daytime support requests, contact MatrikonOPC Support using the regional phone numbers provided in Table 54. Region North America UTC/GMT -7 hours (MST) Europe /Africa * UTC/GMT +1 hours (CET) Australia/Asia * UTC/GMT +10 hours (AEST) Office Hours 8:00 am-5:00 pm 9:00 am-5:00 pm 9:00 am-5:00 pm Contact Information +1-877-OPC-4-ALL +49-221-969-77-0 (Request OPC Support) +61-2-4908-2198 (Request OPC Support)
For after-hours support in all regions, please use either of the following numbers. There is no extra charge from MatrikonOPC for calling their after-hours support numbers. Region All
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual
Region
110
OPC Compliance
For more information on OPC, view the documents listed below (as well as other OPC Specifications) at http://www.opcfoundation.org. MatrikonOPC supports the following interfaces: OPC Overview 1.0 OPC Common Definitions and Interfaces 1.0 OPC Data Access Specification 2.05a OPC Data Access Specification 3.00 OPC Historical Data Access Specification 1.2 OPC Alarms and Events Specification 1.10 OPC Security 1.00
Installation
The server is by default installed as a local out-of-process COM server and enters its registration information in the Windows registry when instructed to do so with the /REGSERVER commandline option. The server installs itself as a Windows service and enters its registration information in the Windows registry when instructed to do so with the /SERVICE command-line option. Version-independent program ID is Matrikon.OPC.SiemensPLC. Version-specific program ID is Matrikon.OPC.SiemensPLC.1. OPC sub-key and vendor information string. Globally unique application ID (e.g., 2424489F-0492-4b6b-A57C-7791E0EED2C0). Globally unique class ID number (e.g., 19DDB075-33B1-4fbc-A4F0-85A55D81FFEB). Full path of 32-bit local server executable. OPC Data Access Server 2.05a and 3.00 implemented component categories. The server removes its registration information from the Windows registry when commanded to do so with the /UNREGSERVER command-line option.
Common Interfaces
The server supports the mandatory functionality specified in OPC Common Definitions and Interfaces. The server supports the following locales for result code translation: US English (0x0409) System default (0x0800) User default (0x0400) Neutral (0x0000). The server allows the client to set the client name for each connection. The server supports the shutdown event notification client-side interface.
Data Access
The server supports the mandatory functionality specified in the OPC Data Access Custom Interface Standard.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 111
Groups
The server supports the addition, removal, and cloning of private groups. The server allows the client to manage group state. Name Active state Update rate (100 millisecond resolution) Time bias Dead-band (percent of analog item high-low range)
Items
The server supports the addition, removal, and validation of items in a group. The server allows the client to manage item configuration. Active state Requested data type Dead-band (percent of analog item high-low range) Sampling rate Buffer values (used only when sampling rate is enabled and is sampling faster than the group update rate).
I/O Operations
The server supports synchronous I/O operations. Read active item values from cache. Read item values from device. Read items value from device based on how old the cache items value is. Read items without adding the item to an OPC group. Write control values to items (on device).
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 112
Write control value, quality, and/or timestamp to items (if the server supports such features). Write control values without adding the item to an OPC group. The server supports asynchronous I/O operations as defined for DA 3.00. Read items value from device based on how old the cache items value is. Write control value, quality, and/or timestamp (if the server supports such feature). The server supports the data change event notification client-side interface as defined for DA 3.00. Keep-alive call-back indicating server is alive. The server supports asynchronous I/O operations as defined for DA 2.05a. Read items value from device. Write control values to items (on device). Refresh active items from cache. Cancel outstanding operations. Enable/disable event notifications. The server supports the data change event notification client-side interface as defined for DA 2.05a. Data change or dead-band exceeded. Asynchronous refresh operation complete. Asynchronous read operation complete. Asynchronous write operation complete. Asynchronous operation cancellation complete. The server supports asynchronous I/O operations as defined for DA 1.0. Read items values from device. Read items values from cache. Write control values to items (on device). Refresh active items from cache. Cancel outstanding operations. The server supports the data change event notification client-side interface as defined for DA 1.0. Data change or dead-band exceeded data with timestamps. Data change or dead-band exceeded data without timestamps. Asynchronous write operation complete.
113
Appendix A
DCOM is an object protocol that enables COM components (such as OPC clients and servers) to communicate directly with each other across a network. A certain amount of configuration is required on the system where the OPC server is installed to allow remote clients to connect to it over the network. Readers should be familiar with DCOM and with Windows 2000 security features and security administration. Information regarding Distributed COM and various links to related sites, white papers, specifications, and so on, can be found at http://www.microsoft.com/com/default.mspx. Notes: The following steps are suggestions only. Ask your Windows Network Administrator for more information about the settings that you should use, especially between different domains. The steps provided in this appendix apply to Windows NT operating systems only. For information on how to configure DCOM settings for newer Windows operating systems, please refer to the MatrikonOPC Online Support page on DCOM Settings.
Default Properties
The Default Properties tab contains settings that affect all DCOM communication on the machine. First of all, ensure that the Enable Distributed COM on this computer is selected in so that the machine is available to others via DCOM. Select the Enable COM Internet Services on this computer to allow DCOM access to the machine from the Internet (check with your administrator). In general, the other settings do not need to be changed. The Authentication Level specifies when COM should authenticate the identity of calling clients (each call, each packet, etc). Normally, it should be set to Connect, indicating that COM should authenticate clients when they first connect to a server. If it is set to None, then COM performs no authentication and ignores any access permission settings.
114
The Impersonation Level specifies whether servers can ascertain the identity of calling clients and whether they can then perform operations on the client's behalf (as if the server is the client). Normally, it should be set to Identify, allowing the server to identify the calling client to see if it is allowed access to a certain resource but not to actually access any of these resources as the client. Select the Provide additional security for reference tracking to make even the reference counting on COM objects secure. This setting is not generally required.
Security Permissions
The most important DCOM settings for an OPC server are the security permissions. There are two ways for you to set these: 1. Change the specific settings for the server (recommended). 2. Change the default settings (not recommended) and make sure that the OPC server will use these. Either way, be certain that the access and launch permissions are correct for the server.
115
4. Click on the Security tab to set the security for the server. 5. The Distributed COM Configuration Security tab (Figure 63) appears.
116
Notes: The Access Permissions contain an Access Control List of principals that are allowed to interact with objects supplied by a server. The Launch Permissions contain an Access Control List of principals that are allowed to start up a server process or service. 6. Include the names of users or user groups from trusted domains that you wish to be able to use the OPC server on this machine. Include the Everyone group to allow access to all users on a particular domain. 7. To set the Access permissions, click Use custom access permissions and then click Edit. 8. The Registry Value Permissions window (Figure 64) appears.
117
9. To add users to the list click Add. 10. The Add Users and Groups window (Figure 65) appears.
11. To add a user to the list, select the user, and then click Add. If the user you wish to add does not appear then click Show Users.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 118
12. When you are done adding users, click OK to close the Add Users and Groups window. You can then choose to Allow Access or Deny Access for each user. Notes: The procedure to set the launch permissions is similar to the above, but instead of choosing Allow Access for a user you would choose Allow Launch. The Configuration Permissions contain an Access Control List of principals that are allowed to modify the configuration information for a server. In other words, it indicates who is allowed to alter the registry entries for installed servers as well as who is able to access the registry for the purposes of installing new servers. It is usually simpler to install and configure servers as a user with local administrative rights. 13. To connect to an OPC server from outside of the domain, create a local user account on both the server and the client machine with identical username and password. Then, add the local user on the OPC server to the DCOM permissions. Use the local account on the client machine to connect to the OPC server.
Server Identity
The Identity tab for a selected COM (or OPC) server specifies the user account that should be used when COM starts up the process. The available settings are different for servers that run as local executables as opposed to those that run as NT services. Note: It is strongly recommended that OPC servers should be installed to run as NT services if they are going to be accessed by remote clients via DCOM. This ensures that the server can always be accessed even if no one is presently logged on to the machine, and only one server process ever starts up. It also adds a greater degree of security in terms of who is able to shut down the server process. Servers that run as local executables have the option of running as the launching user (the calling clientthis is the default), the interactive user (the one currently logged onto the machine), or a specified user. It is usually best to use the interactive user or a specified user. Otherwise, remote clients might start up multiple separate server processes that are not accessible to others. Servers that run as NT services should generally run as the local System account. Alternatively, the server can be set to run as a specified user, although this is usually done from the Service Control Manager applet rather than DCOMCNFG. Access and Launch permissions are particularly important when installing a server to run as an NT service.
Default Protocols
The Default Protocols tab specifies the communication protocols available to DCOM. The order that protocols appear in the list indicates the priority in which they will be used (the topmost having the highest priority). The more protocols that appear in the list, the better the chances of connecting to an OPC server on an unknown remote machine (such as at an OPC Interoperability Workshop). However, it may also take longer for DCOM to time out if a server machine is not present since it has to try each protocol in turn. For most situations, it is best to remove all unused protocols from the list and only include those that are necessary for your network. For example, on a TCP/IP network, one would include the Connection-oriented TCP/IP protocol. Contact your IT personnel for more information about your network.
119
Note: Evidence indicates that there are problems with the datagramoriented protocols (such as UDP/IP) that can cause memory leaks in DCOM. Therefore, it is strongly recommended that these protocols be removed from the list of default protocols. Datagram-oriented protocols are not supported under Windows 2000 at all (although the DCOM configuration utility still allows you to configure them).
Remote Program ID
Before the OPC Server Browser became available, OPC client applications had to search the registry to generate a list of available OPC servers. Therefore, some older OPC clients need to have a program ID in the local registry in order to connect to a particular OPC server. The simplest solution is to install the OPC server software on the client machine even if it is not used. Alternatively, use the following steps to copy a program ID to the client machine. Note: This method may not work for every OPC client. Please check the client documentation for more information. WARNING: Any changes made to the registry must be made with extreme caution! 1. Back up your registry. 2. On the server machine, run REGEDIT as a user that has access rights to the local registry. 3. Expand the HKEY_CLASSES_ROOT key. 4. Find the program ID(s) for the desired OPC server(s). Note: In the case of Matrikon OPC Servers, the ID has the form Matrikon.OPC.Device. If you quickly type the first few letters then REGEDIT should jump to the location of that key. Some servers may have both a version-specific as well as a version-independent program ID. In this case both IDs should be copied to the client machine. 5. For each program ID, select the key and choose Export Registry File from the Registry menu. Enter a file name, and then click Save. Be careful not to overwrite other export files that you are creating. 6. Copy the exported REG files to the client machine. 7. Merge the REG files into the registry of the client machine. Note: This should simply be a matter of double clicking on the file from the desktop of the client machine. Alternatively, run REGEDIT on the client machine and choose Import Registry File from the Registry menu, selecting each file in turn. This must be done as a user who has write access to the local registry. 8. Use REGEDIT to check that the program IDs have in fact, been copied. 9. Delete the REG files since they are no longer needed.
120
Appendix B
Aliases
Scaling Expressions
Alias scaling expressions may use any of the expression constructs listed in Table 56. Construct text + - * / Description Text value (single quotation marks). Addition (or Append), Subtraction, Multiplication, and Division. Equal To, Less Than, Greater Than, Unequal To, Less or Equal To, Greater or Equal To. Logical Not, Logical And, Logical Or. May also be used for binary math. Current time as text. Current date as text. Returns the integer part of x. Returns the fractional part of x. Returns the square root of x. Divides x by y. Returns x if expression evaluates to TRUE, otherwise returns y. Constant Boolean true and false. Returns the data type of x as a text description (STRING, INTEGER, FLOAT, BOOLEAN, ERROR). Converts the numeric value x to text. Converts the text value x to all upper case or lower case letters, or the first letter upper case and the rest lower. Returns a sub-string of the x, copying length characters starting at start. Converts the numeric value x to text using the format mask. The incoming value read from OPC. The outgoing value written to OPC. Examples hello Joes Alias (3 * 7 + 1) / 8 2 hi + there 3<4 (7 >= 3) And (1 <> 0) (12 And 5) = 4 The time is + TIME Today is + DATE INT(3.14) = 3 FRAC(3.14) = 0.14 SQRT(16) = 4 DIV(42, 7) = 6 IF(6 <= 12, OK, Bad) = OK (5 > 6) = FALSE TYPEOF(hello) = STRING
= < > <> <= >= Not And Or TIME DATE INT(x) FRAC(x) SQRT(x) DIV(x, y) IF(expr, x, y) TRUE FALSE TYPEOF(x) STR(x) UPPER(x) LOWER(x) PRETTY(x) COPY(x, start, length)
STR(3.14) = 3.14 UPPER(alarm) = ALARM LOWER(ALARM) = alarm PRETTY(ALARM) = Alarm COPY(FIDDLE, 2, 4) = IDDL FORMATNUMERIC('####.#', 123.4567) = 123.5 INPUT * 3.1415 OUTPUT / 3.1415
121
Construct text
Advanced Calculations
Calculations may contain references to any OPC item in the servers syntax. However, they may not contain references to other alias items. There are no limits on how many items can be used in a calculation. The only limiting factor may be performance related. To reference another OPC item in the calculation, wrap the items full item path in square brackets. For example to add the items Com1.Rtu.Reg1 and Com1.Rtu.Reg2 together, the correct expression would be: [Com1.Rtu.Reg1] + [Com1.Rtu.Reg2] If the OPC item being referenced in a calculation is not found within the servers address space, the server attempts to add it. If successful, the OPC server uses the Alias Subscription Rate to update the OPC item. The Alias Subscription Rate is configured in the Advanced Options panel. In the event that the server cannot create a subscription to the OPC item, the alias quality reports Bad, bad configuration. Advanced alias calculations may use any of the operators listed in Table 57. Construct ! != % & * / ^ | + < <= Description Minus operator. Unary minus operator. Not logical operator. Returns 1 if x is 0, else returns 0. Not equal logical operator. Returns 1 if true, 0 if false. Modulo; find remainder of the division of x by y. And logical operator. Returns 1 if true, 0 if false. Multiplication operator. Division operator. Calculates x raised to the power of y. Or logical operator. Returns 1 if true, 0 if false. Addition operator. Lesser than logical operator. Returns 1 if true, 0 if false. Lesser than or equal logical operator. Returns 1 if true, 0 if false. x-y -x !x x != y x%y x&y x*y x/y x^y x|y x+y x<y x <= y Examples
122
Description Equal logical operator. Returns 1 if true, 0 if false. Greater than logical operator. Returns 1 if true, 0 if false. Greater than or equal logical operator. Returns 1 if true, 0 if false. x == y x>y x >= y
Examples
Alias scaling calculations may use any of the functions listed in Table 58. Construct abs acos asin atan avg bin ceil cos cosh fact floor hex if isNaN log log10 max max max min Absolute value. Arccosine Arcsine Arctangent Returns the average of a set of values. Converts a binary number to a decimal number. Ceiling. Cosine. Hyperbolic cosine. Returns the factorial of x: x*(x1)*(x-2)*...(x-x+1). Floor. Converts an hexadecimal number to a decimal number. If the condition is true, returns val1 else returns val2. Returns 1 if the number is a NaN value. Natural logarithm. Base-10 logarithm Returns larger of a set of values. Returns larger of two values. Returns larger of three values. Returns smaller of a set of values. Description abs(x) acos(x) asin(x) atan(x) avg(v1,v2,v3,...) bin(binNumber) ceil(x) cos(x) cosh(x) fact(x) floor(x) hex(hexNumber) if(condition, val1, val2) isNaN(value) log(x) log10(x) max(v1,v2,v3,...) max(x,y) max(x,y,z) min(v1,v2,v3,...) Examples
123
Construct min min rand rand round sin sinh sqrt sum tan tanh
Description Returns smaller of two values. Returns smaller of three values. Random value between 0 and 1. Random value between min and max. Round the fractional part of a number. Sine. Hyperbolic sine. Square root. Returns the sum of a set of values. Tangent. Hyperbolic tangent. min(x,y) min(x,y,z) rand()
Examples
Poll Always
Description Update rate (milliseconds) to use with the Poll Always option. Scaling type for the alias. 0 = none 1 = linear 2 = square root 3 = gain/offset 4 = expression 5 = calculation
Table 59 - File Import/Export Field Descriptions
Scaling
When the scaling field specifies linear (1) or square root (2) scaling, the line contains the additional fields listed in Table 60. Field High Raw Low Raw High Scaled Low Scaled Clamp options. 0 = none 1 = clamp low value 2 = clamp high value 3 = clamp both high and low values Scaled value range (double-precision real). Description Raw value range (double-precision real).
Clamp
When the scaling field specifies gain/offset (3) scaling, the line contains the additional fields listed in Table 61. Field Gain Offset Description Scaling factor (double-precision real). Scaling offset (double-precision real).
When the scaling field specifies expression (4) scaling, the line contains the additional fields listed in Table 62. Field Input Expression Output Expression Description Simple formula applied to the value read from the OPC item. Simple formula applied to values written to the OPC item. The output formula should be the reciprocal of the input formula.
When the scaling field specifies calculation (5) scaling, the line contains the additional fields listed in Table 63.
125
Description Calculation applied to the value read from the OPC item.
Scaling Algorithms
For each type of scaling, a different algorithm (Table 64) is applied to values read from the OPC item. A reverse algorithm is applied to any values written to the OPC item. Scaling
Linear
Algorithm/Example
x RawLow Scaled High RawHigh Scaled Low RawLow Scaled Low
Reverse Algorithm/Example
x Scaled Low RawHigh Scaled High RawLow Scaled Low RawLow
x RawLow
Scaled Low
x Scaled Low
RawLow
Gain x Offset
x Offset Gain
SQRT(INPUT) + 5
(OUTPUT 5) * (OUTPUT 5)
126
Appendix C
Hex 0000 0002 0003 0004 0005 0006 0007 0008 000A 000B 0011 0012 0013 0014 2002 2003 2004 2005 2006 2007 2008 200A 200B 2011 2012 2013 2014 0 2 3 4 5 6 7 8 10 11 16 17 18 19 8194 8195 8196 8197 8198 8199 8200 8202 8203 8208 8209 8210 8211 Dec
The Standard data types and their descriptions are listed in Table 65.
127
Appendix D
Microsoft Excel can act as both DDE client and DDE server. When using Excel as the client, DDE items can be bound to specific cells in a spreadsheet, creating a read-only hot link to the DDE items. Using Visual Basic, Excel can also be used to transmit (write) the data contained in a specific cell of a spreadsheet to a DDE server.
DDE Read
To perform a DDE Read using Excel, simply enter a DDE Item as a formula in some spreadsheet cell: =SERVICE|TOPIC! NAME Excel will initiate a DDE Advise loop, or hot link, to the topic and item within the service. The DDE Management system (in this case, Windows) will forward any update sent by the DDE service, to the appropriate DDE client (in this case, Microsoft Excel). The DDE service is responsible for update rate/behaviour. To disable a specific hotlink in Excel, use the Links menu option under the Edit menu.
DDE Write
To perform any DDE command other than requests (read) or advise (hot link), a Visual Basic (VB) function must be used. Most DDE commands are available by using the application object. For example, the following function will poke (write) the contents of column 1, row 1 to an item in the OPC Simulation server: Sub WriteToDDE() ' open a DDE channel. Field 1 = SERVICE, Field 2 = TOPIC 'channel = DDEInitiate("matrikon_opc_simulation", "Bucket Brigade.Real4") ' poke to the Item 1000\, the value of cell A1 DDEPoke channel, "1000\", Worksheets("Sheet1").Range("A1") ' close the channel DDETerminate channel End Sub
128
Net DDE
Since DDE commands are routed by the operating system, it is not possible to establish a DDE session between two computers unless some transport mechanism is used. This is usually supplied as a plug-in component of the operating system. In the Windows Environment, the NetDDE Windows Service allows DDE communication between two computers.
NetDDE must first be configured using the DDEShare application (DDEShare.exe) as shown in Figure 66. Each SERVICE and TOPIC pair, or NetDDE Share, that is to be available through NetDDE must be assigned a unique name.
129
DDE service can be enabled or disabled using a checkbox (refer to Advanced Options for more information, including the location of, this checkbox). Note that these options will not be available if the server does not support DDE. Items within the server can be referenced using the following syntax: SERVICE_NAME |ITEM! SCANDETAILS SERVICE_NAME represents the name of the DDE service. The first edit box specifies the service name used by this server. ITEM refers to an Item ID of a point within the server. SCANDETAILS is a combination of the desired scan rate of the item, and an access path. One or more delimiting characters separate the scan rate and access path. The second edit box can be used to change the delimiters. The delimiting characters must be provided when referencing an item in the server. However, the scan rate and access path are optional. If no scan rate is specified, only data contained in the server cache is available through DDE, and an advise loop is not created. Changes to the DDE options do not take effect until the server is restarted. Note: DDE Name Syntax DDE Names may be described in the following syntax: SERVICE|TOPIC|NAME In this case, consider the TOPIC to be the item ID, and the NAME to be a combination of the scan rate and access path.
130
Appendix F
Introduction
Security
The OPC Framework has implemented the OPC Security Customer Interface version 1.0 of the specification. Both the IOPCSecurityNT and IOPCSecurityPrivate interfaces are fully supported (there are no optional pieces). IOPCSecurityNT describes how NT authentication is used in OPC Security. IOPCSecurityPrivate describes how proprietary user credentials are used in OPC Security. The OPC Security specification defines how user credentials are passed from client to server, but very little else. The type of functionality in an OPC server that is controlled by OPC Security is vendor-determined.
Appendix Structure
This appendix is structured as follows: Introduction this introductory section. OPC Security Implementation description of user access dependencies. MatrikonOPC Tag Security Configuration Utility describes the utility that is used to configure security for MatrikonOPC servers. Security Details describes how permissions are applied, how security settings are stored, and other important details.
Identity
Using the IOPCSecurityNT interface for OPC Security, the identity of the OPC client is the domain user that is running the OPC client and connecting to the OPC server. The OPC Framework will attempt to impersonate the client that is connected to the server, and use the name from those credentials for access control. This method does not require any implementation of OPC Security by the OPC client, since no interface calls are necessary. Using the IOPCSecurityPrivate interface for OPC Security, the OPC client must make a call to the OPC server to log on with a user name and password. In this scenario, the OPC client must implement and follow the OPC Security specification in terms of following the calls necessary to provide credentials. The credentials provided through the private interface override those provided from the NT interface. The OPC client may choose to log off, at which point the NT credentials are used until the log on call is made again.
Location
Some of the interface calls made from an OPC client to an OPC server require the client to provide an OPC item ID. The OPC Framework will take the OPC item ID provided, and determine whether access to that location is allowed or not. A particular server installation may want to control access to a particular device or branch in the hierarchy, and is able to do so by setting permissions for a partial item ID or path.
131
Other interface calls do not provide an ID, but may depend on the state of the server with respect to previous calls. OPC Browsing (DA 2.0) is an example of this. In this case, the full path up to that particular location is used for determining access rights.
Type
There are four types of interface functionality in the OPC Framework (specifically the OPC Outer Layer) that are controlled using OPC Security: 1. Browsing 2. Adding items 3. Reading 4. Writing Browsing is the least intrusive, followed by adding items, reading values from the items, and finally writing to the items being the most intrusive. There are multiple interfaces, and functions within those interfaces, that can be used to perform the types of functionality listed above. Thus, security control has been added to each possible entry. For example, read control has been added to group subscriptions call-backs as well as synchronous reads and asynchronous reads denying read control would disable reads for the possible types. A location that is being accessed by an OPC client may have different permissions for the different types of access. For example, one particular item may be browseable, added, and read, but the writing permissions might be restricted so that the user cannot interfere with the operation of the end device. Note: Of the four functionality types listed above, three of them make use of the full OPC item ID when an interface call is made from the client to the server: Adding Items, Reading, or Writing. When browsing, only a partial path leading to an OPC item may be known at any location in the browsing hierarchy.
To run the MatrikonOPC Tag Security Configuration Utility from its shortcut: 1. Click on the Windows Start button. 2. Select Programs -> MatrikonOPC -> <OPC Server Name> ->Tag Security.
After the MatrikonOPC Tag Security Configuration Utility is run: 1. A window appears asking for a password to be entered. This protects the security settings and prevents unauthorized individuals from accessing these settings. For servers that required a security password to be entered during their installation, the Enter server password window (Figure 68) appears.
2. Enter the password created during the installation of the OPC server. Note: The default password provided for you during installation (if you chose to use the default) is MatrikonOPC. 3. Click on the OK button. 4. The MatrikonOPC Tag Security Configuration Utility screen (Figure 69) appears.
133
Layout
The MatrikonOPC Tag Security Configuration Utility screen displays the name of the OPC server that is being configured for tag security. In Figure 69 above, the Utility screen shows that the MatrikonOPC Server for Simulation and Testing tag security is being configured. The left-hand side of the Utility screen shows a column of action icons that can be clicked upon. These actions are further described later in this appendix. Some actions may not be applicable, depending on the context in which they are used, and are identified by greyed-out icons. In the center of the Utility screen there are descriptions for each of the actions that can be performed. The appearance of these descriptions can be toggled at any time by clicking on the Hide Help/Show Help link that exists in the bottom-right corner of the Utility screen. When the Help screen is hidden, a list of users and groups that have been added appears (Figure 70). By default, there is always a user named Everyone in the Users & Groups list. This user defines the permissions used for other NT users that are not configured.
134
Figure 70 - MatrikonOPC Tag Security Configuration Utility Main Screen: Users & Groups
Note: After any action is performed, the changes made do not take effect until either the OK or Apply button has been selected. Clicking on the OK button saves the changes and closes the Utility screen. Clicking on the Apply button saves the changes and keeps the Utility screen open. Clicking on the Cancel button or the X button on the top-right of the screen, discards any changes made.
Add User
There are two types of users for which security can be configured: NT Users and Private Users. Adding a user to the configuration will allow permissions to be defined for that user. For NT users, the IOPCSecurityNT interface is used, and for Private users, the IOPCSecurityPrivate interface is used. NT User To add an NT user: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, click on the Add User button.
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 135
2. The Add User window (Figure 71) appears. The NT User option button is selected by default. This will allow the addition of a user from a Windows NT Domain.
3. By default, the local machine name appears in the From this Location field. To browse to a different location, click the Locations button. 4. The User field can be entered manually. Clicking on the Check Name button performs validation on the entered user. The user names are the same as the Windows NT domain names used on the network. To avoid manually entering a user, click on the Search button, and select a user from the displayed list of users. 5. To add the selected user, click on the OK button. The user is then added to the list of users and/or groups currently defined (refer to Figure 72 for a sample list of defined users and groups). 6. The Edit <Username> window (Figure 77) appears. Follow the instructions in the Edit User section for adding permissions.
136
Private User Private users have names and passwords associated with them, custom to the OPC client application, which must implement the OPC Security Private interface for this section to be meaningful. Private users exist only in the OPC server. They are not created in any NT domains. To add a Private user: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, click on the Add User button. 2. The Add User window (Figure 71) appears. 3. Select the Private User option button (Figure 73).
137
4. In the Username field, enter a user name. 5. In the Password field, enter a password. 6. In the Password Confirmation field, re-enter the new password. 7. Click OK to create the Private user. It will be added to the list of users and/or groups currently defined (refer to Figure 72 for a sample list of defined users and groups). Note: The user name cannot be added if there is already a configured User or Group with that same name.
Add Group
Groups are used to group users together so that they can share common permissions. Groups are not necessary to use OPC Security. However, they are convenient when you need to apply common permissions to multiple users. A group must contain at least one user, and any combination of users can be grouped together. Note: A user can exist in multiple groups, but if two or more of the groups have the same configured path (refer to the Edit User section), and each group defines a permission (Allow/Deny) for the type of access, then the group whose name alphabetically comes first is used. There are two types of groups for which security can be configured: NT Groups and Private Groups. NT Group To add an NT group: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, click on the Add Group button.
138
2. The Add Group window (Figure 74) appears. The NT Group option button is selected by default. This will allow the addition of an NT group from a Windows NT Domain.
3. By default, the local machine name appears in the From this Location field. To browse to a different location, click the Locations button. 4. The Group field can be entered manually. Clicking on the Check Group button performs validation on the entered group. The group names are the same as the Windows NT domain group names used on the network. To avoid manually entering a group, click on the Search button, and select a group from the displayed list of groups. 5. To add the selected group, click on the OK button. The group is then added to the list of users and/or groups currently defined (refer to Figure 72 for a sample list of defined users and groups). 6. The Edit <Groupname> window (Figure 84) appears (for NT Groups, there is only the Permissions tab). Follow the instructions in the Edit Group section for adding permissions. Private Group To add a Private Group: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, click on the Add Group button. 2. The Add Group window (Figure 74) appears. 3. Select the Private Group option button (Figure 75).
139
4. Enter a name for the group to be created. The group is private and will only exist in the OPC server. The group cannot be created if there is already a configured user or group with that same name. 5. Click on the OK button to create the group. It will be added to the list of users and/or groups currently defined (refer to Figure 72 for a sample list of defined users and groups). 6. The Edit <Groupname> window (Figure 84) appears. Follow the instructions in the Edit Group section for adding permissions.
Duplicate
Another way to create a new user or group is to duplicate an existing one. To create a new user or group via duplication: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, right-click your mouse on the user or group you wish to duplicate. 2. From the displayed menu, select Duplicate. 3. The Enter New Name window (Figure 76) appears.
Figure 76 - Enter New Name Window MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 140
4. Enter a name for the new user or group to be created. 5. Click on the OK button. There must not already be a configured user or group with that same name. The new user or group will then appear in the list, and will contain the same properties as the duplicated parent (i.e., original) user or group.
Edit
Once the desired users and/or groups are defined, they must be edited to configure their respective permissions. Note: Permissions can also be defined for the user Everyone, which is defined as the default user. For every NT user not configured in the MatrikonOPC Tag Security Configuration Utility, the user Everyone is used for determining security permissions. Permissions for allowing/denying browsing, adding items, reading items, and writing items can be configured. Permissions are defined for users and groups for a particular location in the servers address space hierarchy. A location can either be a tag (i.e., OPC Item ID) or a path leading up to an item. Edit User To edit a user: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, either: Double-click your mouse on the user you wish to edit, or Right-click your mouse on the required user and select Edit User from the displayed menu, or Click your mouse on the required user, and then select the Edit button. 2. The Edit <Username> window (Figure 77) appears. Notes: In this example, the user being edited is User1 so the windows title reads Edit User1. There are two tabs on this window: Permissions and General. The General tab only appears for private users.
141
Permissions On the Permissions tab, the permissions associated with this user relating to browsing, adding, reading, and writing for any specific paths or OPC items are configured. The Configured Paths screen section lists the paths and/or OPC items for which permissions are defined. The Permissions screen section indicates those permissions with option buttons, which can be set to Allow, Deny, or Unspecified. Selecting Unspecified directs the OPC Framework to look for the permission higher up in the hierarchy. From the Permissions tab, when the Add button is selected, the Add Permission screen is displayed. In the Server Address Space screen section, folders and items are shown as nodes are selected and expanded. Red folders indicate a null branch. This means that the item names below this branch do not contain the branch name, so permissions set on the branch will not reflect on Add, Write, and Read permissions for the items below the branch. To properly set permissions on the items below the branch, they have to be set on the items themselves. Figure 78 provides an example of a null branch and items below it, all of which are outlined in black.
142
When browsing, using the example in the diagram above, Simulation Items is a null branch (identified by the red folder), Saw-toothed Waves is a non-null branch, and Int1 is an item. Setting permissions on the Simulation Items branch does not affect Read, Write, and Add permissions for the Saw-toothed Waves branch of the Int1 item below that. This is because when adding the Int1 item, the item ID of the Int1 item is actually Saw-toothed Waves.Int1 and not Simulation Items\Saw-toothed Waves.Int1. Setting Read, Write, and Add permissions for the Saw-toothed Waves branch will affect the items below as Saw-toothed Waves is part of the item ID of the Int1 item (Saw-toothed Waves.Int1), and therefore the Saw-toothed Waves folder does not appear as a red folder like the Simulation Items folder does. Note: User permissions override group permissions. For example, if a defined group is denied writing privileges to an OPC item, Random.Int4, while a defined user (a member of that group) is allowed writing privilege to Random items (Random.<itemID>), then the user permissions would take precedence for that OPC item (even though the permissions relating to the group are a better match for the OPC item, Random.Int4). To edit a users permissions: 1. Click on the Add button to begin configuring permissions for the current user. 2. The Add User Permission window (Figure 79) appears. This window allows you to browse the OPC server address space to find either a path in the hierarchy, or a particular OPC item.
143
3. Expand on the server address spaces root node and continue to browse to the desired path in the hierarchy, or the desired OPC item. Note: Branches (i.e., folders) that are red in colour (see Figure 80) are not part of an items path, but rather are used for browsing organization. Configuring permissions for adding, reading, and writing will not affect items below it. For more information, refer to Permissions.
144
4. Click on the OK button. 5. The selected path or item will be listed in the Configured Paths screen section of the Edit User window. Permissions can now be assigned, as in the example depicted in Figure 81. Note: In this example, User1 is allowed to browse the Random path of the OPC servers address space. Adding privileges are denied, and Reading and Writing privileges are unspecified.
145
On the General tab (Figure 82) of the Edit <Username> window, the name and password of the user can be changed. To edit a users name: 1. Enter a new name in the Name field. 2. Click on the OK button.
146
To change the users password: 1. Click on the Reset Password button. The Reset Password window (Figure 83) appears.
2. Enter the new password in the Password field. 3. Re-enter the password in the Password Confirmation field. 4. Click on the OK button.
147
Edit Group To edit a group: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, either: Double-click your mouse on the group you wish to edit, or Right-click your mouse on the required group and select Edit Group from the displayed menu, or Click your mouse on the required group and then select the Edit button. 2. The Edit <Groupname> window (Figure 84) appears. Notes: In this example, the group being edited is Group1 so the windows title reads Edit Group1. For Private Groups, there are three tabs on this window: Permissions, General, and Members. For NT Groups, there is only the Permissions tab.
On the Permissions tab, the permissions associated with this group relating to browsing, adding, reading, and writing for any specific paths or OPC items are configured. Refer to the Edit User section regarding configuration on the Permissions tab. Group and user permissions are configured in the same way.
148
On the General tab (Figure 85) of the Edit <Groupname> window, the name of the group can be changed. To edit a groups name: 1. Enter a new name in the Name field. 2. Click on the OK button.
On the Members tab (Figure 86), the users that are part of the current group are defined. By default, the Group Members screen section is empty. In Figure 86, User1 has been added to Group1.
149
To add one or more members to the group: 1. Click on the Add button. The Add Existing User window (Figure 87) appears.
150
2. The Members screen section lists all the defined users from which you may choose. Select one or more desired users to become members of the group. 3. Click on the OK button. The selected user or users appear in the Group Members screen section on the Members tab (Figure 86). To remove a user from the group: 1. Select that user in the Group Members screen section. 2. Click on the Remove button. Notes: If a user name and a group name (to which the user belongs) have permissions defined for the same location, the user name will be used. If a user belongs to two groups that have permissions defined for the same location, the group that is alphabetically first will be used. The exact location (full item ID for reading, writing, and adding, or the full path for browsing) is always looked for first when determining the permission for a particular user. If the exact location is not found, or is found but does not contain a defined permission, then the closest match in location is looked at next, and so on. The root location (i.e., empty string) will always match, and is used if no partial location match is made.
Delete
To delete a previously added user or group: 1. From the MatrikonOPC Tag Security Configuration Utility main screen, either: Select the required user or group from the list and click on the Delete button (Figure 72), or
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 151
For a group, right-click your mouse on the required group and select Delete Group from the displayed menu, or For a user, right-click your mouse on the required user and select Delete User from the displayed menu
Change Password
To change the security password for the OPC server: 1. From the MatrikonOPC Security Configuration Utility main screen, click on the Change Password button (Figure 69). 2. The Change Password window (Figure 88) appears.
3. Enter the old password for the current OPC server. 4. Enter and confirm the desired new password. 5. Click on the OK button. Note: Changes are applied in the Utility main window by clicking on either the OK or Apply button.
Examples
This section contains examples of tag security settings made via the MatrikonOPC Tag Security Configuration Utility, and the impact of these settings. Default The default tag security configuration provided is quite simplistic as is shown in Table 66: User/Group Everyone \ Configured Paths Browse Allow
Table 66 - Default Tag Security
Add Allow
Read Allow
Write Allow
As no users or groups are defined, any NT user connecting to the OPC server will use the Everyone default user for permissions. Only the root level location is defined under the Configured Paths list, which gives full permissions to the entire OPC server. An administrator will want to change these default settings for the OPC server to provide more security on its tags.
152
Example 1 Table 67 contains a possible tag security configuration enforces complete restricted access except for the NT user DOMAIN\Admin: User/Group Everyone DOMAIN\Admin \ \
Table 67 - Example 1
Configured Paths
At this point, more users can be added which belong to a more restricted group. This group may be denied write capability or restricted to certain areas in the server hierarchy. Example 2 Following is an example of a tag security configuration for the MatrikonOPC Server for Simulation and Testing, with sample use-cases. Table 68 lists all defined users and groups and their associated permissions. Table 69 indicates which users are members of the defined groups. Unspec. permission indicates Unspecified. Groups in this example are Private Groups. User/Group Everyone Everyone DOMAIN\john.doe DOMAIN\fred.stone DOMAIN\sally.simpson DOMAIN\the.admin Supervisor Restricted (group) Common (group) Common (group) Admin (group) Admin (group) \ Triangle Waves \ Bucket Brigade.Int4 Allow Deny Allow Unspec. Allow Deny Allow Unspec. Allow Deny Allow Unspec. Deny Deny Allow Deny \ Deny Allow Allow Deny \ Configured Aliases Configured Paths Browse Allow Deny Add Deny Unspec. Read Deny Unspec. Write Deny Unspec.
Adding a user name and not defining any permissions for that user name (or any group it belongs to), will completely restrict their access to information in the OPC server.
153
Case 1 User DOMAIN\john.doe connects. The user is unable to perform any function at any level, since no permissions have been defined for this user name or the Restricted group to which it belongs. Tip 2 Use the root location to define permissions for locations that have not been defined. Use the default user to define permissions for users that are not listed. Case 2 User DOMAIN\no.name connects. This name is not defined so the default user permissions are used. At the root level location, the default user can browse but no more. The only other location where permissions are defined for the default user is Configured Aliases here browsing is denied and adding, reading, and writing permissions are not defined. Thus, DOMAIN\no.name will be able to browse the entire server except the Configured Aliases branch and all aliases under it. Also, DOMAIN\no.name will not be able to do any item addition, reading, or writing. Since item addition, reading, and writing permissions were not defined for the default user for under Configured Aliases, it would use the permissions defined at the root level. Case 3 User DOMAIN\fred.stone connects. This user belongs to the defined group Common. At the root level, the group Common can browse, add, and read items, but writing is denied. The only other location which defines permissions for this group is Triangle Waves. This location has denied all permissions for the Common group. Case 4 User Supervisor connects through the private security interface and logs on. This user does not belong to any group, but its name has a root level permission which allows it to add and read items. No other locations have permissions defined. Since the user cannot browse, it will need to know the item syntax for any items it wishes to add and read. Case 5 User DOMAIN\the.admin connects. This user belongs to the Admin group, which at the root level has all permissions allowed. The only other location where the Admin group has permissions defined, is the full item ID Bucket Brigade.Int4. This user is unable to write to that item. However, the root permissions for browsing, adding, and reading the item apply as they are not defined at this level.
Security Details
ACL File
The permissions that the MatrikonOPC Tag Security Configuration Utility creates are stored in a file named ACL.sec that is located in the same directory as the MatrikonOPC server executable: C:\Program Files\Matrikon\OPC\< OPC Server Name >\. ACL.sec is encrypted with 256-bit AES using the password key that was provided during installation (or changed in the security utility). While the server is running, if the ACL.sec file is moved or deleted from its location above, security functions as it did before the file was moved. If the server is re-started with the ACL.sec file missing, no users will have permissions to do anything (i.e., browsing, adding, reading, writing) and must re-configure their security settings. Note: It is advised that this file is backed up and stored somewhere safe, once tag security configuration has been completed. In the event that this file is lost or deleted by accident, simply
MatrikonOPC Server for Siemens PLCs v1.3.0 Users Manual 154
transfer the stored backup (if one was made) to the directory stated above. If ACL.sec becomes deleted and no backup was made, tag security will need to be re-configured.
Determining Permission
Whenever a browsing, item addition, read, or write operation is performed by the OPC client, the OPC Framework will call a permission routine to determine if permission is allowed or denied. Three pieces of information are always sent to this routine call: 1. Identity 2. Location 3. Type Identity is the user name described in the previous section either the NT domain name, a private name, or the default user Everyone. In addition, identity includes any groups (private or NT) that the user belongs to. Location is either the full item ID or a partial path in the server hierarchy. Type is the access type: browsing, item addition, reading, or writing. Each piece of information is checked in the order listed above. The following information details the procedure used in determining permission rights:
155
1. Look for a permission match with the NT domain name or private name. This step occurs only if the NT domain name or private name has been defined in the Users & Groups list. 2. If a permission match was not yet found, look for one using each group defined in the Users & Groups list that the NT domain name or private name belongs to. The first group that contains a permission match will be the one used. An NT domain name does not need to be defined in the Users & Groups list for a group it belongs to, to have a permission match. The NT domain name must be part of Group Members for private groups, or in the Active Directory for NT groups. 3. If a permission match was not yet found, look for a permission match using the default user Everyone. The procedure used in finding a permission match for a particular identity is as follows: 1. Check whether the exact location is found in the Configured Paths list for the identity. If found: a. Check whether the permission type (browse, add, read, or write) is specified (Figure 81). If the permission type is specified for the action being performed, a match is found and the permission (either allow or deny) is used. 2. If a permission match was not found in step 1a, check whether a partial match of the location is found in the Configured Paths list for the identity. A partial match is always a sub-string of the given location that starts with the same characters. This represents starting from the root location and moving down the browsing hierarchy. For example, the location Random is a partial match of the full item ID Random.String. However, String is not a partial match (even if it is a sub-string) because it does not match the first seven characters. The root location \ is considered a partial match for every full item ID. For each partial match from step 2, apply step 1a. The best partial match (i.e., the one that has the most characters) that is successful in step 1a is the one whose permission is used. Example The following is an example of a tag security configuration. Table 70 lists all defined users and their associated permissions. User/Group Everyone DOMAIN\john.doe DOMAIN\john.doe DOMAIN\john.doe \ Random Random.Int Allow Allow Allow Allow Deny Allow Allow Deny Allow Allow Deny Allow Configured Paths Browse Add Read Write
The user DOMAIN\john.doe wants to read the item Random.Int4. The permission routine would not be able to find an exact location match under the Configured Paths list. However, it would loop through each partial match in the Configured Paths list looking for a defined permission. The location Random.Int would be the closest match and the permission would be ALLOW. The user DOMAIN\john.doe wants to read the item Random.Real4. The permission routine would not be able to find an exact location match under the Configured Paths list. However, it would loop through each partial match in the Configured Paths list looking for a defined permission. The location Random would be the closest match and the permission would be DENY.
156
Appendix G
Introduction
Offline Mode
Offline mode allows the MatrikonOPC Server Framework to be disconnected to the end device, but still return data as if the date was coming from it. This is useful in two situations: 1. A configuration can be set up with to interact with any hardware, allowing any problems in the configuration to be worked out without having them affect the device. 2. Diagnosing problems becomes much simpler when an implementer can remove the device hardware from the architecture. Offline mode can be applied to the entire configuration of a MatrikonOPC server or to a portion of it.
157
Behaviour
Operational Effects
When offline mode is enabled at a particular location in a servers hierarchy, there is no communication between the server and the end-device/application to which the location refers. Note: Some servers allow communication to multiple devices/applications. To ensure there is no communication in the entire server, offline mode should be enabled at the root level. To ensure that there is no communication when offline mode is enabled, the MatrikonOPC Server Framework will disable the object associated with that branch. When an object is disabled due to offline mode, the Enabled checkbox will be cleared (i.e., unselected) in its panel within the configuration utility. Enabling the object will have no effect while the object has offline mode enabled. When offline mode is disabled for that particular object, the MatrikonOPC Server Framework will re-enable it and the Enabled checkbox will be selected (i.e., checked) once again.
158
Appendix H
Installation
Note: As part of the installation process, the MatrikonOPC Analyzer tool is installed and used to detect the system settings that affect the use of this software. No information is communicated back to Matrikon. Information is stored on this system only for future use by MatrikonOPC Support to assist with troubleshooting, if required.
Once the system requirements have been met, you are ready to install the software.
To install the software: 1. Insert the MatrikonOPC Server for Siemens PLCs CD into the CD drive. 2. If the MatrikonOPC InstallAware screen does not automatically appear, double-click the installation .exe file. The MatrikonOPC Server InstallAware Wizard verifies its contents (Figure 89).
3. Either a Pre-Requisites screen (Figure 90) appears, or you are taken directly to the Licensing Agreement (Figure 91) screen. If the Licensing Agreement screen is the displayed screen, go to step 5. 4. If the Pre-Requisites screen appears, then click on the Next button to install the listed pre-requisites.
159
5. After all pre-requisites have been installed, the License Agreement screen (Figure 91) appears. Note: From the License Agreement screen, you have the option of selecting the I reject the license agreement option. Selecting the I reject the license agreement option button disables the Next button so your options are to return to the previous screen, cancel the install by clicking on the Cancel button, or select the I accept the license agreement option button enabling you to proceed through the install.
160
6. Read the Software License Agreement, using the scroll bar to view the entire message. 7. Select the I accept the license agreement option button. 8. Click on the Next button. The Setup Type screen (Figure 92) appears.
161
9. Select the type of setup to be performed. Note: Matrikon recommends that you select the Complete Setup option. 10. Click on the Next button. The Destination Folder screen (Figure 93) appears.
162
11. Select the folder in which to install the MatrikonOPC server, or accept the default location displayed in the Folder path field. 12. Click on the Next button. The Start Menu screen (Figure 94) appears.
163
13. Select the Start Menu group and specify whether you want shortcuts created only for yourself, or for all users, by selecting the applicable option button. 14. Click on the Next button. The Enter Password screen (Figure 95) appears.
164
15. A default password is supplied for you in the Password and Confirm Password fields. Notes: The default password provided for you is MatrikonOPC. Note this password for future reference. If you need to change the password at a later date, access the Tag Security shortcut from the Start menu. Click on the Windows Start button. Select Programs -> MatrikonOPC -> <OPC Server Name> -> Tag Security. For more information, refer to Appendix F Security. 16. Click on the Next button to accept the default password. The Licensing screen (Figure 96) appears.
165
17. Select the applicable licensing option. 18. Click on the Next button. The Ready to Install screen (Figure 97) appears.
166
19. Click on the Next button. The Installing MatrikonOPC Server for Siemens PLCs screen (Figure 98) appears, installation begins, and the product files are copied to the computer. Note: Prior to starting the installation, you have the option of clicking on the Back button to change any of the installation information. Click on the Cancel button if you wish to stop or cancel the installation.
167
20. When the installation has finished, the MatrikonOPC Server for Siemens PLCs Setup Complete screen (Figure 99) appears stating that the MatrikonOPC server has been successfully installed.
168
21. At this point, you have the option of launching any or all of the following by selecting the necessary checkbox or checkboxes: Configuration panel Release Notes Users Manual 22. Click on the Finish button to complete the installation and exit the Wizard. 23. The necessary files have now been copied to the target computer, the software components are registered, and shortcut icons are created in the Start menu. Note: At this point, it is recommended that you verify the DCOM settings. Reference to the DCOM configuration can be found in the DCOM Manual. This configuration varies for different operating systems.
169
Appendix I
Installed Files
The installation program copies all necessary files to the target computer and creates shortcut icons in the Start menu. For information on files not specific to the server that are installed on the system, please refer the MatrikonOPC Server Users Manual. The files specific to this server, listed in Table 72, are installed by default in the following location: C:\Program Files\Matrikon\OPC\SiemensPLC File Name ACL.sec ACLSecure.exe Altova.dll AltovaXML.dll CalcEngine.dll CalcEngineResource.dll CalcEngineServerPS.dll CalcEngineWrapper.dll CalculationGraph.dll clipsdll.dll dbghelp.dll icudt40.dll icuin40.dll icuuc40.dll log4cxx.dll lsapiw32.dll NetPortalQueryServerPS.dll ProcessNetDataDelivery_u.dll RmsApiProxy.dll Scheduler.dll ScriptLibrary.dll Xerces-c_2_8.dll Licensing Procedures.pdf OPCSiemensPLC.exe OPCSrvSiemensPLCWizard.exe MatrikonOPC Server for Siemens PLCs Release Notes.pdf MatrikonOPC Server for Siemens PLCs User Manual.pdf ProgID.txt PSTCFGMPILib.ocx Description Access control list containing users and permissions configured for the server. Command-line security utility used to encrypt/decrypt the ACL file.
Licensing Procedures document. MatrikonOPC Siemens PLCs executable. Siemens PLC configuration wizard. Release Notes for this product. This Users Manual. Security information file used by the encryption utility. ActiveX configuration panels.
170
Description ActiveX configuration panels. ActiveX configuration panels. ActiveX configuration panels. Security settings. The initialization file for recording the servers initial settings. Siemens Step 7 Symbol Import utility.
Table 72 - Files Installed in "SiemensPLC" Folder
The files listed in Table 73 are installed by default, in the following location: C:\Program Files\Common Files\MatrikonOPC\Common File Name OPCAnalyzer Logs\ ACLConfig.exe EULA.pdf OEM_Matrikon_OPC.dll OPCAuto.dll opcda20_auto.doc OPCDAAuto.dll opchda10_auto.doc opchda_ps.dll Description Logs generated by MatrikonOPC Analyzer. MatrikonOPC Tag Security Configuration Utility that configures taglevel security in MatrikonOPC servers. License document. MatrikonOPC OEM Badge Library. MatrikonOPC Automation Component enables developers to access OPC data from client applications developed using Automation tools such as Visual Basic, VBA, and VB Script. MatrikonOPC Automation Component Interface Standard MatrikonOPC Automation Component enables developers to access OPC data from client applications developed using Automation tools such as Visual Basic, VBA, and VB Script. Developer documentation for the HDA Automation Component. The proxy-stub file to allow OPC Clients to make remote connections to an OPC HDA server. MatrikonOPC HDA Automation Component enables developers to access OPC HDA data from client applications developed using Automation tools. Matrikon Product Configuration Utility. Server ActiveX configuration panel. Matrikon Product Configuration Marshalling Library. Matrikon Product Configuration Library.
Table 73 - Files Installed in "Common" Folder
The files listed in Table 74 are installed in the WINDOWS\system32 folder: File Name EXPREVAL.DLL Description Expression Evaluation Library for Alias Equations.
171
File Name OPC_AEPS.DLL OPCBC_PS.DLL OPCCOMN_PS.DLL OPCDXPS.DLL OPCENUM.EXE OPCHDA_PS.dll OPCPROXY.DLL OPCSEC_PS.DLL ACTXPRXY.DLL
Description OPC Alarms and Events 1.0 Interfaces Marshalling Library. OPC Batch Custom 2.00 Proxy/Stub Library. OPC Common Interfaces and Marshalling Library. OPC Data eXchange 1.00 Proxy/Stub Library. OPC Server List Component. OPC Historical Data Access 1.20 Proxy/Stub Library. OPC Data Access 2.0 and 1.0a Interfaces and Marshalling Library. OPC Security 1.00 Proxy/Stub Library. ActiveX Interface Marshalling Library.
Table 74 - Files Installed in "system32" Folder
172
Appendix J
Un-Installation
To successfully un-install MatrikonOPC Server for Siemens PLCs, using the Add or Remove Programs from the Microsoft Windows Control Panel is recommended. To un-install MatrikonOPC Server for Siemens PLCs: 1. Click on the Start button and highlight the Control Panel item. 2. From the displayed menu, select Add or Remove Programs. 3. The Add or Remove Programs window (Figure 100) is displayed. 4. Scroll through the list of currently installed programs and updates to find and select MatrikonOPC Server for Siemens PLCs.
5. Click on the Remove button associated with the MatrikonOPC Server for Siemens PLCs program to initiate the un-install process. 6. The MatrikonOPC Server for Siemens PLCs InstallAware Wizard appears, and the Welcome to MatrikonOPC Server for Siemens PLCs Maintenance screen (Figure 101) is displayed.
173
Figure 101 - Welcome to MatrikonOPC Server for Siemens PLCs Maintenance Screen
7. Select the Remove option button to un-install MatrikonOPC Server for Siemens PLCs entirely. 8. Click on the Next button. The Ready to Uninstall screen (Figure 102) is displayed.
174
9. Click on the Next button. 10. The Uninstalling MatrikonOPC Server for Siemens PLCs screen (Figure 103) appears and the un-install takes place.
175
11. When the un-install has finished, the MatrikonOPC Server for Siemens PLCs Setup Complete screen (Figure 104) appears stating that MatrikonOPC Server for Siemens PLCs was successfully un-installed.
176
Figure 104 - MatrikonOPC Server for Siemens PLCs Setup Complete Screen
12. Click on the Finish button to complete the un-install and exit the Wizard. 13. The program no longer appears listed in the Add or Remove Programs window.
177