Mitsubishi Adroit Process Suite (MAPS) Training Manual
Transcription
Mitsubishi Adroit Process Suite (MAPS) Training Manual
Mitsubishi Adroit Process Suite (MAPS) Training Manual TABLE OF CONTENTS What is MAPS.........................................................................................6 MAPS Architecture .................................................................................7 Introduction to ACME batching plant demo (MAPS Demo) .....................8 Setup Requirements ...............................................................................9 ACME Plant Planning Layout ................................................................ 11 Equipment List .................................................................................................................................. 11 MAPS Demo Project Configuration ................................................................................................... 12 Operating the ACME Batching Process ................................................ 13 Customizing your MAPS Project ....................................................................................................... 17 Electrical & Instrumenation Equipment Faceplates .......................................................................... 18 Motor Faceplate ............................................................................................................................ 19 Valve Faceplate ............................................................................................................................ 20 Analog Faceplate .......................................................................................................................... 20 PID Faceplate................................................................................................................................ 22 Conclusion ............................................................................................ 23 Adroit Smart UI ..................................................................................... 24 Introduction........................................................................................................................................ 24 Components of an Adroit System ..................................................................................................... 24 Front End Devices (FED) .............................................................................................................. 24 Drivers ........................................................................................................................................... 25 Adroit Agent Server ....................................................................................................................... 25 Adroit SMART UI Licencing .......................................................................................................... 26 Smart User Interface (Smart UI) ................................................................................................... 27 Installing and setting up the Adroit SCADA Software ....................................................................... 27 Adroit SCADA Environment .......................................................................................................... 28 Installing the Adroit SCADA from the CD .......................................................................................... 29 Adroit Agent Server Configuration and setup ................................................................................... 32 Project Directory ............................................................................................................................ 32 Adroit Configuration Setup ............................................................................................................ 33 Exercise: Setup the Adroit Configuration ...................................................................................... 35 2 Exercise: Create an Adroit Device for the OPC protocol driver called BATCH ............................ 36 Smart UI Configuration...................................................................................................................... 36 To login using existing login settings or a login profile .................................................................. 37 Configuring an Adroit Datasource in the Smart UI Designer ........................................................ 40 Adroit Concepts and Sub-systems .................................................................................................... 43 Agents (TAGS) .............................................................................................................................. 43 The Project Explorer ..................................................................................................................... 54 Exercise: Create and configure an analogue agent ...................................................................... 56 Scanning ....................................................................................................................................... 56 Exercise: Scan an analogue rawValue to the OPC server. .......................................................... 58 Alarming ........................................................................................................................................ 59 Exercise: Alarm the Analogue high header bit. ............................................................................. 61 Datalogging ................................................................................................................................... 62 Smart User Interface Environment .................................................................................................... 65 Using the Enterprise Manager ...................................................................................................... 69 Datasources .................................................................................................................................. 69 Exercise: Adding an OLE DB Datasource .................................................................................... 70 Management ................................................................................................................................. 72 Projects ......................................................................................................................................... 73 Exercise: Adding a new project and a set of graphic forms. ......................................................... 73 Spider Work Space ....................................................................................................................... 75 Exercise: Display a value on a graphic Form. ............................................................................... 78 Exercise: Display the logged data value of an analogue. ............................................................. 79 Exercise: Navigate between two graphic forms ............................................................................ 83 Exercise: Display the data from the OLE DB data source in a data grid ...................................... 85 Exercise: Create a Template for a counter Agent ......................................................................... 90 Smart UI Advanced Concepts ............................................................... 96 Scripting ............................................................................................................................................ 96 Graphic Form Scripting ................................................................................................................. 96 Security ............................................................................................................................................. 96 Microsoft Windows Security settings............................................................................................. 96 Security Data Source .................................................................................................................... 96 Allowed Users and Groups ........................................................................................................... 97 Policies .......................................................................................................................................... 98 Datasource-specific security ......................................................................................................... 99 3 Profiles ........................................................................................................................................ 101 Smart UI Launcher .......................................................................................................................... 102 Connecting to the VIP Server over the Web ................................................................................... 102 Internet PC .................................................................................................................................. 103 Smart UI Server machine ............................................................................................................ 106 Testing Intranet Connection to SMART UI Server ...................................................................... 106 Troubleshooting .............................................................................................................................. 108 MAPS Quick start ............................................................................... 109 Introduction...................................................................................................................................... 109 General Overview ........................................................................................................................... 109 Glossary of MAPS Terms................................................................................................................ 109 Adroit – SCADA/HMI ................................................................................................................... 109 Mitsubishi GX-IEC Developer ..................................................................................................... 110 Mitsubishi Adroit Process Suite (MAPS) ..................................................................................... 110 MAPS Project Design Requirements .............................................................................................. 111 The MAPS Architecture ................................................................................................................... 112 Installing the Software ..................................................................................................................... 113 Licensing the Software .................................................................................................................... 113 Organizing your Directory Structure ................................................................................................ 113 Configuring MAPS – An end-to-end Project ........................................ 115 Setting up the Adroit Agent Server ................................................................................................. 116 Configuring the Agent Server Parameters .................................................................................. 117 Agent Server Type ...................................................................................................................... 117 Project Name............................................................................................................................... 117 Agent Server Name ..................................................................................................................... 117 Auto-Load File Name .................................................................................................................. 118 Save the Adroit Project Configuration ......................................................................................... 118 Installing an Adroit Protocol Driver .............................................................................................. 118 Adding and Configuring a Device for an Installed Driver ............................................................ 119 Configuring the MAPS Project ............................................................ 122 Starting the MAPS Server and MAPS Designer ............................................................................. 122 Creating a new MAPS Project using the MAPS Project Wizard ................................................. 123 Bulk configuring a new MAPS Project using MAPS-1Engineer .................................................. 126 Configuring the Excel Spreadsheet before using MAPS-1Engineer........................................... 127 4 How to use MAPS-1Engineer to bulk configure a new MAPS project ............................................ 129 Log into MAPS-1Engineer ........................................................................................................... 129 Create a new DesSoft project ..................................................................................................... 129 Connect to the MAPS SQL database and create the MAPS project .......................................... 131 Import the Excel spreadsheet to bulk configure your MAPS project ........................................... 132 Assign MAPS templates to the equipment and generate the equipment IO list ......................... 134 Finalise the IO cards and then automatically allocate the equipment IO .................................... 136 Perform the final MAPS project configuration in the MAPS Designer ........................................ 138 Generating the PLC Program...................................................................................................... 140 Generating the Adroit SCADA tags ............................................................................................. 140 Finishing off the SCADA mimics ................................................................................................. 141 Running the Operator View ......................................................................................................... 143 CONCLUSION .................................................................................... 144 5 WHAT IS MAPS 6 MAPS ARCHITECTURE 7 INTRODUCTION TO ACME BATCHING PLANT DEMO (MAPS DEMO) The MAPS demo is a very simple process developed for demonstration purposes. The MAPS demo project is called ACME Batching Plant. This batching process consists of: 1. Adding an ingredient A and an ingredient B in a mixing tank (a weigh bin). 2. A fixed amount of water is then added to the mixing tank. 3. The contents of the mixing tank are then mixed by an agitator for a fixed time and are also heated by steam. The temperature of the steam is controlled by a control valve via PID controller. A temperature set point is given in the PID and the PID controller controls the valve opening to achieve the desired temperature. 4. Once the agitator has stopped mixing, the discharge valve of the mixing tank opens and discharges the contents of the tank. Once this process has been completed, you need to reset the process before you can start it again. 8 SETUP REQUIREMENTS The MAPS demo can only be installed on a computer that has the following: MAPS Server software and The FULL Adroit SCADA software and Mitsubishi GX IEC Developer software and Can connect to a Microsoft SQL 2008 Server and Can connect to (ping) a Mitsubishi Q/QnA series PLC. After installing the FULL Adroit SCADA software, you need to configure a Mitsubishi Q/QnA series device called “PLCA” as this is the device name that is specified by the Adroit Agent Server of the demo. Figure 1: Configured MAPS demo device name You do this in the Drivers tab of the Adroit Configuration Setup utility, which you can launch by clicking the Adroit Setup link of the Adroit 7 program group that is accessible from the Start menu. 9 Refer to the section entitled “Adding and Configuring a Device for an Installed Driver” in the MAPS Quick Start guide, if you need further assistance. Install the MAPS demo, which installs and configures the following: The MAPS project, by adding the required entries into the MAPS SQL database The Adroit Agent Server, by installing the Adroit agent database and the necessary Adroit Configuration Setup configuration settings. Note: If you have other Adroit Agent Servers running in the same domain/workgroup, then ensure that you do NOT have other Agent Servers called AS_PLT_A (the name of the Agent Server specified by the MAPS demo); since the Agent Server will not start up if there is another server with the same Agent Server name. The PLC code is installed in the MAPS\PLCProjects folder, which you need to download to the PLC. Now start the MAPS Server and the MAPS Designer and log in using your normal windows credentials and in the MAPS window, expand the ACME project and right click the BAT_PLT_A and select Build IEC Project to build this PLC project using GX IEC Developer. Figure 2: Building the IEC PLC Project You are now ready to use the MAPS demo. For any additional information, please refer to the MAPS Product Support CD for the relevant documents. 10 ACME PLANT PLANNING LAYOUT The MAPS demo project is comprised of the following configuration, which is included for information purposes: Equipment List The ACME Batching plant consists of multiple equipment types. These equipment types reflect the function blocks that are generated for the PLC program. Description Ingredient A Pump Ingredient B Pump Water Pump Mixing Tank Agitator Mixing Tank Mass Mixing Tank Temperature Steam Control Valve Mixing Tank Drain Valve Batching Process Group Start MAPS Template DOL_A_v1_0 DOL_A_v1_0 DOL_A_v1_0 DOL_A_v1_0 AI_A_v1_0 AI_A_v1_0 PID_A_v1_0 VALVE_S_A_v1_0 GS_A_v1_0 The following addressing is assigned to the Adroit device (PLCA) in the PLC program for the demo: PLC Name Description Rack Slot I_O Channel Count Start Address PLCA QX81 - 32 Channel Digital Input (24 Vdc) 00 00 DI 32 X00 PLCA QX81 - 32 Channel Digital Input (24 Vdc) 00 01 DI 32 X20 PLCA QY81P- 32 Channel Digital Output (24 Vdc) 00 02 DO 32 Y40 PLCA Q68ADI - 8 Chanel Analogue Input (Current) 00 03 AI 8 60 PLCA Q68DAI - 8 Chanel Analogue Output (Current) 00 04 AO 8 80 PLCA Used for Analogue In Virtual IO AI 8 D01024 PLCA Used for Analogue Out Virtual IO AO 8 D01032 PLCA Used for Remote Inputs Virtual IO RI 0 D01040 PLCA Used for Remote Outputs Virtual IO RO 0 D01040 PLCA SCADA Control - Low Scan Rates Virtual IO SCL 100 D01040 PLCA SCADA Control - High Scan Rates Virtual IO SCH 0 D01140 PLCA SCADA Status- Low Scan Rate Virtual IO SSL 50 D01140 PLCA SCADA Status- High Scan Rate Virtual IO SSH 0 D01190 11 MAPS Demo Project Configuration The MAPS demo project has the following physical structure (please refer to the MAPS Quick start for more information): Project name: ACME Plant Area name: Plant_A PLC Name: BAT_PLT_A Process Unit: BATCHING Electrical Equipment: Equipment Name A01-AGI-001 A01-PUM-001 A01-PUM-002 A01-PUM-003 A01-VAL-002 Description Mixing Tank Agitator Mixing Tank Water Pump Ingredient A Pump Ingredient B Pump Mixing Tank Drain Valve MAPS Template DOL_A_v1_0 DOL_A_v1_0 DOL_A_v1_0 DOL_A_v1_0 VALVE_S_A_v1_0 Description Mixing Tank Weight Mixing Tank Temperature Mixing Tank Steam Valve Batching Process Start MAPS Template AI_A_v1_0 AI_A_v1_0 PID_A_v1_0 GS_A_v1_0 Instrumentation Equipment: Instrumentation Name A01-MAS-001 A01-TEM-001 A01-VAL-001 A01-STT-001 12 OPERATING THE ACME BATCHING PROCESS Start the MAPS Operator and log in using your normal windows credentials to see the following screen: Figure 3: MAPS Default Operator screen This is the MAPS Demo default Operator screen. To navigate to your process screen, click on your “Plant_A” plant. The menu should now update and will show you your process unit called “Batching”. Click on “Batching” to display the batching process of plant A, as follows: 13 Figure 4: MAPS Demo Batching Plant This is a fully working SCADA representation of the process that allows you to start, stop and monitor the process. To start the process, ensure that your PLC device is started, as follows: On the left of your operator screen, you should see “PLC Diagnostics” window that contains the PLC name “BAT_PLT_A”. Click on “BAT_PLT_A” to open the diagnostics screen for this PLC, as follows: 14 Figure 5: BAT_PLT_A PLC Diagnostics From this diagnostics window you can see if your Adroit PLC device is healthy, running, started and communicating. If the Start button is NOT highlighted, then click it to start your Adroit PLC device. Note: If you stop and start the Adroit PLC device here, you will not actually stop the PLC on the network. You will only stop the communication between the Adroit Agent server and the PLC on the network. Now that your Adroit PLC device is started, you can return to the BATCHING graphic form. Start the batching process, by clicking the Start button as follows: 15 Figure 6: Batch Start/Stop controls This starts the batching process and you should see A01_PUM_002 change colour to green, which is the standard MAPS indication that an item of equipment is running. When A01_PUM_002 is running, the mass indicator of the mixing tank will increase, as indicated in the following screenshot: Figure 7: Mixing tank mass After A01_PUM_002 has finished, A01_PUM_003 will start adding ingredient B. The last ingredient (water) is added by A01_PUM_001 until the tank is nearly full. The mixing tank with its product will be heated to the specified temperature set in the PID controller (A01_VAL_001), as indicated below:: 16 Figure 8: Steam valve PID controller While the mixing tank is heating up, the agitator (A01_AGI_001) mixes the product in the tank until the correct temperature is reached and then the mixing tank’s valve starts draining (A01_VAL_002). After the entire product has been drained, the process is finished and you can start the process again by clicking the process Reset button and then the Start button. Customizing your MAPS Project In addition to the default graphic forms that are generated by MAPS for your project, you can create custom graphic forms to provide additional functionality; these graphic forms also appear as buttons within the navigational menus. For instance the navigation bar, provides a button called “Batching Graph”, as follows: Figure 9: Batching graphic navigation button 17 This is a custom graphic form that was created for the Demo in which we have used a simple trend control. This trend plots the following performance data of the ACME batching process: tank temperature and the tank volume. Figure 10: Batching Graph custom graphic form The historical data of this trend is stored within the Adroit legacy logging mechanism for analysis. This is just a sample of how you can use custom graphic forms to display and view more information from the operator view. You can perform other tasks, like connecting to a database, such as SQL or Access to view and/or analyse its information. Electrical & Instrumenation Equipment Faceplates All instrument and electrical items of equipment provide their own intelligent faceplates units, which are displayed when you click on the equipment. These faceplates allow you to monitor and/or to control the equipment. The faceplates and their provided windows are described in detail by using the MAPS Template documentation, which can be found in the MAPS Templates folder of the MAPS program group. The MAPS demo consists of following MAPS Templates: Motor (pump) = Advanced Direct On Line (DOL) Motor (Electrical) or DOL_A_v1_0 Valve = Advanced Valve (Single Actuating) (Electrical) or VALVE_S_A_v1_0 Analog = Advanced Analog Input (Instrumentation) or AI_A_v1_0 PID control = Advanced PID (Instrumentation) or PID_A_v1_0 18 Process control = Advanced Group Start (Instrumentation) or GS_A_v1_0 Which provide faceplate pop-up windows, when you click on the equipment in the SCADA view, which are briefly described below: MOTOR FACEPLATE Figure 11: Motor faceplate window In the Demo you can switch the motor and pumps from Auto to Manual and then start and stop the motor or pump in the Manual – Desk mode. Field mode is when the operators want to start/stop the equipment in the field. At the bottom of this window, a number of standardized buttons are provided that display related windows. See the MAPS help file for more information. 19 VALVE FACEPLATE Figure 12: Valve faceplate window This functionality provided by this faceplate is similar to the motor, except that the Manual – Desk mode has an open/close control. ANALOG FACEPLATE Figure 13: Analog faceplate window This is a simple faceplate: the left side provides the actual value and which state this value is in and the right side provides the alarm indications. 20 To configure the alarm limits, you need to open the Setup screen, by clicking the Setup button, which is indicated as follows: Figure 14: Setup button of the Analog faceplate window Figure 15: Analog Setup window As you can see, in the Setup window you can change the scaling, set alarm limits and specify which alarm limits to alarm, specify the units for the analog value and simulate an analog value. 21 PID FACEPLATE Figure 16: PID Faceplate This faceplate has a very simple layout with the 3 main indications of a PID; PV (process value), SP (Set point) and MV. The SP can be set from this window by simply clicking on the SP value. Once you put the PID in Manual, you can set the MV set point manually. To do further tuning of the PID, you can open the Setup window of this PID, by clicking the Setup button as described above. 22 Figure 17: PID Setup window CONCLUSION The MAPS demo is designed to familiarize you with the MAPS environment and its standard functionality. This does not teach you how to use MAPS. (Refer to the MAPS Quick Start document and the other resources, such as the MAPS help file) If you have any questions or need any assistance, please don’t hesitate to contact us at [email protected] or log a support query on the Adroit website. 23 ADROIT SMART UI Introduction Adroit is a Supervisory Control and Data Acquisition (SCADA) software product used to monitor and control real time systems. The product is extensively used in almost every industry the product can be found in Water, Utilities, Mining and Mineral Processing, Cement, Chemical, Telecommunications, Food and Beverage to name but a few. Like all programs, Adroit has its own terminology or language and in this case the language applies to how it refers to these real time or process values. This document serves to give you, a prospective Adroit user the necessary tools and knowledge of the Adroit SCADA product focusing on the IO Server and the .Net based Smart UI; their installation, features and use. It is written, hopefully from a layman’s point of view and is really aimed at a first time user who, with this document, can at least obtain an understanding of the basic principles of the Adroit software. In order to understand Adroit it is important to understand the basic architecture of the product. The job of a SCADA product like Adroit is to communicate to a Front End Device using a protocol driver. Drivers then access real-time data and feed it into an Agent (or TAG) of a certain type in the Adroit Agent Server. The Agent Server, which is the real-time database, handles the real-time values and if configured, will log and/or alarm the data. This data can also be displayed within the Smart User Interface. Components of an Adroit System FRONT END DEVICES (FED) Front end device (FED) hardware is designed to measure real time variables and put these values into its own real time database. Most modern FEDs support communications and can be interfaced with using a known or defined protocol. Over 100 different protocol drivers are supported by Adroit. Many such devices use common or standard protocols such as the Mitsubishi protocol. A complete list of available protocols is available on our CD and can also be downloaded from our website. Examples of FEDs Programmable Logic Controller (PLC) Remote Telemetry Units (RTU) Energy Meters Data loggers Computers (SNMP) 24 DRIVERS The first component of Adroit which we will deal with is the protocol driver. This is a piece of software (DLL) that “plugs” into the Adroit Agent Server application. The driver knows how to communicate to the FED that you wish to get data from. Adroit Technologies have developed well over 100 different drivers. We also support the OPC industry standard; Adroit has an OPC Client driver and is itself an OPC Server for effortless interoperability. A list of the available drivers is available on our website (www.adroit.co.za). What is important to note is that we do not install all the drivers off the CD when you install Adroit for the first time. You need to know which device you wish to communicate to and hence the required protocol driver and go through a separate installation process after completely installing the Adroit product onto your PC. This process will be covered later. You can download any driver off the website or access them off the installation CD. Figure 18: The Agent Server window on start-up. ADROIT AGENT SERVER The Adroit Agent Server (AS) is the real time database or IO server of Adroit. This is where all the Agents are configured, where all scanning using the protocol drivers happens, along with all the logging and alarming. When you run the Agent Server application it loads the following: All the product base files (DLL’s) The selected database (extension WGP) as selected in the setup. The drivers loaded and configured in the configuration 25 ADROIT SMART UI LICENCING The Adroit SCADA is licensed using a security dongle or hardware key, also referred to as a HASP. This is a USB device that plugs in to the Server machine and is configured according to the order as received. Adroit is licensed in two dimensions, the first is the number of scan points you wish to communicate to using the drivers the second is the number of remote connections that can concurrently connect to the Agent Server. The HASP can also be used for licensing additional components and Adroit products. The options available on scan points are 30, 75, 150, 300, 750, 1500, 2500, 5000, 25000 and an system limited (essentially unlimited). There is no limitation on the number of remote connections that can be added. A scan point is one point (value) in the front end device you are communicating to. There are some exceptions namely when you use special internal agents such as OLEDB, Scripting and SNMP, which each consume a scan point per agent that is used. We therefore suggest that you speak with your sales representative to assist you to calculate your specific license requirements. All internal tags such as log tags, alarm tags do not consume scan points. There is a complete document on the finer details of licensing should you need this please contact Adroit Technologies. Figure 19: Licensing and Registration dialogue 26 SMART USER INTERFACE (SMART UI) The primary purpose of the Smart UI is to provide an internet enabled data visualisation with data from a number of different sources, Adroit Server being one. The Smart UI consists of three components a Server, Designer application and an Operator application. The Smart UI Server The Server is a "data portal" which exposes data from a number of disparate sources that are both external and internal to it. This is the only component of the Portal that requires a license before it can be launched. Servers can be clustered to handle their combined workload evenly and to provide continued operation in the event that one or more fail. The Smart UI Designer application is used to build your displays (graphic forms) from the data that is available in the Agent Server. You configure your graphic forms using our vectors, standard Windows controls and 3rd party controls, a standard trend; alarm and event objects are also available; including the ability to import XAML files. The Smart UI Operator is the application that the operators will launch to view the graphic forms that were created in the designer. Installing and setting up the Adroit SCADA Software Before installing the Adroit SCADA, there are a number of considerations to be taken in to account. The first and probably the most import factor is the hardware which will be used. The hardware specification will vary depending on the requirements of the system. An entry level server however should take care of most basic configurations. An example of a basic stand-alone configuration would be a 1500 IO Adroit system with multiple PLC’s and a small SQL Express database, running on a Windows 2003 server operating system. 27 Figure 20: A distributed hot standby cluster running a 50 000 IO solution The above figure shows an example of a more complex system ( Figure 2). An unlimited IO Hot standby (Adroit Active Cluster) solution and multiple PLC’s. The Agent Servers are installed on a Dual Core XEON 2.8 GHZ Processors with 4 GB of ram and a 300 GB hard drive running a Windows 2003 Server operating system. The Operators run on entry level PC/laptops with either Windows 7 or Windows XP. ADROIT SCADA ENVIRONMENT The Adroit package is available from Adroit Technologies on a CD or DVD and is supplied with the “HASP” software protection key. Adroit is designed to run on Microsoft Windows NT-based Operating Systems from Windows XP Professional, Windows 2003 and Windows 2008 onwards 28 Installing the Adroit SCADA from the CD Figure 21: Install landing page Adroit is a Client-Server architecture and in a distributed environment you have the choice to install various applications on separate machine (Server, Designer, Operator). When installing Adroit, it is best to have no other applications running. An Adroit installation will fail if any of its components are in use from a previous installed version. Performance Monitor and MISSRVR (OLE) client applications make use of Adroit components. 29 Figure 22: Select installation type Dialogue Log on as Administrator or as a User with Administrator privileges. Insert Adroit CD in the CD-drive and wait for the Installation window You will need to first install the .net framework. Click on Install Microsoft .NET v3 Follow the instructions Displayed on the screen. Once the .Net framework has been installed. You can then click on the Adroit “Install” option. Once you reach the “Select Installation type” Dialogue box Make sure you select the Smart UI selection 30 Figure 23: Configuration setup Dialogue Once the installation is complete, the Adroit Configuration Setup will be launched. The Agent Server, Drivers, Event Log and Open Windows will need to be configured. The installation procedure will automatically open the appropriate Dialogue boxes. Alternatively, this can be done later by re-running the Setup application (psexe.exe) from the Adroit program group. Once you have closed the Adroit configuration setup the installation will finalize itself and the install shield will ask you to restart your machine. 31 Adroit Agent Server Configuration and setup PROJECT DIRECTORY Figure 24: Adroit Project file structure When Adroit is installed you are asked to specify the name of the folder that you want to use for your Adroit projects, by default the following folder name and location is provided: C:\AdroitProject. The installation then creates the following subfolders within this folder: \CSV, all exported data. \CustomAgents, the custom agents created for the project. \Data, configuration files pertaining to the Agent Server, such as .WGP files (this is the adroit agent server tag database), and any database files used for reporting etc. \Datalogs, contains all Adroit proprietary datalog files. \Mimics, contains all mimic, trend, alarm and event windows, bitmaps (These files are used exclusively with the Adroit Classic user interface) etc. \SmartUI, which will contain all the configuration pertaining to the Smart UI \Wizards, contains all wizards. \Work, contains persistence files for Counters and/or Statistical agents, which save the statistical values these agents calculate. \WGP, this file is a new folder for the WGP files. We suggest that you use the default directory and file structure to ensure that your Adroit projects are well organized and easily managed. 32 ADROIT CONFIGURATION SETUP Figure 25: Adroit Setup Dialogue Introduction All configuration of the Adroit Agent Server (AS) is done from the Adroit Setup application (psexe.exe). Agent Server The Agent Server Tab is where the Agent Server’s or AS’s configuration resides. Select Configuration: Allows the selection between pre-saved Agent Server configurations. Note: The setup configuration name can be used as a parameter in the target command line (i.e. C:\ADROIT\AS.EXE <setup_config_name>) when creating more than one Agent Server desktop shortcut item. The Save As button: Enables the saving of the current Agent Server settings. This involves selecting the name for the configuration, by default this is set to the current Project Name. This will then become the selection in Select Configuration The Remove button, will delete the currently selected configuration. Agent Server Type, select the type of your Agent Server, as follows: o Stand-alone / Distributed Server: Proxy agents are NOT created if remote duplicate tags are found. o Cluster aware Server: Proxy agents are created if remote duplicate tags are found. o Cluster Server: This Agent Server is part of a cluster (a redundant Agent Server pair, where each Agent Server is either a master or standby, both of which maintain duplicate agent databases). In this case the Options... button is enabled so that you can configure this cluster server in the Active Cluster Setup Options dialogue. 33 Project Name: This is the default method for connecting distributed Agent Servers so that they can share their data. For further details about this method, its limitations and configuration and of the other mechanisms provided to overcome these limitations, see Agent Server Connection Methods Agent Server Name : The name of this Agent Server, which must: o be unique across the same network, o Not have spaces, o Not be longer than 20 characters. Auto-Load Filename: the path and name of the Adroit database (.WGP) file that is automatically loaded when the Agent Server is started. This file contains the agents and configuration of the Agent Server. By default; this specifies an empty file called WG.WGP in the Data subfolder of your designated project folder, which is typically C:\AdroitProject\Data. This is the recommended location for this file. Either type in another filename directly or use the browse button to search for the required file. Note: When this .WGP file is empty or nonexistent the POSTLOAD.WGP performs its default configuration. For details, see Postload Adroit Database File. Time Granularity: the time period in seconds that the systemInformation agent updates itself. Advanced Configuration : advanced configuration options for the Agent Server, such as enabling auditing and/or versioning. Advanced Configuration WGP Versioning The Adroit database or .WGP file stores almost all of the data and configuration of the Agent Server, including the added agents, their values and their alarming, logging and scanning configuration. For this reason, it is essential that this file, along with the other Adroit project files, be frequently backed up to ensure that the integrity of this data is preserved. Since if this file is either deleted or becomes corrupted without having a recent backup, many man hours of effort will be lost. WGP versioning creates the necessary information to provide an audit trail of changes for debugging and troubleshooting purposes and to assist in locating the required backup file when recovering lost changes. Once the Enable WGP version description entries checkbox, is enable the appearance of the Save WGP file pop-up Dialogue appears when the WGP file is manually saved, so that a description of the changes made to it since its previous save can be entered. It also allows you to keep a set of time stamped historical files of the WGP as per the setup. Server Auditing Server auditing allows you to log the Agent Server’s sessions (which is defined as each time the Adroit Agent Server is started and stopped on a computer) as well as other selected activities performed during these sessions to an OLE DB database. 34 In addition, when used in conjunction with an Audit Agent, you can log the changes of values that are important to the running of your process, such as set point values and/or alarm limits. Generally, you will audit the Agent Server to provide a means of recourse in the event of a problem occurring to your process. Examining the audit logs you can determine any of the following user actions: when the Agent Server was stopped and started; what agents have been added or removed from your Adroit installation; when a user logs on and off the Adroit User Interface; what Adroit documents have been created, modified or saved; EXERCISE: SETUP THE ADROIT CONFIGURATION Figure 26: Adroit Configuration setup 1. 2. 3. 4. 5. 6. Launch the adroit configuration setup Change the project name to Batching Rename your Adroit AS name with a unique identifier Create a new WGP database called Batching Enable the WGP versioning function Create a connection to a database for the auditing function. a. Create SQL database called Adroit_Audit b. Click on the browse button next to the Custom OLE DB connection string textbox. This will launch the Data link properties wizard. c. Select the SQL provider then click next 35 Figure 27: Data link properties wizard d. Make sure to use the SQL authentication and to check on the allow saving password checkbox e. Test the connection. If the connection returns successfully then click okay and enable the Server Auditing EXERCISE: CREATE AN ADROIT DEVICE FOR THE OPC PROTOCOL DRIVER CALLED BATCH 1. Install and run the Batch OPC server simulator from the Adroit installation media. 2. Select the drivers tab in the Adroit Setup application then add an OPC client device called BATCH. 3. Configure the device to look at the Batch OPC Server. 4. Exercise: Start the Agent Server and Smart UI Design applications 5. Double click the Adroit Agent Server icon. Make sure that the AS has started. Smart UI Configuration Logging on to the Smart UI Designer for the first time is a relatively simple task which is aided by the logon Dialogue. If your Smart UI has been loaded on to a PC/Server that is joined to a domain, then the domain profile that was used when installing the Adroit SCADA software will be the default administrative profile in the Smart UI environment. You may use this profile to log in to the Smart UI Designer and Operator. A Client (refers to either the Designer or the Operator, both of which are client applications of the Server) must log-in to a Server computer, since the Server contains the profiles and other user-specific settings. 36 During the login process a 'connection' is established between the Client and the specified Server computer to enable the transfer of this data between them. TO LOGIN USING EXISTING LOGIN SETTINGS OR A LOGIN PROFILE 1. Launch the Client to display the User Login Dialogue. Figure 28: Smart UI logon Dialogue Note: If automatic login enabled this dialogue is grayed out as the configured login settings are used press or hold down the SHIFT key to disable this. 1. If necessary, select the required profile from the Login Profile list box. 2. The [Default] login profile is initially selected, which specifies the default login settings as specified by this Client. 3. Ensure that the following connection settings are correct: 4. Host Name: The network name or IP address of the Server computer that will be connected to. 5. Note: If this Server uses a port other than 9000 (the default), this becomes: 'HostName:PortNumber'. 6. Type: The physical connection between this Client computer and the required Server computer i.e. via the LAN or the Internet. 7. Mode: The method of communicating data between the Client and Server computers, which depends upon the selected Type. For details, see About connection communication methods . 8. If necessary, provide the required Login Name and/or Password. 9. Press the Finish button 37 Troubleshooting failed login attempts If a Client has been unable to login to the Server computer, a message will be displayed beneath the Password edit box of the Login wizard, to assist you in the troubleshooting the error.The following list indicates the possible error messages and their remedies: These error messages are determined by the operating system of the Server computer. Only the most common of which are interpreted below. Error Message Error! User not allowed to login to environment Error connecting to localhost ...No connection could be made because the target computer actively refused it. Requested service cannot be found A required privilege is not held by the client. Remedy 1. Ensure that the specified user name has been entered correctly and has been added to the Allowed Groups or Allowed Users for this Server. This can be done in the Management category in the Enterprise Manager within the Designer. 2. Ensure that the password that you are using MATCHES the specified user. For instance if you are logging in using a DOMAIN user, then provide the DOMAIN password, alternatively, if logging in using a LOCAL user, provide the LOCAL password. Note: Passwords are case-sensitive. The Server computer cannot be contacted, ensure that the Server computer is operational and then click the Finish button to retry the login. Generally this error is caused by the Server and Client having different versions. Or an application other than the Server is using the specified port. Note: This error will also occur if the Server is not licensed. In this case, run the Server as an application (NOT as a service) and ensure that the Server is licensed. The Server computer cannot be contacted, ensure that the Server computer is operational and then click the Finish button to retry the login. This will occur on all operating systems, if the user account or group that is being used to log on does the necessary user 38 rights assigned. Note: If the Server that you are trying to connect to has no available Client licenses then a message box is displayed, with the following error: An error occurred. Do you want to attempt to re-connect? The error was: Error! Number of connections licensed exceeded. In this case, close any connected Clients that are not being used and try to login to this Server again.For further configuration options you will need to run the Smart UI config wizard. You can find the config application in the Smart UI application start menu. About connection communication methods The purpose of creating a connection is to transfer data between the Client and the Server. This data can be communicated using one of the following methods: Note: The available method(s) depends upon the specified connection type or how the two computers are physically connected. 1. Subscribe: This is a push-based communication method in which the Client waits for the data that has changed to be pushed, or sent to it. In this case the Client never looks for new data; it always uses data pushed from the Server. Notes: There is no subscription period, data is pushed to the Client whenever it is requested or changed. This is recommended communication method when using the Local Area Network (LAN) connection type, since it is the fastest and most precise method. The Internet connection type does not support this since the Internet is by definition a pull-based communication network. 2. Poll: This is a pull-based communication method in which the Client can pull information from the Server by checking it periodically and retrieving any new or updated data that it finds. In this case data is never sent to the Client from the Server Notes: The ClientPollTime setting of the Client specifies the time interval used to pull data from the Server. This communication process is provided specifically for the Internet connection type. The following two types of polling are supported: a. Poll (Send all values): The Client will fetch all the values that have changed since the time of the last polling period. This is the most precise of the two polling types, although requires a sizable bandwidth. b. Poll (Send most recent values): The Client will only fetch the most recent value at the time of the polling period. This is the least precise communication method of the three and should only be used if you have limited bandwidth or do not want to send lots of data over the Internet. Note: The bandwidth requirements for a connection depends upon a number of factors, such as the update requirements and the size of the graphic forms. So keep the graphic form sizes small; for example use JPG files instead of BMP files. 39 CONFIGURING AN ADROIT DATASOURCE IN THE SMART UI DESIGNER Once you have logged on to the designer you will need to create a connection to the Adroit AS. You will do this by creating an Adroit Datasource. An Adroit Datasource can be used to either connect to a single standalone Adroit Agent Server on a specific computer or to an Adroit Cluster, to expose the configured agents and their slots. Datasources are added in the Enterprise Manager, to the Datasources category of the required Server connection. A Datasource allow this Server to connect to the specified source of data, so that its data and/or additional functionality may be exposed To add an Adroit Datasource: Figure 29: Adding a Datasource 1. Open the Enterprise Manager. 2. Right-click on the name of the required Server connection or its icon and Add Datasource. 40 Figure 30: Datasource Plugin list 3. The Add Datasource wizard will now launched, which displays the list of the available Datasource. Only the Datasource plugins, which have been licensed, will appear in this list. 4. Click on the Adroit Datasource then click the Finish button. When naming a Datasource, be aware of the following When specifying the Datasource name, avoid using non standard text characters, since these are not supported e.g. \ / : * ? < > | # " Datasource names are case sensitive. The specified name cannot be the same as any other Datasource that has been already been created on this Server Figure 31: Naming an instance of the adroit data source 41 WARNING! Once a Datasource has been named, it is NOT possible to rename it later. Tip: Although the name of the Datasource is limited to a maximum of 50 characters, it is recommended to use a descriptive name, which is as concise as possible. This will ensure that users will easily identify it and yet be able to easily navigate within the Enterprise Manager. 42 Adroit Concepts and Sub-systems Once you have exposed your data via the device to the Adroit AS you will need to manage and handle that data. Adroit has a number of sub- systems and features that will allow you to do this. AGENTS (TAGS) Figure 32: Agent Architecture Agents Adroit configurations are composed of intelligent, co-operating objects known as Agents. These Agents are differentiated into different types to provide specific information storage and manipulation mechanisms, i.e. their intended function determining their complexity. The user may create as many instances of each Agent type as desired. These Agent types are categorized into the following three Agent Categories for convenience, BASIC, ADVANCED and SYSTEM. An Agent is the basis and the building block of Adroit residing within the Agent Server. Agents do not only store data, but also have intelligence in that they know how to manipulate that data. An Agent therefore contains data and the operations with which to manipulate it. Each Agent is of a specific type. The most obvious and used types are Analogues and Digitals; however, there are many more types of Agents, for example, Expression Agents, MultiState Agents, Recipe Agents and Alarm Agents all having a specific purpose, making it possible to build even the most complex of system without necessarily turning to complex scripting. Each instance of an Agent is given a unique name, which is known as the AgentName. The AgentName refers to the Agent and thus to all the data within the Agent. Therefore a tag name refers to more than just one piece of data. The data within an Agent is accessible to other objects in the Agent Server or the User Interface. This data is accessed in properties of the Agent called slots. Each slot has a unique name so that when referring to a particular slot within an Agent, the notation AgentName.slotName is used. This is essentially what many other SCADA products refer to as Tags. 43 Figure 33: Slot type details Slots Most agents are designed to contain multiple items of data, which are referred to as agent attributes. Most of these attributes are accessible to clients of the Agent Server as slots of the agent. Slots can therefore be defined as externally accessible attributes of an agent An Adroit configuration is therefore made of many different agents, each of which is a unique instance of one of the supported agent types. Each agent, in turn, contains externally accessible data attributes, or slots, whose type corresponds to one of the supported slot types. An example of a Tag would be ANA001.RawValue (raw and unscaled value of an analogue ANA001) Or ANA001 value would be the scaled value of the same Agent. Adroit Agents Listed below are the available agent types grouped by the three categories: Basic Advanced and System. Basic The most commonly used agent types are allocated to the Basic group, which together form the basic building blocks of a system. These are: o Alarm 44 In Adroit, alarms and events are handled by Alarm agents that control their annunciation and routing. o AlarmList An AlarmList agent contains a list of current or unacknowledged alarms and events. This list can be viewed by one or more Alarm windows and receives acknowledgment decisions from them. o Analogue An Analogue agent stores a real value that has been scaled according to user defined scaling parameters. This scaled value is checked by the agent against the low-low, low, high and high-high alarm settings. Any infringement of the alarm limits causes the agent to set the appropriate bits in its status word. o Boolean Stores a Boolean value TRUE (1) or FALSE (0) o Counter The Counter agent is a simple counter and averager which takes data from any Input agent’s BOOLEAN slot and calculates the time spent On (1) and the time spent Off (0), counts the number of On and Off events, and totalizes the On and Off time. o Date The Date agent holds time and date information broken down into a year, month, day, hour, minute, second and millisecond slots. A format slot governs the way in which the date and time is formatted in the asciiTime slot. o Digital A Digital agent stores a digital (0 or 1) rawValue as well as a text value (ON or OFF) for each of the two discrete states. Value inversion, cold start initialization and a pulsed output option are provided. With the pulsed output option enabled, the agent maintains its ON state until a configurable delay has elapsed. As the pulsed output option is applied to the scaled value, inverting the value inverts the effect of the pulsed output. o Expression The Adroit Expression agent is an extremely powerful mechanism for implementing user-defined calculations. Such calculations can be used for totalizing or accumulating values, implementing advanced control strategies, creating sophisticated information displays and reports, etc. 45 An expression agent functions by gathering data, either from other agents or directly from a front end device, and performs a user defined mathematical transformation to calculate an output value. o Integer Stores an integer number +/– 2147483647 (32 bits) o Marshal The Marshal Agent is designed to replace the popular marshalling function of the Multistate agent, by gathering discreet binary data from its 16 bit rawvalue or value slot. By giving each of the individual bits the full functionality of a digital agent, the Marshal agent exceeds the former capabilities of a marshalled mode Multistate Agent. These bits can then be alarmed, pulsed, named, and the 1 and 0 states of each bit can be named (on/off, open/closed etc). Only the ON state is reflected in the status bit header slots of the agent and therefore the alarming subsystem has been extended to allow the alarming of status bits that are ON or OFF. The rawvalue and value relationship can also be reversed. o PerfMon The Perfmon agent is used to monitor Windows Performance counters, which belong to performance objects such as the Agent Server, Processor, Memory, and others. These counters facilitate the monitoring of the computers performance and assist in detecting performance bottlenecks that could adversely affect the functioning of Adroit. The values of these counters are updated every second and can also be assigned to other Adroit agents, such as Analogue agents, which can then be appropriately alarmed. Up to 16 performance counters can be monitored per agent o Real Stores a double precision floating point number (64 bits) o Statistical The Statistical agent provides the basic functionality for a user to build a statistical process control strategy using its built-in data collection method and by linking the agent to other SCADA agents in the Adroit toolkit. 46 The agent takes its input values, either when triggered by another agent, or when the input value changes, and calculates the statistical data (Maximum, Minimum, Average, Standard Deviation, Total and Rate) for all the values collected, treating the values as being part of a single sample. o String Stores a "string" of text characters. Although this supports long strings ONLY the first 79 characters of these strings can be scanned (this length excludes the mandatory zero terminator character). o StringList The StringList agent provides a superset of functionality of the current Frame agent. It can store a virtually unlimited number of ASCII character strings of variable length. An integer number beginning at 1 indexes these strings. The current string being pointed to by the index is duplicated in the value field. It is also possible to specifying the error message that is displayed when an invalid index is used. o Text The Text agent stores a string of up to 79 characters in length (this length excludes the mandatory zero terminator character)for the current value, and also stores a cold start string if required o Timer The Timer agent is able to perform several commonly used timing operations, which previously could only be inefficiently accomplished by using expressions, recipes and scripts. This agent also provides a Boolean value slot as an output, which is enabled (set to TRUE) and disabled (set to FALSE) by the agent, depending upon its current mode of operation. This slot can therefore be used to enable or disable or schedule other agents. Advanced Advanced agent types are those agent types most likely to be created and manipulated by advanced Adroit users They are: o AgentGroup Agents that are considered to have something in common can be combined into groups by means of AgentGroup agents. For example, all agents belonging to the north side of a process plant could be grouped in the NORTH_PLANT agent group, which would allow the monitoring of their status, or bulk editing and control through this single agent. o AlarmManagement 47 Alarm Management is an important aspect of process control required to counteract inefficient alarming. Alarm management allows you to create an alarming system that alerts the operator to the most relevant alarm for the current incident. In this case fewer alarms are more effective as the human mind can only focus on a few things at a time. The AlarmManagement agent logs all incidents and their details, including their time of occurrence, their time of acknowledgement and the time at which they were cleared to a database. This repository of incidents then allows you to: o ARec generate statistics from the data produced by the alarming system. This allows you to have efficient and meaningful incident reviews to identify and remove nuisance alarms by analyzing the counts, frequencies, durations and acknowledgement times of alarms. measure KPIs to improve your alarming configuration. The ARec agent or "Associated digital Record" agent, is a fancy version of the Multistate agent that enables the configuration of up to 256 states using truth table type logic on up to 32 bits. These 32 bits can be mapped to individual digital agents or the complete 32-bit value can be scanned from an external value. Each state can be configured to test a mask of the bits for ON, OFF or DON'T CARE states and can also be tested for timeouts and can be used to set its status bits for alarming purposes. Furthermore each state, or timed out state, can be configured to set or clear one or more of the 32 input bits, allowing this agent to be used as a sequence controller. It is also possible to use the AREC agent as a numerical sequence to display text, similar to the StringList agent, except that the AREC enables the setting of its status bits for alarming purposes. o Audit This agent supplements the auditing or logging of the Agent Server sessions and selected activities performed during these sessions to an OLE DB database. Use the Audit agent to specify one or more tags that you want to monitor for ANY change in value. When a value changes, for any reason, the agent logs this change of value to the audit database. In other words, EVERY value change for EVERY specified tag is logged, regardless of whether Adroit or a PLC or something else causes this change in value. Typically you will ONLY audit set points or alarm levels, but not temperature or level values. In other words, do not specify process tags whose values that are required to change frequently as part of the normal operation, as these will simply flood your database with unnecessary records. 48 o Command The Command agent uses the GSM_SMS driver to bypass the scanning subsystem to utilize the full 160 characters both when sending and receiving SMS messages. This agent can send SMS messages to a single recipient, either manually or automatically e.g. to remotely monitor the status of important process values. Sent SMS messages can also be monitored for auditing purposes and if they are not received and / or responded to within a specified period can also be sent via another Command agent to another recipient. However, the name of this agent derives from its ability to receive SMS messages or textual commands that it performs to remotely configure Adroit, for instance, by acknowledging alarms, setting process values etc. In this way it is possible to remotely supervise and, if necessary, control your process. o DBAccess The DBAccess Agent provides a link between Adroit and various compatible databases such as MS Access, SQL Server and Oracle, by using OLE DB technology. OLE DB is an open specification for accessing and manipulating all kinds of data, superseding the older ODBC technology. As each DBAccess agent is responsible for a transaction on a row in a database, it allows the user to specify how and where he wants the data to be stored which is ideal for reporting. o EventLogging Adroit's event logging is handled by an EventLogging agent that uses the standard Windows NT-based event log functions for storage. Events can be directed to computers running on Windows NT-based operating systems anywhere on the network. o EventOutput The EventOutput agent directs event log messages to output devices (printers, serial ports, and parallel ports) and to SQL compliant databases. To cater for the various output devices, EventOutput agents accept a variety of user configurable general fields that are used for the layout and format of the data, and the device specific information. o Frame A Frame agent stores as many as 32 strings, each up to 79 characters in length (this length excludes the mandatory zero terminator character). These strings are indexed (from 1 to 32), and the current string being pointed to by the index is duplicated in the value field. o MaxDemand 49 Maximum demand is an additional cost for most non-domestic power users. It is the method used by your electricity provider to control how much electricity you use, especially at peak times, when your usage coincides with peak domestic usage. o MultiMedia The MultiMedia agent provides the mechanism to run a variety of Windows compatible multi-media files such as .WAV, .AVI and .MID, and can be used in place of the Beeper agent. o MultiState For installations that have a large number of drive or group controls, the MultiState agent is provided to ease configuration and enhance performance. This agent can specify a drive’s operating and control sequence by allowing a number of discrete states to be defined from unique combinations digital inputs and outputs. It can be used, for example, to implement a custom digital controller, or, when used in conjunction with a MultiColor behavior, to show the equipment status by means of changing background color, text color and text content as the item of equipment progresses through various state transitions. o Notify The Notify agent provides another alarm route destination using a pager service. Alarms can be transmitted via cellular phone Short Message Service or paging service direct to a designated person. A generic protocol driver called User-defined Driver is provided which supports cell phone paging and a host of message services. o PID The PID agent is a faceplate container for the 25 signals and tuning parameters associated with an external PID controller agent. This provides great savings in the overall number of agents required in the configuration of a project that contains PID controllers. These values can then be scanned to the outside world, via their raw slots. The SP and CV slots provide configurable high and low operation limits that prevent these values from being set to potentially harmful values, when they are being manually configured. o Recipe A recipe is a statement of the ingredients and procedures necessary for a batch control system to process its raw materials to make a desired product and byproducts. 50 The Recipe agent consists of a master recipe and one or more control recipes. The master recipe contains a list of all ingredients and the operations to be performed on them. The control recipes consist of quantity, timing and sequencing information. The agent provides basic sequencing and batching and reporting capabilities, and is designed for use in conjunction with other agent types such as Expression agents. o Script The Script agent provides a way for the user to execute complicated tasks such as batching, reporting or complex mathematical operations through a Visual basic script or Java script. It does not replace the Expression agent, as the Expression agent will be able to execute simple calculations far more efficiently and faster than the Script agent. Each Script agent has an associated list of module files that contain user-defined variables, functions and subroutines. The Script agent allows the user to interact with the Agent Server through the ‘Adroit’ object, in order to access and manipulate data within the Agent Server. Users also have the ability to launch other applications, or manipulate other applications via OLE automation, for example to configure reports in Microsoft Excel or Microsoft Word. The Script agent may also be used as an alternative to using the Recipe agent and it can be used to perform simple scheduled tasks. The script agent can be executed on demand, by scheduling, by triggering and by using a combination of triggering and scheduling. NB: There is no way for the Agent Server to protect itself from badly written or buggy scripts and Adroit Technologies does not take responsibility for scripts written by users. o Scheduler The Scheduler agent can be used to define one or more periods of time during which its BOOLEAN output will be enabled; alternatively, it is also possible to manually set the output. This output can be used as an enabling/disabling agent for other Agent Server configurations; scanned to a front-end device, and/or an application can be run as soon as the output becomes enabled. o SNMPManager 51 The Adroit SNMPManager agent is used to integrate network management using the Simple Network Management Protocol (SNMP) with the Adroit SCADA (Supervisory Control and Data Acquisition). SNMP has become the de facto standard for network management today and can be used to facilitate the management of diverse computer networks. Examples of devices that can be monitored using SNMP include: routers, switches, hubs, UPS’s, printers, modems and even computers. For this reason the SNMPManager agent can be used to both monitor and manage a private or industrial network, with the intent of detecting networking problems. In other words, with the inclusion of this agent, Adroit now can be used to manage a process network (which is concerned with process values), alongside a physical network (in which issues such as bandwidth and availability are important). o SystemDatalog The SystemDatalog agent forms an integral part of the Adroit clustering subsystem that deals with the synchronization of all of the datalogs on the two nodes in an Adroit cluster. It is also responsible for providing the global administration of the datalog backup facility that enables the long-term storage of datalogged data in multiple CSV files. System System agents are created automatically by Adroit to provide certain SCADA or other system functions. They are the: o Alias An alias is an assumed or "false" name of another agent. The Alias agent contains a reference to the agent it is aliasing, and so appears to have the same behavior and state information, differing only in identity. This can be very useful when attaching behaviors to picture elements, which are to be repeatedly reused for different scenarios, particularly if the actual agent is not known at the time the picture is being constructed. By simply assigning the Alias to reference the desired agent for each scenario, the need to re-edit all the behaviors on each picture element is eliminated. o Beeper As its name suggests, the Beeper agent provides simple audio output using the builtin PC loudspeaker and is usually initiated by routing events to it. The beeping sound can be started or reset, and its tone frequency increases each time a new alarm is signaled and decreases on each acknowledgment. o DataLog 52 Adroit provides extensive historical logging facilities, this includes the existing proprietary data logging and logging data to an OLE DB compliant database. It is also possible to specify to which table this data is to be logged, if necessary. As with scanning, any slot of any agent can be configured to have its values historically logged, providing that it is of slot type Real, Integer, Boolean or String (7 characters only). Creating a DataLog agent is done by selecting the Log button in the Configurator Dialogue box. When logged, the values are time stamped and are made available, via a DataLog agent, to any client. o Device Device agents provide the infrastructure by which agent slot values are transferred to and fro between Adroit and locations in front-end devices such as PLCs (Programmable Logic Controllers). They require a device to be added by a user for an installed protocol driver via the Drivers tab of Adroit Setup before it can exist. They coordinate scanning and are responsible for creating, deleting and configuring Scan agents that handle the actual scanning to and from the front-end devices using their device-specific protocol drivers. o Hasp Controls Adroit license checking and validation. The Hasp agent's name is LICENCE and it monitors the HASP plugged in to the USB port. o Proxy A Proxy agent is created automatically when an application requests continuous updates from an agent that exists in a remote Agent Server. The Proxy agent assumes the role of the remote agent in the local environment, and is continuously updated with any relevant changes that occur in the remote agent. The function of updating the proxy is transparent to any local application including Adroit user interfaces. o Scan Each Scan agent is a separate, independently scheduled thread, which means that genuine, concurrent, parallel scanning will happen in Adroit whenever the characteristics and/or connection(s) to the front-end device(s) permit. It is possible to scan in and out of any Boolean, Integer, Real, or String slot. Each slot to be scanned is associated with an address in an external device, a scan period in 53 milliseconds, and a deadband. A value is only updated into the scanned slot when it changes by more than the deadband setting. o SystemInformation The SystemInformation agent type has only one instance called systemInfo, which maintains various items of information about the environment of the Agent Server, such as current date and time, agent definition loadfile (.WGP file), debug information, number of active agents, number of connections, periodic update frequency, etc. THE PROJECT EXPLORER Figure 34: Open the Project Explorer The Adroit Project Explorer is a separate utility, which configures and manages both local and distributed Adroit projects. The project explorer may be launched by right clicking on the Adroit Datasource in the enterprise window of the Designer, then clicking on the Project explorer. This essentially consists of the following two windowpanes: A tree windowpane on the left, displays the various objects in a hierarchical manner, such as found in the Windows Explorer. 54 Figure 35: Project Explorer Note: Right-click in this windowpane, to display a menu of commands applicable to the currently selected item. A grid windowpane on the right, whose contents are dependent upon on the item currently selected in the tree. 55 EXERCISE: CREATE AND CONFIGURE AN ANALOGUE AGENT Figure 36: Create tag Dialogue 1. Expand the Adroit Datasource 2. Browse down in your tree view to the Analogue AgentGroup. 3. Right click on the Analogue AgentGroup and select “Create Tag”. The following window should appear: Type in the name of the Analogue Agent, for our purposes name it (AgentServerName)_ActMixTemp and give it a description of Mix Temperature and then click Finish. 4. Now right click on you Analogue tag that you have created. Click on “Configure” in order to configure the properties or values of this Agent. Make the device span Minimum of 0 and a maximum of 4095 and an engineering Span of minimum equal to 0 and a maximum of 45. Make the unit °C. 5. Right click on the Adroit Datasource and click the Save option. This will save the Adroit database. SCANNING Scanning in Adroit refers to the mechanism of handling the communication of values between Adroit tags (Agent.slot) and the front-end devices (FED) in the field, such as a Programmable Logic Controller (PLC), a Remote Terminal Unit (RTU) etc. In other words, while the installed protocol driver is the language that needs to be communicated, the devices are the actual translators that use this language to communicate between the front-end devices and Adroit. 56 Scanning allows for both conventional poll-response and exception protocols. Scan rates can be defined on individual I/O ports which are automatically optimised for orderly scanning and traffic loading. Drivers can be configured dynamically on-line and support auto recovery with primary and secondary channel redundancy. The Driver configuration is saved in the system registry and should the Agent Server be run on another machine, the Drivers must be reconfigured on that machine, by reinstalling drives and configuring the devices or using the Adroit backup utility. Contiguous data areas Every effort is to be made when drawing up the I/O schedule of the PLC/SCADA and to define logical and contiguous data areas to be scanned from Devices. This makes for efficient, reliable and fast scanning. Note that the driver documentation can assist in helping to achieve optimum scanning (and hence performance) of the Adroit system. Golden Rules for Scanning Figure 37: Scanning Architecture If available, scan the rawValue not the value slot, this is especially important for Analogues. Never scan signed values into Marshal or Multistate Agents, typically scan device addresses that end in "I" or "L". Do not scan faster than needed. 57 Device and Scan Agents Scanning is managed in Adroit by means of active and special system Agents called Scan Agents. The appropriate Device Agents automatically create them when needed and concentrates data types together for efficiency. Device names may not exceed 8 upper-case Adroit legal characters that are unique, as they eventually become the names of the Device Agent within the Agent Server. A total of 65534 Device Agents may be configured from a single Driver for communication to the FED. EXERCISE: SCAN AN ANALOGUE RAWVALUE TO THE OPC SERVER. 1. Launch Project Explorer the browse to the analogue that you have created. 2. Right click on rawValue slot and select Scan. The following Dialogue will appear: 3. Select the Batch device, which has been created previously in the Setup program, from the Device drop down list box. 4. The Agent Name and its rawValue Slot should be default here. In our case we want to scan the rawValue slot of the (AgentServerName)_ActMixTemp agent. 5. The OPC devices address will be ActualMixTemp. Use the browse button to launch the OPC client browser and double click on the appropriate OPC item. 6. The Scan rate (milliseconds (ms)) is the desired scan rate you would like the Adroit Agent Server to update itself with in this case a scan rate of 1000 ms. Note that this is used as a guideline because Adroit tries to intelligently minimise the number of Scan jobs it has to perform. Thus optimising the communications. So if you have consecutive addresses at different Scan rates Adroit will probably create a single scan job at the lowest scan rate. 7. Should you wish to be able to write to the PLC from a mimic then you will need to check the Output Enabled check box. 8. Once complete click the Finish button this will add it to the list. 9. You will now need to start the device this can be done from the project explorer. Browse to the device agent type in the project explorer; double click on the Agent name BATCH. Check the start radial button. 58 ALARMING Alarms Any tag in Adroit can be alarmed and individually routed to one or more Alarm Agents. Alarm Agents are set up to “direct” the alarms to various outputs including but not limited to Alarm Lists, Event Logs, Databases, Files, Cell phones, Multimedia Files etc Alarm Lists may be resident on the local machine or on any Adroit networked machine. Further the alarms may be routed to other audio or visual alerts can be implemented and configured which will inform an operator or other Adroit user as to a fault condition by multicolour behaviour in graphical picture elements by multitext messages in picture elements via displays listing active unacknowledged and acknowledged alarms directly onto hard copy printout as records within the event log by the activation of audio devices or popping up of a process-specific page of hypertext help These visual and audible means of communicating the presence of an alarm condition to the operator are controlled by Alarm Agents that are linked by the user to those process Agents to be monitor. An alarm is triggered when one or more of the configured status mask bits in an Alarm Agent matches any status bits in the Agent being monitored. Alarm Type to Status Mask relationship Figure 38: Alarm Type mapping Trigger conditions will have been predefined by the user this, together with the process data to be reported back, for each alarm type, which would then have been applied, to the Agent being monitored. 59 Figure 39: Alarm routing architecture This information is routed by the Alarm Agent to the relevant output and display mechanisms, whether this is an alarm list, printer, audio device or event log. The alarm type name which is reported in the Alarm List display can be specified by the user to describe the alarm condition, which when coupled with the appropriate choice of reported data, will enable the operator to diagnose the problem easily. Picture elements may directly display the alarm state of an Agent by reading its status bits directly, without using the Alarm Agent routing mechanism. The statusAlarmsUnacked and statusAlarmsActive bits will show the unacknowledged and active states as set by the Alarm Agent. 60 Figure 40: Alarming Dialogue of an analogue agent In this way any situations ranging from plant upsets or process variable excursions to failures within Adroit itself can be monitored. In order to implement an alarm strategy for an application, the user must decide which process values need to be monitored and which alarm types need to be created to do the monitoring. Alarm an Agent Instance In principle, any Agent can be alarmed. These Agents will typically be collecting information by scanning front-end Devices or subscribing to the slots of other Agents. To be successfully monitored by an Alarm Agent, the following must first be determined: decide which alarm type to use and which status bits will flag the alarm condition decide the Agents individual alarm priority choose an Alarm Agent to monitor its status bits select the alarm types available in the chosen Alarm Agent select the desired routes defined for the alarm type decide which alarm types are to be acknowledgeable EXERCISE: ALARM THE ANALOGUE HIGH HEADER BIT. 1. Open the project explorer. Browse to the Analogue agent (AgentServerName)_ActMixTemp. 61 2. Right click on the Agent (AgentServerName)_ActMixTemp and select Alarm. By default the defaultAlarmAgent Alarm agent is selected. Figure 41: Alarm Configuration 3. You will see the default types of alarms are available for the agent. For an Analogue agent, they are General Alarm, Hi-Hi, Hi, Low and Low-Low and Rate of Change. Double click the High available alarm type on the left hand side of the Dialogue box. This will move the Alarm type High to the current alarm types. 4. You have now successfully setup alarming for our (AgentServerName)_ActMixTemp Agent. DATALOGGING Adroit provides extensive and powerful historical logging facilities. As with Scanning, any slot of any Agent can be configured to have its values historically logged. Subject to the proviso that they are of slot type, Real, Integer, Boolean or 7 character String. 62 Figure 42: Dataloging Dialogue of an analogue agent When logged, the values are time stamped and are made available, via a DataLog Agent, to any client. Examples of data log clients would be historical Trends, the extract utility, OLE-aware 3rd party applications such as external spreadsheets for reports, OPUS reporting etc. Historical values can be stored in one or more data files using different log sets. Options available for the historical logging are the native Adroit logs (*.lgd) or OLE DB database. The total amount of disk space required for data logging depends on the number of data files used, the number of Agents being datalogged, and the total number of values logged per Agent, as well as the sampling time and length of time for which each value is logged. During logging, each DataLog Agent will write to its own pre-allocated dynamic buffer area in a data file and will overwrite itself after reaching the end of the buffer. A data log file is composed of many buffers, one for each DataLog Agent. Being event-based, the speed at which each buffer is written depends on how often the value in the Agent slot being logged changes according to its dead-band. The data log file can be periodically archived. Either by using the System Datalog Agent which allows a user to back up Datalogs to CSV files on a scheduled or triggered based, else if necessary, by file copy, so that the historical data can be retrieved later and exported for further analysis as a Comma Separated Variable (CSV) file, a format recognised by many commercial spreadsheet and database packages. If the System Datalog Agent is used, the Graphing utility in the Adroit Utilities folder to display these backed up files, or opened up in Excel. 63 Exercise: Datalog the value slot of an analogue agent. Figure 43: Datalog configuration 1. Open the Project Explorer and browse to the (AgentServerName)_ActMixTemp analogue agent. 2. Select the attribute or agent Slot you wish to log. In our scenario we are going to log the default value slot, which is the scaled value of (AgentServerName)_ActMixTemp. Right click on the value slot, select the option Datalog slot. 3. The Log File specifies the file location and name of the .LGD files (Adroit proprietary log file). Use the following path AdroitProject\Datalogs\actualdata.lgd 4. Set the log for a period of 30 days with a sample rate of 10 seconds. 5. Click okay and save your adroit configuration. 64 Smart User Interface Environment Working with the Smart UI applications in the Adroit SCADA product will require the user to become familiar with a number of components. Working with the Designer The Designer allows you to create and design graphic forms, customize the work environment and manage both user and data security at the same time. The work environment of the Designer consists of two types of windows, the Design workspace and tool windows Design Workspace Figure 44: Design Workspace The Design workspace is the main work area, which is always opened in the center of the Designer application window. This is used to display all the graphic forms, which are currently open in the Designer. Multiple graphic forms can be opened simultaneously but only one graphic form in focus at any one time. Graphic forms can be previewed within this environment to allow for testing during configuration. Each graphic form that is opened is identified by means of a tab, which is displayed at the top of this window, to easily select the required graphic form. If one or more graphic forms are already opened, then this tab is added to the right of any existing tabs. 65 Tool Windows Tool windows are dockable windows that can be arranged to increase the viewing and editing space provided by the design workspace. The following is list of all the tool windows that are provided, by default, within the Designer application workspace. Enterprise Manager This window provides the means for viewing and working with projects and Datasources and Servers. This “explorer” view has been designed to emulate the windows explorer environment as much as possible, for ease of use. This window therefore displays an expandable/collapsible hierarchy of connections to one or more Servers, and the Datasources and projects that have been added to them. Tip: If you right-click on any item in the Enterprise Manager, a menu will open with the available options, if any, for working with that item. Toolbox Figure 45: Toolbox View This tool window contains the available forms components/.net controls which can be added to graphic forms when they are being configured or designed. This tool window displays a number of categories o o o Windows Forms: standard .NET and components Data chart and other data viewing controls, SCADA alarm and event viewing controls 66 o o Vectors: vector-based graphic controls. Vector graphics are geometrical primitives such as points, lines, curves, and shapes or polygon(s) Custom: ONLY displayed if third-party components are installed and/or if imported ActiveX / Windows controls have been added to the Toolbox. Tip: Simply double click the required control or component to quickly add it to the graphic form. Properties This tool window can be used to view and, if necessary, to manually configure the properties and events exposed by the graphic form and/or its form component(s) that is currently in focus. Output Events This tool window is a log window for Client based low-priority events, such as spiders execution failing, connection event outputs. Progress This tool window displays the progress of any Client-Server communication. This can be used to determine if a (lengthy) process has completed, which is especially useful when the Client has connected to the Server over the Internet. New operations are added to the top of the list. The progress of each operation is indicated by means of a progress bar per item. To the right of this progress bar, the name of the current sub-task is displayed as it is being performed, which is replaced with the total time taken, in milliseconds, once this operation has completed. Spider Configuration This tool window is the window that allows you to post process, collaborate between data and perform other functions on the data prior to displaying it on the user interface. It is also the mechanism that binds data to properties of any control on the form you are designing. This tool window will only be displayed if a graphic form is opened in the Design workspace. This spider tool window is divided into three panes, which provide the following functions, when animating a graphic form: o o The explorer tree on the left hand side is used primarily to expose data elements of the configured Datasources, so that they can be dragged to the other two panes as required. Although this explorer tree resembles and provides the identical user interaction as the Enterprise Manager tool window, it is only possible to drag data elements from or to this tree. The spider workspace in the centre: this is generally used to manipulate data elements before they are displayed in the controls on the graphic form, by adding, configuring and linking spiders to the required data elements and/or properties and/or other spiders. 67 o The property tree on the right: this can only be used to expose properties of the graphic form and the graphic form components that have been added to it, so that they can be dragged to or from spiders or data elements, as required. Figure 46: Spider Workspace Notes: This tree will only display the properties for the currently selected form component(s). If graphic form itself is selected, then the properties of the graphic form and all its form components are displayed. o The names and icons of the form components are listed in the order that they have been added to the graphic form and their properties are listed beneath each control according to their category. o Hidden properties of each form component, are now shown as an additional property tree entry. Graphic Form Script o This tool window displays the script object of the graphic form that is currently opened and allows this script to be edited. Graphic form scripting can be used to programmatically achieve a more interactive user experience by allowing dynamic scripting code (for animations, algorithmic programming etc.) to be executed on an event. Watches This tool window makes it possible to quickly view (and if possible modify) the real-time value of data elements in the Designer, which can otherwise only be viewed when graphic forms are run or previewed in the Design workspace. Levels and Layers This tool window contains the levels and layers configured for the graphic form that is currently opened. Levels and layers are used to display or hide controls and/or graphic elements in order to create overlays or masking effects. Translation 68 This translation table performs the actual translating of text values of graphic form components. This graphic form translation table consists of a row for each property that contains a string values and a column for each configured language for runtime multi language applications. Tip: These languages are related to user profile language settings. USING THE ENTERPRISE MANAGER Figure 47: Enterprise Manager This window provides the means for viewing and working with projects and Datasources and Servers. This “explorer” view has been designed to emulate the windows explorer environment as much as possible, for ease of use. This window therefore displays an expandable/collapsible hierarchy of connections to one or more Servers, and the Datasources and projects that have been added to them. There are three aspect of the enterprise Manager which will need to be explored. DATASOURCES A Datasource is the actual connection to each source of data wherever it is physically located. By using its associated Datasource plugin, a Datasource is able to: Expose the connected data to the Server as data elements. Provide any special functions so that users can further interact with this connected data. For the purposes of the Smart UI there are four types of Datasources Adroit An Adroit Datasource can be used to either connect to standalone Adroit Agent Server on a specific computer or to an Adroit Active Cluster, to expose the configured agents and their slots. 69 When connecting to an Adroit Active Cluster, the Adroit Datasource seamlessly switches between the two Agent Servers in the cluster, when one becomes unavailable. Event Log An Event Log Datasource can be used to expose the events contained within the Windows event logs of the specified computer. These events can be used to gather information about any hardware, software, and/or system problems that this computer may be experiencing. For instance, certain applications make use of the Application event log to record application-specific events, such as errors, warnings and other relevant information. OLE DB An OLE DB Datasource exposes the data contained within an OLE DB compliant database or data source. An OLE DB service provider is required before a database or data store can become OLE DB compliant. This data provider ensures that the database shares its data in a uniform or consistent manner using OLE DB. Queries can be performed on an OLE DB compliant database to produce a sub-set of data, which comply with the specified requirements of the query. Simulation Although a Simulation Datasource does not actually connect to outside data, it does provide a wide variety of different types of data. EXERCISE: ADDING AN OLE DB DATASOURCE An OLE DB Datasource must be added before the data within an OLE DB compliant database can be exposed to the clients (Designer and/or Operator) of the Server. Note: If the OLE DB Datasource is not available in the Datasource wizard. You will need to install the datasources dll. Which can be found in the folder, C:\Program Files\Adroit Technologies\Adroit\SmartUI\Additional Datasources\OLE datasource. You must copy the files found in this folder into the Smart UI install directory. 1. From within the Designer, right-click on the name of the server and select Add Datasource. The Add Datasource wizard is displayed, listing the available Datasource plugins. 70 Figure 48: Selecting a Datasource 2. 3. 4. 5. Double-click on the OLE DB entry. The Add an OLE DB Datasource wizard is displayed to configure this OLE DB Datasource. For this example, name the Datasource Adroit_Audit. Connect to the required OLE DB database, by clicking the browse button to the right of the Connection String edit box. 6. This will display the Data Link Properties Dialogue. 7. Use the Provider tab, which is displayed by default, to select the appropriate OLE DB provider for the type of data you want to access, from the list. In this case select ‘Microsoft OLE DB Provider for SQL Server’. Figure 49: Data link properties 8. Click the Next button to display the Connection tab for the selected OLE DB provider. This tab provides the necessary details to connect to the required data store. 9. In this example we connect to the Adroit auditing Database which is provided by SQL Server. 10. Click OK when done. 71 11. Click the Test Server Connection button to ensure that the Server is able to connect to this OLE DB data store successfully. 12. Click Finish once the connection is tested and the Datasource has been named. Figure 50: New OLE DB Datasource with Connection String This will add this specified OLE DB Datasource to the Datasources category in the Enterprise Manager, which is identified by its specified name or icon. MANAGEMENT The management components, is where you will create configure and apply the security and users of the Smart UI. This section is broken down into three further components. Profiles Profiles manage the configuration of the Designer and Operator, that can be carried out at a per user level. They are simply collections of user settings and configurations that are associated with one or more of the allowed groups and/or users and stored on the Server computer. Profiles apply the same user settings and configuration, irrespective of the computer that is being used and so can be known as roaming profiles. However, while one profile can be applied to one or more allowed users or groups, each allowed user or group can only belong to a single profile. Security The Smart UI security system is user-centric and operates on top of Windows security (including Active Directory), using a configurable sub-set of the existing users and groups on each Smart UI Server computer, known as the "allowed" users and groups. Security needs to be configured per Smart UI Server connection in the Enterprise Manager, by using its Security component within the Management category. 72 Most importantly, this Security component configures the Allowed users and groups, which provides the first or foundational level of ALL user security and management within the Smart UI i.e. not only for Smart UI Server security but also Client (Designer or Operator) security. System The System Datasource provides a view into the Smart UI Server and exposes information and functions pertaining to the Smart UI Server itself and the Clients (Operators and/or Designers) that are connected to it. This information and these functions are mainly required for troubleshooting purposes and are provided for each connection. The sample System Information project demonstrates how to use this Datasource to provide as little or as much Server and/or Client troubleshooting functionality, according to your specific requirements. PROJECTS The Projects component, manages the creation and storage of graphic forms and make it possible to organise graphic forms through the creation of folders. Projects are configured within the Projects category, by adding, copying or importing graphic forms and organising these within a hierarchy of folders. EXERCISE: ADDING A NEW PROJECT AND A SET OF GRAPHIC FORMS. Before beginning this exercise it is imperative that you have completed all the above exercises. Figure 51: Create a new project with sub folder 1. Right click on the Projects icon and add a new project called BatchPlant. Once the project has been created add a folder to the project called Main. 2. Right click on the Project and create a graphic form with a name of Landing. Then create a graphic form called overview in the Main sub folder 73 Figure 52: Creating a graphic form 3. Once you have created the graphic form sent the following properties of both graphic forms to the relevant vales: a) Font: Arial, 9.75pt b) Size: 1024, 768 c) Back colour: User defined. Figure 53: Properties view of a graphic form 2. Place a label on the Overview form by going to the Toolbox view double click on the Label control which can be found in the Windows forms category 74 Figure 54: Adding a label to a graphic form 3. Set the properties of the label to the following values: a) Name: lblActMixTemp b) AutoSize: True c) BackColour: White d) BorderStyle: FixedSingle e) Location: 165, 239 f) Text: ActMixTemp Value g) TextAlign: MiddleLeft 4. Save both your graphic forms SPIDER WORK SPACE Spiders and silks are essentially a visual programming language for the graphic forms, which can transfer and/or manipulate data, typically by means of drag and drop. Spiders are similar to a PLC function block and allow users to collaborate or manipulate data using inputs and outputs from and to data elements and properties of controls. Available spiders Spiders are organized into the following categories to make it easier to select the required spider: Advanced o Levels And Layers o To change the visible level of a graphic form at runtime. o Performance Counter o To add performance counters to monitor the performance of your system. o Script Engine 75 To create script objects that interact with the Client and if necessary with the Server, to perform customized functionality. o Special Function o To execute any special function provided by any of the configured Datasources. o String Format o To format one or more values, if necessary, and display them as a single formatted string. o Variable Data Element o Dynamically change the names of data elements and if necessary to configure their values. Animation o Blinking o To start and stop a color alternating between two pre-defined colours at a specified interval and to display another pre-defined color when this blinking is stopped. o Multi-state Color o To define colors that provide a visual indication of the current value/s of either String, Double or Integer value/s. Application o Application: o Remotely interact with a graphic form within the Operator, such as the ability to open or close a graphic form when this spider is triggered o Data Entry o Enter a data value by displaying a Dialogue for this purpose at runtime. For details, see Data Entry spiders. o Execute Command: To run an application (.EXE), command file (.CMD) or a batch file (.BAT) and, if necessary, specify command-line parameters. Databasing o DataBinder Trigger o Display or to save changes made to the data of a table in a DataBinder. o Query o Perform queries and execute statements provided by any OLE DB Datasource. Extended Type o Color o Select a color using a color edit box or define a color by individually manipulating its color constituents. o Data Row Splitter o Filter out a row from dataset data and expose the values of its columns as outputs of this spider. o Extended Data Element o To either display the properties of an existing data element or to create a data element from any input. o Font o Select a new font using the standard font Dialogue or to modify an existing font by independently adjusting certain of its attributes. o Hidden Property o Expose and/or manipulate properties of the specified object that are normally hidden. o Mapping o 76 o o o Map (connect) inputs to outputs, so that each input has an associated and identically named output. This spider is intended to act as a connection interface for reusable graphics to connect its necessary data easily i.e. without needing to configure its individual properties and/or spider inputs again. Multi-State Create more than one “state” for a specific String, Double or Integer value, so that when this value falls within a defined state, the spider returns the value associated with this state. Logic o o AND Create a logical expression and, if necessary to AND its result with another Boolean input. o IF o Either creates a single logical expression or, if necessary, to create the initial logical expression that will be operated upon by the other logical spiders. o Logic Trigger o Trigger one or more spiders, as soon as its Boolean Logical Result input becomes TRUE after having been FALSE. o OR o Create a logical expression and, if necessary to OR its result with another Boolean input. o NOT o To inverse its Boolean Logical Result input Mathematical o Constant o Create user-defined constants and/or use the existing constants within other spiders. o Expression o Implement user-defined calculations, which can make use of variables. o Multiply and Divide o Multiply and divide multiple values to produce the result. o Operator Action o Perform various operations on a numerical or Boolean input. It is possible for this change in value to be confirmed and/or logged to an event log. o Scaling o Convert raw (unscaled) values into engineering (scaled) values. o Summation o Add and subtract multiple values to produce the result and to total all the values that are added and all the values that are subtracted. Simulation o Simulation o Create simulated data. Spider Workspace o Template Set o Change the active template set at runtime. o Trigger o Customize the triggering of existing spiders, by being able to trigger one or more spiders at the same time, whenever it is itself triggered. 77 Statistical o Counter o Record the number of On and Off events that occur, for a Boolean value, and the individual and total time of these events. o Statistical Functions o Collect data from an analogue (floating point) value and to calculate statistical information (maximum, minimum, mean, standard deviation and total) from this collected data XML o Extended XML o Expose XML properties defined within an XML document as outputs so they can be used individually EXERCISE: DISPLAY A VALUE ON A GRAPHIC FORM. 1. Click on the Label task Icon then select the behavior display value. 2. This will launch the Display Value wizard. Browse to the anlog tag ACTMISTEMP.value Figure 55: Add a display behavior 3. Set the String Formatting value to Actual Mixing Temperature: {0:f2} °C 4. Click finish 78 Figure 56: Display Value Behaviour dialog EXERCISE: DISPLAY THE LOGGED DATA VALUE OF AN ANALOGUE. a) Create a new graphic form, in the Main folder of the project BatchPlant, with the following properties b) Name: Trend_ActualMixTemp c) Font: Arial, 9.75pt d) Size: 800, 500 e) Back colour: User defined. 1. Place the LineChart control on the graphic form. The line chart creation wizard will now be launched. 79 Figure 57: Line chart creation wizard a) Give the chart title a new value. Then click next b) Give the series title a name of ActMixTemp and change the colour of the series to red (ffff0000).Click next Figure 58: Line chart Series Setup c) Under the Axis scale of the Axis setup. Un-check the auto check boxes, change the Minimum and Maximum from auto to 0 and 50 respectively 80 Figure 59: Line chart axis setup d) Select the Axis Title Tab and change the Title to °C the font to Arial, 8pt. Click next e) Change the Font of the Title style to Arial, 8pt. Click next f) Under the Legend Style and the Legend Title check off Visible. Click Finish. Figure 60: Line chart Title Setup 81 2. Once you have finished set the following properties of the Line chart: a) ExtrapolateData: True b) Name: lctActMixTemp c) Dock: Top d) Size: 800, 464 Figure 61: line chart legend setup 3. In the Spider workspace area drag the tag ActMixTemp.value to the property of the line chart control Data.series. the following Dialogue will appear. 4. Select the item: ActMixTemp [Value/DataSet]. Click finish 5. Save and preview the graphic form. 82 Figure 62: Select Item to connect to Dialogue EXERCISE: NAVIGATE BETWEEN TWO GRAPHIC FORMS 1. Open the Overview graphic form. Add a button with the following properties a) Name: btnTrendActMixTemp b) Back colour: Control. c) Location: 165, 260 d) Size: 120, 27 e) Text: Open Trend Figure 63: Application spider opening a graphic form 2. In the Spider workspace create a new Application Spider. a) Rename the spider to App OpenTrendActMixTemp b) Click the browse button of the graphic form this will open the Graphic Form Selection dialogue. Browse to the graphic form Trend_ActualMixTrend. Then click finish. 83 Figure 64: Graphic form selection Dialogue c) Once you have selected the graphic form to be opened you will need to tell the spider which event will fire it, this is done in the Event Trigger area of the application spider. Click on the drop down box for the Event object and select the btnTrendActMixTemp object. Make sure that the event name has been set to click. 1. Save your graphic form then open the Trend_ActualMixTemp graphic form 2. Add a button with the following properties a) Name: btnCloseGraphicForm b) Back colour: Control. c) Location: 677, 470 d) Size: 120, 27 e) Text: Close Figure 65: Application spider closing a graphic form 3. In the spider work space area, create a new application spider with following properties: a) Graphic Form: BatchPlant.Main. Trend_ActualMixTemp b) Action: Close 84 c) Event Object: btnCloseGraphicForm d) Event name: Click 4. Save the graphic form. 5. Run the Smart UI Operator application. You will log on the Operator in exactly the same method that you used for the Smart UI Designer (See Smart UI Configuration) Figure 66: Smart UI Operator with an open graphic form 6. Once you have login to the Operator. Browse to the graphic form Overview and double click on the form to open it. 7. You should now be able to open the graphic form Trend_ActualMixTemp as a Model Form. By clicking on the Open Trend button. EXERCISE: DISPLAY THE DATA FROM THE OLE DB DATA SOURCE IN A DATA GRID 1. Create a new graphic form, in the Main folder of the project BatchPlant, with the following properties: a. Name: AdroitAuditReport b. Font: Arial, 9.75pt c. Size: 800, 500 d. Back colour: User defined. 2. Place a DataGridView Control on the graphic form with the following properties: a. Name: dgvAdrAudit b. Dock: Top c. MultiSelect: False d. Size: 800, 464 3. Place a Button Control on the graphic form with the following properties: a. Name: btnRefreshSelect_AdrAudit b. BackColour: Control 85 c. Location: 3, 470 d. Size: 120, 27 e. Text: Refresh 4. Expand the OLE DB Datasource Adroit_Audit, and then expand the Queries. There are a number of query types available however you will be working with the Select Queries option. Right click on the Select Queries and click on the Add Select Queries. Figure 67: OLE DB Data sources queries 5. This will launch the Query builder. Name the query Select_AdrAudit. Then select Custom Query and click next Figure 68: Select query wizard 6. You will now be prompted to type in a SQL query. Use the following query: 86 SELECT dbo.Adr_Audit_Categories.CategoryName, dbo.Adr_Audit_Sessions.[Shutdown] AS [Session Shutdown], dbo.Adr_Audit_Sessions.dt AS [Session DateTime], dbo.Adr_Audit_Activity.Action, dbo.Adr_Audit_Activity.[Object name], dbo.Adr_Audit_Activity.[Slot name], dbo.Adr_Audit_Activity.[Object value], dbo.Adr_Audit_Activity.Remarks, dbo.Adr_Audit_Activity.Computer, dbo.Adr_Audit_Activity.Username FROM dbo.Adr_Audit_Activity INNER JOIN dbo.Adr_Audit_Categories ON dbo.Adr_Audit_Activity.Category = dbo.Adr_Audit_Categories.CategoryId INNER JOIN dbo.Adr_Audit_Sessions ON dbo.Adr_Audit_Activity.[Session ID] = dbo.Adr_Audit_Sessions.[Session ID] Figure 69: Select custom query Dialogue. 1. Once you have entered the select and join query in the query window. Click on the Preview button on the bottom left hand side of the dialogue. This should return values from the Adroit audit database in your preview screen. Click finish. 2. You will now have a new select statement which you can use to retrieve data from the SQL database on an event trigger. You will now need to create a query spider to execute the statement. In the spider workspace create a query spider with the following values: a. Name: Query Select_AdrAudit b. Server: Default Server 87 c. d. e. f. g. h. OLEDB Datasource: Query Type: Query Name: Confirm Action: Event Object: Event Name: Adroit_Audit Select Query Select_AdrAudit Unckecked btnRefreshSelect_AdrAudit Click Figure 70: Query spider 3. Once you have created the query spider, right click on the top of the spider which will bring open spider options menu. Note: This menu is common to all spider types. Figure 71: Spider menu Dialogue 4. Select Propagate Outputs At Startup. This will trigger the spider on load of thegraphic form. Then click on the Trigger now option. The return information output will now change to Executing Query. This may take a moment to finish executing (Be patient). 5. Once the Query has finished executing, the returned output of the query spider should have a value of System.Data.DataSet make sure that you have selected the dgvAdrAudit object on 88 the graphic form, expand the object in the right-hand pane of the Spider workspace to the property group Data. Then drag the Return Object value to the Datasource property. Figure 72: Configured query spider 6. The Filter DataSet wizard will now launch. Just click on the finish button. 7. Preview your graphic form. 89 EXERCISE: CREATE A TEMPLATE FOR A COUNTER AGENT 1. Create two agents of the type digital with the following properties Agent Name FEEDARUNNING FEEDBRUNNING Agent Description Feeder Ingredient A Running Feeder Ingredient B Running OPC Item Address FeedARunning FeedBRunning Scan the Digitals to their respective OPC item addresses. 2. Create two agents of the type counter with the following properties Agent Name FEEDARUNNING_COUNTER FEEDBRUNNING_COUNTER Agent Description Feeder A Counter Feeder B Counter OPC Item Address FeedARunning FeedBRunning Input Tag FEEDARUNNING.value FEEDBRUNNING.value Figure 73: Counter Agent Once you have created the counter agent and set the input tag. Browse the systemInfo.second tag into the trigger slot of the counter agents, and then check on the triggered check box. This will set the agent to automatically update the slots of the agent every second. Once this has been done start the counter agent. 1. Create a new graphic form, in the Main folder of the project BatchPlant, with the following properties: a. Name: FeederCounter b. Font: Arial, 9.75pt c. Size: 306, 239 d. Back colour: User defined. 90 2. You will now need to work with a new property of the graphic form called Aliases. Aliases expose selected properties of the graphic form and/or its form components to other graphic forms. This mechanism allows the engineer to pass information between graphic forms. a. Click on the alias property of the graphic form. This will open the Configuration Alias dialogue b. Now add a new Alias by clicking the add button. Give the new alias a name of ‘VAR’ (Variable) Figure 74: Add a value to the Alias collection 3. Place Four labels on the graphic form with and set the relevant properties as shown below Name lblOffCount lblOffTime lblOnCount lblOnTime lblHeader BackColour White White White White User defined BorderStyle FixedSingle FixedSingle FixedSingle FixedSingle FixedSingle Location 3, 72 3, 104 3, 150 3, 185 0, 0 Size 295, 23 295, 23 295, 23 295, 23 306, 37 Text Off Count Off Time On Count On Time Feeder Counter TextAlign MiddleLeft MiddleLeft MiddleLeft MiddleLeft MiddleCenter 4. Create a new Advanced spider of the type Variable Data Element (VDE). A VDE allows the engineer to dynamically change the names of data elements and if necessary to configure their values. a. Expand the VDE and add 4 new outputs by clicking on the New Outputs + Variable DE at the bottom of the spider. 91 b. Fill in the inputs as below Inputs DE Connection string/Name vde 0 [De Name (Segment)] vde 1 [De Name (Segment)] vde 2 [De Name (Segment)] vde 3 [De Name (Segment)] Adroit.Feed{0}Running_Counter.onCount Adroit.Feed{0}Running_Counter.offCount Adroit.Feed{0}Running_Counter.onTime Adroit.Feed{0}Running_Counter.offTime Figure 75: Variable Data Element a. Drag the Form.VIZNET Extended.Alias properties to the VDE input {0} b. Right click on the Alias property in the spider work space object view. Click on the ‘Show property spider’ in the context menu. ( See Figure 59) 92 Figure 76: Alias connected to VDE a. Drag the Outputs of the VDE to the respective Labels text properties ( See Figure 60). Output vde 0 vde1 vde 2 vde 3 Label text property name lblOnCount.Text lblOffCount.Text lblOnTime.Text lblOffTime.Text Text format On Count: {0} Off Count: {0} On Time: {0} Off Time: {0} 93 Figure 77: Link VDE to Label properties 4. Drag the Output of the Aliases.VAR to the lblHEader.Text property and set the text property format to ‘Feeder Counter {0}’ 5. Open the landing Graphic form and place two buttons with the following properties. Name BackColour Location Size Text BtnFeederACount Control 26, 275 295, 23 Counter BtnFeederBCount Control 358, 275 295, 23 Counter 6. Create two application spiders. Name the spiders, App OpenFeederACounter and App OpenFeederBCounter respectively. a. In the context menu of the spider check the ‘Enable Silk Trigger’ true and the ‘Trigger Spider From Event’ to false for both spiders b. In the Spiders context menu click on the ‘Add Alias Inputs’. This will open the ‘Add Graphic Form Alias Inputs’ Dialogue. Add an Alias with a name of VAR. Once you have clicked finish a new input will be available in the application spiders called VAR. Set the VAR properties to A for the application spider ‘App OpenFeederACounter’ and B for ‘App OpenFeederBCounter’ c. Set the Graphic Form Inputs in both spiders to BatchPlant.Main.FeederCounter. d. Drag the Location property of the Button BtnFeederACounter to the location Input of the Spider App OpenFeederACounter. Set the Event Trigger of the Property BtnFeederACounter.Location to Event Object BtnFeederACounter and the event name to Click. Do the same for the FeederBCounter. 94 Figure 78: Application Spider with Location of the Button linked to the Application Spider e) Save and close your landing graphic form. 7. Run the Operator and load the landing form. Click on ether of the Feeder counter buttons Figure 79: Feeder Template. 95 SMART UI ADVANCED CONCEPTS Scripting GRAPHIC FORM SCRIPTING Graphic form scripting can be used to programmatically achieve a more interactive user experience by allowing dynamic scripting code (for animations, algorithmic programming etc.) to be inserted at key events of the graphic form itself and for any controls and components that have been added to it. For code samples look in the How to section of the help file. Security MICROSOFT WINDOWS SECURITY SETTINGS The Smart UI Server requires the ‘Act as part of the operating system’ policy security right to be assigned to the user under which it is executed i.e. to the user account that logs on to the Server machine. If the machine is part of a domain, please ensure that these policy settings have been correctly set up on the domain and that the domain controller is NOT enforcing the domain-wide disabling of these policy security rights. SECURITY DATA SOURCE Figure 80: Security Datasource The Security Datasource manages security for the Smart UI Server. By using the existing Windows security, the Datasource can be used to specify who should or shouldn't have access to Datasources and their data elements and / or special functions. Although this Datasource does not currently have any data elements of its own, it does provide a number of special functions to assist with securing the Smart UI Server. The Security Datasources is located in the Management category, of each Server, in the Enterprise Manager. Since the Smart UI Server is a graphics and data portal, which aggregates data from numerous sources, it is possible that data, with varying degrees of sensitivity, may be made available to the same Smart UI Server. For this reason, it is essential that this data can be appropriately secured for allowed users and groups. 96 Security in Smart UI Server is user-centric and operates on top of the traditional Windows operating system security, using a configurable sub-set of the existing users and groups on each Server computer, known as the "allowed" users and groups. In addition to controlling the access of these “allowed” users and groups to the Smart UI Server, its configured Datasources and their data, it is also possible to control or limit the access that these users have within each Client. The following diagram illustrates how security in Smart UI operates on top of the traditional Windows operating system security by means of the allowed users and groups, which is a selected set of the existing Windows users and groups on the Smart UI Server machine or the active directory. The default security settings is configure so that the user profile that the Smart UI software is installed under, will be assigned administrative rights in the Smart UI Server. Then the access of these allowed users and groups should be specified within each Server and Client. However, security configuration should continue throughout the life of the project to secure new Datasources; limit the access of new users and modify the access levels of existing users, as required. ALLOWED USERS AND GROUPS Figure 81: Users and Groups As previously discussed, security in Smart UI is user-centric and operates on top of the traditional Windows operating system security. This is made possible by using a configurable sub-set of the existing users and groups on each Server computer, known as the "allowed" users and groups. These allowed users and groups therefore provide the first or foundational level of ALL security within the Smart UI; hence their creation is mandatory for every Smart UI Server. In other words, unless a user is either an allowed user or a member of an allowed group they will be unable to login to the Server with a client. 97 The allowed users and groups are the means by which all other user security and management in Smart UI is applied. They are typically added and removed via the Designer in the Enterprise Manager, by using the Users and Groups list of the Security component that is within the Management category of each Smart UI Server. However, it is also possible to give certain users and groups total or global security access to each Server, which essentially become “master” users and groups that: permanently become allowed users and / or groups that cannot be removed from the lists of the allowed users and groups maintained by this Server, so that these users will never be able to lock themselves out of the Server, Are always able to log in to and have unrestricted access to this Server, its Datasources and their data. These global security users and groups should be used to administer the security of the Server, by adding the other allowed users and groups and assigning the necessary access rights to each of them. By default, only the Administrators group and the default login user is assigned global security access to each Server. In addition to adding existing users and groups to the allowed users and groups for a Server, it is also possible to create users that impersonate or masquerade as an allowed user. For instance, when users are not part of the Windows security or where a domain username and password is not to be exposed when someone logs in to a Server over the Internet. The impersonated user is then able to log in to a Smart UI client (Designer or Operator) and merely assumes the user security and management settings of the allowed user that is being impersonated. POLICIES Policies can be used to provide a general (large-scale) level of control to safeguard the data that is made available to the Server. They can only be implemented after allowed groups and / or users have been added to this Server. Policies are essentially a configurable set of rules that govern the access to a Server and its available Datasource plugins (the types of data that the Server is able to connect to), as follows: Each policy represents a specific service or activity that can be performed by the Server, such as, the ability to retrieve a list of its available Datasources. Each policy can then be associated with one or more allowed users and / or groups with each policy. Any allowed user and / or group not associated with a policy is unable to perform the service that it represents. In other words, whenever a Server receives a request for a service, it first determines whether the currently logged in user is part of the allowed users or groups that are able to perform this request, and then denies or grants access based on this result. By default, the Users group and any group(s) 98 and / or user(s) that have been assigned global security access to this Server, is automatically associated with every policy. Certain policies represent Datasource plugin specific services, such as, the ability to add or remove a new Datasource. In this case, the policy contains a list of the available Datasource plugins, so that the required allowed users and / or groups need to be associated with the applicable Datasource plugin. Once a Datasource plugin has been secured using a policy, this security will be applied to all of its existing and future Datasources that are configured. In order to secure a specific Datasource and / or its data, Datasource-specific security is required. Allowed users and / or groups are added to and removed from policies via the Designer in the Enterprise Manager, by using the Policy list of the Security component that is within the Management category of each Server. DATASOURCE-SPECIFIC SECURITY Datasource-specific security is a general classification that encompasses all the security measures that can be used to provide a precise (finely tuned) level of control to safeguard the data that is made available to the Server. This too, can only be implemented after allowed groups and / or users have been added to this Server. As its name implies, this essentially involves securing the specific Datasources that have been added to a Server and their configured exposed data elements and / or special functions. However, since Datasources are themselves data elements, Datasource-specific security simply consists of the following two security methods: Data element security Since every Datasource exposes its data in the form of data elements, it is therefore essential that the access to these data elements be sufficiently controlled to provide the necessary security for your data. Each data element (and Datasource) can be assigned security permissions that determine which users are able to configure its security settings and which users are able to view, set and / or remove it. The following strategy is the recommended for implementing data element security: Specify the extent of the access that allowed users and / or groups are given to the available Datasources, so that only the necessary Datasources are available for them to perform their required duties. Specify the extent of the access which allowed users and / or groups are given to the specific data elements within these Datasources, so that only the necessary data is available for them to perform their required duties. In this way, the currently logged in user should only be able to see the Datasources and their data elements that are necessary to perform their function. Furthermore, whenever any data element is accessed, this Server will always determine whether the currently logged in user is able to perform the requested data element operation, and accept or reject the request accordingly. 99 By default, only the group(s) and / or user(s) that have been assigned global security access to this Server, are automatically assigned full access to all Datasources and their data elements. Data elements need to be secured separately for each Datasource that is created. Data element security is applied via the Designer in the Enterprise Manager, by right-clicking the required Datasource and / or data element and selecting the Security item. Although this will only be available if the currently logged in user has been granted the necessary security permissions, for this Datasource and / or data element, to configure its security settings. However data element security does not need to be applied manually, as it is also possible to automatically apply the security configuration applied to a Datasource to all of its data elements (both existing and future), and inherit the security configuration applied to a Datasource to simply configuring the security for a data element. Special functions security In addition to making its data available as data elements, a Datasource may also or may only provide special functions. By securing the provided special functions, it is possible to secure this specific functionality provided by the Datasource itself, which is especially evident when the special function is the only means provided for performing a specific action. Although special functions are provided by Datasources, their security is entirely unaffected by the security settings applied to their Datasources. Each special function can be assigned security permissions that determine which users are able to configure its security settings and which users are able to use it. The following strategy is the recommended for controlling access to special functions: Specify which allowed users and / or groups are able to use special functions at all, by associating them with the Invoke Special Function policy. Specify which special functions these allowed users and / or groups are able to use for each Datasource, so that they will be able to perform their required duties. In this way, whenever a special function is used either specifically or by the Datasource itself, the required Server first determines whether the currently logged in user is part of the allowed users or groups that are able to use special functions. If this is so, it will then determine whether the user is actually allowed to use the special function associated with this specific Datasource, and accept or reject the request accordingly. By default, only the group(s) and / or user(s) that have been assigned global security access to this Server, are automatically assigned full access to all special functions. Special functions need to be secured separately for each Datasource that is created. Special function security is applied via the Designer in the Smart UI Server, by right-clicking the required special function and selecting the Security item. Although this will only be available if the currently logged in user has been granted the necessary security permissions, for this special function, to configure its security settings. 100 PROFILES Figure 82: Profiles Configuration dialogue Profiles manage the configuration of the Designer and Operator, that can be carried out at a per user level. They are simply collections of user settings and configurations that are associated with one or more of the allowed groups and/or users and stored on the Server computer. Profiles apply the same user settings and configuration, irrespective of the computer that is being used and so can be known as roaming profiles. However, while one profile can be applied to one or more allowed users or groups, each allowed user or group can only belong to a single profile. Therefore, if profileA is applied to userA and then profileB is also applied to userA, then userA loses his/her association with profileA and only becomes associated with profileB. Profiles are applied to allowed users or groups, in one of the following ways: 1. When a user launches the Client and login to the required Smart UI Server. The settings of the last profile associated with this user on this Server are applied. If no profile has been applied then the Default profile is applied to this user. For details, see Default profiles. 2. When users are associated with a profile during its configuration in the Designer. For details of associating users with a profile, see Associating profiles with users. 3. The currently logged on user is also able to manually apply any existing profile in the Designer. Note: This can only be performed if the currently logged on user has the necessary security permissions. 101 Smart UI Launcher Figure 83: Smart UI Launcher The Launcher is typically used to download the files required for the Operator application, either over a LAN or the Internet. To do this, the Launcher needs to connect to a computer that has the Distribution Service installed and configured, which is typically the Server computer. The Launcher connects to a pre-configured distribution computer over a LAN or the Internet and synchronizes the contents of its installation folder with a specific folder on the distribution computer. Notes: If the distribution computer uses firewall software ensure that the Distribution Service has access to the necessary communication port. Once the Launcher has successfully connected to a distribution computer, these connections settings will automatically be used whenever it is run. This connection dialog can also be displayed, for instance to connect to another computer, by opening the Launcher, selecting File menu and its Connection item. Connecting to the VIP Server over the Web This section describes the recommended procedure to connect Operators to a Smart UI Server over the Internet. 102 Figure 84: Distribution Service architecture. 1. Firstly, the Smart UI Web Service must be installed, which provides Internet connectivity between the Smart UI Server and its clients. This must therefore be installed on a web server or ‘Internet PC’. 2. Secondly, because Operators are typically deployed using the Smart UI Launcher application, the Smart UI Distributor service must be started on the Smart UI Server computer 3. Thirdly, test that the Smart UI Web Service is working, first locally and then via the Internet. INTERNET PC Install the Smart UI Web Service, either on the Smart UI Server computer itself or on any other machine that is able to communicate to the Smart UI Server. Provided this machine has both the .NET framework 3.5 and Microsoft Internet Information Services (IIS) installed. It is recommended that the Smart UI Web Service be installed on a separate server, preferably the firewall server, so as to provide secure connectivity to the Smart UI Server. 1. Launch the SMART UI Installer, select the SMART UI Web Services option and click Next. 103 2. Accept the license agreement, and if necessary, specify the name of the required Virtual Directory and the site in which this will be created, for this scenario these have been left as their defaults i.e. SMART UI and Default Web Site respectively, click Next to install the necessary files. Figure 85: Smart UI Web Service Installation. 3. Once installed, it is recommended to ensure that both the web service itself and the virtual directory that is created during this installation is fully operational, as follows: Launch the web browsing application. Type in the required path of the newly created virtual folder http://localhost/VIP 104 Figure 86: Web Service Web page configuration 4. If everything has been successfully installed and configured, this should immediately display the default web page. 105 SMART UI SERVER MACHINE On the Smart UI Server machine, start the Smart UI Distribution Service (The service will automatically start once you reboot the machine), as follows: 1. Open the Services applet (Start menu, Settings, Control Panel, Administrative Tools and select the Services applet). 2. Navigate to the VIP Distributor service, right click and select Start. The Smart UI Distributionr Service specifies the folder that will contain the files and folders that the Smart UI Launcher will download; always ensuring that it contains the latest files. Typically, this folder is C:\Program Files\Adroit Technologies\Adroit\SmartUI\Distribution. TESTING INTRANET CONNECTION TO SMART UI SERVER On the computer on which the Smart UI Web Service has been installed, copy the Smart UI Launcher from the Smart UI Server computer and place this into a temporary folder, for instance, on the Desktop. The Smart UI Launcher is typically used to download the files required for the Operator application, either over a LAN or the Internet. Start the Smart UI Launcher from this temporary folder and complete its Connection dialog, as follows: Figure 87: Smart UI Launcher dialogue Ensure that the Internet selection is selected. Specify the Internet address of the WebService, which makes this Internet connection possible, which is typically: http://ComputerName/VirtualDirectory/wsdistributor.asmx. Where: o ComputerName is the name of the IIS server on which the SMART UI Web Service has been installed. o VirtualDirectory is the name of the virtual directory that contains the wsdistributor.asmx file, which was specified when installing the Smart UI Web Service. In the Authenticate group, specify the required User and Password, which are required when connecting to this computer. 106 If a proxy server is required for this Internet connection, check the Enable Proxy checkbox and click the Proxy Settings button. Click connect. Figure 88: Smart UI Launcher download dialogue If everything has been correctly specified, then the download dialogue following dialog should appear Once all the required files have been downloaded the Smart UI Launcher will display all the executable programs that have been downloaded Double-click on the Smart UI Operator to launch it. The next time the Smart UI Launcher program is run, it should automatically display these executables. If however, any of the file(s) and folder(s) are newer on the remote computer, they will be displayed for downloading. In this way the Smart UI Launcher ensures that the files within its installation folder are kept up-todate. To automatically execute a downloaded executable after the Smart UI launcher has finished processing, simply edit the shortcut used to launch the Smart UI launcher and add the name of this executable (its extension is not required) as its command-line parameter to the Target field e.g. add "Smart UI Operator" to launch the Operator. 107 Troubleshooting The Smart UI Launcher will be unable to connect to the remote distributor computer (i.e. the computer that is running the Distributor service) if port 9010 is being blocked by the firewall. This port is used by the Smart UI Distributor service to communicate to and from other computers and must be unblocked in order for it to communicate freely. The Smart UI Server will also be unable to connect to a remote client (Operator or Designer) computer if port 9000 is being blocked by the firewall. This port is used by the Smart UI Server service to communicate to and from other remote (Operator and Designer) computers and must be unblocked in order for it to communicate freely. Ensure that port 80 is also unblocked, since this is required for normal HTTP communication If running a personal firewall on the Smart UI Server machine (such as Microsoft Firewall or Norton’s firewall), then it is required to unblock the Smart UI Distribution application itself, which provides the Smart UI Distributor service. It will also be necessary to ensure that the following SMART UI applications are unblocked, when used on a computer that is running a personal firewall: SMART UI Operator SMART UI Designer SMART UI Server SMART UI Launcher SMART UI Distributor PERSONAL FIREWALL Unblock Unblock Unblock Unblock Unblock PORT USED 9000 9000 9000 9010 9010 It should be sufficient to unblock the specified applications, the PORT USED column of this table is specified if required that the firewall exceptions be fine-tuned and only the ports that these applications actually use be unblocked. 108 MAPS QUICK START Introduction The Mitsubishi Adroit Process Suite (MAPS) is a collaboration between Mitsubishi Electric and Adroit Technologies and is an integrated PLC/SCADA life-cycle management software suite. Its value is extended when customers use the DesSoft electrical and instrumentation design software as MAPS supports full integration into these tools. This document serves to give you, a prospective MAPS user, an overview of the product, describing its installation, features and usage. This does not replace the on-line help or the training material. It is aimed at a first time user who, by using this document, can obtain an understanding of the basic principles of the MAPS software. Since this is a getting started guide, this document does not cover the more advanced features of the product. It is therefore designed around building a MAPS solution on a stand-alone machine and not in a distributed environment. This guide assumes you have a working knowledge of the Adroit SCADA Software and the GX-IEC Developer PLC programming software. For more information regarding Adroit, obtain the Adroit Quick Start Guide document and contact your local Mitsubishi supplier for assistance in using GX-IEC Developer. General Overview MAPS is focused around offering an integrated PLC/SCADA engineering and management tool that works seamlessly with the Adroit SCADA, Mitsubishi GX-IEC Developer software and DesSoft engineering design software. MAPS delivers value along the entire life-cycle of any automation solution. From the initial process design and engineering phases and finally addressing the shortcomings of current offerings and solutions around the commissioning, handover and operations phases of an automation project. MAPS will ensure that Process Houses and Systems Integrators save time and deliver projects both quicker and of a higher quality. Customers will benefit from the integrated document management and reporting and on-going ability to maintain the solution and its documentation. The result is an integrated life-cycle management solution for the automation industry. To take advantage of the complete automation solution life-cycle management provided by MAPS, your design should start with DesSoft’s P&ID application and then use EDes to perform the detailed Electrical design and FDes to perform the detailed Instrumentation design. IMPORTANT: However, you are not committed to using these DesSoft design tools and by ONLY using the MAPS-1Engineer DesSoft component (shipped standard with the MAPS product) you can: bulk configure your MAPS project and finalise the IO cards of each PLC (this means ensuring that the IO cards have sufficient capacity for the IO of the associated equipment). Glossary of MAPS Terms ADROIT – SCADA/HMI MAPS is developed to work with the Adroit SCADA/HMI software. Agent Server – The I/O server that houses the PLC communications and performs all the SCADA functions such as logging, alarming etc. Agents - The Adroit Agent Server is a real-time framework that supports software objects called Agents. Each Agent performs a task with the SCADA architecture. For instance, the 109 Analog Agent is the object that is driven from an analogue in the PLC and delivers functionality around the scanned value, such as alarm levels, scaling etc. The Adroit WGP file – The Adroit Agent/Tag database (I/O Server) as configured for a project Device Driver – The instance of a software driver installed and used to communicate with a PLC Smart User Interface (Smart UI) – the client applications of the Adroit SCADA MITSUBISHI GX-IEC DEVELOPER MAPS is developed to work with the Mitsubishi GX-IEC PLC programming software. IEC Programming – methodology of using IEC-1131 and object oriented approach to PLC programming MITSUBISHI ADROIT PROCESS SUITE (MAPS) MAPS Database – contains the project configuration The MAPS Designer – the application used by your engineers to create and/or configure and maintain your automation solution The MAPS Operator – the application used by your operators to view and/or control your automation solution Graphic Forms – Process Mimics ISA 88 / 95 – ISA standards on the recommended structured approach to organizing an automation project. MAPS uses the following extended physical model: o Enterprise o Site o Area (Adroit Agent Server) o Work Cell (PLC) o Work Unit o Equipment Module (equipment and instrumentation) 110 Figure 89: The MAPS S88/S95 Extended Physical Model MAPS Project Design Requirements Since the key to a successful automation project is planning, using the MAPS software suite compels the engineers to think through and plan the following, before creating a project: Create a complete schedule of all the electrical and instrumentation equipment required in the plant, which is organized according an extended physical model of the hierarchical structure specified by the ISA S88 and S95 standards. See Figure 89 Note: When bulk configuring your project in MAPS-1Engineer, a critical step in this process ensures that the IO cards of each PLC have sufficient capacity for their associated equipment; therefore it is essential that your initial equipment list is complete. Details of the required PLC I/O and Adroit Scan points are available in the MAPS help file for each available Function Block (FB). Specify and group the IO cards used in each PLC along with the virtual memory addressing to ensure efficient scanning and allocation by MAPS. 111 The MAPS Architecture The configuration of a MAPS project is stored within a SQL Server 2008 R2 Database. The MAPS-1Engineer is the bulk configuration entry point to the database and offers users the capability of bulk engineering using MS Excel. The MAPS Designer application creates and/or configures the project and generates: the Agents within the selected Agent Server along with the scanning etc. the PLC project with the required configuration and Function Blocks (FBs). Note: Currently only Mitsubishi Q-Series PLC’s are supported. Figure 90 MAPS Architecture The final project is still a PLC/SCADA solution and the MAPS Enterprise Manager is then used to manage an individual or distributed project. 112 Installing the Software You will need to install the following software in order to use MAPS: Adroit SCADA software (provided on the MAPS DVD). Adroit protocol driver for your Q-Series PLCs. Note: If you install Adroit from the MAPS DVD, this installs the correct driver for your Q-Series PLCs. Alternatively; you can install the Adroit Mitsubishi Q or QnA Ethernet Driver from the \Adroit7\Drivers folder of the MAPS DVD. DesSoft MAPS-1Engineer software (provided on the MAPS DVD). MAPS Database on Microsoft SQL Server 2008 R2. If you do not have SQL Server 2008 R2 installed on your computer then you can install SQL Server Express 2008 R2 (provided on the MAPS DVD). Mitsubishi GX-IEC Developer installed on each machine where you want to access the PLC program from and/or create MAPS projects, IMPORTANT: The GX-IEC Developer install is NOT provided on the MAPS installation DVD and must be installed separately. Once the MAPS installation DVD is inserted into the applicable computer, click the Install option. This launches the MAPS installation wizard, which guides you through the process of installing the product(s) onto your computer/server. When installing the MAPS Server: o You need to decide whether you will ONLY configure MAPS projects on the local computer (MAPS Standalone license) or to create and/or manage MAPS projects on the local and/or remote computers (MAPS Enterprise license). o If you have NOT installed Adroit or SQL Server 2008, then the MAPS Server installation can install these for you from the MAPS DVD. o If there is more than one SQL Server instance on your computer, then will you need to select the required instance for the MAPS database. o If you have other front-end devices, then use the Adroit OPC Client protocol driver (OPC) to communicate to them. Licensing the Software MAPS can be used in a stand-alone environment or in a distributed environment. Should you wish to use MAPS in a stand-alone environment you will require an appropriately licensed USB HASP key. The imposed limitation is the MAPS Enterprise Manager can only connect to a local Adroit Agent Server. Should you wish to have a central design and management station, you will need to purchase the MAPS Enterprise hardware key, which allows you to create a connection to multiple MAPS projects/Agent Servers and PLC systems in the field. Organizing your Directory Structure Successful automation projects require a lot of planning and organization. 113 It is recommended that the Adroit SCADA software is separated from the configured SCADA project. This allows for easier backups, upgrades etc. When Adroit 7 is installed you are asked to specify the name of the folder that you want to use for your Adroit projects, by default the following folder name and location is provided: C:\AdroitProject. The installation then creates the following subfolders within this folder: \CSV: stores all your exported data. \CustomAgents: stores all the Custom agents created for the project. \Data: stores configuration files pertaining to the Agent Server, such as .WGP files (the Adroit Agent Server tag database) and any database files used for reporting etc. \Datalogs: stores all the Adroit proprietary datalog files. \Mimics: stores mimic, trend, alarm and event windows, bitmaps etc. \Wizards: stores all the wizards. \Work: stores persistence files for Counter and/or Statistical agents, which save the statistical values that these agents calculate. We suggest that you use this default directory and file structure to ensure that your Adroit SCADA projects are well organized and easily managed. Figure 91 The recommended Adroit project directory structure 114 CONFIGURING MAPS – AN END-TO-END PROJECT When using MAPS to engineer a project, you need to perform the following steps: 1. The first step, which is arguably the most important of all the steps, is PLANNING, which is the key to creating a successful automation project. Using MAPS forces you to think through and plan the following things, before creating a project: a. Create a list of ALL the items of electrical and instrumentation equipment required in the plant. Use the extended physical model of the S88/S95 hierarchical structure to organize this list of equipment. See Figure 89. Although you can add items of equipment later, it pays to have a comprehensive initial equipment list. So that you can effectively finalise the IO cards of each PLC, when bulk configuring your project in MAPS-1Engineer. In the case of the demo MAPS project, this list of equipment is organized using the following MAPS-specific S88 hierarchy: MAPS Project Name (S88 Site): ACME Plant Area Name (S88 Plant Area): Plant_A PLC Name (S88 Process Cell): BAT_PLT_A IMPORTANT: Since the MAPS demo requires an active Mitsubishi Q PLC on your network, you need to change this to the name of this PLC – we will cover how to do this later. Process Unit (S88 Unit): BATCHING Equipment (S88 Equipment Module): The items of Electrical and Instrumentation equipment for this Batching Plant. Additional MAPS-specific configuration that needs to be planned ahead: Plant Area Code: A01 – an OPTIONAL code that is used as the prefix for all the equipment within this plant area. Tip: Using the Plant Area Code is recommended as it helps you to ensure unique equipment names and to easily differentiate your plant equipment. MAPS Server: the name of the MAPS Server that stores this MAPS project. In this case this is Default (the local MAPS Server). Adroit Datasource Name: the name of the Adroit Datasource (the connection to the Agent Server as specified in the MAPS Server), which is NOT necessarily the name of the Agent Server as it is specified in Adroit. In this case, the Adroit Datasource is called Adroit. Adroit Device Name: the name of the device that the Adroit Agent Server uses to communicate to each PLC in the field. In this case, this device is called PLCA Note: You can ONLY specify Adroit devices for the drivers of the supported Mitsubishi PLCs that are configured for the specified Agent Server, which in this case is the Mitsubishi Q/QnA driver. b. Specify and group the IO cards used in each PLC along with the virtual memory addressing to ensure efficient scanning and allocation by MAPS. 115 2. Then you need to decide how you want to configure your MAPS project, as follows: Use the MAPS Project Wizard in the MAPS Designer to manually create the project and equipment list. Use MAPS-1Engineer to bulk configure your MAPS project, by importing an Excel spreadsheet. Note: This method also allows you to ensure that the IO cards of each PLC have sufficient capacity for the IO of the associated equipment. In the case of the demo MAPS project, we will use the sample Excel import spreadsheet to bulk configure this project in MAPS-1Engineer. 3. Ensure that you install the necessary Mitsubishi protocol driver and create the specified device for it in the specified Adroit Agent Server. In this case this is a device called PLCA for the Mitsubishi Q/QnA driver. See the Adding and Configuring a Device for an Installed Driver section below. 4. Create the MAPS project using the selected method. This requires assigning the required MAPS template to each of your electrical and instrumentation equipment and selecting the required process (SCADA) graphic of each. 5. If you created the project using MAPS-1Engineer, then launch and log into the MAPS Designer and initialize the project to create the folder structure and the Operator view graphic form (this step is NOT required when using the MAPS Project Wizard). The Operator view graphic form is used by your operators to view and control your process site (MAPS project). 6. Generate the PLC project code for each PLC using GX IEC Developer. 7. Ensure that each Adroit Agent Server for this MAPS project is running. 8. Generate or Synchronise the Adroit SCADA database to create the SCADA tags in Adroit for each item of equipment and perform any other SCADA configuration as required by each MAPS template, such as scanning, logging, alarming and/or trending these tags. 9. Generate the SCADA graphics for this project. 10. If necessary, re-arrange the default Unit graphic forms or alternatively, create CUSTOM graphic forms from these default Unit graphic forms and add the necessary static graphical components to complete the project. 11. Save the project structure to ensure that the Operator view graphic form is aware of all the default (and custom) SCADA views – so that it can automatically provide the necessary navigation between them. 12. Launch the MAPS Operator application and open the Operator view graphic form to view and control your process site (MAPS project). Setting up the Adroit Agent Server Tip: This section can be performed during the installation of Adroit, since the Adroit Configuration Setup dialog is launched at the end of the Adroit installation. Just navigate from the Start menu to the Adroit 7 program group and run the Adroit Setup link to open the Adroit Configuration Setup dialog, which by default displays the Agent Server tab. 116 Figure 92 Agent Server tab of the Adroit Configuration Setup dialog CONFIGURING THE AGENT SERVER PARAMETERS The Select Configuration – this is what you would like to call this particular instance of the Setup. It is changed by clicking on the “Save As” button at the bottom of the dialog. We will do this after we have made all the changes as follows: AGENT SERVER TYPE This provides the following options: Stand-alone/Distributed Server – this is used in a typical installation. Cluster Aware Server – this is required when you need stand-alone Agent Servers to operate with an Adroit Active Cluster pair (a set of hot-standby Agent Servers) in a distributed project. Since you are otherwise unable to have multiple Agent Servers with the same name in a Project. Active Cluster Server– if you are setting up a hot standby solution (cluster pair) you need to select each of the Agent Servers in the cluster to be of type Cluster. In this case, leave the default selection of Stand-alone/Distributed Server. PROJECT NAME Adroit can share information seamlessly between Agent Servers that have the same Project Name. So if you need to share data between Agent Servers, you need to have a common project name for the different Agent Servers. It is also important to note that you need unique Agent/Tag names in a Project. By default this is the name of your computer. Change this to: ACME (the name of the demo MAPS project) AGENT SERVER NAME This is the logical name for the Agent Server. You can call this what you like. Typically it might be the area of plant that you are controlling. Change this to: AS_PLT_A 117 AUTO-LOAD FILE NAME This is the logical name for the Adroit Agent Server tag database (WGP file). This stores the entire configuration of this Agent Server. Tip: You will notice that this file is saved to the Adroit project folder that you specified when installing Adroit, which is by default: C:\AdroitProject\Data folder. You can call this file whatever you like, typically this might be the area of plant that you are controlling. Change this to: ACME_Plant_A.wgp SAVE THE ADROIT PROJECT CONFIGURATION Click the Save As button in the bottom left corner of the dialog box, by default the specified Project Name is provided for you, in this case ACME, click the OK button. You will now have the following if you select the ACME configuration from the Select Configuration drop down list box: Figure 93: Configured Agent Server parameters INSTALLING AN ADROIT PROTOCOL DRIVER We will be using the Mitsubishi Q series (Mitsubishi Q/QnA Series Ethernet) driver to communicate to the PLC. Typically you need to ensure that each Adroit Agent Server has the necessary protocol driver installed. You can do this by clicking the Drivers tab of the Adroit Configuration Setup dialog, which builds a list of the installed drivers - displayed in the left hand Installed Drivers + devices list, as follows: 118 Figure 94: List of Installed Drivers for this Agent Server If the required driver is NOT installed, then you can install it by clicking the Install button in the bottom right corner of this dialog and then locating the driver installation – see the Adroit help file for more information. For the purposes of this document, we assume that you have installed Adroit from the MAPS installation DVD, which installs the Mitsubishi Q/QnA Series Ethernet driver by default. Note: You will notice that the Adroit OPC Client driver is also installed by default, so that you can connect to other PLC types via OPC. The other default driver, the Adroit Simulation driver, is a software only driver emulation that is provided for testing and demonstration purposes. ADDING AND CONFIGURING A DEVICE FOR AN INSTALLED DRIVER Once you have the installed the required driver, you need to create “instances” of this driver or “devices”, for each of the PLCs you will be using in your project. Each device is essential a clone of the driver that is separately configured to communicate to a specific PLC in the field. In this case we need to create and configure a single device of the Mitsubishi Q/QnA Series Ethernet driver to communicate to your Mitsubishi Q series PLC that will be used for the MAPS demo project, as follows: 1. Right click the required driver in the left hand Installed Drivers + devices list, in this case the Mitsubishi Q/QnA Series Ethernet driver and select the topmost Add Device… item. This displays the Mitsubishi Q/QnA Series Ethernet driver device dialog to provide a logical name for this device. You are limited to 8-characters when naming this device. In this case, call it PLCA because this device will communicate to the PLC responsible for Plant A. 119 Figure 95 Naming a Device of an Adroit Driver 2. Click OK to display the device-specific configuration dialog, in this case the Mitsubishi Q/QnA Series Ethernet driver: PLCA dialog. Figure 96 Configuring the PLC-specific communication settings 120 Since the Mitsubishi Q/QnA driver is an Ethernet driver, it is easy to configure the necessary settings to communicate to your Mitsubishi Q series PLC for this device. For assistance, click the Help button that displays an MS word document that describes how to use and configure a device of this driver. 3. Click the OK button when you have finished configuring this device. Note: Adroit provides a number of communications diagnostics tools - the most important one is the Driver Monitor which can be launched from Adroit Program group (Adroit Driver Monitor Launcher). This tool allows you to watch and diagnose the communications to and from your PLC. You are now complete in terms of the Adroit setup program and are in a position to start configuring a MAPS project. 121 CONFIGURING THE MAPS PROJECT Starting the MAPS Server and MAPS Designer Both methods of configuring the MAPS project use the MAPS window in the MAPS Designer. You display this MAPS window, as follows: 1. From the Start menu navigate to the MAPS program group and start the MAPS Server application (alternatively use the shortcut on the Desktop). Note: Your MAPS Server computer requires a Security Dongle (HASP) to license MAPS, otherwise your MAPS Server application will not work. This starts the middleware application between the MAPS database and the design environment. Known as the MAPS Server and is not to be confused with the Adroit Agent Server. 2. Similarly start the MAPS Designer, once the MAPS Server is running. 3. Log on using your normal windows credentials. Figure 97 Logging into the MAPS Server from the MAPS Designer Tip: Check the automatically login with these settings next time, if you are the sole user of this computer and do not want to specify these login details each time. 4. If you are asked whether you wish to enable Intellisense, click the No button. On the left hand side there is a MAPS window, which is used to configure your MAPS solution. 122 Figure 98 MAPS Designer Window showing the MAPS window CREATING A NEW MAPS PROJECT USING THE MAPS PROJECT WIZARD It is important to understand the “first principal” approach of using the MAPS Project Wizard as this shows how MAPS uses the S88/S95 extended physical model hierarchy to organize equipment. In reality you will configure large projects using the MAPS 1-Engineer tools shipped with the product, which is described next. Ensure that the MAPS window is displayed. See the Starting the MAPS Server and MAPS Designer section above for more details. Right-click on the MAPS root node, select Add Project and use the configuration wizard as follows: 1. Enter the following project details. See Figure 11 below. Project Name (e.g. XYZFOODS) and Description (e.g. “XYZ Foods”) PLC Project Path – this is the GX IEC Developer projects folder Report Path – this is the path where all MAPS documentation reports will be placed Default Project Report – this is the location of the generated Project Report file Default PLC Report - this is the location of the generated PLC Report file 2. Click “Next” 3. Add the following Plant Area Data (S88 Plant Area). Name - e.g. Manufacturing Description – e.g. Manufacturing 123 MAPS Server – Default Plant Area Code – a unique alphanumeric code (3 characters) that are prefixed to tag names to ensure unique and identifiable tag names in the project – e.g. 11 4. Click “Next” 5. Add the PLC Data (S88 Process Cell). See Figure 100 below. Type in the name of the PLC e.g. “PLC_1” Select the plant area name e.g. MANUFACTURING Select the related Adroit device as created earlier e.g. CPU1 Type in the addressing for our physical digital input and output addresses e.g. X0000 to X003F and Y0040 to Y007F respectively. See Figure 101 6. Click “Next”. 7. Add the following Unit Data (S88 Process Unit). See Figure 102 below. Units are typically created for plant area-specific operations, such as Filling, Packing, Flocculation etc. For example, Batching. However, you can ALSO create a unit for each item of complex equipment i.e. equipment that consist of more than one Electrical or Instrumentation item, such as conveyors. Type in the name of the unit e.g. “Batching” Type in a description for this unit e.g. “Batching process” Select the PLC Name as configured on the previous page e.g. “PLC_1” 8. Click “Next” 9. Add the Electrical Equipment (S88 Device). See Figure 15 below. This is the screen in which you define the equipment (from a pre-defined list of equipment templates shipped with MAPS), the quantity to be used and the PLC function block (FB) you wish to use. For instance: Select the “DOL_A_v1_0” template and press [Tab] The template description is automatically filled, press [Tab] again Enter the quantity of DOL_A_v1_0’s being used e.g. 2 10. Once you have entered as many equipment types as will be used in your process, click “Next” 11. Edit the Electrical Equipment Detail (S88 Device), See Figure 104 below – each item of equipment is now displayed, edit the details for each item as follows: Select the Process Unit Name as previously defined e.g. Batching Edit the agent name ensuring that the name is unique Edit the description of the item Select the SCADA graphic you wish to use to represent this equipment on the SCADA mimic. It is not necessary to check the “Create tags”, as this will be done at a later stage. 12. Once you have completed the above for each item of equipment, click “Next” 13. Repeat the two previous steps for the Instrumentation Equipment (see Figure 105 below) and Instrumentation Equipment Detail (see Figure 106 below). 124 14. The wizard will then automatically build the project and the SCADA screens. See Figure 107 below. 15. After creating the project, you need to do the following: Right click each PLC and select Build IEC Project to build their PLC projects using GX IEC Developer. See the Generating the PLC Program section below for more information. Right click the MAPS project and select Sync Tags and when the Tag Data dialog is displayed click Finish. See the Generating the Adroit SCADA tags section below for more information. This creates the SCADA tags in Adroit for each item of equipment and performs any other necessary SCADA configuration required by each MAPS template, such as scanning, logging, alarming and/or trending. Typically, right click each unit and select Open unit graphic form and re-arrange generated graphics and add the statics from the Static Graphics folder static, as needed to complete your project. See the Finishing off the SCADA mimics section below for more information. Right click the MAPS project again and select Save Project Structure to ensure that the Operator view graphic form is aware of the default (and custom) SCADA views – so that it can automatically provide the necessary navigation between them. The Operator view graphic form is used by your operators to view and control your process site (MAPS project). Launch the MAPS Operator and open the Operator view. See the Running the Operator View section below for more information. Figure 99 Configuration Wizard Step 1 Enter Project Data Figure 100 Configuration Wizard Step 2 Process Cell PLC Configuration 125 Figure 101 Configuration Wizard Step 3 Process Cell PLC Memory Data Figure 102 Configuration Wizard Step 4 Process Unit Definition Figure 103 Configuration Wizard Step 5 Electrical Equipment Definition Figure 104 Configuration Wizard Step 6 Electrical Equipment Detailed Definition Figure 105 Configuration Wizard Step 7 Instrumentation Definition Figure 106 Configuration Wizard Step Instrumentation Detailed Definition Figure 107 Project Defined in MAPS BULK CONFIGURING A NEW MAPS PROJECT USING MAPS-1ENGINEER To take advantage of the complete automation solution life-cycle management provided by MAPS, your design should start with DesSoft’s P&ID application and then use EDes to perform the detailed Electrical design and FDes to perform the detailed Instrumentation design. These DesSoft applications provide other tools, such as cable sizing, racking and routing and various time-saving tools, such as bulk datasheets etc. All the DesSoft applications use the same DesSoft database and using MAPS-1Engineer to bulk configure your MAPS project automatically links this MAPS project (and database) to the DesSoft database. Note: When using the MAPS Project Wizard to create your MAPS project – you need to manually link the DesSoft database to your MAPS project. IMPORTANT: However, you are not committed to using these DesSoft design tools and by ONLY using the MAPS-1Engineer DesSoft component (that is shipped standard with the MAPS product) you can: bulk configure your MAPS project AND 126 finalise the IO cards of each PLC (ensure that the IO cards have sufficient capacity for the IO of the associated equipment) Note: This functionality is NOT provided when using the MAPS Project Wizard. In addition, the MAPS-1Engineer application also allows you to create or view reports such as Motor lists, Instrument lists, Cable lists, Instrument Costing, Cable Costing, etc. CONFIGURING THE EXCEL SPREADSHEET BEFORE USING MAPS-1ENGINEER MAPS-1Engineer uses an Excel spreadsheet to bulk configure the items of electrical and instrumentation equipment in your plant and to automatically allocate their IO. For this reason, we recommend that you pre-configure this spreadsheet before using MAPS-1Engineer to import it. By default, MAPS-1Engineer installs the Sample Maps ImportSheet.xls into the My Documents\MAPS folder, which contains the equipment and IO configuration for the demo MAPS project - modify this spreadsheet to create your project. This spreadsheet consists of the following two worksheets: Equipment Schedule to define the list of electrical and instrumentation equipment required within your process site (MAPS project). Figure 108 Equipment Schedule worksheet of the Sample Maps ImportSheet Note: This worksheet shows that your equipment list must define the extended physical model of the hierarchical structure specified by the ISA S88 and S95 standards (the organizing structure of your process site). IO Allocation to define the physical location and the starting addresses of the various IO cards required to provide the IO for your instrumentation and electrical equipment (specify the layout of your racks in each PLC). 127 Figure 109 IO Allocation worksheet of the Sample Maps ImportSheet Once the Equipment Schedule is imported into MAPS-1Engineer, an IO Summary is generated on this worksheet for each PLC, listing the required quantities of the different types of IO required by their associated equipment. This allows you to finalise your IO cards (ensure they have sufficient capacity) before auto allocating the addressing. See Figure 119 The IO Summary and PLC fields used to finalise your IO cards. Note: While you can manually add items of equipment later, in the MAPS Designer – we recommend that your initial equipment list is comprehensive to accurately finalise the IO cards of each PLC. IMPORTANT: MAPS will auto allocate the IO to the different devices. This ensures optimum scanning speeds and system performance. Please ensure that you have allowed for enough cards and allocations of spare slots should you need to expand your system at a later stage. Since you need to specify your own Mitsubishi Q series PLC for the demo MAPS project (ACME), you need to make the following changes to the worksheets of the Sample Maps ImportSheet.xls: Equipment Schedule: Change the PLC Name (S88 Process Cell) column to the name of your PLC, the default name is: BAT_PLT_A. IO Allocation: Change the PLC Name column to the name of your PLC, the default name is: BAT_PLT_A and configure the other columns for the IO cards in your PLC, as follows: IMPORTANT: When specifying numbers in the Rack, Slot and Start Address columns, ensure that you type in a ’ character first and then specify the required rack number, so that it is specified as text. o Description: This describes the type of IO and/or channels supported by this IO card. For instance: QX81 - 32 Channel Digital Input (24 Vdc). o Rack: For physical IO cards, this specifies the rack number of this IO card in the PLC, for instance: '00; otherwise for virtual (software) cards, set this value to ‘Virtual’. o Slot: For physical IO cards, this specifies the slot number of the specified Rack containing this IO card, for instance: '01; otherwise for virtual (software) IO cards, set this value to ‘IO’. o IO Type: This column specifies the type of IO provided by this card, as follows: Abbreviation Description DI Digital Input DO Digital Output AI Analogue Input AO Analogue Output RI Remote Input RO Remote Output SCL SCADA Control - Low Scan Rates SCH SCADA Control - High Scan Rates 128 SSL SCADA Status- Low Scan Rate SSH SCADA Status- High Scan Rate o Chnl Count: The number of channels (physical points) provided by this IO card. o Start Address: The starting address of the IO provided by this IO card, as follows: for physical IO cards, this specifies the starting address of this IO card as specified by the GX Developer PLC parameters (the physical location of each physical IO card is irrelevant and does not affect the scanning). For instance: '60. Tip: The X or Y prefix is optional and if omitted will be specified, when the addressing is allocated. for virtual IO cards, this ensures that these IO types are grouped together thereby ensuring efficient scanning. For instance D01040 - as determined by a formula that uses the adjacent two columns to create this address. How to use MAPS-1Engineer to bulk configure a new MAPS project LOG INTO MAPS-1ENGINEER 1. If necessary, install MAPS-1Engineer, by using this installation option from the MAPS DVD. 2. Once installed, double click the MAPS-1Engineer shortcut on the Desktop. 3. When the Login dialog opens, the pre-configured User Name of Administrator is specified. 4. Specify the pre-configured Password of ‘Administrator’ and click the Login button. Tip: Simply copy (CTRL+C) the pre-configured User name (which is selected by default) and paste this (CTRL+V) into the Password field. Figure 110 Logging into MAPS-1Engineer CREATE A NEW DESSOFT PROJECT 5. If you are not using the other DesSoft applications, then you need to create a new DesSoft project (to create the DesSoft database) before you can create the MAPS project. Otherwise skip this step and simply select your existing DesSoft project. By default the Project view is displayed; click New on the Project section of the Project view ribbon to configure a new DesSoft project (you can return to this Project view by clicking the Go menu and selecting the Projects item or pressing the CTRL+SHIFT+P shortcut). 129 Figure 111 Opening a new DesSoft project When the New Project dialog opens, configure this DesSoft project, as follows: a. Specify where you want your DesSoft projects stored, by browsing in this folder as the Project Root. b. Specify the Project Name, which creates the project folder under the Project Root folder, in this case ACME. c. Use the default options for the Build Project From (System project) and Build Project With (Shared libraries) sections. d. Change the Project Type to SQL Server and complete the SQL Server Information section, as follows: e. Server Name: specify the (named instance of) SQL Server that MAPS uses. IMPORTANT: Server Name ALWAYS specifies the name of the LOCAL computer, by default. But if you have installed a named instance of SQL on the local computer then this will NOT work! Tip: If you are unsure of SQL Server (instance) name that you have used for MAPS, then open the Connect to MAPS Database shortcut from the MAPS program group and extract this information from the Connection String field, as follows: the Data Source is the SQL Server Name and possibly the User ID is the Admin Name and Password is the Admin Password. f. Admin Name and Admin Password: specify the user credentials used to log into the SQL Server. g. User Name and User Password: specify the user credentials used to connect to the SQL database on the SQL Server. By default, the User Name is the Project Name and the User Password is the Project Name + "PassWord21". 130 Figure 112 Configuring a new DesSoft project 6. When the Login dialog opens, specify the pre-configured Password of ‘Administrator’ and click the Login button. Tip: Simply copy (CTRL+C) the pre-configured User name (which is selected by default) and paste this (CTRL+V) into the Password field. CONNECT TO THE MAPS SQL DATABASE AND CREATE THE MAPS PROJECT 7. Click the MAPS Project Configurator button in the MAPS section of the Project view ribbon, to connect to the MAPS SQL database and create the tables for this MAPS project. Figure 113 MAPS section of the Project view ribbon 8. When the MAPS Project Tools dialog opens, specify the connection details to the MAPS SQL database, as follows: a. SQL Servername: specify the SQL Server (instance) that MAPS uses. b. If necessary, specify the Username and Password required to log into this SQL Server (instance). 131 c. MAPS Project Name: specify the name required MAPS project, in this case ACME. d. Click the Create MAPS Project button to create this MAPS project on the MAPS SQL Server, the successful creation of which is confirmed by a message box. Figure 114 Configuring the MAPS Project Tip: If you are unsure of these MAPS SQL Server Connection Properties, open the Connect to MAPS Database shortcut from the MAPS program group and extract this information from the Connection String field, as follows: the Data Source is the SQL Servername; and possibly the User ID is the Username and Password is the Password. e. After successfully creating the MAPS project, click the Close button, in the top left hand corner of the dialog. IMPORT THE EXCEL SPREADSHEET TO BULK CONFIGURE YOUR MAPS PROJECT 9. Click the Import Equipment and PLC button in the MAPS section of the Project view ribbon, to configure a new MAPS project. See Figure 113. 10. When the MAPS Equipment Import dialog opens, click the Excel icon to browse for and open the Excel spreadsheet that specifies your project’s electrical and instrumentation equipment list and the IO cards of each PLC. 132 Figure 115 MAPS Equipment Import dialog to import Excel file to create MAPS Project This is the Excel spreadsheet, in the MAPS folder of your documents, which you created/modified previously, which in this case is the ‘Sample Maps ImportSheet.xls’ in the MAPS folder of My Documents. 11. If necessary, click the Equipment Schedule section of the MAPS Import option (on the left hand side) to display the Equipment Schedule worksheet of the opened Excel spreadsheet that displays the configured equipment to assign their relevant MAPS template. Figure 116 The Equipment Schedule step for assigning MAPS templates 133 The MAPS template associates a SCADA graphic and PLC function block to this item of equipment and creates and configures the necessary tags to represent and control this item of equipment, when the equipment list is built. ASSIGN MAPS TEMPLATES TO THE EQUIPMENT AND GENERATE THE EQUIPMENT IO LIST 12. Assign the relevant MAPS template to each item of equipment, as follows: a. Click in the row of this item of equipment in the Equipment Schedule worksheet. b. If necessary, click the Electrical or Instrumentation button underneath the Templates list to display the appropriate list of MAPS templates, depending upon whether this item of equipment is electrical or instrumentation. c. Select the appropriate MAPS template from the Templates list to represent this item of equipment. In other words, the template that provides the correct function block in the PLC and SCADA tags in Adroit to represent and control this item of equipment. Electrical equipment Templates DOL_A_v1_0 : Advanced Direct Online Starter (motor) DOL_B_v1_0 : Basic Direct Online Starter (motor) DOL_S_v1_0 : Standard Direct Online Starter (motor) VALVE_D_A_v1_0 : Advanced Double Actuating Valve VALVE_D_B_v1_0 : Basic Double Actuating Valve VALVE_D_S_v1_0 : Standard Double Actuating Valve VALVE_S_A_v1_0 : Advanced Single Actuating Valve VALVE_S_B_v1_0 : Basic Single Actuating Valve VALVE_S_S_v1_0 : Standard Single Actuating Valve Instrumentation equipment Templates AI_A_v1_0 : Advanced Analog Input AI_B_v1_0 : Basic Analog Input AI_S_v1_0 : Standard Analog Input AO_A_v1_0 : Advanced Analog Output AO_B_v1_0 : Basic Analog Output AO_S_v1_0 : Standard Analog Output DI_A_v1_0 : Advanced Digital Input DI_B_v1_0 : Basic Digital Input 134 DI_S_v1_0 : Standard Digital Input DO_A_v1_0 : Advanced Digital Output DO_B_v1_0 : Basic Digital Output DO_S_v1_0 : Standard Digital Output GS_A_v1_0 : Advanced Group Start GS_S_v1_0 : Standard Group Start PID_A_v1_0 : Advanced PID Control PID_S_v1_0 : Standard PID Control VESSEL_A_v1_0 : Advanced Vessel VESSEL_B_v1_0 : Basic Vessel VESSEL_S_v1_0 : Standard Vessel Note: The more advanced the template the greater the number of signals (scanned tags) required to represent this item of equipment. This can increase the size (and cost) of your required Adroit license - so assign these templates to your equipment carefully. The documentation (that can be opened from the MAPS Templates folder of the MAPS program group) contains a summary of the physical steps used for each function block including the PLC memory usage; the number of physical IO required for the PLC and the required Adroit Scan point licences. This will enable you to easily estimate the CPU and SCADA licensing required for a project. d. Select the required graphical representation and orientation of this item of equipment – as it is required to appear in the SCADA mimic, from the Process Graphic… list. Typically the provided template graphics will always list one or more ISO representations (of the associated ISO 14617 symbol - if one exists for this item of equipment) at the top of the list, which may be followed by one or more physical representations of this item of equipment. The Yellow columns of the row of this item of equipment in the Equipment Schedule worksheet now specify the selected MAPS template and graphic. Note: To change the graphic after you have selected it, select the row of the required equipment, select the required MAPS template from the Templates list and select the required graphic from the Process Graphic list. 13. Once you have assigned templates to all the necessary equipment, click the Build Equipment button to generate the required number of each type of IO required by each PLC for this equipment. Note: While you can manually add items of equipment later, in the MAPS Designer – we recommend that your initial equipment list is comprehensive to accurately finalise the IO 135 cards (in other words, determine that the IO cards of each PLC have sufficient capacity for the IO of their associated equipment). The status bar of the MAPS Equipment Import utility displays the progress of the Build Equipment process: Figure 117 The status bar showing the progress of the Build Equipment process FINALISE THE IO CARDS AND THEN AUTOMATICALLY ALLOCATE THE EQUIPMENT IO 14. Once the Build Equipment process has completed, the Card Schedule section of the MAPS Import option is opened that displays the IO Allocation worksheet. Figure 118 The Card Schedule step for finalizing your IO cards This important step of the import process allows you to finalise the IO cards of each PLC, as follows: On the right hand side of the IO Allocation worksheet, an IO Summary is created for each PLC, by the Build Equipment process, which lists the number of the different types of IO required for this site. For each IO Type of each PLC Name, compare the IO Count amount of the IO Summary to the corresponding IO Type and Chnl Count fields and ensure that the SUM of the Chnl Count fields for each IO Type is preferably greater that or at least equal to its IO Count amount, in the IO Summary for this PLC. In this case you need to finalise the IO cards that you specified for your PLC to ensure that they have sufficient capacity for the demo MAPS project. 136 In the following example, the IO cards of the BAT_PLT_A PLC have sufficient capacity of each IO Type: Figure 119 The IO Summary and PLC fields used to finalise your IO cards 15. Once you have finalised the IO cards of each PLC, click the Build PLC and auto allocate IO button, to automatically allocate the equipment IO. The status bar of the MAPS Equipment Import utility displays the progress of the Build PLC and auto allocate Figure 120 The status bar showing the progress of the Build PLC and auto allocate IO process When the Build PLC and auto allocate IO process is finished, you can: Click the View equipment allocation option (on the left hand side) to see the extended physical model of the S88/S95 hierarchical structure for your MAPS project (the process site). Figure 121 The View equipment allocation option to view its hierarchical structure Click the View IO allocation option (on the left hand side) to view which PLC addresses are assigned to the signals of each item of equipment and which of these are allocated to each IO card. 137 Figure 122 The View IO allocation option to view the assigned PLC addresses PERFORM THE FINAL MAPS PROJECT CONFIGURATION IN THE MAPS DESIGNER 16. Close the MAPS-1Engineer application and open and (start the MAPS Server and/or) log into the MAPS Designer application and ensure that the MAPS window is displayed. See the Starting the MAPS Server and MAPS Designer section above for more details. 17. In the MAPS window, right click the MAPS project name that you have just created in MAPS-1Engineer, in this case ACME and select Initialize Project to create the folder structure and the Operator view graphic form. Figure 123 The right click MAPS Project options in the MAPS Designer Note: This step is ONLY required for MAPS projects created by the MAPS-1Engineer application, as this step is automatically performed for projects created by the MAPS project wizard. The Operator view graphic form is used by your operators to view and control your process site (MAPS project). 18. If necessary, right click the MAPS project again and select Properties (see Figure 123) to change the default PLC Project Path (the folder in which your GX IEC Developer projects are saved) and/or the other project settings affecting the MAPS documentation reports. 138 Note: Each project component in the MAPS window provides its own right click Properties item to configure its settings EXCEPT its name. 19. Right click each PLC and select Build IEC Project to build their PLC projects using GX IEC Developer. See the Generating the PLC Program section below for more information. Figure 124 The right click PLC options in the MAPS Designer 20. Right click the MAPS project again and select Sync Tags (see Figure 123) and when the Tag Data dialog is displayed click Finish. See the Generating the Adroit SCADA tags section below for more information. This creates the SCADA tags in Adroit for each item of equipment and performs any other necessary SCADA configuration required by each MAPS template, such as scanning, logging, alarming and/or trending. 21. Right click the MAPS project SCADA views. See Figure 123. again and select Rebuild all graphics to create the default 22. Typically, right click each unit and select Open unit graphic form and re-arrange generated graphics and add the statics from the Static Graphics folder static, as needed to complete your project. Tip: Open the Templates window from the View menu to build your own custom set (library) of generally used Static Graphics. You can also create Custom graphic forms by copying and pasting the equipment graphics from the default Unit graphic form and then arranging these as required and adding the necessary static graphical components. Note: When copying graphic forms, use the right click Copy with Spiders option or the CTRL+SHIFT+C shortcut, otherwise the associated functionality will NOT be provided for the equipment that you copy. 139 See the Finishing off the SCADA mimics section below for more information. 23. Right click the MAPS project again and select Save Project Structure to ensure that the Operator view graphic form is aware of the default and custom SCADA views – so that it can automatically provide the necessary navigation between them. See Figure 123. Now launch the MAPS Operator and open the Operator view. See the Running the Operator View section below for more information. Note: If you make a mistake when importing your project, you need to remove this project in BOTH MAPS1-Engineer and in the MAPS Designer, see the help file for more information. GENERATING THE PLC PROGRAM This section assumes your have installed GX-IEC Developer and set the communications parameters and you can communicate with your Q-Series PLC. Once you have the MAPS project in the database you will need to then generate the PLC program within the GX-IEC Developer. All of these steps are performed from right-click menu items in the MAPS Project tree. From the Process Cell (PLC ) Level right-click for the context menu and select Build IEC Project. This action will launch the GX IEC Developer application and generate the PLC program. You will be required then to setup all the communications settings within the GX-IEC Developer application software. Figure 125 Building the IEC Project GENERATING THE ADROIT SCADA TAGS This section assumes you have Adroit installed and have started the Adroit Agent Server application on the target machine (in this case locally). 140 The Plant Area Level of the tree in MAPS terminology is the Adroit Agent Server. From the Process Area Level rightclick for the context menu and select Sync Tags. This action launches the application that checks and highlights the differences between the MAPS database and the target Agent Server. On completion, the following dialog is displayed. Figure 126 Sync Tags Menu Figure 127 List of Tags Differences Select Finish to generate all the required tags for the selected function blocks (FBs) within the MAPS project. Later on when incremental changes are made you can use the same method to update a running system. FINISHING OFF THE SCADA MIMICS In the MAPS Project tree double-click on the Unit SCADA mimic will appear in the MAPS Designer. node of the tree and the automatically generated Select the object by “rubber-banding” over the control and then by selecting the cross on the top left hand corner and drag the object to where you want on the SCADA mimic. You can also add other “Static Graphics” onto your mimic from the MAPS Project tree by dragging the one or more of the 141 required graphics from the tree, firstly to the Templates dock window (on the right of the Designer – that can be displayed as follows: View menu >Templates) and then dragging them onto your mimic. Figure 128 Adding static graphics to complete a SCADA graphic form IMPORTANT: This shows how you can use the right-click menu option to preview the shapes in the \Static Graphics folder. Shapes and even finished SCADA graphic forms can be simply dragged out of the template window onto the design surface. Click the Save button to complete this exercise. The last thing you are required to do is to save your project structure, which builds the folder structure and operator view for you to run. This is done by right-clicking on the project node and clicking on Save Project Structure. 142 Figure 129 Saving the Project Structure RUNNING THE OPERATOR VIEW From the Desktop icon or via item in the MAPS program group menu, launch the MAPS Operator application. Log-on to the application. If you do not see the tree view of all the MAPS projects, press the CTRL+O shortcut – so that the projects appear on the left hand side of the Operator view. You now have a running MAPS project…congratulations. Feel free to click on an object and in conjunction with the MAPS and Adroit help files begin to advance your proficiency in using what the MAPS solution delivers as standard functionality on the faceplates and setup screens of each item of equipment. 143 CONCLUSION The rest of MAPS is about getting to know the MAPS Enterprise Manager and Smart Client Design environment and Adroit itself. Building on what we have covered in this guide and then understanding which Adroit Agents you should be using to achieve your project needs. You are now ready to continue your own journey into this great product. Other resources that will help you along the way are: 1. The MAPS-1Engineer Tools Guide 2. Adroit Quick Start Guide 3. The Training Manual 4. Technical Description Document 5. Context sensitive on-line help. 6. Knowledge Base (on the website) 7. Adroit Help desk on [email protected] 144 1Eng Training Manual © 2011 DesSoft Version: 4.1.1105.86 1Eng Training Manual © 2011 DesSoft All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. Printed: April 2011 in Eldoraigne, South Africa Publisher DesSoft Special thanks to: All the people who contributed to this document. Contents 3 Table of Contents Foreword Part I Introduction & Setup 0 8 1 Introduction ................................................................................................................................... 8 2 Setup ................................................................................................................................... and Navigation 9 3 Log in ................................................................................................................................... 10 4 User Management ................................................................................................................................... 11 Part II License Management 14 1 Activating ................................................................................................................................... Licenses from the Web License Server 14 2 Concurrent ................................................................................................................................... User Management 15 3 Firewall ................................................................................................................................... and Proxies 16 Part III Help and Licensing 18 1 Activating ................................................................................................................................... a Local License 18 2 Returning ................................................................................................................................... a Local License 18 3 About................................................................................................................................... Dialog 19 Part IV MAPS 22 1 How to ................................................................................................................................... use MAPS-1Engineer to add a MAPS project 22 2 Configuring ................................................................................................................................... the Equipment Schedule worksheet 25 3 How MAPS ................................................................................................................................... implements the S88 / S95 hierarchy 26 4 Configuring ................................................................................................................................... the IO Allocation worksheet 27 5 How to bulk import your equipment and allocate the IO for your PLCs................................................................................................................................... 28 6 Default ................................................................................................................................... Electrical equipment templates 32 7 Default ................................................................................................................................... Instrumentation equipment templates 32 8 Setting ................................................................................................................................... up the Adroit Agent Server 33 9 Creating ................................................................................................................................... and configuring PLC devices in Adroit 35 10 Deleting ................................................................................................................................... a MAPS project 37 Part V Projects 40 1 Project ................................................................................................................................... Building Options 40 2 Creating ................................................................................................................................... a project 40 3 Opening ................................................................................................................................... a project 41 4 Project ................................................................................................................................... Information 42 5 Backup ................................................................................................................................... & Restore Projects 42 Part VI Creating Electrical Plant Components 46 © 2011 DesSoft 3 4 1Eng Training Manual 1 Create ................................................................................................................................... a Cubicle and add Devices 47 2 Creating ................................................................................................................................... Cables and Cores in the Cubicle 48 3 Creating ................................................................................................................................... a Motor in the Cubicle 50 4 Creating ................................................................................................................................... Signals in the Cubicle 51 5 Creating ................................................................................................................................... a Control Instrument in the Cubicle 51 6 Creating ................................................................................................................................... a Schematic Diagram for the Cubicle 51 7 Creating ................................................................................................................................... a MCC and associating Cubicles to it 53 8 Creating ................................................................................................................................... a Single Line Diagram 54 9 Selecting ................................................................................................................................... SLD Symbols for Panels 55 Part VII Creating Instrumentation Plant Components 58 1 Create ................................................................................................................................... Instruments 59 2 Create ................................................................................................................................... Instruments with Tag Rules 59 3 Create ................................................................................................................................... a Junction Box 61 4 Create ................................................................................................................................... a PLC, Cards & Soft Addresses 61 Part VIII Cable Block Diagram 64 1 Block................................................................................................................................... Connect 64 Part IX Card Connect 68 1 Allocating ................................................................................................................................... Instrument I/O 68 Part X Datasheets 70 1 Creating ................................................................................................................................... Datasheets 70 2 Linking ................................................................................................................................... a database field to a datasheet cell 71 3 Creating ................................................................................................................................... Multi-Tag Datasheets 72 Part XI Standards 78 1 Updating ................................................................................................................................... Standards 79 2 Associate ................................................................................................................................... a standard to an instrument 80 Part XII Hands-On One 82 Part XIII Tables 84 1 Modifying ................................................................................................................................... Table Structures 84 2 Exporting ................................................................................................................................... Tables 85 3 Importing ................................................................................................................................... Tables 85 4 Rebuild ................................................................................................................................... Tag Numbers 86 5 Parse................................................................................................................................... Tag Numbers 86 Part XIV Queries 90 1 Creating ................................................................................................................................... Queries 90 © 2011 DesSoft Contents Part XV Reports 5 94 1 Viewing ................................................................................................................................... Reports 94 2 Creating ................................................................................................................................... Reports 94 Part XVI Speed Tools 98 1 Cable................................................................................................................................... Block Import 98 2 Build................................................................................................................................... Loops 99 Part XVII Tag Rules 102 1 Internal ................................................................................................................................... Functions 103 Part XVIII 1Eng Options & Tools 106 1 Options ................................................................................................................................... 106 2 Data................................................................................................................................... Tools 107 3 Duplicate ................................................................................................................................... Tags 109 4 Compare ................................................................................................................................... Tools 110 5 Cable ................................................................................................................................... Drums 110 6 Motor ................................................................................................................................... Calculations 111 7 Cable ................................................................................................................................... Calculations 112 Index 115 © 2011 DesSoft 5 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part I 8 1 1Eng Training Manual Introduction & Setup In this section we will cover: How to setup DesSoft 1Eng. 8 How to navigate within DesSoft 1Eng. How to log in 10 . How to manage users. 11 1.1 9 Introduction This training manual is aimed at giving a general understanding of DesSoft 1Eng, it's features and how it's modules function. Minimum requirements are: Basic knowledge on the Windows system. Field Bus and Instrumentation knowledge. Basic knowledge of Microsoft Access or Microsoft SQL Server. © 2011 DesSoft Introduction & Setup 1.2 Setup and Navigation How to install DesSoft 1Eng This will guide you on how to install 1Eng - Engineering Tool for Instrumentation and Electrical. Please go to www.dessoft.co.za to download the latest version of DesSoft 1Eng, if you do not already have it. Run the Setup.exe and follow onscreen prompts. The default install path for DesSoft 1Eng is C:\Program Files\DesSoft\4.1\1Eng (Where [4.1] is the version which you are installing.) How to navigate within DesSoft 1Eng Go Button: If you click on this button, you will find all the available modules in DesSoft 1Eng. This is the main way to navigate within DesSoft 1Eng. Ribbon Bar: The ribbon bar will show all the related functions for the currently open module. (Note that it w orks on the area or w indow w here the m ouse pointer is currently hovering.) Filter: © 2011 DesSoft 9 10 1Eng Training Manual Almost every window has a green field above the components listed in the window. This enables you to filter the content of the window for any specific criteria. Tag List: This list displays the tags of all the components in the current project. eg. Loops, instruments, panels, documents etc. List Options: This acts as a filter for the various component groups. The tag numbers displayed in the Tag List, are a result of the group selected in the List Options. Eg. If Panels is selected in the List Options, ONLY Panel tag numbers will be displayed in the Tag List. Navigation Bar: The Navigation Bar is another way to navigate within DesSoft 1Eng. Click on them to open the respective module. Window Tabs: All the currently open modules will be displayed here, for easy access. You can close a window tab by clicking the "x" on the left side of the tab. Splitter Bars / Expansion Bars On the edge of almost every window, there is a line of dots with an arrow on either side of the line. This identifies a splitter bar (or otherwise known as an Expansion Bar). If you click the bar once, the window will minimize in the direction the arrows are pointing. Once minimized, only the splitter bar will be visible. Clicking the splitter bar again, will make the window visible again. In the window's visible state, the splitter bar is also used to resize the window to the user's preference. 1.3 Log in When launching DesSoft 1Eng, The following dialog box will appear. © 2011 DesSoft Introduction & Setup 11 The default login and password for DesSoft 1Eng is Administrator. 1. Copy & Paste Administrator into the password field. User Config and Login will become available. 2. Click on Login. 1.4 User Management How to modify, add or delete a user in a project Once you are in DesSoft 1Eng, click on the Application Button in the top left corner as shown below and click on Login. You will recognize the login screen that appears. This time we are going to manage users that will be using this system. Fill in the password (Default password is administrator) and click on the User Config button. The following dialog box should appear. © 2011 DesSoft 12 1Eng Training Manual Here you can modify, delete and/or add new users. Lets create a new user. 1. 2. 3. 4. 5. 6. 7. Click Add. Enter the desired Username and Password. Under Role, select Supervisor. Click OK. Click Close. Enter the new Username and Password. Click Login. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part II 14 2 1Eng Training Manual License Management This section explains the various methods to activate DesSoft Software. To remove DesSoft 1Eng from Evaluation mode, the software needs to: 1. Be activated with a Local Workstation license. 2. Connect to the DesSoft Concurrent User Manager (CUM) that will issue a license to DesSoft 1Eng. 3. Be setup to use the licenses on the CUM License Manager. 2.1 Activating Licenses from the Web License Server Upon purchase of DesSoft Software the client is issued with a ClientID and a login Password to access his/hers licenses on the DesSoft Web License Server. To access your licenses, visit the DesSoft Web Licence Server at www.dessoft.co.za/licencelogin.aspx How to Activate CUM with Client Licenses 1. Make sure that the DesSoft Concurrent User Manager (CUM) is Installed. 2. Visit the DesSoft Web License Server. © 2011 DesSoft License Management 15 3. Generate an activation code for all the licenses you want to make available on the CUM or contact your company's License Administrator to issue you with an activation code. 4. Start the CUM application. 5. In the CUM application, click Activate. 6. Paste the activation code you generated from the Web License Server or received from the Company's License Administrator, in the Activate License dialog. 7. Click Activate. If the transaction is successful, a message box will appear indicating the amount of licenses that were activated on the CUM. After closing the Activate Licenses dialog the licenses will appear in the CUM license list and the licenses are now ready to be used on the company's Local Area Network (LAN). If the transaction was unsuccessful see the section on Firewall and Proxies. 8. To setup DesSoft Software to use the CUM licenses on the company's LAN see the topic Help and Licensing 18 2.2 Concurrent User Management 1. Click here to enter your activation code you generated on the DesSoft website. 2. Here you can change your proxy settings, and how often Concurrent User Manager must look for Licenses. 3. Refresh queries the web server for licenses. Be sure to hit Refresh after entering your Activation code. 4. The ID of the license. 5. Your company name. 6. The type of license. 7. The computer the license is on. 8. If the license is available or in use. 9. If the license is being used, this will tell you who is using it. 10. When your license expires. 11. Shows connectivity to the web server. If it's red, it means CUM cannot access the internet. Please check your firewall / proxy settings and ensure everything is correct. © 2011 DesSoft 16 2.3 1Eng Training Manual Firewall and Proxies If the transaction to activate your license on the CUM was unsuccessful, make sure that the CUM is not blocked by a Firewall. If your company uses a Proxy server contact your network administrator for the proxy settings. To setup the proxy settings in the CUM application. 1. Click the Options button. 2. Enter the proxy settings. 3. Click OK. To setup the proxy settings in DesSoft 1Eng. 4. 5. 6. 7. 8. In the menu bar, click Tools. In the Options ribbon bar, click 1Eng Options. In the Options dialog, click on Proxy Server in the list. Enter the proxy settings. Click OK. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part III 18 3 1Eng Training Manual Help and Licensing In this section we will cover: Activating a local license. 18 Returning a local license. 18 Finding version information. 19 3.1 Activating a Local License 1. Visit the DesSoft Web License Server and generate an activation code for all the licenses you want to make available for the workstation/notebook or contact your company's License Administrator to issue you with an activation code. 2. In the menu bar, click Help. 3. In the Licensing ribbon bar, click Activate. 4. In the Activation Code field, enter the activation code you generated on the DesSoft Web License Server or your company's License Administrator issued you with. 5. In the Host Computer field, enter the name of the computer the CUM is running on. 6. In the Port Number field, enter the Port Number the Host Computer uses to access the internet . 7. Click Test Host to test whether your computer can communicate with the CUM. 8. Click Activate Local License. 9. The Activation code will be verified on the Web License Server and if the code is valid a local license will be created on your computer. 10.If the transaction failed, refer to the Firewall and Proxies 16 Section. 3.2 Returning a Local License 1. In the menu bar, click Help. 2. In the Licensing ribbon bar, click Activate. © 2011 DesSoft Help and Licensing 19 3. Click De-Activate Local License. 4. If the transaction failed, refer to the Firewall and Proxies 16 Section. 5. If DesSoft 1Eng was previously setup to connect to the CUM and there are licenses available on CUM your computer will automatically fetch a license from the CUM on your company's LAN. 6. If DesSoft 1Eng stays in EVALUATION mode refer to the License Management 14 section to set up licensing. 3.3 About Dialog The about dialog shows information about the current version as well as support information. 1. In the menu bar, click Help. 2. In the Actions ribbon bar, click About. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part IV 22 4 1Eng Training Manual MAPS In this section we will cover: How to use MAPS-1Engineer to add a MAPS project 22 Configuring the Equipment Schedule worksheet 25 How MAPS implements the S88 / S95 hierarchy 26 Configuring the IO Allocation worksheet 27 How to bulk import your equipment and allocate the IO for your PLCs Default Electrical equipment templates 32 Default Instrumentation equipment templates 32 Setting up the Adroit Agent Server 33 Creating and configuring PLC devices in Adroit 35 Deleting a MAPS project 37 4.1 28 How to use MAPS-1Engineer to add a MAPS project © 2011 DesSoft MAPS 23 MAPS-1Engineer uses an Excel spreadsheet to bulk configure the items of electrical and instrumentation equipment in your plant and to automatically allocate their IO. For this reason, we recommend that you pre-configure this spreadsheet before using MAPS-1Engineer to import it. By default, MAPS-1Engineer installs the Sample Maps ImportSheet.xls into the My Documents\MAPS folder, which contains the equipment and sample IO configuration for the demo MAPS project (AC ME) modify this spreadsheet to create your project. This spreadsheet consists of the following two worksheets: Equipment Schedule: to define the list of electrical and instrumentation equipment required © 2011 DesSoft 24 1Eng Training Manual within your process site (MAPS project). Example: This list requires that you organize your equipment according an extended physical model of the hierarchical structure specified by the ISA S88 and S95 standards (the organizing structure of your process site). See C onfiguring the Equipment Schedule worksheet. IO Allocation: to define the physical location and the starting addresses of the various IO cards required to provide the IO for your instrumentation and electrical equipment (specify the layout of your racks in each PLC ). See C onfiguring the IO Allocation worksheet. Example: Once the Equipment Schedule is imported into MAPS-1Engineer, an IO Summary is generated on this worksheet for each PLC , listing the required quantities of the different types of IO required by their associated equipment. This allows you to finalize your IO cards (ensure that have sufficient capacity) before auto allocating the addressing. Note: While you can manually add items of equipment later, in the MAPS Designer – we recommend that your initial equipment list is comprehensive to accurately finalize the IO cards of each PLC . Using MAPS-1Engineer to bulk configure a new MAPS project: Pre-requisites C reate a list of ALL the items of electrical and instrumentation equipment required in each plant site that is organized according to an extended physical model of the S88/S95 hierarchical structure. For more details, see How MAPS implements the S88 / S95 hierarchy. Note: You need to create a MAPS project for EAC H of your process Sites. Specify the IO types in each PLC and group the virtual IO cards to ensure efficient scanning. Ensure that you have installed the MAPS Server and the MAPS SQL Server database and can log into this SQL Server and configure its databases. Ensure that you have installed GX IEC Developer. Ensure that you can log into the MAPS Designer to configure MAPS projects. C onfigure the settings of each Agent Server - do not rely on the default settings. For details, see Setting up the Adroit Agent Server. C reate and configure the necessary Mitsubishi PLC devices (instances) in Adroit for each PLC . For more details, see C reating and configuring PLC devices in Adroit. Create a new DesSoft project 1. In MAPS-1Engineer, if you are not using the other DesSoft applications, then you need to create a new DesSoft project (to create the DesSoft database) before you can create the MAPS project. Otherwise skip this step and simply select your existing DesSoft project. To create a new DesSoft project: By default the Project view is displayed; click New on the Project section of the Project view ribbon to configure a new DesSoft project (you can return to this Project view by clicking the Go menu and selecting the Projects item or pressing the C TRL+SHIFT+P shortcut). Example When the New Project dialog opens, configure this DesSoft project, as follows: a. Specify where you want your DesSoft projects stored, by browsing in this folder as the Project Root. b. Specify the Project Name, which creates the project folder under the Project Root folder. c. Use the default options for the Build Project From (System project) and Build Project With (Shared libraries) sections. d. C hange the Project Type to SQL Server and complete the SQL Server Information section, as follows: e. Server Name: specify the (named instance of) SQL Server that MAPS uses. IMPORTANT: Server Name ALWAYS specifies the name of the LOC AL computer, by default. But if you have installed a named instance of SQL on the local computer then this will NOT work! Tip: If you are unsure of SQL Server (instance) name that you have used for MAPS, then open the Connect to MAPS Database shortcut from the MAPS program group and extract this information from the Connection String field, as follows: the Data Source is the SQL Server Name and possibly the User ID is the Admin Name and Password is the Admin Password. f. Admin Name and Admin Password: specify the user credentials used to log into the SQL Server. g. User Name and User Password: specify the user credentials used to connect to the SQL © 2011 DesSoft MAPS 25 database on the SQL Server. By default, the User Name is the Project Name and the User Password is the Project Name + "PassWord21". Example Connect to the MAPS SQL database and create the MAPS project 2. C lick the MAPS Project Configurator button in the MAPS section of the Project view ribbon, to connect to the MAPS SQL database and create the tables for your MAPS project. Example 3. When the MAPS Project Tools dialog opens, specify the connection details to the MAPS SQL database, as follows: a. SQL Server name: specify the SQL Server (instance) that MAPS uses. b. If necessary, specify the Username and Password required to log into this SQL Server (instance). c. C lick the Test Connection button to test that the specified details C AN connect to this SQL Server. d. MAPS Project Name: specify name of this MAPS project (the name of this plant Site). e. C lick the Create MAPS Project button to create this MAPS project on the MAPS SQL Server, the successful creation of which is confirmed by a message box. Tip: If you are unsure of these MAPS SQL Server C onnection Properties, open the Connect to MAPS Database shortcut from the MAPS program group and extract this information from the Connection String field, as follows: the Data Source is the SQL Server name; and possibly the User ID is the Username and Password is the Password. f. After successfully creating the MAPS project, click the Close button, in the top left hand corner of the dialog. Now you need to click the Import Equipment and PLC button in the MAPS section of the Project view ribbon, to configure this new MAPS project. For details, see How to bulk import your equipment and allocate the IO for your PLC 's. 4.2 Configuring the Equipment Schedule worksheet For each item of electrical and instrumentation equipment within your process site, you need to specify the following: Note: ONLY Complete the Orange columns - the Yellow columns are completed automatically, when you import this spreadsheet into MAPS-1Engineer and select the required MAPS template and the associated SC ADA graphic. 1. Plant Area Name (S88 Plant Area): the name of plant area in which this equipment is located. WARNING! You C ANNOT rename this plant area name. Note: 2. Plant 3. Plant prefix Ensure that each plant area name is unique. Description: describe the function performed by this plant area. Area Code: an OPTIONAL (unique 3-character alphanumeric) code, which becomes the for this item of equipment within this plant area. Tip: The Plant Area Code is recommended as it helps one to ensure unique and identifiable tag names in the project, that allow you to easily differentiate your plant equipment. 4. MAPS Server: the name of the MAPS Server that contains (stores) this MAPS Project. Typically this specifies the local MAPS Server, which is the Default setting. Note: If you have more than one MAPS Servers on your network (and their Broadcast Enabled setting is TRUE), then you can specify the name of the required MAPS Server, as follows: [C omputer Name] Literal Server Name. 5. Adroit Data source Name: the name of the Adroit data source (the connection to the Agent Server that manages the required SC ADA tag of this item of equipment - as specified in the MAPS Designer) and is NOT necessarily the name of the Agent Server as it is specified in Adroit. 6. PLC Name (S88 Process Cell): specify the PLC that controls this item of equipment. WARNING! You C ANNOT rename this PLC name. Note: Ensure that each PLC name is unique. © 2011 DesSoft 26 1Eng Training Manual 7. Adroit Device Name: Specify the name of the device that the Adroit Agent Server uses to communicate to this PLC in the field. Note: You can ONLY specify Adroit devices for the supported Mitsubishi PLC 's that are configured for the specified Agent Server. 8. Process Unit (S88): specify the unit (tag grouping) within this PLC that contains this item of equipment. Units are essentially logical groupings of the electrical and/or instrumentation equipment. Typically a unit is defined for each operation controlled by each PLC , such as Filling, Packing, Flocculation etc. However, units can also be defined, in MAPS, to represent complex items of equipment, such as conveyors that consist of more than one items of electrical and/or instrumentation equipment. WARNING! You C ANNOT rename this unit name. Note: Ensure that each Unit name is unique. 9. Equipment Tag name: specify the name used to identify this item of equipment in the SC ADA and PLC . The following suggested naming format is provided: a name that is prefixed by the specified plant area code (if any) and that has an incrementing counter as a suffix. For instance: 11-WT-001, assuming the plant area code is 11. WARNING! You C ANNOT rename this equipment name. Note: Ensure that each equipment name is unique. 10.Description: specify a description for this item of electrical or instrumentation equipment, which describes its function or purpose. For instance: Tank Weight. 11.I_O: if this is an item of instrumentation equipment then specify the required IO abbreviation, such as AI for analogue input or DI for digital input etc.; otherwise if this an item of electrical equipment specify ‘N/A’. 4.3 How MAPS implements the S88 / S95 hierarchy © 2011 DesSoft MAPS 27 The ISA S95 standard divides the manufacturing enterprise into: plant floor automation control, MES and ERP. This standard focuses on MES and ERP, as its goal is to seamlessly coordinate business and production processes. The ISA S88 standard, originally created for batch processes, can be used to structure ANY process. This standard focuses on plant floor automation control. BOTH standards share a SIMILAR hierarchy describing the structure of automation projects, as follows: MAPS implements (and enforces) the following extended physical model: Note: These hierarchical categories ALL have a 1 to many relationship with their components i.e. a Site can contain MANY Areas, an Area can contain MANY Process C ells (PLC 's) etc. The Site level is the MAPS project. So you will have one MAPS project per site. For example, XYZ Foods. The Area level is the defined Plant area/s of the MAPS project. For example, Batching Plant. The Process Cell level is the PLC /s of each defined plant area. For example, BATC HING PLC . The Unit level is the collection/s of equipment items within each PLC . Typically these relate to the plant area-specific operations, such as Filling, Packing, Flocculation etc. For example, Batching. However, you can ALSO create a unit for each item of complex equipment i.e. equipment that consist of more than one Electrical or Instrumentation item, such as conveyors. The Equipment module and the Control module levels are NOT separately implemented because this is not supported by the PLC programming architecture. These levels are the defined items of equipment that are classified into either the Electrical or Instrumentation categories for each of the defined units. 4.4 Configuring the IO Allocation worksheet For each IO card of each PLC within your process site, you need to specify the following: IMPORTANT: When specifying numbers in the Rack, Slot and Start Address columns, ensure that you type in a ’ character first and then specify the required rack number, so that it is specified as text. 1. Panel: The name of the panel that contains the PLC . 2. PLC Name: This is the SAME name, as specified for this PLC in the Equipment Schedule worksheet. For instance: BATC HING_PLC 3. Description: This describes the type of IO and/or channels supported by this IO card. For instance: QX81 - 32 C hannel Digital Input (24 Vdc). 4. Rack : For physical IO cards, this specifies the rack number of this IO card in the PLC , for instance: '00; otherwise for virtual (software) cards, set this value to ‘Virtual’. 5. Slot : For physical IO cards, this specifies the slot number of the specified Rack containing this IO card, for instance: '01; otherwise for virtual (software) IO cards, set this value to ‘IO’. 6. IO Type: This column specifies the type of IO provided by this card, as follows: Abbreviation © 2011 DesSoft Description DI Digital Input DO Digital Output AI Analogue Input AO Analogue Output RI Remote Input RO Remote Output SC L SC ADA C ontrol - Low Scan Rates SC H SC ADA C ontrol - High Scan Rates SSL SC ADA Status- Low Scan Rate SSH SC ADA Status- High Scan Rate 28 1Eng Training Manual 7.Chnl Count: The number of channels (physical points) provided by this IO card. 8.Start Address: The starting address of the IO provided by this IO card, as follows: 9.for physical IO cards, this specifies the starting address of this IO card as specified by the GX Developer PLC parameters (the physical location of each physical IO card is irrelevant and does not affect the scanning). For instance: '60. Tip: The X or Y prefix is optional and if omitted will be specified, when the addressing is allocated. for virtual IO cards, this ensures that these IO types are grouped together thereby ensuring efficient scanning. For instance D01040 - as determined by a formula that uses the adjacent two columns to create this address. 4.5 How to bulk import your equipment and allocate the IO for your PLCs © 2011 DesSoft MAPS © 2011 DesSoft 29 30 1Eng Training Manual After, creating the necessary DesSoft and/or MAPS project and configuring Adroit and the Excel spreadsheet containing your equipment schedule and your IO cards, then you can import this spreadsheet into the MAPS-1Engineer to bulk configure your MAPS project. For details of these preceding steps, see How to use MAPS-1Engineer to add a MAPS project. Import the Excel spreadsheet to bulk configure your MAPS project 1. C lick the Import Equipment and PLC button in the MAPS section of the Project view ribbon, to configure a new MAPS project. Example 2. When the MAPS Equipment Import dialog opens, click the Excel icon to browse for and open the Excel spreadsheet that specifies your project’s electrical and instrumentation equipment list and the IO cards of each PLC . This will typically be the Excel spreadsheet, in the MAPS folder of your documents, which you created/modified previously. For details on editing the two worksheets of this spreadsheet, see C onfiguring the Equipment Schedule worksheet and/or C onfiguring the IO Allocation worksheet. 3. If necessary, click the Equipment Schedule section of the MAPS Import option (on the left hand side) to display the Equipment Schedule worksheet of the opened Excel spreadsheet that lists the configured equipment to assign their relevant MAPS template. Example The MAPS template associates a SC ADA graphic and PLC function block to this item of equipment and creates and configures the necessary tags to represent and control this item of equipment, when the equipment list is built. Assign MAPS templates to the equipment and generate the equipment IO list 4. Assign the relevant MAPS template to each item of equipment, as follows: a. C lick in the row of this item of equipment in the Equipment Schedule worksheet. © 2011 DesSoft MAPS 31 b. If necessary, click the Electrical or Instrumentation button underneath the Templates list to display the appropriate list of MAPS templates, depending upon whether this item of equipment is electrical or instrumentation. c. Select the appropriate MAPS template from the Templates list to represent this item of equipment. In other words, the template that provides the correct function block in the PLC and SC ADA tags in Adroit to represent and control this item of equipment. Default Electrical equipment templates: the electrical equipment templates Default Instrumentation equipment templates: the instrumentation equipment templates IMPORTANT: If you change the MAPS template for an item of equipment, especially when changing instrumentation templates OR changing an electrical template to an instrumentation template - ensure that the I_O column provides the required IO type for this template. d. Select the required graphical representation and orientation of this item of equipment (as it will appear in the SC ADA mimic) from the Process Graphic… list. Typically the provided template graphics will always list one or more ISO representations (of the associated ISO 14617 symbol, if one exists for this item of equipment) at the top of the list, which may be followed by one or more physical representations of this item of equipment. The Yellow columns of the row of this item of equipment in the Equipment Schedule worksheet now specify the selected MAPS template and graphic. Note: To change the graphic after you have selected it, select the row of the required equipment, select the required MAPS template from the Templates list and select the required graphic from the Process Graphic list. 5. Once you have assigned templates to all the necessary equipment, click the Build Equipment button to generate the required number of each type of IO required by each PLC for this equipment - as dictated by their assigned MAPS templates. Note: While you can manually add items of equipment later, in the MAPS Designer – we recommend that your initial equipment list is comprehensive to accurately finalize the IO cards (in other words, determining that the IO cards of each PLC have sufficient capacity for the IO of their associated equipment). The status bar of the MAPS Equipment Import utility displays the progress of this Build Equipment process. Example Finalize the IO cards and then automatically allocate the equipment IO 6. Once the Build Equipment process has completed, the Card Schedule section of the MAPS Import option is opened that displays the IO Allocation worksheet. Example This important step of the import process allows you to finalize the IO cards of each PLC , as follows: On the right hand side of the IO Allocation worksheet, an IO Summary is created for each PLC , by the Build Equipment process, which lists the number of the different types of IO required for this site. For each IO Type of each PLC Name, compare the IO Count amount of the IO Summary to the corresponding IO Type and Chnl Count fields and ensure that the SUM of the Chnl Count fields for each IO Type is preferably greater that or at least equal to its IO Count amount, in the IO Summary for this PLC . Example: 7. Once you have finalized the IO cards of each PLC , click the Build PLC and auto allocate IO button, to automatically allocate the equipment IO. The status bar of the MAPS Equipment Import utility displays the progress of this Build PLC and auto allocate IO process. Example: When the Build PLC and auto allocate IO process is finished, you can: C lick the View equipment allocation option (on the left hand side) to see the extended physical model of the S88/S95 hierarchical structure for your MAPS project (the process site). Example C lick the View IO allocation option (on the left hand side) to view which PLC addresses are assigned to the signals of each item of equipment and which of these are allocated to each IO card. © 2011 DesSoft 32 1Eng Training Manual Example Perform the final MAPS project configuration in the MAPS Designer 8. C lose the MAPS-1Engineer application and, if necessary, start the MAPS Server. 9. Log into the MAPS Designer application and ensure that the MAPS window is displayed. 10.In the MAPS window, right click the MAPS project that you have just created in MAPS1Engineer and select Initialize Project to create the folder structure and the Operator view graphic form. Note: This step is ONLY required for MAPS projects created by the MAPS-1Engineer application, as this step is automatically performed for projects created by the MAPS project wizard. The Operator view graphic form is used by your operators to view and control your process site (MAPS project). For more details on building your PLC programs and creating the SC ADA tags and views and finishing these off, see the How to use MAPS-1Engineer to add a MAPS project help topic in the MAPS Designer help file. Note: If you make a mistake when importing your project, you need to remove this project in BOTH MAPS1-Engineer and in the MAPS Designer, see Deleting a MAPS project. 4.6 Default Electrical equipment templates The following electrical equipment templates are provided by MAPS, by default: DOL_A_v1_0 : Advanced Direct Online Starter (motor) DOL_B_v1_0 : Basic Direct Online Starter (motor) DOL_S_v1_0 : Standard Direct Online Starter (motor) VALVE_D_A_v1_0 : Advanced Double Actuating Valve VALVE_D_B_v1_0 : Basic Double Actuating Valve VALVE_D_S_v1_0 : Standard Double Actuating Valve VALVE_S_A_v1_0 : Advanced Single Actuating Valve VALVE_S_B_v1_0 : Basic Single Actuating Valve VALVE_S_S_v1_0 : Standard Single Actuating Valve Note: The more advanced the template the greater the number of signals (scanned tags) required to represent this item of equipment. This can increase the size (and cost) of your required Adroit licence - so assign these templates to your equipment carefully. The documentation (that can be opened from the MAPS Templates folder of the MAPS program group) contains a summary of the physical steps used for each function block including the PLC memory usage; the number of physical IO required for the PLC and the required Adroit Scan point licenses. This will enable you to easily estimate the C PU and SC ADA licensing required for a project. 4.7 Default Instrumentation equipment templates The following instrumentation equipment templates are provided by MAPS, by default: AI_A_v1_0 : Advanced Analog Input AI_B_v1_0 : Basic Analog Input AI_S_v1_0 : Standard Analog Input AO_A_v1_0 : Advanced Analog Output AO_B_v1_0 : Basic Analog Output © 2011 DesSoft MAPS 33 AO_S_v1_0 : Standard Analog Output DI_A_v1_0 : Advanced Digital Input DI_B_v1_0 : Basic Digital Input DI_S_v1_0 : Standard Digital Input DO_A_v1_0 : Advanced Digital Output DO_B_v1_0 : Basic Digital Output DO_S_v1_0 : Standard Digital Output GS_A_v1_0 : Advanced Group Start GS_S_v1_0 : Standard Group Start PID_A_v1_0 : Advanced PID C ontrol PID_S_v1_0 : Standard PID C ontrol VESSEL_A_v1_0 : Advanced Vessel VESSEL_B_v1_0 : Basic Vessel VESSEL_S_v1_0 : Standard Vessel Note: The more advanced the template the greater the number of signals (scanned tags) required to represent this item of equipment. This can increase the size (and cost) of your required Adroit licence - so assign these templates to your equipment carefully. The documentation (that can be opened from the MAPS Templates folder of the MAPS program group) contains a summary of the physical steps used for each function block including the PLC memory usage; the number of physical IO required for the PLC and the required Adroit Scan point licenses. This will enable you to easily estimate the C PU and SC ADA licensing required for a project. 4.8 Setting up the Adroit Agent Server This shows the default Agent Server settings as configured by the Adroit installation" © 2011 DesSoft 34 1Eng Training Manual o Cluster Aware Server: This is required when you need stand-alone Agent Servers to operate with an Adroit Active C luster pair (a set of hot-standby Agent Servers) in a distributed project. Since you are otherwise unable to have multiple Agent Servers with the same name in a Project. o Cluster Server: If you are setting up a hot standby solution (cluster pair) you need to select each of the Agent Servers in the cluster to be of type C luster. When Adroit is installed, it creates default settings for your Adroit project, which it is recommended that you configure these settings for each of the Agent Servers required by your MAPS project. Typically one Agent Server is required per plant Area, but this is not always the case. On each computer that has the Adroit Agent Server installed: Navigate from the Start menu to the Adroit 7 program group and run the Adroit Setup link to open the Adroit Configuration Setup program. By default the required Agent Server tab is displayed. Example: Configure the Agent Server Parameters Agent Server Type: Usually the default selection of Stand-alone/Distributed Server is required for a typical installation; but this also provides the following options: Project Name: Adroit shares information seamlessly between Agent Servers that have the same Project Name. So if you need to share data between Agent Servers, then give them a common name, such as the name of the your MAPS project. By default this is the name of your computer. Note: You need unique agent (tag) names in a Project. Agent Server Name: This is the logical name for the Agent Server. You can call this what you like, typically it might be the area of plant that you are controlling. Auto-Load File Name: This is the logical name for the Adroit Agent Server tag database (WGP file). This stores the entire configuration of this Agent Server. You can call this file whatever you like, typically this might be the area of plant that you are controlling. © 2011 DesSoft MAPS 35 Tip: You will notice that this file is saved to the Adroit project folder that you specified when installing Adroit, which is by default: C :\Adroit Project\Data folder. If necessary, save your Adroit Agent Server (Project) C onfiguration: click the Save As button in the bottom left corner of the dialog box, by default the specified Project Name is provided for you and click the OK button. This adds this name to the Select Configuration drop down list box, at the top of this dialog, which allows you to load the settings configured for your Agent Server, which is useful if you have another Agent Server configuration for testing or demonstration purposes. Note: In addition to configuring the Agent Server, the Adroit Configuration Setup program allows you to install drivers and add and configure their devices (which you need to create for EAC H PLC that your MAPS project uses). For details, see C reating and configuring PLC devices in Adroit. 4.9 Creating and configuring PLC devices in Adroit This shows the default Agent Server settings as configured by the Adroit installation" Note: You will notice that the Adroit OPC C lient driver is also installed by default, so that you can connect to other PLC types via OPC . The other default driver, the Adroit Simulation driver, is a software only driver emulation that is provided for testing and demonstration purposes. a.C lick the Install button, in the bottom right corner. b.C lick the Browse button and browse to the required list of drivers (such as the \Adroit7\Drivers folder of the MAPS installation DVD). c. C lick the Open button. d.Double click Mitsubishi Q/QnA Ethernet in the Available drivers list. This installs this driver and open its document in MS Word - read this document carefully as it contains all the information you need to get Adroit communicating to the PLC , including cable setup etc. e.C lick the Close button. You should see Mitsubishi Q/QnA Series Ethernet driver in the left hand Installed Drivers + devices © 2011 DesSoft 36 1Eng Training Manual list. You need to create and configure a Mitsubishi PLC device (instance) in the Adroit Agent Server for every PLC in each plant area. Each device is essential a clone of the installed driver that is separately configured to communicate to a specific PLC in the field. To add and configure a device for an installed driver: On each computer that has the Adroit Agent Server installed: 1. Navigate from the Start menu to the Adroit 7 program group and run the Adroit Setup link to open the Adroit Configuration Setup program. By default the Agent Server tab of the Adroit Configuration Setup utility is displayed. 2. C lick the Drivers tab. 3. Ensure that the Mitsubishi Q/QnA Series Ethernet driver appears in the left hand Installed Drivers + devices list. Example: Note: If you installed Adroit from the MAPS installation DVD, then the Mitsubishi Q/QnA Series Ethernet driver is installed by default. If this driver does NOT appear in the list, then you need to install it for this Agent Server, as follows: 4. Right click the Mitsubishi Q/QnA Series Ethernet driver in the left hand Installed Drivers + devices list and select the topmost Add Device… item. This displays the Mitsubishi Q/QnA Series Ethernet driver device dialog to provide a logical name for this device. Note: You are limited to 8-characters when naming this device. For example, you could call it PLC A, if this device communicates to the PLC responsible for Plant A. 5. C lick OK to display the device-specific configuration dialog, in this case the Mitsubishi Q/QnA Series Ethernet driver: PLCA dialog. Example: 6. C onfigure the necessary settings to communicate to your Mitsubishi Q series PLC for this device. For assistance, click the Help button to display an MS word document that describes how to use and configure a device of this driver. 7. C lick the OK button when you have finished configuring this device. © 2011 DesSoft MAPS 37 Note: Adroit provides a number of communications diagnostics tools - the most important one is the Driver Monitor which can be launched from Adroit Program group, which allows you to watch and diagnose the communications to and from your PLC . 4.10 Deleting a MAPS project If you make a mistake when (bulk) configuring your MAPS project or need to remove a test project, then you can remove it, as follows: In the MAPS window, right click the MAPS project and select Delete. If you created this project using the MAPS-1Engineer, then you ALSO need to remove this project from MAPS-1Engineer as follows: 1. Log into MAPS-1Engineer. 2. C lick the Go menu and select Components. 3. C lick Instrumentation from the List options list in the lower left hand corner. 4. Select all (C TRL+A) the items from the Components list (on the left, above the List options list). 5. C lick the Delete button from the toolbar and OK in the confirmation dialog. 6. C lick Panels from the List options list in the lower left hand corner. 7. Select all (C TRL+A) the items from the Components list (on the left, above the List options list). 8. C lick the Delete button from the toolbar and OK in the confirmation dialog. Note: If you need to re-create your MAPS project in MAPS-1Engineer again, you need to complete BOTH the MAPS Project C onfigurator and import your equipment and IO allocation again. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part V 40 5 1Eng Training Manual Projects In this section we will cover: The available options when creating a project. How to create a project. 40 How to open a project 41 . Entering project related information. 42 How to backup and restore a project. 42 5.1 40 Project Building Options 'Build Project From' options 1. System Project - The project will be created from the original project structures found on the installation CD/DVD. 2. Current Project (Without Data) - A duplicate of the current project will be made, excluding the data. This is useful if you have added custom fields to the database and wish to use it in another project. 3. Current Project (With Data) - A duplicate of the current project will be made, including the data. This is handy if you have projects that contain very similar data. 'Build Project With' options 1. Local Libraries - The project will have it's own library, which will only be available to that project. 2. Shared Libraries - Multiple projects can use the same library. 'Project Type' options 1. Access 2000 - This is mostly used when the project often needs to be mobile. 2. SQL Server - This is mostly used when large teams work on the same project and the project does not need to be mobile. When creating SQL Server projects, the company's SQL Server Administrator's credentials are required to give DesSoft FDes rights to create the SQL database and user login in SQL Server. 5.2 Creating a project 1. 2. 3. 4. 5. 6. 7. 8. Click on the Go Button > Projects. In the Project ribbon bar, click New. Make the project root C:\Training\1Eng Name the project Training. Select System Project from the Build Project From section. Select Shared Libraries from the Build Project With section. Select Access 2000 as Project Type. Click Ok. © 2011 DesSoft Projects 5.3 Opening a project 1. 2. 3. 4. 5. © 2011 DesSoft Click on the Go Button > Projects. Select the project you want to open. In the Project ribbon bar, click Open. Enter a Username and Password. After logging in the project is open and ready for you to work in. 41 42 5.4 1Eng Training Manual Project Information 1. Click on the Go Button > Projects. 2. In the Project Data ribbon bar, click Project Information. 3. Enter the project related information. All project related information can be used on diagrams and reports. 5.5 Backup & Restore Projects 1. 2. 3. 4. 5. 6. Click on the Go Button > Projects. In the Project Database ribbon bar, click on Backup. Create a new folder named Training in the root of C:\ Specify the location of the new training folder. Call the file Training Backup Select ALL the Additional Options. © 2011 DesSoft Projects 43 7. After the backup is complete, click on the Go button > Components. 8. Select 20-F-01 in the Tag List. 9. In the Component ribbon bar, click Delete. 10. Click on the Go button > Projects. 11. In the Project Database ribbon bar, click Restore. 12. Select your project. 13. Click Ok. 14. Click on the Go button > Components. 15. Notice that 20-F-01 is restored. Backup & Restore is only applicable on MS Access Projects. For SQL projects these functions only backup the documents, templates etc © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part VI 46 6 1Eng Training Manual Creating Electrical Plant Components In this section we will cover: Creating a cubicle. 47 Creating Devices in the cubicle. 47 Creating cables and their cores. 48 Creating a motor in the cubicle. 50 Creating signal instruments in the cubicle. 51 Creating a Schematic Diagram for the cubicle. 51 Creating a MCC 53 . Associating cubicles to a MCC 53 . Creating a Single Line Diagram (SLD). 54 Allocating SLD symbols to panels/cubicles. 55 We will be building the following cubicle according to the schematic below. © 2011 DesSoft Creating Electrical Plant Components 6.1 47 Create a Cubicle and add Devices 1. 2. 3. 4. Click on the Go Button > Components. In the New Components ribbon bar, click Panels > Electrical cubicle. Under Tag Number, enter 22-M-01;MCC1/T01-F01. Under Tag Rules, select Cubicle. 5. On the component's window that has opened up, click on Devices. 6. In the New Component Items ribbon bar, click Device. 7. Under Tag Rule, select DevQ1. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 8. When prompted to create a new device tstrip, click No. © 2011 DesSoft 48 1Eng Training Manual 9. Create another device (Contactor) using the DevK1 Tag Rule. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 10. Create another device (Overload) using the DevF1 Tag Rule. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 6.2 Creating Cables and Cores in the Cubicle 1. In the component's window tree view, click on Cables. 2. In the New Component Items ribbon bar, click Cable. 3. Under Tag Rule, select CableC. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 4. Click OK. 5. Repeat step 2 to 4 and create cable C001 using the Num Tag Rule. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 6. In the New Component Items ribbon bar, click Electrical Cable. 7. Under Tag Rule, select CableP. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 8. Click OK. 9. Create cores for the cables the same way you created the terminals for the tstrips. Create the C-22-M-01 cable's cores as follows: Create the C001 cable's cores as follows: © 2011 DesSoft Creating Electrical Plant Components Create the P-22-M-01 cable's cores as follows: © 2011 DesSoft 49 50 6.3 1Eng Training Manual Creating a Motor in the Cubicle 1. In the component's window tree view, click on P-22-M-01. 2. In the New Component Items ribbon bar, click Motor. 3. Under Tag Rule, select Motor. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 4. Click OK. 5. When prompted to create a new motor tstrip, click Yes. Create the motors tstrip as follows: © 2011 DesSoft Creating Electrical Plant Components 6.4 51 Creating Signals in the Cubicle 1. In the component's window tree view, click on Signals. 2. In the New Component Items ribbon bar, click Instrument Signal. 3. Under Tag Rule, select MCCsig-Healthy. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 4. Click OK. 5. When prompted for a new instrument tstrip, click Yes. 6. Create 1 terminal for the instrument signal. 7. Repeat step 2 to 6 and create another instrument signal, using the MCCsig-Field Healthy tag rule. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 8. Repeat step 2 to 6 and create another instrument signal, using the MCCsig-Run tag rule. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 9. Repeat step 2 to 6 and create another instrument signal, using the MCCsig-PLC start tag rule. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 6.5 Creating a Control Instrument in the Cubicle 1. In the component's window tree view, click on the C-22-M-01 cable. 2. In the New Component Items ribbon bar, click Control Instrument. 3. Under Tag Rule, select MCC-Ctrl. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 4. Click OK. 5. When prompted for a new instrument tstrip, click Yes. 6. Create the Tstrip according to the configuration below. 6.6 Creating a Schematic Diagram for the Cubicle 1. 2. 3. 4. 5. 6. Click on the Go Button > Components. In the List Options, select Cubicles. From the Tag List, open MCC1/T01-F01. In the component's window tree view, click Documents. In the New Component Items ribbon bar, click Document. Under Tag Rules, select DocDOL. (The tag number doesn't matter, since the tag rule contains a Tagnum rule line) 7. Click OK. NOTE: The Tag Rule assigns a template to the document. © 2011 DesSoft 52 1Eng Training Manual Changing the template for the document. 1. 2. 3. 4. 5. 6. In the component's window tree view, select the Document. In the Document ribbon bar, click Properties. In the Tstrip section, select all the tstrips. From Select Document Type, select the desired document type. From Select Template, select the desired template. Click OK. © 2011 DesSoft Creating Electrical Plant Components 6.7 Creating a MCC and associating Cubicles to it 1. Click on the Go Button > Components. 2. In the New Components ribbon bar, click MCC. 3. Under Tag Number, enter MCC1. 4. 5. 6. 7. © 2011 DesSoft In the List Options, click on Cubicles. In the Tag List, select MCC1/T01-F01. In the Component ribbon bar, click Associate. Click Yes. 53 54 6.8 1Eng Training Manual Creating a Single Line Diagram 1. 2. 3. 4. 5. Click on the Go Button > Components. In the List Options, select MCC. From the Tag List, open MCC1. In the component's window tree view, click Documents. In the New Component Items ribbon bar, click Single Line Diagram. 6. Click OK. 7. In the component's window tree view, select the Single Line Diagram. 8. In the Document ribbon bar, click Preview. NOTE: The SLD is empty! A symbol has to be allocated to each panel/cubicle in the MCC. © 2011 DesSoft Creating Electrical Plant Components 6.9 Selecting SLD Symbols for Panels NOTE: For a panel/cubicle to appear on the SLD, a symbol must be allocated to it. 1. 2. 3. 4. 5. 6. © 2011 DesSoft Click on the Go Button > Components. In the List Options, select MCC. From the Tag List, open MCC1. In the component's window tree view, select MCC1/T01-F01. In the Panel Table Properties window, select Sym_Motor from SLDSymbol. View the Single Line Diagram again. 55 56 1Eng Training Manual © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part VII 58 7 1Eng Training Manual Creating Instrumentation Plant Components In this section we will cover: How to build instruments. How to build JB's. 61 How to build PLC's. 61 59 We will be building this Cable Block Connection and Control Loop in the next two sections. © 2011 DesSoft Creating Instrumentation Plant Components 7.1 59 Create Instruments Create 1 flow Loop (20-F-01) 1. 2. 3. 4. Click on the Go Button > Components. In the New Components ribbon bar, click Loop. Under Tag Number, enter 20-F-01. Click Ok. 5. On the components window that has opened up, click on Instruments. 6. In the New Component Items Ribbon Bar, click on Instrument. 7. Name the Instrument 20-FT-01 and click Ok. 8. When prompted to create a new T-Strip and Cable, click No. We don't want the application to build the T-Strip and Cable for us. We will do this ourselves in a moment. 9. Repeat step 4 and 5 and make another Instrument: 20-FY-01. 10. Once done making the FY Instrument. Select the 20-FT-01 Instrument, and in the New Component Items ribbon bar click on Tstrip and click Ok. (If you can't see it, you will have to scroll down to select it or open the drop down box to select it.) 11. Click on 20-FT-01 again, but this time click on Cable in the New Component Items Ribbon Bar. 12. Repeat step 9 and 10 for 20-FY-01. 7.2 Create Instruments with Tag Rules 1. Click on the Go Button > Components. 2. Click on Loops in the New Components Ribbon Bar. © 2011 DesSoft 60 1Eng Training Manual 3. Under Tag Number enter 20-F-02. 4. Under Tag Rules select Area-Func-Num. 5. Click Ok. 6. On the components window that has opened up, click on Instruments. 7. In the New Component Items Ribbon Bar, click on Instrument. 8. Under Tag Rules select Transmitter. 9. Click Ok. 10. When prompted to create a new T-Strip and Cable, click Yes. This time we want the application to build the Cable and T-Strip automatically. Notice that you didn't have to change the Tag Number to 20-FT-02. 11. Repeat step 6 to 9 and create 20-FY-02, but select I/P under Tag Rules this time. Notice that you didn't have to change the Tag Number to 20-FY-02. This is the power of Tag Rules, but we'll cover it later on. © 2011 DesSoft Creating Instrumentation Plant Components 7.3 Create a Junction Box 1. 2. 3. 4. 5. 6. 7.4 61 Click on Field Panels in the List Options. In the Components ribbon bar, click on Panels > Field Panels. Under Tag Number, enter 20-JBA-01. Under Tag Rules, select Area-Func-Num. Click Ok. Make a T-Strip and Cable for the JB, just like we did for the instruments. Tag Rules are AreaFunc-Num. Create a PLC, Cards & Soft Addresses Create a PLC panel 1. 2. 3. 4. 5. Click on Card Panels in the List Options. In the Components ribbon bar, click on Panels > Card Panels. Under Tag Number, enter 20-PLC-01. Under Tag Rules, select PanelCard. Click Ok. Create an Analog Input and Output card. 6. Click on Cards in the PLC. 7. In the New Component Items ribbon bar, click on Card. 8. Under Tag Number, enter AI-01-01. 9. Under Tag Rule, select I_O-Rack-Num. 10. Click Ok. 11. When prompted to make a T-Strip and Document, click Yes. 12. Repeat step 6 to 10 and create another card AO-01-02. Create Soft Addresses for the Cards. 13. Click on the card AI-01-01. a similar dialog box as the Cable/T-Strip will come up. 14. Under channels click on Add to add 8 Channels for the AI card. 15. Repeat these steps for AO-01-02. AO-01-02 IO configuration AI-01-01 IO configuration © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part VIII 64 8 1Eng Training Manual Cable Block Diagram In this section we will cover: How to make a Cable Block Diagram. 64 How to populate the newly made Block Diagram. 8.1 64 Block Connect Create a new diagram for the JB 1. Click on the Go button > Block Connect. 2. In the Block diagram ribbon bar, click New. 3. Make the Tag Number CBD-20-JBA-01 and click Ok. Drag the instruments, JB and PLC onto the diagram 4. 5. 6. 7. 8. In the Tag List you will see a Documents tab and a Components tab, click on Components. Click on Instruments in the List Options view. Select all the instruments in the Tag List and drag & drop them onto the empty diagram. Click on Panels in the List Options view. Select all the panels in the Tag List and drag & drop them onto the diagram. Build Connections 9. If some of your cables do not appear automatically on the diagram, select the panel(s) and/or instrument(s) on the diagram and click on Build connections in the Component ribbon bar. Auto arrange the components on the diagram 10. Click on Auto Arrange in the Diagram ribbon bar. 11. Select all the components on the diagram and move it where you want to on the diagram. Connect the destination side of the cables 12. As shown below, on the tip of each cable, click and drag it over to JB's left hand side connection point. Do this for all the instruments.Remember, always work from Left to Right. 13. Do the same for the JB's cable to the PLC © 2011 DesSoft Cable Block Diagram © 2011 DesSoft 65 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part IX 68 9 1Eng Training Manual Card Connect In this section we will cover: How to allocate I/O to I/O Cards. 9.1 68 Allocating Instrument I/O 1. 2. 3. 4. 5. 6. 7. Click on the Go button > Card Connect. In the Tag List, double click AI-01-01. In the Show Tag Numbers For ribbon bar, click All Tag Numbers. In the Available Instruments section, highlight 20-FT-01. In the Card [AI-01-01] section, select the first channel. In the Connect Instrument Tags ribbon bar, click Connect To Card. Allocate the rest of the instrument I/O to the correct I/O Cards. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part X 70 10 1Eng Training Manual Datasheets In this section we will cover: How to create a datasheet. 70 How to link a database field to a datasheet cell. How to create a multi-tag datasheet. 72 10.1 71 Creating Datasheets 1. 2. 3. 4. 5. 6. 7. 8. 9. Click on the Go button > Datasheets. In the List Options, select All instruments. Click on the Open Module button in the ribbon bar. Click on New in the Datasheet Documents ribbon bar. Under Tag Number, enter TRAINING. Click Ok. Under Sheet, enter 1 of 1. Under Description, enter Training Datasheets and click Ok. The message below will appear, informing you that Tag Numbers can now be associated with the newly created Datasheet. 10.In the Available Tag Numbers list on the left hand side of the screen, double click on 10-FT01 to associate it with the document. 11.The Synchronize window will appear, allowing you to synchronize data between the document and the database. At the moment there's no data to synchronize, click Close. © 2011 DesSoft Datasheets 71 12. In the Templates list in the bottom left hand corner, click on System Library. (As shown below) 13. Filter for FT. 14. Double click on FT Mass Flowmeter. 15. When prompted to confirm rebuilding the current datasheet from the FT Mass Flowmeter template, click Yes. 16. The Synchronize window will appear again. In the Synchronize ribbon bar, click Select All and then To Document. 17. Click Close. 10.2 Linking a database field to a datasheet cell 1. Click next to Tag Number. 2. In the Database Fields window on the right hand side of the screen, double click on IIndex. © 2011 DesSoft 72 1Eng Training Manual TagNum. 3. Click Yes. If the database field is already linked to another cell in the current datasheet, you will be prompted whether you wish to move the link to the new datasheet cell. Thus disconnecting the database field from its original datasheet cell. 10.3 Creating Multi-Tag Datasheets 1. 2. 3. 4. 5. 6. 7. 8. Click on the Go button > Datasheets. Click on the Open Module button in the ribbon bar. Click on New in the Datasheet Documents ribbon bar. Under Tag Number, enter TEMP. Click Ok. Under Sheet, enter 1 of 1. Under Description, enter Temperature Datasheets and click Ok. The message below will appear, informing you that Tag Numbers can now be associated with the newly created Datasheet. © 2011 DesSoft Datasheets 73 9. In the Templates list in the bottom left hand corner, click on System Library. (See below) 10. Filter for TT. 11. Double click on TT Temperature Instruments. 12. When prompted to confirm rebuilding the current datasheet from the TT Temperature Instruments template, click Yes. 13. The Synchronize window will appear. In the Synchronize ribbon bar, click Select All and then To Document. © 2011 DesSoft 74 1Eng Training Manual 14. Click Close. 15. Add a worksheet to the datasheet and name it TAGLIST 16. Select cells A1 to A10. (As shown below) 17. In the Database Fields window on the right hand side of the screen, double click on IIndex. TagNum. NOTE: If the database field is already linked to another cell in the current datasheet, you will be prompted whether you wish to move the link to the new datasheet cell. Thus disconnecting the database field from its original datasheet cell. 18. Click Yes. 19. You will be notified that the database field has been linked successfully. Click Ok. 20. In the Available Tag Numbers list on the left hand side of the screen, double click on 10-TT01 to associate it with the document. 21. The Synchronize window will appear. Click Close. (You only need to synchronize after all the instruments are associated.) 22. Repeat step 20 and 21 until 10-TT-01 upto 10-TT-10 are associated with the datasheet. 23. When the Synchronize window appears. In the Synchronize ribbon bar, click Select All and then To Document. 24. 10-TT-01 upto 10-TT-10 should appear in cells A1 upto A10, respectively. © 2011 DesSoft Datasheets 25. View the actual datasheet and next to Tag, enter SEE TAGLIST. © 2011 DesSoft 75 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XI 78 11 1Eng Training Manual Standards In this section we will cover: How to add an instrument standard. 79 How to associate an instrument standard with an instrument 80 . What are Standards? A standard is a collection of data, that is provided as standard information by the manufacturer of a specific component. Let's take a cable for example: Who is the manufacturer? What is the core size? What is the outside diameter? What is the rated current? What is the rated voltage? What is the mV drop? How much does it cost? etc. © 2011 DesSoft Standards 11.1 79 Updating Standards Add an instrument standard to the instrument standards table. 1. Click on View in the ribbon bar. 2. In the Standards Editor ribbon bar, click on Instrument Standards. 3. 4. 5. 6. Click on Add. In the new record that appears, enter Training under Manufacturer. Enter Transmitter, under Model. Enter TT, under Func. (Note: Once you have entered TT, the Standard should have disappeared, but don't w orry, in the green field right at the top, under Func, filter for TT. you w ill see the instrum ent standard now .) 7. Enter Transmitter, under Description. 8. Scroll right to the end, and enter 9 under Cost. 9. Click Ok. 10. Click View in the ribbon bar. 11. In the Standards ribbon bar, click on Project. 12. In the Standards list, select the Instruments tab. The new instrument standard will appear in the list. © 2011 DesSoft 80 11.2 1Eng Training Manual Associate a standard to an instrument 1. 2. 3. 4. 5. 6. 7. 8. Click View in the ribbon bar. In the Standards ribbon bar, click on Project. In the Standards list, select the Instruments tab. Click on the Go Button > Components. In the List Options, select All Instruments. In the Standards List, filter for Level in the Model column. In the Tag List, select 10-LT-01. Drag & drop the selected standard onto the selected component. The same method is used to associate a Cable-, Card- or device standard. Bulk association/updates can be done by selecting multiple components in the Tag List. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XII 82 12 1Eng Training Manual Hands-On One For this hands-on session we are going to use all the skills learnt so far to create the following project: 1. 2. 3. 4. 5. 6. 7. 8. Instrument Description I/O Junction Box Card Panel 10-TT-09 10-TT-10 10-FT-01 10-FY-01 TEMPERATURE TX TEMPERATURE TX FLOW TRANSMITTER I/P CONVERTOR AI AI AI AO 10-JB-01 10-JB-01 10-JB-01 10-JB-01 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 10-TT-07 10-TT-08 10-PT-01 10-LT-01 10-LY-01 TEMPERATURE TX TEMPERATURE TX PRESSURE TRANSMITTER LEVEL TRANSMITTER I/P CONVERTOR AI AI AI AI AO 10-JB-02 10-JB-02 10-JB-02 10-JB-02 10-JB-02 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 10-TT-11 10-TT-12 10-PT-02 TEMPERATURE TX TEMPERATURE TX PRESSURE TRANSMITTER AI AI AI 10-JB-03 10-JB-03 10-JB-03 10-PLC-01 10-PLC-01 10-PLC-01 10-TT-04 10-TT-05 10-TT-06 10-TSH-04 10-TSHH-04 TEMPERATURE TEMPERATURE TEMPERATURE TEMPERATURE TEMPERATURE TX TX TX SWITCH SWITCH AI AI AI DI DI 10-JB-04 10-JB-04 10-JB-04 10-JB-04 10-JB-04 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 10-TT-01 10-TT-02 10-TT-03 10-TSH-01 10-TSHH-01 TEMPERATURE TEMPERATURE TEMPERATURE TEMPERATURE TEMPERATURE TX TX TX SWITCH SWITCH AI AI AI DI DI 10-JB-05 10-JB-05 10-JB-05 10-JB-05 10-JB-05 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 10-PLC-01 Create a new project: Training2. Add the Instruments, JB's and PLC. Analog cards have 8 channels. Digital cards have 16 channels. Create a cable block diagram for each JB. Allocate the instrument I/O to the cards. Create a Multi-Tag Datasheet for all the temperature transmitters. Assign standards to all the instruments according to the description supplied above. (Create the standards that don't exist) © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XIII 84 13 1Eng Training Manual Tables In this section we will cover: How to modify table structures. 84 How to import table information. 85 How to export table information. 85 How to rebuild tag numbers. 86 How to parse tag numbers. 86 13.1 Modifying Table Structures Change the field size of the I_O column in the Term table. 1. 2. 3. 4. 5. Click on the Go button > Tables. In the Table List, click on Term. In the Table Option ribbon bar, click Modify. In the list, select I_O. Change the Field Size to 8. 6. Click Update. 7. Click Ok. You can also add / delete columns here. Always refresh your table for changes to be visible. © 2011 DesSoft Tables 13.2 Exporting Tables 1. Click on the Go button > Tables. 2. From the Table List, open the table you wish to import to. 3. In the Table Data ribbon bar, click Export. 4. 5. 6. 7. 13.3 Select the file type you wish to export the table data to. Browse to the location where you wish to create the file by clicking the ellipse button. Specify the filename. Click OK. Importing Tables 1. 2. 3. 4. 5. © 2011 DesSoft Click on the Go button > Tables. From the Table List, open the table you wish to import to. In the Table Data ribbon bar, click Import. Browse to the file you wish to import. Click Open. 85 86 1Eng Training Manual 6. Check the field(s) that exist in the file as well as in the table that can be used as the link key between the file rows and the table records. 7. Click OK. 13.4 Rebuild Tag Numbers 1. Click on the Go button > Tables. 2. Double click on IIndex to open the Instrument table. You will notice we only have 4 instruments. Out of those 4, only 2 have tag rules (20-FT-01 and 20-FY-01). The Area, Func and Num will be empty for the instruments that DON'T have Tag Rules assigned. 3. In the Area field of 20-FT-01 (that is blank), make it 22 and press enter. 4. Select the Area field of 20-FT-01 again. 5. Press and hold Ctrl on your keyboard and press the down arrow. The Ctrl key copies the selected field's value to the next cell. The Alt key increments the selected field's value to the next cell. 6. Once all the Area fields are 22, click on Bulk Tools in the ribbon bar. 7. In the Tag Rule Tools ribbon bar, click Rebuild Tag Numbers. 8. In the Grid Data Actions ribbon bar, click Refresh. This will only work if you have Tag Rules in place. 13.5 Parse Tag Numbers 1. Click on the Go button > Tables. 2. Double click on IIndex to open the Instrument table. © 2011 DesSoft Tables 3. Clear the Area, Func and Num columns!! 4. Enter Area-Func-Num in the TagRule column. 5. Press and hold Ctrl on your keyboard and press the down arrow. The Ctrl key copies the selected field's value to the next cell. The Alt key increments the selected field's value to the next cell. 6. Once all the rows are populated, click on Bulk Tools in the ribbon bar. 7. In the Tag Rule Tools ribbon bar, click Parse Tag Numbers. 8. In the Grid Data Actions ribbon bar, click Refresh. This will only work if you have Tag Rules in place. © 2011 DesSoft 87 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XIV 90 14 1Eng Training Manual Queries In this section we will cover: How to create queries. 14.1 90 Creating Queries Write a query to return the Instruments, their Manufacturers and Models 1. 2. 3. 4. 5. 6. Click on the Go Button > Queries. In the Query Options ribbon bar, click New. Select Create a SELECT query. Under Query Name, enter Costing. Click Import. Write the following query to return the amount of terminals in the project, in Notepad/Word. SELECT IIndex.TagNum, IIndex.Manufacturer, IIndex.Model FROM IIndex 7. Copy and paste the query into the import box in the picture above. 8. Click Next. 9. Click Finish. 10. In the Queries List, expand Select. 11. Double click on Costing. Change the query to include the cost of the instrument 12. In the Queries List, select Costing. 13. In the Query Options ribbon bar, select Modify. 14. Change your query to the following: SELECT IIndex.TagNum, IIndex.Manufacturer, IIndex.Model, InstrStandards.Cost FROM (IIndex LEFT JOIN InstrStandards ON (IIndex.Manufacturer = InstrStandards. Manufacturer) AND (IIndex.Model = InstrStandards.Model)) ORDER BY IIndex.TagNum, IIndex.Manufacturer, IIndex.Model 15. Click Next. 16. Click Finish. 17. Double click on Costing. In the query above, added the InstrStandards.Cost column to the SELECT statement. In order to retrieve the correct information for each instrument, the IIndex table and the InstrStandards table must be joined at values that are equal in each table. These values are the Manufacturer and Model columns. The brackets are explained as follows: 1. The both equations are put in brackets. (Table.column = Table.column) 2. Then the entire JOIN statement, due to the AND statement. The reason for this is because the statement is broken down and processed from the inside out like a mathematical sum. In the ORDER BY statement we specify in what ORDER we'd like the columns presented in the result. © 2011 DesSoft Queries 91 Change the query to filter only for Temperature Transmitters 18. Modify your query and change it to the following: SELECT IIndex.TagNum, IIndex.Manufacturer, IIndex.Model, InstrStandards.Cost FROM (IIndex LEFT JOIN InstrStandards ON (IIndex.Manufacturer = InstrStandards. Manufacturer) AND (IIndex.Model = InstrStandards.Model)) WHERE IIndex.Model = "Temperature tx" ORDER BY IIndex.TagNum, IIndex.Manufacturer, IIndex.Model In the query above, we added the WHERE statement which filters the specified column(s) of the SELECTed data and returns only those records that satisfies the WHERE statement. STATEMENT SELECT JOIN WHERE ORDER BY © 2011 DesSoft EXPLANATION Selects data from the database Joins tables together Filters the selected data for a specified value Presents the columns in the result in the order they are specified. 92 1Eng Training Manual © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XV 94 15 1Eng Training Manual Reports In this section we will cover: How to view reports. 94 How to create your own reports. 15.1 94 Viewing Reports Select and view some reports. 1. Click on the Go Button > Reports. 2. Double Click on Instrument Index to view it, close when done. 3. Double Click on Instrument Cable Schedule to view it, close when done. 15.2 Creating Reports We are going to create a report for the query we just created. 1. 2. 3. 4. 5. 6. 7. 8. Click on the Go Button > Queries. In the Queries List, select Costing. In the Query Options ribbon bar, click Modify. Copy the query. Click cancel. Click on the Go Button > Reports. In the Report File ribbon bar, click New. Paste the query in the box that appears. 9. Click Next. 10. Move all the fields into the Detail section in the order they are in the image below. © 2011 DesSoft Reports 11. 12. 13. 14. 15. 16. 17. 18. Click Next. Under Layout, Select Tabular. Click Next. For training, select the first style for your report. Otherwise, select any style you wish to use. Click Next. Name the report Costing - Temperature Tx. Select Preview the report. Click Finish. Your report should look like the one below. 19. In the Reports list, select Costing - Temperature Tx. 20. In the Report File ribbon bar, click Design. 21. Change the design of the report to look like the one below. © 2011 DesSoft 95 96 1Eng Training Manual 22. In the Save ribbon bar, click Save. 23. In the View ribbon bar, click View. Your report should look like the one below. Document tokens also work on reports. © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XVI 98 16 1Eng Training Manual Speed Tools In this section we will cover: Cable block import. 98 Building loops in bulk. 16.1 99 Cable Block Import 1. 2. 3. 4. 5. In the menu bar, click Bulk Tools. In the Cable Block Tools ribbon bar, click Export Connections. In the Export Actions ribbon bar, click All Cable Connections. Save the document as Import Connections.xls (remember the path it's saved at) Open the document in Excel, and copy the following into it, word for word. 6. Save and close the document. 7. In the menu bar, click Bulk Tools. 8. In the Cable Block Tools ribbon bar, click Import Connections. 9. Browse to the Import Connection.xls file. 10. In the Actions ribbon bar, click Check Tags and Build Connections with checked options. Any existing column in the database can be added to the Cable Block Import. Everytime a matching column is found, the data will be inserted. © 2011 DesSoft Speed Tools 16.2 99 Build Loops After bulk importing of instruments the build loops tool can be used to create and associate instruments to loops. 1. Click on Bulk Tools in the ribbon bar. 2. In the Building Tools ribbon bar, click on Build Loops. 3. Under Loop Tag Number Configuration, you can enter/select rule configurations (similar to Tag Rules) with which your loop numbers will be created. The default rule is: GetS(1, TagNum,"-") + "-" + GetL(1,GetS(2,TagNum,"-")) + "-" + GetS(3,TagNum,"-"). This rule builds the loop with the Area + first character of Func + Num. 4. Click on Select All Tags. 5. Click on Build Loop Tags for selected. 6. Click OK. Only instruments with a LoopID that is 0 or empty in the IIndex table will appear in the Build Loops dialog. © 2011 DesSoft 100 1Eng Training Manual © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XVII 102 17 1Eng Training Manual Tag Rules Tag Rules are used to build tag numbers in a certain format as well as populating additional fields in the table of the component, the rule is applied on. In the following example is an Analog Input Transmitter Tag Rule that populates the Area, Func, Num and the I_O fields in the database for the instrument tag number. For more functions that are available, see the Internal Functions 103 topic. © 2011 DesSoft Tag Rules 17.1 103 Internal Functions Internal functions used with Tag Rules and Document Tokens There are just a few internal functions available to the user that can be used when designing tokens or tag rules. 1. GetS function (Get Substring) The GetS function will get a substring from the string passed as a parameter. Definition: GetS(nPos, String, Delimiter) where nPos (number) is the position of the substring inside the string. String (text) is the passed string to the function Delimiter (text) is used to determine the count for nPos. By default the delimiter is a "," and when it is something else one has to specify it. E.g. to get the function (second) part out of a tag number (string) that consists of area-func-num ("-" is the delimiter) the function will be: GetS(2,"22-M-01","-") = "M" If the string must be a specific field in the database then the field name has to be passed like: GetS(2,TagNum,"-") = "M" A literal string value must be passed with inverted commas ("). When a reference to a text field is passed as the string value, then the field name without the inverted commas is typed. A number is also passed without the inverted commas. A number reference is treated the same as above. 2. GetL function (Get the Left part of a string) The GetL function will get the specified amount of characters from the left of the string. Definition: GetL(nPos, String) where nPos (number) is the amount of characters from the left in the string. String (text) is the passed string to the function E.g. GetL(2,"ABCD-123-EFG") = "AB" 3. GetR function (Get the Right part of a string) The GetR function will get the specified amount of characters from the right of the string. Definition: GetR(nPos, String) where nPos (number) is the amount of characters from the right in the string. String (text) is the passed string to the function E.g. GetR(2,"ABCD-123-EFG") = "FG" 4. GetN function (Get the Number part of a string) The GetN function will get the first numbers found from the string. Definition: GetN(String) where String (text) is the passed string to the function E.g. GetN("ABCD123-EFG") = "123" 5. GetC function (Get the Character part of a string) The GetC function will get the first characters found from the string. Definition: GetC(String) where © 2011 DesSoft 104 1Eng Training Manual String (text) is the passed string to the function E.g. GetC(GetS(1,"123ABCD-EFG",”-“)) = "ABCD" 6. GetP function (Get the Position character in a string) (only 2 parameters) The GetP function will get the character from the string at the specified position. Definition: GetP(nPos, String) where nPos (number) is the position of the character counted from the beginning of the string. String (text) is the passed string to the function E.g. GetP(2,"ABCD123-EFG") = "B" 7. GetP function (Get the Part of a string) (3 parameters) The GetP function will get part of the string from the specified position for an amount of characters. Definition: GetP(nPos, String, nAmount) where nPos (number) is the position of the character counted from the beginning of the string. String (text) is the passed string to the function nAmount (number) is the amount of characters to return from the defined position in the string. E.g. GetP(3,"ABCD123-EFG",4) = "CD12" 8. GetX function (Get the NeXt value from the last character in a string) The GetX function will get the next incremented value for the last character in a string. It can be a numeric value or a string value. Definition: GetX(String) where String (text) is the passed string to the function E.g.1. GetX("ABCD123-EFG") = "ABCD123-EFH" E.g.2. GetX("ABCD123") = "ABCD124" 9. GetX function (Get the NeXt incremented count value from the last character in a string) The GetX function will get the next incremented count value for the last character in a string. It can be a numeric value or a string value. Definition: GetX(String, nCount) where String (text) is the passed string to the function nCount (number) is the amount that the last character in the string needs to be incremented. E.g.1. GetX("ABCD123-EFG",3) = "ABCD123-EFJ" E.g.2. GetX("ABCD123",3) = "ABCD126" 10. The above functions can be called as a combination like: E.g. TagNum = "22-M-001AB" GetR(2,GetS(3,TagNum,"-")) = "AB" The function will always first evaluate the function within the brackets and work its way to the outside. Thus the above example will first return the GetS(3,TagNum) that equals "001AB" then run the GetR(2 part of the function which results in "AB". © 2011 DesSoft 1Eng Training Manual DesSoft - Engineering Design Documentation Software Part XVIII 106 18 1Eng Training Manual 1Eng Options & Tools In this section we will cover: The DesSoft 1Eng options dialog. 106 The Data Tools dialog. 107 The Duplicate Tags tool. 109 The Compare Tools. 110 The Cable Drum Allocation tool. 110 Motor Calculations. 111 Cable Calculations. 112 18.1 Options 1. Displays general project information. You can also change the location of the Libraries and System Project here by clicking on the linked path. 2. General options to hide/show inactive ribbon bar tabs, and to enable/disable multi tabs. 3. Change document output behaviour as well as the document list's colors. 4. Change the location where document repository is kept and general settings for repository related items. 5. Enable/disable tracking of changes and specify what type of changes must be tracked. 6. Specify what data is stored with library items and how items are built from the libraries. 7. Change the delimiter used for detail connections and if the CoreTag Update query must be run or not after changes are made. 8. Define proxy settings. 9. DWG drawing options. © 2011 DesSoft 1Eng Options & Tools 18.2 107 Data Tools Data tools is used to keep your project clean & proper. It's good practice to run the Essential Data Checks after component deletions, imports or after lots of connection changes. It checks the database for any errors and rectifies them without a hassle. Keeping a database healthy has NEVER been this easy, nor this fast! 1. 2. 3. 4. 5. Deletes invalid block connections. Deletes invalid terminals from term table (Tstrip deleted) and detail connections. Deletes invalid cores from core table (cable deleted) and detail connections. Deletes invalid detail connections. Ensures that the connection row has the first connected terminal ID all the connection in the rows. 6. Removes unconnected equipment in the detail connections. 7. Deletes loops that have no Instruments, Tstrips and Documents associated. 8. Deletes panels that have no Tstrips, Devices, Documents, Cables, Cards and Instruments associated. 9. Finds and moves the physical document files that do not exist in the document table for current projects, to an Orphaned Document Folder. (Files will be moved to the current projects location in a folder called OrphanedDocumentsBackup)(example > C:\Current Project\OrphanedDocumentsBackup) 10. Deletes the files and folders that were moved to the Orphaned Documents Folder. 11. Updates empty soft addresses' TstripIDs to be the same as the associated card Tstrip. 12. Allocates the instrument tags to the soft addresses, according to the detail connections. 13. Clears all the allocated instruments from the soft address table. 14. Updates the DocumentCon to have all associated items for each document. 15. Updates the Tstrip order numbers in sequential order per panel according to the tag number. © 2011 DesSoft 108 1Eng Training Manual 16. Updates the Device order numbers in sequential order per panel according to the tag number. 17. Updates the Instrument order numbers in sequential order per loop according to the tag number. © 2011 DesSoft 1Eng Options & Tools 18.3 109 Duplicate Tags This tool checks for any duplicate tag numbers. It gives you the option to delete them, if there is any. Duplicate Tags can be checked for the different tables by selecting the correct option in the dropdown list. © 2011 DesSoft 110 18.4 1Eng Training Manual Compare Tools These tools enable you to synchronize the table structures between: 2 Projects The current project with the project library The current project with the system library The project library with the system library. Find these tools in the Compare Tools ribbon bar, after clicking Tools in the menu bar. 18.5 Cable Drums Specify cable lengths and cable drum sizes. Manage the amount of cables a drum can accomodate. 1. 2. 3. 4. 5. 6. 7. In the menu bar, click Bulk Tools. In the Allocation Tools ribbon bar, click Cable Drums. In the Drum Actions ribbon bar, click New. Under Tag Number, enter a drum name. In the Filter Options for Cables ribbon bar, select which cables to filter for. Highlight the cables you wish to allocate to the drum. In the Cable Actions ribbon bar, click Allocate. © 2011 DesSoft 1Eng Options & Tools 18.6 111 Motor Calculations Motor Calculations must be done before Cable Calculations otherwise Cable Calculations will be incorrect. The motor's cable must be connected to the motor for the Motor Calculation to be correct. You can filter any column in the Motor Standards and your calculation will then be performed, using only the Motor Standards listed. 1. Click on the Go Button > Tables. 2. From the Table List, open the EIndex table. 3. Ensure that the AbsorbPower column for the motor is populated. 4. In the ribbon bar, click Tools. 5. In the Calculation Tools ribbon bar, click Motor. 6. Specify the Load percentage for the calculations. 7. In the Motor Standards List (on the left), filter for the Manufacturer you wish to use. 8. Select the Motors the calculations must be done for. 9. Click Calculate to find the motor closest to the AbsorbPower in the Motor Standards. 10. Manual motor sizing can be done by dragging and dropping the Motor Standard on the Manufacturer column on the right. 11. Click OK to complete the motor calculation. © 2011 DesSoft 112 18.7 1Eng Training Manual Cable Calculations 1. Click on the Go Button > Tables. 2. From the Table List, open the Cable table. 3. Ensure that the DeratingFactor column for the cable is populated. 4. 5. 6. 7. 8. In the ribbon bar, click Tools. In the Calculation Tools ribbon bar, click Cable. Click Configure. Under Formulas, select the formula to be used for the calculation. Click OK. 9. Select the cables you wish to do the calculations for. 10. Click Calculate to calculate the closest cables in the cable standards with the formula selected. 11. Manual cable sizing can be done by dragging and dropping the cable standard on the CableSTD column on the right. 12. Click OK to complete the cable calculation. © 2011 DesSoft 1Eng Options & Tools © 2011 DesSoft 113 Index Index -GGetL GetN GetP GetS GetX -220-F-01 59 -AAbout Dialog 19 Activate a Local License 18 Addresses 61 Analogue 61 Associate an instrument standard Auto-Core Connect 98 -BBlock Connect 64 Block Diagrams 64 Build assign Cores to Cables Bulk Assignment 98 Bulk Build Loops 98 Bulk Update 98 98 Help And Licensing 80 18 -IImport 98 Import Cable Connections Instrumentation 59 Introducation 8 Introduction 9 98 -J59 -L- Cards 59 Concurrent User Management Connections 64 Cores 59 Create a Project 40 -D- 15 Landing Strip 61 Local Libraries for Projects Log in 10 Loops 59 70 70 64 FDes Options Flow 59 106 40 -MModifying Table Structures -F- © 2011 DesSoft -H- JBA -C- Datasheet Datasheets Disconnect 102 102 102 102 102 -OOpen Project -PPanels 59 PLC 59 PLC panel 61 41 84 115 116 1Eng Training Manual Project Building Options Project Information 42 40 -RReturning a Local License 18 -SSetup 9 Shared Libraries for Projects Soft Addresses 59 Standards 78, 79 40 -TTable Structures Tag Rules 102 Terminals 59 84 -UUnderstand Document Tokens User Management 10 102 -VViewing Reports 94 © 2011 DesSoft Back Cover MITSUBISHI ELECTRIC GX IEC Developer 7.04 IEC Programming and Documentation System Beginner's Manual Art. No.: 43596 01 10 2009 Version N MITSUBISHI ELECTRIC INDUSTRIAL AUTOMATION The texts, illustrations, diagrams and examples in this manual are only intended as aids to help explain the functioning, operation, use and programming of the GX IEC Developer IEC programming and documentation system. For using and usage of this software only the user his own is responsible. If you have any questions regarding the installation and operation of the software described in this manual, please do not hesitate to contact your sales office or one of your Mitsubishi distribution partners. You can also obtain information and answers to frequently asked questions from our Mitsubishi website under www.mitsubishi-automation.de. The GX IEC Developer software is supplied under a legal license agreement and may only be used and copied subject to the terms of this License Agreement. No part of this manual may be reproduced, copied, stored in any kind of information retrieval system or distributed without the prior express written consent of MITSUBISHI ELECTRIC. MITSUBISHI ELECTRIC reserves the right to change the specifications of its products and/or the contents of this manual at any time and without prior notice. The IEC 61131.1 standard cited in this manual is available from the publishers Beuth Verlag in Berlin (Germany). Æ October 2009 Beginner's Manual for MELSOFT GX IEC Developer Art. No.: 43596 Version Changes / Additions / Corrections A 03/1995 ME First issue B 05/1996 ME Software update C 07/1997 ME Software update D 01/1998 ME Software update E 08/2000 pdp-rs Update to software version 2.40 F 06/2001 pdp-rs Update to software version 4.00 G 05/2002 rs/pdp Update to software version 5.00 H 09/2003 ow/pdp Update to software version 6.00 I 09/2004 ow/pdp Update to software version 6.10 J 09/2005 ow/pdp Update to software version 7.00 K 11/2006 ow/pdp Update to software version 7.01 L 09/2007 ow/pdp Update to software version 7.02 M 10/2008 ow/pdp Update to software version 7.03 N 10/2009 ow/pdp Update to software version 7.04 Typographic Conventions Use of notes Notes containing important information are clearly identified as follows: NOTE Note text Use of examples Examples containing important information are clearly identified as follows: Example Example text 쑶 Numbering in figures and illustrations Reference numbers in figures and illustrations are shown with white numbers in a black circle and the corresponding explanations shown beneath the illustrations are identified with the same numbers, like this: � � � � Procedures In some cases the setup, operation, maintenance and other instructions are explained with numbered procedures. The individual steps of these procedures are numbered in ascending order with black numbers in a white circle, and they must be performed in the exact order shown: 햲 Text 햳 Text 햴 Text Footnotes in tables Footnote characters in tables are printed in superscript and the corresponding footnotes shown beneath the table are identified by the same characters, also in superscript. If a table contains more than one footnote, they are all listed below the table and numbered in ascending order with black numbers in a white circle, like this: 햲 Text 햳 Text 햴 Text Character formatting and orientation aids Menu names, menu commands, submenu commands, and dialog box options are printed in boldface type. Examples: The menu item New in the menu Project or the options PLC interface and Computer Link in the dialog box Transfer-Setup. Please keep this manual in a place where it is always available for the users. Contents Contents 1 Introduction 1.1 This manual… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 1.2 The Reference Manual… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 1.3 If you are not yet familiar with Windows … . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 1.4 If you are not yet familiar with the IEC 61131-3 standard… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1.5 If you already have IEC 61131-3 experience and want to get to work right away… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 1.6 If you get stuck… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 2 Getting to Know GX IEC Developer 2.1 What's New in GX IEC Developer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1 2.2 Introduction to the IEC 61131-3 Standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2 3 Basic Terms Used in IEC 61131-3 3.1 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1 3.2 Program Organisation Units (POUs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 3.3 Programs, Function Blocks and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 3.4 Parameters and Instancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4 3.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 3.6 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6 3.7 Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 3.8 약 3.7.1 Simple Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 3.7.2 Complex Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10 Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11 3.8.1 Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11 3.8.2 The Text Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11 3.8.3 The Graphical Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16 GX IEC Developer Beginner's Manual IX Contents 4 Installation 4.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1 4.1.1 Recommended Hardware Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1 4.1.2 Software Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1 4.2 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1 4.3 Installing GX IEC Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 4.3.1 Installing GX IEC Developer on your hard disk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 4.3.2 Starting GX IEC Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 4.3.3 Quitting GX IEC Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 5 The User Interface 5.1 The Elements of the User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1 5.1.1 The Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 5.1.2 The Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 5.1.3 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 5.1.4 The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 5.1.5 The Project Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3 5.2 Declaration Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4 5.3 The Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5 5.3.1 Using the text editors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5 5.3.2 Using the graphical editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6 6 Getting Started 6.1 Step 1: Creating New Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-2 6.2 Step 2: Creating Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4 6.3 Step 3: Declaring Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-5 6.4 Step 4: Creating Program Organisation Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-7 6.5 Step 5: Programming POU Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-8 6.6 Step 6: Programming POU Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-9 X MITSUBISHI ELECTRIC Contents 6.7 Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-10 6.7.1 Inputs and outputs in ladder diagram language (LD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 6.7.2 A Sum Function in FBD Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-12 6.7.3 I/O Signal Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-14 6.7.4 Timers in LD/FBD/IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-15 6.7.5 Sequential Function Chart Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-20 6.8 Step 7: Checking PLC Programs (syntax check) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-36 6.9 Step 8: Configuring Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-37 6.10 Step 9: Compiling Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-39 6.11 Step 10: Communications Port Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-40 6.12 Step 11: Downloading Programs (to PLC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-41 6.13 Step 12: Monitoring Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-42 6.14 Step 13: Uploading Data from the CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-43 7 Sample Program: CarPark 7.1 Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-1 7.1.1 The Task "Main" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-1 7.1.2 The Task "Door_Operate" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 7.2 Create the new "CarPark" project (Step 1 in Chapter 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7.3 Create the tasks (Step 2 in Chapter 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 7.4 Declare the global variables (Step 3 in Chapter 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-3 7.5 Create the program organisation units (Step 4 in Chapter 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-3 7.5.1 7.6 7.7 8 Project Navigator Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-3 Program the bodies (Step 6 in Chapter 6). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-4 7.6.1 Body of the "Control" POU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-4 7.6.2 Body of the "Counter" POU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-5 7.6.3 Body of the "Door_Control" POU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-6 Configure the tasks (Step 8 in Chapter 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-7 7.7.1 The "Main" task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-7 7.7.2 The "Door_Operate" Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-8 Importing GX IEC Developer Beginner's Manual XI Contents XII MITSUBISHI ELECTRIC Introduction This manual… 1 Introduction 1.1 This manual… ...is a compact guide to using GX IEC Developer, suitable both for beginners and experienced users upgrading from other systems. The manual includes explanations of the terms and structural concepts of IEC programming and an introduction to the new IEC 61131-3 standard. The "Getting Started" chapter provides a precise step-by-step description of how to use GX IEC Developer, including a sample project. This executable application is used to demonstrate the operation of the program with the help of the exercises provided in this manual. 1.2 The Reference Manual… … contains detailed descriptions of all menus and menu options. Refer to it whenever you need more comprehensive information on the ins and outs of the system. 1.3 If you are not yet familiar with Windows … 약 약 … please at least read the Windows Fundamentals section in the Windows User's Guide, or 약 약 work through the Windows Tutorial accessible through the Help menu of the Windows Program Manager. This will teach you what you need to know about using the basic elements of 약 약 약 Microsoft Windows , and the operating procedures that are identical in all Windows application programs. NOTE 1.4 Microsoft, Windows, Windows Vista, and Excel are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. If you are not yet familiar with the IEC 61131-3 standard… … please do take the time to read the "Introduction to the IEC 61131-3 Standard" chapter. This section explains the most important new terms and concepts of this industrial standard. A glossary of all the terms is provided in the Appendix of the Reference Manual. 1.5 If you already have IEC 61131-3 experience and want to get to work right away… … then you can go straight to the "Getting Started" section for immediate results. This chapter provides clear, step-by-step descriptions of all important GX IEC Developer operations, from creating a new project to downloading your finished program to the controller. GX IEC Developer Beginner's Manual 1–1 If you get stuck… 1.6 Introduction If you get stuck… … do not despair, help is never far away! If you run up against seemingly insoluble problems, or if you have questions about GX IEC Developer or the connected programmable controller (PLC) configuration, please first refer to the manuals and documentation. Many answers and solutions can also be found directly in the GX IEC Developer context-sensitive online help system, which can always be accessed by pressing the key. Make use of the Search command in the Help menu as well, as this will often locate the information you need. If you can't find answers to your questions in any of these places, contact your local MITSUBISHI ELECTRIC representative or call our European headquarters in Ratingen directly. The addresses and phone numbers are provided on the back covers of all our manuals. 1–2 MITSUBISHI ELECTRIC Getting to Know GX IEC Developer What's New in GX IEC Developer? 2 Getting to Know GX IEC Developer 2.1 What's New in GX IEC Developer? GX IEC Developer is a Windows program: 약 약 GX IEC Developer uses the graphical user interface of Microsoft Windows for fast, intuitive operation. This means that instead of laboriously searching through a labyrinth of program structures, you can implement your controller applications quickly and efficiently. GX IEC Developer increases your productivity: The modular architecture of GX IEC Developer brings big advantages for complex programming projects. Frequently-needed program blocks and functions only need to be created once. Thanks to the building block system you can then insert them again and again wherever and whenever required. This significantly reduces your programming overheads, enabling you to make major changes to your programs with just a few simple operations. GX IEC Developer is a multi-language system: GX IEC Developer supports programming in different languages. Several graphical and text-based editors help you to write tailor-made programs quickly and easily, choosing the language that best suits the problem. GX IEC Developer is your link to the IEC world: GX IEC Developer supports the new IEC 61131-3 standard for PLC (programmable controller) programming. This standard lays down the specifications for standardized PLC control programs. GX IEC Developer Beginner's Manual 2–1 Introduction to the IEC 61131-3 Standard 2.2 Getting to Know GX IEC Developer Introduction to the IEC 61131-3 Standard IEC 61131-3 is the new international standard for PLC programs, defined by the International Electrotechnical Commission (IEC). It defines the programming languages and structuring elements used for writing PLC programs. Structured Programming The structured programming approach replaces the former unwieldy collection of individual instructions with a clear arrangement of the program into individual program modules. These modules are referred to as Program Organisation Units (POUs), which form the basis of this new approach to programming. Fig. 2-1: Program organisation units (POUs) are used to implement all programming tasks. POU 1 POU 2 POU 3 POU 4 Program Modules POU 5 POU 6 POU 7 POU 8 There are three different classes of POUs, classified on the basis of their functionality: 쎲 Programs 쎲 Functions 쎲 Function blocks POUs declared as functions and function blocks are effectively programming instructions in their own right, and they can be used as such in every module of your programs. 2–2 MITSUBISHI ELECTRIC Getting to Know GX IEC Developer Introduction to the IEC 61131-3 Standard The final program is assembled from the POUs that you define as programs. This process is handled by the task management, in the Task Pool. Program POUs are put together in groups referred to as Tasks. POU-Pool Task 1 POU 1 Program POU 1 POU 2 Function POU 3 POU 3 Program POU 4 Fig. 2-2: The program POUs are grouped together in tasks. POU 4 Program POU 5 Function block Task 2 POU 6 Program POU 6 POU 7 Program POU 7 POU 8 Function Main PLC program Task 2 Task n POU 1 POU 6 POU n-1 Instructions Functions Function blocks Instructions Functions Function blocks Instructions Functions Function blocks Task 1 POU 3 POU 7 POU n Instructions Functions Function blocks Instructions Functions Function blocks Instructions Functions Function blocks Fig. 2-3: In turn, all the tasks are grouped together to form the actual PLC program. POU 4 Instructions Functions Function blocks GX IEC Developer Beginner's Manual 2–3 Introduction to the IEC 61131-3 Standard Getting to Know GX IEC Developer The Sequential Function Chart language (SFC) is also an aid for writing structured PLC programs. It is particularly well suited for programming sequential operations. Fig. 2-4: An SFC sequence consists of a series of steps and transitions (transition or continuos conditions). Initial step Transition Step Transition Step Transition Transition Step Transition Programming Languages The actual PLC program code contained in the program organisation units (POUs) and the steps and transitions of an SFC sequence can be written in any of the available programming languages. The language used will depend on the nature and size of the programming task. 쎲 The Text Editors: Instruction List (IL) Structured Text (ST) 쎲 The Graphical Editors: Ladder Diagram (LD) Function Block Diagram (FBD) Sequential Function Chart (SFC) 2–4 MITSUBISHI ELECTRIC Getting to Know GX IEC Developer Introduction to the IEC 61131-3 Standard Variables Before you can actually start writing a PLC program you must first decide what variables you are going to need in the program module you are working on. Each POU has a list of local variables. These are the variables that can only be used within the POU they are defined and declared for. The global variables, which can be used by all the POUs in the program, are declared in a separate list. Header Body Local variables of POU 1 PLC program of POU 1 Header Body Local variables of POU 2 PLC program of POU 2 Global variables Fig. 2-5: Global and local variables GX IEC Developer Beginner's Manual 2–5 Introduction to the IEC 61131-3 Standard 2–6 Getting to Know GX IEC Developer MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 Projects 3 Basic Terms Used in IEC 61131-3 3.1 Projects Every GX IEC Developer project consists of the following elements: 쎲 The Library Pool: - the programming instructions contained in the standard library - the programming instructions contained in the manufacturer library 쎲 The PLC parameters 쎲 The tasks in the Task Pool 쎲 The structured data types in the DUT Pool 쎲 The global variables 쎲 The program organisation units in the POU Pool Fig. 3-1 The program element objects are displayed in the Project Navigator window. GX IEC Developer Beginner's Manual 3–1 Program Organisation Units (POUs) 3.2 Basic Terms Used in IEC 61131-3 Program Organisation Units (POUs) Each program organisation unit consists of 쎲 a header and 쎲 a body. The variables to be used in the POU are defined (declared) in the header. Fig. 3-2: POU header (top) and POU body (bottom) The body contains the actual PLC program. POUs are divided into three classes on the basis of their functionality: 쎲 Programs [PRG], 쎲 Functions [FUN] and 쎲 Function blocks [FB] 3–2 MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 3.3 Programs, Function Blocks and Functions Programs, Function Blocks and Functions Program Function block Function Programming instructions Programming instructions Programming instructions Function blocks Function blocks Functions Functions Functions Fig. 3-3: Programs, function blocks, and functions The program POU is the standard program organisation unit. Program POUs can contain programming instructions from libraries, functions and function blocks. The execution of the program POUs is controlled by tasks. POUs declared as functions or function blocks are independent program elements. They function effectively as programming instructions that can be replaced whenever necessary, and they can also be used in other program modules, just like ordinary instructions. NOTES Function blocks can be called by program POUs and other existing function blocks, but not from functions. The function blocks themselves can contain programming instructions from the libraries, functions and other existing function blocks. Function blocks pass one or more output variables as their result. All the values of the output variables and the internal values within the function block are stored for the following execution of the function block. These values are then used the next time the function block is invoked. This means that invoking the same function block twice with the same input parameters does not necessarily result in the same output values! Functions can be called by program POUs, function blocks and other existing functions. Functions can contain programming instructions from the libraries and other existing functions. Functions always pass an output value, and they do not store any internal status information. Thus, you should always get the same output value every time you invoke a function with the same input parameters. Item Function Block Function Internal variable storage Storage No storage Instancing Required Not required Outputs No output One output Multiple Outputs One output Repeated execution with same input values Does not always deliver the same output value Always delivers the same output value Tab. 3-1: Differences: Function Blocks and functions GX IEC Developer Beginner's Manual 3–3 Parameters and Instancing 3.4 Basic Terms Used in IEC 61131-3 Parameters and Instancing Functions and function blocks have formal parameters and actual parameters. Formal parameters are the variables used when a function or function block is created. The formal parameters of the programming instructions in the standard and manufacturer libraries are not visible to the user. Actual parameters are the variables that are passed to the function or function block instance (copy) when it is used in another POU. Actual parameters can be defined variables, hardware addresses or constants. Fig. 3-4: The program organisation unit POU_9 is a function block [FB]. The variables "IN" and "OUT" used in this program module are declared in the header. "IN" and "OUT" are the formal parameters. Function blocks can only be called as instances. The process of "instancing", or making a copy of the function block, is performed in the header of the POU in which the instance is to be used. In this header the function block is declared as a variable and the resulting instance is assigned a name. Note that you can declare multiple instances with different names from one and the same function block within the same POU. The instances are then called in the body of the POU and the actual parameters are passed to the formal parameters. Each instance can be used more than once. For details on activating instances of function blocks in the individual editors please refer to the chapter "Programming Languages". Fig. 3-5: 3–4 "Reset" ID an instance of function block POU_9. "IN" and "OUT" are the formal parameters; "TimerS1" and "ComeIn" are the actual parameters of the instance. MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 3.5 Tasks Tasks A task contains one or more program organisation units declared as programs [PRG]. The task controls the processing of these programs by the controller. Fig. 3-6: This project consists of two tasks, MAIN_LD and TASK_2. If a project contains more than one task you can define execution conditions for the individual tasks: Fig. 3-7: Event: Execute, if the variable ID TRUE. Interval: Execute at defined time intervals Priority: Execute in a defined priority order GX IEC Developer Beginner's Manual 3–5 Variables 3.6 Basic Terms Used in IEC 61131-3 Variables Variables are similar to operands. They contain the values of inputs, outputs or the internal memory locations of the PLC system. A distinction is made between two different variable types, on the basis of their "scope" within the program as a whole: 쎲 Local variables 쎲 Global variables Local variables: When program elements are declared as Local Variables, GX IEC Developer automatically uses some of its System Variables as appropriate storage devices within a specific POU. These variables are exclusive to each POU and are not available to any other routine within a project. Global variables: Global Variables can be regarded as “shared” variables and are the interface to physical PLC devices. They are made available to all POU’s and reference an actual physical PLC I/O or named internal devices within the PLC. External HMI and SCADA devices may interface with the user program using Global Variables. Declaring Variables Before you can begin with the actual programming, you should declare the variables you are going to use in the project as a whole (global variables) and in the individual POUs (local variables). Each variable declaration has the following elements: 쎲 Class 쎲 Identifier, 쎲 Absolute address (global variables only), 쎲 Data type, 쎲 Initial value (automatically), 쎲 Comment (optional), 쎲 Remark (global variables only). IEC61131-3 Verses MELSEC Variables GX IEC Developer supports program creation, using either symbolic declarations (tag names), or absolute Mitsubishi addresses (X0, M0 etc), assigned to the program elements. The use of symbolic declarations complies with IEC 61131.3. If symbolic declarations are used, then the tag names must be cross referenced to real PLC addresses. 3–6 MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 Variables Local Variable List For a particular POU to access a Global Variable, it must be declared in its Local Variable List (LVL), in the POU Header. The LVL can be made up of both Global Variables and Local Variables. A Local Variable can be thought of as an intermediate result, i.e. if the program performs a five stage calculation, using three values and ending with one result, traditionally, the programmer would construct software, which produced several intermediate results, held in data registers before ending with the final register result. It is likely that these intermediate results, serve no purpose other than for storage and only the final result is used elsewhere. With GX IEC Developer, the intermediate results can be declared, as Local Variables and in this case, only the original three numbers and the result, declared as Global Variables. The Global Variable List The Global Variable List (GVL) provides the interface for all names, which relate to real PLC addresses, i.e. I/O data registers etc. The GVL is available and can be read by all POU’s created in the project. GX IEC Developer Beginner's Manual 3–7 Variables Basic Terms Used in IEC 61131-3 Class The class keyword assigns the variable a specific property that defines how it is to be used in the project. Use in POUs: Class Meaning PRG FUN FB VAR X X X Variable that is only used within the POU VAR_CONSTANT X X X Local variable with unchangeable initial value used within the POU VAR_INPUT — X X Variable passed from outside that cannot be altered within the POU VAR_OUTPUT — — X Variable passed (output) by the POU VAR_IN_OUT — — X Local variable passed from outside and passes (output) by the POU, can be altered within the POU VAR_GLOBAL X — X Global variable declared in the Global Variable List VAR_GLOBAL_CONSTANT X — X Global variable with unchangeable initial value declared in the Global Variable List Tab. 3-2: Available classes Identifiers and Absolute Addresses Each variable is given a symbolic address, i.e. a name. This is referred to as the identifier; it consists of a string of alphanumeric characters and underline characters. The identifier must always begin with a letter or an underline character. Spaces and mathematical operator characters (e.g. +, -, *) are not permitted. Examples of identifiers: FAULT ZEROSIG LIM_SW_5 When global variables are declared they should also be assigned absolute addresses that reference the memory location of the variable in the CPU or a physical input or output. If you do not assign the absolute addresses manually, they are assigned automatically. When local variables are declared in the header of the POU they are automatically assigned a suitable memory location in the CPU. You can use either the IEC syntax (IEC-Addr.) or the MITSUBISHI syntax (MIT-Addr.) to assign the absolute addresses. Two address columns are available. As soon as you have entered an address in one of these columns, the other address also appears. You can enter either of the two address formats in both columns. If, for instance, you enter a MITSUBISHI address in the IEC column, GX IEC Developer identifies it immediately, places it in the correct column and produces the matching IEC address in the other column. IEC Address MITSUBISHI Address Meaning %QX0 Y0 Output Y0 %IX31 X1F Input X1F %MW0.450 D450 Data register D450 Tab. 3-3: Examples of absolute addresses Use upper case letters only and no spaces or mathematical operator characters (e.g. +, -, *) in addresses. 3–8 MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 3.7 Data Types Data Types GX IEC Developer supports the following data types. 3.7.1 Simple Types The data type of a variable defines the number of bits it contains, how they are processed and the variable's value range. The following data types are available. Data type Size BOOL Boolean 0 (FALSE), 1 (TRUE) 1 bits INT Integer -32.768 to 32.767 16 bits DINT Double integer -2.147.483.648 to 2.147.483.647 32 bits WORD Bit string 16 0 to 65.535 16 bits DWORD Bit string 32 0 to 4.294.967.295 32 bits REAL Floating-point value 3.4 +/- 38 (7 digits) 32 bits T#-24d-0h31m23s648.00ms to T#24d20h31m23s647.00ms 32 bits TIME Time value STRING Character string Tab. 3-4: NOTE Value range max. 50 characters Available simple data types Please note that not every data type can be processed by every PLC type! Initial Value The initial values are set automatically by the system and cannot be changed by the user. Comment You can add a comment up to 64 k characters long for each variable. Remark You can add additional user information. GX IEC Developer Beginner's Manual 3–9 Data Types 3.7.2 Basic Terms Used in IEC 61131-3 Complex Data Types Arrays An array is a field or matrix of variables of a particular type. For example, an ARRAY [0..2] OF INT is a one dimensional array of three integer elements (0,1,2). If the start address of the array is D0, then the array consists of D0, D1 and D2. Identifier Address Type Length Motor_Volts D0 ARRAY [0...2] OF INT In software, program elements can use e.g. Motor_Volts[1] and Motor_Volts[2] as declarations, which in this example mean that D1 and D2 are addressed. Arrays can have up to three dimensions, for example: ARRAY [0...2, 0...4] has three elements in the first dimension and five in the second. Arrays can provide a convenient way of ‘indexing’ tag names, i.e. one declaration in the Local or Global Variable Table can access many elements. Data Unit Types (DUT) User defined Data Unit Types (DUT), can be created. This can be useful for programs which contain common parts, for example; the control of six identical silos. Therefore a data unit type, called ‘Silo’ can be created, composing patterns of different elements, i.e. INT, BOOL etc. When completing a global variable list, identifiers of type Silo can be used. This means that the predefined group called ‘Silo’ can be used with the elements defined as required for each silo, thus reducing design time and allowing re-use of the DUT. 3 – 10 MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 3.8 Programming Languages Programming Languages GX IEC Developer supports five programming languages: Two text languages, two graphical languages, and one structuring language. 쎲 Text language: Instruction List language IL (IEC IL and MELSEC IL), Structured Text ST 쎲 Graphical languages: Ladder Diagram language LD, Function Block Diagram language FBD 쎲 Structuring language: Sequential Function Chart language SFC E 3.8.1 WARNING: You cannot change the programming language once you have selected it. Even though it is physically possible to switch to another language, you will lose the entire contents of the unit's body if you attempt to do so! Networks In all the editors - with the exception of the SFC editor and ST editor - your PLC program is divided into a number of program sections referred to as networks. Each network is assigned a name (the network label) which can be used as a destination for jump (goto) instructions. NOTE 3.8.2 Each network can contain no more than one contiguous circuit unit. The Text Editors The following text editors are supported: 쎲 MELSEC Instruction List 쎲 IEC Instruction List 쎲 Structured Text The structure of all Instruction List types is identical. Each Instruction List consists of a sequence of controller instructions. Each controller instruction begins on a new line and consists of a programming instruction and its parameters and variables. However, there are significant differences in the way the controller instructions are executed. The MELSEC Instruction List Language (MELSEC IL) MELSEC Instruction List programs are written following the rules of DIN 19239 and the programming rules familiar from the MELSEC MEDOC software. You can only use genuine MELSEC programming instructions (see Appendix of the Reference Manual). MELSEC Instruction List programs can only contain MELSEC networks. Access to IEC programming instructions is not possible. GX IEC Developer Beginner's Manual 3 – 11 Programming Languages Basic Terms Used in IEC 61131-3 The IEC Instruction List Language (IEC IL) The IEC Instruction List language allows you to combine IEC networks and MELSEC networks in a single program. The IEC networks are programmed according to the IEC 61131-3 rules, and you can use both IEC programming instructions and the adapted MELSEC instructions (see Appendix in Reference Manual). � Fig. 3-8: Combined Instruction List networks � � � 쐃 � Number Description � MELSEC network � Network label To enter the network label "NET_01:" first double-click on the network bar. � MELSEC network � Network bar � Comment text must be enclosed between (* and *) character pairs. � The "CJ" instruction performs a jump to the specified destination network. Tab. 3-5: Key to figure above Structured Text (ST) ST is a text-oriented editor (programming language), similar to PASCAL and supports mathematical functions and a simple creation of loops. ST body does not contain a network list because it always consists of only one network. ST is an editor from the IEC 61131 programming standard. The Structured Text editor is compatible to the IEC 61131-3. All IEC 61131 (IEC 61131-3: PART3-1992) standard functions are supported. All MELSEC instructions are supported. Fig. 3-9. Structured Text body 3 – 12 MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 Programming Languages The Accumulator In the IEC editor the result of each operation is stored in an accumulator directly after execution. This accumulator always contains the operation result of the last instruction programmed. NOTE You do not have to program input conditions (execution conditions) for the operations in this editor. Execution is always based on the contents of the bit accumulator. Example The following illustrates the difference between programming in the MELSEC and IEC editors. We want to program the addition D0(5)+D1(10) = D2(15) to be executed when input X0 is active. 쐃 쐇 쐋 � 쐂 쐆 Fig. 3-10: Code for the addition ... 쐏 ... in the IEC editor ... in the MELSEC editor Number Description � The bit accumulator is undefined at the beginning of the network. � The accumulator now contains a value of 0 or 1, depending on the state of input X0. � The JMPCN instruction (JumpConditionalNot) will be executed if the value in the accumulator is 0. The instructions in section 쐏 are skipped and the program branches to the "Next:" network. If the value in the accumulator is 1, JMPCN is ignored and the instructions in 쐏 are executed. The accumulator then still contains the status of X0, i.e. 1 in this case. � Writes the contents of data D0, i.e. 5, to the accumulator. � Adds the value in D0 to the value in D1. After the addition the result (15) is stored in the accumulator. � Stores the result of the addition to D2. The accumulator still contains the value 15. Tab. 3-6: Key to figure above 쑶 GX IEC Developer Beginner's Manual 3 – 13 Programming Languages Basic Terms Used in IEC 61131-3 Calling Function Blocks Function blocks can only be called as instances, using the following operators: CAL CALC CALCN (Call) (CallConditional)) (CallConditionalNot) CAL is always executed. CALC and CALCN first poll the status of the bit accumulator; they are executed only if its value is 1 (CALC) or 0 (CALCN). The instance name is assigned in the header of the POU. The actual parameters must then be passed to the formal parameters in the code programmed in the body. Fig. 3-11: The formal parameters of function block POU_9 are "IN" and "OUT". Actual parameters "TimerS1" and "ComeIn" are passed to these formal parameters. � � � Number Description � Declares the instance "Reset" of function block POU_9. � There are two ways to pass actual parameters to formal parameters. � There are two ways to pass actual parameters to formal parameters. Tab. 3-7: 3 – 14 Key to figure above MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 Programming Languages Calling Functions When you call a function, you must pass the necessary actual parameters to its formal parameters. A total of n - 1 actual parameters are assigned to every function, where n = total number of function parameters. This is because the first parameter must always be written to the bit accumulator with the LD instruction. Example Fig. 3-12: Use of "Average", a function written by the user in IEC IL language. The function has 4 input parameters. The "Average" function is programmed to perform the following operation: (D0 + D1 + D2 + D3) : 4. When the function has been executed the bit accumulator contains the resulting average value of the four input parameters. 쑶 LD must also be used to pass the first parameter for the EN/ENO functions (e.g. E_ADD, E_MUL, E_XOR). Their first parameter is always the Boolean EN input (EN = ENable). Example Fig. 3-13: This writes actual parameter X0 to the EN input. The 3 parameters for execution of the addition are programmed with the function itself. The "E_ADD" function performs the following operation: D0 + D1 = D2. Following execution of this function the bit accumulator will contain the status of the ENO output (ENO = ENable Out), which in term has the same status as the EN input. 쑶 GX IEC Developer Beginner's Manual 3 – 15 Programming Languages 3.8.3 Basic Terms Used in IEC 61131-3 The Graphical Editors The Ladder Diagram Language (LD) You can use all available programming instructions in the ladder diagram language (see Appendix in Reference Manual). Ladder diagrams consist of contacts (break and make contacts), coils, function blocks and functions. These elements are linked with horizontal and vertical lines, referred to as interconnects. These interconnects always begin at the power bar on the left, which is sometimes also referred to as the rail. NOTE Each network can contain no more than one contiguous circuit unit. The functions and function blocks are displayed as shaded blocks in the editing window. In addition to their input and output parameters, some also have a Boolean input (EN = ENable) and a Boolean output (ENO = ENable Out). 쐃 쐇 쐄 쐂 쐆 Fig. 3-14: Graphical programming in the ladder diagram editor 쐏 쐋 쐎 쐊 쐅 Number Description Network bar Power bar Input variable Output variable EN input ENO output Output variable Contact Coil Comment Tab. 3-8: 3 – 16 Key to figure above MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 Programming Languages Calling Function Blocks Function blocks can only be called as instances. The instance name must be declared in the header of the POU. In the ladder diagram editor, the name of the function block is displayed inside the shaded block. The instance name declared in the header must be entered directly above the block. Then the actual parameters must be passed from outside to the formal parameters shown inside the block. Fig. 3-15: Calling function blocks 쐃 쐇 쐋 쐏 Number Description 쐃 Declaration of "Reset", an instance of function block POU_9. 쐇 Activation of function block POU_9. The word "Instance" above the shaded block indicates that you must enter the function block's instance name here. 쐋 The instance name "Reset" has been entered. 쐏 Next, the actual parameters "TimerS1" and "ComeIn" are passed to the formal parameters "IN" and "OUT". Tab. 3-9: Key to figure above GX IEC Developer Beginner's Manual 3 – 17 Programming Languages Basic Terms Used in IEC 61131-3 The Function Block Diagram Language (FBD) In the function block diagram language you can also use all programming instructions (see Appendix in Reference Manual). They are displayed as shaded blocks which are connected with the horizontal and vertical interconnect lines. Power bars are not used in this language. In addition to the normal input and output parameters some blocks also have a Boolean input (EN = ENable) and a Boolean output (ENO = ENable Out). 쐃 � 쐏 � 쐂 Fig. 3-16: Graphical programming in the function block language editor � 쐆 Number Description 쐃 Network bar 쐇 Input variable (normal) 쐋 Input variable (negation) 쐏 Function 쐄 EN input 쐂 ENO output 쐆 Output variable Tab. 3-10: Key to figure above Calling Function Blocks and Functions In the function block language, function blocks and functions are called in exactly the same way as in the ladder diagram language. 3 – 18 MITSUBISHI ELECTRIC Basic Terms Used in IEC 61131-3 Programming Languages The Sequential Function Chart Language (SFC) SFC is a structuring language which allows clear representation of complex processes. NOTE The program is the only available program organisation unit (POU) in this language. The basic elements of the SFC language are steps and transitions. From 0 to n actions can be assigned to each step. An action can be a Boolean variable (output or relay) or a PLC program. These programs can be written using any of the editors - including the Sequential Function Chart language itself. All actions are listed in the Action_Pool in the Project Navigator window. Each transition is assigned a transition condition. Transition conditions can be written using any of the editors - except Sequential Function Chart itself. All transitions are also listed in the Project Navigator window. Transitions pass control to the next step in the program sequence when their condition evaluates as logical true. 쐇 쐋 Fig. 3-17: Sample SFC project 쐃 쐏 쐄 Number Description 쐃 The "P_Payment" program organisation unit, which is declared as a program [PRG]. 쐇 The header contains the POU's variables. 쐋 The PLC program was written with the SFC editor. 쐏 The individual transitions can be written with different editors. 쐄 The Action Pool contains the individual actions, which can also be written in different editors. Tab. 3-11: Key to figure above Assignment of actions to steps and of transition conditions to transitions is performed with the following toolbar icons: Fig. 3-18: Activate action/transition condition Fig. 3-19: Deactivate action/transition condition GX IEC Developer Beginner's Manual 3 – 19 Programming Languages Basic Terms Used in IEC 61131-3 Sequencing Rules A sequence always begins with an Initial Step, identified by a double outline. The initial step does not have to be at the physical beginning of the sequence, it can also be placed in other locations. Steps are displayed as shaded blocks with names. Transitions are shown as small boxes placed directly on the vertical connecting lines between the steps. Only one step can be active at any one time; this also applies in sequences with selective branching. A step is activated when the directly preceding step is deactivated and the transition condition (i.e. the continue condition) is satisfied. If the continue conditions of two or more transitions are fulfilled at the same time in a sequence with selective branching, execution priority is defined by the order of the sequences from left to right. This means that only the sequence that is furthest to the left will be executed. Even if their continue conditions are satisfied, the sequences further to the right will not be executed. Fig. 3-20: Graphical programming in the Sequential Function Chart editor 쐃 � 쐋 쐏 쐇 쐋 쐇 쐋 쐄 � Number Description 쐃 Initial step 쐇 Step 쐋 Transition 쐏 Jump exit point 쐄 Jump entry point 쐂 Final step Tab. 3-12: Key to figure above Sequences can also contain left and right "divergences" and "convergences" (i.e. alternative branches for different transition conditions). These branches are identified by a double horizontal interconnect lines. Jumps are also allowed within sequences. These are effected with exit points (jump instructions) and entry points (labels). Every step can be declared as a macro step, consisting in turn of a sequence. Macro steps are identified by two additional horizontal lines within the block. The only limitation on the nesting depth is the memory capacity of the controller. NOTE 3 – 20 You will find more detailed information on the sequencing rules of the SFC language in the Reference Manual. You can find a detailed example in Chapter 6 of this manual (Step 6). MITSUBISHI ELECTRIC Installation Hardware Requirements 4 Installation 4.1 Hardware Requirements 4.1.1 Recommended Hardware Configuration 쎲 Pentium II 350 processor or above 약 약 쎲 64 MB RAM (Microsoft Windows 2000) 약 약 128 MB RAM (Microsoft Windows XP) 약 약 1024 MB RAM (Microsoft Windows Vista ) 쎲 Serial interface (RS-232) 쎲 USB port 쎲 Hard disk with at least 200 MB free space 쎲 CD/DVD-ROM drive 쎲 17" (43 cm) VGA monitor (1024 x 768 pixels) 4.1.2 Software Requirements GX IEC Developer is a 32-bit product. The following operating systems are supported: 쎲 Microsoft약 Windows약 2000 Professional (with ServicePack 2 or higher) 쎲 Microsoft약 Windows약 XP Professional (up to ServicePack 3) 쎲 Microsoft약 Windows약 XP Home Edition (up to ServicePack 3) 쎲 Microsoft약 Windows Vista약 (32-Bit) (up to ServicePack 1) 약 약 Versions of Microsoft Windows which are based on double-byte character sets (e. g. Japanese) are not supported. 4.2 E Copyright WARNING: This software is protected by copyright. By opening the distribution disks package you automatically accept the terms and conditions of the License Agreement. You are only permitted to make one single copy of the original distribution CD-ROM for your own backup and archiving purposes. GX IEC Developer Beginner's Manual 4–1 Installing GX IEC Developer 4.3 Installation Installing GX IEC Developer During the installation procedure the setup program will create a directory on your hard disk to copy all the GX IEC Developer files into. 4.3.1 Installing GX IEC Developer on your hard disk 햲 Make sure that the correct Microsoft약 Windows약 version is properly installed on your com약 약 약 puter. For information on using Microsoft Windows please refer to the Windows User's Guide. 햳 Start Microsoft약 Windows약. 햴 Insert the installation CD-ROM in the CD-ROM drive. The GX IEC Developer installation program starts automatically (if not, execute the file SETUP.EXE on the installation CD-ROM). 햵 Follow the instructions that appear on the screen. 햶 Enter the user name, company name, and serial number of the software. 햷 Follow the instructions that appear on the screen. 햸 When the installation procedure is finished the program will create a new program group in the Start menu containing the GX IEC Developer program icon. For further details on the necessary Microsoft약 Windows약 procedures please refer to your 약 약 Microsoft Windows documentation. 4.3.2 Starting GX IEC Developer 햲 In the Start menu click on the GX IEC Developer program icon. The icon is located in: Start > Programs > MELSOFT Application > GX IEC Developer. This starts GX IEC Developer and displays the start-up screen. 햳 Confirm with the « key. 4.3.3 Quitting GX IEC Developer You can quit GX IEC Developer directly at any point in the program by pressing the key combination ¦. Or: Click on the Quit command in the Project menu. 4–2 MITSUBISHI ELECTRIC The User Interface The Elements of the User Interface 5 The User Interface 5.1 The Elements of the User Interface The Project Navigator window and the complete menu bar are both only displayed after opening an existing project or creating a new one (see Step1 in chapter 6 "Getting Started"). The illustration below shows a variety of different windows: The Project Navigator, PLC Parameter and the Header and Body windows of a POU. You can resize and arrange the windows on the screen to suit your individual preferences. 쐃 쐇 쐋 쐏 쐄 쐂 쐆 쐊 쐎 씉 Fig. 5-1: 씈 쐈 쐅 User interface Item Description 쐃 Application title bar 쐇 Menu bar 쐋 Toolbar 쐏 Dialogue box 쐄 Button 쐂 Declaration table (header) 쐆 Object window 쐊 Vertical scrollbar 쐎 Editor (body) 쐅 "Maximise" button 쐈 "Minimise" button 쐉 Status bar 씈 Horizontal scrollbar 씉 Project Navigator window Tab. 5-1: 쐉 Key to figure above GX IEC Developer Beginner's Manual 5–1 The Elements of the User Interface 5.1.1 The User Interface The Menu Bar 약 The GX IEC Developer menu bar uses the standard Windows procedures. When you select one of the menu titles in the menu bar, a drop-down list of available commands is displayed. Commands with an arrow symbol open a submenu of additional commands. Selecting a command opens a dialogue or data entry box. The menu structure and the available options are context-sensitive, changing depending on what you are currently doing in the program. Options displayed in light grey are not currently available for selection. NOTE 5.1.2 A list of all menu commands with explanations is provided in the Appendix of the Reference Manual. The Toolbar The toolbar enables you to select the most important menu commands directly by clicking on the corresponding icons. The toolbar is context-sensitive, i.e. different tool icons are displayed depending on what you are currently doing in GX IEC Developer. NOTE 5.1.3 A complete list of all the available tools and icons is provided at the end of the Reference Manual. Windows GX IEC Developer allows you to edit multiple objects at the same time (e.g. body, header, task). A window is opened on the screen for each object. You can change the size and position of the windows on the screen as you wish. Objects often contain more information than can be displayed in the window; when this happens, horizontal and vertical scroll bars are included that can be used to "scroll" the contents of the windows up and down and from side to side. 5.1.4 The Status Bar The status bar at the bottom of the screen is used to display information on the current status of your project. You can disable the status bar if you wish, and you can also configure the information to be displayed to suit your needs. 5–2 MITSUBISHI ELECTRIC The User Interface 5.1.5 The Elements of the User Interface The Project Navigator The Project Navigator is the "control centre" used for selecting and handling the objects used in GX IEC Developer. This is the starting place for all operations performed on GX IEC Developer objects. The Project Navigator window is not displayed until you open a project. Closing the Project Navigator window automatically closes the project currently on screen. Using the Project Navigator In the Project Navigator tree you can expand a branch by clicking on its [+] symbol and collapse a branch by clicking on its [–] symbol. Expanded and collapsed branches are identified by different symbols [–] or [+] in the tree. You can also expand or collapse branches by double-clicking on the appropriate branch icons. Double-clicking on the lowest level opens the window of the object on that level. Fig. 5-2: „Manoeuvring” with the Project Navigator You can only perform the Cut, Copy, Paste and Delete operations on POU and Task objects. You can copy and delete multiple objects at the same time. To select individual multiple objects, hold down the CTRL key and click on the objects one after the other with the left mouse button. To select a consecutive group of multiple objects, first select the first object with a single click, then hold down the SHIFT key and click on the last object in the list you want to select. NOTE The Extended Information command in the View menu enables or disables the display of additional information with the items in the Project Navigator window. Project Navigator views Three different views can be selected for the Project Navigator via tabs below the Project Navigator window: Project This view gives a total overview of the project. It contains all elements of the project. Calltree For this view, the corresponding root items are tasks or also POUs, if they are not related to a specific task. As subitems all used POUs are shown. Additionally, it can be defined per object, if used global variables should also be shown. Used by This view has exactly two root items. The first root item is the POU pool with its POUs as nodes. Subitems of the POUs and global variables are always POUs calling respectively using the corresponding POU or global variable. GX IEC Developer Beginner's Manual 5–3 Declaration Tables 5.2 The User Interface Declaration Tables The local variables of program organisation units (POU Header) and global variables are defined in declaration tables. Fig. 5-3: Global Variable List Working with tables You can access every cell in a table directly by clicking with the mouse. When the insertion mark (cursor) appears you are in editing mode and can make entries. You can move around in tables with the following keys and key combinations: Key Movement £ ¤ ¢ ¥ © ù© ù« Line up Cell right Line down Cell left Step through all cells from left to right Step through all cells from right to left Insert new line You can also add new lines to a table with the New Declaration command from the Edit menu. You can insert a new line at the beginning, end of the table or before or after the current line. Deleting Tables and Lines Clicking on one of the shaded line number boxes at the left selects the corresponding line. Clicking on the empty uppermost box in the number box column selects the entire table. You can then delete the selected line or table by pressing the DEL key. NOTE The program performs these delete operations immediately, without prompting for confirmation. If you inadvertently delete something you can recover it by selecting the Undo command in the Edit menu. Undo only works if you select it directly after the delete operation, however! Formatting Tables You can adjust the width of the table columns to suit your individual needs. Move the mouse pointer to the dividing line between the shaded column title boxes, so that the pointer changes to a double-headed arrow. Then press and hold the left mouse button and drag the shaded dividing line until the column has the desired width. 5–4 MITSUBISHI ELECTRIC The User Interface 5.3 The Editors The Editors Your PLC programs are always divided into a number of logical program sections - referred to as "networks". These networks can be assigned names (labels) which can then be used as jump destinations within the PLC program. New networks are inserted with the New Network command in the Edit menu. To open an editing window, simply double-click on a Body entry in the Project Navigator window. Text Editors 쎲 IEC Instruction List 쎲 MELSEC Instruction List 쎲 Structured Text Graphical Editors 쎲 Ladder Diagram 쎲 Function Block Diagram 쎲 Sequential Function Chart Please refer to the Reference Manual for full details on using the SFC language. 5.3.1 Using the text editors All cursor movements and editing functions are similar to those of a standard word processor. The following additional conventions also apply in the text editors: 쎲 To activate editing mode, click on the surface of a network with the mouse pointer. 쎲 Each program line contains one controller instruction, with the following syntax: 쎲 The operator and the operands must always be separated by tabstops. 쎲 Pressing F2 when the cursor is in the first column displays a list of available programming instructions; pressing it in the second column displays a list of available operands (variables). 쎲 You can also enter optional comments, which can be one or more lines long. Comments must be enclosed between (* and *) characters. 쎲 You can move around in the program lines with the normal cursor keys. GX IEC Developer Beginner's Manual 5–5 The Editors 5.3.2 The User Interface Using the graphical editors Working in the graphical editors is similar to using a drawing program. You can add elements to the networks in the editing windows by selecting symbols in the toolbar and with the commands in the Tools menu. The following elements are available: 쎲 Contact (input, LD only) 쎲 Coil (output, LD only) 쎲 Programming instructions 쎲 Input variable 쎲 Output variable 쎲 Return instruction 쎲 Jump label 쎲 Comment Once you have positioned the elements, you then connect them with one another using interconnect lines. NOTE 5–6 In Chapter 6 (Step 6) you will learn how to use the different editors MITSUBISHI ELECTRIC Getting Started 6 Getting Started This chapter contains an introductory outline of all the steps required to create a new project with GX IEC Developer, with clear instructions on the procedures necessary in each step. Steps Page Step 1 Creating New Projects 6-2 Step 2 Creating Tasks 6-4 Step 3 Declaring Global Variables 6-5 Step 4 Creating Program Organisation Units 6-7 Step 5 Programming POU Headers 6-8 Step 6 Programming POU Bodies 6-9 Programming examples: 쎲 Inputs and outputs in LD Sum function in FBD 쎲 I/O signal configuration parameters 쎲 Timers in LD/FBD/IL 쎲 Sequential Function Chart language 쎲 Step 7 Checking PLC Programs (syntax check) 6-36 Step 8 Configuring Tasks 6-37 Step 9 Compiling Projects 6-39 Step 10 Communications Port Setup 6-40 Step 11 Downloading Programs to the PLC 6-41 Step 12 Monitoring Programs 6-42 Step 13 Uploading Data from the PLC 6-43 GX IEC Developer Beginner's Manual 6–1 Step 1: Creating New Projects 6.1 Getting Started Step 1: Creating New Projects How to create a new project 햲 Select New in the Project menu. 햳 This displays the Select PLC Type dialogue box. Select your PLC in the PLC Type field and confirm your selection with OK. Fig. 6-1 CPU type selection 햴 The New Project dialogue box is displayed. Select or enter the path under which you wish to store the new project. 햵 Enter a name for the new project at the end of the path (the project name is also the name of the subdirectory/folder in which it is stored). When you are satisfied, click on the Create button to create the project. Fig. 6-2: In this example a project called PROJ_NEW is being created in the subdirectory D:\PROJECTS. Please note that PROJ_NEW is not a single file, but rather a subdirectory created by GX IEC Developer to contain all the project files. 6–2 MITSUBISHI ELECTRIC Getting Started Step 1: Creating New Projects 햶 In the dialogue box GX IEC Developer New Project Startup Options click on the Empty Project option button and confirm with OK. Fig. 6-3: GX IEC Developer then creates the empty new project as defined. As soon as you have created a new project the Project Navigator window is displayed on the screen automatically with all the standard entries for the project. Fig. 6-4: Project Navigator showing standard entries for the project and the optionally activated additional informations The project entries are displayed in a hierarchical tree structure, which always contains the following standard components: – Project Name – Library Pool – PLC Parameters – Task Pool – Data Unit Types Pool – Global Variables – Program Organisation Units Additional information is optionally displayed in brackets behind each entry in the Project Navigator window. You can activate the display of these details by clicking on Extended Information in the View menu (a check mark is displayed next to the option when it is enabled). The standard GX IEC Developer window background colour is light grey. You can change all the colours to suit your personal taste with Colors in the View menu. GX IEC Developer Beginner's Manual 6–3 Step 2: Creating Tasks 6.2 Getting Started Step 2: Creating Tasks How to define a new task 햲 Select the Project Navigator window. 햳 Select New in the Object menu, then select the Task option. Or Click on the New Task icon in the toolbar: NOTE This tool icon is only displayed in the toolbar when the Project Navigator window is displayed on the screen, i.e. when a project is open. The New Task dialogue box is displayed. Fig. 6-5: Defining a new task 햴 Enter a name (max. 32 characters) for the new task and confirm with OK. GX IEC Developer then creates the task and displays the name in the Task Pool in the Project Navigator window. NOTE 6–4 Assignment of the program organisation units (POUs) to the tasks and definition of the task attributes will be performed later on in Step 8. MITSUBISHI ELECTRIC Getting Started 6.3 Step 3: Declaring Global Variables Step 3: Declaring Global Variables How to declare global variables 햲 Double-click on the Global_Vars branch in the Project Navigator. This opens the Global Variable List window on the right hand side of the screen, containing the declaration table for entry of the variables. Fig. 6-6: Declaration table of Global Variable List 햳 Click in the first cell in the Class column with the mouse cursor, then click on the up arrow button and select VAR_GLOBAL or VAR_GLOBAL_CONSTANT. 햴 Press © to move to the Identifier column, then enter the identifier for your first global variable. 햵 Press © to move to the MIT-Addr. or IEC-Addr. column. Enter the absolute address of the global variable. 햶 Press © to move to the Type column and click on the up arrow button with the mouse to open the Type Selection dialogue box. Fig. 6-7: Data type selection 햷 Select Simple Types in the Type Class field. 햸 Select the appropriate data type from the list on the left. The initial value in the Initial column is assigned automatically and cannot be changed by the user. 햹 If you want to enter a comment text for the variable press © to move to the Comment column, then enter your text. GX IEC Developer Beginner's Manual 6–5 Step 3: Declaring Global Variables Getting Started 햺 To enter another variable, – If the editing cursor is active in the Comment column (white background with blinking cursor), you can create a new variable declaration line by pressing ©. Fig. 6-8: Entering another variable or – Select any cell in the last line of the table and press ù«. Fig. 6-9: Entering another variable or – Select New Declaration in the Edit menu and then select the position in which it is to be inserted from the submenu. or – Copy an existing declaration line: First select the line by clicking on its number button at the left, then press §C to copy it to the clipboard. Then select the insertion position by clicking on the appropriate number button and press one of the icons to insert a new line above or below the selected line. Click on the number of the new line and press §V to overwrite the new line with the copied line from the clipboard. 햻 Save your new entries with Object - Save. NOTE 6–6 The terms identifier, address and data type are defined and explained in Chapter 3. MITSUBISHI ELECTRIC Getting Started 6.4 Step 4: Creating Program Organisation Units Step 4: Creating Program Organisation Units Program organisation units (POUs) always consist of two main parts, a header and a body. How to create a new program organisation unit 햲 Click on the New POU icon in the toolbar: NOTE This tool icon is only displayed in the toolbar when the Project Navigator window is displayed on the screen, i.e. when a project is open. 햳 Enter a name for the new POU and specify whether it is to be created as a program (PRG), a function (FUN) or a function block (FB). Then select the programming language/editor to be used for the creation of the PLC program in the POU's body. When you are satisfied that all your entries are correct select OK to add the new POU to the project. Fig. 6-10: A new POU called "Control" is being defined and declared as a "Program" (PRG) type. The PLC program in the body of the POU is going to be written in ladder diagram language. The new "Control" POU is then added to the project and appears in the POU Pool in the Project Navigator window. Fig. 6-11: The [+] symbol to the left of "Control" in the project tree indicates that this entry has subordinate entries that are currently collapsed. The asterisk in front of the term "Control" indicates that this POU has not yet been compiled. 햴 Double-click on "Control" to open the subordinate entries. Fig. 6-12: Every POU has two main components: a header and a body containing the actual program in the selected programming language. GX IEC Developer Beginner's Manual 6–7 Step 5: Programming POU Headers 6.5 Getting Started Step 5: Programming POU Headers The POU header is used to declare and store the variables used by the program that the POU contains. In addition to global and local variables, these declarations can also include instances of function blocks. How to program the POU header 햲 Check that the Header and Body entries are displayed under the POU entry in the POU Pool and expand them if necessary (see � in Step 4). 햳 Double-click on the "Header" entry in the Project Navigator window. This opens a window containing the declaration table for the header's local variables on the right hand side of the screen. 햴 To declare the variables, proceed in exactly the same way as with the global variables in Step 3 above, entering the class, identifier and data type for each variable. Fig. 6-13: Declaring variables for the program header 햵 Select Save in the Object menu to store your entries NOTE If you wish to enter global variables in the header you can copy them from the global variables declaration table (§C) and then insert them in this declaration table (§v). The terms class, identifier and data type are defined and explained in Chapter 3. 6–8 MITSUBISHI ELECTRIC Getting Started 6.6 Step 6: Programming POU Bodies Step 6: Programming POU Bodies The body contains the actual code of the PLC program. The programming language used is shown in the information in brackets following the "Body" entry in the project tree. How to program the POU body 햲 Check that the Header and Body entries are displayed under the POU entry in the POU Pool and expand them if necessary (see � in Step 4). 햳 Double-click on the "Body" entry in the Project Navigator. The editing window of the editor for the selected programming language is opened on the right hand side of the screen. It contains one network. Fig. 6-14: Programming a POU body in a network editor If you wish, you can disable the background grid display by clicking on Grid in the View menu (a check mark is displayed in the menu when the function is enabled). You can adjust the size of the background grid with the Environment option in the View menu. Please note that the value you enter for the grid spacing changes the setting for the entire screen setup, and not just for the selected programming editor. 햴 Now you can start writing your PLC program. You will find programming examples for the various programming languages and editors on the following pages. 햵 Select Save in the Object menu to save the body of your POU. NOTE You can increase the size of the editing area with the mouse. Position the mouse pointer on the lower edge of the network bar box at the left of the editing window (the pointer changes to a double arrow when it is over the resize line). To resize the editing area, hold down the left mouse button, drag the dotted line to the desired position and then release the button. GX IEC Developer Beginner's Manual 6–9 Programming Examples Getting Started 6.7 Programming Examples 6.7.1 Inputs and outputs in ladder diagram language (LD) Programming inputs and outputs in the LD editor 햲 In the Project Navigator window, double-click on a program body entry defined with the ladder diagram language (LD). 햳 Click on the “Contact” tool icon in the toolbar. Fig. 6-15: Selecting the "Contact" tool 햴 Move the mouse pointer to the desired position and press the left mouse button to place the input contact. Fig. 6-16: Placing the input contact 햵 Click on the “Coil” tool icon in the toolbar. Fig. 6-17: Selecting the "Coil" tool 햶 Move the mouse pointer to the desired position and press the left mouse button to place the output coil. Fig. 6-18: Placing the output coil 6 – 10 MITSUBISHI ELECTRIC Getting Started Programming Examples 햷 Click on the"Interconnect/Line" tool icon in the toolbar or Click with the right mouse button to open the context menu. Select the option “Line”. Fig. 6-19: Selecting the "Line" tool 햸 Position the pointer over the left network bar and click the left mouse button. Draw a line to the connection point of the output coil and left-click again. Fig. 6-20: Drawing a connection line The "?" character that appears above the input contact and output coil symbols serves as dummy, which you must replace with declared operand names or a direct address (X, Y). 햹 Click on the "Select mode" tool icon in the toolbar. Using the mouse pointer, select the "?" dummy character over the contact and the coil and overwrite the dummy character with appropriate variable names. Alternatively, you can also press to display the operand selection list and select a name from the list. Fig. 6-21: Selecting the "Selection" tool NOTE For the described procedures the Auto Connect mode is not activated. GX IEC Developer Beginner's Manual 6 – 11 Programming Examples 6.7.2 Getting Started A Sum Function in FBD Language Programming a sum function in the FBD editor Steps 햲 through 햷 below are exactly the same in the ladder diagram and function block diagram editors. Only the tools displayed in the toolbar are different in each case. 햲 In the Project Navigator window, double-click on a body entry defined with the function block diagram language (FBD). 햳 Click on the “Function Block” tool icon in the toolbar. Fig. 6-22: Selecting the "Function Block" tool 햴 Double-click on the ADD instruction in the selection box displayed. Fig. 6-23: Selecting the "ADD" instruction 햵 Position the mouse pointer and press the left mouse button to place the function block. Fig. 6-24: Placing the function block 6 – 12 MITSUBISHI ELECTRIC Getting Started Programming Examples 햶 Click on the dummy character “?” of the input variable. Overwrite the first dummy character with the number 12 and the second dummy character with the number 8. Fig. 6-25: Overwriting the dummy character "?" 햷 Click on the dummy character “?” of the output variable and then press to display the operand list. Select "Sum" and confirm with OK. NOTE The variables will only appear in the operand list if the header in which they are declared has been saved. Fig. 6-26: Declared variables in the header must have been saved GX IEC Developer Beginner's Manual 6 – 13 Programming Examples 6.7.3 Getting Started I/O Signal Configuration Parameters Setting the signal configuration parameters of inputs and outputs 햲 Double-click on an input contact, an output coil or the connection point of a variable in a function block to display the Signal Configuration dialogue box. Select the appropriate options, then confirm with OK. Fig. 6-27: Signal configuration 쐃 � � � � Number Description 쐃 Negated input contact (LD only) 쐇 Negated output coil (LD only) 쐋 Set output coil (LD only) 쐏 Reset output coil (LD only) 쐄 Negated input variable (LD and FBD) 쐂 Negated output variable (LD and FBD) Tab. 6-1: 6 – 14 � Key to figure above MITSUBISHI ELECTRIC Getting Started 6.7.4 Programming Examples Timers in LD/FBD/IL Description of the timer device All timers must have the following four elements: TValue: TN: TC: TS: Set point value Actual value Output coil Input contact Fig. 6-28: The elements TN, TC and TS must be declared in the global variables list. Fig. 6-29: The element TValue is passed to the function directly. The timer example The following example shows how to program a timer and a function block instance (see Chapter 3) in ladder diagram, function block diagram and Instruction List languages. Objective When "Input1" is set the 100-ms timer "Timer1" must start to count and continue until it reaches a value of 100. We want "Output1" to be set when "Input2" is set, and we want "Output1" to be reset again when the set point value of 100 is reached. Algorithm: "Input2" and the timer contact "Timer1S" (TS) are responsible for switching "Output1". This function will be performed by the user-programmed function block SET_RST." "Input1" activates the timer, i.e. it controls the switching of the timer coil "Timer1C" (TC). The set point value TValue is 100. The timer function will be implemented by using the manufacturer function TIMER_M. GX IEC Developer Beginner's Manual 6 – 15 Programming Examples Getting Started Creating the program Step 1: Program the function block SET_RST 햲 Create a POU called "SET_RST" and define it as a function block to be programmed in ladder diagram language (see Step 4). 햳 Enter the following three variables in the header: SET, RST and Q. 햴 Insert two network circuit blocks in the body. Fig. 6-30: SET and RST are input variables (VAR_INPUT). Q is an output variable (VAR_OUTPUT). Q is set when SET is active, and Q is reset when RST is set. You can configure the S (set) and R (reset) parameters by double-clicking on the coil symbol. 햵 Save the header and the body (Object - Save). 햶 Select the "SET_RST" POU in the Project Navigator window and press ¦«. The following dialogue box is then displayed: Fig. 6-31: Function information 햷 Activate the EN/ENO Contacts check box to assign an EN input and an ENO output to the function block and activate the Macrocode to create an optimized code. 6 – 16 MITSUBISHI ELECTRIC Getting Started Programming Examples Step 2: Define the global variables The timer elements TC, TS and TN must first be declared in the Global Variable List. They can then be called in the header of the POU in which the timer is going to be used. In this example, the input and output variables are also declared globally. 햲 Open the global variable declaration table (see Step 3). 햳 Declare the following variables. Fig. 6-32: Declaring the global variables Step 3: Create the Timer POU (ladder diagram) 햲 Create a new POU as a program using the ladder diagram language (see Step 4). 햳 Open the header of the new POU and declare the following variables: Fig. 6-33: Declaring the variables in the header You can speed up this process by copying the variables that you have already entered in the Global Variable List and inserting them here. Use global variables = VAR_GLOBAL Use as local variables = VAR The variable SET_RST1 is an instance of the function block SET_RST (see Chapter 3 for details on instancing). 햴 Save the header (Object - Save). GX IEC Developer Beginner's Manual 6 – 17 Programming Examples Getting Started 햵 Open the body of the POU. The timer we shall use is a function that is stored in the manufacturer library. Fig. 6-34: The timer function is called TIMER_M You can find instructions on how to insert function blocks in the editing window in the section on ”Sum Function in FBD”. 햶 Create the following PLC program: Fig. 6-35: Ladder Diagram program example SET_RST1 The function blocks used in the program can be found in the following libraries: Manufacturer Library: Function blocks: IEC Standard Library: 6 – 18 TIMER_M SET_RST MOVE MITSUBISHI ELECTRIC Getting Started Programming Examples "Input1" "Timer1C" 10 Timer runs for 10 seconds 0 "Timer1S" "Input2" "Output1" Fig. 6-36: Timer sequence Timer sequence The timer sequence begins when INPUT1 is set and the timer starts to run. If INPUT2 is set, OUTPUT1 is switched on. When the 10-second period has elapsed, timer contact TIMER1S is set and OUTPUT1 is switched off again. If Input2 still remains set or is set, Output1 will be set again. The lower program block containing the MOVE instruction is only necessary to make it possible to follow the 10-second sequence in monitoring mode. Programming the timer in function block diagram language The following illustration shows how to realize the same program using function block diagram language: Fig. 6-37: Function Block Diagram program example GX IEC Developer Beginner's Manual 6 – 19 Programming Examples Getting Started Function block diagram language Timer: Coil: Contact: Actual value: TIMER2C TIMER2S TIMER2N Programming the timer in Instruction List language The following illustration shows how to realize the same program using Instruction List language: Fig. 6-38: Instruction List program example Instruction list language Timer: Coil: Contact: Actual value: NOTE 6.7.5 TIMER1C TIMER1S TIMER1N Please refer to Chapter 3 for detailed instructions on how to call functions and pass the actual parameters to the formal parameters of function block instances in the Instruction List language. Sequential Function Chart Language You can find a basic introduction to the SFC programming language in Chapter 3 of this manual. More detailed information is provided in the Reference Manual. The following example is a step-by-step illustration of the procedures required to create an SFC program using the GX IEC Developer tools. 6 – 20 MITSUBISHI ELECTRIC Getting Started Programming Examples The "Process" sample program The program is called "Process" and solves the problem using a variety of selective branching constructs and the Jump instruction. Fig. 6-39: The "Process" program Program execution 쎲 When the PLC is switched to RUN mode "Output1" is set. 쎲 The transition "TRAN_1" performs a TRUE/FALSE poll of "Input1". If "Input1" is set "Step_1" and "Step_1_a" are both activated. "Output2" blinks and "Output3" is switched on continuously. 쎲 The transition "Input2" polls "Input2". If the latter is set "Step_2" is executed and "Output4" is set. 쎲 In the subsequent branches to "Input3", "Input4" and "Input5" a variety of program sequences then execute in parallel. If "Input3" is set, this activates "Step_3". "Input5" activates the jump exit point "Jump" which leads to the jump entry point "Jump" and also activates "Step_3". "Step_3" sets "Output5". If "Input4" is set, this triggers "Step_4", which then switches "Output6". 쎲 "Input6" and "Input7" lead to the end of the program. GX IEC Developer Beginner's Manual 6 – 21 Programming Examples Getting Started Creating the program Perform steps 1 through 8 in the order described. Step 1: Create the POU 햲 Create a new POU called "Process". Select PRG (program) as the class and Sequential Function Chart as the programming language (see Step 4). Fig. 6-40: The new "Process" POU is displayed in the Project Navigator. In addition to the header and the body, each POU written in SFC language also has an action pool entry in which the actions assigned to the POU are stored. Step 2: Declare the variables in the header 햲 Open the header and enter the local variables to be used in the POU (see Step 3). Global variables do not need to be declared here, as they can be used directly as global variables. Fig. 6-41: In this example only local variables are used. Step 3: Open the body 햲 Double-click on the "Body" entry in the Project Navigator window. Fig. 6-42: When you open the SFC editor the following elements are displayed: - The Initial Step (double outline) - The transition TRUE - The Final Step 6 – 22 MITSUBISHI ELECTRIC Getting Started NOTE Programming Examples Steps to which no actions are yet associated are shown filled in white. The fill colour changes to grey when actions are associated. Your current position in the sequence is indicated by a "block cursor", displayed as a black rectangle around the elements that can be moved around at will in the editing window with the mouse or cursor keys. The tool icons activated in the toolbar change depending on the current position of this cursor; you cannot use all the tools at all positions in a program. Step 4: Create the sequence 햲 Select the "TRUE" transition with the block cursor. Fig. 6-43: Selecting the "TRUE" transition 햳 Click on the tool icon Inserts a new step and transition pair. Fig. 6-44: Inserted new step and transition pair 햴 Select the step you have just inserted. Fig. 6-45: Selected new step GX IEC Developer Beginner's Manual 6 – 23 Programming Examples Getting Started 햵 Click on the tool icon Inserts a right divergence and a new step. Fig. 6-46: Inserted new right divergence and step 햶 Select the "TRUE" transition. Fig. 6-47: Selected "TRUE" transition 햷 Click on the tool icon Inserts a right convergence. Fig. 6-48: Inserted new right convergence 6 – 24 MITSUBISHI ELECTRIC Getting Started Programming Examples 햸 Select the "TRUE" transition. Fig. 6-49: Selected "TRUE" transition 햹 Click on the tool icon Inserts a new step and transition pair. Fig. 6-50: Inserted new step and transition pair 햺 Select the "TRUE" transition. Fig. 6-51: Selected "TRUE" transition GX IEC Developer Beginner's Manual 6 – 25 Programming Examples Getting Started 햻 Click twice on the tool icon Inserts two right divergences with transitions. Fig. 6-52: Two inserted new right divergences 햽 Select the "TRUE" transition. Fig. 6-53: Selected "TRUE" transition 6 – 26 MITSUBISHI ELECTRIC Getting Started Programming Examples 햾 Click on the tool icon Inserts a new step and transition pair. Fig. 6-54: Inserted new step and transition pair 햿 Click in the empty space next to the step you have just inserted. Fig. 6-55: Selection rectangle for location of new step and transition pair GX IEC Developer Beginner's Manual 6 – 27 Programming Examples Getting Started 헀 Click on the tool icon Inserts a new step and transition pair. Fig. 6-56: Inserted new step and transition pair 헁 Click on the final step. Fig. 6-57: Selected final step 6 – 28 MITSUBISHI ELECTRIC Getting Started Programming Examples 헂 Click on the tool icon Inserts a right convergence. Fig. 6-58: Inserted new right convergence 헃 Click on the left hand step in the bottom row. Fig. 6-59: Selected step in the bottom row GX IEC Developer Beginner's Manual 6 – 29 Programming Examples Getting Started 헄 Click on the tool icon Inserts a jump entry point. Fig. 6-60: Inserted jump entry point 헅 Click on the empty space below the free transition. Fig. 6-61: Selected position for new item 6 – 30 MITSUBISHI ELECTRIC Getting Started Programming Examples 헆 Click on the tool icon Inserts a jump exit point. Fig. 6-62: Inserted jump exit point Step 5: Assign names to the steps and the jump exit/entry labels. 햲 Click on the element you want to assign a name to. Activates editing mode. 햳 Enter the name (Example: "Step_1" through "Step_4" and "Jump"). Fig. 6-63: Assigned names to the steps and jump exit/entry labels GX IEC Developer Beginner's Manual 6 – 31 Programming Examples Getting Started Step 6: Assign transition conditions to the transitions NOTE You can use transition programs, TRUE/FALSE and Boolean variables (referenced by direct address or name) as transition conditions. Assigning and creating a transition program 햲 Click on the transition to which you wish to assign a program. Activates editing mode. 햳 Enter the program name (Example: "TRAN_1"). Fig. 6-64: Entered program name 햴 Click on the tool icon The New Transition dialogue box is displayed, with the program name you just entered. 햵 Select the programming language (Example: ladder diagram). Fig. 6-65: Programming language selection for transition 햶 Click on OK. The body of the transition program is displayed automatically. 햷 Write the transition program. Fig. 6-66: Transition program 6 – 32 MITSUBISHI ELECTRIC Getting Started Programming Examples Assigning an existing variable to a transition 햲 Double-click on the transition to which you wish to assign a variable. Activates editing mode. 햳 Enter the name of an existing variable (Example: "Input2" to "Input7"). NOTE This overwrites the "TRUE" transition condition. Fig. 6-67: Existing variables assigned to transitions GX IEC Developer Beginner's Manual 6 – 33 Programming Examples Getting Started Step 7: Create the actions 햲 Select the "Process" POU in the Project Navigator. 햳 Click on the tool icon Displays the New Action dialogue box. 햴 Enter a name for the action (Example: "Action_1") and select the programming language (Example: ladder diagram). Fig. 6-68: Programming language selection for action The new action is displayed in the Action Pool in the Project Navigator window. 햵 Double-click on "Action_1" to open the program editor. Fig. 6-69: New action in the Action Pool in the Project Navigator 햶 Enter the program. Fig. 6-70: Action program NOTE 6 – 34 Transition and action programs are written in exactly the same way as any other POU. You can write these programs using Instruction List, ladder diagram or function block diagram language. The Sequential Function Chart language itself is not supported for these programs, however. MITSUBISHI ELECTRIC Getting Started Programming Examples Step 8: Assign actions or Boolean variables to the steps 햲 Select the step to which you wish to assign an action or variable (Example: "Step_1"). 햳 Click on the tool icon This displays the Action Association dialogue box, which is still empty. Fig. 6-71: Opened Action Association dialogue box 햴 Press the key. This displays the Action Name List box showing the actions and Boolean variables that are currently available. 햵 Select the appropriate action/variable (Example: "Initial" = "Output1" "Step_1" = "Action_1" "Step_1_a" = "Output3" "Step_2" = "Output4" "Step_3" = "Output5" "Step_4" = "Output6" Fig. 6-72: Action Name List GX IEC Developer Beginner's Manual 6 – 35 Step 7: Checking PLC Programs (syntax check) Getting Started 햶 Close the Action Name List box by double-clicking on the control menu button. The step will now be displayed with a grey fill colour. Fig. 6-73: Fill colour indicates assigned actions or Boolean variables to the steps 6.8 Step 7: Checking PLC Programs (syntax check) How to check your program for syntax errors 햲 Select the object to be checked in the Project Navigator window. 햳 Select Check in the Object menu or Click on the Syntax Check tool icon in the toolbar: If the syntax check program finds any errors they are displayed and explained in the Compile/Check Messages box. Fig. 6-74: Errors are displayed and explained in the Compile/Check Messages box 햴 You can display the source of any errors found automatically: Double-click on the corresponding error message in the Errors/Warnings list, or select the message and click on the Show button. This calls the object containing the error, with the source of the error highlighted in red. NOTE 6 – 36 You can perform syntax checks both on individual objects and the entire project as a whole. You can also perform separate checks on the header and body of a single POU. Simply select the object to be checked in the Project Navigator (to check the entire project select the Project entry at the top of the tree). MITSUBISHI ELECTRIC Getting Started 6.9 Step 8: Configuring Tasks Step 8: Configuring Tasks In this section it is assumed that you have already created the tasks for your project (see Step2). Their entries are displayed in the Task Pool in the Project Navigator tree. Before you can use them in the program you must first specify the POUs you want to use in the tasks and configure the task attributes. How to assign PRG type POUs to tasks 햲 Double-click on the task's entry in the Task Pool. A table is displayed on the right of the screen in which you can then assemble the task by specifying the POUs it is to contain. Fig. 6-75: The task configuration table 햳 Click on the pop-up list icon in the first table line and select the POU you want to add to the task in the dialogue box displayed. Confirm your selection with OK. Only POUs defined as programs (PRG) are included in the dialogue box list. The name of the selected POU will then appear in the POU Name column in the first line of the table. NOTE Only POUs that have not yet been included in a previously stored task are included in the dialogue box list. Using the © key, move the cursor to the next cell of the table and enter a comment for the POU entry in the Comment column (optional). Repeat step 2 for each additional POU you wish to use in the task. To insert a new table line for the next POU entry, select New Declaration in the Edit menu, then select the position at which the line is to be inserted in the submenu. When the cursor is on a comment cell that is currently in edit mode (white background) you can insert a new line at the end of the table automatically by pressing ©. GX IEC Developer Beginner's Manual 6 – 37 Step 8: Configuring Tasks Getting Started How to configure the task execution attributes 햲 Select the task to be configured in the Project Navigator window or in the task configuration table (select the grey number button in the first table column). 햳 Press ¦« to open the Task Information dialogue box. The parameters in this dialogue box set the execution conditions and the security level for the current task. Tasks can be either event-triggered or interval-triggered. Full details on the various execution options can be found in the Reference Manual. Fig. 6-76: Event = TRUE (execute always) Interval = 0 (because event-triggered) Priority = 0 (maximum priority) Priority = 31 (lowest priority) The dialogue box also shows the current size of the task and the date and time of the last editing change. NOTE 6 – 38 Please refer to the Reference Manual for details on configuration of the read/write access parameters. MITSUBISHI ELECTRIC Getting Started 6.10 Step 9: Compiling Projects Step 9: Compiling Projects When you compile a project the system translates the program code into executable form to prepare it for downloading to the controller CPU. How to compile a project 햲 Select Rebuild all in the Project menu. The progress of the compilation process and any errors found are documented in a status window. Fig. 6-77: Errors are displayed and explained in the Compile/Check Messages box E WARNING: Compilation does not download the program code to the CPU, this must be done separately! Always perform a syntax check on the entire project before attempting to compile it (Step 7). GX IEC Developer Beginner's Manual 6 – 39 Step 10: Communications Port Setup 6.11 Getting Started Step 10: Communications Port Setup Before you can download a project to the PLC you must first configure the communications port you are going to use for this purpose. NOTE Before you begin, make sure that you know precisely which physical interface on your personal computer is going to be used for transferring the data to the PLC system. How to select and configure the communications port 햲 In the Online menu select Transfer Setup, then select Ports. The Connection Setup dialogue box appears. Fig. 6-78: Interface selection in the Connection Setup 햳 Under PLC side I/F click on the button Seriell/USB. Fig. 6-79: PC side I/F Serial setting 햴 Select either USB or RS-232C. The COM-ports COM1–COM10 can be selected. 햵 Confirm the entries in the dialogue boxes with OK. 6 – 40 MITSUBISHI ELECTRIC Getting Started 6.12 Step 11: Downloading Programs (to PLC) Step 11: Downloading Programs (to PLC) When your program project is complete and has been checked for errors and successfully compiled you can download it to the controller system for execution. Connecting the PLC system 햲 Connect the PLC to your personal computer. 햳 Make sure that you plug the connection cable into the same port on the computer that you defined in the settings described in Step 10 above. NOTE Please refer to the Reference Manual for details on the various different options available for connecting the PC and PLC systems. How to download a program to the PLC 햲 Select Transfer Setup in the Online menu, then select Project. The Download Setup dialogue box is displayed on the screen. Fig. 6-80: The Transfer Setup dialogue box options are used to specify which data are downloaded to the PLC. 햳 Click on PLC Parameter and Program, then confirm with OK. E WARNING: You must always download the PLC parameter when you transfer a program to the PLC for the first time! Q/QnA series PLCs must be formatted first. 햴 Select Transfer in the Project menu, then select Download to PLC to start the download. The transfer process is documented in a list box; if no error messages are displayed the transfer has been completed successfully. GX IEC Developer Beginner's Manual 6 – 41 Step 12: Monitoring Programs 6.13 Getting Started Step 12: Monitoring Programs In monitoring mode, GX IEC Developer can display the current status and changes of the variables/devices used by your program. NOTE You can only monitor error-free programs that have been compiled and downloaded to the PLC system for execution. 햲 Select Monitoring Mode in the Online menu. A check mark in front of the option in the menu indicates that the mode is currently active, and the entries in the Project Navigator window switch to light grey. 햳 Open the body of the POU that you wish to monitor. 햴 Select Start Monitoring in the Online menu. NOTE The PLC must be in RUN mode for monitoring to be possible. The following examples illustrate how the status changes of the variables are displayed in monitoring mode for the various programming languages supported by GX IEC Developer. NOTE More detailed information on the display options and other monitoring mode features can be found in the Reference Manual (Chapter 8). Fig. 6-81: Function block diagram Filled rectangle: Binary ON Rectangle: Binary OFF DATA = 40: 40 seconds have elapsed Fig. 6-82: Ladder diagram Filled field between the input contacts: ON Filled rectangle: Binary ON Rectangle: Binary OFF DATA =100: 100 seconds have elapsed Fig. 6-83: Instruction list ON/OFF status is indicated by filled /not filled rectangles. 6 – 42 MITSUBISHI ELECTRIC Getting Started 6.14 Step 13: Uploading Data from the CPU Step 13: Uploading Data from the CPU How to upload data from the PLC's CPU to GX IEC Developer 햲 Select Transfer in the Project menu, then select the Upload from PLC option. 햳 This displays the PLC Parameter dialogue box. Select the appropriate CPU Type and confirm with OK (see Step 1). 햴 In the next dialogue box GX IEC Developer asks you to specify the path and name for the uploaded project data, which will be stored as a new project. If you want to create a new project for the upload follow the instructions in Step 1. If a project is already open you can abort the procedure by clicking on the Cancel button. 햵 Click on Setup in the Transfer Setup dialogue box. 햶 This displays the Transfer Setup (CPU port) dialogue box. Select the correct port for your system configuration (see Step 10). 햷 Confirm your entries in both dialogue boxes with OK. This starts the upload procedure. Progress and any errors are documented in a list box. GX IEC Developer Beginner's Manual 6 – 43 Step 13: Uploading Data from the CPU 6 – 44 Getting Started MITSUBISHI ELECTRIC Sample Program: CarPark 7 Project Structure Sample Program: CarPark NOTE This sample program is only intended as an illustration of programming and program structure techniques in GX IEC Developer. In its present version it cannot be used as a basis for producing your own executable programs. The sample version has been written for a MELSEC FX series controller. Description The roll-up door of a car park building can be opened from inside and outside with a key-operated switch. Safety functions included in the program ensure that the door opens automatically in the event of an alarm, and that it does not remain open for too long when no cars are entering or leaving the car park. The program also keeps track of the number of cars in the building. 7.1 Project Structure Fig. 7-1: Project structure TRUE Task: MAIN Task: Door_Operate CPark_OK POU: Counter 7.1.1 POU: Control POU: Door_ Control The Task "Main" ... always runs in the background, with maximum priority. This task contains the POUs "Control" and "Counter", which perform the following functions: POU "Control" – Car park status check – Close car park door if no car drives in or out within a 60-second period – Open car park door when an alarm is triggered POU "Counter" – Count the cars GX IEC Developer Beginner's Manual 7–1 Create the new "CarPark" project (Step 1 in Chapter 6) 7.1.2 Sample Program: CarPark The Task "Door_Operate" ... is event-triggered. It is activated when the OK signal for the car park door (variable: CPark_OK) is set. This task contains the POU "Door_Control", which handles the following functions: POU "Door_Control" – Open car park door when the key switches inside and outside the car park are operated. – Open car park door when an alarm is triggered NOTES GX IEC Developer allows you to apply an engineering design approach to project planning and programming. This is illustrated in the "CarPark" project. Steps S1 through S11 are fully documented. In the sample program all the variables are already known and declared at the outset. Of course, this ideal situation is not always possible in actual projects; one often has to make corrections and add and delete variables in the course of the programming work. This flexible approach is fully supported in GX IEC Developer; the system allows you to edit, add and delete variable declarations at any time, both during programming and afterwards. 7.2 Create the new "CarPark" project (Step 1 in Chapter 6) The first step is to create a new project. Refer to the instructions in S1 and enter "CarPark" as the project name in step 햵. 7.3 Create the tasks (Step 2 in Chapter 6) Create the "Main" and "Door_Operate" tasks. 7–2 MITSUBISHI ELECTRIC Sample Program: CarPark 7.4 Declare the global variables (Step 3 in Chapter 6) Declare the global variables (Step 3 in Chapter 6) Declare the global variables shown in the table below. The entries in the Comment column are optional. Fig. 7-2: 7.5 Global Variable List Create the program organisation units (Step 4 in Chapter 6) Create the three program organisation units: "Control", "Counter" and "Door_Control". Define all three POUs as programs (PRG) and specify ladder diagram (LD) as the programming language. Each POU consists of a header and a body. The header contains the declarations of the variables used by the POU, the body contains the actual PLC program code. 7.5.1 Project Navigator Window All the tasks and POUs you create are automatically displayed in the Project Navigator window. Fig. 7-3 Tasks: "Door_Operate" "Main" POUs: "Control" "Counter" "Door_Control" GX IEC Developer Beginner's Manual 7–3 Program the bodies (Step 6 in Chapter 6) Sample Program: CarPark 7.6 Program the bodies (Step 6 in Chapter 6) 7.6.1 Body of the "Control" POU Fig. 7-4: Door control activation Help call and CO2-alarm Timer activation Time control Close car park door Reset Door control activation When the main switch is on and no help call or CO2 alarm is registered the OK signal (variable: "CPark_OK") for the "Door_Control" program organisation unit is set and the CPark_OK_Lamp is switched on. Help call and CO2 alarm As soon as an alarm is registered the motor rolls the car park door up. The motor is reset when the door activates the upper limit switch ("Door_Open"). Timer activation When the door is open and the photoelectric barriers at the entrance ("Enter_Car_Gone") and the exit ("Exit_Car_Gone") do not register any vehicles the timer "Max_Time_Up_C" starts to count for 60 seconds. 7–4 MITSUBISHI ELECTRIC Sample Program: CarPark Program the bodies (Step 6 in Chapter 6) Time control The "Time_Control" relay is set as soon as the 60-second period has elapsed. Close car park door When no traffic is registered or the main switch is turned off and no alarm is registered the motor rolls the car park door down into the closed position. Reset When no traffic is registered or the main switch is turned off and the door reaches the lower limit switch ("Door_Closed") both the motor and the "Time_Control" relay are reset. 7.6.2 Body of the "Counter" POU Fig. 7-5: Entrance Exit Entrance The program counts the cars driving into the car park by incrementing the total number stored in the "Cars_Number" data register every time a car enters. Exit Every time a car drives out of the building the program decrements the number stored in the data register. The result is that the number always corresponds to the exact number of cars in the building. GX IEC Developer Beginner's Manual 7–5 Program the bodies (Step 6 in Chapter 6) 7.6.3 Sample Program: CarPark Body of the "Door_Control" POU Conditions for activation of the door control routine The Door_Control POU can only be executed when the "CPark_OK" variable in the Control POU is set. "CPark_OK" is only set if – The main switch is on, and – No help call alarm is registered, and – No CO2 alarm is registered. Fig. 7-6: Open car park door Reset Close car park door Reset Open car park door When the car park door is closed the key switch inside ("Exit_Up") or outside ("Enter_Up") the building must be operated to open the door. Reset The motor is reset when the car park door reaches the upper limit switch ("Door_Open"). Close car park door When a car passes through the photoelectric barrier after driving in ("Enter_Car_Gone") or out ("Exit_Car_Gone") of the building the motor starts to close the car park door. Reset When the door reaches the lower limit switch ("Door_Closed") the motor is reset. 7–6 MITSUBISHI ELECTRIC Sample Program: CarPark 7.7 Configure the tasks (Step 8 in Chapter 6) Configure the tasks (Step 8 in Chapter 6) We have already created the two tasks needed by the program, "Main" and "Door_Operate" (see Step 2). The next step is to assign the POUs to the tasks, which are still "empty". Double-click on the task name in the Project Navigator, then select the pop-up arrow icon in the cell in the POU Name column, and select the POU from the list displayed. After assigning the POUs you must then configure the task attributes. Select the task in the Project Navigator window or open the task configuration table by double-clicking on its name, then press ¦«or select Information in the Object menu to open the Task Information dialogue box. 7.7.1 The "Main" task Fig. 7-7: Assign the POUs "Control" and "Counter" to the "Main" task. Fig. 7-8: Attributes of the "Main" task Event: TRUE ... i.e. the task's two POUs "Control" and "Counter" both run continuously. Priority: 1 GX IEC Developer Beginner's Manual 7–7 Configure the tasks (Step 8 in Chapter 6) 7.7.2 Sample Program: CarPark The "Door_Operate" Task Fig. 7-9: The "Door_Operate" task contains the POU "Door_Control". Fig. 7-10: Attributes of the "Door_Operate" task Event: "CPark_OK" ... i.e. the associated POU Door_Control is only activated when the "CPark_OK" signal is set. Priority: 31 NOTE Entry of the project data is now complete. 햲 Compile the project (Step 9), 햳 configure the ports of your personal computer (Step 10) and 햴 download the program to the controller CPU (Step 11). 햵 Monitoring mode for following the status of the program variables is explained in Step 12. 7–8 MITSUBISHI ELECTRIC Importing 8 Importing There are two different ways to import projects created with the older MELSEC MEDOC programming package for use in GX IEC Developer: 쎲 Import by loading a MELSEC MEDOC print file 쎲 Import by uploading directly from the CPU Loading a print file to GX IEC Developer Procedures in MELSEC MEDOC 햲 Select a file name as the printer port. The extension program. is added automatically by the 햳 Make sure that only Instruction List and Name List are selected in the program listing options. The Header must be switched off! 햴 Start the print procedure. Procedures in GX IEC Developer 햵 Open the body of an existing MELSEC Instruction List program or create a new POU and specify MELSEC Instruction List as the language. Important: Make very sure that the POU is declared as a program (PRG). 햶 In a network click on the left field reading MELSEC. 햷 Open the POU body, then select Import MEDOC Network in the Tools menu. 햸 This opens a file selection box. Select the drive and directory, and then select the print file ( ) that you want to load and confirm your choice with OK. This opens another dialogue box. 햹 Confirm the settings with OK (MEDOC Program = Instruction List only, MEDOC Symbolic Names = Name list only). 햺 If necessary, edit the system variables. NOTES The structure of MELSEC MEDOC programs can only be remained, if you select MELSEC mode in the Wizard before! For further details refer to the Reference Manual GX IEC Developer Beginner's Manual 8–1 Importing 8–2 MITSUBISHI ELECTRIC Index Index Function · · · · · · · · · · · · · · · · · · · · · · · 3-3 Calling in FBD · · · · · · · · · · · · · · · · · 3-18 A Calling in text editor · · · · · · · · · · · · · 3-15 POU · · · · · · · · · · · · · · · · · · · · · · · 3-2 Function Block Diagram · · · · · · · · · · · · · 3-18 Absolute address · · · · · · · · · · · · · · · · · 3-6 Action · · · · · · · · · · · · · · · · · · · · · · · 3-19 Creating · · · · · · · · · · · · · · · · · · · · 6-34 Actual parameter· · · · · · · · · · · · · · · · · · 3-4 Arrays Overview · · · · · · · · · · · · · · · · · · · · 3-10 B Editor· · · · · · · · · · · · · · · · · · · · · · · 5-5 Introduction · · · · · · · · · · · · · · · · · · · 2-4 Programming languages · · · · · · · · · · 3-11 Sample function· · · · · · · · · · · · · · · · 6-12 Function block · · · · · · · · · · · · · · · · · · · 3-3 Calling in FBD · · · · · · · · · · · · · · · · · 3-18 Calling in graph. editor · · · · · · · · · · · · 3-17 Calling in text editor · · · · · · · · · · · · · 3-14 POU · · · · · · · · · · · · · · · · · · · · · · · 3-2 Bit accumulator · · · · · · · · · · · · · · · · · · 3-13 Body · · · · · · · · · · · · · · · · · · · · · · · · · 3-2 Programming · · · · · · · · · · · · · · · · · · 6-9 C Colors · · · · · · · · · · · · · · · · · · · · · · · · 6-3 Comment · · · · · · · · · · · · · · · · · · · · · · 3-9 Communications port · · · · · · · · · · · · · · 6-40 D DUT · · · · · · · · · · · · · · · · · · · · · · · · 3-10 DUT Pool · · · · · · · · · · · · · · · · · · · · · · 3-1 Data Unit Types· · · · · · · · · · · · · · · · · · 3-10 Data type · · · · · · · · · · · · · · · · · · · · · · 3-9 Data types · · · · · · · · · · · · · · · · · · · · · 3-9 Declaration table · · · · · · · · · · · · · · · · · · 5-4 G GVL Siehe Global Variable List Global Variables List · · · · · · · · · · · · · · · · · · · · · · · · 3-7 Global variable · · · · · · · · · · · · · · · · · · · 3-6 Declaring · · · · · · · · · · · · · · · · · · · · 6-5 Introduction · · · · · · · · · · · · · · · · · · · 2-5 Project · · · · · · · · · · · · · · · · · · · · · · 3-1 Graphical editor· · · · · · · · · · · · · · · · · · 3-16 Introduction · · · · · · · · · · · · · · · · · · · 2-4 H Hardware requirements · Header· · · · · · · · · · · Programming · · · · · Help · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 4-1 3-2 6-8 1-2 E Editor · · · · · · · · · · · · · · · · · · · · · · · · 5-5 Extended information · · · · · · · · · · · · · · · 6-3 F Final step · · · · · · · · · · · · · · · · · · · · · 6-22 Formal parameter · · · · · · · · · · · · · · · · · 3-4 GX IEC Developer Beginner's Manual I IEC Instruction List Editing · · · · · · · · · · · · · · · · · · · · · · 5-5 Introduction · · · · · · · · · · · · · · · · · · 3-11 IEC address· · · · · · · · · · · · · · · · · · · · · 3-8 Identifier · · · · · · · · · · · · · · · · · · · · · · · 3-8 Declaring · · · · · · · · · · · · · · · · · · · · 3-6 Initial Value · · · · · · · · · · · · · · · · · · · · · 3-9 I Index Initial step P Programming · · · · · · · · · · · · · · · · · 6-22 Sequencing rules · · · · · · · · · · · · · · · 3-20 PLC configuration · · · · · · · · · · · · · · · · · 3-1 Initial value · · · · · · · · · · · · · · · · · · · · · 3-6 POU Pool · · · · · · · · · · · · · · · · · · · · · · 3-1 Parameter· · · · · · · · · · · · · · · · · · · · · · 3-4 Installation · · · · · · · · · · · · · · · · · · · · · 4-1 Instance · · · · · · · · · · · · · · · · · · · · · · · 3-4 Instancing · · · · · · · · · · · · · · · · · · · · · · 3-4 Instruction List · · · · · · · · · · · · · · · · · · 3-11 Introduction · · · · · · · · · · · · · · · · · · · 2-4 Program · · · · · · · · · · · · · · · · · · · · · · · 3-3 Introduction · · · · · · · · · · · · · · · · · · · 2-2 POU · · · · · · · · · · · · · · · · · · · · · · · 3-2 Program Organisation Unit · · · · · · · · · · · · 3-2 Creating · · · · · · · · · · · · · · · · · · · · · 6-7 Introduction · · · · · · · · · · · · · · · · · · · 2-2 J Jump entry point · · · · · · · · · · · · · · · · · 3-20 Programming language · · · · · · · · · · · · · 3-11 Project · · · · · · · · · · · · · · · · · · · · · · · · 6-2 Project Navigator· · · · · · · · · · · · · · · · · · 6-3 Jump exit point · · · · · · · · · · · · · · · · · · 3-20 Q L Quitting GX IEC Developer · · · · · · · · · · · · 4-2 LVL Siehe Local Variable List Ladder Diagram · · · · · · · · · · · · · · · · · 3-16 Editing · · · · · · · · · · · · · · · · · · · · · · 5-5 Introduction · · · · · · · · · · · · · · · · · · · 2-4 Programming example · · · · · · · · · · · · 6-10 Programming languages · · · · · · · · · · 3-11 Local Variables List · · · · · · · · · · · · · · · · · · · · · · · · 3-7 Local variable· · · · · · · · · · · · · · · · · · · · 3-6 Introduction · · · · · · · · · · · · · · · · · · · 2-5 M MELSEC Instruction List Editing · · · · · · · · · · · · · · · · · · · · · · 5-5 Programming languages · · · · · · · · · · 3-11 MITSUBISHI address · · · · · · · · · · · · · · · 3-8 Macro step· · · · · · · · · · · · · · · · · · · · · 3-20 Manufacturer library · · · · · · · · · · · · · · · · 3-1 Menu bar · · · · · · · · · · · · · · · · · · · · · · 5-2 S Sequential Function Chart · · · · · · · · · · · 3-19 Editing · · · · · · · · · · · · · · · · · · · · · · 5-5 Introduction · · · · · · · · · · · · · · · · · · · 2-4 Programming example · · · · · · · · · · · · 6-20 Programming languages · · · · · · · · · · 3-11 Signal configuration · · · · · · · · · · · · · · · 6-14 Standard library · · · · · · · · · · · · · · · · · · 3-1 Starting GX IEC Developer · · · · · · · · · · · · 4-2 Status bar · · · · · · · · · · · · · · · · · · · · · · 5-2 Step · · · · · · · · · · · · · · · · · · · · · · · · 3-19 Structured Text · · · · · · · · · · · · · · · · · · · 5-5 Editing · · · · · · · · · · · · · · · · · · · · · 3-11 Introduction · · · · · · · · · · · · · · · · · · · 2-4 Programming languages · · · · · · · · · · 3-11 Structured programming · · · · · · · · · · · · · 2-2 Syntax check · · · · · · · · · · · · · · · · · · · 6-36 N Navigator · · · · · · · · · · · · · · · · · · · · · · 5-3 II MITSUBISHI ELECTRIC Index T Task Configuring · · · · · · · · · · · · · · · · · · 6-37 Creating · · · · · · · · · · · · · · · · · · · · · 6-4 Introduction · · · · · · · · · · · · · · · · · · · 2-3 Task Pool · · · · · · · · · · · · · · · · · · · · · · 3-1 Text editor Introduction · · · · · · · · · · · · · · · · · · · 2-4 Structured Text · · · · · · · · · · · · · · · · 3-12 User interface · · · · · · · · · · · · · · · · · · 5-5 Timer · · · · · · · · · · · · · · · · · · · · · · · · 6-15 Toolbar · · · · · · · · · · · · · · · · · · · · · · · 5-2 Transition · · · · · · · · · · · · · · · · · · · · · 3-19 Transition condition · · · · · · · · · · · · · · · 3-19 Assigning · · · · · · · · · · · · · · · · · · · 6-32 U User interface · · · · · · · · · · · · · · · · · · · 5-1 V Variables Siehe auch Global Variables Siehe auch Local Variables W Wizard · · · · · · · · · · · · · · · · · · · · · · · · 6-3 GX IEC Developer Beginner's Manual III Index IV MITSUBISHI ELECTRIC MITSUBISHI ELECTRIC HEADQUARTERS EUROPEAN REPRESENTATIVES EUROPEAN REPRESENTATIVES MITSUBISHI ELECTRIC EUROPE B.V. EUROPE German Branch Gothaer Straße 8 D-40880 Ratingen Phone: +49 (0)2102 / 486-0 Fax: +49 (0)2102 / 486-1120 MITSUBISHI ELECTRIC EUROPE B.V. CZECH REPUBLIC Czech Branch Avenir Business Park, Radlická 714/113a CZ-158 00 Praha 5 Phone: +420 (0)251 551 470 Fax: +420 (0)251-551-471 MITSUBISHI ELECTRIC EUROPE B.V. FRANCE French Branch 25, Boulevard des Bouvets F-92741 Nanterre Cedex Phone: +33 (0)1 / 55 68 55 68 Fax: +33 (0)1 / 55 68 57 57 MITSUBISHI ELECTRIC EUROPE B.V. IRELAND Irish Branch Westgate Business Park, Ballymount IRL-Dublin 24 Phone: +353 (0)1 4198800 Fax: +353 (0)1 4198890 MITSUBISHI ELECTRIC EUROPE B.V. ITALY Italian Branch Viale Colleoni 7 I-20041 Agrate Brianza (MI) Phone: +39 039 / 60 53 1 Fax: +39 039 / 60 53 312 MITSUBISHI ELECTRIC EUROPE B.V. SPAIN Spanish Branch Carretera de Rubí 76-80 E-08190 Sant Cugat del Vallés (Barcelona) Phone: 902 131121 // +34 935653131 Fax: +34 935891579 MITSUBISHI ELECTRIC EUROPE B.V. UK UK Branch Travellers Lane UK-Hatfield, Herts. AL10 8XB Phone: +44 (0)1707 / 27 61 00 Fax: +44 (0)1707 / 27 86 95 JAPAN MITSUBISHI ELECTRIC CORPORATION Office Tower “Z” 14 F 8-12,1 chome, Harumi Chuo-Ku Tokyo 104-6212 Phone: +81 3 622 160 60 Fax: +81 3 622 160 75 MITSUBISHI ELECTRIC AUTOMATION, Inc. USA 500 Corporate Woods Parkway Vernon Hills, IL 60061 Phone: +1 847 478 21 00 Fax: +1 847 478 22 53 GEVA AUSTRIA Wiener Straße 89 AT-2500 Baden Phone: +43 (0)2252 / 85 55 20 Fax: +43 (0)2252 / 488 60 TEHNIKON BELARUS Oktyabrskaya 16/5, Off. 703-711 BY-220030 Minsk Phone: +375 (0)17 / 210 46 26 Fax: +375 (0)17 / 210 46 26 ESCO DRIVES & AUTOMATION BELGIUM Culliganlaan 3 BE-1831 Diegem Phone: +32 (0)2 / 717 64 30 Fax: +32 (0)2 / 717 64 31 Koning & Hartman b.v. BELGIUM Woluwelaan 31 BE-1800 Vilvoorde Phone: +32 (0)2 / 257 02 40 Fax: +32 (0)2 / 257 02 49 INEA BH d.o.o. BOSNIA AND HERZEGOVINA Aleja Lipa 56 BA-71000 Sarajevo Phone: +387 (0)33 / 921 164 Fax: +387 (0)33/ 524 539 AKHNATON BULGARIA 4 Andrej Ljapchev Blvd. Pb 21 BG-1756 Sofia Phone: +359 (0)2 / 817 6004 Fax: +359 (0)2 / 97 44 06 1 INEA CR d.o.o. CROATIA Losinjska 4 a HR-10000 Zagreb Phone: +385 (0)1 / 36 940 - 01/ -02/ -03 Fax: +385 (0)1 / 36 940 - 03 AutoCont C.S. s.r.o. CZECH REPUBLIC Technologická 374/6 CZ-708 00 Ostrava-Pustkovec Phone: +420 595 691 150 Fax: +420 595 691 199 B:TECH A.S. CZECH REPUBLIC U Borové 69 CZ-58001 Havlíčkův Brod Phone: +420 (0)569 777 777 Fax: +420 (0)569-777 778 Beijer Electronics A/S DENMARK Lykkegårdsvej 17, 1. DK-4000 Roskilde Phone: +45 (0)46/ 75 76 66 Fax: +45 (0)46 / 75 56 26 Beijer Electronics Eesti OÜ ESTONIA Pärnu mnt.160i EE-11317 Tallinn Phone: +372 (0)6 / 51 81 40 Fax: +372 (0)6 / 51 81 49 Beijer Electronics OY FINLAND Jaakonkatu 2 FIN-01620 Vantaa Phone: +358 (0)207 / 463 500 Fax: +358 (0)207 / 463 501 UTECO A.B.E.E. GREECE 5, Mavrogenous Str. GR-18542 Piraeus Phone: +30 211 / 1206 900 Fax: +30 211 / 1206 999 MELTRADE Ltd. HUNGARY Fertő utca 14. HU-1107 Budapest Phone: +36 (0)1 / 431-9726 Fax: +36 (0)1 / 431-9727 Beijer Electronics SIA LATVIA Vestienas iela 2 LV-1035 Riga Phone: +371 (0)784 / 2280 Fax: +371 (0)784 / 2281 Beijer Electronics UAB LITHUANIA Savanoriu Pr. 187 LT-02300 Vilnius Phone: +370 (0)5 / 232 3101 Fax: +370 (0)5 / 232 2980 ALFATRADE Ltd. MALTA 99, Paola Hill Malta- Paola PLA 1702 Phone: +356 (0)21 / 697 816 Fax: +356 (0)21 / 697 817 INTEHSIS srl MOLDOVA bld. Traian 23/1 MD-2060 Kishinev Phone: +373 (0)22 / 66 4242 Fax: +373 (0)22 / 66 4280 HIFLEX AUTOM.TECHNIEK B.V. NETHERLANDS Wolweverstraat 22 NL-2984 CD Ridderkerk Phone: +31 (0)180 – 46 60 04 Fax: +31 (0)180 – 44 23 55 Koning & Hartman b.v. NETHERLANDS Haarlerbergweg 21-23 NL-1101 CH Amsterdam Phone: +31 (0)20 / 587 76 00 Fax: +31 (0)20 / 587 76 05 Beijer Electronics AS NORWAY Postboks 487 NO-3002 Drammen Phone: +47 (0)32 / 24 30 00 Fax: +47 (0)32 / 84 85 77 MPL Technology Sp. z o.o. POLAND Ul. Krakowska 50 PL-32-083 Balice Phone: +48 (0)12 / 630 47 00 Fax: +48 (0)12 / 630 47 01 Sirius Trading & Services srl ROMANIA Aleea Lacul Morii Nr. 3 RO-060841 Bucuresti, Sector 6 Phone: +40 (0)21 / 430 40 06 Fax: +40 (0)21 / 430 40 02 Craft Con. & Engineering d.o.o. SERBIA Bulevar Svetog Cara Konstantina 80-86 SER-18106 Nis Phone:+381 (0)18 / 292-24-4/5 Fax: +381 (0)18 / 292-24-4/5 INEA SR d.o.o. SERBIA Izletnicka 10 SER-113000 Smederevo Phone: +381 (0)26 / 617 163 Fax: +381 (0)26 / 617 163 AutoCont Control s.r.o. SLOVAKIA Radlinského 47 SK-02601 Dolny Kubin Phone: +421 (0)43 / 5868210 Fax: +421 (0)43 / 5868210 CS MTrade Slovensko, s.r.o. SLOVAKIA Vajanskeho 58 SK-92101 Piestany Phone: +421 (0)33 / 7742 760 Fax: +421 (0)33 / 7735 144 INEA d.o.o. SLOVENIA Stegne 11 SI-1000 Ljubljana Phone: +386 (0)1 / 513 8100 Fax: +386 (0)1 / 513 8170 Beijer Electronics AB SWEDEN Box 426 SE-20124 Malmö Phone: +46 (0)40 / 35 86 00 Fax: +46 (0)40 / 35 86 02 Econotec AG SWITZERLAND Hinterdorfstr. 12 CH-8309 Nürensdorf Phone: +41 (0)44 / 838 48 11 Fax: +41 (0)44 / 838 48 12 GTS TURKEY Bayraktar Bulvari Nutuk Sok. No:5 TR-34775 Yukari Dudullu-Umraniye-ISTANBUL Phone: +90 (0)216 526 39 90 Fax: +90 (0)216 526 3995 CSC Automation Ltd. UKRAINE 4-B, M. Raskovoyi St. UA-02660 Kiev Phone: +380 (0)44 / 494 33 55 Fax: +380 (0)44 / 494-33-66 MITSUBISHI ELECTRIC FACTORY AUTOMATION EURASIAN REPRESENTATIVES Kazpromautomatics Ltd. Mustafina Str. 7/2 KAZ-470046 Karaganda Phone: +7 7212 / 50 11 50 Fax: +7 7212 / 50 11 50 KAZAKHSTAN MIDDLE EAST REPRESENTATIVES ILAN & GAVISH Ltd. ISRAEL 24 Shenkar St., Kiryat Arie IL-49001 Petah-Tiqva Phone: +972 (0)3 / 922 18 24 Fax: +972 (0)3 / 924 0761 TEXEL ELECTRONICS Ltd. ISRAEL 2 Ha´umanut, P.O.B. 6272 IL-42160 Netanya Phone: +972 (0)9 / 863 39 80 Fax: +972 (0)9 / 885 24 30 CEG INTERNATIONAL LEBANON Cebaco Center/Block A Autostrade DORA Lebanon - Beirut Phone: +961 (0)1 / 240 430 Fax: +961 (0)1 / 240 438 AFRICAN REPRESENTATIVE CBI Ltd. Private Bag 2016 ZA-1600 Isando Phone: + 27 (0)11 / 928 2000 Fax: + 27 (0)11 / 392 2354 SOUTH AFRICA Mitsubishi Electric Europe B.V. /// FA - European Business Group /// Gothaer Straße 8 /// D-40880 Ratingen /// Germany Tel.: +49(0)2102-4860 /// Fax: +49(0)2102-4861120 /// [email protected] /// www.mitsubishi-automation.com