siemens simatic net interface to the pi...
TRANSCRIPT
Siemens SIMATIC NETInterface to the PI System
For S5, TI-505 Series PLCs and PCS
Version 1.4.2Document Revision A
How to Contact Us
Phone (510) 297-5800 (main number)(510) 297-5828 (technical support)
Fax (510) 357-8136
E-mail [email protected]
World Wide Web http://www.osisoft.com
Mail OSIsoftP.O. Box 727San Leandro, CA 94577-0427USA
OSI Software GmbH Hauptstrae 30 D-63674 Altenstadt 1Deutschland
OSI Software, LtdP O Box 8256Symonds StreetAuckland 1035 New Zealand
OSI Software, Asia Pte Ltd152 Beach Road#09-06 Gateway EastSingapore, 189721
Unpublished -- rights reserved under the copyright laws of the United States.RESTRICTED RIGHTS LEGEND
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013
Trademark statement—PI is a registered trademark of OSI Software, Inc. Microsoft Windows, Microsoft Windows for Workgroups, and Microsoft NT are registered trademarks of Microsoft Corporation. Solaris is a registered trademark of Sun Microsystems. HP-UX is a registered trademark of Hewlett Packard Corp.. IBM AIX RS/6000 is a registered trademark of the IBM Corporation. DUX, DEC VAX
and DEC Alpha are registered trademarks of the Digital Equipment Corporation.PI_ssimaticnet.doc
1997 - 2002 OSI Software, Inc. All rights reserved777 Davis Street, Suite 250, San Leandro, CA 94577
Table of Contents
Introduction....................................................................................................................1Reference Manuals......................................................................................................2
Supported Features......................................................................................................3
Diagram of Hardware Connection................................................................................6
Principles of Operation.................................................................................................7
Installation Checklist.....................................................................................................9
Pre-installation Procedures........................................................................................11Install Siemens Library Software................................................................................11
Configuration Files.....................................................................................................11
The Windows NT Control Panel.................................................................................12
The COML1413 Setup Program.................................................................................12
S5 vs. TI-505 Connections.........................................................................................13
Interface Installation....................................................................................................15Naming Conventions and Requirements....................................................................15
Microsoft DLLs............................................................................................................16
Interface Directories...................................................................................................16
Interface Installation Procedure..................................................................................17
Installing the Interface as an NT Service....................................................................17
Digital States................................................................................................................21
PointSource..................................................................................................................23
PI Point Configuration.................................................................................................25Point Attributes...........................................................................................................25
Output Points..............................................................................................................34
Tag Configuration for PCS Systems..........................................................................37
Performance.................................................................................................................41Interface Performance................................................................................................41
Multiple Copies of the Interface..................................................................................41
Siemens SIMATIC NET Interface to the PI System iii
Performance Point Configuration...............................................................................42
I/O Rate Tag Configuration..........................................................................................45Monitoring I/O Rates on the Interface Node...............................................................45
Configuring I/O Rate Tags with PI-ICU (NT-Intel).......................................................45
Configuring I/O Rate Tags Manually..........................................................................46
Startup Command File.................................................................................................49Command-Line Parameters.......................................................................................52
Sample Sinet5.bat File...............................................................................................59
Interface Node Clock...................................................................................................61
Security.........................................................................................................................63
Starting / Stopping the Interface.................................................................................65Starting Interface as a Service...................................................................................65
Stopping Interface Running as a Service...................................................................65
Buffering.......................................................................................................................67Configuring Buffering with PI-ICU (NT-Intel)...............................................................67
Configuring Buffering Manually..................................................................................70
Example piclient.ini File..............................................................................................71
Appendix A Error and Informational Messages........................................................73General.......................................................................................................................73
PIPC.log File..............................................................................................................73
Interface-specific Log File..........................................................................................73
Troubleshooting..........................................................................................................74
System Errors and PI Errors.......................................................................................75
Appendix B: Hints for the System Manager..............................................................77
Appendix C Test Environment....................................................................................81
Appendix D Native TCP/IP, RFC1006 TCP/IP, and H1...............................................83TI505 PLCs................................................................................................................83
S5 and S7 PLCs.........................................................................................................83
Appendix E Supported Data Types for Simatic TI-505 PLCs...................................85
Appendix F Output Tag Configuration Examples.....................................................89Individual Writes.........................................................................................................89
Block Write Example..................................................................................................90
Siemens SIMATIC NET Interface to the PI System iv
Appendix G Tracing Send/Receive Messages..........................................................93
Appendix H ISO/OSI Reference Model.......................................................................97
Appendix I Configuring a Second Ethernet Card......................................................99
Revision History...........................................................................................................129
Siemens SIMATIC NET Interface to the PI System v
IntroductionThe SIEMENS SIMATIC NET TI-505 Interface to the PI System runs under Windows NT Server or Workstation, Intel Platform.
The interface transfers data between the Plant Information (PI) System and
TI-505 Series PLC
S5 Series PLC
Although the interface manual refers to Softnet-S7 software libraries, the interface does not support S7 PLCs. The “7” in the Softnet-S7 library name refers to the 7 layers in the ISO/OSI reference model (see Appendix D). However, the SIEMENS SIMATIC NET TI-505 Interface to the PI System only utilizes the first 4 layers in the ISO/OSI reference model. That is, the interface is said to communicate via the so-called read/write protocol, which utilizes only the first 4 layers of the ISO/OSI reference model.
The read/write protocol allows the interface to read from and write to specific memory locations in S5 and TI-505 PLCs. Since the read/write protocol only utilizes the first 4 layers of the ISO/OSI model, report by exception is not supported by the interface. In other words, the interface must poll the TI-505 or S5 PLCs to get data. One advantage of using only the first 4 layers of the ISO/OSI model is that a wide range of PLCs support the 4-layer model. Even those PLCs that support the 7-layer model require programming before they support report by exception. The read/write protocol was chosen for its portability.
There are several references to the Siemens PCS in this manual. To clarify, this interface does not communicate to the Siemens PCS. The interface can merely read an install.tag file that can be downloaded from the Siemens PCS. The interface communicates directly to S5 PLCs or TI-505 PLCs.
Note: The current version of the interface went through limited tests of data types for the S5 Series PLC. See section "PI Point Configuration" later in this manual for supported data types. A customer who requires additional data type support must be prepared for onsite tests.
SINEC AP and SINEC TF are not supported.
TI-505 Series PLCs (Supported)TI-505 PLCs have either TI-545 or TI-555 communications processor units (CPUs) associated with them. Both 545 and 555 CPUs are supported by this interface. Any PLC or CPU with a name of the form TI-5X5 is part of the TI-505 series PLCs and should be supported by this interface.
TI-500 Series PLCs (Not Supported)The TI-505 series PLCs are distinctly different from the TI-500 series PLCs, which are not supported by this interface. The TI-500 series PLCs have names of the form TI-5X0. For example, TI-520 and TI-530 PLCs are part of the TI-500 series and are
Siemens SIMATIC NET Interface to the PI System 1
not supported. The communications processors associated with TI-500 series PLCs have names of the form TI-5X0c, such as TI-520c and TI-530c (also not supported).
Even though TI-500 series PLCs are not supported by this interface, it is worthwhile to discuss them a bit further, owing to the large amount of confusion surrounding this product-line. TI-500 series PLCs communicate via NITP (non-intelligent terminal protocol) or TBP (transparent byte protocol). One method of communicating to these PLCs is with a Task Code Driver that can communicate via NITP or TBP. OSI does not have such a task code driver. However, TI-500 series PLCs also can communicate to a TIWAY driver, and OSI does have a TIWAY interface. If a TIWAY NIM (network interface module) is set up, OSI’s TIWAY interface should be able to communicate to TI-500 series PLCs.
TI-305 and TI-405 Series PLCs (Not Supported)TI-305 and TI-405 PLCs are also a source of confusion. The Siemens Simatic Net Interface does not communicate to TI-305 or TI-405 PLCs, but they are still worth discussing. Siemens no longer supports these PLCs. TI-305 PLCs use either TI-330 or TI-335 communication processor units (CPUs). TI-405 PLCs use TI-435 CPUs. (There are probably other 400 series CPUs.) Both TI-305 and TI-405 PLCs communicate via the Hostlink protocol across a serial line. Hostlink is a publicly published protocol. OSI does not have an interface that communicates via Hostlink. More information can be obtained about the Hostlink protocol from Siemens manual number 305-8102.
Reference Manuals
OSIsoft UniInt End User Document
PI Data Archive Manual
PI-API Installation Instructions
SiemensThese manual describe the protocols in detail:
SINEC CP 143 mit COM 143 Bestell-Nr. 6GK1970-1AB43-0AA0
SIMATIC NET SEND/RECEIVE-Programmierschnittstelle
Supported FeaturesFeature Support
Part Number PI-IN-SI-SIMAT-NTI
Platforms NTI
PI Point Types Int16, Int32, float16, float32, string, digital
Sub-Second Timestamps No
Siemens SIMATIC NET Interface to the PI System 2
Feature Support
Sub-Second Scan Classes No
Automatically Incorporates PI Point Attribute Changes
Yes
Exception Reporting Yes
* Outputs from PI Yes (See below for S5)
Inputs to PI: Scan-Based / Unsolicited / Event Tags
Scan-based / Event Tags
Maximum Point Count Unlimited
Uses PI-SDK Yes
String Support Only for S5
* Source of Timestamps PI-Server/API
History Recovery Yes / No
Failover No
* UniInt-Based Yes
* Vendor Software Required on PI-API / PINet Node
Yes
* Vendor Software Required on Foreign Device
Yes
* Vendor Hardware Required Yes
Additional PI Software Included with Interface
No
* Device Point Types TI-505 - Int16, Int32, Float32, Boolean
S5 – Dword (32 bit), Byte (8 bit) and, Word (16 bit)
Configuration Data Half automatic for TI-505 Systems
Multiple Links Yes
* See paragraphs below for further explanation.
Source of TimestampsThe source of timestamps is configurable by setting the /time command-line parameter in the .bat file /time=SERVER (recommended) or the API node local time /time=LOCAL.
OutputsOutputs are not tested for S5 yet and not implemented for Siemens S5 floating-point numbers. Please contact OSI SOFTWARE GmbH for further information.
Siemens SIMATIC NET Interface to the PI System 3
Introduction
UniInt-BasedUniInt stands for Universal Interface. UniInt is not a separate product or file; it is an OSIsoft-developed template used by our developers, and is integrated into many interfaces, such as the SIEMENS SIMATIC NET TI-505 interface. The purpose of UniInt is to keep a consistent feature set and behavior across as many of our interfaces as possible. It also allows for the very rapid development of new interfaces. In any UniInt-based interface, the interface uses some of the UniInt-supplied configuration parameters and some interface-specific parameters. UniInt is constantly being upgraded with new options and features.
The UniInt End User Document is a supplement to this manual.
Vendor Hardware and Software RequiredThe Communications Processors (CP) and the library are not part of this PI interface. They can be purchased from SIEMENS.
Supported Scenarios
System Network Remote CP Host CP(Hardware on interface node)
Library(Software on interface node)
TI-505 Series
H1 CP 1434 TFPPX:505-CP1434TF
CP 1413 (ISA)6GK1 141-3RB01
TF-14136GK1701-1TBxx-3AA0
CP 1613 (PCI)6GK1161-3AA00
TF-16136GK1716-1TBxx-3AA0
Windows NT compatible Ethernet Card
SOFTNET-S7 Basic6GK1704-1CWxx-3AA0
SOFTNET-S7 Extended6GK1704-1CXxx-3AA0
S5 H1 CP 1430 TF6GK1 143-0TA01
CP 1413 (ISA)6GK1 141-3RB01
TF-14136GK1701-1TBxx-3AA0
CP 1613 (PCI)6GK1161-3AA00
TF-16136GK1716-1TBxx-3AA0
Windows NT compatible Ethernet Card
SOFTNET-S7 Basic6GK1704-1CWxx-3AA0
SOFTNET-S7 Extended6GK1704-1CXxx-3AA0
PCS H1 TI-505/H1 TI-505/H1 TI-505/H1
4
The currently recommended hardware on the interface node is a CP-1613 communications processor. The CP-1613 is the replacement of the CP-1413, which is being phased out by Siemens. The throughput of the new CP-1613 is about 10 times faster than the old CP-1413 because the CP-1613 uses a PCI bus instead of an ISA bus. The TF-1613 software libraries come pre-installed on the CP-1613. This means that the TF-1613 software libraries do not need to be separately installed on the interface node if the CP-1613 processor is used.
While the CP-1413 was being phased out and before the CP-1613 was released, OSI was recommending that the SOFTNET-S7 (basic or extended) software be installed on the interface node in conjunction with a standard Windows NT-compatible Ethernet card. Although the difference in speed is not as great as between the CP-1413 and CP-1613, the CP-1613 processor is faster than the SOFTNET-S7/Ethernet Card combination. This is because the CP-1613 card, unlike the Ethernet card, has a built-in processor that can be used to process incoming transactions. With SOFTNET-S7, the CPU of the personal computer must process the incoming transactions.
Using a CP-1413 or CP-1613 is referred to as using “Hardnet.” Using SOFTNET-S7 in conjunction with a standard Windows NT-compatible Ethernet card is referred to as using “Softnet.”
Device Point TypesFor the S5 PLC, see the description of the PLCSIG keyword under the description of the Extended Descriptor attribute above.
For the TI-505 PLC, the following applies to input points (Location5=0). When an input point has a PI point type of R, the interface assumes that the PLC stores its values according to standard TF Encodings (see Appendix A). For example, the interface will assume that variables in V memory are stored in Integer16 format. Likewise, the interface assumes that variables in V. or VF memory are stored in floating-point format. Hence if all of the memory types that are being read from the PLC are stored according to the standard TF Encodings given in Appendix A, then one can safely use a point type of R for all PI Points and all values should be read correctly into PI.
However, not all variables are stored according to their standard TF Encoding. Namely, variables stored in V. or VF memory are sometimes stored in Integer32 format instead of in floating point format. For this reason, when an input point has a PI point type of I or D, the interface always assumes that the target variable is stored as an integer. Hence, one can define a PI point of type I or D and read an Integer32 from V. or VF memory.
Siemens SIMATIC NET Interface to the PI System 5
Introduction
Diagram of Hardware Connection
6
Principles of OperationFor each group of tags (Location 1 parameter) a separate interface process must be started (/id=Location1).
At startup, the Interface checks all command-line parameters. If one of them is out of range, the interface generates an error-message and stops. If the parameters are all correct, the interface runs through initialization. The first step is to open a connection to the PI Server in order to be able to retrieve necessary tag information. The interface has to make a login for security reasons. The interface supports 3 methods of logging into the PI Server:
1. If the interface runs on the PI Server, it can be started using /hosts=localhost and will not need an additional password. It uses the standard proxy account on the server.
2. The administrator sets up a proxy account for the interface computer and /host=hostname will lead to read/write privileges for the interface.
3. The interface attempts a logon under the “piadmin” account and will ask for the password when it is started the first time, ie: no SINET01.PWD file is found. The user enters the correct password and the interface stores this password into an encrypted file in the startup directory, where it will make use of it on future startups. Whenever the password for “piadmin” changes, the user must type in the correct password again on a new startup of the interface.
Note: It may occur that the administrator changes the “piadmin” password and forgets to restart the interface in order to type in the new password. In this case, the interface will not be able to connect to the PI Server when an automatic restart of the interface occurs (e.g. reboot of the interface computer caused by a power failure). If you want to avoid such a situation, use method 2, the proxy account.
After successful connection to the PI Server, the interface opens a connection to the related SIEMENS library. If the library is not present, the interface will stop with an error message. Once connection is made, a list of all the tags with the interface point source and configured for this special interface number is collected.
InputAfter successful startup, the interface generates a list of PI tags assigned to this interface. Whenever the first tag for a new PLC channel (TSAP) is found, the interface tries to open the channel. The interface is configured to transfer up to 480 bytes in one block. This guarantees the best performance, although the maximum number of bytes can be 4096. Therefore, the interface groups all tags together which are defined for the same PLC memory area. A DB range, for example, can have the following blocks: 0 - 479, 480 - 959, etc.
The user can help optimize the performance of the interface by grouping tags for the same memory block in the same scan class. In the above example all possible 240 tags for the range 0 - 480 would generate one READ every cycle period.
Inputs are scan-based and different scan classes can be defined. The smallest scan period is 1 second. But this scan performance can only be achieved if all connected PLCs are in normal operation. If some channels are not working properly, the interface must wait a minimum of 5 seconds before attempting to read again.
Siemens SIMATIC NET Interface to the PI System 7
Inputs can also be event-based. Any PI tag can serve as a trigger tag. Whenever this tag changes value, the interface tag will perform a block read. “Collect Call” mechanism for event-triggered input is not recommended.
The source of data for a point is defined by evaluating the symbolic address in the InstrumentTag attribute of that point. The interface will calculate the physical address of the value from the symbolic address and request the according memory block from the PLC.
For PCS Systems there are two options. If you have used the option to configure tags via symbolic address (see chapter “Tag configuration for PCS Systems”), then the interface treats the tags in the same way as if the system were a plain TI-505 PLC. If the tags are configured to contain the PCS Tagname in the InstrumentTag attribute, then the interface looks in the copy of the engineering file (install.tag) to figure out the physical address. This, of course, requires that the engineering file install.tag be copied to the interface startup directory first.
A connection break to a single communication channel will mark all concerned tags for I/O Timeout, but the interface will continue to read blocks, depending on the /rr1 parameter in the startup command line of the interface. The /rr2 parameter defines the periods where the interface tries to close and reopen the channel.
If an error-marked value is transferred by the interface, this value will be marked as BAD INPUT in the PI System.
OutputOutput of data to the PLCs is internally handled by exception. If it is necessary to update values with 5-second accuracy, define a PI tag that gets updated every five seconds.
Note: Outputs are not tested for S5 and not yet implemented for Siemens S5 floating point number. Please contact OSI Software GmbH for further information.
Siemens SIMATIC NET Interface to the PI System 8
Installation ChecklistFor those users who are familiar with running PI data collection interface programs, this checklist helps you get the SIEMENS SIMATIC NET TI-505 interface running. If you are not familiar with PI interfaces, you should return to this section after reading the rest of the manual in detail.
1. Install the Siemens library software.
2. Install the PI-Interface Configuration Utility (which installs PI-SDK and PI-API)
3. Verify that PI-API has been installed.
4. Install the interface.
5. Test the connection between the interface node and the foreign device using the
6. Choose a point source. If PI 2 home node, create the point source.
7. Configure PI points. Location1 is the interface instance.Location2 is the logical PLC numberLocation3 (Not used for S5)is the output block specification for TI-505 writes.Location4 is the scan class.Location5 specifies direction of data transfer.exdesc is used for keywords as BCD, InstZero etc.instrumenttag is used to specify the PLC memory to be read/written.
8. Configure performance points.
9. Configure I/O Rate tag.
10. Edit startup command file and configuration files (Sinet5.Bat, sinet.cfg, sinet.ini).
11. Start the interface without buffering.
12. Verify data.
13. Stop interface, start buffering, start interface.
Siemens SIMATIC NET Interface to the PI System 9
Pre-installation ProceduresThe interface requires that these steps be followed before installing the interface.
Install Siemens Library SoftwareBefore installing the Interface, the SIEMENS Library software needs to be installed and the appropriate connections have to be configured on the PLC side:
TI-505 Configure the CP MAC address.
Set up a read passive job and configure the TSAPs. Set up a write passive job and configure a new TSAP. You may re-use the PC TSAP.
S5 Configure the CP MAC address.
Configure the TSAP.
Setup a fetch passive job on the PLC with read/write enabled.
Configuration Files
Sample SINET.CFG FileEach interface process needs a SINET.CFG file. This configuration file associates a "logical PLC number" with a local TSAP address, remote TSAP address, and Ethernet (MAC) address. Several logical PLC numbers can be associated with a single physical PLC. The logical PLC number that appears in the SINET.CFG file corresponds to the value of the LOCATION2 PI point attribute.
"Local" and "remote" are defined from the viewpoint of the interface. That is, the local TSAP addresses are the TSAP addresses on the interface side, and the remote TSAP addresses are the TSAP addresses of the PLC.
An example SINET.CFG file is shipped with the interface. This file must be edited manually.
The contents of the SINET.CFG file should look similar to the following.; LogPLC EthernetPLC LTSAP RTSAP; 1 48-49-50-51-52-54 TSAP005 RTSAP005 2 48-49-50-51-52-55 TSAP006 RTSAP006 3 48-49-50-51-52-56 TSAP007 RTSAP007 4 48-49-50-51-52-56 TSAP008 RTSAP008
Sample SINET.INI FileEach interface process needs a configuration file, where the ACCESSPOINT is defined.
Example:[INIT]; A corresponding ACCESSPOINT must be configured in the control
Siemens SIMATIC NET Interface to the PI System 11
; panel application called "Setting the PG/PC interface".;; Example for hardnet (CP1413). Uncomment next line if; using hardnet.; ACCESSPOINT=CP_H1_1:;; Example for softnet. Comment out next line if; using hardnet.ACCESSPOINT=S7ONLINEAn ACCESSPOINT is simply an arbitrary name, such as S7ONLINE, that is associated with an Ethernet card. An ACCESSPOINT can be defined in the control panel called “Setting the PG/PC Interface.”
The Windows NT Control PanelCommunication on the PC side is configured from “Setting the PG/PC Interface” in the Windows NT control panel.
Softnet – S7If the Softnet-S7 drivers are used on the interface node, perform the following in the control panel.
1. Click on the “install” button to install the ISO Ind. Ethernet module. One may need to reboot after this is done. If the module has already been installed, its name will appear in the white box that begins with <None>.
2. From the same control panel add an ACCESSPOINT. Clicking on the down arrow underneath “Access Point of Application” will reveal an option to add or delete an Access Point.
3. To associate this ACCESSPOINT with an Ethernet Module, highlight the appropriate Ethernet Module name (which will appear somewhere beneath <None>).
4. Click the “Diagnostics” button and test the configuration. If this test does not pass, the interface will not be able to establish a connection to the PLC.
Hardnet - CP1413If the CP1413 drivers are used on the interface node and the PLC has a TF connection configured for the PC, enable the TF in “setting the PG-PC interface”.
The COML1413 Setup ProgramAdditional configuration outside of the Windows NT control panel needs to be performed on the interface node if the CP1413 drivers are used. The configuration is done using the COML1413 program. The node name, application name and server ID can be given any name that the user desires. “Connection” should be set to active, static. Note that the connection on the PLC itself should be configured as passive. The active connection type is configured on the PC side.
S5 vs. TI-505 ConnectionsAn S5 FETCH job is the same as a 505 READ job.
Siemens SIMATIC NET Interface to the PI System 12
The S5 does not support the WRITE job type. Use RECEIVE/passive type instead.
S5 Configuration
505 Configuration
Siemens SIMATIC NET Interface to the PI System 13
505 CP1434 ServerLocal TSAP 1READ Passive (job 1) No DHB required
PC ClientLocal TSAP 1
ReadWrite
Local TSAP 2WRITE Passive (job 2) No DHB required
Connection 1
Connection 2
Interface InstallationOSIsoft recommends that interfaces be installed on PI-API nodes instead of directly on the PI Server node. A PI-API node is any node other than the PI Server node where the PI Application Programming Interface (PI-API) has been installed (see the PI-API Installation Instructions manual). With this approach, the PI Server need not compete with interfaces for the machine’s resources. The primary function of the PI Server is to archive data and to service clients that request data.
After the interface has been installed and tested, Bufserv should be enabled on the PI-API node (once again, see the PI-API Installation Instructions manual). Bufserv is distributed with the PI-API. It is a utility program that provides the capability to store and forward events to a PI Server, allowing continuous data collection when communication to the PI Server is lost. Communication will be lost when there are network problems or when the PI Server is shut down for maintenance, upgrades, backups, or unexpected failures.
In most cases, interfaces on PI-API nodes should be installed as automatic services. Services keep running after the user logs off. Automatic services automatically restart when the computer is restarted, which is useful in the event of a power failure.
The guidelines are different if an interface is installed on the PI Server node. In this case, the typical procedure is to install the PI Server as an automatic service and interfaces as manual services that are launched by site-specific command files when the PI Server is started. Interfaces that are started as manual services are also stopped in conjunction with the PI Server by site-specific command files. This typical scenario assumes that Bufserv is not enabled on the PI Server node. Bufserv can be enabled on the PI Server node so that interfaces on the PI Server node do not need to be started and stopped in conjunction with PI, but it is not standard practice to enable buffering on the PI Server node. See the UniInt End User Document for special procedural information.
Naming Conventions and RequirementsIn the installation procedure below, it is assumed that the name of the interface executable is sinet5.exe and that the startup command file is called sinet5.bat.
It is customary for the user to rename the executable and the startup command file when multiple copies of the interface are run. For example, one would typically use sinet51.exe and sinet51.bat for interface number 1, sinet52.exe and sinet52.bat for interface number 2, and so on. When an interface is run as a service, the executable and the command file must have the same root name because the service looks for its command-line arguments in a file that has the same root name.
Siemens SIMATIC NET Interface to the PI System 15
Microsoft DLLsThe following Microsoft DLLs are distributed on the installation CD-ROM. Copy these files to the winnt\system32 directory only if the files in the winnt\system32 directory are older than the files on the CD-ROM.
MSVCIRT.DLL
MSVCRT.DLL
MSVCRT40.DLL
MSVCP50.DLL
MSVCP60.DLL
The following additional Microsoft DLLs are also distributed on the CD-ROM. These DLLs are only used by a debug version of the interface. Copy these files to the Winnt\system32 directory only if the files in the winnt\system32 directory are older than the files on the CD-ROM.
MSVCIRTD.DLL
MSVCRTD.DLL
MSVCP50D.DLL
MSVCP60D.DLL
Interface Directories
The PIHOME Directory TreeThe PIHOME directory tree is defined by the PIHOME entry in the pipc.ini configuration file. This pipc.ini file is an ASCII text file, which is located in the WinNT directory. A typical pipc.ini file contains the following lines:[PIPC]PIHOME=c:\pipc
The above lines define the \pipc directory as the root of the PIHOME directory tree on the C: drive. OSIsoft recommends using \pipc as the root directory name. The PIHOME directory does not need to be on the C: drive.
Interface Installation DirectoryPlace all copies of the interface into a single directory. The suggested directory is:PIHOME\interfaces\sinet5\
Replace PIHOME with the corresponding entry in the pipc.ini file.
Siemens SIMATIC NET Interface to the PI System 16
Interface Installation ProcedureIn the installation procedure below, assume that interface number 1 is being installed and that all copies of the interface will be installed in the same directory.
1. Copy the interface files from the installation media to PIHOME\interfaces\sinet5\. Create the directory if necessary.
2. If necessary, rename the command file so that it has the same root name of the executable.
3. Alter the command-line arguments in the .bat file as discussed in this manual.
4. Try to start the interface interactively with the command:sinet5.bat
If the interface cannot be started interactively, one will not be able to run the interface as a service. It is easier to debug interactively started processes because error messages are echoed directly to the screen. Once the interface is successfully running interactively, one can try to run it as a service by following the instructions below.
Installing the Interface as an NT Service
Service Configuration
Service NameThe Service to Add box shows the name of the current interface service. This service name is obtained from the interface executable.
Siemens SIMATIC NET Interface to the PI System 17
Interface Installation
Display NameThe Display Name text box shows the current Display Name of the interface service. If there is currently no service for the selected interface, the default Display Name is the service name with a “PI-” prefix. Users may specify a different Display Name. OSIsoft suggests that the prefix “PI-” be appended to the beginning of the interface to indicate that the service is part of the OSI suite of products.
Service Startup TypeThe Service Startup Type indicates whether the interface service will start automatically or need to be started manually on reboot.
If the Auto option is selected, the service will be installed to start automatically when the machine reboots.
If the Manual option is selected, the interface service will not start on reboot, but will require someone to manually start the service.
If the Disabled option is selected, the service will not start at all.
Generally, interface services are set to start automatically.
Interface DependenciesThe Installed Services list is a list of the services currently installed on this machine. Services upon which this Interface is dependant should be moved into the Interface Dependencies list using the “Add>>” button. For example, if API Buffering is running, then “bufserv” should be selected from the list at the right and added to the list on the left.
When the PI Interface is started (as a service), the services listed in the dependency list will be verified as running (or an attempt will be made to start them). If the dependent service(s) cannot be started for any reason, then the PI interface service will not run.
Note: Please see the PI Log and Operating System Event Logger for messages that may indicate the cause for any server not running as expected.
Add>>To add a dependency from the list of Installed Services, select the dependency name, and click the Add button.
<<RemoveTo remove a selected dependency, highlight the service name in the Installed Dependencies list, and click the Remove button.
The full name of the service selected in the Installed Services list is displayed below the Installed Services list box.
Create or Remove Interface Service
CreateThe Create button adds the displayed service with the specified Dependencies and with the specified Startup Type.
18
Remove The Remove button removes the displayed service. If the service is not currently installed, or if the service is currently running, this button will be grayed out.
Start or Stop ServiceThe Start / Stop section contains a Start button and a Stop button . If this interface service is not currently installed, these buttons will remain grayed out until the service is added. If this interface service is running, the Stop button is available. If this service is not running, the Start button is available.
The status of the Interface service is indicated in the lower portion of the PI-ICU dialog.
Installing the Interface Service ManuallyOne can get help for installing the interface as a service at any time with the command:sinet5.exe –help
Change to the directory where the sinet51.exe executable is located. Then, consult the following table to determine the appropriate service installation command.
NT Service Installation Commands on a PI-API node or a PI Server node
with Bufserv implemented
Manual service sinet5.exe –install –depend “tcpip bufserv”
Automatic service sinet5.exe –install –auto –depend “tcpip bufserv”
NT Service Installation Commands on a PI-API node or a PI Server node
without Bufserv implemented
Manual service sinet5.exe –install –depend tcpip
Automatic service sinet5.exe –install –auto –depend tcpip
When the interface is installed as a service on the PI Server node and when Bufserv is not implemented, a dependency on the PI network manager is not necessary because the interface will repeatedly attempt to connect to the PI Server until it is successful.
Note: Interfaces are typically not installed as automatic services when the interface is installed on the PI Server node.
Check the Microsoft Windows NT services control panel to verify that the service was added successfully. One can use the services control panel at any time to change the interface from an automatic service to a manual service or vice versa.
Siemens SIMATIC NET Interface to the PI System 19
Status of the Interface Service
Digital StatesThere are no Digital States required by this interface, although system states may be used when appropriate.
For more information regarding Digital States, refer to the Data Archive Manuals.
PI 2 Home NodeDigital states are defined by running the Digtl Stat display from the PI menu. The states must be contiguous for each status type and may be anywhere within the Digital State Table outside of the range 193 - 320, which is reserved for OSIsoft. The digital states need to be defined prior to point configuration. The digital state sets described in the PI 3 sections below should be entered into the PI 2 Digital State Table.
For more information, see the DA manual.
PI 3 Home Node
Digital State SetsPI digital states are discrete values represented by strings. These strings are organized in PI as digital state sets. Each digital state set is a user-defined list of strings, enumerated from 0 to n to represent different values of discrete data. For more information about PI digital tags and editing digital state sets, see the PI Data Archive Manual for Windows NT and Unix manual.
An interface point that contains discrete data can be stored in PI as a digital tag. A Digital tag associates discrete data with a digital state set, as specified by the user.
System Digital State SetSimilar to digital state sets is the system digital state set. This set is used for all tags, regardless of type to indicate the state of a tag at a particular time. For example, if the interface receives bad data from an interface point, it writes the system digital state bad input to PI instead of a value. The system digital state set has many unused states that can be used by the interface and other PI clients.
Siemens SIMATIC NET Interface to the PI System 21
PointSourceThe PointSource is a single, unique character that is used to identify the PI point as a point that belongs to a particular interface. For example, one may choose the letter S to identify points that belong to the interface. To implement this, one would set the PointSource attribute to S for every PI Point that is configured for the interface. Then, if one uses /ps=S on the startup-command line of the interface, the Random interface will search the PI Point Database upon startup for every PI point that is configured with a PointSource of S. Before an interface loads a point, the interface usually performs further checks by examining additional PI point attributes to determine whether a particular point is valid for the interface. For additional information, see the /ps argument.
Case-sensitivity for PointSource AttributesIf the interface is running on a PINet node and the Server node is a PI 3 system, use a capital letter (or a case-insensitive character such as a number, a question mark, etc.) for the PointSource attribute when defining points. For all other scenarios, one does not need to be careful with the case of the PointSource.
In all cases, the point source character that is supplied with the /ps command-line argument is not case sensitive. That is, /ps=S and /ps=s are equivalent. One only needs to be careful with the case of the PointSource during point definition, and only if the interface will be running on a PINet node communicating to a PI 3 Server.
PI 2 Server NodesThe following point source characters are reserved on PI 2 systems and cannot be used as the point source character for an interface: C, ?, @, Q, T. Also, if one does not specify a point source character when creating a PI point, the point is assigned a default point source character of L. Therefore, it would be confusing to use L as the point source character for an interface.
Before a PI point with a given point source can be created, the point source character must be added to the PI 2 point source table. For example, if point source S is not defined in the PI 2 point source table, a point with a point source of S cannot be created. This prevents the user from accidentally creating a point with an incorrect point source character.
Defining a Point Source Character in the PI 2 Point Source Table
1. Enter PI by typing the following command from a VMS command prompt: @pisysexe:pi
2. Select the PointSrc option from the menu.
3. Select New from the menu.
4. Assign a point source next to the Code: field. Also, assign minimum and maximum values for the Location1 to Location5 attributes.
Location1 Location2 Location3 Location4 Location5
Minimum 1 1 0 0 0
Maximum 10 1000 0 10 1
Siemens SIMATIC NET Interface to the PI System 23
To disable outputs, set the maximum Location5 to zero.
5. Select “Save” from the menu.
PI 3 Server NodesNo point source table exists on a PI 3 Server, which means that points can be immediately created on PI 3 with any point source character. Several subsystems and applications that ship with PI 3 are associated with default point source characters. The Totalizer Subsystem uses the point source character T, the Alarm Subsystem uses G and @, Random uses R, RampSoak uses 9, and the Performance Equations Subsystem uses C. Either do not use these point source characters or change the default point source characters for these applications. Also, if one does not specify a point source character when creating a PI point, the point is assigned a default point source character of L. Therefore, it would be confusing to use L as the point source character for an interface.
Siemens SIMATIC NET Interface to the PI System 24
PI Point ConfigurationThe PI point is the basic building block for controlling data flow to and from the PI Data Archive. A single point is configured for each measurement value that needs to be archived. Use the point attributes below to define what data to transfer.
Point Attributes
TagA tag is a label or name for a point. Any tag name can be used in accordance to the normal PI point naming conventions.
PointSourceThe PointSource is a single, unique character that is used to identify the PI point as a point that belongs to a particular interface. For additional information, see the /ps command-line argument and the “Point Source” section.
PointTypeTypically, device point types do not need to correspond to PI point types. For example, integer values from a device can be sent to floating point or digital PI tags. Similarly, a floating-point value from the device can be sent to integer or digital PI tags, although the values will be truncated.
PI 2 Server NodesScaled real, full-precision real, integer, and digital point types are supported on PI 2 Servers. For more information on the individual point types, refer to the Data Archive (DA) section of PI System Manual I.
PI 3 Server NodesFloat16, float32, int16, int32, digital, and string point types are supported on PI 3 Servers. For more information on the individual point types, see PI Data Archive for NT and UNIX.
S5 PLCFor S5 PLCs, the interface supports reading memory block and treating the bytes as characters. This requires string tags on the PI 3 home node.
See the description of the PLCSIG keyword under the description of the Extended Descriptor attribute.
5x5 PLCFor 5x5 PLCs, when reading memory as PI string types, any non-printable character will be converted to a space within the length specified in the instrument tag.
The following applies to input points (Location5=0). When an input point has a PI point type of R, the interface assumes that the PLC stores its values according to standard TF Encodings (see Appendix). For example, the interface will assume that variables in V
Siemens SIMATIC NET Interface to the PI System 25
memory are stored in Integer16 format. Likewise, the interface assumes that variables in V or VF memory are stored in floating-point format. Hence, if all of the memory types that are being read from the PLC are stored according to the standard TF Encodings given in the Appendix, then one can safely use a point type of R for all PI Points and all values should be read correctly into PI.
However, not all variables are stored according to their standard TF Encoding. Namely, variables stored in V or VF memory are sometimes stored in Integer32 format instead of in floating point format. For this reason, when an input point has a PI point type of I or D, the interface always assumes that the target variable is stored as an integer. Hence, one can define a PI point of type I or D and read an Integer32 from V or VF memory.
Location1Location1 indicates to which copy of the interface the point belongs.
Location2The Location2 attribute assigns a "logical PLC number" to the PI point. The logical PLC number that is assigned in Location2 must correspond to a logical PLC number in the SINET.CFG file, which is described in detail under the section called "Configuration Files." In the SINET.CFG file the logical PLC number is associated with a TSAP address / Ethernet (MAC) address pair that must be unique.
One connection can be established to a PCL for every logical PLC number that is assigned to the PLC. The same logical PLC number cannot be used to both read data from and write data to a PLC.
Location3
For S5 Series PLCLocation3 is not used for reading data from S5 series PLCs.
For TI505 Series PLCLocation3 is ignored for input tags.
Set location3 to 0 for individual writes, or set location3 to a non-zero integer to associated the tag with a given output block. Each tag in a given output block, including the output master tag, should have the same value for location3. See “Output Tag Configuration” for more information.
Location4
Scan-Based InputsFor interfaces that support scan-based collection of data, Location4 defines the scan class for the PI point. The scan class determines the frequency at which input points are scanned for new values. For more information, see the description of the /f flag in the section called “The Startup Command File”.
Trigger-Based Inputs and Output PointsLocation 4 should be set to zero for these points.
Siemens SIMATIC NET Interface to the PI System 26
Location5Location5 specifies the direction of data transfer. The interface is able to handle READ and WRITE Telegrams. As the interface must open different connections for READ and WRITE, you must configure a logical connection to the PLC (Location2 and configuration file) for each job (READ and WRITE) and PLC.
0 -- Input
1 -- Output
InstrumentTagFor a PI 2 Server, the instrument tag attribute is limited to 32 characters. For a PI 3 Server, the instrument tag is limited to 32 characters.
S5 Series PLCThe memory location in the S5 that is targeted for reads or writes is defined in the InstrumentTag field. The syntax is Range[index],(type)[index](.bitnumber).
The (type) is optional. If not used, the interface will use the default type from the table below. In the current version, the interface only supports DW for DWORD and W for WORD.
S5 Range Description Data type
DB Common Data Dword, 32 bit
MB Merker Bereich Byte, 8 bit
EB Process Input Byte, 8 bit
AB Process Output Byte, 8 bit
PB Peripheral Device Byte, 8 bit
ZB Counter Word, 16 bit
TB Timer Word, 16 bit
BS System Data Word, 16 bit
AS Absolute Memory Word, 16 bit
DX Extended DB Dword, 32 bit
DE External DB Dword, 32 bit
QB Extended Peripheral Device Byte, 8 bit
Note: The Interface has only been tested with S5 Range DB, Data type Word, Dword
Examples of symbolic addresses that can be specified in the InstrumentTag field are given in the following table.
Symbolic Address
Description
DB16,1 DB modul 16, Dword 1
DB16,W1 DB modul 16, word 1
DB16,1.1 DB modul 16, Dword 1, bit 1
Siemens SIMATIC NET Interface to the PI System 27
PI Point Configuration
DB16,DW1 DB modul 16, Dword 1
TI505 Series PLCFor output master tags, this field should be set to the memory type that is associated with the output block (V for V memory, K for K memory, etc.) A complete list of supported memory types is given in the Appendix. For all other tags, the InstrumentTag field should be defined as described below.
There are two options for designating the memory location in the PLC for reads or writes. For the first option, one directly specifies the symbolic address (e.g. V11 for memory type V, word number 11) that is targeted for reads or writes in the InstrumentTag field. As mentioned above, a complete list of supported memory types is given in the Appendix. Examples of symbolic addresses that can be specified in the InstrumentTag field are given in the following table.
Symbolic Address Description
V3 Variable Memory, Word number 3
C17 Control Register number 17
If the memory location to be accessed is to be treated as a PI string type, the symbolic address must be specified along with the number of characters to be accessed whether reads or writes. The maximum number of characters that can be read or written is 80.
Symbolic Address Description
V100, 6 Variable Memory, Word number 100,
6 characters
The second option is available for PCS systems. In PCS systems, PCS tags are mapped to memory locations in the PLC. This mapping is done in an ASCII file called the install.tag file. An example of an install.tag file is given below:
Example install.tag file:Record,ControlNode,TagType,Tag,Description,ProcessGroup,ManualSet,Parent,Attribute,Memory,Locations,Upload,Twenty%,Autolog,InitValueT,STATA,IVAR,78CMAPRODUCT,R78 CMA PRODUCT SELECTION,0xffffffff,NA,,,,,,,,H_RANGE,,,,,,5000A,,,,,,,,L_RANGE,,,,,,0A,,,,,,,,VALUE,V2010,1,N, ,N,0A,,,,,,,,STATUS,V2010,1,N, ,N,0T,STATA,IVAR,77CMAPRODUCT,R77 CMA PRODUCT SELECTION,0xffffffff,NA,,,,,,,,H_RANGE,,,,,,5000A,,,,,,,,L_RANGE,,,,,,0A,,,,,,,,VALUE,V2011,1,N, ,N,0A,,,,,,,,STATUS,V2011,1,N, ,N,0T,STATA,VLV2,CV647,BD SLOW CLOSE VALVE @ 1603,0xffffffff,NA,,,,,,,,SETPOINT,C39,1,Y, ,N,0A,,,,,,,,STATUS,C32,12,N, ,N,0The PCS tag names are the fourth fields on the lines that begin with T. There are three PCS tags names that are listed in the above files: 78CMAPRODUCT, 77CMAPRODUCT, and CV647. Attributes for each of these tags are listed on the lines that begin with A. These attributes are mapped to memory locations in the PLC. For example, the VALUE and STATUS attributes for tag 78CMAPRODUCT are both
28
mapped to memory location V2010. Similarly, the SETPOINT and STATUS attributes for tag CV647 are mapped to memory location C39 and C32, respectively.
A particular memory location is designated for the interface by assigning the InstrumentTag field a name of the form PCSTagname.Attribute. For example, if one assigns CV647.STATUS to the InstrumentTag field, memory location C32 will be read by the interface. The InstrumentTag field is limited to 32 characters.
Note: For C memory locations, it is possible to read up to 32 bytes and combine these to one 32-Bit value. To read, for example, C1234 and the next 11 bytes you have to use C1234,12 as the memory location. The Interface will take care of this if you use the INSTALL.TAG file. You may apply a Bit mask to the result to filter out necessary information. See the description of the BITMASK keyword under the description of the Extended Descriptor attribute for more information.
IMPORTANT: If the array of up to 32 values will exceed the internal block size of 480 bytes, the array will be truncated to the available bytes. When this happens, a message to this effect will be written to the log file.
ExDescThis is the extended descriptor attribute. For a PI 2 Server, the extended descriptor is limited to 80 characters. For a PI 3 Server, the extended descriptor is limited to 80 characters.
Z=InstZeroThe Z keyword is used to specify the instrument zero (InstZero). The instrument zero is used in the conversions that are described under the SquareRoot PI Point attribute. If the Z keyword is not found, then InstZero is assumed to be zero.
Performance PointsFor UniInt-based interfaces, the extended descriptor is checked for the string “PERFORMANCE_POINT”. If this character string is found, UniInt treats this point as a performance point. See the section called “Performance Points.”
Trigger-Based InputsFor trigger-based input points, a separate trigger point must be configured. An input point is associated with a trigger point by entering a case-insensitive string in the extended descriptor (ExDesc) PI point attribute of the input point of the form:keyword=trigger_tag_name
where keyword is replaced by “event” or “trig” and trigger_tag_name is replaced by the name of the trigger point. There should be no spaces in the string. UniInt automatically assumes that an input point is trigger-based instead of scan-based when the keyword=trigger_tag_name string is found in the extended descriptor attribute.
An input is triggered when a new value is sent to the Snapshot of the trigger point. The new value does not need to be different than the previous Snapshot value to trigger an input, but the timestamp of the new value must be greater than (more recent than) or equal to the timestamp of the previous value. This is different than the trigger mechanism for output points. For output points, the timestamp of the trigger value must be greater than (not greater than or equal to) the timestamp of the previous value.
Siemens SIMATIC NET Interface to the PI System 29
PI Point Configuration
Keywords Supported Only for S5 Series PLC
BCD=#The BCD keyword is used to specify that the current memory word inside a DB is of BCD type. The number in a range of 1 to 8 defines the number of BCD digits stored in one word. It is only possible to use up to 8 BCD digits in one PI tag. The PI tag should be of type float to avoid overflows.
Note: Floating point numbers only have 6 significant digits. If you need all BCD digits significant, you should limit BCD to 4.
PLCSIG=<BYTE,RBYTE,LBYTE,INT16,INT32,FLT>By default the interface will read the memory from the PLC in the following standard C data types:
PLCSIG PI Data TypeInteger
PI Data TypeDigital
PI Data TypeFloat
<none> Unsigned short Short Integer
BYTE, LBYTE Char - Char
RBYTE Char - Char
INT16 Unsigned short - Short
INT32 Unsigned integer - Integer
FLT Float - Float
STRG - - -This may be changed by using the parameter PLCSIG in the extended descriptor.
Example:
Exdesc: PLCSIG=FLT, Instrumenttag: DB50,DW83
Read the DWORD 83 from DB 50 as a Siemens S5 floating point number
Exdesc: PLCSIG=INT32, Instrumenttag: DB50,DW83
Read the DWORD 83 from DB 50 as an integer
Exdesc: PLCSIG=STRG, Instrumenttag: DB50,W83,8
Read the WORD 83 from DB 50 and the following 8 Byte (4 WORDS) as string.
Note: If the string is defined of length <x> (DB20,W1,<x>), the maximum string length to be read is <x>, while the maximum string length to be written is <x-1>. That is because the interface writes a trailing NULL to the S5 memory. Additionally, the length of the string will be extended to fit the S5 memory (DB20,W1,3 will be extended to a 4 character string, as S5 word memory is 2-byte oriented).
30
MASK=0xhThe MASK keyword is used to specify the Mask which is applied via logical AND to the PLC value. If the MASK keyword is not found, then the bit mask is assumed to be 0xffffffff.
The result will be shifted to the first non-zero bit in the bitmask, zero bits within the bit mask will not be compacted.
Keywords Supported Only for TI505 Series PLC
OUTPUT_MASTERThe interface can be configured to write data to individual memory locations or a block of memory locations. When a block of memory locations is written, the write is triggered with an output master tag. The output master tag must have the keyword “OUTPUT_MASTER” in the extended descriptor. See “Output Tag Configuration” for more information.
MASK=0xhThe MASK keyword is used to specify the Mask which is applied via logical AND to multi-byte C memory locations. If the MASK keyword is not found, then the bit mask is assumed to be 0xffffffff.
The result will be shifted to the first non-zero bit in the bit mask, zero bits within the bit mask will not be compacted.
MAP=mapThe MAP keyword is used to specify a bitmap. The bits from an integer word that is read from the PLC are rearranged according to the bitmap, and the result is sent to PI. Bit mapping is supported only for input tags. Moreover, the input tags must be integer or digital PI Points otherwise the bit map will not be applied.
The format of the bit map is: MAP=uuvvwwxxyyzz
where uu, vv, ww, yy, and zz each refer to a single bit. A leading zero is required if the referenced bit is less than 10. The lowest possible bit is 01 and the highest possible bit is 32. Up to 32 bits can be mapped.
A bitmap of 0307120802 will map the second bit of the original word to the first bit of the new word, the eighth bit to the second bit, the twelfth bit to the third bit, etc. The high-order bits of the new word are padded with zeros if the bits are not specified.
For instance, a single 16-bit PLC register holds the state of four different thermocouples. The first 4 bits correspond to the first thermocouple; the second 4 bits correspond to the second thermocouple, etc. Four different input tags with four different bitmaps could be used to read thermocouple states. The first input tag would use a bitmap of 04030201 to read the state of the first thermocouple; the second input tag would use a bitmap of 08070605 to read the state of the second thermocouple, and so on. If the 16-bit word from the PLC was 0000 0000 0101 0111 or decimal 87, then the first thermocouple state would be interpreted as binary 0111 or decimal 7, the second thermocouple state would be interpreted as 0101 or decimal 5, etc.
Siemens SIMATIC NET Interface to the PI System 31
PI Point Configuration
OFFS=offsetThe OFFS keyword is used to specify an offset to the memory location. If the OFFS keyword is not found, then offset is assumed to be zero.Example:If the memory address is V.1234 and offset is specified as 4, the interface will read from memory location V.1238
Scan By default, the Scan attribute has a value of 1, which means that scanning is turned on for the point. Setting the scan attribute to 0 turns scanning off. If the scan attribute is 0 when the interface starts, SCAN OFF will be written to the PI point. If the scan attribute is changed from 1 to 0 while the interface is running, SCAN OFF will also be written to the PI point after the point edit is detected by the interface.
There is one other situation, which is independent of the Scan attribute, where UniInt will write SCAN OFF to a PI point. If a point that is currently loaded by the interface is edited so that the point is no longer valid for the interface, the point will be removed from the interface, and SCAN OFF will be written to the point. For example, if the PointSource of a PI point that is currently loaded by the interface is changed, the point will be removed from the interface and SCAN OFF will be written to the point.
Shutdown
PI 2 Server NodesThe Shutdown attribute is not used if the server node is a PI 2 system. For information on configuring shutdown events for PI 2, see Data Archive (DA) section 4.2.3 of PI System Manual I.
PI 3 Server NodesThe shutdown attribute is used only if the server node is a PI 3 system.
The Shutdown attribute is 1 (true) by default. The default behavior of the PI Shutdown subsystem is to write the SHUTDOWN digital state to all PI points when PI is started. The timestamp that is used for the SHUTDOWN events is retrieved from a file that is updated by the Snapshot Subsystem. The timestamp is usually updated every 15 minutes, which means that the timestamp for the SHUTDOWN events will be accurate to within 15 minutes in the event of a power failure. For additional information on shutdown events, refer to PI Data Archive for NT and UNIX.
Note: The SHUTDOWN events that are written by the PI Shutdown subsystem are independent of the SHUTDOWN events that are written by the interface when the /stopstat=Shutdown command-line argument is specified.
One can disable SHUTDOWN events from being written to PI when PI is restarted by setting the Shutdown attribute to 0 for each point. Alternatively, one can change the default behavior of the PI Shutdown Subsystem to write SHUTDOWN events only for PI points that have their Shutdown attribute set to 0. To change the default behavior, edit the \PI\dat\Shutdown.dat file, as discussed in PI Data Archive for NT and UNIX.
BufservIt is undesirable to write shutdown events when Bufserv is being used. Bufserv is a utility program that provides the capability to store and forward events to a PI Server,
32
allowing continuous data collection when the Server is down for maintenance, upgrades, backups, and unexpected failures. That is, when PI is shut down, Bufserv will continue to collect data for the interface, making it undesirable to write SHUTDOWN events to the PI points for this interface.
SquareRootConversions can be applied to input and output values for tags of type integer or real. The conversion that is applied depends upon the value of the SquareRoot PI Point attribute as described in the following table.
Conditions Operation
SquareRoot = 0 No operation. Raw input values are sent to PI for Input Tags and raw values are output to the PLC for output tags.
SquareRoot = 1 Input tags: Value = [ (Value - InstZero)/ Convers ] * Span + ZeroOutput tags: Value = [ (Value - Zero)/Span] *Convers + InstZero
Zero, Span, and Convers are standard PI Point attributes. InstZero must be specified in the extended descriptor. See the description of the extended descriptor for more information.
Output PointsOutput points control the flow of data from the PI Data Archive to any destination that is external to the PI Data Archive, such as a PLC or a third-party database. For example, to write a value to a register in a PLC, one would use an output point. Each interface has its own rules for determining whether a given point is an input point or an output point. There is no de facto PI point attribute that distinguishes a point as an input point or an output point.
Outputs are triggered for UniInt-based interfaces. That is, outputs are typically not scheduled to occur on a periodic basis. There are two mechanisms for triggering an output.
Output tags are used to write values to memory locations in a PLC. A tag is an output tag if the value of location5 is set to 1.
Note: Block writes are not supported for S5 series PLCs.
Output tags can be configured for individual writes or block writes. Individual writes are assumed when location3 is set to 0 and block writes are assumed when location3 is non-zero. Both individual writes and block writes are triggered. That is, outputs are written only when a value is sent to a given trigger tag. For individual writes, trigger tags are defined in the SourceTag attribute of each output tag. For block writes, trigger tags are defined in the SourceTag attribute of each output master tag. A tag is an output master tag if the key word “OUTPUT_MASTER” appears in the extended descriptor of the point.
There is one output master tag for each output block. Each tag in a given output block, including the output master tag, should have the same value for location3. Only contiguous registers can be written in an output block. There can be no gaps in the block. That is, one cannot, for example, write only to V11, V12, and V14 in a block. The block must also include V13. A total of 5 tags would need to be configured to write
Siemens SIMATIC NET Interface to the PI System 33
PI Point Configuration
to V11 to V14. One output tag is required for each V memory location and one output master tag is needed.
Examples for configuring output tags for individual writes and block writes are given in the Appendix. The appendix also explains how particular values are written to particular PLC memory locations.
Ordinarily individual writes are sufficient for most tasks. One case where block writes should be used for downloading programs to a PLC. For downloading programs, the entire memory block must be written at once. One cannot take the chance that only part of the program will be downloaded.
Trigger Method 1 (Recommended)For trigger method 1, a separate trigger point must be configured. The output point must have the same point source as the interface. The trigger point can be associated with any point source, including the point source of the interface. Also, the point type of the trigger point does not need to be the same as the point type of the output point.
The output point is associated with the trigger point by setting the SourceTag attribute of the output point equal to the tag name of the trigger point. An output is triggered when a new value is sent to the Snapshot of the trigger point. The new value does not need to be different than the previous value that was sent to the Snapshot to trigger an output, but the timestamp of the new value must be more recent than the previous value. If no error is indicated, then the value that was sent to the trigger point is also written to the output point. If the output is unsuccessful, then an appropriate digital state that is indicative of the failure is usually written to the output point. If an error is not indicated, the output still may not have succeeded because the interface may not be able to tell with certainty that an output has failed.
Trigger Method 2For trigger method 2, a separate trigger point is not configured. To trigger an output, write a new value to the Snapshot of the output point itself. The new value does not need to be different than the previous value to trigger an output, but the timestamp of the new value must be more recent than the previous value.
Trigger method 2 may be easier to configure than trigger method 1, but trigger method 2 has a significant disadvantage. If the output is unsuccessful, there is no tag to receive a digital state that is indicative of the failure, which is very important for troubleshooting
34
Tag Configuration for PCS SystemsThe SIEMENS PCS System consists of TI 505 Series PLC and Engineering Stations. The PCS System knows Tagnames similar to PI Tagnames. The Tagnames are created in the Engineering Station and are mapped to physical addresses within a certain PLC. In order to have maximum performance with our interface, we did not develop a separate PI interface running on the Engineering Station. Instead, the interface PC is a member of the H1 network and gets the data from the PLC directly. This concept guarantees maximum speed. Since Tag handling and address mapping are done in the Engineering Station we of course need to make sure that we have the same information available for the interface configured for the PCS System. Therefore, we provide 2 scenarios for the interface:
Option 1The end user is able to retrieve the physical address for a specific value in the PLC from the Engineering Station and configures this physical address in the form of symbolic address strings as shown under “PI Point Configuration - Instrument Tag”.
Note: Whenever a PCS Tag changes its location, the end user needs to track the change in the PI System as well. The PI Tag needs to be edited and the interface will be notified of the change automatically (signup for update mechanism).
Option 2All tag configuration information is stored in an ASCII file called install.tag at the Engineering Station. If the user copies the file to the interface computer on the interface startup directory, the interface can make use of the information contained in the file. In this way the InstrumentTag can be used to just contain the PCS tagname and the interface will automatically look into the install.tag file to calculate the physical address.
In the case of multiple PLCs, it is required to combine all install.tag files to one file. It is required that there are no identical tagnames on different PLCs as the interface only refers to the tagname. The LOCATION2 parameter and the SINET.CFG file do the mapping to the different PLCs.
Note: If the install.tag file changes (the PCS Tag configuration has changed), a new copy action has to be done. The interface will only be notified of the change for a certain tag if the interface was restarted or the PI tag was edited (signup for update mechanism). Just to copy the new install.tag file is not sufficient.
Example install.tag FileRecord,ControlNode,TagType,Tag,Description,ProcessGroup,ManualSet,Parent,Attribute,Memory,Locations,Upload,Twenty%,Autolog,InitValueT,STATA,IVAR,78CMAPRODUCT,R78 CMA PRODUCT SELECTION,0xffffffff,NA,,,,,,,,H_RANGE,,,,,,5000A,,,,,,,,L_RANGE,,,,,,0A,,,,,,,,VALUE,V2010,1,N, ,N,0A,,,,,,,,STATUS,V2010,1,N, ,N,0T,STATA,IVAR,77CMAPRODUCT,R77 CMA PRODUCT SELECTION,0xffffffff,NA,,,,,,,,H_RANGE,,,,,,5000A,,,,,,,,L_RANGE,,,,,,0A,,,,,,,,VALUE,V2011,1,N, ,N,0A,,,,,,,,STATUS,V2011,1,N, ,N,0T,STATA,VLV2,CV647,BD SLOW CLOSE VALVE @ 1603,0xffffffff,NA,,,,,,,,SETPOINT,C39,1,Y, ,N,0A,,,,,,,,STATUS,C32,12,N, ,N,0
Siemens SIMATIC NET Interface to the PI System 35
Install.CSV FileThe interface generates a file install.csv anytime it reads the install.tag file. This file can be used to configure PI tags. The install.csv file is a comma-delimited file of the format:Select(x), Tag, LongName, Descriptor, InstrumentTag, Location1, Location2, Location4, PointSource, PI2PointType, PI3PointType, Precision, Span, Zero, TypicalValue, EngUnitsTherefore, it can be read into excel and used to configure tags in PI with PI-SMT. One has to edit this file according to the local installation. The following fields will be filled from the interface:
Attribute Install.Tag Attribute or source
Tag Empty or PI Short Tagname
LongName Constructed by the interface in the form: <ControlNode>:<Tag>.<Attribute>
Descriptor <Description>
InstrumentTag <Tag>.<Attribute>
Location1 Interface ID
Location2 Control node derived from SINET.CFG
Location4 1
PointSource Interface point source
PI2PointType R for all analog type, I else
PI3PointType float32 for all analog types, else int16
Precision S for I, F for R
Span <h_range>-<l_range> or 100
Zero <l_range> or 0
TypicalValue Zero
EngUnits <Units>
The install.csv file is controlled by the command line switch /CSV.
/CSV=ab a=1 All tags are written to install.csv.
a=0 Only tags that are not in PI will be written to install.csv. Note: if b=0, all tags will be written.
b=1 Load PI short tag name from PI. PI long tagname will be used as key to identify PI tag
b=0 Don't check in PI for existing tags.
For example /CSV=11 will write all tags to install.csv and will write the PI short tagname if available.
To use the Install.CSV file for point configuration, one has to edit the file accordingly. For a PI2 server the column PI3PointType has to be removed and the PI2PointType has to be renamed to PointType. For PI3 Systems the column Tag has to be removed
Siemens SIMATIC NET Interface to the PI System 36
and LongtagName has to be renamed to Tag, the columns PI2PointType and Precision have to be removed and PI3PointType has to be renamed to PointType.
Siemens SIMATIC NET Interface to the PI System 37
Performance
Interface PerformanceKey factors that effect performance of an interface:
1. The number of data blocks that the interface requests and the frequency at which these requests are made.
2. The update time of the PLCs.Every time the interface requests a block of data it must wait for the PLC to respond. Say that there are 30 request blocks associated with the interface and that the update time of the PLC is 30 milliseconds. It would take a minimum time of (30 blocks * 30 milliseconds/block = 900 milliseconds) to finish processing all 30 request blocks. The interface would be hard-pressed to scan all 30 blocks every second, but the interface should be able to scan all 30 blocks every 5 seconds without a problem. The above calculation provides the minimum time for a PLC to process a request. The calculation does not include the time it takes the PLC to process the request, which will be affected by block size. However, testing indicated that the number of request blocks, not the size of the request blocks, is the major factor that affects performance.
The number of data blocks is affected by:
1. The number of logical PLCs that the interface is talking to.
2. The number of different memory types that the interface reads.
3. The number of tags associated with the interface.A request for a block of data can only be made to one PLC of one particular memory type at a time. In addition, a maximum number of 238 integer words or a maximum of 118 floating points can be requested in one block. For example, if memory locations V1 to V1000 need to be read, the interface would split the request into 5 blocks: V1 to V238, V239 to V476, V477 to V714, V715 to V952, and V953 to V1000. The request blocks always start at 1, 239, 477, etc, but the end of the request block depends upon the amount of data that is requested. That is, if tags have been configured to collect data for V100 to V300, then the interface will request V1 to V238 in one block and V239 to V300 in another block.
The user should avoid splitting a request block over 2 scan classes. That is, if the user has configured 50 tags with location4=1 (scan class 1) to collect data from memory locations V1 to V50 and 50 tags with location4=2 to collect data from memory locations V51 to V100, then the interface will request a block from V1 to V100 for each scan class. This only affects interface performance, not the end result.
Multiple Copies of the InterfaceInterface performance can be improved by running multiple copies of the interface. One interface copy per PLC is recommended.
For the H1 Industrial Ethernet with SOFTNET-S7 VERSION 2.2 EXTENDED, a maximum number of 64 TSAP connections can be made per Ethernet card. This limit drops to 8 TSAP connections for the non-extended version of the same software. Each interface instance is associated with one read TSAP and one write TSAP. Hence, a
Siemens SIMATIC NET Interface to the PI System 39
maximum of 32 copies of the interface can be run per Ethernet card that is installed for the extended software or four copies of the interface per Ethernet card for the non-extended software.
For the CP1613 a limit of 10 copies of the interface and 120 TSAP connections is valid. Hence, a maximum of 10 copies of the interface can be run per Ethernet card connecting to 60 PLCs.
Performance Point ConfigurationOne can configure performance points to monitor the amount of time in seconds that an interface takes to complete a scan for a particular scan class. The closer the scan completion time is to 0 seconds, the better the performance. The scan completion time is recorded to millisecond resolution
Configuring Performance Points with PI-ICU (NT-Intel)The PI-Interface Configuration & Management Utility (PI-ICU) provides a user interface for creating and managing Performance Points.
To create or delete a Performance Point, right mouse click the line belonging to the tag to be created, and click Create or Delete. If a tag already exists, the status is marked “Created”, the Delete option will be enabled. If a tag does not exist, the status is marked “Not Created” or “Deleted”, and the Create option is enabled.
The Performance Points are created with the following PI attribute values:
Attribute Details
Tag Tag name that appears in the list box
Point Source Point Source for tags for this interface, as specified on the first tab
Compressing Off
Excmax 0
Descriptor Interface name + " Scan Class # Performance Point"
Status
The Status column in the Performance Points table indicates whether the Performance Point exists for the scan class in column 2. If a Performance Point does exist, a status of “Created” is displayed. If the Performance Point does not exist, a status of “Not Created” is displayed. If a Performance Point exists, and is deleted, a status of “Deleted” is displayed.
Scan Class
Siemens SIMATIC NET Interface to the PI System 40
The Scan Class column indicates which scan class the Performance Point in the Tagname column belongs to. There will be one scan class in the Scan Class column for each scan class listed in the Scan Classes combo box on the Uniint Parameters tab.
Tagname
The Tagname column holds the Performance Point tag name.
Configuring Performance Points ManuallyPerformance point configuration is the same on all operating system platforms. Performance points are configured as follows.
1. Set the extended descriptor to:PERFORMANCE_POINTor to:PERFORMANCE_POINT=interface_idwhere interface_id corresponds to the identifier that is specified with the /id flag on the startup command line of the interface. The character string PERFORMANCE_POINT is case insenstive. The interface_id does not need to be specified if there is only one copy of an interface that is associated with a particular point source.
2. Set Location4 to correspond to the scan class whose performance is to be monitored. For example, to monitor scan class 2, set Location4 to 2. See the /f flag for a description of scan classes.
3. Set the PointSource attribute to correspond to the /ps flag on the startup command line of the interface.
4. Set the PointType attribute to float32.
Siemens SIMATIC NET Interface to the PI System 41
I/O Rate Tag ConfigurationAn I/O Rate point can be configured to receive 10-minute averages of the total number of exceptions per minute that are sent to PI by the interface. An exception is a value that has passed the exception specifications for a given PI point. Since 10-minute averages are taken, the first average is not written to PI until 10 minutes after the interface has started. One I/O Rate tag can be configured for each copy of the interface that is in use.
Monitoring I/O Rates on the Interface NodeFor NT and UNIX nodes, the 10-minute rate averages (in events/minute) can be monitored with a client application such as ProcessBook.
Configuring I/O Rate Tags with PI-ICU (NT-Intel)The PI-Interface Configuration & Management Utility (PI-ICU) provides a user interface for creating and managing IORates Tags.
PI-ICU currently allows for one I/O Rate tag to be configured for each copy of the interface that is in use.
Enable IORates for this InterfaceThe Enable IORates for this interface check box enables or disables IORates for the current interface. To disable IORates for the selected interface, uncheck this box. To enable IORates for the selected interface, check this box.
Tag StatusThe Tag Status column indicates whether the IORates tag exists in PI. The possible states are:
Created – This status indicates that the tag exist in PI
Not Created – This status indicates that the tag does not yet exist in PI
Deleted – This status indicates that the tag has just been deleted
Unknown – This status indicates that the ICU is not able to access the PI Server
In FileThe In File column indicates whether the IORates tag listed in the tag name and the event counter is in the IORates.dat file. The possible states are:
Yes – This status indicates that the tag name and event counter are in the IORates.dat file
Siemens SIMATIC NET Interface to the PI System 43
No – This status indicates that the tag name and event counter are not in the IORates.dat file
Event CounterThe Event Counter correlates a tag specified in the iorates.dat file with this copy of the interface. The command line equivalent is /ec=x, where x is the same number that is assigned to a tag name in the iorates.dat file.
TagnameThe tag name listed under the Tagname column is the name of the IORates tag.
Right Mouse Button Menu OptionsCreateCreate the suggested IORates tag with the tag name indicated in the Tagname column.
DeleteDelete the IORates tag listed in the Tagname column.
RenameAllows the user to specify a new name for the IORates tag listed in the Tagname column.
Add to FileAdds the tag to the IORates.dat file with the event counter listed in the Event Counter Column.
SearchAllows the user to search the PI Server for a previously defined IORates tag.
Configuring I/O Rate Tags ManuallyThere are two configuration steps.
Configuring the PI Point on the PI Server
PI 2 Server NodesA listing of the I/O Rate Tags that are currently being monitored can be obtained with the command:@PISysDat:IOMonitor.com
Create an I/O Rate Tag using one of the existing I/O Rate Tags as a template.
PI 3 Server NodesCreate an I/O Rate Tag with the following point attribute values.
Attribute Value
PointSource L
PointType float32
Siemens SIMATIC NET Interface to the PI System 44
Compressing 0
ExcDev 0
Configuration on the Interface NodeFor the following examples, assume that the name of the PI tag is sinet001, and that the name of the I/O Rate on the home node is sinet001.
1. Edit/Create a file called iorates.dat in the PIHOME\dat directory. The PIHOME directory is defined either by the PIPCSHARE entry or the PIHOME entry in the pipc.ini file, which is located in the \WinNT directory. If both are specified, the PIPCSHARE entry takes precedence.
Since the PIHOME directory is typically C:\PIPC, the full name of the iorates.dat file will typically be C:\PIPC\dat\iorates.dat.
Add a line in the iorates.dat file of the form:sinet001, x
where sinet001 is the name of the I/O Rate Tag and x corresponds to the first instance of the /ec=x flag in the startup command file. x can be any number between 2 and 34 or between 51 and 200, inclusive. To specify additional rate counters for additional copies of the interface, create additional I/O Rate tags and additional entries in the iorates.dat file. The event counter, /ec=x, should be unique for each copy of the interface.
2. Set the /ec=x flag on the startup command file of the interface to match the event counter in the iorates.dat file.
The interface must be stopped and restarted in order for the I/O Rate tag to take effect. I/O Rates will not be written to the tag until 10 minutes after the interface is started.
Siemens SIMATIC NET Interface to the PI System 45
Startup Command FileThe Siemens SIMATIC NET Interface for S5, TI-505 Series PLCs and PCS on Windows has an ICU Control that will aid in configuring the SSIMATICNET interface startup command file:
The PI-Interface Configuration Utility (PI-ICU) provides a tool for configuring the Interface startup command file. The interface control for PI-ICU has two (2) tabs with a total of five (5) sections. A yellow text box indicates that an invalid value has been entered, or that a required value has not been entered.
General
Connection Parameters
PLC TypeThe PLC Type is the type of the connected PLC for the Send/Receive interface. Choose TI505 for SIMATIC 505 and S5 for SIMATIC S5.
The command line equivalent is /plctype=x, where x is either TI505 or S5. This parameter is required.
Siemens SIMATIC NET Interface to the PI System 47
Startup Command File
PersistencePersistence is the number of times that a send/receive call will be retried in the event that a send/receive call times out. For example, if timeout=100 and persistence=10, a send/receive call that consistently times out will be retried every 5.1 milliseconds, up to a maximum of 10 times.
Ideally, the combination of the timeout and persistence flags sets the maximum time that the interface will hang on a particular send/receive call. In practice, the timeout period appears to be "much longer" than the combination of the timeout and persistence flags should dictate.
The command line equivalent is /persistence=x, where x is the number of times that a send/receive call will be retried. This parameter is optional. The default value is 10.
TimeoutThe timeout flag is used in conjunction with the persistence flag. The timeout flag is used to set a timeout in units of 51 milliseconds. For example, timeout=100 corresponds to a timeout of 5.1 seconds.
The command line equivalent is /ct, where x is the number of 51 millisecond timeout periods used. This parameter is optional. The default value is 100.
Retry rate 1If there is a communication problem, the interface will try to reconnect to the PLC after retry rate 1 seconds.
The command line equivalent is /rr1, where x is the number of milliseconds after which to retry the connection to the PLC initially. This parameter is optional. The default value is 30. The minimum is 10, and the maximum is 3600.
Retry rate 2If there is a continued communication problem, the interface will try to reconnect to the PLC after retry rate 2 seconds. If the reconnect is unsuccessful, subsequent retries will be attempted every retry rate 2 seconds, where retry rate 2 is specified by the Retry Rate 2 flag.
The command line equivalent is /rr2, where x is the number of milliseconds after which to retry the connection to the PLC. This parameter is optional. The default value is 120. The minimum is 120, and the maximum is 28800.
Interface Specific DebuggingThe Debug Level is used to set the debug level of the interface between 0 and 9, inclusive. At a debug level of 0, no debug messages are written to the output log file. At a debug level of 9, the maximum number of debug messages is written to the output log file.
The command line equivalent is /deb=x, where x is the setting between 0 and 9, inclusive. This parameter is optional. The default value is 0.
48
General Parameters
Output log fileThe Output log file specifies the name of the output log file where error messages will be sent. It can be a full path name or a relative path name to an output file. The interface assumes that the sinet.cfg and sinet.ini files reside in the same directory that the output log file is located.
Examples:output=.\sinet5.log output=sinet5.logoutput=c:\pipc\interfaces\sinet5.log
In the third example above, if the c:\pipc\interfaces directory does not exist, the program will not be able to open the sinet5.log file, and the interface will abort upon startup. Likewise, if the /output flag is omitted and the computer does not have a c: drive, then the interface will not be able to create the default log file, c:\sinet5.log, and the interface will abort upon startup.
For interfaces that are run as a service, one should use an unambiguous full path name to point to the output log file.
In the above examples, if the sinet5.log file already exists in the target directory, the interface will rename the existing log file to sinet5.log;1, unless sinet5.log;1file already exists, at which point the file will be renamed to sinet5.log;2, and so on.
Since NT does not recognize file extensions of the form “.log;n”, the logassoc.bat file can be run to associate extensions from .log;1 to .log;29 with text files.
The command line equivalent is /output=x, where x is the full path and filename of the log file to which the interface is to write. This parameter is optional, but recommended. The default setting is c:\sinet5.log.
Source of timestampsThe interface uses either the local time on the PI-API node or the remote time on the PI Server node to timestamp values. It is highly recommended to use the server time to timestamp values (/time=SERVER). To use a local time, specify, /time=LOCAL.
The command line equivalent is /time=x where x is either SERVER or LOCAL. The default setting is SERVER. This parameter is optional.
Outputs to PLCThe Outputs to PLC section allows users to control whether data is written to the PLC (output). The options are:
Enable – value is 0
Disable – value is 1
Disable all but writing to DB area – value is 2
The command line equivalent is /write=x where x is either 0, 1, or 2. The default setting is 0. This parameter is optional.
Siemens SIMATIC NET Interface to the PI System 49
Startup Command File
CSV File
Install .csv File CreationThis section controls the creation of the install.csv file:
Write all tags: 1 (All tags are written)
Write non-configured tags: 0 (Only in PI not configured tags are written)
Check PI for configured points: 1
Don't check PI for configured points: 0
The command line equivalent is /CSV=<a><b> where <a> is either 0 or 1, and where <b> is either 0 or 1. The default setting is 00. This parameter is optional.
Additional ParametersThe Additional Parameters section is provided for any flags that may have been required in the future.
Note: The UniInt End User Document includes details about other command line parameters, which may be useful.
Command-Line ParametersIf the interface is to be configured without PI-ICU, then the following section describes the command line parameters.
Command-line arguments can begin with a / or with a -. For example, the /ps=M and -ps=M command-line arguments are equivalent.
For NT, command file names have a .bat extension. The NT continuation character (^) allows one to use multiple lines for the startup command. The maximum length of each line is 1024 characters (1 kilobyte). The number of flags is unlimited, and the maximum length of each flag is 1024 characters.
Parameter Description
/time=timesource
Optional,default: /time=SERVER
The interface uses either the local time on the PI-API node or the remote time on the PI Server node to timestamp values. It is highly recommended to use the server time to timestamp values (/time=SERVER). To use a local time, specify, /time=LOCAL.
/write=#
Optional,
default: /write=0
Disable write data (output) into PLC (security)
Enable
Disable
Disable everything else than writing into DB area
/ct=timeout
Optional,
default: /ct=100
The /ct flag is used in conjunction with the /persistence flag. The /ct flag is used to set a timeout in units of 51 milliseconds. For example, /ct=100 corresponds to a timeout of 5.1 seconds.
/persistence=#
Optional,
persistence is the number of times that a send/receive call will be retried in the event that a send/receive call times out. For example, if /ct=100 and /persistence=10, a send/receive call that consistently times out will be retried
50
Parameter Description
default: /persistence=10 every 5.1 milliseconds, up to a maximum of 10 times.
Ideally, the combination of the /ct and /persistence flags sets the maximum time that the interface will hang on a particular send/receive call. In practice, the timeout period appears to be "much longer" than the combination of the /ct and /persistence flags should dictate.
/rr1=rate1
Optional,
default: /rr1=30minimum: 10maximum: 3600
/rr1 is short for retry rate 1. If there is a communication problem, the interface will try to reconnect to the PLC after rate1 seconds. If the reconnect is unsuccessful, subsequent retries will be attempted every rate2 seconds, where rate2 is specified by the /rate2 flag.
/rr2=rate2
Optional,
default: /rr2=120minimum: 120maximum: 28800
See the /rr1 flag.
/PLCTYPE=TI505
Required
Type of the connected PLC for the Send/Receive interface. Choose TI505 for SMATIC 505 and S5 for SIMATIC S5.
/deb=level
Optional,
default: /deb=0
The /debug flag is used to set the debug level of the interface between 0 and 9, inclusive. At a debug level of 0, no debug messages are written to the output log file. At a debug level of 9, the maximum number of debug messages is written to the output log file.
/db=level
Optional,
default: /db=0
Optional debug switch for printing debug messages from UNIINT, which is OSI’s universal interface. The subroutines for the TI505 interface are compiled under UNIINT, the main subroutine.
/CSV=<a><b>
Optional,
default: /CSV=00
Controls creation of the install.csv file:
a=1: All tags are writtena=0: Only in PI not configured tags are writtenb=1: Check PI for configured pointsb=0: Don't check PI for configured points
/ps=x
Required
The /ps flag specifies the point source for the interface. x is not case sensitive and can be any single character. For example, /ps=P and /ps=p are equivalent.
The point source that is assigned with the /ps flag corresponds to the PointSource attribute of individual PI Points. The interface will attempt to load only those PI points with the appropriate point source.
/id=x
Required
The /id flag is used to specify the interface identifier.
The interface identifier is a string that is no longer than 9 characters in length. UniInt concatenates this string to the header that is used to identify error messages as belonging to a particular interface. See the section called “Error and Informational Messages” for more information.
UniInt always uses the /id flag in the fashion described
Siemens SIMATIC NET Interface to the PI System 51
Startup Command File
Parameter Description
above. This interface also uses the /id flag to identify a particular interface copy number that corresponds to an integer value that is assigned to Location1. For this interface, one should use only numeric characters in the identifier. For example,
/id=1
/f=SSor/f=SS,SSor /f=HH:MM:SSor/f=HH:MM:SS,hh:mm:ss
Required for reading scan-based inputs
The /f flag defines the time period between scans in terms of hours (HH), minutes (MM), and seconds (SS). The scans can be scheduled to occur at discrete moments in time with an optional time offset specified in terms of hours (hh), minutes (mm), and seconds (ss). If HH and MM are omitted, then the time period that is specified is assumed to be in seconds.
Each instance of the /f flag on the command line defines a scan class for the interface. There is no limit to the number of scan classes that can be defined. The first occurrence of the /f flag on the command line defines the first scan class of the interface, the second occurrence defines the second scan class, and so on. PI Points are associated with a particular scan class via the Location4 PI Point attribute. For example, all PI Points that have Location4 set to 1 will receive input values at the frequency defined by the first scan class. Similarly, all points that have Location4 set to 2 will receive input values at the frequency specified by the second scan class, and so on.
Two scan classes are defined in the following example:/f=00:01:00,00:00:05 /f=00:00:07or, equivalently:/f=60,5 /f=7The first scan class has a scanning frequency of 1 minute with an offset of 5 seconds, and the second scan class has a scanning frequency of 7 seconds. When an offset is specified, the scans occur at discrete moments in time according to the formula:
scan times = (reference time) + n(frequency) + offset
where n is an integer and the reference time is midnight on the day that the interface was started. In the above example, frequency is 60 seconds and offset is 5 seconds for the first scan class. This means that if the interface was started at 05:06:06, the first scan would be at 05:06:10, the second scan would be at 05:07:10, and so on. Since no offset is specified for the second scan class, the absolute scan times are undefined.
The definition of a scan class does not guarantee that the associated points will be scanned at the given frequency. If the interface is under a large load, then some scans may occur late or be skipped entirely. See the section called “Performance Point Configuration” for more information on skipped or missed scans.Wall Clock SchedulingScan classes that strictly adhere to wall clock scheduling are now possible. This feature is available for interfaces that run on NT and/or UNIX. Previously, wall clock scheduling was
52
Parameter Descriptionpossible, but not across daylight savings time. For example, /f=24:00:00,08:00:00 corresponds to 1 scan a day starting at 8 AM. However, after a Daylight Savings Time change, the scan would occur either at 7 AM or 9 AM, depending upon the direction of the time shift. To schedule a scan once a day at 8 AM (even across daylight savings time), one should use /f=24:00:00,00:08:00,L. The ,L at the end of the scan class tells UniInt to use the new wall clock scheduling algorithm.
/output=filename
Optional, but Recommended
Default: /output=C:\sinet5.log
The /output flag specifies the name of the output log file where error messages will be sent. filename can be a full path name or a relative path name to an output file. The interface assumes that the sinet.cfg and sinet.ini files reside in the same directory that the output log file is located.
Examples:/output=.\sinet5.log /output=sinet5.log/output=c:\pipc\interfaces\sinet5.log
In the third example above, if the c:\pipc\interfaces directory does not exist, the program will not be able to open the sinet5.log file, and the interface will abort upon startup. Likewise, if the /output flag is omitted and the computer does not have a c: drive, then the interface will not be able to create the default log file, c:\sinet5.log, and the interface will abort upon startup.
For interfaces that are run as a service, one should use an unambiguous full path name to point to the output log file.
In the above examples, if the sinet5.log file already exists in the target directory, the interface will rename the existing log file to sinet5.log;1, unless sinet5.log;1file already exists, at which point the file will be renamed to sinet5.log;2, and so on.
Since NT does not recognize file extensions of the form “.log;n”, the logassoc.bat file can be run to associate extensions from .log;1 to .log;29 with text files.
/host=host:port
Optional
The /host flag is used to specify the PI Home node. host is the IP address of the PI Sever node or the domain name of the PI Server node. port is the port number for TCP/IP communication. The port is always 5450 for a PI 3 Server and 545 for a PI 2 Server. It is recommended to explicitly define the host and port on the command line with the /host flag. Nevertheless, if either the host or port is not specified, the interface will attempt to use defaults.
Defaults:
The default port name and server name is specified in the pilogin.ini or piclient.ini file. The piclient.ini file is ignored if a pilogin.ini file is found. Refer to the PI-API Installation Instructions manual for more information on the piclient.ini and
Siemens SIMATIC NET Interface to the PI System 53
Startup Command File
Parameter Description
pilogin.ini files.
Examples:The interface is running on a PI-API node, the domain name of the PI 3 home node is Marvin, and the IP address of Marvin is 206.79.198.30. Valid /host flags would be:/host=marvin /host=marvin:5450 /host=206.79.198.30/host=206.79.198.30:5450
/stopstator/stopatat=digstate
Default:/stopstat=”Intf shut”
Optional
If the /stopstat flag is present on the startup command line, then the digital state I/O Timeout will be written to each PI Point when the interface is stopped.
If /stopstat=digstate is present on the command line, then the digital state, digstate, will be written to each PI Point when the interface is stopped. For a PI 3 Server, digstate must be in the system digital state table. For a PI 2 Server, where there is only one digital state table available, digstate must simply be somewhere in the table. UniInt uses the first occurrence in the table.
If neither /stopstat nor /stopstat=digstate is specified on the command line, then no digital states will be written when the interface is shut down.
Examples:/stopstat=”Intf shut”
The entire parameter is enclosed within double quotes when there is a space in digstate.
/ec=x
Optional
The first instance of the /ec flag on the command line is used to specify a counter number, x, for an I/O Rate point. If x is not specified, then the default event counter is 1. Also, if the /ec flag is not specified at all, there is still a default event counter of 1 associated with the interface. If there is an I/O Rate point that is associated with an event counter of 1, each copy of the interface that is running without /ec=x explicitly defined will write to the same I/O Rate point. This means that one should either explicitly define an event counter other than 1 for each copy of the interface or one should not associate any I/O Rate points with event counter 1. Configuration of I/O Rate points is discussed in the section called “I/O Rate Tag Configuration,” p. 43.
For interfaces that run on NT nodes, subsequent instances of the /ec flag may be used by specific interfaces to keep track of various input or output operations. One must consult the interface-specific documentation to see whether subsequent instances of the /ec flag have any effect. Subsequent instances of the /ec flag can be of the form /ec*, where * is any ASCII character sequence. For example, /ecinput=10, /ecoutput=11, and /ec=12 are legitimate choices for the second, third, and fourth event counter strings.
54
Parameter Description
/sio
Optional
The /sio flag stands for “suppress initial outputs.” The flag applies only for interfaces that support outputs. If the /sio flag is not specified, the interface will behave in the following manner.
When the interface is started, the interface determines the current Snapshot value of each output tag. Next, the interface writes this value to each output tag. In addition, whenever an individual output tag is edited while the interface is running, the interface will write the current Snapshot value to the edited output tag.
This behavior is suppressed if the /sio flag is specified on the command line. That is, outputs will not be written when the interface starts or when an output tag is edited. In other words, when the /sio flag is specified, outputs will only be written when they are explicitly triggered.
/q
Optional
When the /q flag is present, Snapshots and exceptions are queued before they are sent to the PI Server node.
The maximum queue size is 255 bytes for a PI 3 Server and 36 bytes for a PI 2 Server. For example, if the interface is running on a UNIX node and is communicating to a PI 2 Server, then the maximum queue size is 36. The queue is flushed between scans if it is not filled.
When the /q flag is specified in non-extended API mode, the PI-API sends integer values as 16-bit integers instead of 32-bit integers. Therefore, integer points will be limited to values between 0 and 32767. Values higher than 32767 need to be sent to floating-point PI tags.
Siemens SIMATIC NET Interface to the PI System 55
Startup Command File
Sample Sinet5.bat FileThe following is an example file:
The following is an example of a start-up file, Sinet5.bat:REM Sinet5.batREM ----------------------------------------------------------------REMREM Sample startup file for the Siemens s5/505 PCS interface.REMREM ----------------------------------------------------------------REMREM Required command-line parametersREM /ps=x Point source characterREM /f=HH:MM:SS scan class
REM /PLCTYPE=TI505 PLC type REM Optional command-line parametersREM /time use PI server time or local API node timeREM /write = # disable write output REM /ct timeout unitsREM /persistence number of times snd/rec call will be retriedREM /rr1 retry rateREM /rr2 subsequent retry rateREM /mt=n Maximum number of tagsREM /deb debug flag for output log fileREM /db Output UniInt debugging messagesREM /id=x Interface identifierREM /host=host:port PI Home nodeREM /stopstat=digstate Write digstate to every PI point when interface stopsREM /output output log fileREM /csv control creation of install.csv fileREM /q Queue snapshots and exceptionsREM /ec specifies counter number for iorates tagREM /sio suppress initial outputsREM Sample command line:REM SINET5.exe /id=1 /ps=6 /q /deb=9 /output=c:\pipc\interfaces\sinet\sinet.log
/write=0REM /host=localhost:5450 /f=00:00:05 /persistence=1 /ct=1 /db=4 /plctype=TI505REMREM ----------------------------------------------------------------REM Revison HistoryREM Date Author CommentREM 21-May-02 BP WrittenREM ----------------------------------------------------------------
56
Interface Node ClockThe correct settings for the time and time zone should be set in the Date/Time control panel. If local time participates in Daylight Savings, from the control panel, configure the time to be automatically adjusted for Daylight Savings Time. The correct local settings should be used even if the interface node runs in a different time zone than the PI Server node.
Make sure that the TZ environment variable is not defined. The currently defined environment variables can be listed by going to Start | Settings | Control Panel, double clicking on the system icon, and selecting the environment tab on the resulting dialog box. Also, make sure that the TZ variable is not defined in an autoexec.bat file. When the TZ variable is defined in an autoexec.bat file, the TZ variable may not appear as being defined in the System control panel even though the variable is defined. Admittedly, autoexec.bat files are not typically used on NT, but this does not prevent a rogue user from creating such a file and defining the TZ variable unbeknownst to the System Administrator.
Siemens SIMATIC NET Interface to the PI System 57
SecurityIf the home node is a PI 3 Server, the PI Firewall Database and the PI Proxy Database must be configured so that the interface is allowed to write data to the PI Data Archive. See “Modifying the Firewall Database” and “Modifying the Proxy Database” in the PI Data Archive Manual.
If the home node is a PI 2 Server, the read/write permissions should be set appropriately in the pisysdat:piserver.dat file on the PI 2 home node. For more information on setting permissions on PI 2, see the pibuild:piserver.txt file on the PI 2 home node.
If the interface cannot write data to a PI 3 Server because it has insufficient privileges, a –10401 error will be reported in the pipc.log file. If the interface cannot send data to a PI2 Serve, it writes a –999 error. See the section “Appendix A: Error and Informational Messages” for additional information on error messaging.
Siemens SIMATIC NET Interface to the PI System 59
Starting / Stopping the InterfaceThis section describes starting and stopping the interface once it has been installed as a service. See the UniInt End User Document to run the interface interactively.
Starting Interface as a ServiceIf the interface was installed a service, it can be started from the services control panel or with the command:Sinet5.exe –start
A message will be echoed to the screen informing the user whether or not the interface has been successfully started as a service. Even if the message indicates that the service started successfully, make sure that the service is still running by checking in the services control panel. There are several reasons that a service may immediately terminate after startup. One is that the service may not be able to find the command-line arguments in the associated .bat file. For this to succeed, the root name of the .bat file and the .exe file must be the same, and the .bat file and the .exe file must be in the same directory. If the service terminates prematurely for whatever reason, no error messages will be echoed to the screen. The user must consult the pipc.log file for error messages. See the section “Appendix A: Error and Informational Messages,” for additional information.
Stopping Interface Running as a ServiceIf the interface was installed a service, it can be stopped at any time from the services control panel or with the command:Sinet5.exe –stopThe service can be removed by:Sinet5.exe –remove
Siemens SIMATIC NET Interface to the PI System 61
BufferingFor complete information on buffering, please refer to the Siemens SIMATIC NET Interface to the PI System .
PI-API Node buffering consists of a buffering process which runs continuously on the local node, a PI-API library whose calls can send data to this buffering process, and a utility program for examining the state of buffering and controlling the buffering process.
Configuring Buffering with PI-ICU (NT-Intel)Buffering is enabled through the PI-Interface Configuration Utility’s Tools>API Buffering… menu. Unless buffering is explicitly enabled, the PI-API will not buffer data, sending data directly to the home node.
The API Buffering… dialog allows the user to view and configure the parameters associated with the API Buffering (bufserv) process. The user can start and stop the API Buffering process from the Service tab:
Service TabThe Service tab allows for some API Buffering service configuration. For further configuration changes, use the Services applet.
Service NameThe Service name displays the name of the API Buffering Service.
Display NameThe Display name displays the full name associated with the API Buffering service.
Siemens SIMATIC NET Interface to the PI System 63
Log On AsLog on as indicates the Windows user account under which the API Buffering service is setup to start automatically on reboot, or manually. To modify the user account or password under which bufserv runs, use the Microsoft Windows “Services” applet.
DependenciesThe Dependencies lists the Windows services on which the API Buffering service is dependent.
Service Startup TypeThe Startup Type indicates whether the API Buffering service is setup to start automatically on reboot or manually on reboot, or is disabled.
If the Auto option is selected, the service will be installed to start automatically when the machine reboots.
If the Manual option is selected, the interface service will not start on reboot, but will require someone to manually start the service.
If the Disabled option is selected, the service will not start at all.
Generally, the API Buffering service is set to start automatically.
Start / Stop ServiceThe Start / Stop buttons allow for the API Buffering service to be started and stopped.
After a change is made to any of the settings on the Settings tab, the Save button must be clicked, and then the service must be stopped and restarted for the changes to be picked up by bufserv.
Settings TabThe Settings tab allows for configuration of the 7 configurable settings used by API Buffering. Default values are used if no other value is provided.
Siemens SIMATIC NET Interface to the PI System 64
Enable API BufferingEnables the API Buffering feature.
Maximum File SizeMaximum buffer file size in kilobytes before buffering fails and discards events. Default value is 100,000. Range is 1 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Send RateSend rate is the time to wait between sending up to MAXTRANSFEROBJS to the server (milliseconds). Default value is 100. Range is 0 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Primary Memory Buffer SizePrimary memory buffer size is the size in bytes of the Primary memory buffer. Default value is 32768. Range is 64 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Secondary Memory Buffer SizeSecondary memory buffer size is the size in bytes of the Secondary memory buffer. Default value is 32768. Range is 64 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Max Transfer ObjectsMax transfer objects is the maximum number of events to send between each SENDRATE pause. Default value is 500. Range is 1 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Pause RateWhen buffers are empty the buffering process will wait for this number of seconds before attempting to send more data to the home node. Default value is 2. Range is 0 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Retry RateWhen the buffering process discovers the home node is unavailable it will wait this number of seconds before attempting to reconnect. Default value is 120. Range is 0 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value, click the Apply button.
Siemens SIMATIC NET Interface to the PI System 65
Buffering
Max Theoretical Send RateThis is the theoretical max send rate is calculated like this:max = MAXTRANSFEROBJS / SENDRATE * 1000Default value is 5000.
There are no additional steps needed to install buffering after installing the PI-API. The delivered PI-API library supports both buffered and un-buffered calls.
Configuring Buffering ManuallyBuffering is enabled through the use of a configuration file, piclient.ini. Unless this file is modified to explicitly enable buffering, the PI-API will not buffer data, sending data directly to the home node.
There are no additional steps needed to install buffering after installing the PI-API. The delivered PI-API library supports both buffered and un-buffered calls.
Note: When buffering is configured to be on, the bufserv process must be started before other programs using the PI-API, so that these programs can access the shared buffering resources. Any program that makes a connection to a PI Server has this requirement even if it does not write to PI.
Configuration of buffering is achieved through entries in the piclient.ini file. The file is found in the dat subdirectory of the PIHOME directory (typically c:\pipc\dat) under Windows NT. This file follows the conventions of Microsoft Windows initialization files with sections, keywords within sections, and values for keywords. All buffering settings are entered in a section called [APIBUFFER]. To modify settings, simply edit the piclient.ini file in a text editor (Notepad on Windows) to the desired values.
The following settings are available for buffering configuration:
Keywords Values Default Description
BUFFERING 0,1 0 Turn off/on buffering. OFF = 0, ON = 1,
PAUSERATE 0 - 2,000,000 2 When buffers are empty the buffering process will wait for this long before attempting to send more data to the home node (seconds)
RETRYRATE 0 - 2,000,000 120 When the buffering process discovers the home node is unavailable it will wait this long before attempting to reconnect (seconds)
MAXFILESIZE 1 - 2,000,000 100,000 Maximum buffer file size before buffering fails and discards events. (Kbytes)
MAXTRANSFEROBJS
1 - 2,000,000 500 Maximum number of events to send between each SENDRATE pause.
BUF1SIZE 64 - 2,000,000 32768 Primary memory buffer size. (bytes)
BUF2SIZE 64 - 2,000,000 32768 Secondary memory buffer size. (bytes)
SENDRATE 0 - 2,000,000 100 The time to wait between sending up to MAXTRANSFEROBJS to the server (milliseconds)
66
In addition to the [APIBUFFER] section, the [PISERVER] section may be used to define the default PI server and an optional time offset change that may occur between the client and server.
Keywords Values Default Description
PIHOMENODE string none Windows default server is in pilogin.ini
DSTMISMATCH 0 - 2,000,000 0 The time that the server and client local time offset is allowed to jump. Typically, 3600 if the nodes are in time zones whose DST rules differ (seconds)
Example piclient.ini FileOn Windows NT the default server information is stored in the pilogin.ini file so the piclient.ini would only have the [APIBUFFER] section. The BUFFERING=1 indicates that buffering is on. The MAXFILESIZE entry in Kbytes of 100000 allows up to 100 Megabytes of data storage. Do not use commas or other separators in the numeric entries. The retry rate is set to 600 seconds meaning wait 10 minutes after losing a connection before retrying.
On NT a piclient.ini file might look like:[APIBUFFER]BUFFERING=1MAXFILESIZE=100000; The PI-API connection routines have a 1 minute default timeout.RETRYRATE=600
Siemens SIMATIC NET Interface to the PI System 67
Appendix AError and Informational Messages
GeneralA string NameID is pre-pended to error messages written to the message log. Name is a non-configurable identifier that is no longer than 9 characters. ID is a configurable identifier that is no longer than 9 characters and is specified using the /id flag on the startup command line.
PIPC.log FileMessages are written to PIHOME\dat\pipc.log at the following times.
When the interface starts many informational messages are written to the log. These include the version of the interface, the version of UniInt, the command-line parameters used, and the number of points.
As the interface retrieves points, messages are sent to the log if there are any problems with the configuration of the points.
If the /db is used on the command line, then various informational messages are written to the log file.
Interface-specific Log FileThe /output=filename flag specifies the name of the output log file where interface-specific error messages are sent. filename can be a full path name or a relative path name to an output file. If the interface is to be run as a service, then a full path name should be specified. The interface assumes that the sinet.cfg and sinet.ini files reside in the same directory that the output log file is located. For more information on using the /output flag, see the section “The Startup Command File.”
MessagesError messages that are associated with the Send/Receive function calls of the interface can be categorized as follows:
GetLastError
Error messages that begin with GetLastError= are system errors that occur before any message can actually be sent to or retrieved from the PLC. For example, if the name of the access point is misspelled in the sinet.ini file, then the interface will not be able to establish the network card of interest as an access point and the appropriate GetLastError code will be displayed.
RB_RESPONSEError messages that begin with RB_RESPONSE= may occur due to configuration problems, such as specifying improper network addresses or TSAP names in the sinet.cfg file.
Siemens SIMATIC NET Interface to the PI System 69
RB_RESPONSE=255Error messages that begin with RB_RESPONSE=255 means that the interface never received a response from the PLC. 255 is not a true RB_RESPONSE code. All other RB_RESPONSE codes indicate that a message was retrieved from the PLC, but there was some communication problem. RB_RESPONSE=255 is a serious error. It should never occur.
BYTE8Error messages that begin with BYTE8= are similar to an RB_RESPONSE code in that a message was retrieved from the PLC, but there was some communication problem.
Bad InputIf the status of a value derived from the PLC is BAD, then BAD INPUT will be written to the PI tag.
I/O TimeoutIf there are connection problems to the PLC, then I/O Timeout will be written to all the input PI tags.
Troubleshooting
RB_RESPONSE=16 with CP1413 Card The symptoms at this time were:
1. After rebooting the S5 some number of times the cp1413 would start communication with the interface again. It didn't matter if the reboot was a cold, worm, or just a reset of the Ethernet card. What mattered was the time it took.
2. 2. If the communication was established I could stop the interface for a few seconds and then restart it and communication would resume. If I stopped the interface for a few minutes the communication would not resume.
3. In the sinet.log file after the message RB_RESPONSE=16 there were a series of messages:
4. Wed May 16 13:24:50 2001 DB[1]: connection opened, VCID: 849
Wed May 16 13:26:55 2001 DB[1]: connection opened, VCID: 1105
Wed May 16 13:29:00 2001 DB[1]: connection opened, VCID: 1361
Wed May 16 13:31:05 2001 DB[1]: connection opened, VCID: 1617
Wed May 16 13:33:10 2001 DB[1]: connection opened, VCID: 1873
Wed May 16 13:35:15 2001 DB[1]: connection opened, VCID: 2129
This is the interface trying to reconnect though the cp. The problem is cp1413 is still holding the old connection open.
There are several ways to clear the old cp connection.Siemens SIMATIC NET Interface to the PI System 70
1. Disconnect the Ethernet cable for about 5 minutes. The cp goes through about 10 retries to reconnect at 30 seconds intervals then drops the connection.
2. Power down the PLC for 5 minutes.
3. Stop the interface. Then in control panel, setting the PC/PG interface, Properties, mode reset the cp1413 card. Then restart the interface.
I have tested option 3 and it worked every time.
With NT you have to reboot any time you do anything. I’m surprised this has not been a problem at other plants. The Intellution software here is using the same cp card and works fine. Maybe they force a reset on the card before the start of their interface.
Monitoring the Connection from the PLC SideIt is helpful to determine the status of the connection from the PLC side. For S5 PLCs this can be done using the COM143 or the COM1430 programs. The COM1430 program is a newer version then COM143. The test function of the COM143 or the COM1430 programs can be used to determine the status of the PLC connection.
SR TraceMessages from the interface can be monitored by turning on SR Trace. The trace is turned on from the control panel under Setting the PG/PC interface. While collecting a trace, the only 1 tag should be loaded for the interface and the interface should be run for a short period of time to keep the trace small. Otherwise, very large trace files will be generated.
System Errors and PI ErrorsSystem errors are associated with positive error numbers. Errors related to PI are associated with negative error numbers.
Error DescriptionsOn NT, descriptions of system and PI errors can be obtained with the pidiag utility:\PI\adm\pidiag –e error_number
Siemens SIMATIC NET Interface to the PI System 71
Appendix B:Hints for the System Manager
Transceivers on the H1 bus must have SQE switch enabled.
For CP1413: configure the PC with COML1413. Node name, application name and server ID is free. Connection is active, static.
For CP1413: Enable the TF in “setting the PG-PC interface” if the PLC has a TF connection configured for the PC.
TI505 Series PLCConfigure the 505 with COM1434. You need to configure a peer service for read (if you want to read data from the PLC) and a peer service for write (if you want to write data to the PLC). A configuration example for fully specified communication is given below.
Make sure both configurations (PC and PLC) are identical for TSAPs and Ethernet (MAC) addresses:
Siemens SIMATIC NET Interface to the PI System 73
A read-passive job must be configured on the PLC in order to read data.A write-passive job must be configured on the PLC in order to write data.
If an incorrect Ethernet address or TSAP address is configured for the remote node (the interface node in this case), the PLC will reject communication with an error of RB_RESPONSE=22. For this reason, a very good option is to use fully unspecified communication. To use unspecified communication, enter all zeros for the remote Ethernet address and all zeros for the remote TSAP. With fully unspecified communication, the interface can connect to the PLC from any node. Partially unspecified communication is when all zeros are entered for either the remote Ethernet address or the remote TSAP address, but not for both.
Unfortunately, it is also possible to get an RB_RESPONSE=22 if the control panel configuration under "Setting the PG/PC Interface" is not set correctly. When one brings up the control panel, one should make sure that the correct Ethernet card and access point is highlighted at the time that the control panel is opened (before one types or clicks on anything). If not, the control panel configuration may be the problem. The access point in the control panel must match the access point in the sinet.ini file.
Siemens SIMATIC NET Interface to the PI System 74
Appendix CTest Environment
The Interface was tested under the following Test Environment:
HOST PC SIEMENS PLC
MS WindowsNT 4.0 SP3
MS Visual C++ V5.0 SP3 enterprise edition
PI 3.2 Build 329
SIEMENS CP1413
SIEMENS TF-1413 V4.01
SIEMENS SIMATIC 505 CPU 555
505-CP1434TF
MS WindowsNT 4.0 SP3
MS Visual C++ V5.0 SP3 enterprise edition
PI 3.2 Build 329
3Com EtherLink III (3C589) PCMCIA adapter
SOFTNET-S7 V2.2
SIEMENS SIMATIC 505SIMATIC TI55CPU
SINEC H1 Communication Processor505-CP-1434TF
MS WindowsNT 4.0 SP4
MS Visual C++ 6.0 enterprise edition
PI3.2SR1 build 357.11
DEC PCI Ethernet DECchip 21041
SOFTNWR-S7 V3.0
SIEMENS SIMATIC S5 155U CPU9486ES5948-3UA11
SIEMENS SIMATIC S5 135U CPU928B6ES5928-3UB21
SINEC H1 Communication Processor CP1436GK1143-0AA01
Siemens SIMATIC NET Interface to the PI System 75
Appendix DNative TCP/IP, RFC1006 TCP/IP, and H1
H1 refers to the ISO industrial Ethernet. RFC1006 TCP/IP refers to the packaging of ISO industrial Ethernet packets within TCP/IP packets, whereas native TCP/IP implies that this packaging does not need to be done.
The Siemens Simatic Net interface to the PI System has been tested only on an H1 industrial Ethernet. Theoretically, the interface can also communicate across a TCP/IP network via the RFC1006 packaging method, but the interface has not been tested in this environment. Note that the interface has no idea whether it is communicating via H1 or RFC1006 TCP/IP. The Siemens libraries handle the assembling of H1 packets and RFC1006 TCP/IP packets.
However, as described below, there are other limitations depending upon the type of PLC that the interface will be communicating to.
TI505 PLCsThe interface can communicate to TI505 PLCs only across an ISO industrial Ethernet (H1). Although TI505 PLCs can communicate via RFC1006 TCP/IP with the use of a CP2572 Ethernet adapter, the TI505 PLCs cannot understand the read/write messages that are sent by interface.
S5 and S7 PLCsThe interface can communicate to S5 and S7 PLCs across an ISO industrial Ethernet. Theoretically, the interface can also communicate to S5 and S7 PLCs across a TCP/IP Ethernet by means of RFC1006 TCP/IP. However, the interface has not been tested with TCP/IP.
Siemens SIMATIC NET Interface to the PI System 77
Appendix ESupported Data Types for Simatic TI-505 PLCs
Memory Type
TF Encoding Description
V Integer16 Variable Memory
V. Floating Point(see right)
Variable Memory (same as VF)
V. memory can be use to read either 32-bit floating points or 32-bit integers from a PLC.
Typically, the TF encoding for V. is a 32-bit floating point number. However, variables other than floating points can be stored in variable memory. For example, one could use V memory to hold an integer32. The interface assumes that a 32-bit floating-point number is stored in the variable memory if the corresponding PI tag is of type floating point. The interface assumes that a 32-bit integer is stored in the variable memory if the corresponding PI tag is of type integer or digital.
K Integer16 Constant
X Boolean Discrete Input
X/Y Boolean Discrete Input
Y Boolean Discrete Output
C Boolean Control Register
WX Integer16 Word Input
WY Integer16 Word Output
TCP Unsigned16 Timer/Counter Preset
TCC Unsigned16 Timer/Counter Current
DSP Unsigned16 Drum Step Preset
DSC Unsigned16 Drum Step Current
STW Unsigned16 System Status Words
DCC Unsigned32 Drum Current Count
VF Floating Point(see right)
Variable Memory (See descriptor of V. above)
KF Floating Point Constant Memory
LS Unsigned16 Loop Status
LM Unsigned16 Loop Mode
LKC Floating Point Loop Gain
LTI Floating Point Loop Reset Time (minutes)
LTD Floating Point Loop Rate Time (minutes)
Siemens SIMATIC NET Interface to the PI System 79
Memory Type
TF Encoding Description
LHA Floating Point Loop High Alarm Limit
LLA Floating Point Loop Low Alarm Limit
LPV Floating Point Loop Process Variable
LPVH Floating Point Loop PV High Limit
LPVL Floating Point Loop PV Low Limit
LODA Floating Point Loop Orange Deviation Alarm Limit
LYDA Floating Point Loop Yellow Deviation Alarm Limit
LTS Floating Point Loop Sample Rate (seconds)
LSP Floating Point Loop Setpoint
LMN Floating Point Loop Output (percent)
LVF Unsigned16 Loop V-flags
LERR Floating Point Loop Error
LMX Floating Point Loop Bias
LHHA Floating Point Loop High-High Alarm Limit
LLLA Floating Point Loop Low-Low Alarm Limit
LRCA Floating Point Loop Rate-of-Change Alarm Limit
LSPH Floating Point Loop Setpoint High Limit
LSPL Floating Point Loop Setpoint Low Limit
LADB Floating Point Loop Alarm Deadband
LKD Floating Point Loop Derivative Gain Limiting Coefficient
LRSN Unsigned16 Loop Ramp/Soak Step Number
LACK Unsigned16 Loop Alarm Acknowledge Flags
AHA Floating Point High Alarm Limit
ALA Floating Point Low Alarm Limit
APV Floating Point Process Variable
APVH Floating Point PV High Limit
APVL Floating Point PV Low Limit
AODA Floating Point Orange Deviation Alarm Limit
AYDA Floating Point Yellow Deviation Alarm Limit
ATS Floating Point Sample Rate in Seconds
ASP Floating Point Alarm Setpoint
AVF Unsigned16 Alarm V-flags
ACF Unsigned32 Alarm C-flags
AERR Floating Point Alarm Error
AHHA Floating Point High-High Alarm Limit
Siemens SIMATIC NET Interface to the PI System 80
Memory Type
TF Encoding Description
ALLA Floating Point Low-Low Alarm Limit
ARCA Floating Point Rate-of-Change Alarm Limit
ASPH Floating Point Setpoint High Limit
ASPL Floating Point Setpoint Low Limit
AADB Floating Point Alarm Deadband
GZ Integer16 Global Variables
GY Integer16 Global Variables
GX Integer16 Global Variables
GW Integer16 Global Variables
GV Integer16 Global Variables
GU Integer16 Global Variables
GT Integer16 Global Variables
GS Integer16 Global Variables
GR Integer16 Global Variables
GQ Integer16 Global Variables
GP Integer16 Global Variables
GO Integer16 Global Variables
GN Integer16 Global Variables
GM Integer16 Global Variables
GL Integer16 Global Variables
GK Integer16 Global Variables
GJ Integer16 Global Variables
GI Integer16 Global Variables
GH Integer16 Global Variables
GG Integer16 Global Variables
GF Integer16 Global Variables
GE Integer16 Global Variables
GD Integer16 Global Variables
GC Integer16 Global Variables
GB Integer16 Global Variables
GA Integer16 Global Variables
G Integer16 Global Variables
Siemens SIMATIC NET Interface to the PI System 81
Appendix FOutput Tag Configuration Examples
Individual WritesIf one wishes to write the value 10 to V memory location 31 in logical PLC 1 for interface 1, one needs to define an output tag and a trigger tag (SourceTag as shown in the tables below.
To write a value of 10 to the PLC, a value of 10 must be written to the SourceTag. In this example, the SourceTag happens to be a “laboratory” tag, which simply means that the PointSource is L for the SourceTag. For the beginner, it may not be obvious how to write a value to a laboratory point. The PI-API is one option (the PI-API is OSI’s application programming interface). The SourceTag could have easily have been a calculation tag (PointSource C) or a Tag for the Siemen’s Simatic Net interface itself (Pointsource S). Hence, one should not be overly concerned with writing values to laboratory points at this juncture. The important thing to note is that whenever a new value is written to the SourceTag, this value is also written to the PLC.
Output Tag Configuration
Attribute Value Description
Tag Test1.tag The name of the tag
PointType Float32 See the description of the PointType attribute.
Extended Descriptor
<blank> See the description of the Extended Descriptor attribute.
PointSource S A PointSource of S identifies this point as a Point for the Siemen’s Simatic Net Interface to the PI System.
InstrumentTag V31 Write to memory location V31
Location1 1 The interface number
Location2 1 The logical PLC number
Location3 0 Location3 should be zero for individual writes.
Location4 0 The value of location4 has no effect on output tags. Any value can be used.
Location5 1 A tag is an output tag if Location5 is 1.
SourceTag Test1.src Test1.src is the trigger tag for the write.
SquareRoot 0 Do not perform a conversion on the output.
Siemens SIMATIC NET Interface to the PI System 83
SourceTag Configuration
Attribute Value Description
Tag Test1.src The name of the trigger tag
PointType Float32 See the description of the PointType attribute.
PointSource L Any PI Point can serve as the trigger tag. A “laboratory” point (PointSource L) was chosen for this example. One could just have easily chosen a calculation point (PointSource C) or a point from the Siemen’s Simatic Net Interface itself (PointSource S). The advantage of using a calculation point is that the PE Scheduler can be used to periodically write a value to the trigger tag.
Block Write ExampleSay one wants to write the values 11, 12, 13, and 14 to V11, V12, V13, and V14 respectively. The logical PLC number is 1 and the interface number is 1. One needs to define 4 output tags, one master tag, and one trigger tag as shown in the tables below. Next one would write a value of 11 to output tag 1, 12 to output tag 2, 13 to output tag 3, and 14 to output tag 4. These values are sent to the PLC when a new value is sent to the SourceTag that is associated with the output master tag.
Configuration for Output Tag 1
Attribute Value Description
Tag Output1.tag The name of the tag
PointType Float32 See the description of the PointType attribute.
Extended Descriptor
<blank> See the description of the Extended Descriptor attribute.
PointSource S A PointSource of S identifies this point as a Point for the Siemen’s Simatic Net Interface to the PI System.
InstrumentTag V11 Write to memory location V11
Location1 1 The interface number
Location2 1 The logical PLC number
Location3 1 This tag is a member of output block 1.
Location4 0 The value of location4 has no effect on output tags. Any value can be used.
Location5 1 A tag is an output tag if Location5 is 1.
SourceTag <blank> The SourceTag is only meaningful for the output master tag.
SquareRoot 0 The SquareRoot attribute is only meaningful for the output master tag.
Siemens SIMATIC NET Interface to the PI System 84
Configuration for Output Tag 2This tag has the same configuration as Output Tag 1, except for the following attributes:
Attribute Value Description
Tag Output2.tag The name of the tag
InstrumentTag V12 Write to memory location V12
Configuration for Output Tag 3This tag has the same configuration as Output Tag 1, except for the following attributes:
Attribute Value Description
Tag Output3.tag The name of the tag
InstrumentTag V13 Write to memory location V13
Configuration for Output Tag 4This tag has the same configuration as Output Tag 1, except for the following attributes:
Attribute Value Description
Tag Output4.tag The name of the tag
InstrumentTag V14 Write to memory location V14
Configuration for Output Master Tag
Attribute Value Description
Tag Master1.tag The name of the tag
PointType Float32 See the description of the PointType attribute.
Extended Descriptor
OUTPUT_MASTER See the description of the Extended Descriptor attribute.
PointSource S A PointSource of S identifies this point as a Point for the Siemen’s Simatic Net Interface to the PI System.
InstrumentTag V The InstrumentTag field is set to the Memory Type that is to be read. In this case, V memory is being read.
Location1 1 The interface number
Location2 1 The logical PLC number
Location3 1 This tag is a member of output block 1.
Location4 0 The value of location4 has no effect on output tags. Any value can be used.
Location5 1 A tag is an output tag if Location5 is 1.
SourceTag Source1.tag The SourceTag is only meaningful for the output master tag.
Siemens SIMATIC NET Interface to the PI System 85
Appendix F: Output Tag Configuration Examples
SourceTag Configuration
Attribute Value Description
Tag Source1.tag The name of the trigger tag
PointType Float32 See the description of the PointType attribute.
PointSource L Any PI Point can serve as the trigger tag. A “laboratory” point (PointSource L) was chosen for this example. One could just have easily chosen a calculation point (PointSource C) or a point from the Siemen’s Simatic Net Interface itself (PointSource S). The advantage of using a calculation point is that the PE Scheduler can be used to periodically write a value to the trigger tag.
86
Appendix GTracing Send/Receive Messages
It is possible to trace the send/receive messages that the interface uses. This may be useful for debugging purposes, but it is not desirable to have tracing on during normal interface operation because tracing will have a detrimental effect on performance. The following screen shots demonstrate how tracing can be turned off or on for the interface.
Select Setting the PG/PC Interface from Control Panel
Select Diagnostics
Siemens SIMATIC NET Interface to the PI System 87
The following message is displayed. Select OK.
Select the SR Protocol Diagnostics tab
Siemens SIMATIC NET Interface to the PI System 88
Make sure that the Activate SR Trace option is unchecked
Siemens SIMATIC NET Interface to the PI System 89
Appendix G: Tracing Send/Receive Messages
90
Appendix HISO/OSI Reference Model
The seven layers of the ISO/OSI reference model are:
Layer Name Function
7 Application layer Application functions
6 Presentation layer Data representation
5 Session layer Synchronization of communications (opening, end)
4 Transport layer Connection setup and clearance, acknowledgements, segmentation.
3 Network layer Addressing of other networks/network connections.
2 Data link layer Access methods, error-protected transmission.
1 Physical layer Physical conditions of transmission rights.
Siemens SIMATIC NET Interface to the PI System 91
Appendix IConfiguring a Second Ethernet Card
In order to install a second Ethernet card for PLC/DCS access, open the control panel, then the Network control panel.
Siemens SIMATIC NET Interface to the PI System 93
First pane from Network control panel
Select the Adapters tab. The result is below.
Siemens SIMATIC NET Interface to the PI System 94
Scroll down to the type of hardware installed.
We usually put the distribution files in the i386 folder on one of the local disks.
Select OK to continue.
Siemens SIMATIC NET Interface to the PI System 95
Appendix I: Configuring a Second Ethernet Card
Select Test.
Test in progress...
96
Successfully completed test. Select OK.
Siemens SIMATIC NET Interface to the PI System 97
Appendix I: Configuring a Second Ethernet Card
Go to the Bindings tab.
98
Select "all adapters" under the Show Bindings for box.
Disable TCP/IP, etc. on the new card if used for Siemens PLC access.
Siemens SIMATIC NET Interface to the PI System 99
Appendix I: Configuring a Second Ethernet Card
Disable WINS Client TCP/IP also.
100
Siemens SIMATIC NET Interface to the PI System 101
Appendix I: Configuring a Second Ethernet Card
Select Close. The following messages appear.
Select Yes and let the machine reboot.
102
Once placed in the CD drive, the Simatic Net Software Autorun will display this screen. Select "Install Software SIMATIC NET"
Select Next
Siemens SIMATIC NET Interface to the PI System 103
Appendix I: Configuring a Second Ethernet Card
104
Siemens SIMATIC NET Interface to the PI System 105
Appendix I: Configuring a Second Ethernet Card
106
Select "IE SOFTNET-S7 EXT" or "IE SOFTNET-S7 BASIC" as appropriate to the license purchased.
Siemens SIMATIC NET Interface to the PI System 107
Appendix I: Configuring a Second Ethernet Card
108
It is best to just select Done, and restart Windows manually.
Siemens SIMATIC NET Interface to the PI System 109
Appendix I: Configuring a Second Ethernet Card
Open the Control Panel, then the "Setting the PPPG/PC Interface" control panel.
110
Select "Install"
Select "ISO Ind. Ethernet" under Selection then select "Install"
Siemens SIMATIC NET Interface to the PI System 111
Appendix I: Configuring a Second Ethernet Card
Select "Add"
Select "SIEMENS Industrial Ethernet (ISO)", then OK.
112
We usually put the distribution files in the i386 folder on one of the local disks.
Once it is done, you will be back in the Network control panel. Select "Bindings".
Siemens SIMATIC NET Interface to the PI System 113
Appendix I: Configuring a Second Ethernet Card
Select "all adapters" under the Show Bindings for box.
114
If you are running multiple Ethernet cards, select the card(s) that will NOT be used for Siemens PLC access and expand the view (+). Select "SIEMENS Industrial Ethernet (ISO)", then "Disable"
Siemens SIMATIC NET Interface to the PI System 115
Appendix I: Configuring a Second Ethernet Card
Once disabled on the Ethernet adapter not connected to the PLC network, select close.
Windows will want to reboot. Select Yes.
116
After the reboot, open the Control Panel, then the "Setting the PPPG/PC Interface" control panel.
Siemens SIMATIC NET Interface to the PI System 117
Appendix I: Configuring a Second Ethernet Card
118
Select "ISO Ind. Ethernet..." in the Module Parameter Set Used box.
Siemens SIMATIC NET Interface to the PI System 119
Appendix I: Configuring a Second Ethernet Card
Select (highlight in blue) S7ONLINE in the Access Point of Application box. Next, select Diagnostics.
120
Select Test under the "SOFTNET IE" tab.
Siemens SIMATIC NET Interface to the PI System 121
Appendix I: Configuring a Second Ethernet Card
Result from a successful installation.
122
Revision HistoryDate Author Comments
98 BB initial draft
29-Jul-99 AS changes for S5
21-Oct-99 GWM Changes for release of 1.3.5
27-Dec-99 GWM Connection should be active, static for 1434 card.
19-Apr-00 AS RBYTE, LBYTE and MASK for S5. CP 1613
15-Apr-02 BP Changes for release 1.4.2 – string support for 505
29-May-02 CG Skeleton 1.11; added ICU control
30-May-02 BP Update for 1.4.2
06-Jun-02 BP/AS Updated S7<as> and ICU bufserv section <bp>
10-Jun-02 HAB Updated with current ICU control (1.4.2, doc rev A)
Siemens SIMATIC NET Interface to the PI System 123