2. Selection - Schneider Electric
Transcription
2. Selection - Schneider Electric
System Technical Guide How can I … manage a remote process application? 1 2 Disclaimer This document is not comprehensive for any systems using the given architecture and does not absolve users of their duty to uphold the safety requirements for the equipment used in their systems or compliance with both national or international safety laws and regulations. Readers are considered to already know how to use the products described in this document. This document does not replace any specific product documentation. 3 The STG Collection System Technical Guides (STG) are designed to help project engineers and Alliance System Integrators during the development of a project. The STGs support users during the architecture selection and the project execution (design, configuration, implementation and operation) phases with an introduction to the system operating modes. Each STG is a starter kit that provides users with: • Technical documentation • Application examples • Object libraries Each STG addresses one or several customer challenges within the proposed solution using the offer from Schneider Electric. All explanations and applications have been developed by both Schneider Electric experts and System Integrators in our solution labs. The contribution from the system integrators helps the kit’s contents meet the expectations of our users. All STGs are illustrated with industry-specific applications to give more concrete examples of the methodology. It is not intended that the STGs be used as substitutes for the technical documentation related to the individual components, but rather used to compliment these materials and training. Development Environment Each STG has been developed in one of our solution platform labs using a typical PlantStruxure architecture. PlantStruxure, the Process Automation System from Schneider Electric, is a collaborative system that allows industrial and infrastructure companies to meet their automation needs and at the same time address growing energy management requirements. In a single environment, measured energy and process data can be analyzed to yield a holistically optimized plant. 4 Table of Contents 1. Introduction...........................................................................7 1.1. Purpose ........................................................................................................................................................ 7 1.2. Customer Challenges ................................................................................................................................... 7 1.3. Prerequisites ................................................................................................................................................ 8 1.4. Project Methodology.................................................................................................................................... 8 1.5. Presentation of the Project......................................................................................................................... 10 2. Selection..............................................................................13 2.1. Architecture Selection ................................................................................................................................ 15 2.2. Remote Functionalities............................................................................................................................... 25 3. Design..................................................................................29 3.1. Introduction................................................................................................................................................ 29 3.2. Communication .......................................................................................................................................... 30 3.3. Remote Functionalities............................................................................................................................... 42 4. Configuration ......................................................................53 4.1. Introduction................................................................................................................................................ 53 4.2. Communication .......................................................................................................................................... 54 4.3. Remote Functionalities............................................................................................................................... 77 5. Implementation ...................................................................85 5.1. Introduction................................................................................................................................................ 85 5.2. Communication .......................................................................................................................................... 86 5.3. Remote Functionalities............................................................................................................................... 87 6.Operation............................................................................125 6.1 Communication Establishment.................................................................................................................. 125 5 6.2 Remote Functionalities.............................................................................................................................. 127 7. Appendix ...........................................................................137 7.1 Custom Pages............................................................................................................................................ 137 7.2. Graphic Viewer ........................................................................................................................................ 150 7.3. Technologies ............................................................................................................................................ 153 6 1-Introduction 1. Introduction 1.1. Purpose The purpose of this STG is to provide recommendations, guidelines, and examples to help create a remote automation services including operating, monitoring and maintenance. This guide is focused on the implementation of remote control applications using permanent, non-reliable communication. The scope of the guide is summed up by this key question: What are the typical applications where remote access and/ or remote control could be required? Such applications include: • Cases for which mobility is a key element, the application can be directly embedded on the transport medium. For example, a mining truck’s automation system can be controlled and monitored during its round trip. • In isolated applications, if wired solutions are not possible because of the distance between the control room and the process units. Examples include an extraction plant in the cement industry or a water pumping station. • For inter-communication between remote units. For example, in a water treatment plant, a controller in the remote drinking water station exchanges data with another controller in a different remote water tower, separately from the main control room. The solution described in this STG forms part of a PlantStruxure control system. The remote communication service used in the following architectures is GPRS provided by the TSG ETG 302X module, which acts as a remote terminal unit (RTU). 1.2. Customer Challenges For customers in industries that require the types of applications mentioned above, the challenge is to provide access to information and deliver the ability to control their process while at the same time reducing installation costs and ongoing maintenance costs. The STG suggests best practices to address these challenges and highlights specific areas including how to: • Implement transparency in data access 7 1-Introduction • Establish secured connection • Manage historical data • Optimize developments in the event of reuse 1.3. Prerequisites We recommend the user have knowledge of the following software: • Unity Pro • Vijeo Citect • Web Designer for FactoryCast Web servers 1.4. Project Methodology This STG explains the project methodology and includes the following phases: Selection, Design, Configuration, Implementation and Operation. The methodology is illustrated using 6 examples. Their features are described in the Selection phase. Each architecture shows a specific feature necessary for remote process applications. Beginning with process analysis and user requirements, we identify and develop common functionalities for all the architectures. These key functions are explained in the Design, Configuration and Implementation phases. Finally, the Operation phase shows the user how to use the final application. Here are the phases described in this document: • 1, Selection: In this phase we present the basic requirements for remote processing. We then establish the selection criteria and describe the architectures: Basic requirements • Remote programming, diagnosis and maintenance • Continuity of service Architecture Selection • Selection Criteria o Security policy o Budget 8 1-Introduction o Process topology o Operator profiles o Centralized or distributed control in terms of operating, programming and monitoring. • • Description of architectures • Synthesis 2, Design: In this phase, we introduce the key functions and also highlight all software and services required to perform remote access: • Communication • Ethernet • Internet access • IP Address publication • Network interconnection Remote functionalities • Operating • Monitoring • Programming • Historical data management • Reporting 3, Configuration: Using the same key functions as introduced in the previous phase, we show you the required configuration for each of the installation’s key elements: Operators Workstations TSX ETG 302X modules and how to perform that configuration. • 4, Implementation: Using the same key functions as introduced previously and the key elements defined in the configuration phase, we provide information about final customization to address the project requirements. • 5, Operation: Here we provide a methodology for operating the entire, final installation, based on the selected remote functionalities. 9 1-Introduction 1.5. Presentation of the Project The recommendations and guidelines provided in this STG are generic for remote process applications, and can be adapted to other applications such as oil and gas, water and so on. However, we use the specific example of a drinking water plant to illustrate our methodology and application. The goal is to simulate two remote sites of a water treatment plant: a drinking water pumping station and a water tower used as a boosting station. These sites can be remotely controlled by two workstations in separate control rooms, or by a mobile operator from anywhere. The following illustration represents the target application: Control Rooms Remote Site 2 : Water Tower Remote Site 1 : Mobile Operator Drinking Water Station 10 1-Introduction An overview of the remote installation is shown below: Control Rooms Mobile Operator Remote Site Remote Site 1 2 Drinking Water Station Water Tower 11 1-Introduction 12 2-Selection 2. Selection You use the Selection phase of the project to choose the appropriate architecture. Several remote systems are presented in this chapter, each providing scalable levels of functions and services. All these architectures use an ETG 302X module as the remote terminal unit. Note: in the Schneider Electric offer, the W@de module is also available with similar abilities. Future STGs will illustrate this remote terminal unit. This chapter first defines selection criteria. A description of our architectures will lead to a synthesis, relating the selection criteria with each architecture’s abilities. Finally, the chapter concludes with an overview of all the remote functionalities performed by our offer. The architecture is selected based on the project and plant’s constraints, as well as the required level of functionality. 13 2-Selection The following illustration summarizes our project’s approach: 14 2-Selection 2.1. Architecture Selection This section shows you how to select the most appropriate architectures for a specific project specification. To help you in this choice we first define functional and operational constraints. 2.1.1. Functional and Operational Constraints 5 functional and operational constraints are defined, and used as selection criteria: • Operator profiles • Security policy, • Operating, monitoring and programming architecture • Process topology • Budget The following paragraphs provide detail about each of these constraints. Operator Profiles In the event of a multiple-site plant, the managers must consider the teams who control, operate and maintain the different units. Typical considerations include: • Where are the operation teams located? (mobile team, centralized team, etc.), • What are the skills of each team? (maintenance, programming, etc.), • How many are there, according to my plant? Based on the answers to these questions, we recommend solutions that are easy to implement and maintain. Thanks to its integrated services, installing the TSX ETG 302X module both on the control and plant sides can ease remote access management. 15 2-Selection Security Policy The application’s domain, or the criticality of the process can make security considerations a critical facet. In such cases, the communications between control room and remote sites or functional units must be secured using VPN tunnels authentication and encryption. To address these requirements, the architectures presented in the guide propose different levels of security. The ETG 302X module embeds a VPN server that lets you link several LANs through the WAN with authentication and encryption. We also propose and describe alternative architectures with the NAT transparent routing function. This technology brings transparency and ease of remote access but does not provide authentication and encryption. Operating, Monitoring and Programming Architecture The operating and monitoring architecture has a significant influence on the global system architecture. Examples include: • Centralized control room with one or several SCADA workstations. These workstations are Vijeo Citect Client/ Server. • Distributed operating and monitoring systems with SCADA workstations located in separate control rooms or close to the process. These workstations are Vijeo Citect Client or Web Client. • Mobile operator teams that require easy access to critical data, regardless of location. To remotely operate and monitor the architecture, the multiple control functionality lets you create SCADA systems that rigorously duplicate the main system. In our architectures, we use Vijeo Citect as a SCADA system and Factory Cast as a web monitoring system. 16 2-Selection Process Topology The process topology depends on the number of remote sites that make up the installation, the type of communication, and the requirements for synchronization between remote sites. In some automation cases, based on the process topology, the inter-plant communication is a key feature. Functional units can be distant from the control room and each other. Information provided by one functional unit can be triggers for others, therefore, inter-site communication must be implemented. A TSX ETG 302X module allows communication with TSX ETG 302X modules, provided the user has installed a module in each remote site (functional unit). Budget Finally, the budget is an important criterion, as the entire automation architecture depends on budget constraints. As a consequence, the person responsible for the plant must organize all needs into a hierarchy, then define the most appropriate architecture. 17 2-Selection 2.1.2. Architecture Descriptions This section presents and describes the 3 developed architectures, from the least complex to the most complex. Each architecture is available with alternative solutions: either technology NAT (Network Address Translation) or VPN (Virtual Private Tunnel), and includes the same three key topology levels: control room, remote sites and remote communication. Architecture 1 with NAT Transparent Routing The first architecture represents a control room (Operator Workstation 1) that manages a unique remote site. A mobile operator (Operator Workstation 3) can maintain or diagnose the remote site. This architecture contains a unique TSX ETG 302X module on the remote plant ‘s side. On the control room’s side, we use 3G+ USB modems establish the connection with the Internet. The control room and the remote site communicate using NAT routing configuration. The NAT routing table configured in the TSX ETG 302X module allows transparent access to the M340. This solution represents the more cost-effective of our offers described in this guide. In addition, Operator Workstations can access to the remote sites with an appropriate internet’s connection. 18 2-Selection The following illustration shows architecture1, with NAT routing solution: NAT Routing Table 19 2-Selection Architecture 1 with VPN This architecture is the same as presented above, except that a VPN tunnel performs the authenticated and encrypted link between the control room and the remote site. As a result, the exchanges between the Operator Workstations and the PAC are authenticated and encrypted. This architecture introduces a key selection criterion: secured transmission of the data. In addition, the VPN tunnel allows transparent access to the remote LAN connected behind the ETG 302X module. The following illustration shows the architecture with this VPN solution: 20 2-Selection Architecture 2 NAT & VPN Solutions This architecture is similar to the previous one, with an additional TSX ETG 302X remote terminal unit located in the control room. In this case, the TSX ETG 302X module acts as an interface between the SCADA system and the remote sites. All communication is managed by the module, which controls operations and facilitates handling. For example, an additional PC (Operator Workstation 2) can become a Vijeo Citect Client or a Web Client in a transparent manner. This lets you thoroughly duplicate your SCADA system in another control room. The mobile PC (Operator Workstation 3) still maintains or diagnoses the remote site, either through a VPN tunnel or a NAT routing. Here, the basic element is the multiple control, with the possibility of adding SCADA systems. The following illustration shows the second architecture, with NAT routing solution: NAT Routing Table NAT Routing Table 21 2-Selection The following illustration shows the architecture 2, with VPN solution: . 22 2-Selection Architecture 3 NAT & VPN Solutions This final case shows a typical architecture for secured inter-communication between remote sites. Here, 3 TSX ETG 302X modules are installed, one in a control room and the others in separate remote sites. Note that the Operator Workstation 3 can maintain and diagnose the remote sites in all cases (NAT or VPN). Due to the integrated module’s VPN server, a large number of modules can be managed. Thus scalable architectures can interface with various application topologies. For more information, refer to the module’s technical documentation. The following illustration shows the architecture 3, with NAT routing solution: NAT Routing Table NAT Routing Table NAT Routing Table 23 2-Selection The following illustration shows the third architecture, with VPN solution: 24 2-Selection 2.2. Remote Functionalities All previously described architectures comprise a GPRS communication with the following functional levels: Remote Functional Level Remote Functionality Control room Operating, programming and monitoring Mobiles operators using Web interface Maintenance and diagnosis (Factory Cast) Remote terminal unit for data logging Continuity of service PAC station Control In our applications, the TSX ETG 302X module links LAN networks using the Internet. The Internet’s connection is performed through a mobile communication network (GPRS or 3G+) with the associated speed constraints of a wired connection. This section describes these functionalities and how their features are completed using our remote access management. 2.2.1. Operating, Monitoring and Programming In all the specified architectures, operating, programming and monitoring use Modbus TCP protocol through a GPRS communication. Two interfaces are used: Vijeo Citect (with OFS) as a SCADA system in the control room, and Factory Cast as a monitoring system for mobile operators through a Web browser. In addition, the remote monitoring of variables is used to check correct process operation. In this context, the TSX ETG 302X module embeds a Web server that allows monitoring of variables. Finally, Unity Pro is used to program the remote PAC applications. 25 2-Selection 2.2.2. Maintenance Maintaining an application remotely has both temporal and spatial advantages: stakeholders can maintain the application from any location at any time. It thus allows real time access of the installation from the module’s integrated Web server. It allows the creation of custom web pages and custom graphic pages to interact with the data and/or devices. If required, remote programming can also be used to remotely fix inoperative PAC stations or other devices (such as drives). 2.2.3. Diagnosis Remote diagnosis can improve communication with the maintenance team, and consequently reduce budget and enhance the global availability of the installation. The E-mail service of the module provides two functions: reporting and/or alarming via E-mail, and SMS. These functions are triggered by events. 2.2.4. Continuity of Service Some automation processes must maintain their data integrity, especially in cases of non-reliable remote connections. With mobile technologies such as 3G+ or GPRS, the remote medium can experience significant fluctuations or disconnections. In such cases, management of historical trends is required. In the case of communication loss between the SCADA and remote sites, the module provides a datalogging service, which consists of the automatic archiving of the application’s information such as measures, events, etc. The log files are saved as CSV files into the flash module memory. Coupled with Vijeo Citect SCADA, the system offers a real historian Trends management solution with an automatic data backfill between the ETG remote terminal unit and the SCADA. Note: The application can also address communication disconnections, because of the module’s ability to change between two modem communication links, a primary and backup: ADSL as primary link and GPRS as backup link. In the event of a communication loss by the primary modem link, the module automatically switches to the backup until the primary is operational again. This guide does not illustrate this functionality. For more details, refer to the technical documentation for the TSX ETG 302X module. Note: Architectures 2 and 3 in a NAT configuration do not allow the historical data management because of the module Operator Workstation 1 firewall restrictions regarding the active FTP mode. 26 2-Selection Note: As an alternative solution, it is possible to automatically archive the application’s information into an external database (SQL Server, Oracle, and MySQL). This guide does not illustrate this functionality. 2.2.5. Synthesis The following table demonstrates our offer’s scalability: Architecture 3 VPN Security Architecture 2 VPN Architecture 1 VPN Architecture 3 NAT Architecture 2 NAT Architecture 1 NAT Process Topology The following table shows the architecture and their associated criteria: Selection Criteria Architectures Operator’s Security Operating Profile Policy and (Skills, (NAT / VPN) Budget Topology Monitoring (Multi site (Additional availability) Process connection) SCADA) Architecture1 X X/ XXXX X _ XXXX Architecture2 XX X/ XXXX XXXX _ XXX Architecture3 XXX X/ XXXX XXXX XXXX XX XXXX: the more suitable Legends X: the less suitable -: absent function 27 2-Selection 28 3-Design 3. Design 3.1. Introduction The Design phase consists of the installation and preparation of all required services and software, before proceeding to the configuration phase. We use the 3 system architectures presented in the previous chapter. Three main components are part of these architectures and require dedicated design: • Control room for operating, monitoring & programming • Remote sites for process control • Remote communication This section explains the following key functions, classified in two main domains: • Communication As previously mentioned, the architectures always comprise three levels: a control room, communication through the Internet (WAN), and the plant. Typically, all equipments included in the control room and the plant are connected using LAN, with private IP addresses. This section shows you how to design a LAN to LAN communication using WAN, with the following topics: • Ethernet Internet Access IP address publication Network interconnection Remote functionalities These sections describe the functionalities the user can perform with remote access: Operating Monitoring Programming Historical data management Reporting Alarming. 29 3-Design 3.2. Communication This section explains the main design features allowing the control room and the remote sites to communicate. The graphic below shows the three structuring levels of our architectures: Local IP Address Management IP Address Publication Transparency or Security IP Address Publication Local IP Address Management The user has three operations to consider: • Local IP addresses management • IP address publication (for dynamic IP public addresses) • Transparency level of the internet connection 30 3-Design The user should manage items in the following order: 1. The local network parameters, to define IP addresses in the control room and the remote sites. Ranges of private IP addresses are defined for local use only, according to ICANN (Internet Corporation for Assigned Names and Numbers, www.ICANN.org) rules. 2. The ISP (Internet Service Provider), to connect to the Internet. 3. The IP address publication, to define well-known addresses (URLs), for use with dynamic public IP addresses. 4. The network interconnection, to link the remote LANs (from the control and plant sides) through the WAN or Internet. Each of these steps is described in the sections that follow. 3.2.1. Local Network Parameters If not previously defined by the project’s requirements, the customer must choose the IP addresses for all equipment, in compliance with IP V4 format, and, following ICANN rules. Several ranges of private IP addresses are assigned to each remote site. Later sections of this document will demonstrate that when using VPN, the range of the remote site’s IP addresses must be part of separated sub-networks. 31 3-Design The following table lists the local network parameters: Equipment IP address Sub-mask Gateway Control Room Side Control Room 1 TSX ETG 302X 192.168.10.50 255.255.255.0 Operator 192.168.10.10 255.255.255.0 Workstation 1 192.168.10.50 (Architecture 1: blank) Control Room 2 Operator 10.40.78.15 255.255.255.0 10.168.15.12 255.255.255.0 Workstation 2 Control Room 3 Operator Workstation 3 Plant Remote Side Plant 1 TSX ETG 302X 172.20.1.16 255.255.0.0 M340 172.20.1.4 255.255.0.0 172.20.1.16 ATV61 172.20.1.50 255.255.0.0 172.20.1.16 ATV61 172.20.1.51 255.255.0.0 172.20.1.16 ATV61 172.20.1.52 255.255.0.0 172.20.1.16 TSX ETG 302X 172.31.35.1 255.255.255.0 Premium 172.31.35.8 255.255.255.0 Plant 2 172.31.35.1 Note: To enable communication through the TSX ETG 302X module, you must enter into the Gateway parameter of each equipment’ IP configuration the same address of the TSX ETG 302X module. 32 3-Design 3.2.2. Internet Access To connect to the Internet, the user must subscribe to an ISP (Internet Service Provider). These subscriptions are required for each connected node, i.e. each workstation and TSX ETG302X module. In our architectures, all contracts (for control room and plants side) are mobile Internet types (GPRS/3G SIM cards). Customer profiles and infrastructures In GPRS (mobile phone technology), communications are done through the internet via an APN (Access Point Name) from a GPRS Service Provider and so connections are established differently as in GSM or PSTN. GPRS communications require a SIM card and a specific contract from a GPRS Service Provider. Depending on Customer profiles, communications may require various different network infrastructures for performing wireless remote access and though will imply adequate GPRS Service Provider contracts. We can highlight the following different customer profiles: • Companies (big water companies, etc) with needs for communications within their intranet/extranet network (private access) • Companies (communal utilities, machine builders, etc) with needs for remote access over the public network (internet access) According to the above classification, Service Providers are offering dedicated contracts well adapted to industrial applications with remote access: • Private contract: for big companies account including remote access within their intranet. • Public contract : “Machine to Machine” (M2M) or “Telemetry” type public remote access Various different options are available for each contract: • Option for various Data exchange rates (billing on data amount in Megabytes per month or unlimited amount per month) • Option for Static IP or Dynamic IP address 33 3-Design Note: In this system technical guide we will use and describe Public type contract (“Machine to Machine” or Telemetry) for public remote access with or without VPN security. Nevertheless, Private contracts will also benefit of the same remote access services as those described in this document. Required Subscriptions This table provides the required number of subscriptions, per architecture: Architecture Number 1 3 2 4 3 5 Use the following illustration to determine the number of required subscriptions: 5 subscriptions 34 3-Design 3.2.3. IP Address Publication To implement remote access, each component connected to the Internet must know the public IP address or the name of all components connected to the system. These components are: the operator workstations and the TSX ETG 302X remote terminal units. Note: The public IP addresses are provided by the ISP (Internet Service Provider). With a standard mobile internet subscription, the ISP renews the public IP addresses periodically. These types of addresses are called dynamic public IP addresses. To assign one of these as a static URL (Uniform Resource Locator), we recommend using a dynamic Domain Name System. In our application, the free DynDNS Domain Name System is used. Note: Using DynDNS, the URL names are pre-formatted, for example: xxxx.dyndns.info. Note: Depending on the ISP contract, you can request static IP addresses instead of dynamic IP addresses. In these cases, Dynamic Domain Name Systemis not required, and the information which follows is therefore not relevant. Note: The current OFS version does not manage the periodical renewal of the DNS URL. Therefore, in this guide, we use static IP addresses in all of the NAT architectures examples, listed in the following table: Equipment Public static IP address PLANT1 90.95.78.174 PLANT2 90.95.13.125 OPWS1 80.10.20.11 OPWS2 80.10.55.142 OPWS3 90.95.36.179 The next OFS release will include the periodical renewal of the DNS. 35 3-Design Before defining a URL, you must create an account on the www.dyndns.com website. You must retain the login and the password of the DynDNS account, which are essential for the Configuration phase explained in this STG. After creating your account, follow the table below that explains how to create an URL using DynDNS: Step 1 Action After the account’s creation, select the Service/ Add Host Service menu: 36 3-Design 2 The following windows appears: Type your desired Hostname (plant1), then choose the URL extension (dyndns.info). Select the Offline Hostname checkbox, then click on Add to Cart. 3 DynDNS lets you create up to 5 URLs per account free of charge.. Click on Next. 4 Click on Activate Services to finalize the URL creation. The plant1.dyndns.info URL is created. 5 Repeat the operation to create the other URLs for this architecture. 37 3-Design The following table lists the required URL names for Dyndns.com, according to the VPN architectures: Architecture Name Control Side Plant Side Operator Workstations TSX ETG 302X Module opws1.dyndns.info 1 plant1.dyndns.info opws3.dyndns.info opws1.dyndns.info 2 opws2.dyndns.info plant1.dyndns.info opws3.dyndns.info 3 opws1.dyndns.info plant1.dyndns.info opws2.dyndns.info plant2.dyndns.info opws3.dyndns.info Note: The TSX ETG 302X module embeds a DynDNS client. If your modem does not integrate this functionality, you must install the DynDNS Updater software on the workstation to update the URLs to agree with the dynamic public IP address. Install DynDNS Updater either by executing the DynUpSetup.exe file provided in this guide, or by downloading it from the www.dyndns.com website. The following table lists the workstations that require DynDNS Updater in the VPN architectures: Operator Operator Operator Workstation 1 Workstation 2 Workstation 3 1 X _ X 2 _ X X 3 _ X X Architecture 38 3-Design 3.2.4. Network Interconnection Two types of services can be used to interconnect the remote sites (remote LANs): • VPN tunnels (Virtual Private Network) • NAT transparent routing (Network Address Translation) Remote Access using VPN tunnel We use the Windows IPSec service as a VPN client to implement the tunnel between the remote sites. We recommend that you check the presence of the ipseccmd.exe file on the PC. If this file is not present, you need to install the Win XP additional tools (Support Tools), either from the file provided in this guide or from the Windows XP installation disk in the folder: Support\ Tools: WindowsXP-KB838079-SupportTools-ENU.exe. In Windows services, set the position of the ‘IPSEC Service’ to Automatic. Note: We recommend not to use TheGreenBow VPN client, because it does not allow to correctly manage active FTP service. 39 3-Design Remote Access using NAT Routing For NAT communication, you must clearly identify all the communication paths needed by your application. A TCP port has to be assigned to each of the device and service to access. The TSX ETG 302X module will translate the incoming address to the destination address thanks to the routing tables The following list gives the TCP ports used in the NAT architectures, and assigned to each equipment or services: • Plant1 • port 5000 assigned to the Modbus TCP port 502 of the M340 PAC Plant2 Port 6200 assigned to the Modbus TCP port 502 of the Ethernet port of the Premium PAC • Operator Workstation 1 Port 80 assigned to the HTTP port 80 of the Vijeo Citect Web Server Port 2075 assigned to the Report Server Communication port 2075 of the Vijeo Citect Web Server Port 2076 assigned to the Alarm Server Communication port 2076 of the Vijeo Citect Web Server Port 2077 assigned to the Trend Server Communication port 2077 of the Vijeo Citect Web Server Port 2078 assigned to the I/O Server Communication port 2078 of the Vijeo Citect Web Server Port 2080 assigned to the Alarm Properties Connector port 2080 of the Vijeo Citect Web Server Port 2082 assigned to the Publish Suscribe I/O Server Communication port 2082 of the Vijeo Citect Web Server Note: In the LAN, each equipment that are remotely accessed must be set with a static IP address. 40 3-Design Unit ID In the third architecture, to exchange process values between the 2 remote plants, the M340 Program of the PLANT 1 uses READ_VAR function. In the NAT solution, the READ_VAR will not accept an address in the following syntax: ’90.95.13.125:6200’. For this reason, we use the TSX ETG 302X module’s Unit ID routing. Therefore, for the TSX ETG 302X module Plant 2, you need: A Unit ID table for the READ_VAR function of the Plant 1. We use the TSX ETG 302X module’s ID 100 to route the frames to the ID 255 of the Premium PAC IP address, which is 172.31.35.8. 41 3-Design 3.3. Remote Functionalities Now that you have established communication between LAN equipments via the WAN, you can establish remote functionalities, as follows: • Operating & Monitoring the application • Programming, either for the PAC or the TSX ETG 302X module • Historical data management • Reporting • Alarming This section shows you how to implement each of these aspects. 3.3.1. Operating & Monitoring To operate and monitor the application, Vijeo Citect is required. In our architecture, the communication interface between Vijeo Citect and the M340 PAC is OFS. Install OFS on the SCADA from the Vijeo Citect installation CD-ROM. On the PC dedicated to maintenance or monitoring, you can directly access the monitoring services of the TSX ETG 302X module using its web page, via a Web browser. 3.3.2. Programming The two following programs are required: • The operator workstations must run Unity Pro to be properly connected, and to program the PACs. • Web Designer is required to configure the TSX ETG 302X module’s services, such as datalogging, calculation, Email/SMS, Graphic Editor, and Website. 3.3.3. Historical Data Management In the event of a communication loss between the SCADA system and the remote terminal unit TSX ETG 302X module, historical data management must be performed to provide continuity for historical data logging. The historical data management is performed by the Vijeo Citect SCADA system (trends) while the remote terminal unit TSX ETG 302X module performs data logging. 42 3-Design The Historical data management function is described below: First, we define the roles played by Vijeo Citect and the TSX ETG302X module. Vijeo Citect Vijeo Citect manages the communication with its equipment (IO devices), through real time variables (tags). It is possible to create historical files of these variables through trends variables, in a Vijeo Citect proprietary format. TSX ETG 302X Module This module manages communication between the remote sites and Vijeo Citect. Working concurrently with the SCADA system, the TSX ETG 302X module logs the selected trend variables in its memory. This data can then be saved in .csv files type to a configured memory media (RAM, CFCard, USB Key, or Flash memory). Once this is done, the Vijeo Citect SCADA system can download these files using FTP services. 43 3-Design The following table shows the selected data to be restored and the data logging period: Variables Data Logging Period Drinking Water Station Flow in 10 s. Flow out 10 s. Level: drinking water tank 2 10 s. Current: motor starter 1 tank 1 1 min. Current: motor starter 2 tank 1 1 min. Current: drive 1 tank 2 1 min. Current: drive 2 tank 2 1 min. Current: drive 3 tank 2 1 min. Speed: drive 1 tank 2 1 min. Speed: drive 2 tank 2 1 min. Speed: drive 3 tank 2 1 min. Water Tower Flow in 10 sec. Flow out 10 sec. Level 10 sec. Note: These data must be configured in a consistent way by both the SCADA system and the remote terminal unit. Note: Vijeo Citect cannot refresh the variables as quickly in GPRS as in Ethernet. Therefore, we define a ”minimum update rate” in OFS at 5 seconds (refer to the OFS paragraph) that leads to a minimum periodic historical value of 5 seconds for Vijeo Citect Trends Tags. 44 3-Design Functioning Stage Descriptions 1 The historical data management requires clock synchronization between the SCADA system and all remote terminal units. Vijeo Citect regularly synchronizes the TSX ETG 302X module’s clock on its own, and also checks the communication between the other components. 2 The communication is established between Vijeo Citect, the TSX ETG 302X module and the others equipment, for example a PAC situated downstream the module. The SCADA system (Vijeo Citect) and the remote terminal unit are simultaneously logging the selected historical data. Vijeo Citect periodically sends a purge request to the module, which then deletes the data logging files in its memory. 45 3-Design 3 If the communication between Vijeo Citect and the TSX ETG 302X modules breaks down. The Vijeo Citect historical data files storage can no longer run. On the TSX ETG 302X module, the periodic purge stops and data logging keeps on running. 4 The communication between Vijeo Citect and the TSX ETG 302X module is reestablished, allowing Vijeo Citect to once again create its own historical files. Nevertheless, the historical data files related to the communication loss are missing. Vijeo Citect downloads the data logging files from the module via FTP services. 46 3-Design 5 When the download process is complete, the purge process starts again. 6 Vijeo Citect recovers its historical data files from the previously downloaded data logging files, by backfilling them into its own ’trend database’, and then deletes the data logging files. Note: Historical data backfill is managed by a Cicode Program (ETG_Include project). See Cicode section in Implementation Chapter. 47 3-Design Windows Regional and Language Options To make the historical management function run properly, the decimal symbol used for the real value must be the same for the TSX ETG 302X module and the Vijeo Citect server. In the module, the decimal symbol is represented by a dot. To change this symbol on the workstation, proceed as follows: Step Action 1 From the Windows Control Panel, select Regional and Language Options. 2 From the Regional Options tab, click on the Customize button. 3 In the Numbers tab, replace the symbol by a dot, if necessary. 48 3-Design ETG_Include project restoration Because Vijeo Citect is primarily responsible for historical management functionality, the user must restore the ETG_Include project in Vijeo Citect. This project provides Cicode files, 2 work folders and 2 .exe files dedicated to the historical data’s recovery. Note: You must include this project in your Vijeo Citect project (See in the Implementation chapter, the ETG_Inlcude project including section). To restore the ETG_Include project, follow the instructions below: Step 1 Action From Vijeo Citect explorer, right click on My Project, then select Restore. Select Restore. 2 The Restore Project window appears: 49 3-Design Select the ETG_Include.ctz provided with this STG. Note: In the Options panel, you must select the All sub-directories checkbox. Click on OK to restore. 3 The result of the restoration is shown below: There are 3 sub-folders, directly linked to the All sub-directories checkbox. These are described below: ETGTools: this folder includes 2 .exe files: ETG_Clock_Synchro.exe ETG_CSV_Convert.exe Trend: work folder that integrates the Trend converted files. TrendFTP: target folder where the historical files are copied by FTP from the TSX ETG 302X module. 50 3-Design SectionCitect.ini file The parameterization of Vijeo Citect is performed by a file called Citect.ini, placed by default at : C:\Documents and Settings\All Users\Application Data\Schneider Electric\Vijeo Citect 7.10\Config\. The Citect.ini file includes the Vijeo Citect project parameters, and is common to all the Vijeo Citect projects developed on a workstation. You can easily edit this file, due to its .ini format, with a text editor such as Notepad. The file’s parameters are organized in sections, automatically in alphabetical order. Each section corresponds to a specific parameter area, e.g.Alarms, OPC, etc. Because of its easy access and compactness, we use this file to parameterize historical management. Open the provided SectionCitect.ini file, then copy and paste this file’s content into the Citect.ini file. The following screenshot shows the SectionCitect.ini file’s content: The resulting Citect.ini file includes 2 parameterization areas that manage the historical data’s recovery, called ETGBackFill and ETG1BackFill. ETG1BackFill corresponds to a first remote site. 51 3-Design If creating a unique remote site, the user has nothing more to design. If establishing multi-site communication, the user must copy and paste this ETG1BackFill section into the Citect.ini file, and rename it according to the site’s index. For example, in the architecture 3, we have 2 remote sites: a drinking water station and a water tower. The user must assign index 1 to the drinking water station (ETG1BackFill), and index 2 to the water tower (ETG2BackFill). 3.3.4. Reporting & Alarming For reporting features, the TSX ETG 302X module can automatically and dynamically send email or SMS to inform the user. Report files can be included in email, and used to help remote maintenance for example. This service is configured from Web Designer. (please refer to the Configuration Chapter, Section Reporting & Alarming for more information about this configuration). Concerning the Email, it is typically sent to the workstation manager. We illustrate the sending of email by the lifting unit of the drinking water station’s monitoring system. In the Design phase, we choose the measures and information included in the email: • Flow in/ out of the lifting unit • Analog level in the tank • Date/ Hour the email is sent For alarming features, the SMS messages are sent directly to a cellular. The message body can display chosen real-time values. The SMS is typically sent to the maintenance operator’s cellular, when a pump becomes inoperative. To illustrate SMS message sending we choose, in the Design phase, the monitored actuators, which are: • The 2 pumps of drinking water tank 1, LF1_PMP_P1 and _P2 • The 3 pumps of drinking water tank 2, LF1_PMP_P3, _P4 and _P5 . 52 4-Configuration 4. Configuration 4.1. Introduction This chapter shows you how to configure previously defined key functions, before proceeding to the implementation phase. As in the Design chapter, this chapter is structured according to the following key functions, classified in two main domains: 1. Communication 2. Remote functionalities 53 4-Configuration 4.2. Communication 4.2.1. Ethernet This section shows you how to configure the Ethernet interface parameters of each architecture’s equipment: operator workstation, TSX ETG 302X module, PAC, and field devices. Operator Workstation 1 Configure the IP address, gateway and subnet mask using the Internet Protocol (TCP/IP) Properties windows. The following screenshot shows the configuration related to the Architecture 1: 54 4-Configuration The following screenshot shows the configuration for Architecture 2 and 3, using VPN or NAT: Operator Workstation 2 Use the following parameters: IP address: 10.40.78.15 Subnet mask: 255.255.255.0 Default Gateway: blank Note: This Workstation has the same Ethernet configuration for each architecture. Operator Workstation 3 Use the following parameters: IP address: 10.168.15.12 Subnet mask: 255.255.255.0 Default gateway: blank Note: This Workstation has the same Ethernet configuration for each architecture. 55 4-Configuration TSX ETG 302X Modules The Ethernet parameters are configured using the setup page of the module’s web server, as shown in the following illustration. Once the configuration is complete, we retrieve it in Web Designer by an ETG to PC transfer (for more information, refer to the Implementation chapter). Note: We choose to configure the Ethernet parameters from the module’s web server, but this configuration can be done in Web Designer as well. 1. Definition of the module’s IP address in the local LAN To access the TSX ETG 302X module website for the first time, you must use its factory default IP address. The TSX ETG 302X module’s factory default IP address is defined from the Mac address written on the equipment’s housing. It is in the syntax 10.10.xxx.yyy where xxx and yyy are the two last numbers of the Mac address in hexadecimal, converted to decimal. For example, if the TSX ETG 302X module’s Mac address is 00 80 F4 03 7E 90 in hexadecimal, the default IP address is 10.10.126.144. Note: When connecting to the TSX ETG 302X module for the first time, you must adapt the IP address of the PC used for the module’s configuration. 56 4-Configuration 1.1.TSX ETG 302X module Plant 1 Connect directly to the device typing its default IP address in a web browser. From the Setup menu -> IP Configuration, type the new IP address, then click to apply the modifications. Restart the TSX ETG 302X module from the Control menu -> Reboot for the changes to take effect. Then, to re-connect to the TSX ETG 302X module, you can now type its new IP address 172.20.1.16 into the web browser. 1.2. TSX ETG 302X module Plant 2 Repeat operations described above in TSX ETG 302X module Plant 1, using the following parameters: • IP address: 172.31.35.1 • Subnet mask: 255.255.0.0 • Gateway: blank 1.3. TSX ETG 302X module operator workstation 1 This TSX ETG 302X module does not appear in Architecture 1. The configuration is the same as described for the TSX ETG 302X module Plant 1, with the following parameters: • IP address: 192.168.10.50 • Subnet mask: 255.255.255.0 • Gateway: blank 57 4-Configuration PAC Plant 1 The IP address parameter of the M340 PAC is configured with Unity Pro. The gateway parameter must be initialized with the remote terminal unit’s IP address, to allow access to the internet from remote sites. In the application, the TSX ETG 302X module connects the remote sites LAN to the internet. Type the IP address of the TSX ETG 302X module into the Gateway Address box of the PAC IP address configuration. The following screenshot shows the configuration for the M340 PAC: PAC Plant 2 From Unity Pro, configure the following Ethernet address for the PAC: 172.31.35.8/ 255.255.255.0. To make this PAC accessible from the internet, specify the gateway address.. The equipment connected to the internet for the Plant 2 LAN is the gateway TSX ETG 302X module, using GPRS. Add the gateway’s address for the TSX ETG 302X module of Plant 2 ‘172.31.35.1’ in the ‘Gateway address’ box of the Premium PAC, as shown below: 58 4-Configuration 4.2.3. Internet Access This section shows you how to configure the internet part for each key component: operator workstation, TSX ETG 302X module, and PAC. The configuration differs based on the Internet Service Provider (ISP) used for internet access. Note: There is nothing to configure in the PAC for the internet Access. Operator Workstation 1 In the case of Architecture 1, the internet connection is done directly from the workstation with a 3G+ USB key. Therefore, in our case, you must first launch the ISP software. In our application, we use Business Everywhere. Launch the Business Everywhere software, then configure the connection by typing the parameters provided by the ISP: Once the parameters are set, click on the OK button to complete the internet configuration. Operator Workstation 2 Configure the modem, with the connection parameters provided by the ISP. Operator Workstation 3 Configure the modem, with the connection parameters provided by the ISP. 59 4-Configuration TSX ETG 302X Module Plant 1 As with the Ethernet parameters, configure the GPRS setup parameters from the module’s web server page, as follows: 1. From the Web server via the Setup menu-> Modem->Configuration, select the GPRS Enable option 2. Type the connection parameters (Username and Password) provided by the ISP, as shown: 3. Apply the modifications, then reboot the TSX ETG 302X module by selecting Control menu -> Reboot. Note: The Access Point Name, provided by the ISP, is the identifier of the GPRS network, and is directly linked to the subscription. Note: We choose to configure the GPRS parameters from the module’s web server, but this configuration can be done in Web Designer as well. TSX ETG 302X Module Plant 2 Proceed as previously defined for the TSX ETG 302X module of Plant 1. TSX ETG 302X Module Operator Workstation 1 The configuration of the GPRS modem must be done for Architectures 2 and 3. Proceed as previously defined for the TSX ETG 302X module of Plant 1. 60 4-Configuration 4.2.4. IP Address Publication This section shows you how to configure the IP address publication for each key component: operator workstation and the TSX ETG 302X module. Note: In the NAT architectures, due to the static public IP addresses, the following section is not applicable. Operator Workstation 1, 2 and 3 Typically, the software used to establish connection to the internet does not have a DynDNS client, which would allow automatic update of the URL according to the dynamic public IP address. For this reason, we use the DynDNS updater software. For architectures using VPN, and in the case of dynamic public IP addresses, follow the steps in the table below: Step Action 1 Connect to the internet. 2 Launch the DynDNS updater application. 3 Click on Change User to type the Username and the Password of the created DynDNS account:: 4 Click on Refresh Host List. Select the URL associated with the desired operator workstation: opwsX.dyndns.info for the operator workstation X. Validate by selecting OK. 5 Click on Start Updater to run the task that manages the periodic update of the dynamic public IP address. 61 4-Configuration TSX ETG 302X Module Plant 1 Unlike the operator workstation, the TSX ETG 302X module integrates a DynDNS client, which allows the automatic update of the URL with the dynamic public IP address. The user must configure the module’s modem, as follows: 1. From the Web server via the Setup menu -> Modem Configuration, type the DynDNS name plant1.dyndns.info (previously defined on Dyndns.com), the account username, and password.. 2. Apply the modifications, then restart the TSX ETG 302X module by selecting Control menu -> Reboot. TSX ETG 302X Module Plant 2 Proceed as described above, with the following parameters: TSX ETG 302X Module Operator Workstation 1 Proceed as described above, with the following parameters: 62 4-Configuration 4.2.5. Network Interconnection Two technologies are used for interconnecting remote LANs, NAT routing and VPN tunnels. The first section of this chapter applies for architectures using NAT technology, and the second section for architectures using the VPN. NAT Routing To help you understand the configurations, the following illustration reminds you the architecture that offers most features with the NAT technology, that is, the 3: TSX ETG 3021 NAT Router 80 = 192.168.10.10 :80 2075 = 192.168.10.10 :2075 2076 = 192.168.10.10 :2076 2077 = 192.168.10.10 :2077 2078 = 192.168.10.10 :2078 2080 = 192.168.10.10 :2080 2082 = 192.168.10.10 :2082 63 4-Configuration From the Web server page via the Setup menu -> select NAT, validate the Enable checkbox to activate the service. Once the modifications are complete, click Apply, then restart the TSX ETG 302X module by selecting Control menu -> Reboot. Note: You may not access to the equipments that have hard-coded TCP ports. 1. TSX ETG 302X module Operator Workstation 1 The TSX ETG 302X module Operator Workstation 1 NAT configuration appears in Architectures 2 and 3. This routing table enables the Web client for the Operator Workstation 2, by routing the TCP ports to the Vijeo Citect Web server corresponding to workstation 192.168.10.10. The following screenshot shows the routing table: The TCP ports used (from 2075 to 2082) are specific to Vijeo Citect. The sources ports 80 and from 2075 to 2082 can be modified. We choose not to modify them to limit modifications. Refer to the Vijeo Citect documentation for full descriptions of these ports. 2. TSX ETG 302X module Plant 1 The NAT configuration on the TSX ETG 302X module Plant 1 appears in all 3 architectures. This routing table provides access to TCP port 502 in the M340 PAC (IP address: 170.20.1.4) via port 5000 of the TSX ETG 302X module Plant 1. 64 4-Configuration The following screenshot shows the routing table: Note: Here is the NAT syntax: TSX ETG 302X IP address: port (source port), and then the TSX ETG 302X module routes to the M340 IP address: port (destination port). 3. TSX ETG 302X module Plant 2 This NAT configuration on the TSX ETG 302X module Plant 2 appears in Architecture 3. This routing table provides access to TCP port 502 of the Premium PAC (IP address: 172.31.35.8) via the port 6200 of the TSX ETG 302X module Plant 2. The following screenshot shows the routing table: 65 4-Configuration 4. Unit ID To enable the READ_VAR function used in the M340 PAC (Plant 1) to read the Premium PAC (Plant 2) values, you must specify a recipient address in Unity Pro. This recipient address in the READ_VAR function accepts a Unit ID, not the TCP port. As a result, we use Unit ID 100 of the TSX ETG 302X module Plant 2 to return information to the Premium PAC (Plant 2), as shown below: On the M340 PAC side, the recipient address must have the TSX ETG 302X module Plant 2 static public IP address, followed by its Unit ID, as shown: 66 4-Configuration VPN Tunnel 1. VPN Client IPSEC File This section shows you how to configure VPN for the workstations. Retrieve the following .bat files, provided with this guide: • ->IPSecTunnel.bat, which allows to open a VPN tunnel. • ->IPSecStop.bat, which allows to close a VPN tunnel. These files are used to open and close the VPN tunnels between the Control Rooms and the Remote Sites. These 2 files must then be copied to the appropriate workstation. You must edit the IPSecTunnel.bat file; no editing is required for IPSecStop.bat. The information below shows you how to make the modifications for each workstation: 1.1 Operator Workstation 1 Here are the modifications that must be applied: • 172.20.*.* (or 172.20.0.0/ 255.255.0.0): the remote network address used to connect the VPN • plant1.dyndns.info: DynDNS URL of the TSX ETG 302X module • useruser: connection key shared between equipment for authentication • opws1.dyndns.info: DynDNS URL of the Operator Workstation 1 1.2. Operator Workstation 2 This configuration is used in Architectures 2 and 3. Here are the modifications that must be applied: • 192.168.10.*.* (or 192.168.10.0/ 255.255.255.0): the remote network address for VPN connection • opws1.dyndns.info: DynDNS URL for the TSX ETG 302X module. • useruser: connection key shared between equipments for authentication. 67 4-Configuration • opws2.dydns.info: DynDNS URL of the Operator Workstation 2. 1.3. Operator Workstation 3 This configuration is used in Architectures 1,2 and 3. Here are the modifications that must be applied: • 172.20.*.* (or 172.20.0.0/ 255.255.0.0): the remote network address for VPN connection • plant1.dyndns.info: DynDNS URL for the TSX ETG 302X module • useruser: connection key shared between equipments for authentication. • opws3.dydns.info: DynDNS URL of the Operator Workstation 3. 2. VPN Configuration for TSX ETG 302X Module This section explains the required configuration for establishing the VPN tunnel for each TSX ETG 302X module, based on the appropriate architecture. For more details about the TSX ETG 302X module’s VPN service, refer to the technical documentation. All configurations are done as follows: From the web server of the specific TSX ETG 302X module, from the Setup-> Modem PPP security menu, select the VPN Enable checkbox, then fill in the fields as explained in the following paragraphs. After each configuration, apply the modifications, then reboot the TSX ETG 302X module. Note: Some tunnel configurations are described in detail to highlight specific information. 68 4-Configuration 2.1 Architecture 1 VPN The following illustration reminds you the Architecture 1 VPN: 69 4-Configuration • TSX ETG 302X module Plant 1 In this architecture, the VPN service for the TSX ETG 302X module Plant 1 is configured to enable connection of 2 VPN clients. Fill in the fields to configure both the VPN tunnel between: The Operator Workstation 1 (VPN client) and the TSX ETG 302X module Plant 1 (VPN Server), and the Operator Workstation 3 (VPN client) and the TSX ETG 302X module Plant 1, as shown: => Operator Workstation 1<-> TSX ETG 302X module Plant 1 tunnel Remote address corresponds to the Operator Workstation 1 URL, created on the www.dyndns.com website, i.e. opws1.dyndns.info. The Pre shared key, used for authenticate and open tunnels, is a user-selectable choice. It must be the same for both the VPN client and TSX ETG 302X server sides. In this example, we type useruser. To allow the Operator Workstation 1 (VPN client) access to the M340 PAC through the TSX ETG 302X gateway, select the Tunnel mode. This mode provides a LAN to LAN connection. In contrast, the Transport mode provides a ‘host to host’ connection. The others fields for this architecture remain blank. => Operator Workstation 3<-> TSX ETG 302X module Plant 1 tunnel Create a second line to configure the second VPN tunnel for mobile Operator Workstation 3, then follow the steps described previously. 70 4-Configuration 2.2 Architecture 2 VPN The following illustration reminds you the Architecture 2 VPN: 71 4-Configuration • TSX ETG 302X module Operator Workstation 1 In this architecture, the VPN service for TSX ETG 302X module Operator Workstation 1 is configured to enable connection with 1 VPN server and 1 VPN client. Fill in the fields to configure both the VPN tunnel between: TSX ETG 302X module Plant 1 (VPN server) and the TSX ETG 302X module Operator Workstation 1 (VPN client), and the Operator Workstation 2 (VPN client) and TSX ETG 302X module Operator Workstation 1 (VPN server), as shown: => TSX ETG 302X module Plant 1 <-> TSX ETG 302X module Operator Workstation 1 tunnel Remote LAN corresponds to the address of the Operator Workstation 1 remote LAN. Subnet Mask corresponds to the subnet mask of the Operator Workstation 1 remote LAN. ETG Client encryption is set to none, which corresponds to an AH encryption level. This is the VPN Client that provides the encryption type used to implement the VPN Tunnel. Note: The ETG client encryption specifies the encryption protocol used for ETG to ETG communication only. For more details, refer to the technical documentation of the TSX ETG 302X module. 72 4-Configuration • TSX ETG 302X module Plant 1 In this architecture, the VPN service of the TSX ETG 302X module Plant 1 is configured to enable connection with 2 VPN clients. Fill in the fields to configure both the VPN tunnel between: Operator Workstation 1 (VPN client) and TSX ETG 302X module Plant 1 (VPN server), and the Operator Workstation 3 (VPN client) and TSX ETG 302X module Plant 1 (VPN server), as shown: => TSX ETG 302X module Operator Workstation 1 <-> TSX ETG 302X module Plant 1tunnel. Even if ETG to ETG communication is established, as in this case, the ETG client encryption remains blank, as this is only the VPN Client that provides the encryption type used to implement the VPN Tunnel. 73 4-Configuration 2.3 Architecture 3 VPN The following illustration reminds you the Architecture 3 VPN: 74 4-Configuration • TSX ETG 302X module Operator Workstation 1 In this architecture, the VPN service of the TSX ETG 302X module Operator Workstation 1 is configured for connection to 2 VPN servers and 1 VPN client. Fill in the fields to configure the VPN tunnel between: the TSX ETG 302X module Plant 1 (VPN server) and the TSX ETG 302X module Operator Workstation 1 (VPN client), the TSX ETG 302X module Plant 2 (VPN server) and the TSX ETG 302X module Operator Workstation 1 (VPN client), and the Operator Workstation 2 (VPN client) and the TSX ETG 302X module Operator Workstation 1 (VPN server), as shown: • TSX ETG 302X module Plant 1 In this architecture, the VPN service of the TSX ETG 302X module Plant 1 is configured for connection with 2 VPN clients and 1 VPN server. Fill in the fields to configure the VPN tunnel between: the TSX ETG 302X module Operator Workstation 1 (VPN client) and the TSX ETG 302X module Plant 1 (VPN server), the TSX ETG 302X module Plant 2 (VPN server) and the TSX ETG 302X module Plant 1 (VPN client), and the Operator Workstation 3 (VPN client) and the TSX ETG 302X module Plant 1 (VPN server), as shown: 75 4-Configuration • TSX ETG 302X module Plant 2 In this architecture, the VPN service of the TSX ETG 302X module Plant 2 is configured to enable the connection with 2 VPN clients. Fill in the fields to configure the VPN tunnel between: the TSX ETG 302X module Plant 1 (VPN client) and the TSX ETG 302X module Plant 2 (VPN server), and the TSX ETG 302X module Operator Workstation 1 (VPN client) and the TSX ETG 302X module Plant 2 (VPN server), as shown: 76 4-Configuration 4.3. Remote Functionalities 4.3.1. Operating & Monitoring OFS To enable communication with the remote equipments, Vijeo Citect uses OFS (OPC Factory Server) software based on the OPC data access specifications. As described in the historical management section, for each remote site, Vijeo Citect must communicate with the PAC and with the TSX ETG 302X module to purge the data logging files, send historical backup requests, etc. The following screenshot shows the final OFS configuration: 77 4-Configuration 1. Architectures 1 and 2 For these 2 architectures, Vijeo Citect communicates with only one site. Therefore, only 2 components are required: Plant 1 -> M340 PAC -> OFS, alias: ‘OFS_M340’ Plant 1-> TSX ETG 302X module -> OFS, alias:‘OFS_ETG1’ 2. Architecture 3 For this architecture, Vijeo Citect communicates with 2 sites. Two additional components are required: Plant 2 -> Premium PAC -> OFS, alias: ‘OFS_PREMIUM’ Plant 2 -> TSX ETG 302X module -> OFS, alias: ‘OFS_ETG2’ 3. Common Parameters The Update rate parameter, which is common to the entire OFS alias, lets you adjust the minimum refresh speed of the alias. This parameter’s value effects the communication load. Using GPRS communication causes speed constraints. We specify a Group minimum update rate to maintain fluent communication between the remote sites and Vijeo Citect. The Group minimum update rate is set at 5000ms. As a consequence, the variable’s refresh rate is 5 seconds. This leads to a constraint on the historical period for the Vijeo Citect Trend Tags, which cannot be less than 5 seconds. Note: This parameter must be adapted to for your own project. To set up the Group minimum update rate, click on the Communication menu in the configuration OFS tool, then specify the value (5000) in the Group minimum update rate field, as shown below: 78 4-Configuration 4. Alias Parameters 4.1 Adjustment Information To improve communication performance based on GPRS speed constraints, adjust the following parameters: • Max channels: set the PAC value to 16; and for the 2 ETG3021 alias, set the Max channels parameter to 1. This parameter corresponds to the maximum number of requests that OFS can process in parallel. • Device timeout: 20000 ms, for the delay graph transitions. • Frame timeout: 6666 ms, for the permissible delay between request and answer. Note: These 3 parameters must be adapted for your own project. The following screenshot shows the M340 PAC configuration: 4.2 Symbol Table File To enable Vijeo Citect to operate remotely on the M340 PAC, we specify in the menu Equipment Presentation->General->Symbol Table File of the OFS_M340, the following path:.xvm M340 PAC file. Note: We prefer to use the .xvm file because it contains all of the required variables for our application. This file allows faster loading of the Vijeo Citect application than can be expected when using an .stu file. 79 4-Configuration 4.3 Device Addressing • NAT Note: For NAT management, OFS requires the OFSV3.33_2513 patch. For OFS, in NAT, the PAC address is the static public IP address, plus the corresponding TCP port, as shown below: OFS_M340: 90.95.78.174 and port number 5000 OFS_ETG1: 90.95.78.174 and Modbus Index 255. Proceed in the same manner with: OFS_PREMIUM: 90.95.13.125 and port number 6200 OFS_ETG2: 90.95.13.125 and Modbus Index 255 80 4-Configuration • VPN The OFS configuration with VPN technology is the same as with local technology: OFS_M340: 172.20.1.4 OFS_ETG1: 172.20.1.16 and Modbus Index 255 OFS_PREMIUM: 172.31.35.8 OFS_ETG2: 172.31.35.1 and Modbus Index 255 4.3.2. Programming Note: for NAT routing, the installed Unity Pro version must be capable of managing an address in this format: IPaddress:TCPPortNumber, i.e. Unity Pro 4.1 or later. 4.3.3. Historical Management Citect .ini Historical data backfill is managed by a Cicode program (ETG_Include project). This program has several parameters to be initialized via a .ini file. To implement the historical management functionality, you must configure the [ETGBackFill], [ETG1BackFill] and [ETG2BackFill] sections (ETG2BackFill section is concerned for the Architecture 3 only), which are located in the Citect.ini file. 1. [ETGBackFill] section Open the Citect.ini file and go to the [ETGBackFill] general section. This section is a common section for each remote site with historical management. The following list provides a description of each parameter: • BackupTimeOut: the number of seconds allowed before determining that the backup command has failed. • ExePath: the folder where the clock synchronization and CSV conversion executable files are located. 81 4-Configuration • FirstTimeRegister: the first system register that defines the time for the TSX ETG 302X module. • IniPath: the folder where the Citect.ini file is located. • NbOfETG: corresponds to the number of remote ETG to be retrieved. For Architectures 1 and 2, this parameter is set to 1. • PurgeRepeatTime: the repetition period of the purge command, in seconds. • PurgeTimeOut: the number of seconds allowed before determining that the purge command has failed. • SynchroRepeatTime: the repetition period for synchronization of the TSX ETG 302X module’s clock with that of the workstation running Vijeo Citect, in seconds. • TrendFTP: the target folder of the historical files, downloaded via FTP to the TSX ETG 302X module. • TrendUpload: the target folder of the historical files converted by ‘ETG_CSV_Convert.exe 2. [ETG1BackFill] section Open the Citect.ini file and go to the [ETG1BackFill] section. This section applies to site 1 only. We represent remote site 1 by using the drinking water station 1 The following screenshot shows the [ETG1BackFill] section: The following list describes each parameter: • FTPPath: the storage media for the CSV files in the TSX ETG 302X module. • FTPTimeOutAttempt: the number of FTP connection attempts before determining that the connection has failed. 82 4-Configuration • IPAddress: For VPN architecture, the remote TSX ETG 302X module’s private IP address; for NAT architecture, the remote TSX ETG 302X module’s static public IP address. • TrendTable00: the name of the table created in the TSX ETG 302X module. You must keep the same name of for this table in the datalogging service of the TSX ETG 302X module. • TrendTable00Ratio: ratio • TrendTable01: the name of the CSV file/ table created by the TSX ETG 302X for theTrendTable00. module. • TrendTable01Ratio: ratio • TrendTable02: the name of the CSV file/ table created by the TSX ETG 302X for TrendTable01. module. • TrendTable02Ratio: ratio • UserName: user name for the FTP connection. • UserPassword: user password for the FTP connection. for TrendTable02. 3. [ETG2BackFill] section Open the Citect.ini file and go to the [ETG2BackFill] section. This section applies only to remote site 2, which appears only in Architecture 3. We choose to represent remote site 2 using the water tower The following screenshot shows the [ETG2BackFill] section: All definition parameters are the same as presented for the [ETG1BackFill] section. 4.3.4. Reporting & Alarming See in the Implementation Chapter, section Reporting & Alarming. 83 4-Configuration 84 5-Implementation 5. Implementation 5.1. Introduction This chapter shows you how to complete the final implementation for all key functions. As in the previous chapter, this chapter is structured according to the following key functions, classified in two main domains: 1. Communication 2. Remote functionalities 85 5-Implementation 5.2. Communication 5.2.1. Ethernet The Ethernet configuration explained in the Configuration chapter, Communication-> Ethernet section is sufficient to implement this functionality.. 5.2.2. Internet Access Run ISP software for each operator workstation. In the application shown, Business Everywhere is used: 5.2.3. IP Address Publication The IP Address Publication configuration explained in the Configuration chapter, Communication-> IP Address Publication section is sufficient to implement this functionality. 5.2.4. Network Interconnection The Network Interconnection configuration explained in the Configuration chapter, Communication-> Network Interconnection section is sufficient to implement this functionality. 86 5-Implementation 5.3. Remote Functionalities 5.3.1. Operating and Monitoring To operate and monitor the applications, Vijeo Citect, custom pages and graphic viewer are used. Note: This guide does not provide technical information about how to create a SCADA system with Vijeo Citect. The following sections explain the retrieving of the TSX ETG 302X Module Configuration and the variables declaration. The custom pages and graphic viewer implementations are described in annex. Retrieving the TSX ETG 302X Module Configuration with Web Designer The configuration upload allows you to: • Upgrade the application’s configuration • Activate ETG services, such as datalogging, calculation and so on. • Save the project To illustrate, let us consider the TSX ETG 302X module of Plant 1. Note: Plant 2 is not detailed in this section, as the principles described are the same as for Plant 1. 87 5-Implementation Follow the instructions shown below: Ste Action p 1 Launch Web Designer and create a new project called WaterProject. 2 The following Project Creation Wizard appears: From the Target List, select FactoryCast Gateway TSX ETG 3021 V1.11. Name it PLANT1, which corresponds to the drinking water station. Fill in the Address field with 172.20.1.16. Click on Next. 88 5-Implementation 3 Go to the second page of the project creation wizard: In the Device List, select the ETG3021 Server V1_11 and the Modicon M340. Fill in the Name and Address fields. Click on Finish to complete the new project’s creation. 4 Right click on the target, then select Transfer/ Target->PC to retrieve the Ethernet, GPRS and NAT configurations previously defined by the web navigator. 89 5-Implementation 5 Tick the Transfer Configuration checkbox, then select Flash in the Location menu.Click on Transfer to start the upload. Note: You can also transfer the Website, the rdt and gdt files by ticking their corresponding checkboxes. 6 The upload processing runs. 7 Once the upload process is complete, check from Web Designer, by a right click on the target and selecting Properties, that the previously project’s configuration (from the Web Browser) has been correctly uploaded. 90 5-Implementation Variables Declaration You can declare two kinds of variables: internal or from a device. The following paragraphs describe the declaration of the following: 1. TSX ETG 302X Server and Internal Variables – Plant 1 Add manually internal variables by directly entering a symbol, an address (refer to the TSX ETG 302X module’s technical documentation for the list of the internal registers), its type and define the access right in the Variables window of the module. The following screenshot shows the variable content table after declaration: Note: Once the variables are declared, select the Persistent checkbox to make them usable for internal processing in all of the services such as Datalogging, Calculation Email, and so on. We create 5 additional variables for historical data management, which are: • backup: increments a word when Vijeo Citect creates a .csv backup file in the TSX ETG 302X module. • purge: increments a word when Vijeo Citect purges a .csv backup file in the TSX ETG 302X module. • statusBackup: status word of the ‘backup’ command. • statusPurge: status word of the ‘purge’ command.. • StopBackup: word written by Vijeo Citect to stop the TSX ETG 302X module for backup, during the .csv file’s downloading via FTP. We create also 6 read-only variables, linked to the date/time system registers 91 5-Implementation 2. TSX ETG 302X Variables for M340 PAC Communication As previously, we add manually PLC variables by directly entering a symbol, an address, its type and define the access right in the Variables window of the module. All M340 variables have been previously created in the PLC. The following screenshot shows the variable content table after the declarations in Web Designer, which are used in the configuration of the datalogging service, custom pages, and SMS/email: Note: Once the variables are declared, select the Persistent checkbox to make them usable for internal processing in all of the services such as Datalogging, Email, and so on. You can also define the read rate, the read/write access. 92 5-Implementation We retrieve: • The REAL type variables that correspond to analog measures (flow in/out, level of the ‘drinking water tank 2,’ current and speed of the pumps, etc.). • The INT type variables that manage the SMS/email content. • The BOOL type variables used for SMS/email sending. If your application contains several variables, another method can be used to save time, as follows: Import PLC variables by clicking on the Import PLC symbols button: Choose your file, then select your wished variables on the following screen: Then click on Import Selected Variables button to complete the import. 93 5-Implementation 5.3.2. Programming To connect the operator workstations to the remote PAC using Unity Pro programming software, you must specify the address of the remote equipment in Unity Pro. NAT Routing For NAT connection, we use the TSX ETG 302X module’s static public IP address, followed by the port number, i.e. 5000. The table below shows you how to specify the address to connect to the PAC of the plant1: Step Action 1 Launch Unity Pro 2 Select the PLC/Set Address menu. The following window appears: Fill in the Address box of the PLC area with the following: Static public IP:port, i.e. 90.95.78.174:5000, which is the public IP address of the TSX ETG 302X module routed to the PLC port. Select TCPIP in the Media box. Note: This syntax is available with Unity 4.1 or later. 3 Do the same previous operations for the PAC of the Plant 2 with the following address: 90.95.13.125:6200 Note: A DynDNS address can be used in the event of dynamic IP address. In this case, Unity Pro accesses to the M340 with the following syntax: DynDNS address of the TSX ETG 302X module: port (here, 5000) and the TSX ETG 302X module routes to the M340 IP address, port 502. 94 5-Implementation VPN Tunnel No special configuration is required; fill in the Address field from Unity Pro as usual. Because the connection is established through a VPN tunnel, we can directly use the M340 PAC IP address. To connect to the M340 of the Plant 1, start Unity Pro, then select the PLC/Set Address menu. Fill in the Address field for the PLC parameters with the IP address, i.e. 172.20.1.4, then select TCPIP in the Media field. Do the same operations to connect to the Premium of the Plant 2 with the following address: 172.31.35.8. 5.3.3. Historical Data Management New Vijeo Citect Project In order to implement the historical data management, you must create a new Vijeo Citect project. From the Vijeo Citect explorer, click on File->New Project. To do this, complete the following steps: 1. Name the project ‘RemoteAccess’, as shown below: 95 5-Implementation 2. Create the following: • A cluster from the Project/Server editor: • A network address, by specifying the operator workstation’s IP address in the Address box: • An alarm server linked to the cluster previously created: • A trend server linked to the cluster: 96 5-Implementation • An I/O server linked to the cluster: Creation of the 2 I/O Devices for Plant 1 Vijeo Citect must communicate with the following two components included in Plant 1: the PAC M340 and the TSX ETG 302X module (for the historical data management). To do this, complete the following steps: 1. Access the Express Communications Wizard, from the Project editor -> communication. 2. Select the I/O server previously created, i.e. SERVERIO: 3. Name ‘ETGPLANT1’ as the first communication peripheral with the TSX ETG 302X module of the Plant 1:’Drinking Water Station’: 97 5-Implementation 4. Select the external I/O peripheral, click on Next and choose the OPC method, OPC Factory Server, Schneider Electric: 5. Click on Next for each subsequent window, then click Finish. 6. Perform the same operation for communication with the M340 PAC. Name It ‘PLC1’ in Vijeo Citect: 98 5-Implementation The link between the component names and the OFS alias is performed in the Citect.ini file,via the [OPCAccessPaths] section: This option removes the need to specify the alias name in the variable’s address during its declaration in Vijeo Citect. Note: The [OPC] section is added with UseOPC2=1, which prevents the OFS server from working with OPC v2. Creation of the 2 I/O Devices for Plant 2 This configuration is available only for Architecture 3. In Architecture 3, Vijeo Citect must communicate with 2 components of Plant 2: the Premium PAC and the TSX ETG 302X module (for the historical data management). To do this, complete the following steps: 1. Access the Express Communication Wizard in the Project/ Communication editor. 2. Select the I/O server previously created, i.e. SERVERIO. 3. Name ‘ETGPLANT2’ as the first communication peripheral with the TSX ETG 302X module of the Plant 2: ‘Water Tower’. 4. Select the external I/O peripheral, click on Next, and choose the OPC method, OPC Factory Server, Schneider Electric. 5. Click on Next for each subsequent window, then click Finish. Perform the same operations for the Premium PAC. Name it ‘PLC2’ in Vijeo Citect. 99 5-Implementation For PLANT 1 equipment, linking to the previously-named components and the OFS alias is performed in the Citect.ini file, via the [OPCAccessPaths] section. The following screenshot shows the alias of PLANT 1 and 2: This removes the requirement to specify the alias name in the variable’s address during its declaration in Vijeo Citect. The [OPC] section is added with UseOPC2=1 to allow the OFS server to work with OPC v2. Declaration of the variables that communicate with the remote TSX ETG 302X modules For Architecture 3, you must create 5 external variables mapped on each remote TSX ETG 302X module Plant 1 and 2. You must respect the variable’s syntax, since these are read and written directly by the TagName, via the Cicode functions TagRead and TagWrite. Create the following variables (X represents the site index): • backupX: incremented word when Vijeo Citect creates a backup .csv file in the TSX ETG 302X module. • backup_statusX: status word of the ‘backup’ request. • purgeX: incremented word when Vijeo Citect deletes a .csv backup file stored in the TSX ETG 302X module. • purge_statusX: status word on the ‘purge’ request. • stopbackupX: word written by Vijeo Citect to stop the TSX ETG 302X module from doing a a backup while the .csv file is downloading via FTP. 100 5-Implementation TSX ETG 302X module Plant 1 • backup1: integer, address %MW0 pointing to the ‘ETGPLANT1’ device: • backup_status1: integer, address %MW3 pointing to the ‘ETGPLANT1’ device: • purge1: integer, address %MW1 pointing to the ‘ETGPLANT1’ device: 101 5-Implementation • purge_status1: integer, address pointing to the ‘ETGPLANT1’ device: • stop_backup1: integer, address %MW6 pointing to the ‘ETGPLANT1’ device: TSX ETG 302X module Plant 2 • backup2: integer, address %MW0 pointing to the ‘ETGPLANT2’ device. • Backup_status2: integer, address %MW3 pointing to the ‘ETGPLANT2’ device. • Purge2: integer, address %MW1 pointing to the ‘ETGPLANT2’ device. • Purge_status2: integer, address %MW0 pointing to the ‘ETGPLANT2’ device. • Stop_backup2: integer, address %MW0 pointing to the ‘ETGPLANT2’ device. 102 5-Implementation M340 PAC Plant 1 Declare the Variables Tags that communicate with the remote PAC and TSX ETG 302X module. Once these variables are declared, define the Trend Tags. • Variable Tags declaration: There are no restrictions for the ‘Variable Tags’ declaration. => LiftingFlowIn: non-located variable pointing to the ‘PAC1’ device. Fill in the Raw Full and Eng Full Scale values, as these are used for the Trends representation in Run-Time. => LiftingFlowOut: non-located variable pointing to the ‘PAC1’ device. => LiftingLevelMeter: non-located variable pointing to the ‘PAC1’ device. 103 5-Implementation • Trend Tags declaration: Unlike Variable Tags, the Trend Tags name follows rules, in order to integrate the TSX ETG 302X module’s data logging files to the Vijeo Citect files. Note: The TSX ETG 302X module logs the same variables as Vijeo Citect. Consequently, you must respect the naming rule that allows Vijeo Citect to associate the TSX ETG 302X module’s historical files to its ‘Trend Tags’. The Trend Tag must follow the format: ‘device name’_’variable name’. Thus for a variable named ‘PAC.m340.Lifting.FlowIn’ in the TSX ETG 302X module, the corresponding ‘Trend Tag’ must be named m340_LiftingFlowIn Note: For a variable named ‘‘PAC.m340.Lifting.FlowIn’ in the TSX ETG 302X module, the corresponding Trend Tag must be named: ‘m340_LiftingFlowIn’. That is, we delete the dot between the structure’s name ‘Lifting” and the variable’s name ‘FlowIn” in Vijeo Citect. => M340_LiftingFlowIn: Trend Tag of the ‘LiftingFlowIn’ Variable Tag, periodically historized every 10 seconds. => M340_LiftingFlowOut: Trend Tag of the ‘ LiftingFlow Out’ Variable Tag, periodically historized every 10 seconds. => M340_LiftingLevelMeter: Trend Tag of the ‘LiftingLevelMeter’ Variable Tag, periodically historized every 10 seconds. => M340_Lf1PmpP1_Current: Trend Tag of the ‘Lf1PmpP1_Current’ Variable Tag, periodically historized every 60 seconds. 104 5-Implementation Premium PAC Plant 2 Repeat the steps described above, for the following tags: • Variable Tags declaration => Basin_AFlowIn => Basin_AFlowOut => Basin_ALevel • Trend Tags declaration => Premium_2_Basin_AFlow_IN => Premium_2_Basin_AFlow_OUT => Premium_2_Basin_ALevel 105 5-Implementation Including the ETG_include Project into Vijeo Citect To work with the ETG_Include project (see in the Design chapter, the ETG_include section for description), include it in your Vijeo Citect RemoteAccess project. Proceed as follows: Step 1 Action Via the RemoteAccess project editor, access the System->Included Projects menu: Type the project name ‘ETG_Include’ then click on Add. 2 Via the project editor access the RemoteAccess, Tools->Computer Setup Wizard menu in Startup Functions Setup, click on Modify and type ‘ETG_StartUp()’ as the start function. This launches all others functions of the historical data management. 106 5-Implementation Calculation Service in Web Designer The calculation lets you perform operations with variables and combine variables. These formulas are executed periodically, according to the frequency configured in the ‘Properties’ screen. The formulae in the cells are interpreted, then executed oneby-one from the top to the bottom. We recommend adjusting the service’s execution period to1000 ms. In our application, we use this service to manage periodic backups of the datalogging service, and to stop backups when Vijeo Citect downloads the .csv files.l. The following screenshot shows the table with the variables and their content.: Definitions of these variables are shown below: • BackupPreset: repetition period of the backup commands. • BackupClock: incremented variable for each calculation service’s execution. The period of the service’s execution is 1000 ms, so the BackupClock variable is incremented every second. If the BackupTime variable time is longer than the device.gtw.BackupPreset variable, the BackupClock variable is incremented, otherwise it is maintained. Here are the variable’s formula and algorithm: calculation.calculation.BackupTime≥calculation.calculation.BackupPreset ? calculation.calculation.BackupClock+1: calculation.calculation.BackupClock. which means: If the variable calculation.calculation.BackupTime equals or is longer than calculation.calculation.BackupPreset, then calculation.calculation.BackupClock is incremented, otherwise it is maintained. • BackupTime: incremented variable for each calculation service’s execution. The period of the service’s execution is 1000 ms, so the BackupTime variable is incremented every second. Here are the variable’s formula and algorithm: calculation.calculation.BackupTime ≥ calculation.calculation.BackupPreset ?1 : calculation.calculation.BackupTime +1 If this variable time is longer than the BackupPreset variable, then BackupTime is reset to 1, otherwise it is incremented. 107 5-Implementation • Backup: mapped variable used as a backup trigger of the datalogging service to create the .csv files. Here are the variable’s formula and algorithm: Device.gtw.StopBackup==1? calculation.calculation.Backup: device.gtw.backup+calculation.calculation.BackupClock. If StopBackup is true then the backup trigger is no longer incremented.. Else the backup trigger is the sum of the device.gtw.backup variable managed by Vijeo Citect, plus the BackupClock variable, periodically incremented. This formula is used to stop the backup during the Vijeo Citect FTP download steps. Datalogging Service in Web Designer The datalogging service (data historization) lets you save the information from the TSX ETG 302X module to a CF card, a Flash memory, the module’s RAM, or a USB key. For more information, refer to ‘FactoryCast HMI Gateway TSX ETG 302X module’ technical documentation. The information that follows shows you how to quickly implement a data historization. The datalogging CSV files can be accessed from any FTP client tool, using the path corresponding to the storage media: • \NAND\FLASH1\USERDATA for the flash memory, • \RAMDISK\USERDATA for the internal RAM • \CFA00\USERDATA for the CF Card • \USBHD\00\USERDATA for the USB key. We historize the following variables in the Plant 1: • 3 variables every 10 seconds • 8 variables every 60 seconds Because we have different periods, 2 tables are required. There are no rules for naming the table. In our application, we choose Table0Etg1 and Table1Etg1. The chosen storage media is a 256 Mo CF card. 108 5-Implementation 1. Services properties The following screenshot shows the datalogging window: The following list explains the requirements for backup parameters: • Global Backup: select this checkbox to define a global backup for all tables configured in this service. • Use of a trigger: select this checkbox to trigger the backup, rather than have a periodic backup. • Specify in the variable field the calculated variable created in the calculation service, here ‘calculation.calculation.Backup’. This variable is incremented following the ‘BackupPreset’ value, and is specified for the calculation service as well. Specify NY to save any modification of the ‘calculation.calculation.Backup’ value. • Media target: here, we use a 256 Mo Flash compact card. The following list explains the requirements for the purge parameter: • Specify the variable for the ETG equipment: ‘device.gtw.purge’. This variable is written and incremented by Vijeo Citect. Specify NY to define an historical file’s purge on any modification of the ‘device.gtw.purge’ value. There are no requirements to implement for the Service status variable. 109 5-Implementation 2. Creation of the Table0Etg1 The following screenshot shows the final datalogging window required to create the Table0Etg1 table: 110 5-Implementation The following table lists the parameters and their descriptions: Parameters Description Table parameters Type the desired table name in the Table name box; here Table0Etg1. Log parameters Select the use of timer checkbox, then adjust its period; here, 10 seconds. Select the Timestamp checkbox to make the saved variables timestamped. You must select the Optimized Log Format to have the.csv files be readable by Vijeo Citect. We set the Maximum records to 500. This corresponds to the line number in the .csv file. The higher this parameter, the longer the FTP download. Log variables The 3 PAC variables historized with a period of 10 seconds are added in this field. Backup Parameters Select the CFCard as the storage media. Status variable: we specify the ‘device.gtw.statusBackup’ TSX ETG 302X module’s variable. This variable is used in the Vijeo Citect Cicode for the historical data management’s synchronization. Maximum file number is set to 10. For the higher, the maximum records parameter, the longer the FTP download.. Purge Status variable: We specify the device.gtw.statusPurge’ TSX ETG 302X Parameters module’s variable. This variable is used in the Vijeo Citect Cicode for the historical data management’s synchronization. FTP settings (This service is not used.) This service lets you send the files to a remote FTP server. Our alternative solution is to use the FTP server of the TSX ETG 302X module and, as a result, Vijeo Citect is the FTP client. 111 5-Implementation 3. Creation of the Table1Etg1 The following screenshot shows the final datalogging window required to create the Table1Etg1 table: 112 5-Implementation The following table lists the parameters and their descriptions: Parameters Description Table parameters Type the desired table name in the Table name box; here Table1Etg1. Log parameters Select the use of timer checkbox, then adjust its period; here, 1 minute. Select the Timestamp checkbox to make the saved variables timestamped. You must select the Optimized Log Format to have the.csv files be readable by Vijeo Citect. We set the Maximum records to 100. This corresponds to the line number in the .csv file. The higher this parameter, the longer the FTP download. Log variables The 8 PAC variables historized with a period of 1 minute are added in this field Backup Select the CFCard as the storage media. Parameters Status variable remains blank. Vijeo Citect considers the Backup status of the Table0Etg1 as a global status that can be used for historical data management. Maximum file number: is set to 10. The higher the maximum records parameter, the longer the FTP download. Purge Parameters ‘Status variable’:this field remains blank. Vijeo Citect considers the purge status of the Table1Etg1 as a global status that can be used for historical data management. FTP settings (This service is not used.) This service lets you send the files to a remote FTP server. Our alternative solution is to use the FTP server of the TSX ETG 302X module and, as a consequence, Vijeo Citect is the FTP client. 113 5-Implementation Cicode This section describes the Cicode for historical data management. The ETG_Include provides 2 Cicode files, as shown below: 1. ETG_Startup() The ETG_Startup() function is a function of the ‘ETG_BackFill” Cicode file of the ETG_Include project. The following screenshot shows the ETG_Startup() function: This function is called once, when Vijeo Citect starts up. It retrieves the number of TSX ETG 302X modules to be monitored in the Citect.ini file (1 in Architecture 1 & 2, and 2 in Architectures 3). The function initializes the startup values, and launches the four other functions that run independently via the ‘While…True’ loops. 114 5-Implementation 2. ETG_Status() This function manages the status of the communication with the ‘iStatusETG[x]’ variable. This variable is a global one, directly written in the function. Consequently, it can be read by the other Cicode functions. When communication is re-established, ETG_Status() manages: • A backup request for the historical data closing. • The downloading of the .csv files via FTP • The launching of the ETG_CSV_Convert.exe. 3. ETG_PurgeTask() If the communication with the TSX ETG 302X module is OK (value read on the StatusETG[X] variable), then this function sends periodically sends a purge request for the historian files included in the TSX ETG 302X module. The period can be set by the user. 4. ETG_UpLoadTask() This function permanently checks the content of the Vijeo Citect folder within the ETG_Include project, which is: ‘…/ETG_Include/Trend/’. If csv historian files are in this folder, the function (with the help of others functions) can integrate the historian data included in these csv files. 115 5-Implementation The following drawing explains the structure of the Cicode function’s call: ETG_Status() ETG_StartUp() ETG_Status() ETG CONNECTED ? NOT ETG_PurgeTask() YES Status==Offline ETG_ClockSynchro() Status<> Online ETG_UploadTask() YES ETG_Backup() While True FTP_GET_ALL_TREND_FILES() FTP_GET_FILES() FtpDownload() NOT ETG_CSV_Convert.exe Status==Online ETG_PurgeTask() While True Status== Online YES Send Purge to ETG ETG_ClockSynchro() ETG_Clock_Synchro.exe While True Wait(???sec) ETG_UploadTask() ETG_CheckForUploadFiles() ETG_IntegrateHistoFiles() ETG_InsertTrendValue() While True ETG_DeleteAllOldUploadFiles() 116 5-Implementation The .exe Files This section gives information about the .exe files located in the ETG tools folder. Note: These files have been previously restored with the EG_Include project. 1. ETG_Clock_Synchro.exe This file manages the time’s synchronization of the remote TSX ETG 302X module, by sending the time of the workstation that executes Vijeo Citect. via a write request of 4 consecutives registers on Modbus TCP. The following table explains this synchronization: Stage Description 1 Retrieving of the remote TSX ETG 302X module’s IP address or URL, via the Citect.ini file. 2 Test if the TSX ETG 302X module can be accessed through a ping command. If the ping is ok, the processing continues, otherwise the .exe stops. 3 Connection to the TSX ETG 302X module via a Modbus TCP request. 4 Launching of the SendTimeToETG() function: -> retrieving of the number of the TSX ETG 302X module’s first register where the time is written. This number is retrieved in the Citect.ini file. -> retrieving of the time on the specified workstation. -> Modbus TCP request established. -> Sending of the time from the TSX ETG 302X module. 5 Launching of the ReadTimeFromETG() function: -> retrieving of the data from the remote TSX ETG 302X module. -> integration of the received data. -> display of the time, read on the remote TSX ETG 302X module. -> end of the ro utine. 117 5-Implementation 2. ETG_CSV_Convert.exe This .exe creates new csv files from the TSX ETG 302X module’s cvs files, which have been previously downloaded via FTP by Cicode. Newcsv files are created as follows: In the TSX ETG 302X module of the Plant 1, 2 historian tables, Table0Etg1 and Table1Etg1 will be created. Consider the Table0Etg1 as an example; this contains the historic of 3 variables. The following screenshot shows the contents of a downloaded Table0Etg1.csv file: The .exe creates so many csv files as historical values in the Table0Etg1 file. In this case, 3 csv files are created. The following screenshot shows the ‘Table0Etg1.1.csv.plc.m340.LiftingFlowIn.csv’ file after the execution of the ETG_CSV_Convert.exe. 118 5-Implementation The following table explains how the .exe file operates: Stage 1 Description Call of the ‘BrowseCSVinDirectory()’ function. This function reads the contents of the ‘TrendFTP’ folder of the ‘ETG_Include’ project, then retrieves the name of each file. 2 A ‘For Each Files’ loop is executed in the ‘BrowseCSVinDirectory()’. This loop processes the files one by one, calling the ‘ConvertCSVFiles()’ function each time. 3 The ‘ConvertCSVFiles()’ retrieves the names of the variables, the date/ time value and the historized values, to create a csv file by variable. This new file is put in the ‘Trend’ folder of the ‘ETG_Include’ project. 4 This function is completed when all the csv files have been processed. 119 5-Implementation 5.3.4. Reporting & Alarming E-mail and SMS Services The TSX ETG 302X module can automatically and dynamically send emails or SMS to inform the user. A unique service manages the SMS and email sending. This service is configured from Web Designer. The email includes recipient’s name and email address, the message’s body and object, and any attached files. When the message is sent, the real-time values of the application can be dynamically included; when the TSX ETG 302X module receives the request, it instantaneously retrieves the values. The SMS are directly sent by cellular. The message body can display the real-time values previously included. For more information about this service, refer to the technical documentation of the TSX ETG 302X module. Activation of the email/ SMS Service in the Water project of the Module Right click on Services, then select New Services: In the Service type menu, choose the email service and name this instance. Note: The maximum number of email or SMS services is 2. The maximum number of messages for 1 project is limited to 100. 120 5-Implementation Properties of email/ SMS Services This section explains the 4 aspects of the service, as shown below: 1. SMTP server In this section, we specify the desired SMTP server used to send emails. Refer to the ISP for the port SMTP number, and to determine if a secured authentication is required to send an email. In our application, the sender’s email address is plant1@orange.fr. Consequently, we use the orange’s SMTP server, i.e. smtp.orange.fr. This server does not require a secured authentication and uses the SMPT port 25 by default. 2. Sender • Sender: Mail address of the sender: plant1@orange.fr • Reply address: If the recipient wants to reply to the sent message, the recipient’s message is sent to this address. 3. Module In this section, we define the maximum size of the sent email/ SMS queued, as well as the time elapsed before a retry of the send. 4. Service The purpose of this feature is to provide status information on each service for diagnostic/debug services. In our application, the Service status variable is left blank. 121 5-Implementation Email Properties In our application, we send a daily email to the lifting station manager’s email address. This email includes: • Date/ Hour of email sending • Analog level in the drinking water tank 2 • Flow in/out of the station The following screenshot illustrates the email services based on our previous choices: Identifier corresponds to the email name for Web Designer. The Trigger is the rising edge of a bit written by the PAC: Lf1_DailyMail. Specify the Destination, i.e. the targeted email address. Specify the message’s Subject, here Daily Information. Complete the message’s content: • Real-time values can be inserted by double-clicking in the body text’s area. A window appears that lets you choose a value to be inserted in the text. After insertion, this value is shown between brackets. • We choose to add in the beginning of the message the Date/Hour of the email sending, as well as the Wastewater tank’s level and the flows in/out. Save the modifications in the project. You can now quit the service. 122 5-Implementation SMS We send an SMS by cellular to maintenance personnel when a pump becomes inoperative. The following paragraphs explain how to create the SMS. We implement one SMS sending for the default management of the drinking water pump. 1. Default management of the drinking water tank pump The following screenshot illustrates the sending of the Drinking water tank’s SMS: Select the SendSMS checkbox to activate the SMS service. Identifier corresponds to the SMS name for Web Designer: Drinking water_Fault. The Trigger is the rising edge of the following bit written by the M340 PAC: Lf1PmpD_SMS. Specify a recipient’s cellular number in the Destination box. Complete the message’s contents: Real-time values can be inserted by double-clicking in the body text’s area. A window appears that lets you choose a value to insert in the text. After insertion, this value is shown between brackets. The body text includes the pump name as well as the real time values of the Drinking water tank’s flows in/out. Save the modifications in the project. The following screenshot illustrates what you will see after the Email and SMS implementations: You can now quit this service. 123 5-Implementation 124 6-Operation 6.Operation 6.1 Communication Establishment Before beginning operation, you must connect to the Internet. The following table shows you how to connect, based on operator workstation and architecture: Architecture Workstation 1 Operator 2 3 Manual with ISP software Auto with TSX ETG module Auto with TSX ETG module Manual with ISP software Manual with ISP software Manual with ISP software Manual with ISP software Manual with ISP software Manual with ISP software Workstation 1 Operator Workstation 2 Operator Workstation 3 Note: For the TSX ETG 302X modules, there is nothing to operate. The Internet connection is permanent and is done automatically. NAT Routing For the NAT routing, there is nothing additional to operate. 125 6-Operation VPN Tunnel The table below lists the method for VPN tunnel connection: Step Action 1 Launch the Internet connection as previously described. 2 Launch and start the DynDNS updater. 3 Wait for the URL DynDNS updates. 4 Open the VPN tunnel by launching the batch file ipsectunnel.bat 5 Execute a ping DOS command using the remote site’s LAN to check the VPN tunnel establishment. If it is not established, close the VPN tunnel by launching the batch file ipsecstop.bat, and start again from the step 4. 126 6-Operation 6.2 Remote Functionalities The following remote functionalities are available for all architectures. 6.2.1. Operating & Monitoring Graphic Viewer The graphic viewer’s access to Plant 2 is done from Operator Workstation 3, as shown in the following table: Step 1 Action Type the following in Internet Explorer: NAT : http://90.95.13.125 VPN: http://172.31.35.1 2 Click on Monitoring 3 Click on Graphic Viewer 4 Select the ‘Basin’ view to display the graphic view The following screenshot shows the view available in VPN mode: 127 6-Operation Custom Pages The custom page’s access to Plant 1 is done from Operator Workstation 3, as shown in the following table: Step 1 Action Type the following in Internet Explorer: NAT: http://90.95.78.174 VPN: http://172.20.1.16 2 Click on Monitoring 3 Click on Custom Pages/ With Password 4 Type USER/USER The following screenshot shows the view available in VPN mode: 128 6-Operation Vijeo Citect Client/Server The Operator Workstation 1 is Vijeo Citect Client/Server in all of the architectures. This is the Server workstation that manages the historian files management and OFS. Launch the Vijeo Citect Client/Server as usually. The following screenshot shows the Vijeo Citect Client available in the architecture 3 (PLANT 1 and 2): 129 6-Operation Vijeo Citect Client This section concerns the Operator Workstation 2. It shows the chosen solutions for the VPN and the NAT architectures. Before any operations, you must do the following backup: Do a backup of the RemoteAccess Vijeo Citect Client/Server application of the Operator Workstation 1, then restore this Vijeo Citect application on the Operator Workstation 2. From the Operator Workstation 2, delete the included project ETG_Include of the RemoteAccess project. Note that only the Vijeo Citect server manages the Historian Files management. 1. Vijeo Citect Client For the VPN solution, in the architectures 2 and 3, the Vijeo Citect Client execution is done from the Operator Workstation 2. Launch the Vijeo Citect Client as usually. The following screenshot shows the Operator Workstation 2 Vijeo Citect Client available in the Architecture 3 (PLANT 1 & 2): 130 6-Operation 2. Web Client For the NAT solution, in the architectures 2 & 3, the Vijeo Citect Web Client access is done from the Operator Workstation 2. Refer to the following Vijeo Citect knowledgebase, webclient across LAN/WAN documentation to get more information about how to implement a Web Client. Do the following: Action Step 1 Open Internet Explorer. Note: With Mozilla Firefox, the Web Client functionality is inoperative. 2 Type http://80.10.20.11/Citect 3 Type the connection’s login and password proper to the Vijeo Citect Web Server (webclient/wenclient, in our case). 4 To reach the Web Server, we use a NAT router. Consequently, modify the deployment to type the Clusters and their associated routing addresses, as follows: 131 6-Operation 5 Validate the modifications then go back on the homepage, as follows: 6 Finally, click on the Start Control Client button to launch the Web Client with the R/W rights. 7 The following screenshot shows the Web Client available in the architecture 3 (PLANT 1 & 2) with the NAT solution: 132 6-Operation 6.2.2. Programming From Unity Pro, connect to the PAC. Once connected, you can perform operations as usually. These operations included remote maintenance, online modifications, applications or updates transfers. Note: Due to the GPRS network, the connection time is more longer than with a local connection. VPN Tunnel We use the Windows IPSec service as a VPN client to implement the tunnel between the remote sites. Note: We recommend not to use TheGreenBow VPN client, because it does not allow to correctly manage active FTP service. NAT routing Here is the NAT routing table syntax: IPaddress:TCPPortNumber, which means: TSX ETG 302X IP address: port (source port), and then the TSX ETG 302X module routes to the PAC IP address: port (destination TCP port). Note: For NAT routing, the installed Unity Pro version must be capable of managing an address in the format: IPaddress:TCPPortNumber, i.e. Unity Pro 4.1 or later. 133 6-Operation 6.2.3 Historical Data Management Once Vijeo Citect is launched, the ETG Clock Synchro starts one time, then periodically.(Refer to Configuration Chapter, ETGBACKFILL section, to how to configure the SynchroRepeatTime) If a communication loss occurs, Vijeo Citect is no longer able to log data, as shown on the following screenshot: Once the communication is re-established, the CSV download by FTP is done in background process. The CSV download complete, the CSV convert .exe is automatically launched. 134 6-Operation The data are retrieved as shown: 135 6-Operation 136 7-Appendix 7. Appendix 7.1 Custom Pages We illustrate the Custom Pages by creating a lifting unit in the drinking water station. We use the TSX ETG 302X module’s (Plant 1) Custom Pages to show how to implement a control interface, which can be used through a web navigator such as Internet Explorer or Mozilla Firefox. The creation rules of these Custom Pages are exactly the same as for an ordinary HTML- coded website. Note: Access to the Custom Pages can be authenticated. We implement this solution in this guide. The Website described in this section is composed of an ‘index.htm’ home page and a ‘lifting.htm’ page. A contextual menu enables navigation on the website. A title is displayed on each page. We divide the website creation into three parts, as follows: 1. Creation of the HTML- coded web pages 2. Creation o the objects library 3. Call of the graphic objects in the HTML-coded web pages 137 7-Appendix 1. Creation of the HTML-coded Web Pages Complete the following steps: 1. Go to the \Website\secure\user folder and open the home page of ‘Custom Pages. You will need to use an HTML editor to make the required modifications. We use Notepad++, which is provided with this guide. 2. Modify the title of the HTML page, located between the <TITLE> and </TITLE> tags. 3. Delete the text between the <BODY> and </BODY> tags. 4. In the ‘user’ folder, create an ‘images’ sub-folder. The .JPG images stored in this folder are used as wallpaper for each of our Web pages. We choose 5 images: home.JPG, Lifting.JPG, Screening.JPG, GreaseSand.JPG and Clarifier.JPG. 5. Add the home.jpg wallpaper image, in the ‘index.htm’ HTML page, by configuring the <BODY> tag as follows: <BODY style="BACKGROUND-REPEAT: no-repeat" background="images/home.JPG"> 6. Add the following page title: ‘Home’ 7. Create a contextual menu allowing access to different website pages. We create a page for the ‘Lifting’ unit only, as a result the ‘#’ value is assigned to the ‘href’ attribute of the others links. The HTML code of the home page must be as shown below: 138 7-Appendix For more details about HTML programming, refer to HTML documentation. To create an overview of the home page, transfer the TSX ETG 302X module’s website through Web Designer. To perform this transfer, proceed as follows: 1. Right click on the Website\secure\user folder of the Web designer project. 2. Select PC->Target, then FLASH, as shown below: 3. Open your Web browser, in this example Mozilla Firefox. 139 7-Appendix 4. Through the TSX ETG 302X module’s menu, select Monitoring, then Custom Pages and With Pages. 5. Type the user name ‘USER’ and the password ‘USER’ to display the homepage of our ‘Custom Pages.’. The following screenshot shows the result: In order to improve the style of our ‘Custom Pages’, add the CCS language by creating a ‘sources’ folder. Then, create a .txt document called ‘design.css’. A CSS style sheet provides you with a consistent website. Each of our webpages calls this unique file. For more details, open the ‘design.css’ file provided in this guide to provide an overview of the CSS language. Edit the ‘index.htm’ homepage’s HTML code to assign the style sheet ‘design.css’. Modify the <link> tag’s content, which already existis in the HTML code. Modify the href attribute’s path, making it point to the ‘design.css’ style sheet in the ‘sources’ folder. The result is shown below:: <LINK rel="stylesheet" type="text/css" href="../../lib/main.css" > 140 7-Appendix Notes about the HTML: • The <link> tag indicates that the Web browser must access a document located outside of the HTML page. • The ‘rel=’stylesheet’’ attribute specifies that the document in question is a style sheet. • The ‘type=’text/css’’ attribute specifies the style sheet’s type, .css in our application. • The ‘href=’URL’’ attribute gives the style sheet’s URL, i.e.its location on the internet, sources\design.css in our application. Our HTML page can now use the .css file’s style sheet. We use the <DIV> and </DIV> tags, with the completed ‘class’ attribute, to format our pages with the style properties previously defined in the ‘design.css’ file. The following extract of the ‘design.css’ file illustrates the customized style called ‘h1’, used to display the names of the HTML pages: Extract of the ‘index.htm’ file: 141 7-Appendix The following screenshot shows the result: The page’s name (Home) appears with the style defined in the ‘design.css’ file. Make similar modifications to customize the contextual menu’s display. The following screenshot shows the final HTML code of the ‘index.htm’ page: 142 7-Appendix The following screenshot shows the final result: Now make these modifications for the Lifting page. Copy the ‘index.htm’ page then rename it in ‘lifting.htm’. Edit the ‘lifting.htm’ as follows: 1. Modify the page’s title: <TITLE>Lifting</TITLE> 2. Modify the wallpaper: background=’images/Lifting.JPG’ 3. Modify the page’s name: <DIV> class=’h1’>Lifting</DIV> 4. Adapt the contextual menu as shown below: The website’s architecture is now completed. 143 7-Appendix 2. Animation of the Website Before animating the website, you must create an object library from the ‘Graphic Editor’ service. These objects can then be instantiated in the HTML page. Proceed as follows: 1. From Web Designer, click on the GraphicScreens service, then click on New Graphic Page 2. Edit the graphic page: The creation of a digital indicator is taken as an example. This object is instantiated for all the Lifting unit’s measures. 3. Click on digital indicator in the ‘standard’ object’s types, then click in the page to place the object. 4. Rename this standard object as ‘Indicator 1’. This name is used to call the object from an HTML page. 5. Modify the properties you want to customize: the size, colors, fonts, etc. 144 7-Appendix 6. Assign attributes. This example illustrates the following parameters: • The measure’s address. • The number of decimal places after the dot. • The measure’s unit. The following screenshot shows the object after the customization: 7. Create and customize the following objects: • ‘Indicator2’ from the ‘Vertical indicator’ object • ‘Totalizer1’ from the ‘Digital indicator’ object • ‘Reset1’ from the ‘Push Button’ object • ‘Trend1’ from the ‘Trend Recorder’ object • ‘MotorControlP1’ from the ‘Motor Control Station’ object • ‘MotorControlP2’ from the ‘Motor Control Station’ object • ‘MotorControlP3’ from the ‘Motor Control Station’ object • ‘MotorControlP4’ from the ‘Motor Control Station’ object • ‘MotorControlP5’ from the ‘Motor Control Station’ object 145 7-Appendix The resulting customized library appears as follows: 8. Click on Done to apply the modifications, then on Save. 9. Name the graphic page, i.e. ‘LibObj’ for our application, then click on OK. This name is used to call the objects from the HTML page. 10. Transfer the library in the TSX ETG 302X module by a right click on the previously-created library. Select Partial Transfer and PC->Target as shown below: 146 7-Appendix Our object library is now completed and transferred to the TSX ETG302X module. The final phase shows you how to instantiate, and to organize these instances on the ‘lifting.htm’ HTML page. 3. Finalization of the Website Use your HTML editor to open the ‘lifting.htm’ HTML page. To use the previously created graphical objects, a Java applet must be called in the HTML page before any other object’s call: ‘LiveBeanMgrApplet’. • Inserting the code in the HTML page: Because we write to the PAC from the Custom Pages, we specify the MODE parameter on ‘READWRITE’, we do not type a login before sending a command from the Custom Pages, and therefore we specify ‘AUTO_LOGIN’ on ‘TRUE’. • Adding the Trend object on the HTML page: On each Java applet’s call, we add the tags <P> and </P>. These allow us to locate the objects on the HTML page as LEFT and TOP attributes. We recommend that you review the HTML page before finding the suitable values of these LEFT and TOP attributes. Then, we adapt the Height and Width object’s attributes. We recommend you also review the HTML page before determining the suitable values of these Height and Width attributes. Ttransfer from Web Designer to create the final HTML page’s overview through the TSX ETG 302X module’s Web server. 4. Java applet parameters: The first parameter concerns the library’s name. This library is the ‘LibObj’ previously created, which includes our objects. This parameter is the same for all graphical objects located on the HTML page. The second parameter is the object name defined in the graphical page, I.e ‘Trend1’ in our example. 147 7-Appendix • Adding of the Indicator 1 object on the HTML page: As with the Trend object, locate the object on the page, then adjust the size parameters, and finally complete the parameterization. • Parameters: The first LIBRARY parameter is identical to the associated parameter for Trend.. The second BEAN parameter concerns the object’s name defined in the graphical page, that is, ‘Indicator1’. The third BACKGRND parameter corresponds to the object’s color. The fourth PROPERTIES parameter includes the values that customize the object’s instance. Unlike the Trend object, there are many instances of the ‘Indicator 1’ object on the HTML page. We define the following parameters: • Address: the variable’s address in the TSX ETG 302X module, i.e. ‘PAC m340 LiftingFlowIn”. • • Accuracy: the number of decimals after the dot, in this example 3. • Units: the measure’s units: ‘m3/h’. The principle is the same for all Java applets done on this page, and can be used as a guide to edit the ‘lifintg.htm’ file. 148 7-Appendix • Website transfer The following screenshot shows an overview of the ‘lifting.htm’ page after the transfer into the TSX ETG 302X module: 149 7-Appendix 7.2. Graphic Viewer We illustrate the Graphic Viewer functionality by the creation of a monitoring system of the remote water tower. This functionality is implemented with Web Designer. We use Web Designer to: • Declare the equipments, PAC and Gateway. • Create a graphic page to realize the GDT user interface. • Use the Data Logging service to record the values. • Use the Calculation service to trig the data backup. Note: You can create these graphic pages directly from the TSX ETG 302X module’s Website through a Web Browser. Note: No technical information is given about Web Designer. 150 7-Appendix Follow the method after: Step 1 Action In Web Designer, Navigator tabs, click on New Graphic Page: Then Edit. 2 To insert a wallpaper, click on Properties then specify your image name: This image must be in the Website/images folder. 151 7-Appendix 3 Insert the required objects, from the standard and/ or extended toolbars: Note: The instantiated objects can be animated by typing a value in the Value field. Save your page. 4 Transfer the application in the TSX ETG 302X module: 5 Tick Transfer Only Modified Files to transfer images previously stored in the Website/images folder: 152 7-Appendix 7.3. Technologies This type of architecture, because of the variety of communication aspects (local to local, local to remote) involves different communication technologies to allow flexibility. In this appendix you can find short descriptions of the technologies used. GPRS The TSX ETG 302X module is connected to the Internet via the GPRS network. GPRS provides a cost-effective solution for wireless remote connection to distributed installations over the Internet. It is a packet-oriented data service based on GSM. Using GPRS, the user pays only for the total volume of data exchanged, regardless of the length of the connection time. The following table presents the theoretical and typical data exchanges of the GPRS: Theoretical Typical Upload Download 80.6 kbit/s 171.2 kbit/s 20 kbit/s 80 kbit/s Note: These values depend on your service provider, the distance between your module and the base station, and the current traffic. 3G+ The Vijeo Citect client is linked to the Internet via a 3G+ (HSDPA) connection. The 3G+ is an enhanced mobile telephony communications protocol in the High Speed Packet Access (HSPA) family. This technology supports a theoretical maximum download speed of 7.2 Mbit/s. This speed also depends on your service provider, the distance between your module and the base station, and the current traffic. TCP/IP To communicate on a local or remote network, the TCP/IP protocol uses ports (numbers from 0 to 65535) and addresses. The IP address is used to uniquely identify a component on the network (PAC, PC, etc.) whereas the port number indicates the application or the service for which that data is intended. As a result, when a component receives information for a specific port, the data is sent to the corresponding application or service. 153 7-Appendix A standard assignation of these ports is done by the IANA (Internet Assigned Numbers Authority), to enable the network’s configuration. From 0 to 1023: Well Known Ports that are mainly reserved for system processing or for programs executed by privileged users. Nevertheless, a network administrator can link services to these ports. Here are some ports examples, commonly used: 21: FTP 23: Telnet 25: SMTP 80: HTTP 110: POP3 502: Modbus TCP From 1024 to 49151: Registered Ports From 49152 to 65535: Dynamic and/or Private Ports Routing To transport information using multiple medium combinations, local or internet, routers are used. A router receives packets, and then dispatches them depending on a routing table to the next router until reaching the targeted local network. Each packet has its origin and destination address. There are several ways to route data on networks. In our applications, we use two of them: VPN and NAT, which are described in the following paragraphs. VPN The routing between remote equipment via the Internet is performed through a VPN (Virtual Private Network) tunnel. This network is called Virtual because it links 2 physical networks (local networks) by an unreliable link (internet), and Private because only the PCs included in the two local networks linked by VPN can see each other. Finally, the word Tunnel symbolizes the fact that between the tunnel’s entry and exit the data are encrypted, so normally anyone can access it, like in a tunnel. The utilization of static URL (hostname) names simplifies the VPN tunnel’s implementation. DynDNS We use a dynamic DNS network service (DynDNS) to get a hostname (URL) that remains constant, instead of the dynamic public IP addresses of the installation (Vijeo 154 7-Appendix Citect Server and Client, ETGs). This eases the creation and the handling of the VPN tunnel. Note: The DynDNS updater software will not automatically updatethe URL if the device does not indicate a default DynDNS client. NAT Another way used to establish the connection between the site and the control terminal is the Network Address Translation (NAT). In the case of a data transmission from local (office) to remote (internet) equipment, the origin (office) address is unknown on the internet side, and the recipient cannot answer. So it becomes mandatory to replace the private origin address with a public one, using a NAT (Network Address Translation) router. Through a routing table, the NAT router replaces the equipment’s origin and port private addresses with a public internet address, plus a chosen port number that corresponds to the desired service, as previously explained in the TCP IP section. The target equipment returns the address and the port in a form understandable by the NAT router. The router then send the packets back to the local equipment. In this case, the user does not have to configure anything. This is a typical function of instantaneous messaging services. The software of the equipment situated on the private network connects to the messaging server, which does the transformation of the addresses and then contacts the remote equipment. In contrast, if remote equipment calls from the internet to reach a private address, the router cannot know which local equipment to forward to. To solve this, we use Port Forwarding. Port Forwarding This method allows connection through the Internet from remote to local equipment. In the NAT router, the user creates a table containing ports and corresponding private local addresses, as follows: Port (to be defined in the NAT router) Local Private Address (already defined) and port number (to be defined in the NAT router) 5000 172.20.1.4:502 (Modbus TCP) 5001 172.20.1.8:80 (HTTP) Once this table is defined, the remote equipment can access local equipment by typing the address and the port in a Web browser or a software package (here Unity) according to targeted service desired. 155 7-Appendix For instance, for HTTP service, type www.router.dyndns.com:5001 in your Web server, and for Modbus TCP service, type www.router.dyndns.com.5000 in Unity Pro. 156 7-Appendix 157 Schneider Electric Industries SAS Head Office 89, bd Franklin Roosvelt 92506 Rueil-Malmaison Cedex FRANCE Due to evolution of standards and equipment, characteristics indicated in texts and images in this document are binding only after confirmation by our departments. Print: www.schneider-electric.com Version 1.0 –1 -12 Version 10 2009 2008 158