Beruflich Dokumente
Kultur Dokumente
A powerful MMI HMI SCADA system that features full process visualization, data collection and management, data logging and graphic display, historical trending, alarming, data archiving and recipe handing, and - 0 supervisory control, and much, much more in one complete Windows software package.
Revision 1.7.8.6
NOTE:
Jason Hua has made every reasonable attempt to ensure the completeness and accuracy of this document. However, the information contained in this manual is subject to change without notice. ALL RISKS OF USING THIS SOFTWARE WILL REMAIN WITH THE USER. NEITHER THIS SOFTWARE PROGRAM NOR PROGRAMMER HAS ANY LIABILITIES FOR ANY RISKS AND DAMAGES THAT THIS SOFTWARE MIGHT CAUSE. AND NEITHER THIS SOFTWARE PROGRAM NOR OUTCOMES OF ITS RUNTIME DOES PROVE ANYTHING AT ALL THAT YOU MAY WANT TO. ANY COMMENTS WELCOME!
Programmer
J. Hua J. Hua
J. Hua
J. Hua
J. Hua
J. Hua
J. Hua
J. Hua
J. Hua
10
J. Hua
11
12
13
1.7.3.11. 2. Simplified the configuration for AI Engineering Value. Refer to the section 1.4.13. 3. Security Measure for dial-up system. Refer to the section 12. J. Hua 20071. The Latest version of xMaster HMI software is April 1.7.4.8. 2. Added the list of HMI Points in the HMI configuration window. You can copy points into the STR_GRID configuration. 3. Added a button of [Making StringGrid] for the STR_GRID to configure the STR_GRID automatically. 4. The window of HMI Page Tree became movable. 5. Deleted the contents of some samples. And refer to the files in the xMasterSlave software package. 6. Added an item: Entry-Key in the Phone-Book. Revised the section 12. J.Hua 2007-May 1. The Latest version of xMaster HMI software is 1.7.5.5. 2. Added the process of TrenName in HMI Point Database. Refer to the section 11.3. 3. New entry of HMI_TREN_NAME to define the file of Tren-Point. Refer to the section 1.4.3. 4. New entry of HMI_TREN_WDT to define the interval of the process scanning and updating Tren points. Refer to the section 1.4.3. 5. New entry of METER_WINDOW_CAPTION to define the caption of the window of the Meter-Display. Refer to 1.4.11. 6. Improved the performance of Display of History. Refer to the section 5.3. J.Hua 2007-July 1. The Latest version of xMaster HMI software is 1.7.7.1. 2. Added feature where you can put/remove a Tag on the current point/device to inhibit all controls on it and to attract your attention. You can check the list of Tag in the HMI Point database. 3. Reinforced handling Tren-Point. Refer to the section 1.4.3. 4. Reinforced handling alarms (i.e. The 1st-Occurrence alarm, automatically switch to the HMI page associated the 1st-Occurrence alarm, etc). 5. Reinforced managing HMI Page path (i.e. Pop up a HMI View-Window, Pop up HMI display page(s) automatically while re-starting, Drag a page to pop up it, etc.). 6. Reinforced HMI function: LOAD_HMIPAGE. If the current Button Hint is PAGE=POPUP:xxxxx the HMI display page xxxxx.hmi will be popped up instead of switching it. 7. You can continually Play (BLINK) up to 256 Image/BMP pictures. 8. The Total count of Offline points is saved in 9x047 and the Total count of Active-Alarm point is saved in 9x048 and the Total count of Integrity-Polling is saved in 9x046. Refer to the section 9.1.4.
March
14
2007August
1. The Latest version of xMaster HMI software is 1.7.8.6. 2. Added definition to handle floating point data output for Modbus. You can directly write floating point data into MB devices (PLC, RTU, IED, etc.). Refer to the section 1.4.9, 1.4.13, 5.2 and 7.2.5.
J. Hua
TABLE OF CONTENTS
1 1.1 1.2 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.7 1.4.8 1.4.9 1.4.10 1.4.11 1.4.12 1.4.13 1.4.14 1.4.15 1.4.16 1.4.17 1.4.18 1.4.19 1.4.20 2 2.1 2.2 Overview ................................................... 1 The Directory of Files ................................... 8 The List of Files ........................................ 8 Installation of the software ............................. 9 Preparation for installation ........................... 9 Copying the set of software ............................ 9 The Main Configuration .................................. 10 The name of the configuration file .................... 10 The entry of configuration ............................ 11 Entries for the xMaster HMI Server .................... 12 Entries for the HMI descriptions ...................... 14 Entries for the Data Acquisition Communications ....... 15 Entries for Serial Port ............................... 15 Entries for TCP/IP .................................... 15 Entries for TCP/IP .................................... 16 Entries for Modbus Plus ............................... 17 Entries for the Data Acquisition Real-time Database ... 18 Entries for the Data Matrix Editor .................... 23 Entries for definitions of the Metering Display ....... 26 Entries for creating a default HMI Point Database ..... 27 Entries for Analogue Input Points ..................... 28 Entries for Digital Input/Indication Points ........... 32 Entries for Event/Schedule driven task ................ 35 The Data String Template .............................. 39 The sample configuration for Modbus ................... 41 The sample configuration for Modbus Plus .............. 42 The sample configuration for L&G ...................... 44 The sample configuration for DNP3 ..................... 45
Start up .................................................. 46 Making the registration file ............................ 46 Running the xMaster ..................................... 47
Main Menu Display ......................................... 52 Main Menu -- [Digital Input] ............................ 53 Main Menu -- [Analogue Input] ........................... 53 Main Menu -- [Alarm Recorder] ........................... 53 Main Menu -- [HMI Display] .............................. 53 Main Menu -- [Data Matrix Editor] ....................... 53 Main Menu -- [PLC Program Runtime Simulator] ............ 53 Main Menu -- [Digital Output] ........................... 53 Main Menu -- [Security/Control] ......................... 53 Main Menu -- [HMI Points Database] ...................... 54 Main Menu -- [Logs] .................................... 54 Main Menu -- [Other Info.] ............................. 54 Main Menu -- [Troubleshooting] ......................... 54 Exit and the Password .................................. 54 Change the Operator Name ............................... 54
3.10 3.11 3.12 3.13 3.14 4 4.1 4.2 5 5.1 5.2 5.3 6 6.1 6.1.1 6.1.2 6.1.3 6.2 6.2.1 6.2.2 6.2.3 6.3
Status Display ............................................ 55 DO Controls Operations .................................. 56 Add a Tag to inhibit Controls / Operations .............. 59 Register/Analogue Input/Metering Display .................. 60 Meter Data/AI Properties Window ......................... 61 Analogue Output / SetPoint Command Operation ............ 62 Display the History of the Meter Data/Analogue .......... 63 Alarm Recorder/Annunciation ............................... 69 Alarm Summary-TableSheet Display ........................ 70 Acknowledge Alarms in the list of Unconfirmed Alarms .. 71 Summary of Alarms ..................................... 71 Clean up (Reset) Alarms ............................... 71 Alarm Panel Display ..................................... 72 The Selection in the Panel ............................ 73 Active Alarms in the Alarm Plane ...................... 74 Acknowledge and Clean up Alarm in the Alarm Panel ..... 75 Alarm Log Display ....................................... 76
6.3.1 6.3.2 6.4 6.5 6.6 7 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.1.6 7.1.7 7.1.8 7.1.9 7.1.10 7.1.11 7.1.12 7.1.13 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5
Alarm Log Information and File ........................ 77 Ack and Delete Alarm Log Information .................. 77 Search Alarm-History .................................... 78 The Stand-alone Alarm-Panel Window ...................... 79 To make up a version of only Alarm Annunciation ......... 81
HMI Display ............................................... 82 Function Key Bar ........................................ 85 F1 Pages/Phone Book for Dialing up Modem ............ 86 F2 -- PgChild ......................................... 86 F3 -- PgDn ............................................ 86 F4 -- PgRet ........................................... 86 F5 -- PageAck ......................................... 86 F6 -- PLCPro .......................................... 86 F7 -- Print Display ................................... 86 F8 -- User Appl. ...................................... 86 F9 -- MENU ............................................ 86 F10 -- ALARM .......................................... 86 F11 -- Lockout ........................................ 87 F12 -- BntCtrl ........................................ 88 Logs Information Window ............................... 89
Edit/Draw HMI Display ................................... 90 Files and its format .................................. 90 Samples of HMI Display File ........................... 94 Working ModeEditing HMI Display ..................... 102 Options .............................................. 107 Configuring the pre-defined HMI Object-Shape ......... 108 The Pre-defined HMI Object-Shapes ...................... 119 Line ................................................. 119 Circle ............................................... 119 Ellipse .............................................. 119 Rectangle ............................................ 119 Disconnector ......................................... 119
7.3.6 7.3.7 7.3.8 7.3.9 7.3.10 7.3.11 7.3.12 7.3.13 7.3.14 7.3.15 7.3.16 7.3.17 7.3.18 7.3.19 7.3.20 7.3.21 7.3.22 7.3.23 7.3.24 7.3.25 7.3.26 7.3.27 7.3.28 7.3.29 7.3.30 7.3.31 7.3.32 7.3.33 7.3.34 7.3.35 7.3.36 7.3.37
Triangle ............................................. 119 RoundRect ............................................ 120 xPanel ............................................... 120 StopSign ............................................. 120 Rectangle-pen-style-Dot .............................. 120 Button ............................................... 121 Text ................................................. 123 Image/BMP ............................................ 125 CSpinEditor .......................................... 125 CGauge ............................................... 125 TrackBar ............................................. 125 CheckBox ............................................. 126 RadioGroup ........................................... 126 ComboBox ............................................. 126 ListBox .............................................. 126 MemoBox .............................................. 126 StringGrid ........................................... 127 Light ................................................ 127 Triangle_Left ........................................ 127 Triangle_Right ....................................... 127 Triangle_Up .......................................... 128 Transformer_Horizontal ............................... 128 Transformer_Vertical ................................. 128 Half_Circle_LEFT ..................................... 128 Half_Circle_RIGHT .................................... 128 Half_Circle_UP ....................................... 128 Half_Circle_DOWN ..................................... 128 Half_Ellipse_LEFT .................................... 129 Half_Ellipse_RIGHT ................................... 129 Half_Ellipse_UP ...................................... 129 Half_Ellipse_DOWN .................................... 129 Polyline_6 ........................................... 129
7.3.38 7.3.39 7.3.40 7.3.41 7.3.42 7.3.43 7.3.44 7.3.45 7.3.46 7.3.47 7.3.48 7.3.49 7.3.50 7.3.51 7.3.52 7.3.53 7.3.54 7.3.55 7.3.56 7.3.57 7.3.58 7.3.59 7.3.60 7.3.61 7.3.62 7.3.63 7.3.64 7.3.65 7.3.66 7.3.67 7.3.68 7.3.69
Polyline_8 ........................................... 129 Polygon_6 ............................................ 130 Polygon_8 ............................................ 130 Arc_UpLift ........................................... 130 Arc_UpRight .......................................... 130 Arc_DownLift ......................................... 130 Arc_DownRight ........................................ 130 Chord_UpLift ......................................... 131 Chord_UpRight ........................................ 131 Chord_DownLift ....................................... 131 Chord_DownRight ...................................... 131 Pie_UpLift ........................................... 131 Pie_UpRight .......................................... 131 Pie_DownLift ......................................... 132 Pie_DownRight ........................................ 132 Capacity_Horizontal .................................. 132 Capacity_Vertical .................................... 132 Ground_Horizontal .................................... 132 Ground_Vertical ...................................... 132 Fuse_Horizontal ...................................... 133 Fuse_Vertical ........................................ 133 CT_Horizontal ........................................ 133 CT_Vertical .......................................... 133 Wavetrap_Horizontal .................................. 133 Wavetrap_Vertical .................................... 133 TX_Tap_Horizontal .................................... 134 TX_Tap_Vertical ...................................... 134 VR_IND_3_Horizontal .................................. 134 VR_IND_3_Vertical .................................... 134 Exciter .............................................. 134 Valve_Horizontal ..................................... 135 Valve_Vertical ....................................... 135
7.3.70 7.3.71 7.3.72 7.3.73 7.3.74 7.3.75 7.3.76 7.3.77 8 8.1 8.1.1 8.1.2 8.1.3 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.11 9 9.1 9.1.1 9.1.2 9.1.3 9.1.4 9.2 9.3 9.3.1
2-State Switch Panel ................................. 135 Diamond_Polyline ..................................... 135 Diamond_Polygon ...................................... 135 Trend_DataWatch ...................................... 136 Grid_Horizontal ...................................... 137 Grid_Vertical ........................................ 137 2StateConnector_Horizontal ........................... 137 2StateConnector_Vertical ............................. 137
Data Matrix Editor ....................................... 138 Matrix Display ......................................... 140 Editor ............................................... 140 PLC .................................................. 140 Both ................................................. 140 Alert Comm. Failed ..................................... 141 Editing Matrix ......................................... 142 Loading an Existing Matrix ............................. 142 Saving the current Matrix .............................. 142 Making a Selection ..................................... 142 Resetting All selections ............................... 142 Copying from PLC ....................................... 142 Write/Update Matrix into PLC ........................... 143 Auto Saving Matrix after updating ..................... 146 Mismatched Matrix ..................................... 147
PLC Program Runtime Simulator ............................ 148 Points ................................................. 150 Digital Output DO 0x ................................. 150 Digital Input DI 1x .................................. 150 16-Bit Data Register 4x .............................. 150 16-Bit Pseudo Data Register 9x ....................... 150 Load Program ........................................... 151 Run Program ............................................ 151 Periodically ......................................... 151
A Cycle Only ......................................... 151 Debug Program .......................................... 152 Step by Step ......................................... 152 Logs ................................................. 152 Variable-Information ................................. 152 Instructions ........................................... 153 The List of Instructions ............................. 153 Syntax ............................................... 162 A Sample ............................................. 163
10 Networking and Data Server ............................... 167 10.1 10.2 10.3 10.3.1 10.3.2 10.3.3 10.3.4 10.4 Connect to Server ..................................... 168 Remote Logs Screen .................................... 168 Protocols to xMaster Server ........................... 169 FDS Server ASCII/Telnet .............................. 170 FDS Server Binary Message Packet ..................... 171 Modbus RTU Protocol over TCP/IP ...................... 174 MB TCP /IP (ref-ref-0-0-L-ID-Message) ................ 175 Switching between Standby (SY) and Primary (PY) ....... 176
11 Troubleshooting .......................................... 178 11.1 11.2 11.3 Data Acquisition Comm. Link/LAN Information ........... 180 Trouble-Shooting on Data Collection Application ....... 181 Trouble-Shooting Data Management and Database ......... 189
12 xMaster Dialup System designs ............................ 191 12.1 12.2 12.2.1 12.2.2 12.2.3 Single Site Configuration ............................. 195 Mutil-Site Configuration .............................. 196 The Mode and Schedule to scan sites one by one ....... 196 Mutil-Site using the same set of HMI Displays ........ 197 Mutil-Site using Mutil-Set of HMI Displays ........... 198
13 A sample of the RTU+HMI Application ...................... 199 13.1 13.2 13.3 The configuration for DNP_Master ...................... 200 The configuration for MB_Master ....................... 202 The configuration for MB_Master of the I/O Link ....... 203
13.4 13.5
The configuration for DNP_Slave ....................... 204 The Setup to run xMaster & xSlave automatically ....... 206
Figure 1-1 ..................................................... 1 Figure 1-2 .................................................... 26 Figure 1-3 .................................................... 30 Figure 2-1 .................................................... 46 Figure 2-2 .................................................... 47 Figure 2-3 .................................................... 48 Figure 2-4 .................................................... 49 Figure 2-5 .................................................... 50 Figure 2-6 .................................................... 50 Figure 2-7 .................................................... 51 Figure 3-1 .................................................... 52 Figure 4-1 .................................................... 55 Figure 4-2 .................................................... 56 Figure 4-3 .................................................... 56 Figure 4-4 .................................................... 57 Figure 4-5 .................................................... 57 Figure 4-6 .................................................... 57 Figure 4-7 .................................................... 57 Figure 4-8 .................................................... 57 Figure 4-9 .................................................... 58 Figure 4-10 ................................................... 58 Figure 5-1 .................................................... 60 Figure 5-2 .................................................... 61 Figure 5-3 .................................................... 62 Figure 5-4 .................................................... 63 Figure 5-5 .................................................... 64 Figure 5-6 .................................................... 65 Figure 5-7 .................................................... 66 Figure 5-8 .................................................... 67 Figure 5-9 .................................................... 68 Figure 6-1 .................................................... 69 Figure 6-2 .................................................... 70
Figure 6-3 .................................................... 72 Figure 6-4 .................................................... 73 Figure 6-5 .................................................... 74 Figure 6-6 .................................................... 75 Figure 6-7 .................................................... 76 Figure 6-8 .................................................... 77 Figure 6-9 .................................................... 78 Figure 6-10 ................................................... 79 Figure 6-11 ................................................... 80 Figure 6-12 ................................................... 81 Figure 7-1 .................................................... 82 Figure 7-2 .................................................... 83 Figure 7-3 .................................................... 84 Figure 7-4 .................................................... 85 Figure 7-5 .................................................... 88 Figure 7-6 .................................................... 88 Figure 7-7 .................................................... 89 Figure 7-8 .................................................... 90 Figure 7-9 .................................................... 94 Figure 7-10 ................................................... 95 Figure 7-11 ................................................... 96 Figure 7-12 ................................................... 99 Figure 7-13 .................................................. 101 Figure 7-14 .................................................. 108 Figure 7-15 .................................................. 110 Figure 7-16 .................................................. 111 Figure 7-17 .................................................. 112 Figure 7-18 .................................................. 113 Figure 7-19 .................................................. 114 Figure 7-20 .................................................. 115 Figure 7-21 .................................................. 116 Figure 7-22 .................................................. 117
Figure 7-23 .................................................. 118 Figure 8-1 ................................................... 138 Figure 8-2 ................................................... 139 Figure 8-3 ................................................... 141 Figure 8-4 ................................................... 143 Figure 8-5 ................................................... 144 Figure 8-6 ................................................... 145 Figure 8-7 ................................................... 146 Figure 8-8 ................................................... 147 Figure 9-1 ................................................... 148 Figure 9-2 ................................................... 149 Figure 10-1 .................................................. 167 Figure 10-2 .................................................. 176 Figure 10-3 .................................................. 177 Figure 11-1 .................................................. 178 Figure 11-2 .................................................. 179 Figure 11-3 .................................................. 180 Figure 11-4 .................................................. 181 Figure 11-5 .................................................. 182 Figure 11-6 .................................................. 183 Figure 11-7 .................................................. 184 Figure 11-8 .................................................. 185 Figure 11-9 .................................................. 186 Figure 11-10 ................................................. 187 Figure 11-11 ................................................. 188 Figure 11-12 ................................................. 189 Figure 11-13 ................................................. 190 Figure 12-1 .................................................. 191 Figure 12-2 .................................................. 194 Figure 13-1 .................................................. 199 Figure 13-2 .................................................. 206
1 Overview
The xMaster is comprehensive, flexible, reliable, integrated Supervisory HMI software solutions with the lowest total life-cycle cost, which enables plant/site personal to: 1. Easily and efficiently and quickly get the configuration done with one text-based file that allows you directly make up a HMI system with common features: Data Acquisition, History Record files, Indication/Status Display, Metering/Analogue/Register Data Display, Supervisory Controls, Alarm Annunciation, Data Matrix Application and Event/Schedule driven Task. 2. Provide all features needed to acquire data, log it, share it on a network, display it on the screen, graph it, analyze it, and automate your project. All of this can be done quickly without programming. 3. Make online changes on the current configuration and Re-load it without re-starting the run-time of the program. 4. Integrate Automation Devices (e.g. PLC, RTU, IED, etc.), Database, Supervisory Controls and System Management. 5. Scale from a single HMI station up to 50 multiple networked supervisory stations, Supports the Primary and Standby configuration.
What kind of the Data Acquisition System (DAS) the xMaster fits? The xMaster fits the Serial Communication (including Modem over the phone line) based and the Network (TCP/IP) based DAS as shown in the DAS HMI diagram as follows: Ethernet networks
xMaster HMI & Server xMaster HMI Client #1 xMaster HMI Client #2 xMaster HMI Client #50
DNP / MB Protocol DNP to MB Converter MB to DNP Converter Figure 1-1 Other MB/DNP Master End
Remote Device/Slave End -- Top Level Devices/DA Sessions on the station automation platform.
-1-
The xMaster HMI/Server can use protocols as follows to communicate with the Protocol Slave End (remote devices). a. DNP3 b. Modbus (RTU or TCP/IP) c. Modbus Plus d. L&G With A xMaster HMI software program you get: No. 1 Functions Modules in the xMaster HMI software. Module: Specifications: Data Collection Protocol: DNP3, MB, MB+ and L&G. Application Communication Physical Media: Serial, (DCA Driver) Ethernet/TCPIP and MB Plus Media: Number: Serial Com Port 1 to 8 TCP IP xxx.xxx.xxx.xxx IP Port: 100-65535 MB+ MB + Card ID=0/1 The capacity of real-time database for each Data Acquisition Session/Slave Device: Data Object Class: Default Settings: Digital Input (DI) 4096 Digital Output (DO) 512 Analogue Input (AI) 512 Analogue Output (AO) 256 32bit Running Counter 128 32bit Frozen Counter 128 16bit Data Register 512 32bit Data Register 512 Floating Point Data Register 512 Data Acquisition Link/Session: #0 - #7 The size of the buffer of control command is 400. (Issuing up to 400 controls a time) Polling: 0.1 3 seconds to poll events. 5 minutes to poll ALL data and automatically send the Freezing-Counter command accordingly if the Data Acquisition Protocol is DNP / L&G protocol. Configurable Timeout for Protocol Application, Controls and RxdByte. Note
Local DNP3, MB, MB+ and L&G xMaster can share the HMI Points in the HMI Point Pool.
-2-
Data Translation Script Program/PLC program Run-Time Simulator: 1. Size= Max. 4096 lines. 2. Instructions=77 so far. 3. IF/Then detecting the Rising-Edge. 4. Call sub-routines And Jumps. 5. Scheduling/Timing. 6. Debug/Log Info. Pseudo point: Pseudo Status and Analogue Point available. Tag: Up to 256 tags can be applied on simultaneously. Data Matrix: 16X48 and Supporting Primary & Standby system configuration. Alarm Recorder/Annunciation: 1. Definitions: Max. 4096. 2. Name: Point Short Name. 3. Description: Point Long Name. 4. Alarm Panel: 5 units a line, 6 lines a display (total: 4096/(5x6)=137 Pages). 5. Up to 256 Alarm Group. 6. Play Alarm Sound (*.wav). 7. Scanning speed: 0.1 5 Seconds. Set up task for user applications, scheduled routines, etc.: 1. Definitions: Max. 64. 2. Event starting and dismissing executing tasks: Two Events (BEGIN/END).
BEGIN_TO_DO_UNTIL_END BEGIN_END_AFTER_SECONDS_TO_DO EVERY_SECONDS EVERY_MINUTE_AT_SECOND EVERY_HOUR_AT_MINUTE EVERY_DAY_AT_HOUR EVERY_WEEK_AT_WEEKDAY EVERY_MONTH_AT_DAY FUNCTION KEY
-3-
History Data: If it is configured, the history data is created in the designated directory and is archived based on the interval of a Minute, an Hour and a Day. Watchdogs: generating xMaster HMI watchdog and checking ones in the MB PLC/Device. Points Max. 8192 (Including Pseudo Status and Pseudo Analogue Points and Tren Point). Indicating/Acknowledging changes/Events. Scanning 0.1 5 Seconds speed Point Name Max.12 Characters. Long Name Max. 48 Characters. For HMI Display pages: Pages No Limit in theory. Object-Shape Max. 512 per page. Pre-defined 75 so far, including Object-Shape BMP/Image. Max. 32 for pre-configured. Pre-defined No limit when you configure it items in the RadioGroup, to load items from a text file. ListBox, and ComboBox
The current HMI Point can be specified to be put into the shared HMI Point Pool and be updated automatically and dynamically. The Max. size of the pool is 8192. And the point in the pool is accessed via the point name. Refer the section 1.4.12, 1.4.13 and 1.4.13.
For Default Metering Display: Meter Count Max. 256. Large-Meter: Small-Meter: Max. 3 in per Max. 6 in per display. display. Meter Data Items Meter Name Meter Item Name Meter Data Unit Large-Meter: Small-Meter: Max. 10 Max. 4 Max.24 Characters. Max. 12 Characters. Max. 6 Characters. (i.e. KV, AMP, MW, etc.)
-4-
Data Processing
Up to 50 HMI Clients using protocol: FDS over TCPIP or MB TCPIP or DNP TCPIP. xMaster can be a Protocol Converter/Server.
2 3 4 5
Displaying a HMI Object-Shape with the color of Logic 0/OFF (Normal State), or Logic 1/ON (Alarm), or failure (Offline). Displaying/Metering the value of data in the HMI database by a text string, a gauging graph, a StringGrid, etc. Displaying the Text-Information/Memo read from a TXT/RTF file updated by others dynamically. Displaying the trend/history data with up to 60 points in the curve. The Interval can be a Minute, or an Hour or a Day. Displaying in curve shapes, the evolutions of data measures of the last 48 Hours or 90 Days or 60 Months. Making a HMI Object-Shape visible or invisible or blinking according to the value of the related point in the HMI database. The List of Configurable Items: No. Name: Functions: 1 Animation: VISIBLE VISIBLE 2 Animation: BLINK BLINK 3 H_GAUGE Animation: Horizontal Gauge 4 V_GAUGE Animation: Vertical Gauge Sending controls by clicking on a visible HMI Object-Shape (i.e. a Button, a ListBox, a RadioGroup, a ComboBox, a CheckBox, a SpinEdit, a TrackBar, a CircuitBreaker, a Disconnector, a Rectangle, etc), or by a script program running in background. The List of Configurable Items: No Name: Functions: 1 DO_PULSE PULSE DIGITAL OUTPUT 2 16-BIT DIGITAL OUTPUT DO_16 3 32-BIT DIGITAL OUTPUT DO_32 4 BCD DIGITAL OUTPUT DO_BCD 5 SBO TRIP (LATCH OFF) ONLY SBO_T 6 SBO CLOSE (LATCH ON) ONLY SBO_C 7 SBO TRIP AND CLOSE (LATCH ON/OFF) SBO 8 DO RIASE ONLY DO_R 9 DO LOW ONLY DO_L 10 DO_RL DO RAISE AND LOW 11 AO_16 16-BIT ANALOG OUTPUT 12 AO_32 32-BIT ANALOG OUTPUT(floating point) 13 AO_BCD BCD ANALOG OUTPUT 14 REG_WR Write a 16/32-bit value into Register(s) 15 SEL_T Select Trip 16 SEL_C Select Close
-5-
17 18 19 8
Managing and switching HMI displays by clicking on a visible HMI Object-Shape (i.e. a Button, etc). The List of Configurable Items: No. Name Functions 1 LOAD_HMIPAGE Load a new HMI Page 2 NEXT_HMIPAGE Load the Next HMI Page 3 LAST_HMIPAGE Load the Last HMI Page 4 Open or Close the Logs Window LOGWIN 5 Open or Close the Function-Key Bar FUNBAR Securities for Control Functions: Lock/Unlock Windows (Disable Alt Key, Hide Desktop, Hiding Taskbar, Disable Windows Start Button), Enable/Disable Controlling HMI Object-Shape (i.e. a Button, etc.), Visible/Invisible Controlling HMI Object-Shape (i.e. a Button, etc.) Operating or Dismissing the selected Control-Functioning associated with the current HMI Object-Shape. The contents of ListBox, a RadioGroup, a ComboBox, and StringGrid can be loaded from the Text File. Making up the value/pattern (16bit or 32 bit) of the AI/Register Data, using ListBox combined a button to download the value/pattern into the slave device (i.e. RTU, PLC, etc.). Making a selection (Index 1-65535) exclusively, using a RadioGroup, a ComboBox combined a button to download the value into the slave device (i.e. RTU, PLC, etc.). Making a Setpoint (0 to 65535, -32768 to 32767), using a SpinEdit, a TrackBar combined a button to download the value into the slave device (i.e. RTU, PLC, etc.). Default Display for Digital Inputs. Checking the details of the DI Point by clicking on it. A Double click to open the Control Operation Panel. Default Display for Analogue Inputs (Register Data, Metering). Checking AI proprieties by a double-click on it and Sending AO control command on the related Analogue Output point. Enable or Disable Indicating/Acknowledging Changes/Events Archiving the HMI Point Database. Three Default Display for Alarms: 1. Summary-TableSheet 2. Panel-Window 3. Log-Window Searching History records of Alarms, the filter can be applied. Real-timely printing alarm information or a data file. Enable or disable latching (sealing in) alarms.
10 11 12
13
14
15
16
17 18 19
20 21 22
-6-
23
24
25 26
27
Full screen HMI Display Editor: 1. Drawing a HMI Object-Shape. 2. Moving a Shape. 3. Moving a Block of Shapes. 4. Deleting a Shape. 5. Deleting a Block of Shapes. 6. Resizing a Shape. 7. Copying a Shape. 8. Copying a Block of Shapes. 9. Duplicating a shape on the same horizontal line location. 10. Duplicating a shape on the same vertical line location. 11. Configuring a shape. 12. Undo editing. 13. Saving a HMI display file. 14. Loading a HMI display file. 15. Saving a Block of Shapes. Data Matrix Editor: 1. Size=16*48 2. Uploading 3. Download 4. Archiving 5. Support PY & SY configuration. Running a script program, a PLC program run-time simulator. Troubleshooting on Data Acquisition Realtime database and HMI Point Database. A Troubleshooting Alert icon and guideline available. Logs
-7-
-8-
-9-
END ; ENTRY
END ; ENTRY
DEV_DATABASE = SIZE MAX_DI = 213 MAX_DO = 106 MAX_AI = 147 MAX_CNT = 45 MAX_AO = 31
END ; ENTRY STATION_INFO DNP Master for ABB PCD-2000 #603 END ; ENDALL_AND_BUILD_A_DEFAULT_HMI_POINT_DB
DEV_DATABASE = SIZE MAX_DI = 208 DI_MB_1X_START = 1 2 DI_MB_0X_START = 1 5 DI_MB_REG_START = 100 MAX_DO = 32 DO_MB_0X_START = 1 4 DO_MB_REG_START = 200 MAX_AI = 200 AI_MB_REG_START = 300
END ; ENTRY STATION_INFO MB Master for ABB PCD-2000 #63 END ; ENDALL_AND_BUILD_A_DEFAULT_HMI_POINT_DB
1.4.1 The name of the configuration file The following is the default name of the configuration file. The x_Master will load it automatically if you do not specify the file name. For DNP Master, the name of file is DNP_MASTER.TXT. For MB Master, the name of file is MB_MASTER.TXT. For MB+ Master, the name of file is MBP_MASTER.TXT. For L&G 8979 Master, the name of file is LG_MASTER.TXT. You can use xMaster Application Launcher (xMaster.exe) to run xMaster with different configuration files. Refer to the section 2.0 and the screenshot Figure 2-3.
- 10 -
1.4.2
The following is the common rules/provisions in the configuration file x_master.txt (where the x is the DNP/MB/MBP/LG) There is no SPACE in the name of entry. Please use _ instead of a blank character. The entry is followed by at least a SPACE. The character of = is followed by at least a SPACE. The value of setting is followed by at least a SPACE. If the FIRST character is ;, it means that the current line in the configuration file is a comment. The ddddd is the numeric string. The n is a numeric. The 0xdd (i.e. 0x81, 0x41, 0xfa, etc) is Hex. Data. The dddd.dd is the floating-point data. The format of TCP IP address is ddd.ddd.ddd.ddd. The tttttttt or xxxx is the Text-Information String (i.e. file name, point name, title, etc.). The FileName (xxxxxxx.yy, or f1, f2, f3, ) is the name of the file. The DeviceName or DN or DA or DevAddr is the name of the Device/Slave End. Max. 12 characters. All entries use capital text string. The Y/N is either YES or NO. The [xxx] /[xxxxx = yy], in the pair of brackets, is an option or alternate for the current entry. The .TXT in a name of a file implies that the format of the current file is TEXT. The Name of point must be assigned as a unique ID / Tagname in the HMI Point Database. The point number of DI/DO/AI/AO/CNT/FR/9X in the Data Acquisition Real-time Database starts from zero.
- 11 -
1.4.3
Entry ENTRY XMASTER_IP_PORT = ddddd ENTRY XMASTER_CLIENT = n, ddd.ddd.ddd.ddd [tttt] tttt can be following: MBRTU: Modbus RTU Protocol. MBTCP: Modbus TCP/IP Protocol. Default: FDS Binary Protocol. ENTRY PY_MASTER_IP_ADDR = ddd.ddd.ddd.ddd ENTRY XMASTER_ID = dddddd ENTRY DEV_MASTER = ddddd ENTRY HMI_TREN_POINT = XXXXX.yyy [f1,f2,f3] ENTRY HMI_TREN_INTERVAL = ddddd ddddd: 2 65535 seconds
ENTRY PY_MASTER_IP_ADDR = 142.52.127.31 ENTRY XMASTER_ID = 25001 ENTRY DEV_MASTER = 0002 ENTRY HMI_TREN_POINT = HMI_TREN.TXT ENTRY HMI_TREN_INTERVAL = 3
#3 #4 #5 #6
Note #1: IP Port dddd to dddd + 10 will be assigned to the current xMaster. Other programs must not use it. Note#2: The list of valid client. N=0..49. Refer to the section 10. Note#3: PY xMaster IP Address. As long as it is defined, xMaster will lead you to run as SY/Client. Refer to the section 10. Note#4: xMaster / FDS ID. Note#5: If applicable, the DEV_MASTER is to define the Master Address for the Data Acquisition Application. Note#6: The file (xxxx.yyy) of the Tren_Point also implicates another FIVE files as follows.
a) The file of setup of the list of Tren_Point: xxxx_SETUP.TXT. It establishes the link between the Tren_Points and the HMI Points. The xMaster reads it at very beginning and overwrites the Tren Point file:xxxx.yyy. If it is configured, you can check the link establishment at the window of HMI Local Database. Refer the section 11.3. In the xxxx_SETUP.TXT file you can have a comment by leading character ; at the very beginning of the line. You can put a macro: ? xxx yyy to replace xxxx with yyy in the tren-Point data file. b) The file of semaphore: xxxx.SMP (or defined by the f1). If the file of semaphore exists, the xMaster HMI Point database reads the file of the Tren_Point and deletes both files:xxxx.yyy and xxxx.smp. If not, after three times of re-try (if the interval is 20 seconds, after 20X3=60 seconds the point will go offline), all Tren Points go to Offline. Each point name (excluding the Prefix PSD:STATUS: or PSD:ANALOG:) in the Tren_Point file and its setup file must match the Long Name of the HMI Point that is defined in the section 1.4.12 to 1.4.14. And the current HMI point must be defined as pseudo and its function must be HMI_SV. The format of file of the Tren Name and its setup is defined as follows. The Tab is the character of Tab(\t). The f is the flag of Online(1) and Offline(0) to indicate the state of health of the current point. 1. For status points: 2. For analog points: PSD:STATUS:xxxxxxxx Tab d Tab f PSD:ANALOG:xxxxxxxx Tab dddd.ddd Tab f [xA xB]
Where d is to indicate the state of the current point. If d is 0 it means OFF and 1 for ON. Sample: ENTRY Where dddd.ddd is the floating point to represent the value of the current analog point. And xA and xB are for scaling as follow: CV = PV*xA + xB. Sample: ENTRY NAME = XXX_VVO_VSET LONGNAME = PSD:ANALOG:XXX-YYY.VVO_VSET FORMAT = PSD_AI PND_ADDR = 0 RANGE = 30.0 KV 16 PROCTYPE = ANALOG HOUR_HISTORY METER = 1, 3
NAME = XXX_VVO_ON LONGNAME = PSD:STATUS:XXX-YYY.VVO_ON FORMAT = PSD_DI PSD_DI_FUNC = HMI_SV PND_ADDR = 0 ALARM_GROUP = 1
- 12 -
c) The file of Tren-Point output: xxxx_output.TXT (or defined by the f2). The LONGNAME must be prefixed as PSD:HMI_SV:STATUS:xxxxxxxxxxxxxxxx (can be operated by 2STATE_SW_PANEL, refer to the section 7.3.70) for Status Points and PSD:HMI_SV:ANALOG:xxxxxxxxxxxxxxxx (can be operated by TEXT with control function: AO-16, refer to the section 7.2.5 and 7.3.12) for Analog Points. d) The file of semaphore of the Tren-Point output: xxxx_output.SMP (or defined by the f3). To generate files of Tren-Point output/smp you have to make up a HMI Object/Shape (i.e. a Button) on the current HMI display to be configured with the Control Function: ESO. e) The file of User-Application (*.bat): xxxx.bat. If it exists, every time before loading the Tren-Point file (xxxx.yyy), it will be executed.
- 13 -
1.4.4
It is for users to read other related information (i.e. user manual, etc.) ENTRY PLC_FILE = PLC_CMD.TXT It defines a PLC Simulator run-time program file. If not found, the button for PLC Runtime simulator wont show up in the Main Menu Display. Refer to the screenshot Figure 3-1 and the section 9. If not found the file, the ENTRY HMI_FILE = RAS_HMI_MAIN.PGE (The file of the *.pge is generated by button for HMI Display wont show up in the Main Menu the HMI Display Editor, refer to the Display. section 7.1.1) ENTRY HMI_SYSTEM = c:\xMaster\HD\SEL It is to define the name of the current HMI system. It will be a part/prefix of History File Name and others. ENTRY STATUS_DISPLAY = NO Do not want to show up the button for the display of status. Refer to the section 4 and the section 6.5. ENTRY METERING_DISPLAY = NO Do not want to show up the button for the display of metering. Refer to the section 5 and the section 6.5. ENTRY SAVE_RUNNING_COUNTERS = NO It configures Data Acquisition to save the data of either running counter or frozen counter. If it is NO, the FreezingCounter Command will be sent before the Integrity Poll every time. Refer to the section 1.4.9. ENTRY LOG_PY_DRIVE_DIR = E:\xMaster\ It is to define the ENTRY LOG_PY_DRIVE_DIR = F:\xMaster\ drive/Directory of Log Files described in the section 1.2. LOG_PY_DRIVE_DIR is the PRIMARY Log Information Storage and LOG_SY_DRIVE_DIR is the STANDBY one. Normally both are USB Mass Storage Device. The default is c:\xMaster Default is NO. SHARING_ALL_HMI_POINT = N YES is to put all HMI Point(s) [ENTRY UNSHARING_POINTS = N] defined in the current (Before abort the current x_Master, configuration (Refer to the the associated point(s) will be section 1.4.13, 1.4.14) into released from the Shared HMI Points the Share HMI Point Pool. Pool.)
- 14 -
1.4.5 Entries for the Data Acquisition Communications Entries for Data Acquisition Communication sessions must use the same type of Communication Physical Media as follows as either Serial Port(Modem), or TCP/IP, or MB Plus. It means that sessions using different Communication Physical Media are not allowed. You cannot configure like this, for example, the Session #1 uses Serial Port and other sessions use TCP/IP. Usually, checking watchdog is for the Modbus PLC/Device based HMI System. The Data Acquisition Communications commence automatically before the appearance of HMI displays (i.e. Status/Metering/Graph, etc.). 1.4.6
Entry ENTRY DEV_LINK ENTRY DEV_LINK
PORT
= 4
= = = =
19200 1 0 11 1 22
LINK_TIMEOUT = 5000 CONTROL_TIMEOUT = 5 PHONE_NO = 0,1234567 PHONE_NO = 123456789012345 PHONE_NO = PHONEBOOK1 PHONE_NO = @AUTOSITEINFO (refer to the section 1.4.16) END
END
The following is the screenshot that illustrates how to find out the Modem-Port. 1.4.7
- 15 -
Slave device Address/ID. Data Acquisition Communication Session No 0-7. Device Name END
END
Explanation: It is using TCP/IP. Session#=0, SlaveAddr=11, IPAddr=10.1.2.11, IPPort=502, MasterWatchdog=51, SlaveWatchdog=150. Session#=1, SlaveAddr=22, IPAddr=10.2.2.22, IPPort=502, MasterWatchdog=51, SlaveWatchdog=150. If the AI_MB_REG_START = 100 and the AO_MB_REG_START = 200 (Refer to samples in section 1.4.9 for MB protocol), the xMaster Data Acquisition will keep increasing the value of HMI watchdog register: 4x0251 (51+200) at the interval of 3-5 seconds. And the xMaster Data Acquisition will check whether the value of PLC watchdog register: 4x0250 (150+100) is being updated by the program in the Modbus PLC/Device (refer to the section 1.4.14, the entry of WDT_FAILED). The default setting of LINK_TIMEOUT is 10 seconds. The default setting of CONTROL_TIMEOUT is 10 seconds. Note: If the IP Port is 502 to 999, the xMaster Data Acquisition program (DCA Driver) for Modbus runs Modbus TCP/IP protocol, otherwise runs Modbus RTU protocol over TCP/IP.
- 16 -
1.4.8
END
Explanation: It is using MB+ Lan. Session#=0, SlaveAddr=11, MB Path=11.0.0.0.0, MasterWatchdog=51, SlaveWatchdog=150. The TIMEOUT is setup by MB+ Card driver. Refer to comments in the section 1.4.7. Note: You have to ensure that MB+ Card driver works and the driver is set up accordingly for MB+ network. You can use CONCEPT, the MB PLC programming tool, to connect to MB+ network and verify the existence of PLC. Refer to following screenshots of MB+ driver configuration and Mbpstat that come with the MB Plus card.
- 17 -
1.4.9 Entries for the Data Acquisition Real-time Database In the application where the multiple Data Acquisition session is applied, each session is assigned the same size of database unless you specifies it by defining the entry of SESSION = dd. The Data Acquisition Real-time Database keeps all raw data only. And it serves the HMI Point database that is used for the HMI application in high level. So the HMI Point database is a Tagname Database (Access data by the unique Tagname, not by a Point Number (i.e. DI #000, DO #012, AI #090, AO #012, etc.) as Data Acquisition Real-time Database does. Building Data Acquisition Real-time Database For DNP3.0 Protocol:
Entry ENTRY DATABASE = SIZE [ENTRY DEV_DATABASE = SIZE] [SESSION = dd] Sample ENTRY DATABASE = SIZE ENTRY DEV_DATABASE = SIZE SESSION = 0 Explanation Begins the settings for the database. The current settings of the Data Acquisition Real-time Database are for the Data Acquisition Session #0. Range=0..7. Refer to the section 1.4.6 to 8. Max. Number of Digital Input Max. Number of Digital Output Max. Number of Analogue Input Max. Number of Analogue Output Max. Number of 32-bt counter Disables saving the history of the ENTIRE HMI Point database. If enable, the file name is mixed as HMI_SYSTEM_mm_ss.M_S. Where the HMI_SYSTEM is described in the section 1.4.4, the mm is Minute of the time, and the ss is Second of the time. Refer to Note #1 in the next paragraph for MB/MB+ protocol. Enable sealing in the alarm. If you want to read DNP Obj#12,Obj#20-2, Obj30-5, Obj21-1, and Obj20-1 respectively. Otherwise poll Class 60 only.
MAX_DI = dddd MAX_DO = ddd MAX_AI = ddd MAX_AO = ddd MAX_CNT = ddd ENABLE_SAVING_DB = Y/N
END
END
Note: The Point Number is starting from zero (0). The Data Acquisition in the xMaster for DNP does the Integrity-Poll (DNP Data Object 60-Class0 /1/2/3) periodically (every 5 minutes), or when one of events as follows occurs: 1. Starting or Re-starting the Data Acquisition. 2. Recovering from the failure of communication. 3. Finding Remote End Restart-Bit in the IIN. The Data Acquisition in the xMaster for DNP continually does the Event-Poll (DNP Data Object 60-Class1/2/3) as fast as possible (<300ms). Typically, DNP message-frames do not exceed 2048 bytes. This equates to a max. of 9 frames (as the result there is 238 DI/80AI/80CNT perframe -- please check all points of DI/AI/CNT can be read from the current device). All data are retrieved only by the Integrity-Poll and the Event-Poll. The DNP DCA Driver sends command to enable the unsolicited report from slave device(s). If the current communication link is the dialup-modem, the DNP DCA driver sends the command of Enable-Unsolicited-Report (UR) for Class1, 2 and 3 to the DNP Slave End (Slave device must enable Class1/2/3 UR). The DNP DCA Driver does the Freezing-Counter if the entry of SAVE_RUNNING_COUNTERS is NO. Refer to the section 1.4.4. If the Pulse_Count is 0, then the DNP Control-Code is assigned by 21Hex instead of 1.
- 18 -
Building Data Acquisition Real-time Database For MB / MB+ Protocol: MB Master Data Acquisition only retrieves data of 0x (coil), 1x (Digital Input) and 4x (Holding registers) from MB devices! The value of "The First Address/Offset" must be greater than 0.
Entry ENTRY DATABASE = SIZE ENTRY DEV_DATABASE = SIZE [SESSION = dd] The dd is 0..7 MAX_DI = dddd DI_MB_1X_START = dd dd DI_MB_0X_START = dd dd DI_MB_REG_START = ddd Sample Explanation ENTRY DATABASE = SIZE Begins the settings for the database. ENTRY DEV_DATABASE = SIZE SESSION = 0 The current setting of the Data Acquisition Realtime Database is for the Data Acquisition Session #0. Max. Number of Digital Input. MAX_DI = 160 In this sample, 1x0017 is the first point number of DI_MB_1X_START = 17 4 1X MB Data area with total 4 16-bit Words (1x0017 DI_MB_0X_START = 25 4 1x0080). DI_MB_REG_START = 100 0x0025 is the first point number of 0X MB Data area with total 4 16-bit Words (0x0025 0x0088). The register of 4x0100 is the first address of the area of MB Register for DI points. There is 16 DI Points in a 4xxxxx. The Total of DI points derived from 1X, 0X and 4X MB Data area is equal to MAX_DI. DI Points arrangement sequence is as follows:[1X]->[0X]>[4X]. In this sample, the total of DI for a linksession/device is 160. DI #0000 to DI #0063 will be derived from 1X0017 to 1X0080. DI #0064 to DI #0127 will be derived from 0X0025 to 0X0088. DI #0128 to DI #0159 will be derived from 4X0100 to 4X0101. Max. Number of Digital Output. MAX_DO = 160 In this sample, 0x0025 is the first point number of DO_MB_0X_START = 25 4 0X MB Data area with total 4 16-bit Word (0x0025 DO_MB_REG_START = 1 0x0088). The register of 4x0001 is the first address of the data area of MB Register for DO. In this sample, DO #0000 to #0063 are mapped to 0x0025 to 0x0088, DO #0064 to #0159 are mapped to 4x001 to 096. If a DO Point is defined by a 4xxxxx. The definition of Bit15 to Bit00 in a 4xxxx register is as follows: Bit15-14: command code: 00-Pulse 01-CtrlCode 10-PatternCtrl, Subsequently 32bit is the pattern 11-Select Bit13: timing base: 0-50ms(if timing count=0, base=20ms), 1-100ms(if timing count=0, base=5s) Bit12-08: Timing count: 01 31 Timing total= Timing count x Base Bit07-00: If the Command Code=0 then Bit07-00 is the Pulse Count otherwise Bit07-00 is the Control-Code as follows: 0x41:SBO CLOSE, 0x81:SBO OPEN 0x03:LATCH ON, 0x04:LATCH OFF 0x01:PULSE 0x00:Operate if Command-Code=0x03 Note: The PLC program must reset the register (Bit15-00 = 0) after the acceptance of the command. Max. Number of Analogue Input. MAX_AI = 202 It is an Integer -32768 to +32767. AI_MB_REG_START = 100 In this sample, The register of 4x0100 is the first address of the data area of MB Register for AI points. MAX_AO = 52 Max. Number of Analogue Output. It is an Integer -32768 to +32767. AO_MB_REG_START = 200 In this sample, The register of 4x0200 is the first address of the data area of MB Register for AO points. The floating point FP output is associated with a floating point input. Refer to the section 1.4.13.
Note:
The control command: SBO TRIP / CLOSE on MB_0x (coil) becomes LATCH OFF / ON automatically.
- 19 -
Max. Number of 16-bit Word Data Register. It is 16bit-Binary Word 0 to 65535 and ONE register per BR16 point. In this sample, The register of 4x0400 is the first address of the data area of MB Register for BR16. Max. Number of 32-bit Word Data Register. It is 32bit-Binary Word 0 to 4294967295 and TWO register per BR32 point. In this sample, The register of 4x0400 is the first address of the data area of MB Register for BR32. Max. Number of 32-bit counter. It is 32bit-Binary Word 0 to 4294967295 and TWO registers per CNT32 point. In this sample, The register of 4x0400 is the first address of the data area of MB Register for Counters. Max. Number of 32-bit Float/Real point. It is 32bit-Floating data 3.4*(10**-38) to 3.4*(10**+38) and TWO registers per FR point. In this sample, The register of 4x0300 is the first address of the area of MB Register for Float/Real points. Disables saving the history of the ENTIRE HMI Point database. If enable, the file name is mixed as HMI_SYSTEM_mm_ss.M_S. Where the HMI_SYSTEM is described in the section 1.4.4, the mm is Minute of the time, and the ss is Second of the time. See Note 1 below for programming history data. Enable sealing in the alarm.
MAX_FR = ddd FR_MB_REG_START = ddd Note: In section 1.4.13, the FORMAT can be FR. ENABLE_SAVING_DB = Y/N
ENABLE_SAVING_DB = NO
- 20 -
MAX_DI = 944 MAX_DO = 129 LG_CTRL_LRU = LG_CTRL_LRU = LG_CTRL_LRU = LG_CTRL_LRU = LG_CTRL_LRU = LG_CTRL_LRU = LG_CTRL_LRU = LG_CTRL_LRU =
1, 2, 3, 4, 5, 6, 7, 8,
1 2 3 4 4 4 4 4
MAX_CNT = 0 ENABLE_SAVING_DB = NO
- 21 -
In case of the current Data Acquisition configured as Multi-Salve, Slave Device #11 and Slave Device #22, for example, if the slave device #11 is assigned to the Data Acquisition Session #0 and the slave device #22 is the session #1, the point mapping is described as follows. The DI Pnt#0 in the slave device #11 is saved in DI point number #0 in the Data Acquisition Real-time Database, and the DI Pnt#0 in the slave device #22 is saved in DI point number #160 in the DAS Real-time Database. Here is the MAX_DI assumed as 160. All points in all Data Acquisition sessions are arranged as follows: Lower Number Higher Number Session #0 Session #1 Session #7 DI #0 DI # 0 + MAX_DI * 1 DI # 0 + MAX_DI * 7 DO #0 AI #0 AO#0 CNT #0 DO # 0 + MAX_DO * 1 AI # 0 + MAX_AI * 1 AO # 0 + MAX_AO * 1 CNT # 0 + MAX_CNT * 1 DO # 0 + MAX_DO *7 AI # 0 + MAX_AI *7 AO # 0 + MAX_AO *7 CNT # 0 + MAX_CNT *7
FR #0 FR # 0 + MAX_FR * 1 FR # 0 + MAX_FR *7 Normally, you do not need to watch it closely. You can easily specify the Data Type (D_TYPE), the Slave Device Number/Address (PNT_DEV), the Point Number (PNT_ADDR), and the Bit Number of 16-Bit Word Data to completely cover the description of a Point in the database. Refer to 1.4.12/13/14.
- 22 -
1.4.10 Entries for the Data Matrix Editor It depends what kind of protocol you are using. Please refer to the section 8 to see how the Data Matrix Editor works. Data Matrix Editor For DNP Device
Entry ENTRY DATA_MATRIX = EDITOR TITLE = tttttttt MATRIX_DI_PT = ddd ACTION_BIN_DO_PT = ddd CONTINGENCY_PULSE_PT = dd Sample ENTRY DATA_MATRIX = EDITOR TITLE = GenSheld for XXX MATRIX_DI_PT = 176 ACTION_BIN_DO_PT = 81 CONTINGENCY_PULSE_PT = 96 Explanation Begins the settings for the Data Matrix Editor. The 1st DI point of the Matrix. DNP Digital Pattern output. For slave (RTU) to read the setting for the corresponding contingency. The xMaster DataMatrix sends a 16-bit pattern first, then sends a pulse on the current DO Pulse point, DO #097, for example, DO #097 is for the second contingency TE02, so the current 16-bit pattern will be sealed in TE02 by RTU/PLC program. It defines the information for each contingency and action. It will show up in the Data Matrix Editor. The Max. length of tttt is 48. The Max. length of xxxx is 12. It needs at least 768 DI points (48x16) and 48 DO Pulse points.
COUNT = dd END
CONTINGENCY_INFO ... ... CONTINGENCY_INFO ACTION_INFO = 01 ... ... ACTION_INFO = 16 COUNT = 48 END
- 23 -
AO_PT = ddd
AO_PT = 01
COUNT = dd END
CONTINGENCY_INFO ... ... CONTINGENCY_INFO ACTION_INFO = 01 ... ... ACTION_INFO = 16 COUNT = 48 END
- 24 -
COUNT = dd END
CONTINGENCY_INFO ... ... CONTINGENCY_INFO ACTION_INFO = 01 ... ... ACTION_INFO = 16 COUNT = 48 END
Note: Mainly the Data Matrix is used for the application of Remedial Action System - RAS. You have to program RTU / PLC accordingly to seal in the Action DO Pattern for the corresponding contingency event inpute (TE01-TE48). DO -- Action Pattern ( Output Register Bit 00 to 15 ) DI -Trip Events TE01 to TE48
1 1 2 48
10
11
12
13
14
15
16
- 25 -
1.4.11 Entries for definitions of the Metering Display It defines the index and name of meter device (actually, it is a pseudo meter device created and displayed by xMaster HMI). The max. index (Meter Device No.) is 256. There is up to 10 data (i.e. Analogue Input, Counter, Floating-Point) in a meter device being shown in the Metering Display. Refer to the section 5 and the screenshot Figure 1-2.
Entry ENTRY METER_WINDOW_CAPTION = XXXX Sample ENTRY METER_WINDOW_CAPTION = XXX Substation Metering Explanation It is to define the caption of window of the metering. The default is Analog/Register/Metering Data Display. The LARGE size Meter Device is able to contain up to 10 data items and there are up to 3 meters per display. The default size is LARGE. The SMALL size Meter Device is able to contain up to 4 data items and there are up to 6 meters per display. The Meter Index 'dd' is up to 256. The Meter Name tttt is up to 24 characters.
ENTRY
METER_SIZE = LARGE
Meter Data Item Name. The corresponding meter item data is defined by the entry of "METER = M, L". Refer to the section 1.4.12 to 13. Meter Name METER_SIZE = SMALL
Figure 1-2
- 26 -
1.4.12 Entries for creating a default HMI Point Database In the default HMI Point Database, the total of HMI Status Point (DI) is the max. number of Digital Input/Indication times the number of total sessions (MAX_DI * SessionTotal, refer to the section 1.4.5 Entries for Data Acquisition Communications and the section 1.4.9 Entries for Data Acquisition Real-time Database). And it will automatically put all DI points into the list of Alarm-Definition. So the Alarm #1 is the 1st DI point, Alarm#2 is the 2nd DI point, ..., and so on. And also it will automatically assign the corresponding DO points. So the DO#0 is associated to the DI#0, the DO#1 is associated to the DI#1, ..., and so on. The total of HMI Analogue Input Point (AI) is the max. number of Analogue Input times the number of total sessions (MAX_AI * SessionTotal). And all default setting will be applied to properties of HMI AI Point as follows:
HI_WNLIM (Hi Limit Warning) LO_WNLIM (Lo Limit Warning) HI_ALLIM (Hi Limit Alarm) LO_ALLIM (Lo Limit Alarm) HI_RSLIM (Hi Limit Reasonability) LO_RSLIM (Lo Limit Reasonability) HI_SCALE (Hi Limit Scale Factor) LO_SCALE (Lo Limit Scale Factor) Z_DBAND (Limit_Deadband) L_DBAND (Limit_Deadband) HI_EUVAL (Hi Engineering Value) LO_EUVAL (Lo Engineering Value) = = = = = = = = = = = = +2047.0 -2048.0 +2047.0 -2048.0 +2047.0 -2048.0 16.0 16.0 0.0 0.0 +2047.0 -2048.0
All HMI AI points will be assigned into up to 256 Meter Devices and the Meter Data format is HEX. The data format/type of HMI AI Point is Integer (-32768 - +32767).
Entry ENDALL_AND_BUILD_A_DEFAULT_HMI_POINT_DB [DIFile],[AIFile] Sample ENDALL_AND_BUILD_A_DEFAULT_HMI_POINT_DB
[DIFile]: the default name of the Text file defining the status Short-Name and Long Name is "HMI_STATUS_NAMES.TXT". The format of the line in the file is as follows: xxxxxxxxxxxx, xxxxxxxxxxxxxxxxxxxxx, dd The Point Long Name is the same string as the Point Short Name is if the Long Name is not defined. The "dd" is the DO control point number that is associated to the current Status point. And it is an option. The 1st line is assigned to HMI Status point DI #0. The 2nd line is assigned to HMI Status point DI #1. The 3rd line is assigned to HMI Status point DI #2. And so on. [AIFile]: the default name of the Text file defining the Analog short and long name is "HMI_ANALOG_NAMES.TXT ". The format of the line in this file is as follows: xxxxxxxxxxxx, xxxxxxxxxxxxxxxxxxxxx, dd The "dd" is the AO control point number that is associated to the current Status point. And it is an option. The 1st line is assigned to HMI Analogue Input point AI #0. The 2nd line is assigned to AI #1. The 3rd line is assigned to AI #2. And so on. Two names of above files are separated by the character of ,. You can easily get above Name Information from the existing RTU/PLC point assignment.
- 27 -
1.4.13 Entries for Analogue Input Points The value of the HMI AI Point can be retrieved from the Data Object with the format of an Integer (-32768 - +32767) or a 32Bit Binary Word (i.e. BR32, CNT32, etc.). The default setting of the propriety of the HMI AI Point is as follows:
HI_WNLIM (Hi Limit Warning) LO_WNLIM (Lo Limit Warning) HI_ALLIM (Hi Limit Alarm) LO_ALLIM (Lo Limit Alarm) HI_RSLIM (Hi Limit Reasonability) LO_RSLIM (Lo Limit Reasonability) HI_SCALE (Hi Limit Scale Factor) LO_SCALE (Lo Limit Scale Factor) Z_DBAND (Limit_Deadband) L_DBAND (Limit_Deadband) HI_EUVAL (Hi Engineering Value) LO_EUVAL (Lo Engineering Value) = = = = = = = = = = = = +2047.0 -2048.0 +2047.0 -2048.0 +2047.0 -2048.0 16.0 16.0 0.0 0.0 +2047.0 -2048.0 Explanation It defines the short name/Tagname of AI point. The max. length of short name is 12. It defines the long name of AI point. The max. length of long name is 48. For the pseudo AI point, the "LONG NAME" is to define the function for the current pseudo AI point. The definition of functions is as follows: + : ADD - : SUB * : MUL / : DIV & : Binary-And | : Binary-Or ^ : Binary-Exclusive-Or Note: please refer to the section 1.4.3 for details on PSD:ANALOG:XXXXX, the Tren_Point.
LONGNAME = xxxxxxxxxxxxxx [LONGNAME = PSD:HMI_SV] [LONGNAME = PSD:ANALOG:XXXXX] [LONGNAME = PSD:ALARM_GROUP] [LONGNAME = PSD:Var1 + Var2] [LONGNAME = PSD:Var1 - Var2] [LONGNAME = PSD:Var1 * Var2] [LONGNAME = PSD:Var1 / Var2] [LONGNAME = PSD:Var1 & Var2] [LONGNAME = PSD:Var1 | Var2] [LONGNAME = PSD:Var1 ^ Var2] "PSD:HMI_SV": Usually for making up a Setpoint (0-65535) via a SpinEdit, a TrackBar, ListBox, etc. The value of the current pseudo AI goes to and comes from a SpinEdit, a TrackBar, ListBox, etc. "PSD:ALARM_GROUP": Usually to display the total of alarms in the current alarm group defined by ALARM_GROUP = dd. "PSD:Var1 Function Var2": Var1 is the HMI AI Point short name. Var2 is either the HMI AI Point short name or a const like #123.4(must place # in font of the const). FORMAT = AI FORMAT = FR [FORMAT = PSD_AI] [PSD_AI_DEFAULT_PV = dddd.d] If the current AI is a PSD_AI, the " PSD_AI_DEFAULT_PV = dddd.d " is to define the init. value for the current PSD_AI. D_TYPE = AI [D_TYPE = BR16] [D_TYPE = BR32]
LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME LONGNAME
= = = = = = = = = = =
PY PLC 40100 PSD:HMI_SV PSD:ANALOG:XXX-YYY.VVO_ON PSD:ALARM_GROUP PSD:AI001 + AI012 PSD:AI021 - #12.3 PSD:AI012 * AI009 PSD:AI123 / #10.0 PSD:AI121 & AI004 PSD:AI045 | AI009 PSD:AI011 ^ AI141
= AI = BR16 = BR32
The FORMAT is to define the data/object Format/Type. "PSD_AI" is to declare the current AI is a pseudo AI point. The default is 0. FORMAT = FR is to define the current data format is floating point/Real data. Its AO point is FP AO point. Refer to 1.4.9. The current AI data can be retrieved from a 16-Bit Binary Register, or a 32-Bit
- 28 -
[D_TYPE = FR] [D_TYPE = CNT32] [D_TYPE = MYPLC_9X] D_TYPE is to define where the Analogue Data derivers from.
= FR = CNT32 = MYPLC_9X
Binary Register, or a Floating data, or a 32-Bit Counter in the Data Acquisition Real-time Database, or from PLC Program Runtime Database. Refer to the section 1.4.9 and the section 9.1.4. Default is NO. Yes to specify the current HMI Point will be put into the shared HMI Point Pool. It is to define how to process the current AI point data. It is also to point out whether to make a related history data file for the display of Data Trend/DataWatch. The File Name is mixed as HMI_SYSTEM_POINTNAME_History. txt. if HMI_SYSTEM = c:\xMaster\HD\XYZ and the Point Name NAME = 5LxxKV, the history file name will be c:\xMaster\HD\XYZ_5LxxKV_Hist ory.txt The PNT_ADDR is to define the point number of the current data source that is defined by D_TYPE. The CTRL_ADDR is to define the control point (AO) number that is associated to the current AI point.
SHARING_PNT = Y/N
SHAPING_PNT = Y
PROCTYPE = ANALOG [History] [M=dd] (dd=1-60) The option of [History] can be one of three definitions as follows: MINUTE_HISTORY: Interval=1 Minute HOUR_HISTORY: Interval=1 Hour DAY_HISTORY: Interval= 1 Day The option of [M=dd] is to specify the history data is Multiple-Points. The dd is to define how many consecutive ANALOG points in the history data. (Refer to section 1.4.4 and 7.3.73)
PNT_ADDR = ddd [CTRL_ADDR = ddd] The CTRL_ADDR must be defined after the PNT_ADDR. Refer to the section 5.2. [PNT_ADDR = SHARED] It is to define the current point is retrieved from the shared HMI Point Pool. Refer to the section 13. PNT_DEV = ddd PNT_DEV is to define slave address. The default is the Device assigned to Link Session #0. [PNT_SITE = ddd]
PNT_ADDR
= 0
[ALARM
= YES/NO] [xxxx.hmi]
The default setting is NO. The xxxx.hmi is the associated HMI display for the current alarm.
ALARM_GROUP
= ddd
METER = M, L M: 1 to 256 L: 1-4 if for small meter. 1-10 if for large meter. In the "METER = M, L" where the M is to define Meter Index and the L is to define Meter Data Item/Line number. Refer to the section 1.4.11 and the section 5. ENG_UNIT = xxx Note: If it is "HEX", a Hex Formatted string will be displayed instead of a floating point.
If there is no PNT_DEV definition, it will use the FIRST Data Acquisition Link Session associated slave PNT_SITE = 001 address. So if there is a (It is to define which remote site the Session Link ONLY, you do not current point belongs to. Refer to the need to use this definition. section 12.) ALARM = YES c:\xmaster\alm1.hmi This entry: ALARM is to define the current AI point is an Alarm point as well, Note: ONLY after 3 minutes at very beginning running HMI, it will detect which will be captured by Alarm-Recorder. the 1st-occurrence alarm and automatically switch to the associated HMI display. ALARM_GROUP = 1 Defines the Alarm group Number. The METER is for Analog Input METER = 1, 1 Points to define which meter device and which line (data item) in the current meter device is assigned to. PNT_DEV = 11
ENG_UNIT
= KV
The ENG_UNIT is to define the Text string of engineering value unit (e.g. KV Amps). The max. length of unit is 6.
- 29 -
If it is "DEC" or A or AMP or LEV or LEVEL, a Dec. Formatted string will be displayed instead of a floating point. ENG_NAME = xxxxxxx ENG_NAME = 2Lxx Volt. The ENG_NAME is to define the name of the current Meter Data item: engineering-value name (e.g. 2Lxx Volt ). The default is the same as the name of the current AI point. The ENG_NAME is displayed by the related meter display (e.g. 2Lxx Volt = 6.23 Kv). The max. length of ENG_NAME is 12. Hi/Lo Engineering Value* Hi/Lo Limit Warning**. Hi/Lo Limit Alarm**. Hi/Lo Limit Reasonability**.
HI_EUVAL LO_EUVAL HI_WNLIM LO_WNLIM HI_ALLIM LO_ALLIM HI_RSLIM LO_RSLIM HI_SCALE LO_SCALE Z_DBAND
= = = = = = = = = = =
+dddd.dd -dddd.dd +dddd.dd -dddd.dd +dddd.dd -dddd.dd +dddd.dd -dddd.dd dd.d dd.d dd.d
HI_EUVAL = +2047.0 LO_EUVAL = -2048.0 HI_WNLIM = +2047.0 LO_WNLIM = -2048.0 HI_ALLIM = +2047.0 LO_ALLIM = -2048.0 HI_RSLIM = +2047.0 LO_RSLIM = -2048.0 HI_SCALE = 16.0 [LO_SCALE = 16.0] Z_DBAND = 0.0
Or RANGE = +xxxx.xx uuuu [yy] xxxx.xx is the Range of Engineering value. Uuuu is the Metering Unit(e.g KV) yy is to define the Max. of AI raw data. 12 is to represent -2048 to +2047 and 16 is to represent -32768 to +32767. 16 is the default setting.
SENSE_CHG = Y/N
Hi/Lo Limit Scale Factor. The setting must be >0. It is the deviation for the HMI Point database to detect whether the current Engineering Value changes. You can watch the changes by Or you can simply define the range the enable "Enable Display engineering value and scaling fact as Updated Point" in the page of "Log" in the window of "HMI follows: Local Database Engine". RANGE = 30.0 KV 12 (Refer to section 11). It implicates settings as follow: HI_EUVAL / LO_EUVAL = +30.0 / -30.0 HI_WNLIM / LO_WNLIM = +30.0 / -30.0 HI_ALLIM / LO_ALLIM = +30.0 / -30.0 HI_RSLIM / LO_RSLIM = +30.0 / -30.0 HI_SCALE / LO_SCALE = 16.0 / 16.0 Z_DBAND = 0.0 ENG_UNIT = KV SENSE_CHG = NO If the current point is the watchdog, you can use it to disable checking and logging changes.
* Note:
AI_RowCount- (-32768/LO_SCALE) AI Engineering Value=----------------------------------- * (HI_EUVAL-LO_EUVAL) + LO_EUVAL (+32767/HI_SCALE)-(-32768/LO_SCALE)
**Note:
You can see the related information in the Log Window in the Alarm-Recorder. Refer to the section 6.3 and the screenshot Figure 1-3.
Figure 1-3
- 30 -
- 31 -
LONGNAME = xxxxxxx
FORMAT = DI [FORMAT = PSD_DI] PSD_DI_VAR1 = xxxx PSD_DI_VAR2 = xxxx PSD_DI_FUNC = xxxx PSD_DI_CTRL1= d d d PSD_DI_CTRL2= d d d PSD_DI_WDT= ddddd (in millisecond)
= = = = =
PY PLC TROUBLE 0X035 PY PLC Watchdog failed RAS Matrix Mismatched DI PSD_DI
Sample #1: PSD_DI_FUNC = WDT_FAILED PSD_DI_CTRL1 = 11 0 0 Sample #2: PSD_DI_FUNC PSD_DI_VAR1 PSD_DI_VAR2 PSD_DI_WDT Sample #3: ENTRY NAME LONGNAME FORMAT PNT_ADDR PROCTYPE STATCONV PSD_DI_FUNC
= = = =
= = = = = =
Sample #4: ENTRY NAME = PSD_DI_MM LONGNAME = Matrix Mismatched FORMAT = PSD_DI PNT_ADDR = 0 PROCTYPE = ONOFF STATCONV = NO PSD_DI_VAR1 = PY_40110 PSD_DI_VAR2 = SY_40110 PSD_DI_FUNC = MISMATCH_MATRIX PSD_DI_CTRL1 = 11 48 0 PSD_DI_CTRL2 = 22 48 0 PSD_DI_WDT = 0 Sample #5: ENTRY NAME = PSD_DI_ML LONGNAME = Action Mismatched FORMAT = PSD_DI PNT_ADDR = 0 PROCTYPE = ONOFF STATCONV = NO PSD_DI_VAR1 = PY_40100 PSD_DI_VAR2 = SY_40100 PSD_DI_FUNC = NEQ PSD_DI_CTRL1 = 11 100 0 PSD_DI_CTRL2 = 22 100 0 PSD_DI_WDT = 300000 ALARM = YES Sample #6: ENTRY NAME LONGNAME FORMAT PNT_ADDR
- 32 -
PROCTYPE = ONOFF STATCONV = NO PSD_DI_FUNC = HMI_SV ALARM = NO Sample #: ENTRY NAME = PSD_DI_OPEN_R1 LONGNAME = R1 is ready to go FORMAT = PSD_DI PNT_ADDR = 0 PROCTYPE = ONOFF STATCONV = NO PSD_DI_VAR1 = PSD_DI_R1 PSD_DI_VAR2 = PSD_DI_OPEN_R1 PSD_DI_FUNC = ON_TIMEOUT PSD_DI_CTRL1 = 11 100 1 PSD_DI_WDT = 30000 ALARM = NO Sample #8: ENTRY NAME = PSD_DI_R2 LONGNAME = Start R2 FORMAT = PSD_DI PNT_ADDR = 0 PROCTYPE = ONOFF STATCONV = NO PSD_DI_FUNC = HMI_SV PSD_DI_CTRL1 = 11 100 2 PSD_DI_WDT = 30000 ALARM = NO D_TYPE = DI D_TYPE = AI D_TYPE = BR16 D_TYPE = BR32 D_TYPE = FR D_TYPE = CNT32 D_TYPE = MYPLC_9X
MISMATCH_MATRIX: Mismatched between PY and SY. HMI_SV: It is for writing and reading. Usually it is assigned to a CheckBox or a 2-State switch to turn ON/Off a pseudo DI point.
The Entry of "PSD_DI_CTRL1" / "PSD_DI_CTRL2" is to define actions to be taken for up to 2 slaves (i.e. PLC). The 1st "d" is to define the Slave Address. The 2nd "d" is to define action address, the Analogue Output (for MB, it is the 4xxxx) address. The 3rd "d" is to define the action data, the value. The Entry of "PSD_DI_WDT" is to define a watchdog timer for the current PSD_DI to take actions that are defined in the PSD_DI_CTRL1 and PSD_DI_CTRL2. In the sample #5, if PY_40100 is not equal to SY_40100 for at least 5 minutes (300 seconds), send value of 0 into 4x0100 in both PLC #11 and #22. If "PSD_DI_CTRL1"/"PSD_DI_CTRL2" and "PSD_DI_WDT" are defined and validated, it will take the action once when the timer "PSD_DI_WDT" is expired.
= = = = = = =
PROCTYPE PROCTYPE
= ONOFF = 3STATE
STATCONV = Y/N
PNT_ADDR = ddd PNT_ADDR = * [CTRL_ADDR = ddd] [PNT_BIT = dd] [CTRL_BIT = dd] [PNT_ADDR = SHARED] It is to define the current point is retrieved from the shared HMI Point Pool. PNT_DEV = ddd [PNT_SITE = ddd]
The D_TYPE is to define where the DI Data derives from. The current DI data can be retrieved from an Analogue Input, or a 16-Bit Binary Register, or a 32-Bit Binary Register, or a Floating data, or a 32-Bit Counter in the Data Acquisition Real-time Database, or from PLC Program Runtime Database. Refer to the section 1.4.9 and the section 9.1.4. If D_TYPE is not DI, you have to define the bit number (PNT_BIT). The PROCTYPE is to define the process type. PROCTYPE = ONOFF ONOFF: 2-State DI. PROCTYPE = 3STATE 3STATE: 3-State DI, it needs TWO consecutive Note: DI Points in the Data Acquisition Real-time database. The bit pattern are defined as For 3STATE, if InTrabsit(00) or follows: Invalid(11) occurs, the current point will be shown failure (same 00:InTransit. as OFFLINE does. Refer to 11:Invalid. screenshot Figure 11-2). And Alarm 01:Close. is assigned atomatically. 10:Open. STATCONV = YES It is to define whether the HMI point database application needs to invert the current DI state (i.e. OFF->1, NO->0, if YES). The PNT_ADDR is to define the point number of PNT_ADDR = 0 the current data source that is defined by [CTRL_ADDR = 0] D_TYPE. The CTRL_ADDR is to define the control point number that is associated to the current D_TYPE = BR16 DI point. The CTRL_ADDR must be defined after PNT_ADDR = 1 the PNT_ADDR. The PNT_BIT is to define the bit PNT_BIT = 12 number (0..15) in the Word/Register (16-Bit). PNT_ADDR = * Refer to the section 13 for more samples on It is to define the next point shared HMI Point Pool. automatically. The PNT_DEV is to define slave address. If PNT_DEV = 11 there is no PNT_DEV definition, it will use the FIRST Data Acquisition Link Session PNT_SITE = 001 associated slave address. So if there is a (It is to define which remote site Session Link ONLY, you do not need to use this definition. the current point belongs to. Refer to the section 12.) The default is the Device assigned to Link
- 33 -
Session #0. The PNT_ADD and the CTRL_ADDR are associated to the same Device Address. [ALARM = YES/NO][x.hmi] ALARM = YES The default setting is NO. ALARM is to define the current DI point is an Alarm point as well, which will be captured by Alarm-Recorder. Default is NO. Yes to specify the current HMI Point will be put into the shared HMI Point Pool. Defines the Alarm group Number. AUTH_ST is to define the normal Alarm state. OPEN: CLOSE is 2-State Alarm condition. CLOSE: OPEN is 2-State Alarm condition. OPEN_3: CLOSE is 3-State Alarm condition. CLOSE_3: OPEN is 3-State Alarm condition.
SHARING_PNT = Y/N
ALARM_GROUP = ddd AUTH_ST = OPEN AUTH_ST = CLOSE AUTH_ST = OPEN_3 AUTH_ST = CLOSE_3
Note #1: The points LONGNAME can incorporate some encoded information to play the Alarm Sound (*.wav). If the current Point is alarmed, play the sound that is File-Named as follows: Encoded How to make up the wav file name Sample of wav file name ( if XXX is ALM and Keyword ENDTRY HMI_SYSTEM = C:\xMaster\HD\SEL ) AS=XXX HMI_SYSTEM_XXX C:\xMaster\HD\SEL_ALM.WAV Refer to 1.4.4 for HMI_SYSTEM. HMI_SYSTEM_PointName C:\xMaster\HD\SEL_PY0035_AL03.WAV. ASN=! HMI_SYSTEM_XXX_dddd If the current AI Value is 1234, the file name ASV=XXX is C:\xMaster\HD\SEL_ALM_1234.WAV And the LongName also can indicate the current pseudo DI point is Tren_Point. Please refer to the section 1.4.3 for details. Note #2: After finishing scanning the configuration, x_Master will automatically generate the Lists of the HMI Points as follows: DI List ConfigurationFileName_DI_PointName_List.TXT AI List ConfigurationFileName_AI_PointName_List.TXT COUNTER List ConfigurationFileName_CNT_PointName_List.TXT DO List ConfigurationFileName_DO_PointName_List.TXT AO List ConfigurationFileName_AO_PointName_List.TXT The format of file is described in the section 1.4.12. Note #3: If the current Active Alarm point becomes Offline (fail), it still remains the Alarm state.
- 34 -
TASK_ID = dd TASK_NAME = xxxxx TASK_TYPE = xxxxx Type: BEGIN_TO_DO_UNTIL_END BEGIN_END_AFTER_SECONDS_TO_DO EVERY_SECONDS EVERY_MINUTE_AT_SECOND EVERY_HOUR_AT_MINUTE EVERY_DAY_AT_HOUR EVERY_WEEK_AT_WEEKDAY EVERY_MONTH_AT_DAY KEYBAR_F8 BEGIN_EVENT = xxxxx END_EVENT = xxxxx
MY_TASK = d xxxxxxxxxxx Task: EXECUTE xxxxxx PRINT xxxxxx SAVEDATA xxxx xxxxx ADDDATA xxxx xxxxx DOWNLOAD xxxx EMAIL xx1 xx2 xx3 xx4 INTERVAL = dddd
Note #2
The event as a trigger that may start the task. The event that may end/dismiss the task. The default is set by the Begin_Event. The task details. Up to 8 definitions of taskactions in the list of the current task. See Note #2.
INTERVAL = 5000
TASK_HOUR = dd TASK_MINUTE = dd TASK_SECOND = dd EMAIL_HOST = xxxxx EMAIL_USERID = xxxx EMAIL_ADDR = xxxx END
TASK_HOUR = 23 TASK_MINUTE = 59 TASK_SECOND = 1 EMAIL_HOST = abcd EMAIL_USERID = efgh EMAIL_ADDR = ijkl@mnopq.com END
Before End-Event, after Begin-Event, how often does the current task. In Millisecond. The 2nd month in every year. The 3rd day in every month. On every Thursday. 1 to 5: Mon. to Fri. 6: Sat. 7: Sun. At the 23rd hour in every day. At the 59th minute in every hour. At the 1st second in every minute. The server of email. The user ID for email. The sender email address. End of the current entries.
Note #1 (the definition of event): BEGIN_TO_DO_UNTIL_END If the Begin_Event (Rising-Edge) occurs, starts all task-actions repeatedly at the interval defined by INTERVAL = dddd, all task-actions cease when the End_Event (Rising-Edge)
- 35 -
occurs. BEGIN_END_AFTER_SECONDS_TO_DO If the Begin_Event (Rising-Edge) occurs, then waits for the End_Event (Rising-Edge) occurs, then do all task-actions after a delay defined by INTERVAL = dddd. EVERY_SECONDS Periodically does all task-actions in totalized seconds (at least 3 seconds) defined by TASK_SECOND = dd, and/or TASK_MINUTE = dd, and/or TASK_HOUR = dd , and/or TASK_DAY = dd. If the Begin_Event and End_Event are defined, it will check and wait for both Begin_Event (Rising-Edge) and End_Event (Rising-Edge) occur. EVERY_MINUTE_AT_SECOND Periodically do all task-actions every minute at the second defined by TASK_SECOND = dd. If the Begin_Event and End_Event are defined, it will check and wait for both Begin_Event (Rising-Edge) and End_Event (Rising-Edge) occur. EVERY_HOUR_AT_MINUTE Periodically does all task-actions every hour at the minute defined by TASK_MINUTE = dd. If the Begin_Event and End_Event are defined, it will check and wait for both Begin_Event (Rising-Edge) and End_Event (Rising-Edge) occur. EVERY_DAY_AT_HOUR Periodically does all task-actions every day at the hour defined by TASK_HOUR = dd (and at the Minute defined by TASK_MINUTE = dd, if defined). If the Begin_Event and End_Event are defined, it will check and wait for both Begin_Event (Rising-Edge) and End_Event (Rising-Edge) occur. EVERY_WEEK_AT_WEEKDAY Periodically does all task-actions every week-day defined by TASK_WEEK = d (and at the Hour defined by TASK_HOUR = dd, if defined). If the Begin_Event and End_Event are defined, it will check and wait for both Begin_Event (Rising-Edge) and End_Event (RisingEdge) occur. EVERY_MONTH_AT_DAY Periodically does all task-actions every month at the day defined by TASK_DAY = dd (and at the Hour defined by TASK_HOUR = dd, if defined). If the Begin_Event and End_Event are defined, it will check and wait for both Begin_Event (Rising-Edge) and End_Event (Rising-Edge) occur. KEYBAR_F8 Do all task-actions after randomly hitting the function key F8. If the Begin_Event and End_Event are defined, it will check whether both Begin_Event (Rising-Edge) and End_Event (Rising-Edge) occur. If NO, it dismisses the current task.
- 36 -
Note #2 (the definition of task-action): EXECUTE xxxxxx Executes the command line User Application. Sample: MY_TASK = 1 EXECUTE UserAppl.exe @@@OPERATOR:@@@PSD_AI01:8:F@@@PSD_DI01:5:B Refer to the section 1.4.16 for the definition of Data String Template: @@@OPERATOR:@@@PSD_AI01:8:F@@@PSD_DI01:5:B PRINT xxxxxx Prints the file (*.TXT or *.RTF) or a Data String Template Print Report. Sample: MY_TASK = 1 PRINT UserData.rtf
MY_TASK = 2 PRINT @@@OPERATOR:@@@PSD_AI01:8:F@@@PSD_DI01:5:B
The contents in the file will be scanned to find any possibility of Data String Template. SAVEDATA xxxx xxxxx Saves the file (*.TXT or .RTF) to another file (.TXT or *.RTF) Compose Report. Sample: MY_TASK = 1 SAVEDATA DataTemp1_@AI_USER_ID:4:I.rtf DataReport_@AI_USER_ID:4:I.rtf The contents in the file: DataTemp1.rtf will be scanned to find any possibility of Data String Template. In this sample, if the value of the AI_USER_ID in the HMI Point database is 51, the file name will be DataTemp1_51.rtf and DataReport_51.rtf ADDDATA xxxx xxxxx Adds a line of a Data String into the file (*.TXT or *.RTF) Compose Report. Sample: MY_TASK = 1 ADDDATA DataFile_@AI_USER_ID:4:I.rtf @@@PSD_AI01:8:F@@@PSD_DI01:5:B The result of the Data String Template: @@@PSD_AI01:8:F@@@PSD_DI01:5:B will be added at the end of the file: DataFile_@AI_USER_ID:4:I.rtf. In this sample, if the value of the AI_USER_ID in the HMI Point database is 51, the file name will be DataFile_51.rtf.
DOWNLOAD xxxx Downloads the setting(s) that described in the file: xxxx (*.txt). You are able to check the log information about control commands Download Production/Process Receipt. Syntax of the setting: Explanation Key Word Syntax The Device/Slave Address. DEVICE_ADDR= DEVICE_ADDR= dddd The First Control Point Address. PNT_ADDR= PNT_ADDR= dddd Writes up to 256 AO data into DATA= DATA= d1, [d2, d3, d4, , d256] CTRL_CMD= The following is the control command:
PULSE CtrlCode CtrlCount PulseOnTime PulseOffTime ON CtrlCode OFF CtrlCode DO_PATTERN CtrlCode PatternBitWord SBO_TRIP CtrlCode SBO_CLOSE CtrlCode DO_RAISE CtrlCode CtrlCount PulseOnTime DO_LOWER CtrlCode CtrlCount PulseOnTime
consecutive points. Normally the CtrlCode for PULSE is 1, for ON (Latch ON) is 3, for OFF (Latch OFF) is 4, for SBO Trip is 81h(in Hex) and for SBO Close is 41h(in Hex). Multiple-Command is allowed.
- 37 -
Sample:
It downloads all settings in the ReceiptFile_@AI_USER_ID:4:I.txt. In this sample, if the value of the AI_USER_ID in the HMI Point database is 51, the file name will be ReceiptFile_51.txt. Samples of settings:
DEVICE_ADDR= DEVICE_ADDR= DEVICE_ADDR= DEVICE_ADDR= DEVICE_ADDR= DEVICE_ADDR= 11 22 11 22 22 22 PNT_ADDR= PNT_ADDR= PNT_ADDR= PNT_ADDR= PNT_ADDR= PNT_ADDR= 10 10 10 10 10 10 DATA= 1 2 DATA= 1 2 CTRL_CMD= CTRL_CMD= CTRL_CMD= CTRL_CMD= 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10 PULSE 1 10 5000 100 DO_PATTERN 03h 810Ah ON 03h, OFF 04h, ON 03h, ON 03h SBO_TRIP 81h, SBO_COLSE 41h, SBO_CLOSE 41h
EMAIL xx1 xx2 xx3 xx4 Sends an email (with attachment, if defined) to xx1 Email Report/Alarm. The xx1 specifies the receiver email Address. The xx2 specifies the email Subject. The xx3 specifies the email Attachment, or NONE (if no attachment). The xx4 is the email message body text. Note: xx1 xx2 xx3 xx4 will be scanned to find any possibility of Data String Template. Sample:
MY_TASK = 1 SAVEDATA DataTemp1_@AI_USER_ID:4:I.rtf dataReport_@AI_USER_ID:4:I.rtf MY_TASK = 2 EMAILL xyz@qwe.com Data@AI_USER_ID:4:I dataReport_@AI_USER_ID:4:I.rtf DataReport
Refer to the section 1.4.16 for the definition of Data String Template: @AI_USER_ID:4:I. In this sample, the task #1 is to create a data file that will be emailed by task #2 to xyz@qwe.com in the attachment.
- 38 -
1.4.16 The Data String Template A Data String Template is to provide the flexibility to get dynamical and real-time information (in a File composing with some Data-String-Templates from which a report derives) as defined in the template with Key word and TagName (Point Short Name in the HMI Point Database, refer to the section 1.4.12 to 1.4.14). If the scanner of Template fails in checking the Key Word and the Format, the original text remains intact. Key Word @@ @TagName:dd:X Meaning @@ is replaced with the character Tab/09 @TagName:dd:X is replaced with a value of the point defined by TagName within space defined by dd and with the format defined by X. @DATETIME:dd is replaced with a String of the current Data-Time (e.g 28/03/2006 23:23:12) @OPERATOR:dd is replaced with a String of the name of the current operator. @SITENAME:dd is replaced with the string of the current site name. @AUTOSITEINFO:dd is replaced with the string of the site name that is defined automatically as follows: HMI_SYSTEM_SiteInfo that name the file of the Site Information. Note Two consecutive character @
@DATETIME:dd
@OPERATOR:dd
@SITENAME:dd @AUTOSITEINFO:dd
Refer to the section 3.2 if you want to change the current operator name. Refer to the section 12. Refer to the section 12. You can define ENTRY to specify the phone book file name. Refer to the section 1.4.6.
PHONE_NO = @AUTOSITEINFO
Note: Where TagName is a valid Point in the current HMI Point Database defined in the section 1.4.12 to 1.4.14. Where the dd is to define the minimum of space (the total number of characters to be replaced). If dd characters is more the actual space needs, put more Blank character in the left side of the current replaced string. The dd is up to 48 characters. Where X is to define a format: F: floating point data with three decimal point .xxx. f: floating point data with two decimal point .xx. I: Integer data. n: Binary data (i.e. 0001 0101 0011 1010). H: Hex data (i.e. 12AD). B: If the value>0, goes with ON, otherwise OFF.
- 39 -
b: If the value>0, goes with 1, otherwise 0. Y: If the value>0, goes with YES, otherwise NO. P: If the value>0, goes with PASS, otherwise FAIL. G: If the value>0, goes with GOOD, otherwise BAD. A: If the value=0, goes with OK, If the value=1, goes with ALARM, otherwise ****. Samples: Assumption: the value of PSD_AI01 is 234.5667, the state of PSD_DI01 is 1. Tab is a character Tab:09 @@@PSD_AI01:8:F@@@PSD_DI01:5:B is replaced with Tab 234.567Tab ON
- 40 -
; ENTRY ENTRY ; ;
HMI_SYSTEM_NAME = c:\xMaster\HD\MB DEV_DATABASE = SIZE MAX_DI = 256 DI_MB_1X_START = 1 6 DI_MB_0X_START = 1 7 DI_MB_REG_START = 100
; MAX_DO = 256 DO_MB_0X_START = 1 7 DO_MB_REG_START = 300 ; MAX_AI = 200 AI_MB_REG_START = 100 ; MAX_AO = 100 AO_MB_REG_START = 200 ; MAX_CNT = 64 CNT_MB_REG_START = 300 ; MAX_FR = 100 FR_MB_REG_START = 400 ; ; END ;
ENDALL
Note: Please refer to the file: MB_Master_Sample.txt in the xMasterSlave installation file/CD for the details.
- 41 -
- 42 -
;MAX Number of Analog Input AI_MB_REG_START = 300 ;The first address of the area of MB Register 4xxxx for AI. ; ; ; MAX_AO = 52 ;MAX Number of Analog Output AO_MB_REG_START = 500 ;The first address of the area of MB Register 4xxxx for AO. ; ; ; MAX_CNT = 0 ;MAX Number of 32-bit Counter CNT_MB_REG_START = 600 ;The first address of the area of MB Register 4xxxx for CNT. ; ; ; END ;
ENDALL
Note: Please refer to the file: MBP_Master_Sample.txt in the xMasterSlave installation file/CD for the details.
- 43 -
= = = =
SERIAL 1 2400 2
; ENTRY
DEV_DATABASE = SIZE SEAL_IN_ALARM = YES MAX_DI = 944 MAX_DO = 129 LG_CTRL_LRU = 1, 000, LG_CTRL_LRU = 2, 001, LG_CTRL_LRU = 3, 001, LG_CTRL_LRU = 4, 001, LG_CTRL_LRU = 5, 001, LG_CTRL_LRU = 6, 001, LG_CTRL_LRU = 7, 001, LG_CTRL_LRU = 8, 001, MAX_AI = 128 MAX_AO = 64 MAX_CNT = 32 MAX_FR = 0 END
1 2 2 2 2 2 2 2
ENDALL
Note: Please refer to the file: LG_Master_Sample.txt in the xMasterSlave installation file/CD for the details.
- 44 -
ENDALL
Note: Please refer to the file: DNP_Master_Sample.txt in the xMasterSlave installation file/CD for the details.
- 45 -
Figure 2-1
You can directly make the registration file when you install the xMasterSlave by using the program of the installation. Refer to the section 1.3. If the xMaster fails in checking the register file, it aborts automatically without notices. You can check the log file to find the related information.
- 46 -
Figure 2-2
- 47 -
The xMaster Application Launcher program so called "xMaster.exe" allows you to run the xMaster HMI program for the practical application (up to 255 applications in the list - as shown in the screenshot Figure2-3) if you do not want to use the default name of the file of the configuration described in the section 1.4.1. To make the list: Step #1: Select the xMaster
Double click on the current item of the list to open the configuration file.
To Run it: Select an item first, and then Click on the button of "Run x_Master".
Step #2: Pick up the configuration file and add it into the list
Figure 2-3
In order to make a shortcut of xMaster.exe, you can press this button to find the information need and fill in the Target (refer to the screenshot left side). You can either make the shortcut of xMaster on the Desktop, or in the group of Startup of Windows to run user applications automatically after rebooting the current HMI PC. The definition of contents of the shortcut is as follows: xMaster.exe xxxxx i j k l m n
The first index is the first application to be launched to running, and so on.
- 48 -
Refer to the sample of configuration in the section 1.4.17-20, the main display will be shown similarly in the screenshot Figure 2-4. And an Alert icon of the communication failure will show up in the left up corner of the screen if the x_Master, DNP_Master, for example, is not connected to the DNP Slave device. Note: The Data Acquisition Sessions and HMI Display runs automatically when you launch the x_Master.exe (where the x can be DNP/MB/MBP/LG).
Figure 2-4
You can open the window menu (shown as in the screenshot Figure 2-5, Figure 2-7) by clicking on the icon located at the beginning of the title of the window. You can stop the HMI Monitor Run-time and start the HMI Editor by clicking on the menu "STOP". Now you are in the HMI Display Editor mode and able to edit/draw HMI Display pages/HMI Object-Shapes. The window of the HMI Display Editor Functions will show up as shown in the screenshot Figure 26. Refer to section 7 to learn how to use the HMI Display Editor. Note: In the Windows TaskBar and Start Menu Properties, you must check the item of "Always On top" and the item of "Auto hide".
- 49 -
Figure 2-5
Undo operation
Open a HMI Display Page and Add into the current HMI Display page. Save and Add the current HMI Display Page into a file. Exclusively edit/draw the current selected pre-defined Object-Shape. Operations on a Block of Shapes.
The current Object-Shape that you select. And it can be exclusively operated when the "Lock it" is checked.
Click on it to see the sample of the current selected ObjectShape. Click on these colorful rectangles to pick the color that you want.
Figure 2-6
- 50 -
Closes the current xMaster program. Opens or Closes the HMI Alert/Log window.
Creates New HMI Display File. Opens the HMI Display File. Saves the HMI Display File. Reloads point assignment table (described in the section 1.4.12 to 16) from configuration file. Refer to section 1.4. Opens the window of HMI Point Database
Runs or Stops the HMI Display Monitor. The Data Acquisition Sessions and HMI Display are run automatically when you launch the x_Master.exe (where the x can be DNP/MB/MBP/LG). STOP also will clear/reset all existing tags! Opens the window of the xMaster PLC program runtime simulator.
Figure 2-7
- 51 -
It will not be available until the FIRST TIME Integrity Poll is finished.
It can be changed by modifying the section of STATION_INFO in the configuration. Refer to the section 1.4.4
Figure 3-1
To enter HMI functions, click on buttons in the Main Menu (Buttons enabled by definitions in the section 1.4.4 and 1.4.10). Refer to sections 3-1 to 3-12
- 52 -
- 53 -
- 54 -
4 Status Display
To check all status points defined in the current configuration (refer to the section 1.4.12 and 1.4.14), click on the button: [Digital Input] screenshot Figure 3-1, and Figure 4-1.
Double-Click on it to print the current screen. The Status Point Name is defined by DI short name. Refer to the section 1.4.12 and 14.
Previous/Next 20 Points.
Figure 4-1
- 55 -
Figure 4-2
And after checking the password, you have three options: [Yes], [No] and [Cancel] as shown in the screenshot Figure 4-2. Please click on the button: [No] to enable controls. If the control is enabled, you can do a double-click on the Status Point name in the Status Display as shown in the screenshot Figure 4-1 to open a Control Panel as shown in the screenshot Figure 4-3 to 4-8.
The title of the window is the short name of the current DI point. Select the control command. You may refer to Table Item No.7 in the section 1 and definitions (CTRL_ADDR) in the section 1.4.14.
Figure 4-3
For DNP, you may have to specify the control code. Normally it does not need to change and you just go with the default.
You select the DO point in the list (DeviceAddress.PointNumber PointName) by a double-click on the Point Name (Obj #ddd ttttt Pt#dd in Yellow color, refer to the screenshot Figure 4-4 to 4-8). Note: The DO/AO point number is strarting from 0.
- 56 -
DO PULSE OUTPUT. DNP PULSE OUTPUT Control Code is 0x01. ON_TIME is the pulse ON TIME. OFF_TIME is the pulse OFF TIME. For MB PLC, refer to the section1.4.9.
Figure 4-4
DO LATCH ON / LATCH OFF. DNP DO LATCH ON Control Code is 0x03. DNP DO LATCH OFF Control Code is 0x04. For MB PLC, refer to the section1.4.9.
Figure 4-5
DO 16BIT PATTERN OUTPUT FOR DNP. DO 24BIT PATTERN OUTPUT FOR L&G. You can specify the DNP Control Code for DO Patten Out. For MB PLC, refer to the section1.4.9.
Figure 4-6
SBO OPEN / SBO CLOSE DNP SBO OPEN Control Code is 0x81. DNP SBO CLOSE Control Code is 0x41. For MB PLC, refer to the section1.4.9.
Figure 4-7
DO RAISE / DO LOWER You can specify the DNP Control Code for RAISE/LOWER. For MB PLC, refer to the section1.4.9.
Figure 4-8
- 57 -
To execute the control command, you click on the button [Execute] after setting parameters for the current control command properly. You will see the ACK information for the control command in the title of the window as shown in the screenshot Figure 4-9.
ACK information for the current control command.
Figure 4-9
If the control command is failed, you will see NAK information in the title of the window as shown in the screenshot Figure 4-10.
NAK information for the control command.
Figure 4-10
- 58 -
A tag on it for the attention-getting. You cannot execute the control unless the tag is removed. You can click on it for details of the tag.
You can check the list of tag in HMI Point Database Table (Refer to following screenshot)
You can see the a flag t beside the control configured HMI shape Object.
- 59 -
Figure 5-1
- 60 -
It is to Real-timely update the information. If you want to change some AI Properties, it must be unchecked.
- 61 -
The ACK / NAK information for the current AO command will be put in the title of the window.
The Device Address (0011) Step#1: Pick up an AO point or defined by the CTRL_ADDR. Refer to the section 1.4.13.
Figure 5-3
Step#3: Click on the button of "OK". You may want to scale the AO value with the current AI properties. Step#4: watch the ACK information of the current AO Command.
Note: If the current Point is formatted by FR (refer to the section 1.4.13) the AO command is floating point output.
- 62 -
You can make a double-click on the current item to open either the Meter Data/AI Properties Window, or the Meter Data/AI History.
Figure 5-4
- 63 -
You can make a double-click on the current item to open either the Meter Data/AI Properties Window, or the Meter Data/AI History.
Figure 5-5
- 64 -
There are up to SIX history data points in the Window. The first one is the default that comes from the item that you select. Refer to 5-4, and 5-5. You also can pick up available one from the list by double clicking on it. The scaling data (i.e. -2048/-100% to +2047/+100%) are defined by the current point. Refer to the section 1.4.13. You can click on it to do the selection of the current line and check the history data by click on the history data curve line. Refer to the screenshot Figure 5-8.
Figure 5-6
You can press left button of mouse and hold and drag the history curve screen to left or to right.
You may able to play/trace (Previous/Next) records from history file. And you can directly pick up the starting checking point from the list.
- 65 -
You can also check the Meter Data/AI Properties. Refer to the section 5.1. And you change some settings too.
You can change the background color. Refer to the screenshot Figure 5-9.
Figure 5-7
- 66 -
It is the cursor of checking point of the current History. Click on the curve to make a checking-point.
The area in Blue color is 0% to +100% of High Engineering value. The area in Red color is -100% to 0% of Low Engineering value. Refer to the section 1.4.13.
You can check the history data by click on the history data curve line. The history data/record information will be displayed accordingly.
Figure 5-8
You can continuously and dynamically monitor and display history data. Refer to similar display in the section 7.3.73
- 67 -
You can change the background color to white. Refer to the screenshot Figure 5-7 and Figure 5-9.
The list of the history data of the current point. The Point Index is 0 to 5.
Figure 5-9
- 68 -
6 Alarm Recorder/Annunciation
To check all alarm points defined in the current configuration (refer to the section 1.4.14), click on the button: [Alarm Recorder] 1, and Figure 6-1.
There are up to 4096 alarms that are defined in the configuration. It tells you the Alarm No.#, the description, the total alarms in the summary and the count of the current active alarm(s), etc. Refer to the section 6.2. Close the Alarm Monitor/Recorder Window
The description is the long name of the current point. Refer to the section 1.4.13/14. Note: If a wav file named associated with the Point Name exists, play the wav until ACKed (any buttons for the feature of ACKed).
Figure 6-1
It is checked to enable the Alarm-Recorder to seal in the alarm that is no longer active (alarm logic is OFF/"0"). Otherwise you will not see the alarm if the associated alarm point becomes back to OFF/"0". Refer to the section 1.4.9.
- 69 -
Figure 6-2
If the background color is changed from Highlight-Blue to Highlight-Yellow it means the current alarm is acknowledged.
- 70 -
6.1.1 Acknowledge Alarms in the list of Unconfirmed Alarms In the screenshot Figure 6-2, the unconfirmed and active alarm will be in the list of Unconfirmed Alarms. And it tells the total of items in the list so far. You can click on one by one to confirm/Acknowledge it, or go to the alarm panel and select all active alarms and acknowledge all (refer to the section 6.2 and the screenshot Figure 6-5). 6.1.2 Summary of Alarms In the configuration, the alarm you have defined will be in the list of Summary. Also this list tells you which alarm is active or acknowledged and the time-stamp. Refer to the screenshot Figure 61 and 6-2. 6.1.3 Clean up (Reset) Alarms If the current alarm in the list of Unconfirmed Alarms goes back to normal state, you can clean up it (the recorded Alarm Information) by clicking on the button of "Clean up".
- 71 -
An active alarm
Figure 6-3
The list of commands for operating the Alarm Panel. 1. [Return to Alarm Recorder]: Go back the main display of the alarm recorder. 2. [ACK the selected]: To acknowledge only the selected active alarm. 3. [ACK Page]: To acknowledge active alarm(s) only in the current page. 4. [ACK ALL]: To acknowledge active alarm(s). 5. [Clean up the selected]: To clean up only the selected alarm event(s). 6. [Clean up in the Page]: To clean up alarm event(s) only in the current page. 7. [Clean up ALL]: To clean up all alarm event(s). 8. [Unselect Page]: Reset selection(s) only in the current page. 9. [Unselect ALL]: Reset selection(s). 10. [Display Active Alarm(s)]: Panel Display Filter for the active alarm. 11. [Display ACKed Alarm(s)]: Panel Display Filter for the Acknowledged alarm. 12. [Display All]: Reset Panel Display Filter and display all of unit. 13. [ACK the current Alarm]: To acknowledge the current active alarm. 14. [Clean up the current Alarm]: To clean up the current alarm.
- 72 -
You can change the Text Font Color of above alarm description.
6.2.1 The Selection in the Panel In order to selectively display and acknowledge Alarm(s) in the panel, you can click on the unit that you want to select or unselect. Refer to the screenshot Figure 6-4.
Selected units
Figure 6-4
- 73 -
6.2.2 Active Alarms in the Alarm Plane If the HMI Data Acquisition detects an alarm/event, the associated unit in the panel will be highlighted in the color of RED and will blink. Refer to the screenshot Figure 6-5.
Active alarms It is the hint of the current Alarm that tells you the Alarm#, when occurs and the point address.
Figure 6-5
- 74 -
6.2.3 Acknowledge and Clean up Alarm in the Alarm Panel You can make an ACK to the current Active Alarm. Refer to the screenshot Figure 6-5 and 6-6.
You can clear inactive alarms only. You can simply do a rightclick on it to popup this menu and to make an ACK.
Figure 6-6
You can use above menu commands: Clean up the selected/Clean up in the Page/Clean up ALL to clean up recorded alarm information when you are sure that all alarms become inactive (all back to alarm normal state). The ACK command also stops playing the current alarm sound triggered by the alarms. Refer to the section 1.4.13 and 1.4.14.
- 75 -
Figure 6-7
You can check the detailed information related to the current alarm. This column information is the Alarm # in the Summary-Tablesheet. Refer to the section 6.1 and the screenshot Figure 6-2 This column information is the Log Sequence ID in the Alarm Log.
The description is the long name of the current point. Refer to the section 1.4.13.
- 76 -
6.3.1 Alarm Log Information and File The Alarm Log Window provides you with the alarm log information only, which tells when the alarm is found active and when no longer active. Refer to the screenshot Figure 6-7. The alarm log information will be saved into a file when the buffer of the list is full. The name of the Alarm Log File will be "Alm_Log_YYYY_MM_DD.TXT", where the "YYYY" is the Year, "MM" is the month and "DD" is the date. So you can check out the "OLD" log information by clicking on the button of "LoadAlmLogFile" in the top area of the window of the Alarm Log as shown in the screenshot Figure 6-7.
6.3.2 Ack and Delete Alarm Log Information You might have to click on items to acknowledge and delete recorded Alarm Log Information by clicking on some buttons as shown in the screenshot Figure 6-8. Note: It does ACK and DELETE log information only, it is not going to ACK / DELETE ALARMs (you still see the alarm related information described in the section 6.1 and 6.2). Another word, the Alarm Log is a kind of auxiliary display for checking Alarm events.
You can manually save logs in the window into a Text file.
Figure 6-8
- 77 -
Figure 6-9
- 78 -
After 3 minutes running HMI system, the first active alarm will be recorded as the 1st-occurrence alarm.
You can select it and find some buttons appear at bottom if applicable.
Figure 6-10
You can change the Font and Color of the Alarm Text.
You can check the HMI display page that is associated the current Alarm point. Here is a sample of the configuration of a status/alarm point:
ENTRY NAME LONGNAME FORMAT PROCTYPE STATCONV PNT_ADDR PNT_DEV ALARM ALARM_GROUP = = = = = = = = = DI_0003 Digital Input #3 DI ONOFF NO 2 11 YES c:\xMaster\HMI_SAMPLE_BUTTON.HMI 1
- 79 -
Figure 6-11
- 80 -
Figure 6-12 ENTRY DEV_LINK = TCP/IP MB_DEV11 = 0, 11, 127.0.0.1 502, 51, 150 END ENTRY DEV_DATABASE = SIZE MAX_DI = 256 DI_MB_1X_START = 1 10 DI_MB_REG_START = 100 MAX_AI = 200 AI_MB_REG_START = 200 END ENTRY STATION_INFO MB Master for Local Alarm HMI END ENTRY STATUS_DISPLAY = NO ENTRY METERING_DISPLAY = NO ENTRY NAME = ALARM_01 LONGNAME = T1 out of service PNT_ADDR = 0 ENTRY NAME = ALARM_02 LONGNAME = T1 Tap Changer is no response ENTRY NAME LONGNAME = ALARM_03 = T1 Ctrl Failed
ENTRY
ENDALL
After the ALARM_01, the point address can be assigned to the next one automatically. In above sample, the point address of ALARM_02 is 1. The point address of ALARM_03 is 2, and so on. The point address of ALARM 999 is 998. The LONGNAME will become the description of the current alarm point.
- 81 -
7 HMI Display
If you define a HMI Page/Display in the configuration (refer to the section 1.4.4) you can click on the button of [HMI Display] to enter the HMI Display. Figure 7-1, 7-2, 7-3 are samples of the HMI display page. Specially, in the figure 7-2, it shows most of pre-defined HMI object-shapes.
(X, Y) = (1, 1) X: Specifies the x-coordinate of the position, in logical units. Y: Specifies the y-coordinate of the position, in logical units. X-Coordinate 1 - 32767
Figure 7-1
Y-Coordinate 1 - 32767
The Function Key Bar. You can re-locate it and close it. Moving the mouse point on the button you will see the related hint of it.
- 82 -
If you see the cursor changes to HandPoint when you move the mouse to point at a HMI Object-Shape (i.e. Button, etc.), it means that you can click on it to popup a control panel/menu. And you can do what it is configured as. Otherwise it is neither configured available, nor the control function is unlocked up by Control-Level (refer to 7.1.12).
- 83 -
Figure 7-3 (Enter the Editing Mode of the HMI Display. Refer to the section 2 and the screenshot Figure 2-5 / 2-6)
- 84 -
A right-click on it to open the popup menu. You can ADD or DELETE an item/Page. And you can switch to the page in the main HMI display window or pop up a HMI page in a standalone HMI Viewer window. Also you can drag a page on either the list of popup HMI page or a existing HMI pop-up window and this page will be displayed immediately.
Phone Book
If the DCA is running over the Modem/Phone Line. Refer to the section 1.4.6
Figure 7-4
- 85 -
7.1.1
You can click on [Pages] to show/edit/save all pages (file:*.PGE) in the current HMI. Refer to the screenshot Figure 7-4. If the DCA driver is running over the Modem/Phone Line, you can open the phone book (refer to 1.4.6, 7.1.11). You also can design a button in the HMI display to open the phone book, refer to the section 7.3.11. 7.1.2 F2 -- PgChild Switches to the Child-Page of the current Page. 7.1.3 F3 -- PgDn Switches to the Next-Page of the current Page. 7.1.4 F4 -- PgRet Returns to the previous page of the current Page. 7.1.5 F5 -- PageAck You can click on the button: [PageAck] is to acknowledge all changes (Blinking HMI display objects: indicators, etc.) shown in the current HMI display page. Otherwise Objects with corresponding data changed will be blinking. So before doing the [PageAck] you can find changed data (i.e. status change). It also stops playing the sound triggered by Alarms. 7.1.6 F6 -- PLCPro Opens the window of the PLC Program Runtime Simulator. Refer the Section 9. 7.1.7 F7 -- Print Display Prints the current screen entirely. 7.1.8 F8 -- User Appl. It is to trigger the user application tasks defined in the section 1.4.15. 7.1.9 F9 -- MENU Goes back to the Main Menu Display. Refer to the section 3. 7.1.10 F10 -- ALARM Opens the window of the Alarm Recorder/Display. Refer to the section 6.
- 86 -
7.1.11 F11 -- Lockout Clicks on the button: [Lockout] to lock or unlock the Window Desktop and Control Function. This button function does the same function as [Security/Control] does: lock and unlock security and control functionality. Refer to the section 4.1 and the screenshot Figure 4-2. You have to input the password to get in it. You have three options as follows: [YES]: To Disable Master/HMI CONTROL Operations and To Lock Windows Desktop and Start Bar Menu. [No]: To Enable Master/HMI Control Operations and To Unlock Windows Desktop and Start Bar Menu. If the current DCA Driver is running over the Modem/Phone Line, the button: [Phone Book] as shown in the screenshot below will appear. Refer to the section 1.4.6 and 11.2. [Cancel]: To Disable Master/HMI Control Operations and Exit.
The phone book is a Text-Formatted file. Each line in the file is the phone number information and another two segments separated by the character: Tab (09). The 1st segment is the phone number. The 2nd is the name/information of the remote end. The 3rd is the others, slave address, for example. Refer the section 1.4.6 and 12 for the definition of Phone Book File Name.
- 87 -
7.1.12 F12 -- BntCtrl You can set up the Security-Level as shown in the screenshot Figure 7-5, 7-6 and 7-16 to protect very important functions from the improper operation.
Figure 7-5
Control-Level from lowest 0 to Highest 15. Functioning with the higher Control level will be disabled (You will not see the cursor changes to HandPoint ).
A sample of configuration of the "BUTTON" in the HMI display. ENTRY= dd SHAPE= BUTTON LEFT= 5 TOP= 610 WIDTH= 118 HEIGHT= 41 CAPTION= Button #13 HINT= This a Button #13 FONTCOLOR= BLACK FONTNAME= MS Sans Serif FONTSIZE= 8 FONTBOLD= + DB_PNT= NONE SBO 2 3 1 1000 ENDE | The Control-Level = 3 <Refer to the screenshot Figure 7-21
Disable functioning for ALL CONTROLS IN THE CURRENT HMI DISPLAY PAGE ONLY! Using the Control-Level is better.
- 88 -
7.1.13 Logs Information Window Refer to the screenshot Figure 2-5 and 2-7, execute the menu command of "Open Alert/Log Win", or click on the button of "W" in the Function Key Bar (Refer to the section 7.1 and the screenshot 7-2). You can open or close the log window as shown in the screenshot Figure 7-7.
This string on the top is the latest information of the Data Acquisition System.
Figure 7-7
- 89 -
Figure 7-8
7.2.1 Files and its format The HMI Display file is TEXT based (refer to the section 7.2.2). So you can use any text editor (i.e. Notepad) to edit it. Normally you do not need to modify it directly. But sometime for making a quick change, you may direct open and modify it by using "Notepad". The HMI display can be loaded online by following steps as follows:
Step#1: Open/Modify/Save the HMI Display in the "Notepad". Step#2: Execute the menu command: "RUN", refer to the screenshot Figure 2-7. Step#3: The new display is ready to be loaded. Refer to the section 7-1-1/2/3/4 and 7-3-11.
The operation of file is described as follows: New: Begins a New HMI Display Page. Open: Cleans up the current display and Open an existing HMI Display Page. Save: Saves the current HMI Display Page. Open-Add: Opens an existing HMI Display Page and Add into the current display. Save-Add: Saves the current display and Add into an existing file.
- 90 -
The following is the table 7-1 that tells you the reserved keyword used in the HMI Display file.
Table 7-1
Keyword
ENTRY LEFT WIDTH BRUSHCOLOR
Meaning
Beginning the definition of a Shape. Specifies the x-coordinate of the shape position, in logical units. Specifies the width in pixels of the Shape. A brushs color determines what color the canvas uses to fill shapes. See the Table 7-2. It is the color of Boolean Logic OFF/"0". A brush style determines what pattern the canvas uses to fill shapes. See the Table 7-5. It is fixed at SOLID. A pens color determines the color of the lines the pen draws, including lines drawn as the boundaries of shapes, as well as other lines and polylines. See the Table 7-2. Assign a point of the HMI Point Database. And the tie-in control point and function. Refer to the section 7.2.5. Specifies the number of columns in the grid. Specifies the image (the BMP file name) that appears on the image shape. Contains the text string that can appear when the user moves the mouse over the shape. Identifies the typeface of the font. Specifies the color of the text. Specifies how the current HMI Object-Shape of TEXT works. Refer to the Figure 7-23.
Keyword
SHAPE TOP HEIGHT A_COLOR
Meaning
The Shape Code. Refer to the section 7.3. Specifies the y-coordinate of the shape position, in logical units. Specifies the height in pixels of the Shape. Specifies the color for alarming. See the Table 7-2. It is the color of Boolean Logic ON/"1". Specifies the color for indicating the failure. See the Table 7-2. It is the color of OFFLINE/Failure on the current data. A pens Style property allows you to set solid lines, dashed lines, dotted lines, and so on. See the Table 7-4.
BRUSHSTYLE
F_COLOR
PENCOLOR
PENSTYLE
DB_PNT
PENWIDTH
COLCOUNT PICTURE
ROWCOUNT ITEM
HINT
CAPTION
FONTSIZE BACKCOLOR
Specifies the number of rows in the grid Lists the items (strings) in the HMI Object-Shape of StringGrid/RadioGroup/ListBox /ComboBox. Specifies the caption that appears on the shape (only for Button, Text, CheckBox and RadioGroup). Specifies the height of the font in points. The color of the current HMI Display Background. See the Table 7-2.
#6 - option
Pulse Duration
- 91 -
The following is the table 7-2 that tells you the COLOR code used in the HMI Display file.
Table 7-2
Keyword
AQUA BLUE DKGRAY FUCHSIA GRAY GREEN LIME LTGRAY NAVY OLIVE PURPLE RED SILVER TEAL WHITE YELLOW BLACK MAROON 0xdddddddd
Meaning
Aqua Blue Dark Gray Fuchsia Gray Green Lime green Light Gray Navy blue Olive green Purple Red Silver Teal White Yellow Black Maroon RGB Value
Keyword
BACKGROUND ACTIONCAPTION INACTIVECAPTION MENU WINDOW WINDOWFRAME MENUTEXT WINDOWTEXT CAPTIONTEXT ACTIVEBORDER INACTIVEBORDER APPWORKSPACE HIGHLIGHT HIGHLIGHTTEXT BTNFACE BTNSHADOW BTNTEXT INACTIVCAPTIOTEXT BTNHIGHLIGHT GRAYTEXT
Meaning
Current background color of the Windows desktop Current color of the title bar of the active window Current color of the title bar of inactive windows Current background color of menus Current background color of windows Current color of window frames Current color of text on menus Current color of text in windows Current color of the text on the title bar of the active window Current border color of the active window Current border color of inactive windows Current color of the application workspace Current background color of selected text Current color of selected text Current color of a button face Current color of a shadow cast by a button Current color of text on a button Current color of the text on the title bar of an inactive window Current color of the highlighting on a button Current color of text that is dimmed
The following is the table 7-3 that tells you the FONTNAME code often used in the HMI Display file.
Table 7-3
Keyword Times New Roman Courier New Arial Microsoft Sans Serif
Meaning The font of "Times New Roman". The font of "Courier New". The font of "Arial". The font of "Microsoft Sans Serif". Others. Refer to the manual of MS Windows OS.
- 92 -
The following is the table 7-4 that tells you the PEN STYLE code used in the HMI Display file.
Table 7-4
Meaning A solid line A line made up of a series of dashes A line made up of a series of dots A line made up of a serious of dash-dot-dot combinations A line made up of alternating dashes and dots No line is drawn (used to omit the line around shapes that draw an outline using the current pen). A solid line, but one that may use a dithered color if Width is greater than 1.
The following is the table that tells you the BRUSH STYLE code used in the HMI Display file.
Table 7-5
Meaning
Meaning
Refer to the section 7.3, you can find the SHAPE code used in the HMI Display file.
- 93 -
7.2.2
Please refer to the section 1.4.17 to 1.4.20 for the details on the main configurations, including HMI point database. Sample #1 Refer to the screenshot Figure 7-9
Figure 7-9
Please refer to the file: HMI_Sample_Shape.hmi in the xMasterSlave installation file/CD for the details of the sample of the above HMI Display file.
- 94 -
Figure 7-10
Please refer to the file: HMI_Sample_Loading_From_File.hmi in the xMasterSlave installation file/CD for the details of the sample of the above HMI Display file.
- 95 -
Figure 7-11
- 96 -
ENTRY= 1 SHAPE= XPANEL LEFT= 2 TOP= 95 WIDTH= 211 HEIGHT= 404 BRUSHCOLOR= WHITE A_COLOR= RED F_COLOR= YELLOW BRUSHSTYLE= SOLID PENCOLOR= DKGRAY PENSTYLE= SOLID PENWIDTH= 2 COLCOUNT= 30 ROWCOUNT= 30 DB_PNT= NONE NONE ENDE ENTRY= 2 SHAPE= XPANEL LEFT= 262 TOP= 95 WIDTH= 246 HEIGHT= 508 BRUSHCOLOR= WHITE A_COLOR= RED F_COLOR= YELLOW BRUSHSTYLE= SOLID PENCOLOR= DKGRAY PENSTYLE= SOLID PENWIDTH= 2 COLCOUNT= 30 ROWCOUNT= 30 DB_PNT= NONE NONE ENDE ENTRY= 3 SHAPE= TEXT LEFT= 51 TOP= 603 CAPTION= PLC TROUBLE HINT= Alarm: PLC Trouble. Check PLC Module COLOR= BTNFACE FONTCOLOR= BLACK A_COLOR= RED F_COLOR= YELLOW FONTNAME= Arial FONTSIZE= 14 DISPLAY= CAPTION DB_PNT= NONE NONE WIDTH= 160 HEIGHT= 26 ENDE ENTRY= 4 SHAPE= LIGHT LEFT= 13 TOP= 603 WIDTH= 25 HEIGHT= 25 BRUSHCOLOR= LIME A_COLOR= RED F_COLOR= YELLOW BRUSHSTYLE= SOLID PENCOLOR= WINDOWTEXT PENSTYLE= SOLID PENWIDTH= 2 COLCOUNT= 30 ROWCOUNT= 30 DB_PNT= PY0035_AL03 NONE ENDE
ENTRY= 5 SHAPE= XPANEL LEFT= 537 TOP= 95 WIDTH= 246 HEIGHT= 508 BRUSHCOLOR= WHITE A_COLOR= RED F_COLOR= YELLOW BRUSHSTYLE= SOLID PENCOLOR= DKGRAY PENSTYLE= SOLID PENWIDTH= 2 COLCOUNT= 30 ROWCOUNT= 30 DB_PNT= NONE NONE ENDE ENTRY= 6 SHAPE= XPANEL LEFT= 0 TOP= 592 WIDTH= 221 HEIGHT= 42 BRUSHCOLOR= DKGRAY A_COLOR= RED F_COLOR= YELLOW BRUSHSTYLE= SOLID PENCOLOR= WHITE PENSTYLE= SOLID PENWIDTH= 3 COLCOUNT= 30 ROWCOUNT= 30 DB_PNT= NONE NONE ENDE ENTRY= 7 SHAPE= STR_GRID LEFT= 5 TOP= 98 WIDTH= 50 HEIGHT= 400 COLOR= BLACK FONTCOLOR= AQUA FONTNAME= Courier New FONTSIZE= 12 FONTBOLD= + PENWIDTH= 1 COLCOUNT= 4 ROWCOUNT= 16 ITEM= 0 01~X~PY_Action_01~~ ITEM= 1 02~X~PY_Action_02~~ ITEM= 2 03~X~PY_Action_03~~ ITEM= 3 04~X~PY_Action_04~~ ITEM= 4 05~X~PY_Action_05~~ ITEM= 5 06~X~PY_Action_06~~ ITEM= 6 07~X~PY_Action_07~~ ITEM= 7 08~X~PY_Action_08~~ ITEM= 8 09~X~PY_Action_09~~ ITEM= 9 10~X~PY_Action_10~~ ITEM= 10 11~X~PY_Action_11~~ ITEM= 11 12~X~PY_Action_12~~ ITEM= 12 13~X~PY_Action_13~~ ITEM= 13 14~X~PY_Action_14~~ ITEM= 14 15~X~PY_Action_15~~ ITEM= 15 16~X~PY_Action_16~~ DB_PNT= NONE NONE ENDE
ENTRY= 8 SHAPE= STR_GRID LEFT= 265 TOP= 98 WIDTH= 42 HEIGHT= 504 COLOR= BLACK FONTCOLOR= AQUA FONTNAME= Courier New FONTSIZE= 10 FONTBOLD= + PENWIDTH= 1 COLCOUNT= 4 ROWCOUNT= 24 ITEM= 0 01~X~PY1001_CE01~~ ITEM= 1 02~X~PY1002_CE02~~ ITEM= 2 03~X~PY1003_CE03~~ ITEM= 3 04~X~PY1004_CE04~~ ITEM= 4 05~X~PY1005_CE05~~ ITEM= 5 06~X~PY1006_CE06~~ ITEM= 6 07~X~PY1007_CE07~~ ITEM= 7 08~X~PY1008_CE08~~ ITEM= 8 09~X~PY1009_CE09~~ ITEM= 9 10~X~PY1010_CE10~~ ITEM= 10 11~X~PY1011_CE11~~ ITEM= 11 12~X~PY1012_CE12~~ ITEM= 12 13~X~PY1013_CE13~~ ITEM= 13 14~X~PY1014_CE14~~ ITEM= 14 15~X~PY1015_CE15~~ ITEM= 15 16~X~PY1016_CE16~~ ITEM= 16 17~X~PY1017_CE17~~ ITEM= 17 18~X~PY1018_CE18~~ ITEM= 18 19~X~PY1019_CE19~~ ITEM= 19 20~X~PY1020_CE20~~ ITEM= 20 21~X~PY1021_CE21~~ ITEM= 21 22~X~PY1022_CE22~~ ITEM= 22 23~X~PY1023_CE23~~ ITEM= 23 24~X~PY1024_CE24~~ DB_PNT= NONE NONE ENDE ENTRY= 9 SHAPE= STR_GRID LEFT= 540 TOP= 98 WIDTH= 42 HEIGHT= 504 COLOR= BLACK FONTCOLOR= AQUA FONTNAME= Courier New FONTSIZE= 10 FONTBOLD= + PENWIDTH= 1 COLCOUNT= 4 ROWCOUNT= 24 ITEM= 0 25~X~PY1033_CE25~~ ITEM= 1 26~X~PY1034_CE26~~ ITEM= 2 27~X~PY1035_CE27~~ ITEM= 3 28~X~PY1036_CE28~~ ITEM= 4 29~X~PY1037_CE29~~ ITEM= 5 30~X~PY1038_CE30~~ ITEM= 6 31~X~PY1039_CE31~~ ITEM= 7 32~X~PY1040_CE32~~ ITEM= 8 33~X~PY1041_CE33~~ ITEM= 9 34~X~PY1042_CE34~~ ITEM= 10 35~X~PY1043_CE35~~ ITEM= 11 36~X~PY1044_CE36~~ ITEM= 12 37~X~PY1045_CE37~~ ITEM= 13 38~X~PY1046_CE38~~ ITEM= 14 39~X~PY1047_CE39~~ ITEM= 15 40~X~PY1048_CE40~~ ITEM= 16 41~X~PY1049_CE41~~ ITEM= 17 42~X~PY1050_CE42~~ ITEM= 18 43~X~PY1051_CE43~~ ITEM= 19 44~X~PY1052_CE44~~ ITEM= 20 45~X~PY1053_CE45~~ ITEM= 21 46~X~PY1054_CE46~~ ITEM= 22 47~X~PY1055_CE47~~ ITEM= 23 48~X~PY1056_CE48~~ DB_PNT= NONE NONE ENDE
- 97 -
ENTRY= 10 SHAPE= STR_GRID LEFT= 54 TOP= 98 WIDTH= 158 HEIGHT= 400 COLOR= BLACK FONTCOLOR= AQUA FONTNAME= Courier New FONTSIZE= 12 FONTBOLD= + PENWIDTH= 1 COLCOUNT= 4 ROWCOUNT= 16 ITEM= 0 ~FUTURE ~~~ ITEM= 1 ~FUTURE ~~~ ITEM= 2 ~FUTURE ~~~ ITEM= 3 ~FUTURE ~~~ ITEM= 4 ~FUTURE ~~~ ITEM= 5 ~FUTURE~~~ ITEM= 6 ~FUTURE ~~~ ITEM= 7 ~FUTURE ~~~ ITEM= 8 ~FUTURE ~~~ ITEM= 9 ~FUTURE ~~~ ITEM= 10 ~FUTURE~~~ ITEM= 11 ~FUTURE~~~ ITEM= 12 ~FUTURE~~~ ITEM= 13 ~FUTURE~~~ ITEM= 14 ~FUTURE~~~ ITEM= 15 ~FUTURE~~~ DB_PNT= NONE NONE ENDE ENTRY= 11 SHAPE= STR_GRID LEFT= 305 TOP= 98 WIDTH= 200 HEIGHT= 504 COLOR= BLACK FONTCOLOR= AQUA FONTNAME= Courier New FONTSIZE= 10 FONTBOLD= + PENWIDTH= 1 COLCOUNT= 4 ROWCOUNT= 24 ITEM= 0 ~FUTURE ~~~ ITEM= 1 ~FUTURE ~~~ ITEM= 2 ~FUTURE ~~~ ITEM= 3 ~FUTURE ~~~ ITEM= 4 ~FUTURE ~~~ ITEM= 5 ~FUTURE ~~~ ITEM= 6 ~FUTURE ~~~ ITEM= 7 ~FUTURE ~~~ ITEM= 8 ~FUTURE ~~~ ITEM= 9 ~FUTURE ~~~ ITEM= 10 ~FUTURE ~~~ ITEM= 11 ~FUTURE ~~~ ITEM= 12 ~FUTURE~~~ ITEM= 13 ~FUTURE~~~ ITEM= 14 ~FUTURE~~~ ITEM= 15 ~FUTURE~~~ ITEM= 16 ~FUTURE~~~ ITEM= 17 ~FUTURE~~~ ITEM= 18 ~FUTURE~~~ ITEM= 19 ~FUTURE~~~ ITEM= 20 ~FUTURE~~~ ITEM= 21 ~FUTURE~~~ ITEM= 22 ~FUTURE~~~ ITEM= 23 ~FUTURE~~~ DB_PNT= NONE NONE ENDE
ENTRY= 12 SHAPE= STR_GRID LEFT= 580 TOP= 98 WIDTH= 200 HEIGHT= 504 COLOR= BLACK FONTCOLOR= AQUA FONTNAME= Courier New FONTSIZE= 10 FONTBOLD= + PENWIDTH= 1 COLCOUNT= 4 ROWCOUNT= 24 ITEM= 0 ~FUTURE ITEM= 1 ~FUTURE~~~ ITEM= 2 ~FUTURE~~~ ITEM= 3 ~FUTURE~~~ ITEM= 4 ~FUTURE~~~ ITEM= 5 ~FUTURE~~~ ITEM= 6 ~FUTURE~~~ ITEM= 7 ~FUTURE~~~ ITEM= 8 ~FUTURE~~~ ITEM= 9 ~FUTURE~~~ ITEM= 10 ~FUTURE~~~ ITEM= 11 ~FUTURE~~~ ITEM= 12 ~FUTURE~~~ ITEM= 13 ~FUTURE~~~ ITEM= 14 ~FUTURE~~~ ITEM= 15 ~FUTURE~~~ ITEM= 16 ~FUTURE~~~ ITEM= 17 ~FUTURE~~~ ITEM= 18 ~FUTURE~~~ ITEM= 19 ~FUTURE~~~ ITEM= 20 ~FUTURE~~~ ITEM= 21 ~FUTURE~~~ ITEM= 22 ~FUTURE~~~ ITEM= 23 ~FUTURE~~~ DB_PNT= NONE NONE ENDE
~~~
- 98 -
Figure 7-12
The Control Point Number is the direct point number in the device (i.e. PLC, RTU, etc.) if the control is in the Direct Operate Mode! In this sample, the control point number=100 is the MB Register 4x0100.
SHAPE= TEXT LEFT= 36 TOP= 38 CAPTION= PY/SY RAS Matrix Normal HINT= PY/SY RAS ;XDATA_MATRIX COLOR= BTNFACE FONTCOLOR= BLACK A_COLOR= RED F_COLOR= YELLOW FONTNAME= MS Sans Serif FONTSIZE= 14 DISPLAY= ENCODE DB_PNT= NONE NONE WIDTH= 400 HEIGHT= 30 ENDE
- 99 -
ENTRY= 3 SHAPE= TEXT LEFT= 34 TOP= 75 CAPTION= Mismatched The Latest Actions in PY and SY PLC HINT= Mismatched The Latest Actions in PY and SY PLC COLOR= BTNFACE FONTCOLOR= RED A_COLOR= RED F_COLOR= YELLOW FONTNAME= MS Sans Serif FONTSIZE= 12 FONTBOLD= + DISPLAY= TEXT DB_PNT= PSD_DI_ML VISIBLE -1 0 1 1000 WIDTH= 405 HEIGHT= 24 ENDE ENTRY= 4 SHAPE= BUTTON LEFT= 483 TOP= 45 WIDTH= 100 HEIGHT= 28 CAPTION= Rst 4x0100 HINT= Set up 4x0100 ;FROM MYPLC_DATA=40001 FONTCOLOR= BLACK FONTNAME= MS Sans Serif FONTSIZE= 8 FONTBOLD= + DB_PNT= 11_22 REG_WR WOCP 100 9999 1234 0 ENDE ENTRY= 5 SHAPE= CSPINEDIT LEFT= 483 TOP= 75 WIDTH= 100 HEIGHT= 22 CAPTION= 1 HINT= The value for 4x0100 ;MYPLC_DATA=40001 COLOR= WINDOW FONTCOLOR= BLACK FONTNAME= MS Sans Serif FONTSIZE= 8 FONTBOLD= + DB_PNT= PSD_AI01 NONE ENDE ENTRY= 6 SHAPE= BUTTON LEFT= 483 TOP= 206 WIDTH= 100 HEIGHT= 20 CAPTION= Set Pattern HINT= Write Register 40100; FROM PSD_POINT=PSD_AI01 FONTCOLOR= BLACK FONTNAME= MS Sans Serif FONTSIZE= 8 FONTBOLD= + DB_PNT= 11_22 REG_WR WOCP 100 0 0 0 ENDE
ENTRY= 7 SHAPE= LISTBOX LEFT= 483 TOP= 108 WIDTH= 100 HEIGHT= 96 COLOR= BTNFACE FONTCOLOR= BLACK HINT= The bit-pattern for 4x0100 FONTNAME= MS Sans Serif FONTSIZE= 8 ITEM= 0 Bit 0 ITEM= 1 Bit 1 ITEM= 2 Bit 2 ITEM= 3 Bit 3 ITEM= 4 Bit 4 ITEM= 5 Bit 5 ITEM= 6 Bit 6 ITEM= 7 Bit 7 ITEM= 8 Bit 8 ITEM= 9 Bit 9 ITEM= 10 Bit 10 ITEM= 11 Bit 11 ITEM= 12 Bit 12 ITEM= 13 Bit 13 ITEM= 14 Bit 14 ITEM= 15 Bit 15 DB_PNT= PSD_AI01 NONE ENDE
- 100 -
Figure 7-13 Please refer to the file: HMI_Sample_Button.hmi in the xMasterSlave installation file/CD for the details of the sample of the above HMI Display file. Note: The DI_0009 and the DI_010 are defined in the configuration (HMI Point Database) as follows (refer to the section 1.4.20 for the details):
ENTRY NAME LONGNAME FORMAT PROCTYPE D_TYPE STATCONV PNT_ADDR ;It is 9x0100 PNT_BIT ALARM ALARM_GROUP = = = = = = = DI_0009 Digital Input #9 DI ONOFF MYPLC_9X NO 99 ENTRY NAME LONGNAME FORMAT PROCTYPE D_TYPE STATCONV PNT_ADDR ;It is 9x0101 PNT_BIT ALARM ALARM_GROUP = = = = = = = DI_0010 Digital Input #10 DI ONOFF MYPLC_9X NO 99
= 0 = YES = 3
= 15 = YES = 3
- 101 -
7.2.3
Any time you can press the Key Esc to restart the work.
Mode Draw Move ReSize Delete Copy Copy on Horizontal Copy on Vertical Config Align Lock it Block
Functioning Drawing the shape that you select. Moving the current shape. Resizing the current shape. Deleting the current shape. Copying the current shape. Copying the current shape on the Horizontal. Copying the current shape on the Vertical. Opening the window of the HMI Object-Shape Configuration. Aligning shapes with the option of Left/Right/Bottom/Top. Exclusively edit/draw the current shape. Operating on a block of shapes, including saving a block.
- 102 -
Working Mode -- Draw Here is a sample showing you how to draw a LINE as follows:
The starting position (100, 49) LEFT = 100, TOP = 49
The Frame
Step#1: Move the mouse to the position of (100, 49) and press the Left Key of the mouse. Step#2: Hold the Left Key and move the mouse to the position of (216, 113) Step#3: Release the Left Key. The Frame disappears. You can do a Double-Click on the current HMI Shape to directly open the configuration window to configure it. Also you can click on and drag the current HMI Shape by the Right-Key of the mouse. It always appears a frame with DOT LINE around the current shape when you are either drawing or selecting. You can move the mouse to point to the current shape, then click on the Left Key to select the current shape. After the selection you can move the mouse again and the Frame moves and finally clicks on the Right Key to finish the process of either Move, or Resize, or Delete, or Copy, or Configure, or others in the Working Mode. You can go back to what it was before by clicking the button of "Undo". Working Mode -- Move The following is the steps to Move a Shape (The option of [ ]Block is not checked): Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped at the same place so that you have to pick up the right one. Step#3: Move the mouse/cursor (the current shape should follow the cursor) to the location you want to put it and Click on by the Right Key of the mouse to finish the process of the movement of the current shape.
- 103 -
Working Mode Move a Block of shape(s) The following is the steps to Move a block of Shapes (The option of [X]Block is checked): Step#1: Check the []Block to [X]Block to start the process of Block Edit Operation. Step#2: Move the mouse and point to up-left of the BLOCK that you have determined. Step#3: Press the Left Key of the mouse and move the mouse to Right-bottom of the BLOCK. You should see shape(s) in the block being around a frame respectively. Step#4: Move the mouse/cursor and point to the frame of the BLOCK. Step#5: Press the Left Key of the mouse to drag the frame of the BLOCK to the place where you determine for shape(s) in the BLOCK. Step#6: Release the Left Key of the mouse to finish the process of the movement of the BLOCK of shape(s). Working Mode -- Resize The following is the steps to Resize a Shape (The option of [ ]Block is not checked automatically): Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped at the same place so that you have to pick up the right one. Step#3: Move the mouse/cursor (the size of the current shape should be changed) to the new size and Click on by the Right Key of the mouse to finish the process of the Re-Sizing for the current shape. Working Mode -- Delete The following is the steps to Delete a Shape (The option of [ ]Block is not checked): Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped at the same place so that you have to pick up the right one. Step#3: Click on by the Right Key of the mouse to confirm the process of the deletion of the current shape. Click on the button of YES to delete the current shape. Working Mode Delete a Block of shape(s) The following is the steps to Delete a block of Shapes (The option of [X]Block is checked): Step#1: Check the []Block to [X]Block to start the process of Block Edit Operation. Step#2: Move the mouse and point to up-left of the BLOCK that you have determined. Step#3: Press the Left Key of the mouse and move the mouse to Right-bottom of the BLOCK. You should see shape(s) in the block being around a frame respectively. Step#4: Release the Left Key of the mouse to confirm the process of the deletion of the block of shape(s). Click on the button of YES in a dialogue window to delete shape(s) in the block.
- 104 -
Working Mode -- Copy The following is the steps to Copy a Shape (The option of [ ]Block is not checked): Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped at the same place so that you have to pick up the right one. Step#3: Move the mouse/cursor (a new shape should follow the cursor) to the location where you want to put it and Click on by the Right Key of the mouse to finish the process of copying the current shape. Working Mode Copy a Block of shape(s) The following is the steps to Copy a block of Shapes (The option of [X]Block is checked): Step#1: Check the []Block to [X]Block to start the process of Block Edit Operation. Step#2: Move the mouse and point to up-left of the BLOCK that you have determined. Step#3: Press the Left Key of the mouse and move the mouse to Right-bottom of the BLOCK. You should see shape(s) in the block being around a frame respectively. Step#4: Move the mouse/cursor and point to the frame of the BLOCK. Step#5: Press the Left Key of the mouse to drag the frame of the BLOCK to the place where you determine for new shape(s) in the BLOCK. Step#6: Release the Left Key of the mouse to finish the process of copying a BLOCK of shape(s). Working Mode Copy on Horizontal The following is the steps to Copy Shape(s) aligned Horizontally (The option of [ ]Block is not checked): Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped at the same place so that you have to pick up the right one. Step#3: Horizontally Move the mouse/cursor (a new shape should follow the cursor) to the location where you want to how big gap between two is and Click on by the Right Key of the mouse to enter the amount of shape(s) in a popup dialogue window. Click on button of [Yes] to finish the process of copying the current shape. Working Mode Copy on Vertical The following is the steps to Copy Shape(s) aligned Vertically (The option of [ ]Block is not checked): Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped at the same place so that you have to pick up the right one. Step#3: Vertically Move the mouse/cursor (a new shape should follow the cursor) to the location
- 105 -
where you want to how big gap between two is and Click on by the Right Key of the mouse to enter the amount of shape(s) in a popup dialogue window. Click on button of [Yes] to finish the process of copying the current shape. Working Mode -- Config Refer to the section 7.2.5. Working Mode Align The following is the steps to Align Shape(s) in the block (The option of [X]Block is checked): Step#1: Select the mode of Alignment of either Left, or Right, or Top, or Bottom, or Center,etc. Step#2: Move the mouse and point to up-left of the BLOCK that you have determined. Step#3: Press the Left Key of the mouse and move the mouse to Right-bottom of the BLOCK. You should see shape(s) in the block being around a frame respectively. Step#4: Move the mouse/cursor and point to the frame of the BLOCK. Step#5: Click on by the Left Key of the mouse to finish the process of the Alignment. Note: The Aligning line is the line of either Left, or Right, or Top, or Bottom of the BLOCK. .
Note: You can directly determine the BLOCK (draw a block starting an empty location where there is not a shape at) and it automatically goes to with the BLOCK Operation of editing HMI Display when the Working-Mode is either Move, or Copy, or Delete, or Align. It means that it not necessary to check the option:[X]Block every time. Any time you can press the Key Esc and select the Working-Mode of Draw to restart the work when you are in the middle of the process of doing A Shape or A Block of Shape(s) in the Working Mode of Move/ReSize/Delete/Copy.
- 106 -
7.2.4
Options
By clicking the colorful rectangle, the Color Editor window will appear. You can pick up any color for the current setting of color.
Options Pen Color Pen Style Pen Width Brush Color Failure Color Alarm Color Screen Color Param
Note. It is It is It is It is It is It is It is It is
to up up up up up up up up
the section 7.2.1 Table 7-1) "PENCOLOR". "PENSTYLE". (By right clicking on it) "PENWIDTH". "BRUSHCOLOR"(for normal state/Logic Off/0). "F_COLOR"(for Offline/failure). "A_COLOR"(for alarm state/Logic On/1). "BACKCOLOR". parameters for the shape of "StringGrid".
- 107 -
7.2.5 Configuring the pre-defined HMI Object-Shape In order to assign a "job" to the current HMI Object-Shape, you have to configure it. The following are steps to open a configuration window: Step#1: Move the mouse and point to the current shape. Step#2: Keep clicking on by the Left Key of the mouse and watch the list of the pre-defined HMI Object-Shape and the title of the window until you are sure to select the one you want. It is very often there are shapes overlapped so that you have to pick up the right one. Step#3: Click on by the Right Key of the mouse to open configuration window as shown in the screenshot Figure 7-14 to7-23.
Select a TagName Point working for either Indicator, or Metering, or Information.
Normally, a control operation panel will appear while clicking on a button configured with the Control Function. Refer to the section 4.1. Sometimes you want the control operation panel not to show up and directly do control functions (so called WOCP). Note: If it is checked, the Control Point Number is the direct point number (i.e. an AO command - Writing data into the MB register 4x0100 the point number is 100) in the Device (i.e. PLC, RTU, etc.). Normally the direct point number is starting from 0 in the RTU (i.e. running over DNP/LG protocol, etc) and starting from 1 in the PLC (i.e. MB protocol, the DO controls are applied on 0X data but the DO-Pulse control is applied on 4x data). It allows you to do multi-operation. You have to design a button with the control function of "ESO".
It is the Control Level. Refer to the section 7.1.12. If it is higher than the current HMI Control-Level is, the current control operation will be locked up.
Figure 7-14
It defines the Control (DO or AO) Point Number and Device Address assigned in the Data Acquisition Real-time Database. Refer to the section 1.4.9. Note: The control point number is starting from 0 when the [] Direct Operate Without Control-Panel is unchecked.
- 108 -
Note1: Sometime you can use the device address defined in the current point that you select in the Point Name=
So you do not need to define the DevAddr. Or you can directly define the device address in the DevAddr= Refer to the entry of "PNT_DEV = dd" in the section 1.4.12 to 14
is to write
The No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
list of the Control Function Function DO_PULSE-PULSE DIGITAL OUTPUT DO_16----16-BIT DIGITAL OUTPUT DO_32----32-BIT DIGITAL OUTPUT DO_BCD---BCD DIGITAL OUTPUT SBO_T----SBO TRIP (LATCH OFF) ONLY SBO_C----SBO CLOSE (LATCH ON)ONLY SBO------SBO TRIP AND CLOSE (LATCH ON/OFF) DO_R-----RIASE ONLY DO_L-----LOW ONLY DO_RL----RAISE AND LOW AO_16----16-BIT ANALOG OUTPUT/Setpoint AO_32----32-BIT ANALOG OUTPUT/Float AO_BCD---BCD ANALOG OUTPUT REG_WR---Write Register Value SEL_T----SELECT TRIP SEL_C----SELECT CLOSE SEL_O----SELECT OPERATE FUTURE5 FUTURE6 LOAD_HMIPAGE Load a new HMI Page NEXT_HMIPAGE Load the Next HMI Page LAST_HMIPAGE Load the Last HMI Page VISIBLE Animation: VISIBLE BLINK Animation: BLINK H_GAUGE Animation: Horizontal Gauge V_GAUGE Animation: Vertical Gauge LOGWIN Open or Close the Log_Win FUNBAR Open or Close the Fun_Bar ESO Execute_Selected_Operation CLR_SEL Clear_All_Selected
- 109 -
Sample #1
Figure 7-15
- 110 -
Sample #2
It goes to:
As an alternative definition, You can configure a text string with the key: "LOAD FROM FILE:" (precisely as shown) and a valid file path/name. The format of the file is Text-based and contains a list of items that will appear in the RadioGroup (the same rule applies to ComboBox/ListBox).
- 111 -
Sample #3
Where to define the content of the Memo. The First line will be checked to see whether it is a valid file name and the file exists. If so, it will tell you in the Text= and display the file. The interval of dynamically loading the file is 5 seconds if finds changes on the Date&Time of the file.
Figure 7-17
- 112 -
Sample #4
Figure 7-18
- 113 -
Sample #5
Figure 7-19
As an alternative definition, you can configure the Hint with a text string comprised with the key: ";LOAD FROM FILE:" (precisely as shown) and a valid file path/name. The format of the file is Text-based and contains a list of items that will appear in the STR_GRID. The item is comprised by the definition (xxxx1~xxxx2~xxxx3~xxxx4~) described in the section 7.3.22
- 114 -
Sample #6
The current shape is a "Light". Refer to 7.3.23. To indicate / display the DI point, you simply pick up a HMI Tagname point from this list that built by the configuration (refer to the section 1.4.12 and 1.4.14). If PSD_D_PY_WF, for example, is ON, the "Light" is ON with the color defined by "Alarm Color". If it is in normal, it is OFF with the color defined by "Brush Color". If the current point is Failure/Offline, it is OFF with the color defined by "Failure Color".
Figure 7-20 .
- 115 -
Sample #7
The title of the window comes from the hint of the current button.
The current Button is assigned to do the Control Function: SBO TRIP / CLOSE. If the current HMI Control Security Level is higher than 3, the corresponding control panel is shown as follow when you click on the current HMI Object-Shape: Button:
Figure 7-21
- 116 -
Sample # 8
You can configure the button with the Control Function: LOAD_HMIPAGE to go to the HMI display page named as xx.hmi. Note: you have to edit the Hint as shown in the sample. Refer to the section 7.3.11.
. Figure 7-22
- 117 -
Sample #9
Refer to the section 7.3.12. The value of CNT_000 will display by this HMI Object-Shape: TEXT.
Figure 7-23
Displays the Text as you design. Displays Data in the format of Integer. Displays Data in the format of Floating-Data. Displays the text when the current point you assign is either Alarm/Logic ON (1), or Offline (Failure). DISPLAY_ENCODE_INFO: Refer to the section 7.3.12. DATA_STRING_TEMPLATE: Scanning the current hit and make up it by using DATA STRING TEMPLATE. Refer to the section 1.4.16.
- 118 -
- 119 -
7.3.7 RoundRect The Sample: The Shape Code: ROUNDRECT The Typical use: Notes: 7.3.8 xPanel The Sample: The Shape Code: XPANEL The Typical use: Layout Notes: Setup the Pen-Color and Brush-Color properly to make up one you want to. 7.3.9 StopSign The Sample: The Shape Code: STOPSIGN The Typical use: Notes: 7.3.10 Rectangle-pen-style-Dot The Sample: The Shape Code: SQUARE The Typical use: Notes:
- 120 -
7.3.11 Button The Sample: The Shape Code: BUTTON The Typical use: HMI Operations Notes: Refer to the screenshot Figure 7-13 and 7-14, Figure 7-21 and 22.
Functionalities you can make up by a button in the display of HMI are as follows. Note: It also applies to other HMI Object-Shape!
1) Controls
Control command: Pulse, SBO, Latch, etc. ESO Execute Selected Operation. CLR_SEL Clean up All Selected. Note #1: In the hint, if finds "; FROM MYPLC_DATA=4xxxx" or "; FROM MYPLC_DATA=9xxxx", the control data is retrieved from PLC program runtime simulator register data 4xxx or 9xxxx. Refer to the section 9. SHAPE= BUTTON LEFT= 784 TOP= 331 WIDTH= 100 HEIGHT= 28 CAPTION= Rst 4x0100 HINT= Set up 4x0100 ;FROM MYPLC_DATA=40001 FONTCOLOR= BLACK FONTNAME= MS Sans Serif FONTSIZE= 8 FONTBOLD= + DB_PNT= 11_22 REG_WR WOCP 100 9999 1234 0 Note #2: In the hint, if finds "; FROM PSD_POINT=xxxxx", control data is from the pseudo point xxxxx (the pseudo point name). Refer to the section 1.4.13. SHAPE= BUTTON LEFT= 784 TOP= 331 WIDTH= 100 HEIGHT= 28 CAPTION= Rst 4x0100 HINT= Set up 4x0100 ;FROM PSD_POINT=PSD_AI_001 FONTCOLOR= BLACK FONTNAME= MS Sans Serif FONTSIZE= 8 FONTBOLD= + DB_PNT= 11_22 REG_WR WOCP 100 9999 1234 0 Note #3: If the control operation is defined as "Direct operate without control panel" (the code is WOCP) the DevAddr can be defined as xx_yy, xx is the 1st device address, yy is the 2nd device address. Refer to the screenshot Figure 7-12. Normally it is for PY/SY system application (refer to the section 8). Note #4: If the current Button Caption is "ONOFF", you can see the Caption will be changed either "ON" or "OFF" dynamically according to the state of the current DI point that is configured to the current Button. Note #5: If the current DB_PNT point is retrieved from pseudo register 9xxxx (refer to the section 9.1.4), and the control operation is defined as WOCP, you can directly do the controls (i.e. LATCH ON/OFF, SBO T/C, etc.) on the current DB_PNT point without setting the control point number and the device address. Refer to the sample #5 and Figure 7-13 in the section 7.2.2.
- 121 -
The Hint consists of "Page=" at very beginning of the string. Refer to the screenshot Figure 721. You also can use LOAD_HMIPAGE to OPEN/LOAD a phone book for the application where the DCA Driver is running over the Modem/Phone Line. The hint should be setup by PHONEBOOK=xxxxxxxx, where the xxxxxxxx is the phone book file name. The default file ext. is *.TXT. Refer to the section 7.1.1, 7.1.11 and 11.2. Note: if the hint is Page=POPUP:xxxxxx, it will pop the current HMI page up in a stand-alone HMI display Viewer window.
4) Others
LOGWIN: Opens or Closes the Log Window. FUNBAR: Opens or Closes the Function Bar. Refer to the screenshot Figure 7-22.
- 122 -
7.3.12 Text The Sample: The Shape Code: TEXT The Typical use: Display Information / Value Notes: Refer to the screenshot Figure 7-13 and 7-23.
If the HMI Point that is assigned to the current TEXT is an AI with the AO control and the assigned Control Function is 16-Bit AO-Setpoint, Clicking on the current TEXT will open AI/AO window (refer to the section 5.3) for operators to send the value of 16-Bit AO-Setpoint.
- 123 -
Sample#2: SHAPE= TEXT LEFT= 355 TOP= 330 CAPTION= PY/SY RAS Matrix Normal HINT= PY/SY RAS ;XDATA_MATRIX COLOR= BTNFACE FONTCOLOR= BLACK A_COLOR= RED F_COLOR= YELLOW FONTNAME= MS Sans Serif FONTSIZE= 14 DISPLAY= ENCODE DB_PNT= NONE NONE WIDTH= 400 HEIGHT= 30 ENDE Sample#3: SHAPE= TEXT LEFT= 335 TOP= 361 CAPTION= Mismatched The Latest Actions in PY and SY PLC HINT= Mismatched The Latest Actions in PY and SY PLC COLOR= BTNFACE FONTCOLOR= RED A_COLOR= RED F_COLOR= YELLOW FONTNAME= MS Sans Serif FONTSIZE= 12 FONTBOLD= + DISPLAY= TEXT DB_PNT= PSD_DI_ML VISIBLE -1 0 1 1000 WIDTH= 405 HEIGHT= 24 ENDE Sample#4: SHAPE= TEXT LEFT= 556 TOP= 190 CAPTION= PLC #11 :Comm. Link/LAN Unconnected !? HINT= PLC #11 :; DS 11 00 COLOR= 0x00C8D0D4 FONTCOLOR= RED A_COLOR= RED F_COLOR= YELLOW FONTNAME= MS Sans Serif FONTSIZE= 14 DISPLAY= ENCODE DB_PNT= NONE NONE WIDTH= 400 HEIGHT= 30 ENDE Sample#5: SHAPE= TEXT LEFT= 556 TOP= 190 CAPTION= xMessage HINT= Message:;MSG msg_sample.txt, 0 COLOR= 0x00C8D0D4 FONTCOLOR= RED A_COLOR= RED F_COLOR= YELLOW FONTNAME= MS Sans Serif FONTSIZE= 14 DISPLAY= ENCODE DB_PNT= PSD_AI_01 NONE -1 0 1 1000 WIDTH= 400 HEIGHT= 30 ENDE
Note: If finds the mismatched PY/SY Data Matrix, it displays "Matrix Mismatched !?", otherwise the text is "Matrix Normal".
Note: If HMI Point PSD_DI_ML, the CAPTION of the current TEXT: "Mismatched The Latest Actions in PY and SY PLC" appears. Refer to 1.4.13 and the section 7.2.2 (Sample #4) and the screenshot Figure 7-12.
Note: It displays the real-time information regarding to Device #11 as follows: either Comm. OFFLINE !?, or Comm. Link/LAN Unconnected !?, or Comm. Normal, or Comm. OFFLINE !?.
If PSD_AI_01=10, the current TEXT displays the message in the 11th line in the file: msg_sample.txt. If PSD_AI_01=0 or PSD_AI_01=100 (if there are only 100 lines being indexed 0 to 99 in the msg_sample.txt, the current TEXT will display the first line message.
- 124 -
7.3.13 Image/BMP The Sample: The Shape Code: IMAGE The Typical use: Background of the current HMI Display Page. Notes: The raster-operation code is SRCAND. It defines how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color. Combines the colors of the source and destination rectangles by using the Boolean AND operator. If the current Control Function is VISIBLE/BLINK (refer to the Figure 7-14), you can make up a Slide-Show at the speed of 24 slides (BMP file) per second (use BLINK to continually to play slides). First, you make up a serial of BMP file named with the same prefix (i.e. HMI_CRT.BMP, HMI_CRT_0.BMP, HMI_CRT_1.BMP, HMI_CRT_2.BMP,, , HMI_CRT_5.BMP. The Max. count is 255). Second, you assign a status point (i.e. PSD_DI01. Refer to the sample/SHAPE = IMAGE in the section 7.2.2 and the Figure 7-14, the Point Name will be PSD_DI01). If the status point (i.e. PSD_DI01) is ON, all associated slides (i.e. HMI_CRT_0.BMP to HMI_CRT_5.BMP. The count is starting from 0 to i) will be shown (forward-sequence-showing) one by one at the speed of 1/24 second. If the status point turns OFF, all associated slides (i.e. HMI_CRT_5.BMP to HMI_CRT_0.BMP. The count is starting from i to 0) will be shown (backward-sequence-showing) one by one at the speed of 1/24 second. 7.3.14 CSpinEditor The Sample: The Shape Code: CSPINEDIT The Typical use: AO Setpoint / Set up the value of the PSD_AI (pseudo AI - Internal Variable). Notes: Refer to the screenshot Figure 7-15. 7.3.15 CGauge The Sample: The Shape Code: GAUGE The Typical use: Display AO Setpoint, A Gauge. Notes: 7.3.16 TrackBar The Sample: The Shape Code: TRACKBAR The Typical use: AO Setpoint. Notes:
- 125 -
7.3.17 CheckBox The Sample: The Shape Code: CHECKBOX The Typical use: Enable/Disable, Toggle DI's state. Notes: Toggle the state of the DI point configured by the tag-name. Refer to the section 7.2.5. 7.3.18 RadioGroup The Sample: The Shape Code: RADIOGROUP The Typical use: Make a selection. Notes: Refer to the screenshot Figure 7-16.
The Index of items in the RadioGroup comes from or goes to the HMI Data point (normally it is an AI or a PSD_AI). If the value is not within the range of index (1.. max. item in the current RadioGroup), there is no item selected.
7.3.19 ComboBox The Sample: The Shape Code: COMBOBOX The Typical use: Make a selection. Notes: Refer to the screenshot Figure 7-16.
The Index of items in the ComboBox comes from or goes to the HMI Data point (normally it is an AI or a PSD_AI). If the value is not within the range of index (1.. max. item in the current ComboBox), there is no item selected (the appearance in the current ComboBox is empty).
7.3.20 ListBox The Sample: The Shape Code: LISTBOX The Typical use: Make a selection. Notes: Refer to the screenshot Figure 7-16.
The ListBox does not like the RadioGroup and ComboBox, which allow you pick up an item only a time. But the ListBox allows you do the multi-selection. The value (normally it is of an AI or a PSD_AI) is combined by the multi-selection. The 1st index of item is corresponded to 20(1). The 2nd index of item is corresponded to 21(2). The 3rd index of item is corresponded to 22(4). And so on up to the 32nd index of item is corresponded to 231(2147483648). If you check the item #1 and item #3, the value is 5. If the value is not within the range of index (1.. max. item in the current ListBox), there is no item selected.
7.3.21 MemoBox The Sample: The Shape Code: MEMO The Typical use: Display the information in the file updated by others. Notes: Refer to the screenshot Figure 7-17. If the first line in the MemoBox is Meter ddd (where the ddd is the index of Meter, refer to the section 1.4.13 the entry of METER), it displays and being updated the current Meter information. There are other manual commands:ALARM_LIST, LOG, and LOAD:FILE:xxxx
- 126 -
that you can input directly at very beginning of the first line in the MemoBox. At the end you should click on outside of it to active the command. 7.3.22 StringGrid The Sample: The Shape Code: STR_GRID The Typical use: Display DI's state, Metering. Notes: Refer to the screenshot Figure 7-1 and 19. And the 2nd and 3rd sample in the section 7.2.2. The content is defined by as in a string of "xxxxx1~xxxxxx2~xxxxx3~xxxxx4~" xxxxx1: The label xxxxx2: The display xxxxx3: The point name xxxxx4: Future
7.3.23 Light The Sample: The Shape Code: LIGHT The Typical use: Indication Notes: Refer to the screenshot Figure 7-20. 7.3.24 Triangle_Left The Sample: The Shape Code: TRIANGLE_LEFT The Typical use: Notes: 7.3.25 Triangle_Right The Sample: The Shape Code: TRIANGLE_RIGHT The Typical use: Notes:
- 127 -
7.3.26 Triangle_Up The Sample: The Shape Code: TRIANGLE_UP The Typical use: Notes: 7.3.27 Transformer_Horizontal The Sample: The Shape Code: TRANSFORMER_HORI The Typical use: Notes: 7.3.28 Transformer_Vertical The Sample: The Shape Code: TRANSFORMER_VERT The Typical use: Notes: 7.3.29 Half_Circle_LEFT The Sample: The Shape Code: CIRCLE_LEFT The Typical use: Notes: 7.3.30 Half_Circle_RIGHT The Sample: The Shape Code: CIRCLE_RIGHT The Typical use: Notes: 7.3.31 Half_Circle_UP The Sample: The Shape Code: CIRCLE_UP The Typical use: Notes: 7.3.32 Half_Circle_DOWN The Sample: The Shape Code: CIRCLE_DOWN The Typical use: Notes:
- 128 -
7.3.33 Half_Ellipse_LEFT The Sample: The Shape Code: ELP_LEFT The Typical use: Notes: 7.3.34 Half_Ellipse_RIGHT The Sample: The Shape Code: ELP_RIGHT The Typical use: Notes: 7.3.35 Half_Ellipse_UP The Sample: The Shape Code: ELP_UP The Typical use: Notes: 7.3.36 Half_Ellipse_DOWN The Sample: The Shape Code: ELP_DOWN The Typical use: Notes: 7.3.37 Polyline_6 The Sample: The Shape Code: POLYLINE_6 The Typical use: Notes: 7.3.38 Polyline_8 The Sample: The Shape Code: POLYLINE_8 The Typical use: Notes:
- 129 -
7.3.39 Polygon_6 The Sample: The Shape Code: POLYGON_6 The Typical use: Notes: 7.3.40 Polygon_8 The Sample: The Shape Code: POLYGON_8 The Typical use: Notes: 7.3.41 Arc_UpLift The Sample: The Shape Code: ARC_UPLEFT The Typical use: Notes: 7.3.42 Arc_UpRight The Sample: The Shape Code: ARC_UPRIGHT The Typical use: Notes: 7.3.43 Arc_DownLift The Sample: The Shape Code: ARC_DOWNLEFT The Typical use: Notes: 7.3.44 Arc_DownRight The Sample: The Shape Code: ARC_DOWNRIGHT The Typical use: Notes:
- 130 -
7.3.45 Chord_UpLift The Sample: The Shape Code: CHORD_UPLEFT The Typical use: Notes: 7.3.46 Chord_UpRight The Sample: The Shape Code: CHORD_UPRIGHT The Typical use: Notes: 7.3.47 Chord_DownLift The Sample: The Shape Code: CHORD_DOWNLEFT The Typical use: Notes: 7.3.48 Chord_DownRight The Sample: The Shape Code: CHORD_DOWNRIGHT The Typical use: Notes: 7.3.49 Pie_UpLift The Sample: The Shape Code: PIE_UPLEFT The Typical use: Notes: 7.3.50 Pie_UpRight The Sample: The Shape Code: PIE_UPRIGHT The Typical use: Notes:
- 131 -
7.3.51 Pie_DownLift The Sample: The Shape Code: PIE_DOWNLEFT The Typical use: Notes: 7.3.52 Pie_DownRight The Sample: The Shape Code: PIE_DOWNRIGHT The Typical use: Notes: 7.3.53 Capacity_Horizontal The Sample: The Shape Code: CAPACITY_HORI The Typical use: Notes: 7.3.54 Capacity_Vertical The Sample: The Shape Code: CAPACITY_VERT The Typical use: Notes: 7.3.55 Ground_Horizontal The Sample: The Shape Code: GND_HORI The Typical use: Notes: 7.3.56 Ground_Vertical The Sample: The Shape Code: GND_VERT The Typical use: Notes:
- 132 -
7.3.57 Fuse_Horizontal The Sample: The Shape Code: FUSE_HORI The Typical use: Notes: 7.3.58 Fuse_Vertical The Sample: The Shape Code: FUSE_VERT The Typical use: Notes: 7.3.59 CT_Horizontal The Sample: The Shape Code: CT_HORI The Typical use: Notes: 7.3.60 CT_Vertical The Sample: The Shape Code: CT_VERT The Typical use: Notes: 7.3.61 Wavetrap_Horizontal The Sample: The Shape Code: WAVETRAP_HORI The Typical use: Notes: 7.3.62 Wavetrap_Vertical The Sample: The Shape Code: WAVETRAP_VERT The Typical use: Notes:
- 133 -
7.3.63 TX_Tap_Horizontal The Sample: The Shape Code: TX_TAP_HORI The Typical use: Notes: 7.3.64 TX_Tap_Vertical The Sample: The Shape Code: TX_TAP_VERT The Typical use: Notes: 7.3.65 VR_IND_3_Horizontal The Sample: The Shape Code: VR_IND_3_HORI The Typical use: Notes: 7.3.66 VR_IND_3_Vertical The Sample: The Shape Code: VR_IND_3_VERT The Typical use: Notes: 7.3.67 Exciter The Sample: The Shape Code: EXCITER_HORI The Typical use: Notes:
- 134 -
7.3.68 Valve_Horizontal The Sample: The Shape Code: VALVE_HORI The Typical use: Notes: 7.3.69 Valve_Vertical The Sample: The Shape Code: VALVE_VERT The Typical use: Notes: 7.3.70 2-State Switch Panel The Sample: The Shape Code: 2STATE_SW_PANEL The Typical use: Toggle DI's state. Notes: Refer to the sample #5 in the section 7.2.2. 7.3.71 Diamond_Polyline The Sample: The Shape Code: DIAMOND_POLYLINE The Typical use: Notes: 7.3.72 Diamond_Polygon The Sample: The Shape Code: DIAMOND_POLYGON The Typical use: Notes:
- 135 -
7.3.73 Trend_DataWatch
Max. Data = HI_RSLIM
The Sample: The Shape Code: TREND_DATAWATCH The Typical use: Watch real-time or history data. Notes: The AI point must be configured as a History Data. Refer to the section 1.4.13 (i.e. PROTYPE = ANALOG HOUR_HISTORY) and the 1st sample in the section 7.2.2. It displays the trend/history data with up to 60 points in the curve. The Interval can be a Minute, or an Hour or a Day. The evolutions of data measures of the last 48 Hours or 90 Days or 60 Months. Data points in the curve 60(minutes) 60(hours) 60(days) Recorders in the history file 48 Hours (Max. 2880 recorders) 90 Days (Max. 2160 recorders) 60 Months (Max. 1825 recorders) Note
Interval
MINUTE_HISTORY: Interval=1 Minute HOUR_HISTORY: Interval=1 Hour DAY_HISTORY: Interval= 1 Day
It displays the value of Current Point, Max., Min, Avg. and Total when you move the cursor/mouse and point at the data-point in the curve. The format of the history file is Text based. If the color of the Pen is either Block or White the grid of Trend_DataWatch appears otherwise the current Trend_DataWatch does not have a grid. If you click on the current Trend_DataWatch or Multiple-Trend_DataWatch (Multiple Trend_DataWatch shapes overlap at the same position with the same size of shape), the associated single/multiple history display window appears. Refer to the section 5.3 for details on the Display of the History of the Meter/Analogue data. The scaling of displaying the trending data is defined by the entries of HI_RSLIM and LO_RSLIM. The default value of HI/LO RSLIM is defined by HI/LO EUVAL. Refer to the section 1.4.13.
- 136 -
7.3.74 Grid_Horizontal The Sample: The Shape Code: GRID_HORI The Typical use: Layout Notes: 7.3.75 Grid_Vertical The Sample: The Shape Code: GRID_VERT The Typical use: Layout. Notes:
7.3.76 2StateConnector_Horizontal The Sample: The Shape Code: 2STATE_CONNECTOR_HORI The Typical use: Layout Notes: Normally a DI point is assigned for it. If the DI point is ON(Alarmed), the shape will be changed to the Close-State. Refer to the screenshot on right side.
7.3.77 2StateConnector_Vertical The Sample: The Shape Code: 2STATE_CONNECTOR_VERT The Typical use: Layout. Notes: Refer to 7.3.76. If the DI point is ON(Alarmed), the shape will be Changed to Close-State. Refer to shapes right side.
- 137 -
to open
PY PLC
SY PLC
Digital Input TE 01 - 48
- 138 -
The RED light indicates the action you have selected for the specified contingency.
The Current Matrix Unit/Selection: The Blue Rectangle Cross-Line. Refer to 8.3 8.8
Modifying entries in the configuration can change the Title/TE Name/Action Name. Refer to the section 1.4.10.
PY
SY
Refer to 8.1 States in both PY PLC and SY PLC. The color in RED presents the state is ON/ 1. The color in GREEN presents the state is OFF/ 0. Watch out the Error Information in the Bottom Window Information Bar.
Figure 8-2
- 139 -
- 140 -
Figure 8-3
- 141 -
- 142 -
Figure 8-4
- 143 -
As shown in the screenshot Figure 8-5, failed in updating the matrix data to device due to the failure of the communication to the Device Modbus Address=11 after checking the re-try and the timeout.
Click OK to continue.
Figure 8-5
- 144 -
As shown in the screenshot Figure 8-6, failed in updating the matrix data to devices (PY/SY PLC) due to the failure of communication.
Click OK to continue
Figure 8-6
- 145 -
Figure 8-7
- 146 -
It tells you how many mismatchedunit(s) in both PLC (PY/SY) and this Matrix Editor.
Figure 8-8
- 147 -
the screenshot Figure 9-1. The PLC Program Run-time simulator allows you to run a script that implements calculations, logic, etc. which helps the HMI functioning. The default name of the file of the PLC Program is PLC_CMD.TXT, which is text based file and will be loaded automatically (refer to the section 1.4.4). The Max. capacity is 4095 lines.
The File Name of the current PLC Program. You can open the text file: PLC.REP and PLC_CMD_LOG.TXTto check whether there is Syntax-Error in the PLC Program.
The Log Information. There are two log files. The log file name is the same file name of the PLC Program with different Ext: .LOG. The debug Log File is PLC_CMD_LOG.TXT.
Figure 9-1
It is for you to debug the current PLC program one step by one step. Run the current PLC program a cycle only.
- 148 -
. .
Figure 9-2
Mapping between the DAS Real-time Database and the PLC Program Runtime Database.
- 149 -
9.1 Points
There are only four types of data object/point: 0x, 1x, 4x and 9x in the PLC Program Runtime Database. 9.1.1 Digital Output DO 0x The Digital Output Point maps to the DO point in the Data Acquisition Real-time Database. 9.1.2 Digital Input DI 1x The Digital Input Point maps to the DI point in the Data Acquisition Real-time Database. 9.1.3 16-Bit Data Register 4x The 16-bit Data Register maps to the AI point in the Data Acquisition Real-time database. 9.1.4 16-Bit Pseudo Data Register 9x The 16-bit Data Register 9x001 to 9x512 (PNT_ADDR = 0 .. 511) is treated as internal data (you can read data and write data from/into it) in the PLC Program Runtime Database and the HMI Point Database via the data type entry of D_TYPE = MYPLC_9X . Refer to the section 1.4.13 and 1.4.14. You can also access each bit (16 bits per register) individually via the entry of PNT_BIT = dd, or 9xxx.bb in the PLC program. Note: 9x001 to 9x050 is reserved as follows: Address Value Address Value 9x001 Second Counter 9x002 A Hour Counter 9x003 3-Second Counter 9x004 30-Second Counter 9x005 5-Second Counter 9x006 60-Second Counter 9x011 Year 9x012 Month 9x013 Day 9x014 Hour 9x015 Minute 9x016 Second 9x017 Week 9x018 DayOfYear 9x046 The counter of Integrity-Polling 9x047 The counter of Offline point 9x048 The counter of active alarm. 9x049 Remote Site Slave Address 9x050 Remote Site Index. The max. capacity of PLC Program Runtime Simulator Database is 2048 Words (16-Bit) plus 512 9x points. The 16-Point of DO/DI occupies a Word. The Point Number starts from 1. The following is the mapping list: 1x0001 is mapping to DI0000 in the DAS Real-time Database. 1x0016 is mapping to DI0015 in the DAS Real-time Database. 1x0017 is mapping to DI0015 in the DAS Real-time Database. 0x0001 is mapping to DO0000 in the DAS Real-time Database. 0x0016 is mapping to DO0015 in the DAS Real-time Database. 4x0001 is mapping to AI0000 in the DAS Real-time Database. 4x0016 is mapping to AI0015 in the DAS Real-time Database. Refer to the section 1.4.9 and the screenshot Figure 9-2.
- 150 -
- 151 -
- 152 -
9.5 Instructions
9.5.1 The List of Instructions In the following "IF^" means the IF-Condition detects the Rising-Edge of Status Point/Boolean Condition. There are up to 17 operands:Var0, Var1,,Var16 in the expression. The [xxxxx] is the option in the expression. The #ddddd or #-dddddd represents a const value.
1 [IF/IF^ o o o [IF/IF^ o o o [IF/IF^ o o o Var0 THEN] END Function: Ends of the Program. Note: Sample: END Var0 THEN] GOTO Var1 Function: Jumps to other place to execute the program. Note: Jump label symbol is ":". Sample: IF^ 4001.01 THEN GOTO :Alarm_H1 Var0 THEN] RET Function: Returns from the current Sub-Routine. Note: Sample: IF^ 1001 THEN RET
[IF/IF^ Var0 THEN] CALL Var1-Label [Var2-Year Var3-Month Var4-Day Var5-Week Var6-Hour Var7-Minute] o Function: Calls a Sub-Routine. You can define the Date And/or the Time to call the sub-routine. o Note: Sub-Routine label symbol is "!". Do not forget to put the RET at end of the current Sub-Routine. o Sample: IF 4001.01 THEN CALL !Calc_MW 9999 99 99 99 23 59 If 4001.01 (Bit 01) is ON, it calls the sub-routine Calc_MW at 23:59 every day. Var0 = OFF>ON Var2 o Function: Detects the Rising_Edge. You can transfer a Rising_Edge to someone. o Note: o Sample: 4001.01 = OFF>ON 1012 Var0 = ON>OFF Var2 o Function: Detects the Falling_Edge. You can transfer a Falling_Edge to someone. o Note: o Sample: 4001.01 = ON>OFF 1012 Var0 = Var1-PV SHR Var2-Bit o Function: Bitwise shift right. o Note: o Sample: 4001 = 4002 SHR #2 If 4002=1 then 4001=4. Var0 = Var1-IF^ INC_1 Var2-IF-CLR o Function: Increments Var0 by one. If Var2>0 or ON then Var0=0. o Note: o Sample: 40001 = 10001 INC_1 10002 If 40001=99 and 10001 is OFF->ON then 40001=100. If 10002=ON then 40001=0. Var0 = Var1-IF^ DEC_1 Var2-IF-CLR o Function: Decrements Var0 by one. If Var2>0 or ON then Var0=0. o Note: o Sample: 40001 = 10001 DEC_1 10002 If 40001=99 and 10001 is OFF->ON then 40001=98. If 10002=ON then 40001=0.
10 Var0 = Var1-IF ON_LOAD Var2-PV o Function: Load new value from Var2 when the condition Var1-IF is ON. o Note:
- 153 -
Sample: 40001 = 10003 ON_LOAD 40010 If 10003 is ON and 40010=100 then 40001=100.
11 Var0 = Var1-IF OFF_LOAD Var2-PV o Function: Load new value from Var2 when the condition Var1-IF is OFF. o Note: o Sample: 40001 = 10003 OFF_LOAD 40010 If 10003 is OFF and 40010=100 then 40001=100. 40001 = #0 OFF_LOAD 40010 If 40010=100 then 40001=100 all the time. The const #0 is equal to OFF.
12 Var0 = Var1-PV SHL Var2-BIT o Function: Bitwise shift left. o Note: o Sample: 40001 = 40002 SHL 40003 If 40002=4 and 40003=2 then 40001=1. 13 Var0 = [Var1-IF] KEEP Var2-IF-SET Var3-IF-RST o Function: R-S trigger If Var2=ON Var2 is to SET Var0, otherwise Var3 is to RESET Var0. o Note: o Sample: 00003 = 40001.00 KEEP 40001.01 40001.02 If 40001.00 (Bit 00) is ON and 40001.01 is ON, 00003 is Latched ON. 14 Var0-Dest. = [Var1-IF] COPY Var2-Source Var3-Count o Function: Copies data from a source-Var2 to a destination-Var0. o Note: Directly move the data. o Sample: 40001 = 10001 COPY 40100 #100 If 10001 is ON, copies 100 register data 40100-40199 to 40001-40100. 15 Var0 = [Var1-IF] XCOPY Var2-DATA-ARRAY Var3-ARRAY-LEN o Function: Copies data from a source-Var2 to a destination-in the Var0. o Note: Indirectly move the data. The Destination address is defined in Var0. o Sample: 40001 = 10001 XCOPY 40100 #100 If 10001 is ON and 40001=700, copies 100 register data 40100-40199 to 4x7004x799. 16 Var0-STACK = [Var1-IF] PUSH_STACK Var2-STACK-LEN Var3-PV o Function: Push the data in the Var3 into a STACK defined by Var0. o Note: Var2 defines the length of the STACK. The data at the bottom will be lost if the stack reaches the max. length. If Var2 is less then 0, PUSH_STACK does not execute. o Sample: 40001 = 10003 PUSH_STACK #100 40199 If 10003 is ON, 40199 is pushed into the STACK. 17 Var0 = [Var1-IF] POP_STACK Var2-STACK Var3-STACK-LEN o Function: Pop the data to Var0 from a STACK defined by Var2. o Note: Var3 defines the length of the STACK. If Var3 is less then 0, POP_STACK does not execute. o Sample: 40801 = 10003 PUSH_STACK 40001 #100 If 10003 is ON, 40801 is equal to 40001. 18 Var0 = [Var1-IF] SET_DATA Var2-PV Var3-LEN o Function: Sets the initial value that is stored in Var0 (variables/arrays in the length defined by Var3). o Note: o Sample: 40801 = 10003 SET_DATA 40001 #100 If 10003 is ON and 40001 is #1234, 40801 to 40900 is set/initialized by #1234. 19 Var0 = Var1-PV TAB_INDEX Var2-TAB Var3-LEN Var4-DIV o Function: Searches the table defined by Var2 to find the first matched item. o Note: Var4 is to define the deviation. Var0 is #0 if there is no matched item in the table. o Sample: 40801 = 40001 TAB_INDEX 40100 #100 #10 If 40001 is #1234 and 40101 is #1235, 40801 is equal to #2. 20 Var0 = [Var1-IF] TOTAL Var2-TAB Var3-LEN o Function: Calculates the total in the table defined by Var2. Var3 is to define the size of the table. o Note: o Sample: 40801 = TOTAL 40100 #100 40801 is equal to 40100+40101++40199.
- 154 -
21 Var0 = [Var1-IF] MAX Var2-TAB Var3-LEN o Function: Finds the max. data in the table defined by Var2. Var3 is to define the size of the table. o Note: o Sample: 40801 = MAX 40100 #100 40801 is equal to the max. data in the table 40100, 40101,,40199. 22 Var0 = [Var1-IF] ADD Var2-PV ... Var16-PV o Function: Calculates the total of Var2, Var3, up to Var16. o Note: o Sample: 40801 = ADD 40100 40123 40234 40801 is equal to 40100 + 40123 + 40234.
23 Var0 = [Var1-IF] MIN Var2-TAB Var3-LEN o Function: Finds the minimum data in the table defined by Var2. Var3 is to define the size of the table. o Note: o Sample: 40801 = MIN 40100 #100 40801 is equal to the minimum data in the table 40100, 40101,,40199. 24 Var0 = [Var1-IF] [LOAD] Var2-PTR o Function: Loads a value from a pointer defined by Var2. o Note: Indirectly loads a data. o Sample: 40801 = [LOAD] 40100 If 40100 is #1234 and 401234 is #4321, 40801 is equal to #4321. 25 Var0-PTR = [Var1-IF] [SAVE] Var-PV o Function: Saves a value to a pointer defined by Var0. o Note: Indirectly saves a data. o Sample: 40100 = [SAVE] 40100 40801 If 40100 is #1234 and 40801 is #4321, 401234 is equal to #4321. 26 Var0 = [Var1-IF] LIMITMAX Var2-PV Var3-MAX o Function: Assigns the value of Var2 limited the value of Var3. o Note: o Sample: 40801 = LIMITMAX 40100 #2047 If 40100 is #1234, 40801 is equal to #1234. If 40100 is #2234, 40801 is equal to #2047. 27 Var0 = [Var1-IF] LIMITMIN Var2-PV Var3-MIM o Function: Assigns the value of Var2 limited the value of Var3. o Note: o Sample: 40801 = LIMITMIN 40100 #-2047 If 40100 is #1234, 40801 is equal to #1234. If 40100 is #-2234, 40801 is equal to #-2047. 28 Var0 = [Var1-IF] AVERAGE Var2-TAB Var3-LEN o Function: Calculates the average value in the table defined by Var2. Var3 is to define the size of the table. o Note: o Sample: 40801 = TOTAL 40100 #100 40801 is equal to (40100+40101++40199) / 100. 29 Var0 = [Var1-IF] SUB Var2-PV ... Var16-PV o Function: Calculates the subtraction from Var2, Var3, up to Var16. o Note: o Sample: 40801 = SUB 40100 40123 40234 #1234 40801 is equal to 40801- 40100 - 40123 - 40234 - #1234. 30 Var0 = Var1-ON GET_ON_TIM Var2-TIMESETTING Var3-TIMEBUF o Function: Calculates the Pulse ON Time and check whether reaches the time setting. o Note: Var1 is to define the Pulse. Var2 is to define the time setting in Millisecond. Var3 is to define the buffer of the timer (time base is 100ms). o Sample: 40124.01 = 10001 GET_ON_TIM #5000 40123 If finds 10001 on time 5 seconds or more, 40124.01 (Bit01) is ON. 31 Var0-Total-H-M-S = [Var1-IF] GET_TIME Var2-HourBuf Var3-MinuteBuf Var4-SecondBuf [Var5-HourSetting Var6-MinuteSetting Var7-SecondSetting] o Function: Calculates total in seconds and save the current time: Hour in Var2 and Minute in Var3 and Seconds in Var4. It resets Var0 if the Time is equal to
- 155 -
o o
the settings define by Var5(Hour) and/or Var6(Minute) and/or Var7(Second). Note: No check on either Hour if Var5 is #0 or Minute if Var6 is 0 or Second if Var7 is 0. Sample: 40124 = 10001 GET_TIME 40001 40002 40003 #23 #59 #59 If finds 10001 and the current time is 23:59:59 40124 is #0.
32 Var0-Total-Y-M-D = [Var1-IF] GET_DATE Var2-YearBuf Var3-MonthBuf Var4-DayBuf Var5-Week [Var6-YearSetting Var7-MonthSetting Var8-DaySetting Var9-WeekSetting] o Function: Calculates total in days and save the current date: Year in Var2 and Month in Var3 and Day in Var4 and Weekday in Var5. It resets Var0 if the Date is equal to the settings define by Var6(Year) and/or Var7(Month) and/or Var7(Day) and/or Var8(Weekday). o Note: No check on either Year if Var6 is #0 or Month if Var7 is 0 or Day if Var8 is 0 or Weekday if Var9 is 0. o Sample: 40124 = 10001 GET_DATE 40001 40002 40003 40004 #0000 #01 #01 #0 If finds 10001 and the current date is the 1st day of Jan. 40124 is #0. 33 Var0 = Var1 BIT_XOR Var2 o Function: It does bitwise exclusive OR; compares two bits and generates a 1 result if the bits are complementary, otherwise it returns 0. o Note: o Sample: 40001 = 40002 BIT_XOR 40003. 34 Var0 = Var1 BIT_AND Var2 o Function: It does bitwise AND; compares two bits and generates a 1 result if both bits are 1, otherwise it returns 0. o Note: o Sample: 40001 = 40002 BIT_AND 40002. 35 Var0 = Var1 BIT_OR Var2 o Function: It does bitwise inclusive OR; compares two bits and generates a 1 result if either or both bits are 1, otherwise it returns 0. o Note: o Sample: 40001 = 40002 BIT_XOR 40003. 36 Var0 = Var1 XOR Var2 o Function: It does exclusive logic OR; returns true if Var1 is not equal to Var2. o Note: Var0, Var1 and Var2 are Boolean type. o Sample: 40001.01 = 40002.03 XOR 10003. 37 Var0 = Var1 XORNOT Var2 o Function: It does exclusive logic OR; returns true if Var1 is not equal to Var2. o Note: Var0, Var1 and Var2 are Boolean type. Var2 is inverted before evaluation. o Sample: 40001.01 = 40002.03 XOR 10003. 38 Var0 = Var1 AND Var2 o Function: It does logical AND; returns true only if both Var1 and Var2 evaluate to be nonzero, otherwise returns false. If Var1 evaluates to false, Var2 is not evaluated. o Note: Var0, Var1 and Var2 are Boolean type. o Sample: 40001.01 = 40002.03 AND 10003. 39 Var0 = Var1 ANDNOT Var2 o Function: It does logical AND; returns true only if both Var1 and Var2 evaluate to be nonzero, otherwise returns false. If Var1 evaluates to false, Var2 is not evaluated. o Note: Var0, Var1 and Var2 are Boolean type. Var2 is inverted before evaluation. o Sample: 40001.01 = 40002.03 ANDNOT 10003. 40 Var0 = Var1 OR Var2 o Function: It does logical OR; returns true if either of operands (Var1 and Var2) evaluate to be nonzero, otherwise returns false. If the Var1 evaluates to true, Var2 is not evaluated. o Note: Var0, Var1 and Var2 are Boolean type. o Sample: 40001.01 = 40002.03 OR 10003. 41 Var0 = Var1 ORNOT Var2 o Function: It does logical OR; returns true if either of operands (Var1 and Var2) evaluate to be nonzero, otherwise returns false. If the Var1 evaluates to true, Var2 is not evaluated. o Note: Var0, Var1 and Var2 are Boolean type. Var2 is inverted before evaluation.
- 156 -
42 Var0 = Var1 HEX_BCD Var2-Mul o Function: Gets a HEX value from BCD data in Var1 and multiplied by Var2. o Note: The Bit15 of Var1 is Sign-Bit that indicates whether a numeric value is positive, negative, or zero. o Sample: 40001 = 40002 HEX_BCD #1. If 40002 is #4660(1234h), 40001 is #1234. If 40002 is #37428(9234h), 40001 is #-1234. 43 Var0 = Var1 BCD_HEX Var2-Mul o Function: Gets a BCD value from HEX data in Var1 and multiplied by Var2. o Note: The Bit15 of Var0 is Sign-Bit that indicates whether a numeric value is positive, negative, or zero. o Sample: 40001 = 40002 HEX_BCD #1. If 40002 is #1234, 40001 is #4660(1234h). If 40002 is #-1234, 40001 is #37428(9234h). 44 Var0 = Var1 > Var2 o Function: Check whether Var1 is greater than Var2. o Note: o Sample: 00001 = 40001 > 40002. 45 Var0 = Var1 < Var2 o Function: Check whether Var1 is less than Var2. o Note: o Sample: 00001 = 40001 < 40002. 46 Var0 = Var1 == Var2 o Function: Check whether Var1 is equal to Var2. o Note: o Sample: 00001 = 40001 == 40002. 47 Var0 = Var1 <> Var2 o Function: Check whether Var1 is not equal to Var2. o Note: o Sample: 00001 = 40001 <> 40002. 48 Var0 = Var1 + Var2 o Function: Addition. o Note: o Sample: 40001 = 40002 + #1000 49 Var0 = Var1 - Var2 o Function: Subtraction. o Note: o Sample: 40001 = 40002 - #1000 50 Var0 = Var1 * Var2 o Function: Multiplication. o Note: o Sample: 40001 = 40002 * 40003 51 Var0 = Var1 / Var2 o Function: Division. o Note: o Sample: 40001 = 40002 / 40003 52 Var0 = Var1-Mul ARCTAN Var2 o Function: Calculates the Arc tangent of a real value. o Note: o Sample: 40001 = #1 ARCTAN 40002 53 Var0 = Var1-Mul COS Var2 o Function: Calculates the Cosine of a real value. o Note: o Sample: 40001 = #1 COS 40002 54 Var0 = Var1-Mul SIN Var2 o Function: Calculates the Sine of a real value. o Note:
- 157 -
55 Var0 = Var1-Mul SQURT Var2 o Function: Calculates the positive square root. o Note: o Sample: 40001 = #1 SQUART 40002 56 Var0 = Va1-Mul THI3 Var2 o Function: Var0 = Var1 * Var2 * Var2 * Var2. o Note: o Sample: 40001 = #1 TH3 40002
57 Var0 = Var1-Mul LN Var2 o Function: Ln returns the natural logarithm of (X+1). Use Ln when X is a value near 0. o Note: o Sample: 40001 = #1 LN 40002 58 Var0 = Var1-Mul EXP Var2 o Function: Calculates the exponential e to the Var2. o Note: o Sample: 40001 = #1 EXP 40002 59 Var0 = Var1-Mul NOT Var2 o Function: It does bitwise negation. o Note: o Sample: 40001 = #1 NOT 40002 60 BLD o o o 61 BOR o o o Var0-PV,...,Var16-PV Function: ----| |-------. Starts the Ladder Boolean Logic. Note: Sample: Var0-PV,...,Var16-PV Function: Boolean Logic OR operation. Note: Sample: BLD 10001 BOR 10002 10003 BOUT 90001.01 BLDEND |--| |---|--------------------()-| | 10001 | 90001.01 |--| |---| | 10002 | |--| |---| | 10003 Var0-PV,...,Var16-PV Function: Boolean Logic NOT and OR operation. Note: Sample: BLD 10001 BORNOT 10002 10003 BOUT 90001.01 BLDEND |--| |---|--------------------()-| | 10001 | 90001.01 |--|/|---| | 10002 | |--|/|---| | 10003 Var0-PV,...,Var16-PV Function: Boolean Logic AND operation. Note: Sample: BLD 10001 BAND 10002 10003 BOUT 90001.01 BLDEND |--||------||-----||--------()-| | 10001 10002 10003 90001.01
62 BORNOT o o o
63 BAND o o o
64 BANDNOT Var0-PV,...,Var16-PV
- 158 -
o o o
Function: Boolean Logic NOT and AND operation. Note: Sample: BLD 10001 BANDNOT 10002 10003 BOUT 90001.01 BLDEND |--||-----|/|----|/|--------()-| | 10001 10002 10003 90001.01 Var0-PV Function: Boolean Logic OUTPUT operation. Note: Sample: BLD 10001 BOR 10002 BLD 10003 BANDLD BLD 10004 BORLD BOUT 90001.01 BLDEND |--||---|------||----|--------()-| | 10001 | 10003 | 90001.01 | | | |--||---| | | 10002 | | | |--||----------------| | 10004
65 BOUT o o o
66 BOUTNOT o o o
Var0-PV Function: Boolean Logic NOT and OUTPUT operation. Note: Sample: BLD 10001 BOR 10002 BLD 10003 BANDLD BLD 10004 BORLD BOUTNOT 90001.01 BLDEND |--||---|------||----|--------(/)-| | 10001 | 10003 | 90001.01 | | | |--||---| | | 10002 | | | |--||----------------| | 10004
67 BORLD o o o
Function: Boolean Logic OR operation between TWO Ladder Logic Blocks: the current Ladder Boolean Result and the last one. Note: Sample: BLD 10001 BOR 10002 BAND 10003 BLD 10004 BAND 10005 BORLD BOUT 90001.01 BLDEND |--||---|------||----|--------()-| | 1001 | 1003 | 9001.01 | | | |--||---| | | 1002 | | | |--||----------||----| | 1004 1005
- 159 -
68 BANDLD o o o
Function: Boolean Logic AND operation between TWO Ladder Logic Blocks: the current Ladder Boolean Result and the last one. Note: Sample: BLD 10001 BOR 10002 BLD 10003 BOR 10004 BANDLD BOUT 90001.01 BLDEND |--||---|------||----|--------()-| | 10001 | 10003 | 90001.01 | | | |--||---|------||----| | 10002 10004 |
69 BLDEND o o o 70 BLDNOT o o o
Function: End of the current calculation for Ladder Boolean Logic. Note: Sample: BLDEND
Function: ----|/|-----. Note: Sample: BLDNOT 10001 BOR 10002 ANDNOT 10003 BOUT 90001.01 BLDEND |--|/|--|------|/|------------()-| | 10001 | 10003 90001.01 | | |--||---| | 10002
71 BOUT_REG Var0 o Function: Converts up to the latest 16 Ladder Boolean data into a 16-Bit Register. o Note: o Sample: BLD 10001 10002 90001.01 40004.15 40005.00 BOUT_REG 90123 If 10001=ON and 10002=OFF and 90001.01=OFF and 40004.15=ON and 40005.00=ON, 90123=0000000000010011(Binary), or 0013(Hex.), or #19. 72 BOUT_SBO Var0-PT# o Function: Generates a SBO Command. o Note: o Sample: BLD 10001 BAND 10002 BOUT_SBO 00001 if 10001=ON and 10002=ON sends SBO CLOSE to 00001, otherwise sends SBO OPEN to 00001. 73 BOUT_PULSE Var0-PT Var1-COUNT Var2-ON_TIME Var3-OFF_TIME o Function: Generates a DO Pulse Command. o Note: o Sample: BLD 10001 BAND 10002 BOUT_PULSE 00001 #10 #5000 #5000 If 10001=ON and 10002=ON sends DO Pulse to 00001 with Count Parameter=10 and ON-Time Parameter=5000 and OFF-Time Parameter=5000. 74 BTIMER Var0-PV Var1-SV Var2-PT# o Function: Build a timer and check whether it is expired. o Note: o Sample: BTIMER 40001 #5000 90001.01 If the current Ladder Boolean data is ON the timer so called 90001.01 is OFF until 5000 milliseconds late. The current time count is saved in 40001. If the current Ladder Boolean data is OFF the timer so called 90001.01 is OFF and the current time count is 0. 75 Var0 = [Var1-IF] FR_DWORD Var2 [Var3-Mul]
- 160 -
o o o
Function: Converts a 32bit floating data to a 32bit binary word. Note: Uses it to prepare for a floating-data double word (32bit, 2 registers) and downloads it into the Modbus PLC. Sample: 40001 = FR_DWORD 40100 #1
76 Var0 = [Var1-IF] DWORD_FR Var2 [Var3-Mul] o Function: Converts a 32bit binary word to a 32bit floating data. o Note: o Sample: 40001 = DWORD_FR 40100 #1 77 Var0 = [Var1-IF] DO_CMD Var2-DevAddr Var3-Pnt Var4-CtrlCode Var5-P/T [Var6-Ctrl Count] o Function: Write control command via DCA Driver. o Note: The command is for DO. o Sample: 40901 = 10001 DO_CMD #11 #012 #03 #0 #0 If 10001 is ON it sends a DO command to device address=#11 and DO control point=#12 and DO Control Code= #03(Latch-ON, refer to the section 1.4.15 for the control code) 40901 = 10001 DO_CMD #11 #012 #01 #5000 #30 If 10001 is ON it sends a DO command to device address=#11 and DO control point=#12 and DO Control Code= #01(Pulse, refer to the section 1.4.15 for the control code) and Control Count=#30(30 Pulse DOs). 78 Var0 = [Var1-IF] AO_CMD Var2-DevAddr Var3-Pnt Var4-SV o Function: Write control command via DCA Driver. o Note: The command is for AO with the data format of Integer. o Sample: 40701 = 10001 AO_CMD #11 #13 90123 If 10001 is ON and 90123=#1234 it sends an AO command to device address=#11 and AO control point=#13 and AO Setpoint value=#1234. 79 Var0 = [Var1-IF] F_AO_CMD Var2-DevAddr Var3-Pnt Var4-SV o Function: Write control command via DCA Driver. o Note: The command is for AO with the data format of Integer. o Sample: 40701 = 10001 F_AO_CMD #11 #13 90123 If 10001 is ON and 90123=#1234.56 it sends an AO command to device address=#11 and AO control point=#13 and AO Setpoint value=#1234.56.
- 161 -
9.5.2
Syntax
Label: :xxxx Sub-Routine Entry: !xxxx Const: #dddd or #-ddddd Define the size of the PLC Program Runtime Simulator Database Note #1 Digital Output 0X: DB_SIZE_0X= xxx The First 0X Number: FIRST_0X_NO.= x Digital Input 1X: DB_SIZE_1X= xxx The First 1X Number: FIRST_1X_NO.= x 16-Bit Register 4X: DB_SIZE_4X= xxx The First 4X Number: FIRST_4X_NO.= x Mapping the PLC Program Runtime Simulator Database to the Real-time Database (Globe). Digital Output 0X: DO CLASS Digital Input 1X: DI CLASS /Treated as LOCAL FORCED 16-Bit Register 4X: AI CLASS /Treated as LOCAL FORCED Define the list of Alias/Var (Here you can declare variables). @ xxxxxxxx xxxxxxxxxxxxxxxx | | | | | |--The Var Name. The Max. of Length is 16 | |--PLC IO Point Name (0X, 1X and 4X). The Max. of Length is 8 |--The Head Character of the curretn definition. It must be the character of @ Note #1: The point number of 0x, 1x, 4x and 9x starts from 1. The point number of DI, DO and AI in the Data Acquisition Real-time database starts from 0. Normally, the default setting of the First Number is 1 (if 0 or less, no change/offset applied). So 4x0001 is mapping to AI #0000. 4x0100 is mapping to AI #0099. You can set FIRST_4X_NO.=100, so 4x0100 is mapping to AI #0000. 4x0200 is mapping to AI #0099. The same rule is applied to settings of FIRST_0X_NO.= x and FIRST_1X_NO.= x.
- 162 -
9.5.3
A Sample
;PLC ladder logic language program run-time simulator ; ;Define the size of database DB_SIZE_0X= 256 FIRST_0X_NO.= 1 DB_SIZE_1X= 128 FIRST_1X_NO.= 1 DB_SIZE_4X= 256 FIRST_4X_NO.= 1 ; ;Define Variable. ; @ IO_Name(Max8) Var_Name(Max16) ; @ 10001 DI01 @ 10002 DI02 @ 10003 DI03 @ 10004 DI04 @ 10005 DI05 @ 10006 DI06 @ 10007 DI07 @ 10008 DI08 @ 10009 DI09 @ 10010 DI10 @ 10011 DI11 @ 10012 DI12 @ 10013 DI13 @ 10014 DI14 @ 10015 DI15 @ 10016 DI16 ; ; ; ;2L45-CSN BLD DI16 DI15 DI14 DI13 DI12 DI11 DI10 DI09 DI08 DI07 DI06 DI05 DI04 DI03 DI02 DI01 BOUT_REG 4001 ; BLD 10032 10031 10030 10029 10028 10027 10026 10025 10024 10023 10022 10021 10020 10019 10018 10017 BOUT_REG 4002 ; BLD 4001.00 BOR 4001.01 4001.02 4001.03 4001.04 4001.05 4001.06 4001.07 4001.08 4001.09 4001.10 4001.11 4001.12 BOUT 4009.11 BLDEND ; BLD 4001.13 BOR 4001.14 4001.15 4002.00 4002.01 4002.02 4002.03 4002.04 BOUT 4009.12 BLDEND ; BLD 4001.14 BOR 4001.15 4002.00 4002.01 4002.02 4002.03 4002.04 BOUT 4009.15 BLDEND ; ; ;2L45-M90C BLD 10048 10047 10046 10045 10044 10043 10042 10041 10040 10039 10038 10037 10036 10035 10034 10033 BOUT_REG 4003 ; BLD 10064 10063 10062 10061 10060 10059 10058 10057 10056 10055 10054 10053 10052 10051 10050 10049 BOUT_REG 4004 ; BLD 4003.00 BOR 4003.01 4003.02 4003.03 4003.04 4003.05 4003.06 4003.07 4003.08 4003.09 4003.10 4003.11 4003.12 BOUT 4010.11 BLDEND ; BLD 4003.13 BOR 4003.14 4003.15 4004.00 4004.01 4004.02 4004.03 4004.04 BOUT 4010.12 BLDEND ; BLD 4003.14
- 163 -
BOR BOUT BLDEND ; ; ;2L55-CSN BLD 10065 BOUT_REG 4005 ; BLD 10081 BOUT_REG 4006 ; BLD BOR 4005.12 BOUT BLDEND ; BLD BOR BOUT BLDEND ; BLD BOR BOUT BLDEND ; ; ;FUTURE BLD 10097 BOUT_REG 4007 ; BLD 10113 BOUT_REG 4008 ; BLD BOR 4007.12 BOUT BLDEND ; BLD BOR BOUT BLDEND ; BLD BOR BOUT BLDEND ; ; ; ; ;F1 KEY BLD BOUT ; ;F2 KEY BLD BOUT ; ;F3 KEY BLD BOUT ; ;F4 KEY BLD BOUT ; ;SYS KEY BLD BOUT ; ;PAGE 4101 ; ;4016
10080 10079 10078 10077 10076 10075 10074 10073 10072 10071 10070 10069 10068 10067 10066
10096 10095 10094 10093 10092 10091 10090 10089 10088 10087 10086 10085 10084 10083 10082
4005.00 4005.01 4005.02 4005.03 4005.04 4005.05 4005.06 4005.07 4005.08 4005.09 4005.10 4005.11 4011.11
10112 10111 10110 10109 10108 10107 10106 10105 10104 10103 10102 10101 10100 10099 10098
10128 10127 10126 10125 10124 10123 10122 10121 10120 10119 10118 10117 10116 10115 10114
4007.00 4007.01 4007.02 4007.03 4007.04 4007.05 4007.06 4007.07 4007.08 4007.09 4007.10 4007.11 4012.11
4013.00 4100.00
4013.01 4100.01
4013.02 4100.02
4013.03 4100.03
4014.13 4100.04
- 164 -
4017 = #0 + #0 4017.00 = 4101.02 + 4101.06 4017.01 = 4101.03 + 4101.07 4017.02 = 4101.04 + 4101.08 4017.03 = 4101.05 + 4101.09 ; ; ;F1 KEY AND ALARM PRESENT BLD 4100.00 |---| |---------| |-----------------O-| BLD 4009.11 | 4100.00 | 4009.11 | 4102.00| BORNOT 4009.12 | |---|/|-----| | BANDLD | 4009.12 | BOUT 4102.00 IF^ 4102.00 THEN CALL ALM_1 BLD 4100.00 BANDNOT 4009.11 BAND 4009.12 BOUT 4102.01 IF^ 4102.01 THEN CALL DIAG_1 BLDEND ; ; ;F2 KEY AND ALARM PRESENT BLD 4100.01 BLD 4010.11 BORNOT 4010.12 BANDLD BOUT 4102.02 IF^ 4102.02 THEN CALL ALM_2 BLD 4100.01 BANDNOT 4010.11 BAND 4010.12 BOUT 4102.03 IF^ 4102.03 THEN CALL DIAG_2 BLDEND ; ; ;F3 KEY AND ALARM PRESENT BLD 4100.02 BLD 4011.11 BORNOT 4011.12 BANDLD BOUT 4102.04 IF^ 4102.04 THEN CALL ALM_3 BLD 4100.02 BANDNOT 4011.11 BAND 4011.12 BOUT 4102.05 IF^ 4102.05 THEN CALL DIAG_3 BLDEND ; ; ;F4 KEY AND ALARM PRESENT BLD 4100.03 BLD 4012.11 BORNOT 4012.12 BANDLD BOUT 4102.06 IF^ 4102.06 THEN CALL ALM_4 BLD 4100.03 BANDNOT 4012.11 BAND 4012.12 BOUT 4102.07 IF^ 4102.07 THEN CALL DIAG_4 BLDEND ; ;SYS KEY FUNCTION AND MAIN PAGE BTIMER 4103 #2 4102.14 BTIMER 4103 #4 4102.15 IF^ 4100.04 THEN CALL SYS_KEY ; END ; !SYS_KEY BLD 4100.04 BLDEND RET ; ; !ALM_1 4016 = #2 + #0 RET ;
- 165 -
!DIAG_1 4016 = #6 RET ; ; !ALM_2 4016 = #3 RET ; !DIAG_2 4016 = #7 RET ; ; !ALM_3 4016 = #4 RET ; !DIAG_3 4016 = #8 RET ; ; !ALM_4 4016 = #5 RET ; !DIAG_4 4016 = #9 RET ;
+ #0
+ #0
+ #0
+ #0
+ #0
+ #0
+ #0
- 166 -
DNP / MB Protocol DNP to MB Converter MB to DNP Converter Other MB/DNP Master End
Remote Device/Slave End -- Top Level Devices/DA Sessions on the station automation platform.
SCADA: Local HMI Figure 10-1
The TCP/IP address of up to 50 xMaster HMI Clients must be in the list of valid client in the xMaster HMI Server. The xMaster HMI Server is able to enable/disable the Control-Functions issued from xMaster HMI Clients. The xMaster HMI Server and Clients can use the same configuration files. So it is easy to maintain and deploy. The format of the file of configurations (i.e. DAS, Database, HMI Displays, etc.) is the Text based. And the Online-Change on the configurations is allowed. The xMaster Client can be the Station running SCADA Database and WEB Applications that serves other clients (i.e. Internet Explorer Browser, etc.) In the application of the Primary System (PY) and the Standby System (SY) shown as the MultiNetwork based as follows, there is a PY only and up to 50 SY/Clients using the same configuration.
PY SY 1 SY 50
#1
#2
#8
- 167 -
If the xMaster HMI is configured as PY & SY application (refer the section 1.4.3: the entry of PY_MASTER_IP_ADDR = ddd.ddd.ddd.ddd), the user will be asked whether the current configuration runs as PY or SY when the xMaster HMI program starts. Switching from PY to SY is operated manually. Any SY / Clients can be switched into running as the PY when there is not a PY available in the entire system.
- 168 -
- 169 -
- 170 -
10.3.2 FDS Server Binary Message Packet Refer to the manual of FDS Server Binary Protocol.
FDS Binary Messages over the LAN
xMaster HMI & Server xMaster HMI Client #1 xMaster HMI Client #2 xMaster HMI Client #50
The following is the reference to programming the FDS Server Binary Protocol. #define MAX_Size_Protocol_Buf 1024 #define FDSFrameHeadLength 4 #define MAX_Size_Protocol_FrameBuf 1024+FDSFrameHeadLength #define MAX_FDSMsg 64 //Object Class #define Binary_BIT__Input #define Binary_BIT__Output #define Bit16_Binary_Counter #define Bit32_Binary_Counter #define Bit16_Data_Register #define Bit32_Data_Register #define Bit16_Analog_Input #define Bit16_Analog_Output #define Bit32_Float_Data #define #define #define #define #define #define #define #define #define #define #define #define #define
0 1 2 3 4 5 6 7 8 0x81 0x41 0x81 0x41 0x01 0x01 0x01 0x01 0x03 0x04 0x01 0x17 0x14
Ctrl_Code_RTU_SBO_OPEN Ctrl_Code_RTU_SBO_CLOSE Ctrl_Code_RTU_SBO_LOWER Ctrl_Code_RTU_SBO_RAISE Ctrl_Code_RTU_DO_LOWER Ctrl_Code_RTU_DO_RAISE Ctrl_Code_RTU_DO_PATTEN Ctrl_Code_RTU_PULSE Ctrl_Code_RTU_DO_LATCH_ON Ctrl_Code_RTU_DO_LATCH_OFF Ctrl_Code_RTU_DO_PULSE Ctrl_Code_RTU_BIN_DO Ctrl_Code_RTU_BIN_AO
//Protocol Message Code #define PROTOCOL_CTRL_CMD_ACK #define PROTOCOL_CTRL_CMD_NAK #define PROTOCOL_CTRL_CMD_INVALID #define PROTOCOL_ACK #define PROTOCOL_NAK #define PROTOCOL_INVALID #define PROTOCOL_GIVE_ME_ALL #define PROTOCOL_STOP_GIVING #define PROTOCOL_GIVE_ME_CHANGED #define PROTOCOL_GIVE_ME_OBJECT #define PROTOCOL_START_FDS_CLIENT #define PROTOCOL_WRITE_OBJECT
- 171 -
#define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define
PROTOCOL_WRITE_BLOCK 9 PROTOCOL_SBOCLOSE 10 PROTOCOL_SBOOPEN 11 PROTOCOL_SEL_CLOSE 12 PROTOCOL_SEL_OPEN 13 PROTOCOL_SEL_OPERATE 14 PROTOCOL_ACC_FRZ 15 PROTOCOL_GL_ACC_FRZ 16 PROTOCOL_ACC_FRZ_RS 17 PROTOCOL_SBOLOWER 18 PROTOCOL_SBORAISE 19 PROTOCOL_SETPOINT 20 PROTOCOL_DIG_OUT 21 PROTOCOL_STAT_OUT 22 PROTOCOL_RESET_CLIENT 23 PROTOCOL_GIVE_ME_TAGNAME 24 PROTOCOL_GIVE_ME_RTDB 25 PROTOCOL_WRITE_RTDB 26 PROTOCOL_SEL_RESET 27 PROTOCOL_RESET_DEVICE 28 PROTOCOL_INTEGRITY_POLL 29 PROTOCOL_DRV_CONFIG_TABLE 30 PROTOCOL_DRV_ONLINE 31 PROTOCOL_DRV_OFFLINE 32 PROTOCOL_SBO_TEST 33 PROTOCOL_DRV_EVENT_POLL 34 PROTOCOL_DRV_INTEGRITY_POLL 35 PROTOCOL_DRV_FREEZE 36 PROTOCOL_DRV_SHOW_WIN 37 PROTOCOL_DRV_TIME_SYN 38 PROTOCOL_FDS_MSG_STRING_BEGIN PROTOCOL_FDS_MSG_STRING PROTOCOL_FDS_MSG_STRING_END
39 40 41 0x0000 0x0000 0x7fff 0x8fff 0x8fff 0x80fd 0x80fe 0x80ff 0x1000 0x2000 0x4000 0x4000 0x4000 0x0800 0x0400 0x0200 0x0100 0xffff 0x00ff
DrvCmdResult_Response_ACK DrvCmdResult_Response_ACK_UNBLOCK DrvCmdResult_Just_Read_in_and_sent_out_By_Driver DrvCmdResult_Just_Written_by_User DrvCmdResult_UnFinished_by_Driver DrvCmdResult_UnFinished_by_Driver_Freezed DrvCmdResult_UnFinished_by_Driver_ErrParam DrvCmdResult_UnFinished_by_Driver_Unauthroized DrvCmdResult_WritingDevice_CRCBAD DrvCmdResult_WritingDevice_NOREPLAY DrvCmdResult_WritingDevice_NAK DrvCmdResult_ReadingDevice_NAK DrvCmdResult_Response_NAK DrvCmdResult_Overflow_CmdBuf DrvCmdResult_DAS_MultiThread_is_not_working DrvCmdResult_HostDisableControl DrvCmdResult_HostDoesNotSupportControl DrvCmdResult_Response_from_device DrvCmdResult_Response_from_device_Busy FrameHeaderWord_Lo 0xAA FrameHeaderWord_Hi 0x55
#define MAX_TxMsg_xTagName_Size 15 typedef struct // Type_FDSMsgProtocol 16 Bytes; { union { Struct//16Bytes { Byte TagCode; char xTagName[MAX_TxMsg_xTagName_Size]; }; struct//16Bytes { union//4Bytes { struct {
- 172 -
Byte MsgCode; //Protocol Message Code Byte MsgParamter; Word MsgPointTotal; }; struct { Byte Byte Byte Word }; struct { Byte Byte Word }; }; union//2 Bytes { Word RemoteAddress; Word CmdWord; Word FlagWord;//bit16 changed,bit1 float data format struct { Word FlagByte:8; //0:Online,1:Restart,2:CommLost,3:RemoteForced,4:LocalForced Word DataChanged:1; Word FloatFormat:1; Word Ctrl_Code:6; }; }; Word ObjectIndex;//2 Bytes union//4 { DWord float DWord }; Bytes PV; FV; CmdTiming;
typedef union { Byte frame_byte_buf[MAX_Size_Protocol_FrameBuf]; struct { Byte FrameHeaderLo; Byte FrameHeaderHi; Word FrameLength:13; Word FrameFlag:2; Word LastFrame:1; union { Type_FDSMsgProtocol FDSMsg[MAX_FDSMsg]; Byte xByte[MAX_Size_Protocol_Buf]; }; }; } Type_FDSProtocol_Frame;
- 173 -
10.3.3 Modbus RTU Protocol over TCP/IP If the current x_Master is DNP_Master, and the client uses Modbus RTU protocol, in this case the DNP_Master is acting as a Protocol Converter DNP3 to Modbus.
MB RTU Protocol over the LAN
DNP Master HMI & Server MB Master HMI Client #1 MB Master HMI Client #2 MB Master HMI Client #50
- 174 -
10.3.4 MB TCP /IP (ref-ref-0-0-L-ID-Message) Refer to the section 10.3.3. Other HMI/SCADA Master Ends (Client) communicate with xMaster/Server by the protocol of Modbus TCP/IP (not MB protocol over the LAN).
- 175 -
Figure 10-2
- 176 -
Figure 10-3
- 177 -
11 Troubleshooting
Figure 11-1 is a screenshot displaying a Communication Alert Icon at Up-Left of screen.
Communication Fail/Trouble Alert. Double click on it to open the window as shown in the screenshot Figure 11-3.
Figure 11-1
Note: In order to get help on the troubleshooting you can send xMaster Support all log files located in the directory of c:\xMaster\Log.
- 178 -
Figure 11-2 is a screenshot displaying a Communication Alert Icon at Up-Left of screen and the flag of data failure in the HMI display page.
The Yellow color tells you that the current data point in the DAS Real-time database is OFFLINE.
The small flag f beside the HMI Object is to tell you the data for this HMI Object is OFFLINE due to the related communication link (Data Acquisition) failure. Note: DNP supports the OFFLINE on individual data object point.
Figure 11-2
- 179 -
Select the observation in the list and refer to the information about errors that HMI has found and tips, which are displayed in the window below to help you trouble-shoot.
Figure 11-3
Note: If the current communication is over the Modbus Plus, please using MBPStat.exe to do the trouble-shooting (refer to the section 1.4.8).
- 180 -
Figure 11-4
In order to do the advanced trouble-shooting on Data Collection Application (DCA), you can login the DCA Field Data Server window, as shown in the screenshot Figure 2-2. The password is hjzok . The windows of DCA and Dialing a phone number from the phone book are shown in the screenshot Figure 11-5 to 11-11.
- 181 -
The name of the file is defined by the entry of INFO_FILE. Refer to the section 1.4.4.
The List of the valid Clients. Refer to the section 1.4.6. You can control (i.e. Disable, Delete, Pause, etc.) the access from the current client. Refer to the section 10.
You can put the DCA ONLINE or OFFLINE manually. The DAC Driver will put itself Offline and Online automatically when the communication is found failed unless you manually close it by clicking on it (the state is Checked).
Figure 11-5
The following screenshot is shown as in the case where the DCA driver is over the serial link or Serial Modem link. Refer to the section 1.4.6.
Once the connection of Modem/Phone Line is Online the icon will change. The timeout for the connection online of Modem/Phone is 35 seconds.
- 182 -
The window of dialing a phone number from the Phone Book (Refer to the section 1.4.6, 7.1.1, and 7.1.11) is shown as follows:
Step#3: Watch the information about dialing the modem.
Step#2: Dial up the modem. (Check the COM Port connecting the modem, refer to the section 1.4.6).
Figure 11-6
Close
- 183 -
You can pause polling data. If it is the Dialup-Modem connection (refer to the section 1.4.6), you can disconnect (still able to receive unsolicited reports from the remote end) or re-connect phone line.
Figure 11-7
You can check the individual definitions in the configuration of DCA. When the DNP DCA is OFFLINE, you can click on the button of DNP Extension to open the window of the DNP DCA parameters configuration as shown in the screenshot Figure 11-7.
- 184 -
Figure 11-8
For the details on the DNP Data Acquisition, please refer to the DNP Protocol documents at www.dnp.org. In the DNP_Master, the DNP DCA uses the very common settings as shown above window. Normally, you do not have to change it.
- 185 -
Figure 11-9
You can check the details of log information. The log information in the color of RED will be saved into log file:*.log.
- 186 -
Figure 11-10
You can check the raw value of data in the real-time database.
- 187 -
Figure 11-11
- 188 -
Left-Click on this column to open an editor for user to change the short-name, Control-Point of the current DI point temporarily.
Figure 11-12
You can temporarily change the number of the Control Point and Point-Bit Number for the current Digital Input point. In an editor, you can edit a string like "dddd,dd,tttttt", where "dddd" is the new control point number, "dd" is the new control point bit-number, and "ttttttt" is the new point Short Name and Long Name.
- 189 -
Also you can go to the page of Log to check out the related log information.
Figure 11-13
- 190 -
Modem
Telephone System
Modem
Site #2
Site Information
1234567 xxx yy 2345678 zzzz aa 3456789 ffff rrr 4567890 eeee ee
Modem
Site #4
Modem
Figure 12-1
In the section 1.4.6, the entry of PHONE_NO is to define either the Phone Number of the current remote site, or a so called Phone Book that is composed of phone number, name, slave address (defined by the keyword either SlaveAddress=, or DeviceAddress=, or DA=, or NODE=, or ID=) and Entry-Key (defined by the keyword EK=dddddddddddddddd) that separated by ONE Character Tab (9). The following is the sample of the Text file of Phone Book. The first line in the file usually is the title information. The Phone Number (following the dial command ATDT/ATDS) is up to 15 characters. If the EK is defined the xMaster dialup system will send the EK at very beginning before sending any messages for the data acquisition.
Sample #1:
1111111 2222222 3333333 4444444 5555555 xxxx SCADA System (Dialup). Version xx.xx. 2006-11-02 Site#1 SlaveAddress=1234 EK=123456789012345 Site#2 DeviceAddress=2345 EK=123456789012345 Site#3 DA=3456 Site#4 NODE=4567 Site#5 ID=5678
- 191 -
Note: If the phone number in the 1st line is valid, x_Master will automatically dial this number otherwise you have to pick up a number and dial it manually. If you do not want the x_Master to make a connection to the remote site automatically, a system information/title should be put in the 1st line referring to the above sample. The slave address of the remote site, as default, is defined in the entry of ADDR = dddd in the configuration section of DEV_LINK (refer to the section 1.4.6) and will be changed dynamically according to the salve address information in the Phone Book. And the setting of Master Address in the Slave device is the same address as defined by the entry of DEV_MASTER = ddd (refer to the section 1.4.3). And all sites use the same definition of the Data Acquisition Database so that always define database with the biggest size. As an alternative, you can make up the site information and embed it in the HMI Configuration file by the entry as follows:
Sample #2: ENTRY REMOTE_SITE: RemoteSiteIndex~ RemoteSitePhoneNumber~ RemoteSiteName~ RemoteSiteAddress
; ENTRY
; ENTRY
DNP Dialup Master for ABCDEFG SCADA System END ENTRY REMOTE_SITE: 123~ 18001234567,89~ Site#123~ 123 ENTRY NAME = DI_0001 LONGNAME = Site#123 DI#1 FORMAT = DI PROCTYPE = ONOFF STATCONV = NO PNT_ADDR = 1 CTRL_ADDR = 0 PNT_SITE = 123 ALARM = YES ; ENTRY NAME = DI_0002 LONGNAME = Site#123 DI#2 FORMAT = DI PROCTYPE = ONOFF STATCONV = NO
- 192 -
= = = =
2 123 YES 1
; ENTRY REMOTE_SITE: 234~ 18002345678,90~ Site#234~ 234 ENTRY NAME = DI_0003 LONGNAME = Site#234 DI#1 FORMAT = DI PROCTYPE = ONOFF STATCONV = NO PNT_ADDR = 1 PNT_SITE = 234 ALARM = YES ALARM_GROUP = 234 ; ENTRY NAME = DI_0004 LONGNAME = Site#234 DI#2 FORMAT = DI PROCTYPE = ONOFF STATCONV = NO PNT_ADDR = 2 PNT_SITE = 234 ALARM = YES ALARM_GROUP = 234 ENDALL
A default site information file will be generated according to above REMOTE_SITE entries. The file name is HMI_SYSTEM_SiteInfo (PHONE_NO = @AUTOSITEINFO, refer to the section 1.4.16). The x_Master will be forced to use the AUTOSITEINFO. If the ENTRY HMI_SYSTEM = c:\xMaster\MB (refer to the section 1.4.4), the AUTOSITEINFO (phone book file name) is c:\xMaster\MB_SiteInfo.txt. Please refer to the modem manual and setup (the entry of DEV_LINK = MODEM x1 x2. Refer to the section 1.4.6) modem init-command properly and accordingly. The following is a sample of configuration for Dialup DNP Slave/Remote Site.
Sample #3:
ENTRY ENTRY ENTRY SAVE_RUNNING_COUNTERS = YES DEV_MASTER = 0031 DEV_LINK = MODEM ATC1Q0E0S12=20S30=60 ATS37=6 PORT = 3 BAUDRATE = 2400 ADDR = 603 PHONE_NO = PhoneSample END DNP_DATABASE = SIZE MAX_DI = 213 MAX_DO = 106 MAX_AI = 147 MAX_CNT = 45 MAX_AO = 31 END STATION_INFO
; ENTRY
; ENTRY
- 193 -
Select-Call [X] or Unselect-Call [ ] it by double-clicking on the current site. You can use buttons to [Select All] / [Unselect All] to select/unselect all sites in the list. The phone book is a Text-Formatted file. Each line in the file is the phone number information and another two segments separated by the character: Tab (09). The 1st segment is the phone number. The 2nd is the name/information of the remote end. The 3rd is the others, slave address, for example. Refer the section 1.4.6 for the definition of Phone Book File Name.
The connection-timer is to define how much time to poll/scan the remote site. The default is 45 seconds.
Timeout progress. The timeout for dialing and Modem connection is 45 seconds.
.
The mode of dialing the remote sites. The default is in manual. If [ ]Auto Mode is checked, you want the x_Master Dial up Modem window to work under the mode of AUTOMATION, which has two options as follows: 1. Poll Selected Site(s) Once Scanning/Dialing all selected site(s) in the phone book and stopped after the last one is scanned. And It will start scanning again when the time is met the schedule. In this mode, there are two settings as follows: a. The Schedule. There are 24(0:00 to 23:00)+1(every hour) timing-setting to trigger scanning sites. b. The Timer for the connection. The default is 45 seconds to ensure the connection is within a minute. This timer is applied to the dialing-in connection as well so that the remote site sends unsolicited reports within a minute connection. 2. Poll Selected Site(s) Looply The x_Master Dial up Modem window continually, one by one, scan/dial all selected sites until you press the button [Offline/Hang up]. Note: You can stop dialing any time by pressing the button [Offline/Hang up].
- 194 -
Modem
Modem
Site #1
There is no need to make up the site information (Phone Book). The following is a sample of configuration. You define the phone number by the entry of PHONE_NO directly and the x_Master will start dialing it automatically. The Dial up Modem window will pop up and close after the connection to the remote site automatically
Sample #4:
ENTRY ENTRY ENTRY SAVE_RUNNING_COUNTERS = YES DEV_MASTER = 0031 DEV_LINK = MODEM ATC1Q0E0S12=20S30=60 ATS37=6 PORT = 3 BAUDRATE = 2400 ADDR = 603 PHONE_NO = 18001234567 END DNP_DATABASE = SIZE MAX_DI = 213 MAX_DO = 106 MAX_AI = 147 MAX_CNT = 45 MAX_AO = 31 END STATION_INFO
; ENTRY
; ENTRY
- 195 -
- 196 -
12.2.2 Mutil-Site using the same set of HMI Displays In this case, where you do not need to watch all data of entire system simultaneously (move the radar screen on the current connected site only), you do not need to set the entry of PNT_SITE = ddd and make up the HMI Displays in general and apply it for sites. Refer to the sample #3 above.
- 197 -
12.2.3 Mutil-Site using Mutil-Set of HMI Displays In this case, where you want to watch all data of entire system, you should set the entry of PNT_SITE = ddd accordingly and make up and vary HMI display pages for each site respectively. So you can monitor the sites and only the current connected site information is fresh. Refer to the sample #2 above.
- 198 -
DNP LG Slave
Database
PLC I/O
PLC I/O
PLC I/O
MB Master
MB Meters
In the diagram Figure 13-1, the digital I/O is using Modicon PLC so that we can take the advantage of much flexibility by easily programming PLC and the diversity of I/O modules. A MB_Master is running to retrieve DI data (Indication and Alarm Points) and implement the controls over either the serial port or network (TCP/IP) or Modbus-Plus network. The metering is using IED communicating with the protocol of either DNP (Serial/TcpIp) or Modbus (Serial/TcpIp/Plus). A DNP_Master is running to retrieve the metering data from DNPIEDs over either the serial port or network (TCP/IP). Another MB_Master is running to retrieve the metering data from Modbus-IED over either the serial port or network (TCP/IP) or Modbus Plus network. A DNP_Slave is to make connection between the SCADA Master and the RTU. The DNP_Slave is polled data as you configured and transfer controls from the SCADA Master to devices connected to the Box-PC based RTU via the protocol either DNP or Modbus, which is fulfilled by the DNP_Master/MB_Master applications based on what you configure to communicate with local devices. The x_Master and x_Slave share the HMI-Points Database by the unique HMI Point Name. Refer to the section 1.4.13 and 1.4.14 and samples in the section 13.1 to 13.4. In the following sections, there are samples of configurations for RTU+HMI applications.
- 199 -
; ENTRY ENTRY
; ENTRY
END ; ENTRY METER_SIZE = SMALL ENTRY METER_NAME = 1, AI000-AI003 ENTRY METER_NAME = 2, AI004-AI007 ENTRY METER_NAME = 3, AI008-AI011 ENTRY METER_NAME = 4, AI012-AI015 ENTRY METER_NAME = 5, CNT000-CNT003 ENTRY METER_NAME = 6, CNT004-CNT007 ENTRY METER_NAME = 7, CNT008-CNT011 ENTRY METER_NAME = 8, CNT012-CNT015 ENTRY METER_NAME = 9, ALARM GROUP ; ;=========== Status Points ====================== ; ... ... ENTRY NAME = DNP202_DI002 FORMAT = DI D_TYPE = DI PNT_DEV = 202 PNT_ADDR = 1 CTRL_ADDR = 1 ALARM = YES ALARM_GROUP = 1 SHARING_PNT = YES ; ENTRY NAME = DNP202_DI003 FORMAT = DI D_TYPE = DI PNT_DEV = 202 PNT_ADDR = 2 CTRL_ADDR = 2 ALARM = YES ALARM_GROUP = 1 SHARING_PNT = YES ;
; ENTRY
Note: Please refer to the file: DNP_Master_COM5_202.txt in the xMasterSlave installation file/CD for the details.
- 200 -
The following is the sample of the DNP_Master that runs over the LAN(TCP/IP) to communicate with the DNP Slave End with the address of 101 at IP address=10.1.2.101.
ENTRY ENTRY ENTRY SERVER_IP_PORT = 27000 DEV_MASTER = 11 DEV_LINK = TCP/IP DNP_DEV101 = 0, 101, 10.1.2.101, 20000 END HMI_SYSTEM_NAME = c:\xMaster\XDNPTCP DEV_DATABASE = SIZE MAX_DI = 32 MAX_DO = 32 MAX_AI = 16 MAX_AO = 16 MAX_CNT = 16 END STATION_INFO ENTRY NAME FORMAT D_TYPE PNT_DEV PNT_ADDR CTRL_ADDR ALARM ALARM_GROUP SHARING_PNT NAME FORMAT D_TYPE PNT_DEV PNT_ADDR CTRL_ADDR ALARM ALARM_GROUP SHARING_PNT NAME FORMAT D_TYPE PNT_DEV PNT_ADDR CTRL_ADDR ALARM ALARM_GROUP SHARING_PNT NAME FORMAT D_TYPE PNT_DEV PNT_ADDR CTRL_ADDR ALARM ALARM_GROUP SHARING_PNT = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DNP101_DI004 DI DI 101 3 3 YES 1 YES DNP101_DI005 DI DI 101 4 4 YES 1 YES DNP101_DI006 DI DI 101 5 5 YES 1 YES DNP101_DI007 DI DI 101 6 6 YES 1 YES
; ENTRY ; ENTRY
; ENTRY
END ; ENTRY METER_SIZE = SMALL ENTRY METER_NAME = 1, AI000-AI003 ENTRY METER_NAME = 2, AI004-AI007 ENTRY METER_NAME = 3, AI008-AI011 ENTRY METER_NAME = 4, AI012-AI015 ENTRY METER_NAME = 5, CNT000-CNT003 ENTRY METER_NAME = 6, CNT004-CNT007 ENTRY METER_NAME = 7, CNT008-CNT011 ENTRY METER_NAME = 8, CNT012-CNT015 ENTRY METER_NAME = 9, ALARM GROUP ; ;=========== Status Points ====================== ... ... ENTRY NAME FORMAT D_TYPE PNT_DEV PNT_ADDR CTRL_ADDR ALARM ALARM_GROUP SHARING_PNT NAME FORMAT D_TYPE PNT_DEV PNT_ADDR CTRL_ADDR ALARM ALARM_GROUP SHARING_PNT = = = = = = = = = = = = = = = = = = DNP101_DI002 DI DI 101 1 1 YES 1 YES DNP101_DI003 DI DI 101 2 2 YES 1 YES
; ENTRY
; ENTRY
; ENTRY
Note: Please refer to the file: DNP_Master_TCPIP.txt in the xMasterSlave installation file/CD for the details.
- 201 -
; ENTRY ENTRY
; ENTRY
MB TCP/IP Master END ; ENTRY METER_SIZE = SMALL ENTRY METER_NAME = 1, 4x300-303 ENTRY METER_NAME = 2, 4x304-307 ENTRY METER_NAME = 3, 4x308-311 ENTRY METER_NAME = 4, 4x312-315 ENTRY METER_NAME = 5, FR 4x500-507 ENTRY METER_NAME = 6, FR 4x508-515 ENTRY METER_NAME = 7, FR 4x516-523 ENTRY METER_NAME = 8, FR 4x524-531 ENTRY METER_NAME = 9, ALARM GROUP ; ;========== Status Points ====================== ; ... ... ENTRY NAME = PSD_DI_MB11_CF LONGNAME = PSD_DI PY PLC Comm. failed FORMAT = PSD_DI PNT_ADDR = 0 PROCTYPE = OPENCLOS STATCONV = NO PSD_DI_FUNC = COMM_FAILED PSD_DI_CTRL1 = 11 0 0 ALARM = YES ALARM_GROUP = 1 SHARING_PNT = YES
; ENTRY
Note: Please refer to the file: MB_Master_TCPIP.txt in the xMasterSlave installation file/CD for the details.
- 202 -
; ENTRY ENTRY
; ENTRY
; ENTRY
Note: Please refer to the file: MB_Master_COM4_22.txt in the xMasterSlave installation file/CD for the details.
- 203 -
Note: Please refer to the file: xSlave_DI_PointName_List.txt in the xMasterSlave installation file/CD for the details.
Note: Please refer to the file: xSlave_AI_PointName_List.txt in the xMasterSlave installation file/CD for the details.
- 204 -
... ...
Note: Please refer to the file: xSlave_DO_PointName_List.txt in the xMasterSlave installation file/CD for the details.
Note: Please refer to the file: xSlave_AO_PointName_List.txt in the xMasterSlave installation file/CD for the details.
- 205 -
Figure 13-2
- 206 -