Translated from Finnish to English - www.onlinedoctranslator.com PETRI LEHTINEN OPC INTEGRATION OF VALMET DNA Bachelor's thesis Inspector: Mikko Salmenperä Inspector and topic approved on January 11, 2017 i SUMMARY Petri Lehtinen: OPC integration of Valmet DNA Valmet DNA OPC integration Tampere University of Technology Bachelor thesis, 19 pages, 4 appendices April 2018 TkK degree program in technical sciences Main subject: Automation technology Inspector: Mikko Salmenperä Keywords: Valmet DNA, OPC, automation system, integration, ISA-95, Distributed Control System The continuous growth of automation systems has led to the fact that there are often products from many different manufacturers inside the factory. These different products are often meant to work together. In automation systems, the solution to this is often the OPC protocol (Open Platform Communications). The purpose of this work is to get to know the OPC protocol and its application in the Valmet DNA automation system (Dynamic Network of Application). The purpose of the PoC (Proof of Concept) performed in the work was to make the measurement data running internally of the Valmet DNA automation system of the distillation column at Tampere University of Technology visible on the OPC server. The OPC server enables other applications to use the data measured in the DNA automation system. During the work, it became clear that there are a few integration methods in question and that a good and versatile OPC connection has been implemented in Valmet DNA. As a result of the work, the measurement data could be displayed on the OPC server. The measurement data was displayed on the OPC server using a static namespace that was created with a configuration file on the OPC server. The results of this work can be used as a help if you want to use the measurement data of the distillation column in third-party applications. ii TABLE OF CONTENTS 1 INTRODUCTION ............................................... ................................................ ............1 2. INTEGRATION OF AUTOMATION SYSTEMS............................................2 2.1 ISA-95 .............................................. ................................................ ............3 2.2 OPC .............................................. ................................................ ..............4 2.2.1 OPC Classic .............................................. ........................................4 2.2.2 OPC Data Access ............................................ ................................6 3. DNA .............................................. ................................................ ........................7 3.1 DNA in general .............................................. ................................................ 7 3.2 DNA tools................................................... ................................................ .8 3.3 DNA control circuits................................................... ............................................10 3.4 Functionality of the DNA application ............................................. ...................11 3.5 DNA OPC Server .............................................. ..........................................12 4. OPC INTEGRATION OF VALMET DNA ........................................... ...................13 4.1 Distillation column automation network ............................................... ...............13 4.2 Integration with FbCAD OPC function blocks ............................................. ..........14 4.3 Integration using a static namespace ............................................. ....16 5. EVALUATION AND SUMMARY OF THE RESULTS ............................................. .........17 SOURCES................................................... ................................................ ....................19 APPENDIX 1: DNA OPC OUTPUT BLOCK PARAMETERS ........................................... ...20 APPENDIX 2: DNA OPC SERVER BLOCK PARAMETERS ........................................... .22 APPENDIX 3: DNA OPC GROUP BLOCK PARAMETERS ........................................... ...23 iii ABBREVIATIONS AND NOTATIONS AR CIM COM DCOM DCS DMZ DNA EAS ERP FBD I/O IEC FATHER MES BE OPC OPC-UA PC PCS PID PLC POC RDC SCADA TUT VPN Augmented Reality Computer-integrated Manufacturing Component Object Model Distributed Component Object Model Distributed Control System Demilitarized Zone Dynamic Network of Application Engineering Activity Server Enterprise Resource Planning Function Block Diagram Input/Output International Electrotechnical Commission International Society of Automation Manufacturing Executing System Object Linking and Embedding OLE for Process Control or Open Platform Communications OPC Unified Architecture Personal Computer Process Control Server Proportional-Integral-Derivative Controller Programmable Logic Controller Proof of Concept Remote Desktop Connection Supervisory Control And Data Acquisition Tampere University of Technology Virtual Private Network 1 1 INTRODUCTION In the premises of Tampere University of Technology's Department of Systems Engineering, there is a distillation column intended for teaching and research use. The distillation column was put into use in 1983 and the automation system was modernized in 2014 as part of the development of Tampere University of Technology's research and teaching infrastructures. A lot of theses related to the distillation column have been done in these years and the environment has been in continuous development. Until now, the distillation column has largely been its own process, and no connections to other applications have been needed. This is why the need for this bachelor's thesis arose. The new higher education community Tampere3 will start operating on January 1, 2019. In this case, cross-study between Tampere University of Technology, Tampere University and Tampere University of Applied Sciences is made possible. The interface, which is intended to be implemented in this work, can be used, for example, in AR (Augmented Reality) applications. If, for example, a student from the University of Tampere includes courses in his studies that include studying about the distillation column located at the Tampere University of Technology, he does not have to go all the way to Hervanta to get to know the distillation column. Instead, he can use the AR app to get the information he needs about the distillation column. The distillation column has been fully automated since 2000, and the automation system today is Valmet Automation's ValmetDNA (Valmet Dynamic Network of Application). The current distillation column automation has not been connected elsewhere, and no data is collected from the automation system to an interface from which it could be used in other applications. The purpose of this work is to explore the integration of DNA with OPC (Open Platform Communications) so that data from the automation system could be used in third-party applications. In the work, a PoC (Proof of Concept) is made in connection with the integration, which aims to prove the possibility of such an integration. This work does not focus on creating or deploying third-party applications. The second chapter reviews the necessary theoretical information about OPC. In the third chapter, we go through the theory of DNA to the extent that understanding this work is possible. In the fourth chapter, the steps performed to implement the PoC are reviewed. The fifth chapter reviews the results and evaluates the success of the work. 2 2. INTEGRATION OF AUTOMATION SYSTEMS Over the years, factory-scale automation systems have grown into large and complex entities. More and more factory processes are wanted to be automated, and thus the totality and complexity is increasing. In order to be able to manage this complexity, it is natural that the whole is divided into smaller parts. In automation, one example of this division is the "automation pyramid", which is presented in Figure 1. Figure 1.Levels of automation. "Automation pyramid" [6]. On the first level of the pyramid in Figure 1 are the physical field devices of the automation system, which produce information for the system to process, such as sensors and actuators. The second level covers control logic devices such as PLC (Programmable Logic Controller), PC and PID (Proportional-Integral-Derivative) controller. The third level has SCADA systems (Supervisory Control And Data Acquisition), which covers the control room software of the automation system. The fourth level has the MES system (Manufacturing Executing System), which is responsible for the factory's production. The MES level deals with, among other things, the factory's goods and information flows. The fifth and highest level is the ERP system (Enterprise Resource Planning), which integrates company functions such as production, distribution, inventory management, 3 [6] The lower you go in the pyramid, the stricter the real-time requirements become. The response times of sensors and actuators are from milliseconds to seconds, while the response times of ERP systems can be up to weeks. [2] 2.1 ISA-95 The automation pyramid in Figure 1 is a good way to separate the different parts of the company, but it is not very detailed nor precise enough to define complex systems for the experts who design them. However, the reality is that automation systems have several levels with different requirements and they need to talk to each other [2]. The idea of the integration of different levels of the system is not new. In the 1970s, the term computer-integrated manufacturing (CIM) was introduced, the aim of which was to have individual integration solutions combined into one functional standard solution. However, CIM was a failure and did not gain the standard's popularity in the industry. However, since the birth of CIM, the integration of automation levels has been the subject of continuous development. It was not until the 2000s that the International Society of Automation (ISA) developed the ISA-95 standard, the first widely accepted standard for integration between levels of automation. The International Electrotechnical Commission (IEC) published the ISA-95 standard under its own code IEC 62264. [2] The levels of the ISA-95 hierarchy model are shown in figure 2. The levels largely follow the levels of the automation pyramid shown in Figure 1. The integration of all these levels requires a unified communication base, which in automation is mostly TCP/IP [7]. Figure 2.ISA-95 Levels of Hierarchy Model [2]. 4 2.2 OPC In the early 1990s, Microsoft-based user interfaces dominated the industry. Automation suppliers also started to use Microsoft-supported COM (Component Object Model) and DCOMI (Distributed Component Object Model) in their products. These technologies are used to maintain communication between different applications and services. These standards have also been used in DNA, but currently they are no longer used. Larger automation systems consist of products from many different manufacturers. The need for new and better technology for the integration of automation systems arose. In 1995, automation distributors Fisher-Rosemount, Intellution, Opto 22 and Rockwell Software teamed up and started developing a technology that would be based on the previously used Microsoft COM and DCOM technologies. OPC (OLE for Process Control) was chosen as the name of the standard. Currently, OPC stands for Open Platform Communications. A year later, after the grouping, the first version of OPC DA was published. Within the next year, a few other automation retailers also started using OPC in their products. Soon the OPC developers concluded that the standard needed a more formal organization to monitor and maintain the standard, and this is how the OPC Foundation was formed in September 1996. For OPC products, OPC Test Lab Certified Product certificates can also be applied for from laboratories recognized by the OPC Foundation, which guarantees the correct functioning of the product. [4] OPC is used by more than 3,500 companies worldwide in their products. There are more than 22,000 of these products on the market. All major automation systems support OPC, including the Valmet DNA used in this work. [2] 2.2.1 OPC Classic Over the years, OPC has been divided into different functions: OPC DA (Data Access), OPC AE (Alarms&Events) and OPC HDA (Historical Data Access). DA includes writing and reading data. AE defines the processing of data generated from process alarms. HDA, on the other hand, deals with stored data and everything that can be done with it, such as plotting trends. These three functions are often referred to today as OPC Classic. As you can see in Figure 4, the functions of OPC Classic are all independent and the functions talk on their own interfaces and do not affect each other. Because OPC Classic is completely based on Microsoft's COM and DCOM technologies, it has always been tied to the Microsoft operating system and could not be used with other operating systems. The latest definition of OPC is OPC-UA (OPC Unified Architecture). This latest specification allows the interface to be implemented in Java, the .NET environment 5 or in C language. This enables the use of the OPC standard also on platforms other than Windows. The purpose of OPC is to provide a standard interface that makes it easy to connect to application solutions from different manufacturers. OPC is widely accepted and uses the communication network effectively. One of its strengths can also be attributed to its efficiency and scalability for wide applications. [5] OPC aims to replace expensive and time-consuming hardware-specific software drivers as shown in Figure 3. Figure 3.Basic functionality of OPC [7]. OPC uses the client/service model for communication. Communication can be query- or eventbased. In survey-based (polling) communication, the customer requests information from the service, while in event-based communication, the service delivers information to the customer whenever the status of the information changes. 6 Figure 4.Typical configuration of OPC [8]. In this work, only the Data Access function of OPC Classic is used, so let's focus more on it and leave the theory part of OPC UA untouched. In this work, the purpose is to create the connection between DCS (Distributed Control System) and DA Server shown in Figure 4. 2.2.2 OPC Data Access OPC DA is the most used OPC protocol because it contains exactly the core feature that OPC is all about: real-time data writing and reading. DA is mostly used in cases where data is read from physical devices such as PLC to HMI (Human-Machine Interface), SCADA or ERP/MES systems. In DA, each measurement value is assigned a tag, i.e. a type of variable. If event-based communication is selected as the communication method, the OPC Server sends the tag value to the client whenever it changes. In query-based communication, the client requests the value of the tag from the OPC Server. In addition to the name, each tag also has a value, timestamp and quality (good/bad). Time stamps can be recorded in the tag either from the field device that produced the measured value or from the OPC Server. If the field device or bus does not provide a time stamp, the time stamp comes automatically from the OPC Server. 7 3. DNA DNA is a detailed distributed automation system (DCS). It includes, among other things, process or machine data collection and management, as well as monitoring the performance of field devices. DNA can be used as a PLC or SCADA system. [6] In this chapter, DNA is introduced somewhat in general, but the main content is focused on DNA application development work, because it is the most important entity from the point of view of this work. 3.1 DNA in general The DNA system has a long history in process control. The development of electronics in the 70s created the conditions for a technological breakthrough. This also led to the then Valmet ordering an ideation and analysis project [10] from the research center VTT, with the help of which Valmet would develop the first distributed automation system, Damatic. Damatic was marketed for the first time at the Automation Days in 1978, after which the actual sales of the product began. After the first installation of the product, the world noticed that the product was very successful. Today, Damatic is called DNA. The name of the product has changed several times along with the product's development curve and corporate reorganizations, as can be seen from Figure 1. The current version is Valmet DNA, which was updated for a distillation column from MetsoDNA in December 2017. Figure 5.The evolution of DNA [8] DNA is a DCS control system. As the name suggests, the control system can be decentralized. The advantage of a distributed system is that the cabling does not have to be taken from each field device to the same unit, but each part of the process has its own unit, which is connected to a unified control room. This fact brings significant reductions in costs, and maintenance is also easier. DCS systems are often used in large processes where the distances between field devices grow large. 8 As is common with DCS systems, DNA also has a five-layer network inside the system as shown in Figure 6. The lowest level 0 has physical field devices, such as temperature sensors, control valves, etc. On the 1st floor, there are I/O (input/output) devices, i.e. units to which data is directed from physical field devices. On the 2nd floor are the processing stations that process the data coming from the I/O devices. On this floor, screen images are also produced for the control room based on real-time data received from the I/O devices. Production control takes place on the 2nd floor and production planning on the 4th floor. The third and fourth layers do not directly belong to process control, but they can be read as belonging to the DCS system. Levels 3 and 4 will also not be covered in this work. Figure 6.DCS system layers [14]. 3.2 DNA tools There are many tools intended for different purposes for the development of a DNA application. In this bachelor's thesis, however, we only get to know those that are important for understanding this work. A very important tool in application development work is the control circuit development program Function block CAD (FbCAD). FbCAD uses the Function Block Diagram language standardized by Valmet itself, which must be distinguished from the language defined in IEC 61131-3. In FBD, the logic between inputs and outputs can be shown with graphical function blocks. Figure 7 shows a simple analog measurement circuit using FBD. From the left side, the measuring circuit receives an input from the physical I/O, which the circuit collects and performs the logical operations according to the function blocks desired for the input in the measuring circuit. 9 Figure 7.FbCAD application development program [11]. DNA Explorer is a tool that binds most of the tools needed in DNA development work. Explorer displays the contents of EAS repositories (Engineering Activity Server) (control circuits, control room displays, field device configurations, etc.). When a single object in EAS is double-clicked, no matter what type it is, Explorer knows how to open it with the right kind of tool. Users can create their own workspaces in Explorer. This is desirable because many people often work in the same repository in application development. Figure 8 shows a screenshot of the DNA Explorer view. 10 Figure 8.DNA Explorer design and maintenance tool 3.3 DNA control circuits The control circuits are created with FbCAD and then the circuits are uploaded to the PCS (Process Control Server) server from EAS. With PCS, the control circuits control the controlled process or machine via physical I/O modules. Within the DNA system there is a global namespace for control circuits. These namespace circuit names are called tags. Tags can be called in other control circuits if necessary. When naming the tags, names according to ISO 14617-6 [3] are used. Tags can consist of a total of five letters, although not all of these letters are actually in the same tag. The first letter is the measuring value of the tag. The second letter is a modifier, for example ratio or difference. The third letter describes the tag's passive function, such as a sensor or a pointer. The fourth letter is the output function of the tag, such as control or switch. The fifth letter is the converter of the output function, such as close or open [3]. However, often the circuits are either control or measuring circuits, so they consist of about 2–3 letters. For example, TT-11 stands for temperature measurement circuit, i.e. temperature transmitter. For its part, TIC-12 is a temperature control circuit. The numbers after these tags are often running numbers and have no further meaning. 11 3.4 Functionality of the DNA application DNA's application practically works around EAS, Backup and various operation and process servers. Figure 4 illustrates the hierarchy of the application. Figure 9.DNA Application Hierarchy The core operation of DNA's application is based on the fact that each actuator has some kind of control circuit and a physical I/O channel. Let's take a temperature sensor as a simple example. The temperature sensor provides data (in most cases a 4–20 mA current message) to the I/O channel. Now the application running in the system reads the information received from this I/O channel and enables it for the application. The application uses this information, for example, in control room screens or in the control of circuits as shown in Figure 7. EAS is a repository where all control circuits, program codes and screen images related to the process are stored. Circuits can be retrieved from EAS for editing in FbCAD, and changes to circuits can be saved from FbCAD back to EAS. From EAS, on the other hand, these codes and circuits can be manually downloaded further to the operation and process servers (in figure 9 PCS&OPER). However, the control circuits and code go to the operation and process servers via a backup server, where the latest version of the control circuit to be downloaded is stored. The backup server also takes a backup of all codes running in the system at certain intervals. This time interval depends on the configuration of the DNA automation system. 12 The process servers themselves do not have their own hard disk, but every time they start, it retrieves the program from the backup server. When control circuits are downloaded from EAS to the servers, only configuration functions generated from FbCAD images are downloaded. The three blocks shown at the top right of Figure 7 define these configuration functions. In Figure 7, the first block on the left defines the continuous control configuration of the circuit for the process server (PCS). The middle block defines the operation function for the operation server (OPER). The block on the right defines the event function for the alarm and event server (ALS Server). [7] 3.5 DNA OPC Server An OPC interface is already built into DNA. It is possible to install OPC DA Server in DNA. DNA's OPC server can be installed on the same machine as PCS or on a separate machine. In DNA, PCS can also act as an OPC DA and OPC A&E client. PCS can read and write data from the server depending on the server's write and read settings. PCS can connect to several OPC Servers. In practice, only the available memory and processor capacity limit the number of possible servers. [7] The process control server (PCS) can read and write OPC Server variables (e.g. I/O units connected to it). Each element belongs to only one group and each group belongs to only one server. The address of the data to be read or written is determined by entering the data of the OPC server, groups and items in their own functions (OPC server, OPC group and OPC item). [7] 13 4. OPC INTEGRATION OF VALMET DNA 4.1 Distillation column automation network After receiving the subject of my bachelor's thesis, the first task was to create VPN (Virtual Private Network) usernames for the distillation column automation network. VPN technology made it possible to work from your own computer without physically connecting to the switch of the automation network. When the user IDs for the automation network could be created, I also needed the IDs for the EAS machine of the DNA environment of the distillation column. IDs for DNA's OPC Server were also created at the same time. The VPN connection is established to the virtual switch of the DMZ (Demilitarized zone) network in Figure 10. The DMZ network is a way to increase data security in the network. The DMZ network isolates process-important servers from machines that connect to the Internet, for example. Figure 10 also shows the EAS machine (Engineering) and OPC Server (Integration) used in this work, Figure 10.Distillation column automation network In order to log in to the EAS machine, you must first activate the VPN connection to the automation network. A VPN connection is established to the virtual switch of the DMZ network using Cisco's AnyConnect Secure Mobility Client (version 4.5.02036). After this, a connection to the EAS machine is established using, for example, the Microsoft Windows RDC (Remote Desktop Connection) tool. The connection to the OPC Server machine can be established from the EAS machine, respectively, with RDC. You can connect to the OPC Server directly after establishing a VPN connection from your own computer, but in this work the order mentioned above has been used. with an EAS machine 14 the operating system is Microsoft Windows Server 2012 R2. The OPC Server machine has Microsoft Windows 10 as its operating system. OPC Server is already installed in the DNA environment used in this work, and the installation of OPC Server is not considered in this work. DNA's OPC Server machine also has the Valmet Test client tool installed in connection with the OPC Server installation. It can be used to examine the content of the OPC Servers that are connected to the DNA system. In this work, only DNA's own OPC Server is connected to the DNA system. When the work started, the Valmet Test client detected the DNA OPC Server, but the measurement values of the control circuits of the distillation process were not found inside the server. The goal of the work is to make the measurement values of the control circuits visible on DNA's OPC Server. 4.2 Integration with FbCAD OPC function blocks While consulting the director of this work, Mikko Salmenperä, I came to the understanding that the DNA environment in use has an OPC Server already installed, but the desired measured values must be written to the server. I started to solve the problem from the point of view that the measured values must be written to the OPC Server, and it is not so much a visibility problem. The idea was that the DNA automation system acts as an OPC client and writes the measured values in the system to the OPC server. After researching the machines I was granted access to, I found the DNA Manuals tool on the EAS machine, which piqued my interest since no information about DNA is available online or from library sources. To my delight, I found instructions here regarding communication between DNA and OPC. The DNA Manuals talk about, among other things, the installation and configuration of DNA's OPC server, as well as the OPC client interface. According to this manual, the customer interface is created by adding the right OPC I/O, OPC Server and OPC Group function blocks to the existing measuring FbCAD circuits. Since the purpose of this work is only to write measured values to the server, only the output function blocks are needed, as well as the OPC Server and OPC Group function blocks needed for the configuration of the OPC server. Figure 11 shows the OPC output function block of FbCAD. Appendix 1 details the purposes of the parameters of the output function block. 15 Figure 11.FbCAD OPC output function block To configure the OPC server, a new FbCAD circuit was created from its tagOPC. The circuit defines the parameters for the OPC server and OPC group. They are defined by adding the OPC group and the OPC server function block to the circuit with FbCAD. The purposes of the parameters defined for the OPC group and OPC server function blocks can be found in appendices 2 and 3. After creating the circuit, the OPC circuit was downloaded to PCS using the download command of DNA Explorer. Integration with OPC output blocks was attempted with simple analog measurement circuits such as the TT-11. An OPC output block was added to the circuit and parameters were set for the block according to Appendix 1. When the required changes had been made to the FbCAD circuits (OPC and TT-11), they were downloaded from EAS to PCS using DNA Explorer's download command. When the download command was successfully executed, the OPC Server machine was restarted, assuming that everything was done according to the manual and the values would be visible on the OPC server. After the restart, the content of the OPC server was examined with the Valmet Test client, but the values did not appear on the server. After several different attempts, the measurement values of the automation system did not appear on DNA's OPC server when viewed with the Valmet Test client. However, upon rereading the manual, it was noticed that the instructions are not suitable for this job. The manual instructs the client to connect to the OPC server of other automation systems, and in this work we used our own OPC server integrated into DNA. 16 4.3 Integration using a static namespace When the integration with FbCAD function blocks was not successful, new ways to implement the integration started to be found. In the log of the OPC Server machine, it was noticed that the OPC server does not start because the file named address.dat is missing. The location of the log in question is c:\dna\XA\DNAOPCserver\AO01_1.log. Due to the missing file, an address.dat file was created for the OPC server in the c:\dna\XA\DNAOPCserver directory. Address.dat - on a single line of the file, the tag name of the circuit is written, as well as the type of value measured from the circuit. For example: pr:TT-11:av. Figure 12 shows part of the contents of the file. Figure 12.address.dat file After adding the file and restarting the OPC server, the measurement values written to the file were visible on the OPC server when checking with the Valmet Test client. 17 5. EVALUATION AND SUMMARY OF RESULTS The goal of the work was reached: the measured values of the control circuits of the distillation column are displayed on DNA's OPC server. However, the progress of the work did not go without problems. Several changes were made to the automation network and the distillation column during this work, which slowed down the progress of the work. Among other things, the DNA automation system of the distillation column was updated to the latest version during the work, and the machines that operated in the DNA environment were reinstalled, and because of this, the user IDs had to be created again and again. The structure and nature of the work changed many times as the work progressed, and because of that this work may seem like a collection of different things, especially in the theory part of the work. The functionality of FbCAD's OPC I/O function blocks could not be verified in this work. These function blocks most obviously function as interfaces to OPC interfaces of other systems. For example, if DNA needed to connect to another manufacturer's automation system, these FbCAD function blocks would definitely be used. Even though the work was successful and the measurement values are displayed on the OPC server with the help of the address.dat file, the actual functionality behind this file remained unclear, because information about the address file is not available. However, in the OPC Server section of the DNA Manuals, appendix 3 lists the meanings of the parameters contained in the OPC Server configuration file AO01_cpu, and this appendix mentions the following from the address.dat file: Static namespace address.dat file name Name of the Static namespace Specification file. A nonempty string as the value disables the Directory Data configuration module-based namespace mechanisms. The namespace instead is read from the specified text file. AO01_cpu is located in the same directory as address.dat, i.e. C:\dna\XA\DNAOPCServer. The contents of the Address.dat file therefore create a kind of static namespace in the DNA system. When a file name is added to the Static namespace file name field in the configuration file, the namespace Directory Data is developed instead of the configuration using the file contained in this field. No explanation of its functionality could be found in this Directory Data mechanism. In the OPC Server section of the DNA Manuals, chapter 15.2.3, which presents examples for the parameters of the AO01_cpu configuration file, the Directory Data parameter Module Package 1 is mentioned as follows: "During start up, DNAopc Server will try to load the Directory Data configuration module DIR1 and generate a namespace according to its contents". Looking at the OPC Server configuration file AO01_cpu 18 it was noticed that there is no parameter Module Package 1 in the file. This work does not take a position on what is done with this parameter. As a speculation, however, it can be stated that if the namespace were made available using this parameter, it would not be necessary to separately specify which values would be displayed on the OPC Server, as in the case of the address.dat file, but all the data points of the DNA would be loaded to the OPC Server automatically when the machine starts up. In the end, let's say that the integration using the address.dat file turned out to be much easier than implementing the integration with FbCAD images by adding function blocks. However, if the integration could be made to work in such a way that all data points would be loaded automatically using the Directory Data mechanism, it would be the easiest and simplest way of all. 19 SOURCES [1] Website. R. Cook, Interpreting Piping and Instrumentation Diagrams—Symbology. Available (18.02.2018):https://www.aiche.org/chenected/2010/09/interpretingpiping-and-instrumentation-diagrams-symbology [2] H. Martin, Collaborative Process Automation Systems, 2012, Cited: 12/04/2018. [3] Website. Novotek, OPC and OPC UA. Available (14.09.2017): https:// www.novotek.com/fi/ratkaisut/kepware-kommunikointiaaltus/opc-ja-opcua [4] Website. OPC Foundation, History. Available (14/09/2017): https:// opcfoundation.org/about/opc-foundation/history/ [5] Website. OPC Foundation, What is OPC. Available (6 October 2017):https:// opcfoundation.org/about/what-is-opc/ [6] Website. SMC, Pyramid of Automation. Available (12/04/2018): https:// www.smctraining.com/en/webpage/indexpage/312 [7] ASE-6010 2017-01 Network-based automation, Lecture 3, Horizontal and vertical integration [8] Unified Automation.http://documentation.unified-automation.com/ uasdkcpp/1.2.1/images/l3classicintroduction.png [9] Website. Valmet Automation, Process controls with Valmet DNA Automation system, Available (18.02.2018):http://www.valmet.com/automation-solutions/ valmet-dna-dcs/ [10] Valmet Automation, DNA Manuals. [11] Valmet Automation, Teaching material. [12] A. Virtanen, Multipurpose Learning Risk Assessment and Development Recommendations, Tampere Technical University, 2014, Available (July 11, 2017): https://dspace.cc.tut.fi/dpub/bitstream/handle/123456789/23095/Virtanen.pdf? sequence=1 [13] Website. Björn Wahlström, Damatic – Finnish automation industry's show of strength, Available (14 October 2017): http://www.bewas.fi/damatic.pdf 20 APPENDIX 1: DNA OPC OUTPUT BLOCK PARAMETERS Field Importance Use OUTPUTS Function name Metso DNA's internal name for the function MODULE NAME name OPC server symbolic Metso DNA name OPC Group of the OPC group Name DNA name OPC Server OPC item name Capercaillie The name of the output element on the OPC server Writemode Normal: continuous writing to the OPC server Onwrite: is written to the OPC server only when Metso DNA. is written to the OPC output function Writemask Write error bit mask Error bit combination of Metso DNA, with which writing to the server is blocked. Mincha Minimum change copy The OPC client writes a new value to the as a medical condition server only if the value has changed enough compared to the previous write. The member mincha specifies the minimum change required (absolute value) for a new write to be made. If mincha is left undefined or its value cannot be interpreted, a new value is continuously written to the server (mincha is ignored) OPC item name The alkio name OPC service with lime Item identification information on the OPC server 21 Data Location Data location: On the cache: the value of the variable is fetched/written server/device via the server's memory. device: the value of the variable is fetched/ written directly to the device "behind" the OPC server DNA type Capercaillie DNA information type The data type can be e.g. the scalar number ana and the table ana_3 (tables are always of array type). Access path Path to device information The OPC server can have alternative routes to the device. The specification is manufacturer-specific Array base Requested typ OPC table index Defines the starting element of the table (manufacturer the initial value of the timbre specific). You ask the serverkind guy Data of a certain type can be requested from the server (see the Canonical Variant type table column in chapter 9 "Data types"). Note! Not all servers support this feature 22 APPENDIX 2: DNA OPC SERVER BLOCK PARAMETERS Field OPC Server name Importance Use Symbolic name of the OPC This name is used by your OPC groups and server in the process control - in the configuration of items server (PCS) configuration OPC server ID of the OPC server Unique ID for the server Host 1 Host machine ID (OPC server) DNS name or IP address of the server Host 2 Host ID (verified OPC server) DNS name or IP address of the server Server context Type of OPC server inproc = the server is located on the progID same machine as PCS and is of the socalled inprocess server (.dll) local = the server is located on the same machine as PCS and is an independently run program (.exe) remote = the server is located on a different machine than PCS and is an independently run program (.exe 23 APPENDIX 3: DNA OPC GROUP BLOCK PARAMETERS Field Importance Use OPC group name Symbolic name of the OPC group in This name is used in the the PCS configuration configuration of OPC elements OPC Server name OPC server symbolic name in the PCS configuration Optimizing communication Update rate Group update interval (ms) Communication Determination of the communication async: the client asks the server method between the OPC client and for information, but does not wait server for the server's response. sync: the client cyclically asks the server for data and waits until the server responds. % Deadband A change in the value part of the Optimizing async item (% of the measurement communication. range), which activates the server to update the change to the client Visibility Type of OPC group Private = each OPC client has its own separate communication groups PublicCreate = creates a public group to which other OPC clients can connect PublicUse = uses an already created public group