-
ADAM-6000 Series Ethernet-based Data Acquisition and Control Modules User Manual
-
Copyright The documentation and the software included with this product are copyrighted 2014 by Advantech Co., Ltd. All rights are reserved. Advantech Co., Ltd. reserves the right to make improvements in the products described in this manual at any time without notice. No part of this manual may be reproduced, copied, translated or transmitted in any form or by any means without the prior written permission of Advantech Co., Ltd. Information provided in this manual is intended to be accurate and reliable.
-
Product Warranty (2 years) Advantech warrants to you, the original purchaser, that each of its products will be free from defects in materials and workmanship for two years from the date of purchase. This warranty does not apply to any products which have been repaired or altered by persons other than repair personnel authorized by Advantech, or which have been subject to misuse, abuse, accident or improper installation.
-
Technical Support and Assistance Step 1. Visit the Advantech web site at www.advantech.com/support where you can find the latest information about the product. Step 2. Contact your distributor, sales representative, or Advantech's customer service center for technical support if you need additional assistance. Please have the following information ready before you call: - Product name and serial number - Description of your peripheral attachments - Description of your software (OS, version, software, etc.
-
Chapter 1 Understanding Your System ......................... 2 1.1 Introduction ....................................................................... 2 1.2 Major Features................................................................... 3 Figure 1.1:ADAM-6000 System Architecture ............... 2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 Ethernet-enabled DA&C I/O Modules .......................... 3 Intelligent I/O Modules ..................................................
-
4.1.3 4.1.4 4.2 Digital I/O Modules ........................................................ 40 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 Chapter Figure 4.3:ADAM-6017 Analog Input Type Setting ... 29 Figure 4.4:ADAM-6017 Digital Output Wiring .......... 30 ADAM-6018 ................................................................ 31 Figure 4.5:ADAM-6018 8-ch Thermocouple Input .... 31 Figure 4.6:ADAM-6018 Thermocouple Input Wiring 33 Figure 4.7:ADAM-6018 Digital Output Wiring .......... 34 ADAM-6024 ..........
-
Figure 5.8:Analog Input Trend Log ............................. 80 Figure 5.9:Analog Input Average Setting .................... 81 Figure 5.10:Analog Input Alarm Mode Configuration 84 Figure 5.11:ADAM-6015 Channel Configuration ....... 86 Figure 5.12:ADAM-6024 Output Tab ......................... 87 5.3.4 Universal Digital Input and Output Module (ADAM-6050) 88 Figure 5.13:ADAM-6050 Channel Setting .................. 88 Figure 5.14:Fail Safe Value Configuration .................. 90 Figure 5.
-
Figure 7.2:Four Stages for One Logic Rule ............... 193 7.3 Configure Four Stages of One Logic Rule.................... 196 7.3.1 7.3.2 7.3.3 7.3.4 7.4 Internal Flag for Logic Cascade and Feedback............. 214 7.4.1 7.4.2 7.5 Input Condition Stage ................................................ 196 Figure 7.3:Input Condition Stage Configuration ....... 196 Figure 7.4:Engineer Unit and Current Value ............. 198 Figure 7.5:Scaling Function of Analog Input Mode .. 199 Logic Stage ....
-
Figure 7.38:GCL Logic for Sequence Control .......... 234 Figure 7.39:GCL Logic for Event Trigger ................. 235 Figure 7.40:Event Trigger Configuration .................. 235 Appendix A Design Worksheets ...................................... 238 Table A.1:I/O Data Base ............................................ 238 Table A.2:Summary Required Modules .................... 239 Table A.3:Table for Programming ............................. 240 Appendix B Data Formats and I/O Range ..................
-
Figure C.12:The characteristic of the cable ............... 281 Figure C.13:System Shielding (1) ............................. 281 Figure C.14:System Shielding (2) ............................. 282 C.4 Noise Reduction Techniques......................................... 282 C.5 Check Point List ............................................................ 283 Figure C.15:Noise Reduction Techniques ................. 283 Appendix D REST for ADAM-6000 ............................... 286 D.1 D.
-
CHAPTER 1 2 Understanding Your System Sections include: • Introduction • Major Features • Specifications • Dimensions • LED Status
-
Chapter 1 Understanding Your System 1.1 Introduction ADAM-6000 Ethernet-based data acquisition and control modules provide I/O, data acquisitions, and networking in one module to build a costeffective, distributed monitoring and control solution for a wide variety of applications. Through standard Ethernet networking, ADAM-6000 retrieves I/O values from sensors, and can publish them as a real-time I/O values to networking nodes via LAN, Intranet, or Internet.
-
1.2 Major Features 1.2.1 Ethernet-enabled DA&C I/O Modules ADAM-6000 is based on popular Ethernet networking standards used in most business environments. Users can easily add ADAM-6000 I/O modules to existing Ethernet networks, or use ADAM-6000 modules in new Ethernet-enabled eManufacturing networks. ADAM-6000 modules feature a 10/100 Mbps Ethernet chip and support industrial popular Modbus/ TCP protocols over TCP/IP for data connection. ADAM-6000 also supports UDP protocol over Ethernet networking.
-
1.2.5 Industrial Standard Modbus/TCP Protocol ADAM-6000 modules support the popular industrial standard, Modbus/ TCP protocol, to connect with Ethernet Controller or HMI/SCADA software built with Modbus/TCP driver. Advantech also provides OPC server for Modbus/TCP to integrate ADAM-6000 I/O real-time data value with OPC client enabled software, freeing users from driver development. 1.2.
-
1.2.7 Modbus/TCP Software Support The ADAM-6000s firmware has a built-in Modbus/TCP server. Advantech provides the ADAM.NET Class Library and Windows ADAM.NET Utility for users. Users can configure this DA&C system via Windows Utility; integrate with HMI software package via Modbus/TCP driver. Users can also purchase Advantech OPC server to operate Modbus/TCP. 1.3 Specifications Ethernet: 10/100 Base-T Wiring: UTP, category 5 or greater Bus Connection: RJ45 modular jack Comm.
-
1.4 Dimensions The following diagram show the dimensions of the l/O modules. (mm) Figure 1.
-
1.5 LED Status There are two LEDs on the ADAM-6000 I/O Series front panel. Each LED has two indicators to represent system status, as explained below: Figure 1.3: LED Indicators (1) Status: Red indicator. Blinks when ADAM-6000 module is running. (2) Link: Green indicator. On whenever the Ethernet is connected. (3) Speed: Red indicator. On when Ethernet speed is 100 Mbps. (4) COM: Green indicator. Blinks whenever the ADAM-6000 module is transmitting or receiving data via Ethernet.
-
1.5.1 Locate It can help user search ADAM module with light sign. (Status LED will be constantly on RED light for 30 second when it enable.
-
CHAPTER 2 2 Selecting Your Hardware Sections include: • Selecting an I/O Module • Selecting a Link Terminal & Cable • Selecting an Operator Interface
-
Chapter 2 Selecting Your Hardware 2.1 Selecting an I/O Module To organize an ADAM-6000 remote data acquisition & control system, you need to select I/O modules to interface the host PC with field devices or processes that you have previously determined. There are several things should be considered when you select the I/O modules.
-
. Table 2.
-
2.2 Selecting a Link Terminal & Cable Use the RJ-45 connector to connect the Ethernet port of the ADAM-6000 to the Hub. The cable for connection should be Category 3 (for 10Mbps data rate) or Category 5 (for 100Mbps data rate) UTP/STP cable, which is compliant with EIA/TIA 586 specifications. Maximum length between the Hub and any ADAM-6000 modules is up to 100 meters (approx. 300 ft). Figure 2.1: Ethernet Terminal and Cable Connection Table 2.
-
2.3 Selecting an Operator Interface To complete your Data Acquisition and Control system, selecting the operator interface is necessary. Adopting the Modbus/TCP Protocol, ADAM-6000 I/O modules exhibit high ability in system integration for various applications. You can read the real-time status of ADAM-6000 modules through the web page from the following browser.
-
ADAM-6000 Series User Manual 14
-
CHAPTER 3 2 Hardware Installation Guide Sections include: • Determining the Proper Environment • Mounting • Wiring & Connections
-
Chapter 3 Hardware Installation Guide 3.1 Determining the Proper Environment Prior to installing ADAM-6000 modules, please check the following. 3.1.1 Package Contents Unpack the shipped boxes and make sure that the contents include: • ADAM-6000 module with one bracket and DIN-rail adapter • ADAM-6000 module User Manual • ADAM-6000 CD 3.1.
-
3.2 Mounting ADAM-6000 modules are designed as compact units and are allowed to be installed in the field site under the following methods. 3.2.1 Panel Mounting Each ADAM-6000 Module is packed with a plastic panel mounting bracket. Users can refer the dimensions of the bracket to configure an optimal placement in a panel or cabinet. Fix the bracket first, then, fix the ADAM-6000 module on the bracket. Figure 3.
-
Figure 3.2: Fix Module on theBracket 3.2.2 DIN-rail mounting The ADAM-6000 module can also be secured to the cabinet by using mounting rails. Fix the ADAM-6000 module with the DIN-rail adapter as Figure 3-3. Then secure it on the DIN-rail as Figure 3-4. If you mount the module on a rail, you should also consider using end brackets at each end of the rail. The end brackets help keep the modules from sliding horizontally along the rail.
-
Figure 3.
-
Figure 3.4: Secure Module to a DIN-rail 3.3 Wiring & Connections This section provides basic information on wiring the power supply, I/O units, and network connection. 3.3.1 Power Supply Wiring Although the ADAM-6000/TCP systems are designed for a standard industrial unregulated 24 VDC power supply, they accept any power unit that supplies within the range of +10 to +30 VDC.
-
Figure 3.5: ADAM-6000 Module Power Wiring We advise that the following standard colors (indicated on the modules) be used for power lines: +Vs (R) Red GND (B) Black 3.3.2 I/O Module Wiring The system uses a plug-in screw terminal block for the interface between I/O modules and field devices. The following information must be considered when connecting electrical devices to I/O modules. 1. The terminal block accepts wires from 0.5 mm to 2.5 mm. 2. Always use a continuous length of wire.
-
ADAM-6000 Series User Manual 22
-
CHAPTER 4 2 I/O Module Introduction Sections include: • Analog Input Modules • Digital I/O Modules • 16-ch Digital I/O w/ Counter
-
Chapter 4 I/O Module Introduction 4.1 Analog Input Modules Analog input modules use an A/D converter to convert sensor voltage, current, thermocouple or RTD signals into digital data. The digital data is then translated into engineering units. When prompted by the host computer, the data is sent through a standard 10/100 Base-T Ethernet or IEEE 802.11b WLAN. Users can read the current status via pre-built webpage or HMI software supported Modbus/TCP protocol.
-
Analog Input: • Channels: 7 (differential) • Input Impedance: > 10 • Input Connections: 2 or 3 wire • Input Type: Pt, Balco and Ni RTD • RTD Types and Temperature Range: • Pt 100: -50 ~ 150°C 0 ~ 100°C 0 ~ 200°C 0 ~ 400°C -200 ~ 200°C IEC RTD 100 ohms (= 0.0385) JIS RTD 100 ohms (= 0.0392) • Pt 1000: -40 ~ 160°C • Balco 500:-30 ~ 120°C • Ni 518: -80 ~ 100°C 0 ~ 100°C • Accuracy: ± 0.
-
General: • Built-in Watchdog Timer • Isolation Protection: 2000 VDC • Power Input: Unregulated 10 ~ 30 VDC • Power Consumption: 2 W @ 24 VDC • Power Reversal Protection • Operating Humidity: 20 ~ 95% RH (non-condensing) • Storage Humidity: 0 ~ 95% RH (non-condensing) • Operating Temperature: -10 ~ 70°C • Storage Temperature: -20 ~ 80°C Application Wiring Figure 4.
-
4.1.2 ADAM-6017 8-ch Analog Input with 2-ch Digital Output Module The ADAM-6017 is a 16-bit, 8-channel analog differential input module that provides programmable input ranges on all channels. It accepts millivoltage inputs (±150mV, ±500mV, 0~150mV, 0~500mV), voltage inputs (±1V, ±5V, ±10V, 0~1V, 0~5V, 0~10V) and current input (0~20 mA, 4~20 mA, ±20mA) and provides data to the host computer in engineering units (mV, V or mA).
-
Digital Output: • Channels: 2 • Sink type: Open Collector to 30 V, 100 mA (maximum load) • Power Dissipation: 300 mW for each module • Output Delay On:100 µs • Output Delay Off:150 µs • Over voltage protection (Max.): 42 VDC • Over current protection (Max.): 2 A • Temperature shutdown (TSD): 175° C General: • Isolation Protection: 2000 VDC • Power Input: 10 ~ 30 VDC (±10% • Power Consumption: 2.
-
Application Wiring Figure 4.2: ADAM-6017 Analog Input Wiring ADAM-6017 is built with a 120 resistor in each channel, users do not have to add any resistors in addition for current input measurement. Just adjust the jumper setting to choose the specific input type you need. Refer to Figure 4.3, each analog input channel has built-in a jumper on the PCB for users to set as a voltage mode or current mode. Figure 4.
-
Figure 4.4: ADAM-6017 Digital Output Wiring Assigning Addresses in ADAM-6017 Modules Basing on Modbus/TCP standard, the addresses of the I/O channels in ADAM-6000 modules you place in the system are defined by a simple rule. Please refer to Appendix B.2.2 to map the I/O address.
-
4.1.3 ADAM-6018 Isolated Thermocouple Input with 8-ch Digital Output Module The ADAM-6018 is a 16-bit, 8-channel thermocouple input module that provides programmable input ranges on all channels. It accepts various Thermocouple inputs (Type J, K, T, E, R, S, B) and allows each analog channel to configure an individual range for several applications. In order to satisfy all plant needs in one module, ADAM-6018 has designed with 8 thermocouple input and 8 digital output channels. Figure 4.
-
ADAM-6018 Specifications • Communication: 10/100 Base-T Ethernet • Supports Protocol: Modbus/TCP, TCP/IP, UDP, HTTP, ICMP, DHCP and ARP • Supports Peer-to-Peer and GCL (Refer to Section 5.3.5 and Chapter 7) Analog Input • Channels: 8 (differential) • Input Impedance: > 10 M • lnput Type: Thermocouple • Thermocouple Type Range: J Type: 0 ~ 760°C K Type: 0 ~ 1370°C T Type: -100 ~ 400°C E Type: 0 ~ 1000°C R Type: 500 ~ 1750°C S Type: 500 ~ 1750°C B Type: 500 ~ 1800°C • Accuracy: ±0.
-
General: • Built-in Watchdog Timer • Isolation Protection: 2000 VDC • Power Input: Unregulated 10 ~ 30 VDC • Power Consumption: 2 W @ 24 VDC • Power Reversal Protection • Operating Humidity: 20 ~ 95% RH (non-condensing) • Storage Humidity: 0 ~ 95% RH (non-condensing) • Operating Temperature: -10 ~ 70°C • Storage Temperature: -20 ~ 80°C Application Wiring Figure 4.
-
Figure 4.7: ADAM-6018 Digital Output Wiring Assigning Addresses for ADAM-6018 Modules Based on the Modbus/TCP standard, the addresses of the I/O channels in ADAM-6000 modules you place in the system are defined by a simple rule. Please refer to Appendix B.2.3 to map the I/O address.
-
4.1.4 ADAM-6024 12-ch Isolated Universal Input/Output Module The ADAM-6024 is a 12-channel Universal Input/Output module. There are 6 analog input, 2 analog output, 2 digital input and 2 digital output channels. The analog input channels is 16-bit, universal signal accepted design. It provides programmable input ranges on all channels. It accepts various analog inputs +/-10V, 0~20mA and 4~20mA. The analog output channel is 12 bit with 0~10V, 0~20mA and 4~20mA acceptable input type.
-
Analog Input • Channels: 6 (differential) • Range: ±10 VDC, 0~20 mA, 4~20 mA • Input Impedance: >10 M • Accuracy: ±0.1% of FSR • Resolution: 16-bit • CMR @ 50/60 Hz: 90 dB • NMR @ 50/60 Hz: 60 dB • Span Drift: ±25 ppm/° C • Zero Drift: ±6 V/° C • Isolation Protection: 2000 VDC Analog Output • Channels: 2 • Range: 0 ~ 10 VDC, 0~20 mA, 4~20 mA • Accuracy: ±0.
-
Digital Output • Channels: 2 • Sink type: Open collector to 30 V, 100 mA (maximum) • Power Dissipation: 300 mW for each module General: • Built-in Watchdog Timer • Isolation Protection: 2000VDC • Power Input: Unregulated 10 ~ 30 VDC • Power Consumption: 4 W @ 24 VDC • Power Reversal Protection • Operating Humidity: 20 ~ 95% RH (non-condensing) • Storage Humidity: 0 ~ 95% RH (non-condensing) • Operating Temperature: -10 ~ 50°C • Storage Temperature: -20 ~ 80°C Jumper Settings Channel AI0 AI1 AI2 AI3 AI4 AI5
-
Application Wiring Figure 4.9: ADAM-6024 AI/O Wiring Figure 4.
-
Figure 4.11: ADAM-6024 DO Wiring Assigning Addresses for ADAM-6024 Modules Based on the Modbus/TCP standard, the addresses of the I/O channels in ADAM-6000 modules you place in the system are defined by a simple rule. Please refer to Appendix B.2.4 to map the I/O address.
-
4.2 Digital I/O Modules 4.2.1 ADAM-6050 18-ch Isolated Digital I/O Module The ADAM-6050 is a high-density I/O module built-in a 10/100 based-T interface for seamless Ethernet connectivity. It provides 12 digital input and 6 digital output channels with 2000 VDC isolation protection. All of the digital input channels support input latch function for important signal handling. Meanwhile, these DI channels allow to be used as 3 KHz counter and frequency input channels.
-
General: • Built-in Watchdog Timer • Isolation Protection: 2000 VDC • Power Input: Unregulated 10 ~ 30 VDC • Power Consumption: 2 W (max) @ 24 VDC • Power Reversal Protection • Operating Humidity: 20 ~ 95% RH (non-condensing) • Storage Humidity: 0 ~ 95% RH (non-condensing) • Operating Temperature: -20 ~ 70°C • Storage Temperature: -30 ~ 80°C Application Wiring Figure 4.
-
Figure 4.
-
Assigning Addresses in ADAM-6050 Modules Basing on Modbus/TCP standard, the addresses of the I/O channels in ADAM-6000 modules you place in the system are defined by a simple rule. Please refer to Appendix B.2.5 to map the I/O address. All digital input channels in ADAM-6050 are allowed to use as 32-bit counters (Each counter is consisted of two addresses, Low word and High word). Users could configure the specific DI channels to be counters via Windows Utility. (Refer to Section 5.3) 4.2.
-
Counter Input • Channels: 2 (32-bit + 1-bit overflow) • Maximum count: 4,294,967,295 • Frequency range: 0.
-
Application Wiring Figure 4.14: ADAM-6051 Digital Input Wiring Figure 4.
-
Figure 4.16: ADAM-6051 DO Wiring Assigning Addresses in ADAM-6051 Modules Based on Modbus/TCP standard, addresses of the I/O channels in ADAM-6000 modules are defined by a simple rule. Please refer to Appendix B.2.6 to map the I/O address. All digital input channels in ADAM-6051 are allowed to use as 32-bit counters (Each counter is two addresses, Low and High). Users could configure the specific DI channels to be counters via Windows Utility (Refer to Section 5.3).
-
4.2.3 ADAM-6052 16-ch Source Type Isolated Digital Input/Output Module The ADAM-6052 is a high-density digital I/O module built-in a 10/100 based-T interface for seamless Ethernet connectivity. It provides 8 digital input, 8 digital output channels. All of the digital input channels support input latch function for important signal handling. The digital output channels support the source type output. Meanwhile, these DI channels allow to be used as 3 kHz counter and frequency input channels.
-
General: • Built-in Watchdog Timer • Isolation Protection: 2000 VDC • Power Input: Unregulated 10 ~ 30 VDC • Power Consumption: 2 W @ 24 VDC • Power Reversal Protection • Operating Humidity: 20 ~ 95% RH (non-condensing) • Storage Humidity: 0 ~ 95% RH (non-condensing) • Operating Temperature: -20 ~ 70°C • Storage Temperature: -30 ~ 80°C Jumper Setting for Dry and Wet contact: Figure 4.
-
Figure 4.18: ADAM-6052 DI Wiring 10 ~ 30 VDC Load DI_COM DI GND DO_VCC DI 7 DO 0 DI 6 DO 1 DI 5 DO 2 DI 4 DO 3 DI 3 DO 4 DI 2 DO 5 DI 1 DO 6 DI 0 DO 7 DO_GND (R) +Vs RJ-45 (Ethernet) (B) GND Figure 4.
-
Assigning Addresses for ADAM-6052 Modules Based on Modbus/TCP, the addresses of the I/O channels in ADAM-6000 modules are defined by a simple rule. Please refer to Appendix B.2.7 to map the I/O address. All digital input channels in ADAM-6052 are allowed to use as 32-bit counters (Each counter is consisted of two addresses, Low word and High word). Users could configure the specific DI channels to be counters via Windows Utility. (Refer to Section 5.3) 4.2.
-
Relay Output • Channels: 6 (Form A) • Contact rating (Resistive):AC: 120 V @ 0.
-
Application Wiring Figure 4.20: ADAM-6060 Digital Input Wiring Figure 4.
-
Assigning Addresses in ADAM-6060 Modules Basied on Modbus/TCP standard, the addresses of the I/O channels in ADAM-6000 modules are defined by a simple rule. Refer to Appendix B.2.8 to map the I/O address. All digital input channels in ADAM-6060 are allowed to use as 32-bit counters (Each counter is consisted of two addresses, Low word and High word). Users could configure the specific DI channels to be counters via Windows Utility. (Refer to Section 5.3) 4.2.
-
Relay Output • Channels: 6 (Form A) • Contact rating (Resistive): AC: 250 V @ 5 A DC: 30 V @ 3 A • Breakdown voltage: 500 VAC (50/60 Hz) • Relay on time: 7 millisecond • Relay off time: 3 millisecond • Total switching time: 10 milliseconds • Insulation Resistance: 1 G minimum at 500 VDC • Maximum Switching Rate: 20 operations/minute (at rated load) • Electrical Endurance At 30 VDC / 3 A Typical 1 x 105 operations (Operating frequency 20 operations/minute) At 250 VAC / 3 A Typical 1 x 105 operations (Op
-
Application Wiring Figure 4.22: ADAM-6066 Digital Input Wiring Figure 4.
-
ADAM-6000 Series User Manual 56
-
CHAPTER 5 2 System Configuration Guide Sections include: • System Hardware Configuration • Install ADAM/APAX.NET Utility Software • ADAM.
-
Chapter 5 System Configuration Guide 5.1 System Hardware Configuration As we mentioned in Chapter 3-1, you will need following items to complete your system hardware configuration. 5.1.1 System Requirements Host Computer • Microsoft Windows XP/7 • At least 32 MB RAM • 20 MB of hard disk space available • VGA color monitor • 2x or higher speed CD-ROM • Mouse or other pointing devices • 10/100 Mbps or higher Ethernet Card 5.1.
-
5.3 ADAM.NET Utility Overview The ADAM.NET Utility software offers a graphical interface that helps you configure the ADAM-6000 modules. It is also very convenient to test and monitor your remote data acquisition and control system. The following guidelines will give you some brief instructions on how to use this Utility. 5.3.1 ADAM.NET Utility Operation Window After you have successfully installed ADAM.NET Utility, there will be one shortcut icon on the desktop.
-
File Menu: ADAM.NET Utility Toorbar Menu - File 1. Open Favorite Group - You can configure your favorite group and save the configuration into one file. Using this option, you can load your configuration file for favorite group. 2. Save Favorite Group - You can configure your favorite group and save the configuration into one file. Using this option, you can save your favorite group into one configuration file. 3.
-
Tools Menu: ADAM.NET Utility Toorbar Menu - Tools 1. Search Device - Search all the ADAM-6000 and modules you connected. The operation process will be described in Section 5.3.2. 2. Add Devices to Group - You can add ADAM-6000 modules to your favorite group by this option. You need to select the device you want to add in the Module Tree Display area (it will be described below) first, and then select this option to add. 3.
-
Then ADAM-6000 modules will periodically send its I/O status to the Host. The IP and period to transfer data is configured in the Stream tab of Status Display area. The configuration tab will be introduced in Section 5.3.2. Note: When you enable GCL function, Data Stream function will automatically be disabled until you disable GLC function. 7. Monitor Peer-to-Peer - ADAM-6000 modules with Peer-to-Peer function can play as Event Trigger function. Refer to Section 5.3.5 for more information.
-
Setup Menu: ADAM.NET Utility Tool bar Menu - Setup 1. Favorite Group - You can configure your favorite group including add one new device, modify or delete one current device, sort current devices and diagnose connection to one device. 2. Refresh Serial and Ethernet - ADAM.NET utility will refresh the serial and LAN network connection situation. 3. Add COM Ports - This option is used to add serial COM ports in ADAM.NET Utility. You won't need to use this option for ADAM6000 modules. 4.
-
Help Menu: ADAM.NET Utility Toorbar Menu - Help 1. Check Up-to-Date on the Web - Automatically connect to Advantech download website.You can download the latest utility there. 2. About - Choose this option, you can see version of ADAM.NET Utility installed on your computer. Toolbar There are 7 graphical icons on the toolbar for 7 common used options of Menus. Figure 5.2 below shows definition for each graphical icon. Figure 5.2: ADAM.
-
Module Tree Display Area ADAM.NET Utility Module Tree Display Area ADAM.NET Utility is one complete software tool that all ADAM remote I/O module and controller can be configured and operated in this utility. The Module Tree Display is on the left part of the utility operation window. There are four categories in the Module Tree Display Area: • ADAM4000_5000 All serial I/O Modules (ADAM-4000 and ADAM-5000 RS-485 serial modules) connected to the host PC will be listed in this category.
-
Status Display Area Status Display area, on the right part of utility operation window, is the main screen for operation. When you select different items in Module Tree Display, Status Display will change dependently. You can do all configurations and test in this area. 5.3.2 Search ADAM-6000 Modules After you have confirmed the hardware wiring between host PC and your ADAM-6000 module, you can find that module in ADAM.NET Utility. Launch ADAM.NET Utility.
-
ADAM.NET Utility - Search Device You need to change IP of the ADAM-6000 modules the same subnet with the host PC. Type the correct IP address, Subnet address, and Default gateway on the Status Display area. After complete setting, click the Apply Change button. A dialog box appears asking you to type the password. The default password of ADAM-6000 module is 00000000. You can change the password later. After you type the correct password, the ADAM-6000 module is now under IP of your host PC.
-
Information You can see the Firmware Version on the selected ADAM-6000 module in this tab. You also can change the Device Name and Device Description. When you have several ADAM-6000 modules in the same network, it is helpful to identify your interested ADAM-6000 modules using specific device name and device description. You can also enable or disable Locate function to distinguish the selected module from others in the Ethernet network, by checking Status/Link LED indicator.
-
ADAM.NET Utility Status Display - Network Network Setting: Typical network configuration for ADAM module. You can select the Connection mode as DHCP or Static IP, IP address, Subnet address, Default gateway and Host Idle (timeout). Application Network Settings: You can configure data stream, P2P/GCL port in this area. When Network Diagnostic is selected, the ADAM module can periodically actively monitor and diagnose the Ethernet switch.
-
ADAM-6000 modules can actively send its data to Hosts periodically. It is called Data Stream. In this tab, you can define IP address of the Hosts receiving the data transferred by ADAM-6000 modules, as well as the period how often ADAM-6000 modules will send data to the Hosts. Note: Set the period by Data Streaming tab at right. ADAM-5000/TCP Event Trigger tab is for ADAM-5000. Administration In this tab, you can set up password for selected ADAM-6000 module.
-
Firmware Advantech will continuously release new versions of the firmware to add to or improve the functionality of ADAM-6000 modules. You can connect to the Advantech website (http://www.advantech.com) to download the latest firmware version. There should be four files with different file extensions: .bin, .html, .xml and .jar. The file with the .bin extension is the firmware itself. And the two files with .html and .jar extensions are for the Web Server on the ADAM-6000 module.
-
device without routing from SCADA system, for example, user can use Web browser of smart phone to remotely access I/O module via HTTP. Group Configuration In certain application scenarios, it’s necessary to set multiple modules with the same settings because these modules are doing the same tasks on different sites. Users have to set configurations of module one after another before on-site deployment.
-
Note! Do not remove the power of your module when group configuration function is processing. Otherwise, the module system will probably crash. ADAM-6000 series modules are equipped with a group configuration capability to reduce repetition and quickly finish multiple module setups, including firmware upgrades, configuration and HTML 5 files, at one time. You can choose “Ethernet” on the Module tree. Then click the Group Configuration button on the toolbar. You will see a pop out window.
-
Access Control You can decide which computers or devices have the ability to control this ADAM-6000 module in this tab. Select the IP Address or MAC Address radio button to decide the identified method, and then click the Apply button. In the Security IP/MAC Setting area, you can direct type the IP or MAC address of the authorized computers or devices. Remember to click the Enable/Disable check box, meaning that IP or MAC address is selected. Take Figure 5.
-
User-defined Modbus Address In order to provide user with more flexible and scalable in deploying ADAM module, ADAM-6000 modules remove the limitation of Modbus address setting and make it configurable as user's actual need. Basically, there're two kinds of Modbus address section (0X and 4X) for you to configure each function item. For example, the below screenshot is Modbus address setting page of ADAM-6017. Figure 5.
-
5.3.3 I/O Module Configuration After you have completed all general configuration of ADAM-6000 module described in previous section, then you need to configure setting for input and output channel such as channel range, calibration and alarm. At the same time, you can see input channel value and set value of output channel in the Status Display area of utility. In the Module Tree Display area, click the item showing IP of the ADAM-6000 modules you want to use.
-
If you click the All Channel Configuration item, you can read analog input value or configure setting for all channels on the Status Display area. If you click the Individual Channel Configuration item, you can read AI values or configure setting for the specific channel you choose. Below, we will describe the All Channel Configuration and Individual Channel Configuration in more detail for ADAM-6000 I/O modules.
-
In order to remove the noise from the power supply, these analog input modules feature built-in filter. Two filters with different frequencies are provided to remove noise generated from different power supplies. The Integration Time Configuration area is under the Channels Range Configuration area. Refer to Figure 5.6 below. In the Integration Time Configuration area, you can select suitable filter in the Integration time combo box. After selecting appropriate filter, click the Apply button. Figure 5.
-
1. In the top right-hand corner of the Status Display area is the Calibration area. You can choose the Zero button to do zero calibration. 2. After you click the button, a pop-up dialog window will remind you to connect a signal with minimum value of full scale range (for example, 0 Volt) to the calibrated channel. 3. After you complete the hardware wiring, click the Apply button to start the calibration action. Similarly, you can choose the Span button to do span calibration. 1.
-
1. Channel Setting You can see the current value of analog input on this tab. (For ADAM6017 and ADAM-6018 modules, the value of digital input channel is also displayed on this tab.) Simply choose the check box of the channels you want to monitor and click the Apply button. Besides, you can see the graphical historical trend by clicking the Trend Log button. Refer to Figure 5.8 below.
-
With the wire burn-out detection function of ADAM-6015 and ADAM-6018, if there is no sensor connected to the input channel of ADAM-6015 or ADAM-6018 module, you can see “Burn out” characters showing in the text box of related channel. 2. Average Setting ADAM-6015, ADAM-6017 and ADAM-6018 modules feature averaging calculation function by its built-in processor. You can simply click the check boxes representing the channels in the Averaging channel setting area to decide which channels are used for averaging.
-
3. Modbus (Present) You can see current analog input value in decimal, hexadecimal, and engineer unit for all related Modbus address. 4. Modbus (Max) ADAM-6015, ADAM-6017 and ADAM-6018 modules feature historical maximum value recording. You can see historical maximum analog input value in decimal, hexadecimal, and engineer unit for all related Modbus address. To re-initialize the recording, click the buttons representing the channels you want to reset.
-
5. Modbus (Min) ADAM-6015, ADAM-6017 and ADAM-6018 modules feature historical minimum value recording. You can see historical minimum analog input value in decimal, hexadecimal, and engineer unit for all related Modbus address. If you want to re-initialize the recording, click the buttons representing the channels you want to reset.
-
Individual Channel Configuration You can see analog input value and configure setting for each channel. Simply click one of the Individual Channel Configuration items for the interested channel. (The average channel you set in the Averaging setting will also be displayed here) At the upper part of the Status Display area, you can see the current analog input value and defined range of that channel by the Input value and Input range text box. Refer to the picture below. Figure 5.
-
There are three alarm modes. You can select the alarm mode by the Alarm mode combo box for the low alarm and high alarm respectively. 1. Disable: Alarm is disabled. So even when the alarm condition occurs, nothing will happen. 2. Latch: Once the alarm condition occurs, the alarm status will be activated to logic high level and will keep the value until the alarm is clear manually. Before the value is clear, the Alarm status LED will continuously be lit.
-
All Channel Configuration ADAM-6024 module features analog input, analog output, digital input and digital output. Click the All Channel Configuration item. In the Status Display area, there will be two tabs: Input and Output. On the Input tab, there are still four parts on the Status Display area, which is the same as ADAM-6015, ADAM-6017 and ADAM-6018 module.
-
1. Channel Setting You can see the current value of analog input on this tab. Choose the check box of the analog input channels you want to monitor and click the Apply button. If the analog input value is out of the input range, you will see “Over(L)” in the analog input value text box. At the right side, you can see current digital input value by DI 0 and DI 1 LED display. You also can see the graphical historical trend of analog input channel by clicking the Trend Log button.
-
5.3.4 Universal Digital Input and Output Module (ADAM-6050) All Channel Configuration When you click the All Channel Configuration item in the Module Tree Display area, there will be two tabs: Channel Setting and Modbus. Take ADAM-6050 as example. Refer to Figure 5.13 below: Figure 5.13: ADAM-6050 Channel Setting 1. Channel Setting You can see value of all digital input channels by related LED display in this tab. Besides, you also can control values of all digital output channels by related button.
-
The Fail Safe Value (FSV) of communication WDT If FSV checkbox is enabled, it presents the module will set the output channel to logic high when WDT timeout. There are two application as below. After all, click the Apply FSV button to take it effect. a. Communication WDT When the module hasn't received any TCP network packet from client too long, such as SCADA or Web browser. That means if the waiting time is greater than host idle time, the module will automatically set the safety value to output. b.
-
Figure 5.14: Fail Safe Value Configuration 2. Modbus You can see current digital input or digital output values for all related Modbus address.
-
Individual Channel Configuration You can see digital input value and configure setting for each digital input channel. It is the same that you can control the digital output value and configure setting for each digital output channel. Simply click the channel interested in the Individual Channel Configuration items. If you choose a digital input channel, the Status Display area should look similar to Figure 5.14 below. Figure 5.
-
1. DI Figure 5.14 is the image when you choose DI mode. At the bottom of the Status Display area, you can see the digital input value by DI status LED display. If the digital module you are using supports Invert DI Status function, there will be Invert signal check box in the Setting area. You can click the check box to enable or disable that function. Remember to click the Apply all button for all channels or Apply this button for this specific channel to complete the configuration.
-
similar as that of DI mode. At the bottom of the Status Display area, current count value of the selected channel is displayed by the Counter value text box. You can start or stop the counter to count by clicking the Star/Stop button next to the Counter value text box. You also can reset the counter (the value in the register will be initialized to zero) by clicking the Clear button. Like the DI mode, you can enable/disable the Invert DI Status function and digital filter in the Setting area.
-
the Status Display area. You can clear latch by clicking the Clear latch button. It is the same as DI mode that you can enable or disable the Invert DI Status function in the Setting area. Remember to click the Apply all button for all channels or Apply this button for this specific channel to complete the configuration. 4. High to Low Latch When you choose High to Low Latch mode, once the digital input channel detects logic level changes from high to low, the logic status will be keep as logic high.
-
5. Frequency When you choose Frequency mode, ADAM-6000 digital module will calculate the frequency value of the digital input signal from the selected channel. The frequency value will be displayed by the Frequency value text box at the bottom of the Status Display area. If you choose a digital output channel in the Individual Channel Configuration items, the Status Display area should look similar to Figure 5.15 below.
-
You can choose different mode for that digital output channel by choosing the DO mode combo box at top of Status Display area. (You should choose the appropriate mode depending on the hardware specification.) After you have chosen the mode, click the Apply mode button. There are totally four possible DO modes you can choose: 1. DO Figure 5.15 is the image when you choose DO mode. You can control the digital output value of the selected channel by the DO button.
-
3. Low to High Delay When you choose Low to High delay mode, it is almost the same as choosing the DO mode. The only difference is that there will be certain time delay when the output value changes from logic low to logic high. Refer to Figure 5.16 below for its process. You can define the delay time by entering its value into the Delay time text box in the Setting area. After you complete the setting, click the Apply button.
-
4. High to Low Delay When you choose High to Low delay mode, it is almost the same as choosing the DO mode. The only difference is that there will be certain time delay when the output value changes from logic high to logic low. Refer to Figure 5.17 below for its process. You can define the delay time by entering its value into the Delay time text box in the Setting area. After you complete the setting, click the Apply button.
-
5.3.5 Peer-to-Peer Function • What is Peer-to-Peer? When you want to send a signal from one module to another module, Peer-to-Peer is a perfect solution. With Peer-to-Peer function enabled, ADAM-6000 modules can actively update its input value to other devices such as PC or another ADAM-6000 module. One typical application is using a pair of ADAM-6000 modules. The value of input channel on one module will be automatically updated to output channel on another module.
-
2. Advanced Mode: For advanced mode, there will be multiple target devices to receive the data transferred from one ADAM-6000 module (Module A). For example, there can be several ADAM-6000 modules receiving data from the Module A. You can define different target devices (by different IP address) to each channel of module A.
-
As for when the data will be updated from one ADAM-6000 module to its target devices, there are also two options to choose: 1. Period Time Function: The value of the input channel will be updated to the target devices with the defined period. 2. Period Time Function + C.O.S (Change of Status) Function: The value of the input channel will still be updated to the target devices with the defined period. Moreover, when C.O.
-
• How to configure Peer-to-Peer functions As we have mentioned in section 5.3.2, when you select the IP address of the ADAM-6000 modules you want use in Module Tree Display area, there will be 8 tabs appearing in the Status Display area for you to set up general configurations of that module. You can configure all Peer-to-Peer function setting in the Peer-to-Peer/Event tab. Refer to Figure 5-20 below to see the image when you choose the Peer-to-Peer/Event tab. Figure 5.
-
• Basic Mode Configuration When you choose the basic mode, the Status Display should look like the Figure 5.21 below. You can define the target device by entering its IP address into the Destination text box in the Basic (One to One) area. Figure 5.21: Peer-to-Peer Basic Mode Configuration We have mentioned that there are two methods to transfer data from the ADAM-6000 (source) to the target device (destination): Period Time function or Period Time function + C.O.S. function.
-
tal input channel value changes, the data will also update from source to destination automatically. By default, all input channels of the source module will all be mapping to all output channels of the destination module. However, you can manually define which input channels are mapping to output channels, by clicking the Modify channel enable check box.
-
When you choose the advanced mode, the Status Display area should look like the Figure 5.23 below. With advanced mode, each channel on the source ADAM-6000 module can be mapping to channel on different target devices. You can configure the mapping relation using the two block areas Source and Destination in the Advanced (One to Multi) area. Figure 5.23: P-to-P Advanced Mode Configuration Below are the steps to define the mapping relationship: 1. Select the input channel by the Channel combo box in Source.
-
that channel is displayed by the mapping table below the Source and Destination area. Note: The mapping setting is only restored in memory of your computer, and it will download to the target ADAM-6000 module after you click the Apply list button below the mapping table. It is not suggested to download the mapping configuration immediately if you only complete setting for one channel. 5. Repeat the step 1 to step 4 for another input channel.
-
Figure 5.24: Copy One Setting to Other Channels Choose the channel which provides the setting for other channels by the Channel combo box at the top of the dialog window. Then select channels which you want to copy setting to by clicking the Channel check box in the Copy to area. Using Figure 5.24 as an example, setting of channel 0 will copy to channel 1, 2, and 3. If you want to copy the setting to all channels, click the Select all check box. After selecting the channels, click the Config button.
-
5.4 ADAM-6000 Web Server ADAM-6000 I/O modules all feature a built-in web server that can be accessed using a standard web browser. web service allow programmers to create powerful, custom web pages to using the web programming languages. Remote computers or devices can monitor and control the I/O status on ADAM-6000 modules remotely through a web browser. There is a default built-in web page on ADAM-6000 modules. You can modify the web page using HTML5 or a Java Applet.
-
any signal it can process. Four major methods are developed for the purpose, listed below: Employing these four methods, you can customize your applet and focus solely on the user interface you intend to create and the number of channels you want to monitor. • boolean ForceCoil(int CoilAddr, boolean IsTrunOn) This method is used for digital output of module channels. The parameter CoilAddr is integer data type and the coil address of the channel. IsTrueOn is the parameter used to indicate ON or OFF.
-
Java Applet Programming To create your own Web page, you have to follow some rules. There are two parts in this section. We start from the HTML file. Please refer below for the default HTML source code.
ADAM-6000 Ethernet-Enabled DA&C Modules
-
{ {"HostIP", "String", ""}, }; return pinfo; } As for mouse/keyboard events and graphical user interface, they are beyond the scope of our discussion here and we will leave them to users. After you finish your program and compile, it should generate a couple of classes, e.g. ADAM6060.class, ADAM6060$1.class, ADAM6060$2, and myFramPanel.class in our example. Then, follow the standard way to combine the generated classes with ModBus.
-
Figure 5.
-
5.6 Source Code of Java Applet Example import Adam.ModBus.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.io.*; import java.lang.
-
/**Get a parameter value*/ public String getParameter(String key, String def) { return isStandalone ? System.getProperty(key, def) : (getParameter(key) != null ? getParameter(key) : def); } /**Constructor*/ public Adam6060() { } /**Applet Initialization*/ public void init() { try { HostIP= getParameter("HostIP"); Adam6060Connection = new ModBus(HostIP); //create ADAM-6060 module object if (HostIP == "")//check the Host IP labAdamStatusForDIO.setText("Get Host IP is null !!"); else labAdamStatusForDIO.
-
palStatus.setBackground(Color.lightGray); palAdamStatus.setBackground(Color.lightGray); palStatus.setBounds(new Rectangle(42, 50, 409, 15 *2 + 0 * 2 + 77 + 152 + 33 )); pal1.setBounds(new Rectangle(12, 15 , 385, 77)); pal2.setBounds(new Rectangle(12, 15 + 77 + 0 , 385, 152)); palAdamStatus.setBounds(new Rectangle(12, 15 + 77+0*2+ 152, 385, 33)); palStatus.setLayout(null); pal1.setLayout(null); pal1.add(labStartAddress, null); pal1.add(txtStartAddress, null); pal1.add(labCount, null); pal1.
-
txtMsg.append ("Address:" + String.valueOf(lAddress) + " -> " + String.valueOf((int)ModBusRTU[i]) + "\n"); lAddress++; } } else { try { Adam6060Connection = new ModBus(HostIP); } catch(Exception eNet) { eNet.printStackTrace(); } palAdamStatus.setLayout(null); pal2.setLayout(null); pal2.add(txtMsg, null); txtMsg.setBounds(new Rectangle(15, 15, 355, 120)); Label1.setFont(new java.awt.Font("DialogInput", 3, 26)); Label1.setForeground(Color.blue); Label1.setText("ADAM-6060 DI/O Module"); Label1.
-
/**Applet Information Acquisition*/ public String getAppletInfo() { return "Applet Information"; } /**Get parameter info*/ public String[][] getParameterInfo() { String[][] pinfo = { {"HostIP", "String", ""}, }; return pinfo; } /**Main method: for the purpose of laying out the screen in local PC*/ public static void main(String[] args) { Adam6060 applet = new Adam6060(); applet.isStandalone = true; Frame frame; frame = new Frame() { protected void processWindowEvent(WindowEvent e) { super.
-
} /**Displayed Screen*/ class myFramPanel extends Panel { int panelType; Label labMassage = new Label(""); public myFramPanel() { //super(); } public myFramPanel(int myType) { //super(); panelType = myType; } public myFramPanel(int myType, String Msg, int msgTextLength) { //super(); panelType = myType; if (Msg != "") { labMassage.setText(Msg); this.setLayout(null); labMassage.setBounds(new Rectangle(20, 3, msgTextLength, 15)); } } this.
-
off = 4; g.setColor(Color.white); g.drawRect(0, 0, size.width - 1, size.height - 1); 1); g.setColor(Color.darkGray); g.drawLine(size.width - 1, 0, size.width - 1, size.height g.drawLine(0, size.height - 1, size.width - 1, size.height - 1);g.setColor(Color.black); g.setColor(Color.black); g.drawRect(off, off, size.width-2- off*2, size.height - 2 - off * 2); } else if (panelType == 2){ g.setColor(Color.white); g.drawRect(0, 0, size.width - 1, size.height - 1); 4); - 4); g.drawLine(size.width - 4, 2, size.
-
g.drawLine(size.width - 1, 0, size.width - 1, size.height g.drawLine(0, size.height - 1, size.width - 1, size.height - 1);g.setColor(Color.black); } else if (panelType == 3) { int off; off = 4; g.setColor(Color.white); g.drawRect(0, 0, size.width - 1, size.height - 1); 1); - 1); g.setColor(Color.darkGray); g.drawLine(size.width - 1, 0, size.width - 1, size.height g.drawLine(0, size.height - 1, size.width - 1, size.height g.setColor(Color.black); g.drawRect(off, off + 5, size.width-2- off*2, size.
-
ADAM-6000 Series User Manual 122
-
CHAPTER 6 2 Planning Your Application Program Sections include: • Introduction • ADAM.
-
Chapter 6 Planning Your Application Program 6.1 Introduction After completing the system configuration, you can begin to plan the application program. This chapter introduces two programming tools for users to execute system data acquisition and control. The DLL drivers and command sets provide a friendly interface between your applications and ADAM-6000 I/O modules. 6.2 ADAM .NET Class Library Advantech ADAM.
-
After you complete the installation of the ADAM .NET Class library, the Win32 Class library will be installed into the following path: Program Files\Advantech\AdamApax.NET Class Library\Class Library\Win32, and the WinCE Class library will be installed into the following path: Program Files\Advantech\AdamApax.NET Class Library\Class Library\WinCE.
-
Take ADAM-6052 module as example, you can simply launch the example program project ADAM 60xxxDIO.sln written in Microsoft Visual Basic .NET located in Program Files\Advantech\AdamApax.NET Class Library\Sample Code\ADAM\Win32\VB\ADAM-6000 Series\Adam60XXDIO. After you launch it, open the source code and modify the IP address and module name to meet the real situation. Refer to Figure 6.1 below. Figure 6.1: Modifying ADAM-6050 .
-
After you complete the code modification, you can directly compile the program. Then you can execute the program to start the application.
-
There are plenty of functions in ADAM. NET Class library, and help documentation is provided to let you understand more about these functions. You can launch the help documentation by clicking the Start button on the taskbar. Refer to the Figure 6.2 below. Figure 6.2: Launching ADAM .
-
6.3 Modbus Protocol for ADAM-6000 Modules ADAM-6000 can accept a command/response form with the host computer. When data is not transmitted the modules will be in the listen mode. The host issues a command to a system with a specified address and waits a certain period of time for the system to respond. If there's no response detected, a time-out aborts the sequence and returns control to the host.
-
6.3.2 Modbus Function Code Introductions To fullfill the programming requirement, there is a series of function code standard for users reference¦ Code (Hex) Name Usage 01 Read Coil Status Read Discrete Output Bit 02 Read Input Status Read Discrete Input Bit 03 Read Holding Registers 04 Read Input Registers Read 16-bit register. Used to read integer or floating point process data.
-
Response message format for function code 01: Command Body Station Address Function Code Byte Count Data Data Example: Coils number 2 and 7 are on, all others are off. 01 01 01 42 In the response the status of coils 1 to 8 is shown as the byte value 42 hex, equal to 0100 0010 binary. Function Code 02 The function code 02 is used to read the discrete inputs ON/OFF status of ADAM-6000 in a binary data format.
-
Function Code 03/04 The function code 03 or 04 is used to read the binary contents of input registers Request message format for function code 03 or 04: Command Body Station Address Function Code Start Address High Byte Start Address Low Byte Requested Number of Register High Byte Requested Number of Register Low Byte Example: Read Analog inputs #1 and #2 in addresses 40001 to 40002 as floating point value from ADAM-6017 module 01 04 00 01 00 02 Response message format for function code 03 or 04: Co
-
Example: Force coil 3 (address 00003) ON in ADAM-6000 module 01 05 00 03 FF 00 Response message format for function code 05: The normal response is an echo of the query, returned after the coil state has been forced. Command Body Station Address Function Code Coil Address High Byte Coil Address Low Byte Force Data High Byte Force Data Low Byte Function Code 06 Presets integer value into a single register.
-
Function Code 08 Echoes received query message. Message can be any length up to half the length of the data buffer minus 8 bytes.
-
Response message format for function code 08: The normal responses return the station address, function code, start address, and requested number of coil forced. Command Body Station Address Function Code Start Address High Byte Start Address Low Byte Requested Number of Coil High Byte Requested Number of Coil Low Byte Example: 01 0F 00 11 00 0A Function Code 16 (10 hex) Preset values into a sequence of holding registers.
-
6.4 ASCII Commands for ADAM-6000 Modules For users do not familiar to Modbus protocol, Advantech offers a function library as a protocol translator, integrating ASCII command into Modbus/TCP structure. Therefore, users familiar to ASCII command can access ADAM-6000 easily. Before explaining the structure of ASCII command packed with Modbus/TCP format. Lets see how to use an ASCII command and how many are available for your program. 6.4.
-
6.4.2 System Command Set Command Syntax Command Name Description $aaM Read Module Name Return the module name from a specified module $aaF Read Firmware Version Return the firmware version from a specified module #aaVdWrite GCL Internal bbbbdddddd Flags dd Write value(s) to GCL internal flag(s) on a specific ADAM-6000 module $aaVd Read all GCL internal flags' values from a specific ADAM-6000 module Note: Read GCL Internal Flags Command $aaM and $aaF support all ADAM6000 I/O modules.
-
$aaM Name Read Module Name Description Returns the module name from a specified module. Syntax $aaM(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) M is the Module Name command. (cr) is the terminating character, carriage return (0Dh). Response !aa60bb(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
$aaF Name Read Firmware Version Description Returns the firmware version from a specified module. Syntax $aaF(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) F is the Firmware Version command. (cr) is the terminating character, carriage return (0Dh). Response !aa(version)(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
#aaVdbbbbdddddddd Name Write Value(s) to GCL Internal Flags (Auxiliary Flags) Description This command sets a single or all GCL internal flag(s) on the specific ADAM-6000 module. Refer to section 7.3.1 and 7.3.4 for definition of GCL internal flag. Syntax #aaVdbbbbdddddddd(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of the ADAM-6000 module. (Always 01) Vd is the GCL Internal Flag command.
-
This command sets all GCL internal flags values. Values of All GCL internal flags (Flag 0 ~ 15) are logic high. command: #01Vd100300000001(cr) response: >01(cr) This command sets one specific GCL internal flag value. GCL internal flag (Flag 3) is logic high. command: #01Vd100E00000000(cr) response: >01(cr) This command sets one specific GCL internal flag value. GCL internal flag (Flag 14) is logic low.
-
$aaVd Name Read GCL Internal Flags’ (Auxiliary Flags) Values Description This command reads all GCL internal flags’ values from the specific ADAM-6000 module. Refer to section 7.3.1 and 7.3.4 for definition of GCL internal flag. Syntax $aaVd(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of the ADAM-6000 module. (Always 01) Vd is the GCL Internal Flag command.
-
6.4.3 Analog Input Command Set (ADAM-6015, 6017, 6018) Command Syntax Command Name Description #aan Read AnalogInput from Channel N Return the input value from the specified analog input channel #aa Read AnalogInput from all channels Return the input values from all analog input channels $aa0 Span or Auto Calibration Offset or Auto calibration Read Channel Enable/Disable Status Set Channel Enable/Disable Status Read all Max.
-
#aan Name Read Analog Input from Channel N Description Returns the input data from a specified analog input channel in a specified module. Syntax #aan(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) n (range 0-8) represents the specific channel you want to read the input data. (cr) is the terminating character, carriage return (0Dh). Response >(data)(cr) if the command is valid.
-
#aa Name Read Analog Input from All Channels Description Returns the input data from all analog input channels in a specified module. Syntax #aa(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) (cr) is the terminating character, carriage return (0Dh). Response >(data)(data)(data)(data)(data)(data)(data)(data)(data)(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
$aa0 Name Span Calibration Description Calibrates a specified module to correct for gain errors Syntax $aa0(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module which is to be calibrated. (Always 01) 0 represents the span calibration command. (cr) is the terminating character, carriage return (0Dh) Response !aa(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
$aa1 Name Zero Calibration Description Calibrates a specified module to correct for offset errors Syntax $aa1(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal Modbus address of the ADAM-6000 module which is to be calibrated. (Always 01) 1 represents the zero calibration command. (cr) is the terminating character, carriage return (0Dh) Response !aa(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
$aa6 Name Read Channel Enable/Disable Status Description Asks a specified module to return the Enable/Disable status of all analog input channels Syntax $aa6(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) 6 is the read channels status command. (cr) is the terminating character, carriage return (0Dh) Response !aamm(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
$aa5mm Name Set Channel Enable/Disable Status Description Set Enable/Disable status for all analog input channels Syntax $aa5mm(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module. (Always 01) 5 identifies the enable/disable channels command. mm (range 00-FF) are two hexadecimal characters. Each character is interpreted as 4 bits.
-
#aaMH Name Read Maximum Value Description Read the maximum values from all analog input channels in a specified analog module Syntax #aaMH(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module to be read. (Always 01) MH represents the read maximum value command. (cr) is the terminating character, carriage return (0Dh) Response >(data)(data)(data)(data)(data)(data)(data)(data)(data)(cr) if the command is valid.
-
#aaMHn Name Read Maximum Value from channel N Description Read the maximum value from a specific channel in a specified module Syntax #aaMHn(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module to be read. (Always 01) MH represents the read maximum value command. n (range 0-8) represents the specific channel you want to read the input data.
-
#aaML Name Read Minimum Value Description Read the minimum values from all analog input channels in a specified module Syntax #aaML(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module to be read. (Always 01) ML represents the read minimum value command. (cr) is the terminating character, carriage return (0Dh) Response >(data)(data)(data)(data)(data)(data)(data)(data)(data)(cr) if the command is valid.
-
#aaMLn Name Read Minimum Value from channel N Description Read the minimum value from a specific analog input channel in a specified module Syntax #aaMLn(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module to be read. (Always 01) ML represents the read minimum value command. n (range 0-8) represents the specific channel you want to read the input data.
-
#aaDnd Name Set Digital Output Description Set the digital output status in ADAM-6000 analog input module. Syntax #aaDnd(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module to be read. (Always 01) D represents the digital output setting command. n (range 0-1) represents the specific channel you want to set the output status.
-
$aaBnn Name Read Analog Input Range Code from Channel N Description Returns the range code from a specified analog input channel in a specified module. Syntax $aaBnn(cr) $ delimiter character aa (range 00-FF) 2-character hexadecimal Slave address of the ADAM-6000 module you want to interrogate.
-
ADAM-6015 Analog Input Channel Range Code Range Code (Hex) 20 Range Code (Decimal) 32 Range Description 21 33 Pt 100 (=0.00385) 0~100° C 22 34 Pt 100 (=0.00385) 0~200° C 23 35 Pt 100 (=0.00385) 0~400° C 24 36 Pt 100 (=0.00385) -200~200° C 25 37 Pt 100 (=0.00392) -50~150° C 26 38 Pt 100 (=0.00392) 0~100° C 27 39 Pt 100 (=0.00392) 0~200° C 28 40 Pt 100 (=0.00392) 0~400° C 29 41 Pt 100 (=0.
-
$aaBRCnn Name Read Analog Input Range Code from Channel N Description Returns the range code from a specified analog input channel in a specified module. Syntax $aaBRCnn $ aa (range 00-FF) B RC nn (range 00-07) delimiter character 2-character hexadecimal Slave address of the ADAM-6000 module you want to interrogate.
-
$aaAccrr/$aaAccrrrr Note! $aaAccrrrr is only for ADAM-6017-CE Version Name Write Analog Input Range Code from Channel N Description Write Analog Input range code and reply if the setting is successful Syntax $aaAccrr/$aaAccrrrr $ delimiter character aa (range 00-FF) 2-character hexadecimal Slave address of the ADAM-6000 module you want to interrogate.
-
ADAM-6017 Analog Input Range Range Description CE Version Range Code AE & BE Version Range Code +/-10V 0x0143 08 +/-5V 0x0142 09 +/-1V 0x0140 0A +/-500mV 0x0104 0B +/-150mV 0x0103 0C 0~10V 0x0148 0~5V 0x0147 0~1V 0x0145 0~500mV 0x0106 0~150mV 0x0105 0~20mA 0x0182 0D 4~20mA 0x0180 07 +/-20mA 0x0181 Note! Write ADAM-6017-AE and ADAM-6017-BE version Range on ADAM-6017-CE is applicable. However, we suggest you write new range code in our module.
-
6.4.
-
$aaCjAhs Name Set Alarm Mode Description Sets the High/Low alarm of the specified input channel in the addressed ADAM-6000 module to either Latching or Momentary mode. Syntax $aaCjAhs(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of an ADAM-6000 module. (Always 01) Cj identifies the desired channel j (j : 0 to 7). A is the Set Alarm Mode command.
-
$aaCjAh Name Read Alarm Mode Description Returns the alarm mode for the specified channel in the specified ADAM-6000 module. Syntax $aaCjAh(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000 module. (Always 01) Cj identifies the desired channel j (j : 0 to 7). A is the Read Alarm Mode command.
-
$aaCjAhEs Name Enable/Disable Alarm Description Enables/Disables the High/Low alarm of the specified input channel in the addressed ADAM-6000 module Syntax $aaCjAhEs(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000 module. (Always 01) Cj identifies the desired channel j (j : 0 to 7). AhEs is the Set Alarm Mode command.
-
$aaCjCh Name Clear Latch Alarm Description Sets the High/Low alarm to OFF (no alarm) for the specified input channel in the addressed ADAM-6000 module Syntax $aaCjCh(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of an ADAM-6000 module. (Always 01) Cj identifies the desired channel j (j : 0 to 7). Ch is the Clear Latch Alarm command.
-
$aaCjAhCCn Name Set Alarm Connection Description Connects the High/Low alarm of the specified input channel to interlock the specified digital output in the addressed ADAM-6000 module Syntax $aaCjAhCCn(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000/TCP module. (Always 01) Cj identifies the desired analog input channel j (j : 0 to 7). AhC is the Set Alarm Connection command.
-
$aaCjRhC Name Read Alarm Connection Description Returns the High/Low alarm limit output connection of a specified input channel in the addressed module Syntax $aaCjRhC(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000 module. (Always 01) Cj identifies the desired analog input channel j (j : 0 to 7). RhC is the Read Alarm Connection command.
-
$aaCjAhU Name Set Alarm Limit Description Sets the High/Low alarm limit value for the specified input channel of a specified ADAM-6000 module. Syntax $aaCjAhU(data)(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000 module. (Always 01) Cj identifies the desired analog input channel j (j : 0 to 7). AhU is the Set Alarm Limit command. h indicates alarm type (H = High alarm, L = Low alarm) (data) represents the desired alarm limit setting.
-
$aaCjRhU Name Read Alarm Limit Description Returns the High/Low alarm limit value for the specified input channel in the addressed ADAM-6000 module Syntax $aaCjRhU(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000 module. (Always 01) Cj identifies the desired analog input channel j (j : 0 to 7). RhU is the Read Alarm Limit command.
-
$aaCjS Name Read Alarm Status Description Reads whether an alarm occurred to the specified input channel in the specified ADAM-6000 module Syntax $aaCjS(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of an ADAM-6000 module. (Always 01) Cj identifies the desired analog input channel j (j : 0 to 7). S is the Read Alarm Status command.
-
6.4.
-
$aa5mm Name Description Syntax Response Example Set AI Channels Enable/Disable Status Set Enable/Disable status for all analog input channels of the specified module $aa5mm(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module. (Always 01) 5 identifies the enable/disable channels command. mm (range 00-FF) are two hexadecimal characters. Each character is interpreted as 4 bits.
-
$aa6 Name Description Syntax Response Example Read AI Channels Enable/Disable Status Asks a specified module to return the Enable/Disable status of all analog input channels $aa6(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) 6 is the read channels status command. (cr) is the terminating character, carriage return (0Dh) !aamm(cr) if the command is valid.
-
#aa Name Description Read AI Values from All Channels Returns the input data from all analog input channels in a specific module. #aa(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) (cr) is the terminating character, carriage return (0Dh). >(data)(data)(data)(data)(data)(data)(cr) if command valid. ?aa(cr) if an invalid operation was entered.
-
#aacc Name Description Syntax Response Example Read AI Value from One Channel Returns the input data from a specified analog input channel in a specified module. #aacc(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) cc (range 00-05) represents the specific channel you want to read the input data. (cr) is the terminating character, carriage return (0Dh). >(data)(cr) if the command is valid.
-
$aaDcc Name Description Syntax Response Example Read AO Startup Value from One Channel Returns the startup value from a specified analog output channel in a specified module. $aaDcc(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) D represents the analog output channel startup command. cc (range 00-01) represents the specific channel you want to read the startup value.
-
$aaDcchhh Name Description Syntax Set AO Startup Value to One Channel Set the startup value to a specified analog output channel in a specified module. $aaDcchhh(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) D represents the analog output channel startup command. cc (range 00-01) represents the specific channel you want to set the startup value.
-
#aaccdd.ddd Name Description Syntax Response Example Write AO Value to One Channel Write output value to a specified analog output channel in a specified module. #aaccdd.ddd(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) cc (range 00-01) represents the specific channel you want to write output value. dd.
-
$aa7 Name Description Syntax Response Example Read DI Channel Status This command requests that the specified module return the status of its digital input channels. $aa7(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of the ADAM-6000 module. (Always 01) 7 is the Digital Data In command. (cr) is the terminating character, carriage return (0Dh) !aa(data)(cr) if the command is valid. ?aa(cr) if an invalid operation was entered.
-
#aaccdd Name Description Syntax Write DO Value to a Single Channel or All Channels This command sets a single or all digital output channels to the specific module. #aaccdd(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of the ADAM-6000 module. (Always 01) cc is used to indicate which channel(s) you want to set. Writing to all channels (byte): Both characters should be equal to zero. Writing to a single channel (bit): First character is 1.
-
DO channel 1 of the specific module is set to ON. command: #010002(cr) response: >(cr) An output byte with value 02 (10b) is sent to the module at address 01h. DO channels 1 is set to ON, and channel 0 is set to OFF.
-
$aaBnn Name Description Syntax Response Read Analog Input Range Code from Channel N Returns the range code from a specified analog input channel in a specified module. $aaBnn(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) B is the Analog Input Range Code command. nn (range 00-07) represents the specific channel you want to read the range code.
-
$aaCnn Name Read Analog Output Range Code from Channel N Description Returns the range code from a specified analog output channel in a specified module. Syntax $aaCnn(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) C is the Analog Output Range Code command. nn (range 00-07) represents the specific channel you want to read the range code.
-
6.4.
-
Example command: $016(cr) response: !01000FFD(cr) The command asks the specific module at address 01h to return the values of all channels. The first 2-character portion of the response (exclude the "!" character) indicates the address of the ADAM-6000 module. The second 2-character portion of the response is reserved, and will always be 00 currently. The 5~8 characters of the response indicate 15~12, 11~8, 7~4 and 3~0 channels value.
-
#aabb(data) Name Write Digital Output Description This command sets a single or all digital output channels to the specific ADAM-6000 module. Syntax #aabb(data)(cr) # is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave network address of the ADAM-6000 module. (Always 01) bb is used to indicate which channel(s) you want to set. Writing to all channels (write a byte): both characters should be equal to zero (BB=00).
-
response: >(cr) An output bit with value 1 is sent to channel 2 of a digital output module at address 01h. Channel 2 of the digital output module is set to ON. command: #010012(cr) response: >(cr) An output byte with value 12h (00010010) is sent to the digital output module at address 01h. Channels 1and 4 will be set to ON, and all other channels will be set to OFF.
-
$aaJCFFFFssmm Name Read DI Channel Counter Value Description Returns the counter value from specified DI channels in a specified module. Syntax $aaJCFFFFssmm(cr) $ is a delimiter character. aa (range 00-FF) represents the 2-character hexadecimal slave address of the ADAM-6000 module you want to interrogate. (Always 01) JCFFFF is the Digital Input Channel Counter Value command. ss (range 00-07) represents the specific start channel you want to read the counter value.
-
ADAM-6000 Series User Manual 188
-
CHAPTER 7 2 Graphic Condition Logic (GCL) Sections include: • Overview • GCL Configuration Environment • Four Stages of One Logic Rule • Logic Cascade and Feedback • Logic and Online Monitoring • Typical Application with GCL
-
Chapter 7 Graphic Condition Logic(GCL) 7.1 Overview In a traditional control and data acquisition system, there must be one controller to manage the system. Remote I/O modules like the ADAM6000 modules, only acquire data from sensors, or generate signal to control other devices or equipment.
-
7.2 GCL Configuration Environment As we have mentioned in Section 5.3.3, when you click the item list representing the ADAM-6000 module in the Module Tree Display area, there will be two item lists appearing below: All Channel Configuration and GCL Configuration list item. You can configure all GCL related setting by clicking the GCL Configuration item list. For the two features Peer-to-Peer and GCL, only one of them can be enable at one time.
-
At the top of the Status Display area is the GCL Menu area. Refer to the table below to see function for each graphical icon on the menu: Icon Function Description Current Status This icon shows current GCL status. The status represented in the Icon cell is the Disable, Programming and Running mode (From top to button) Note: You cannot enable Peer-to-Peer/Data Stream function and GCL function at the same time.
-
Below the GCL Menu area is the Logic Rule Set area. There are 16 logic rules available on one ADAM-6000 module, so you can see 16 logic rule icons here. Simply click the logic rule icon to configure that rule. For example, if you want to configure rule 12, just click the logic rule icon with text “Rule 12” below. The text background color of the selected logic rule icon will become green. At the bottom of the Status Display area is the Individual Logic Rule Configuration area.
-
Input Condition Stage Logic Stage Execution Stage Option Description Condition Section NoOperation No Opeartion N/A 7.3.
-
Output Stage Option Description Section NoOperation No Opeartion 7.3.4 AO Local or remote AO channel value DO Local or remote DO channel value DI_Counter Local or remote counter input channel setting DO_Pulse Local or remote pulse output channel setting Timer Local internal Timer setting AuxFlag Local or remote internal Flag value RemoteMessage Remote message Counter Local internal counter setting 7.3 Configure Four Stages of One Logic Rule 7.3.
-
The Input Condition stage is a logic condition decision for the input data. The decision result will be logic True or False, sending to the Logic stage for logic operation. Take analog input mode as example, you can define the condition as if the analog input value is greater than a specific value (the limit). So when the input value becomes greater than the limit, the input stage will transfer True to the Logic stage. Otherwise, it will transfer False to the Logic stage.
-
1. After you choose AI as input mode, select the channel by the Channel combo box. 2. In the Operation area, you can define the input condition operation. Select the analog input type by the Type combo box. There are two input types you can choose for analog input: If you select ChannelValue, the current value of the selected analog input channel is used as input for condition.
-
physical unit value (we call it engineer unit value) and there is linear relationship between the voltage (or current) value and the engineer unit value. For example, the current and the engineer unit value have linear relationship as shown below: Pressure (kg/cm2) Pressure (kg/cm2) = 0.625 x [ Current (mA) – 4 ] 10 Current (mA) 4 20 Figure 7.4: Engineer Unit and Current Value ADAM-6000 analog input module features Scaling function to convert the voltage (or current) value to the engineer unit value.
-
Figure 7.5: Scaling Function of Analog Input Mode Local Digital Input Channel (DI) After you choose DI as input mode, select the channel by the Channel combo box. The value of the selected digital input channel will directly be the input of condition. If the value of the selected digital input channel is logic high, the condition result is logic True. If the value is logic low, the condition result is logic False.
-
Local Frequncy Input Channel (DI_Frequency) After you choose DI_Frequency as input mode, select the channel by the Channel combo box. The frequency value of the frequency input channel will directly be the input of condition. Like the Counter Input condition, select the appropriate condition for that input channel by the Condition combo box and the Value text box. The condition will compare the frequency value read from the frequency input channel and the value set by the Value text box.
-
Note: You can use other program applications to read or write internal flags through ASCII command or Modbus/TCP address. Refer to section 6.4.2 and Appendix B.2. Local Digital Output Channel (DO) After you choose DO as input mode, select the channel by the Channel combo box. The value of the selected digital output channel will directly be the input of condition.
-
7.3.2 Logic Stage When you click the Logic stage icon, you should see a dialog window similar to Figure 7.6 below. Figure 7.6: Logic Stage Configuration For each logic rule, there will be at most three input conditions passing logic True or False values to the Logic stage here. You can choose four logic operations by the Type combo box: AND, OR, NAND, NOR. The logic operation will process the input logic values, and generate a logic result value to the next Execution stage.
-
OR Input Condition 1 Input Condition 2 Logic value to the Execution Stage F F F F T T T F T T T T NAND (not AND) Input Condition 1 Input Condition 2 Logic value to the Execution Stage F F T F T T T F T T T F NOR (not OR) Input Condition 1 Input Condition 2 Logic value to the Execution Stage F F T F T F T F F T T F 203 Chapter 7
-
7.3.3 Execution Stage When you click the Execution stage icon, you should see a dialog window similar to Figure 7.7 below. There are two possible execution setting you can choose by the Type combo box in the Operation area: Execution Period (Execution_Period) and Send to Next Rule (SendToNextRule). After you choose the appropriate execution setting, click the OK button. The Execution stage icon will change its pattern to present current execution setting condition.
-
Note: If you choose Full speed in the Execution Period combo box, the execution speed will be as fast as possible. There might be network communication traffic problem when the output is on another module, since the execution speed is too fast that too many network packets are transferred on the Ethernet. Note: When you want to use ADAM.NET Utility to configure one ADAM6000 module which is already running its GCL rules, remember to stop the GCL logic rules first.
-
If you click the next logic rule icon, you will find one of the input condition become previous logic rule. Refer to Figure 7.9. Therefore, the logic result value from the previous logic rule (in this example, logic rule 1) will be one of logic input value of current logic rule (in this example, logic rule 2). This makes the two neighbor logic rules combined together. We call it Logic Cascade. Using this method for Logic Cascade, only the two neighbor logic rules can be combined together.
-
Figure 7.10: Output Stage Configuration You need to decide the target device for the output by the Destination combo box. You can choose Local, meaning the output is on the same module, or another remote module by its IP address. Select the appropriate IP address listed in the combo box. The IP addresses are defined in the IP table and you can click the IP Table button to configure.
-
Note: When your output destination is not Local, meaning there will be communication between the specific ADAM-6000 module to its target device, remember to use Ethernet switch to connect the ADAM-6000 module with its target device. Do not use an Ethernet hub. This can prevent data packet collision. After you decide the target device, then you can choose the output action by the Operation Type combo box. The default setting is NoOperation, meaning there is no output action.
-
Digital Output (DO) Below are the steps to configure digital output: 1. Choose correct model name by the Target module combo box in the Operation area. If the Destination is Local, you don't need to choose the model name. 2. Define to generate True or False digital output signal for the true action (When the logic result value passed from Execution stage is logic True) by the True Action combo box. 3.
-
Pulse Output (DO_Pulse) Below are the steps to configure pulse output: 1. Choose correct model name by the Target module combo box in the Operation area. 2. Define what action (continuous generate pulse train by Continue, stop pulse generation by Stop, or only generate finite number of pulse by Num of pulse) will be taken for the true action (When the logic result value passed from Execution stage is logic True) from the True Action combo box. 3.
-
Local or Remote Internal Flag (AuxFlag) You can assign the logic result value from the Execution stage, to local or remote internal flag. Select the appropriate internal flag by the Index combo box. Define what value you want to assign to the internal flag for the true action (When the logic result value passed from Execution stage is logic True) by the True Action combo box.
-
Figure 7.11: Remote Message Output Note: The total message sent out will include Device Description, the logic rule number which sends this message, the message index, module IP, module name and all I/O status. Local Internal Counter Setting (Counter) Below are the steps to configure internal counter setting: 1.
-
2. The false action (When the logic result value passed from Execution stage is logic False) is displayed by the False Action text box and will automatically be set according to the true action. The false action will be opposite to the true action. Refer to the table below to see the relationship between true action and false action. 3. Define which counter channel is responsible to take the defined action by the Channel combo box. 4. Click the OK button to complete the configuration.
-
Internal Flag Assign True value to flag Assign False value to flag Assign False value to flag Assign True value to flag Remote Message Send message to target device Do nothing Internal Counter Setting (Counter) Increase 1 count to counter Do nothing Reset counter 7.4 Internal Flag for Logic Cascade and Feedback 7.4.1 Logic Cascade Using internal flag as interface, you can combine different logic together to form a new single logic rule which can play more complex logic architecture.
-
Figure 7.12: Architecture of Local Logic Cascade In order to implement this logic architecture, we need to use three logic rule and two internal flag to achieve this. Refer to Figure 7.13 ~ 7.15 below for how to configure the three logic rules.
-
Mode: Analog Channel: 0 Condition: >= Value: 3.00 Mode: Analog Destination: Local Channel: 0 Operation Type: AuxFlag Condition: <= True Action: True Value: 5.00 Index: 0 Figure 7.13: Configuration of Logic Rule 1 Mode: Analog Channel: 1 Condition: >= Value: 3.00 Mode: Analog Destination: Local Channel: 1 Operation Type: AuxFlag Condition: <= True Action: True Value: 5.00 Index: 1 Figure 7.
-
Mode: AuxFlag Index: 0 Condition: True Mode: AuxFlag Destination: Local Index: 1 Operation Type: DO Condition: True True Action: True Channel: 0 Figure 7.15: Configuration of Logic Rule 3 We use the logic rule 1 to check if AI channel 0 value of the ADAM-6017 is within 3 ~ 5 Volt. Logic rule 2 is used to check if AI channel 1 value is within 3 ~ 5 Volt. The comparison result of logic rule 1 and 2 is assigned to internal flag 0 and 1.
-
Figure 7.16: Distributed Logic Cascade Figure 7.
-
Mode: Analog Channel: 1 Condition: >= Value: 3.00 Logic Rule 2 on Module B (IP: 196.168.3.20) Mode: Analog Destination: 196.168.3.30 (IP of Module C) Channel: 1 Operation Type: AuxFlag Condition: <= True Action: True Value: 5.00 Index: 1 Figure 7.18: Configuration of Logic Rule 2 Mode: AuxFlag Index: 0 Condition: True Logic Rule 3 on Module B (IP: 196.168.3.30) Mode: AuxFlag Destination: Local Index: 1 Operation Type: DO Condition: True True Action: True Channel: 0 Figure 7.
-
7.4.2 Feedback When you choose the same internal flag for the input condition and output of one single logic rule, the logic rule has logic feedback ability. Refer to Figure 7.20 below. In this example, one input condition and one output are dedicated to the same internal flag 0 (AuxFlag 0). So the output value in current execution will become the input of the next execution. This gives this logic rule feedback ability. Figure 7.20: Building Logic Feedback 7.
-
Current Input Value The yellow dot means the execution flow has reached this stage Figure 7.21: Online Monitoring Function Note: When you use Internal Flags (AuxFlag) as the inputs of GCL logic rules, you can dynamically change the flag values in the online monitoring window of ADAM.NET Utility. Simply double click the input icons represented the internal flag, and you can see the flag values change from True to False, or from False to True.
-
GCL Rule Execution Sequence There are 16 logic rules on one ADAM-6000 module. Refer to the figure 7.22 below to see the execution flow for one cycle. You can see there are 3 groups for one cycle: Input Condition + Logic, Execution, and Output. All the Input Condition + Logic stages of rules which are enabled will execute sequentially first. Then, all the Execution stages of rules which are enabled will be executed in sequence.
-
GCL Execution and Data Transfer Performance 1. Local Output Condition: Running 1 logic rule on one ADAM-6050 module Processing time: < 1 milliseconds (Processing time includes hardware input delay time, 1 logic rule execution time and hardware output delay time) If multiple logic rules are used, the processing time can be estimated by equation below: • logic rule number n 16 Approximate Processing Time (for one cycle) = 600 + n*370 ( s) 2.
-
started. If the second button is pressed, the motor will be stopped immediately. PLCs are typically used for this kind of industrial automation application, and the ladder diagram will look like Figure 7.23 below: Figure 7.23: Ladder Diagram for On/Off Control Now, we can use GCL logic to achieve the same control operation. Two logic rules are used. The complete logic architecture is shown by Figure 7.24 below: Figure 7.
-
In this kind of application, several digital outputs will be activated in sequence and latch their values. In the example project we provide, DO 0 ~ DO 5 will sequentially be controlled to change their status. The time chart for this application can be shown by Figure 7.25 below: DI 0 DO 0 DO 1 t1 DO 2 t2 DO 3 t3 DO 4 t4 DO 5 t5 T0 Time Figure 7.
-
Rule 1 If DI 0 = True AND Set DO 0 =True Start Timer 0 Rule 2 If Timer ≧ 5 second AND Set DO 1 =True Rule 3 If Timer ≧ 10 second AND Set DO 2 =True Rule 4 If Timer ≧ 15 second AND Set DO 3 =True Rule 5 If Timer ≧ 20 second AND Set DO 4 =True Rule 6 If Timer ≧ 25 second AND Set DO 5 =True Figure 7.26: GCL Logic for Sequence Control (Turns On in Sequence and Remains On) 4.
-
DI 0 DI 1 DI 2 DI 3 DI 4 DI 5 DI 6 DI 7 DI 8 DI 9 DI 10 DI 11 DO 0 Time Figure 7.27: Time Chart for 12 DI to 1 DO You can simply implement one AND logic operator to achieve this control system. However, since one logic rule only has three inputs, we need to use Logic Cascade function to have 12 inputs. There are two ways to achieve Logic Cascade: • Select SendtoNextRule in Execution Stage of one logic rule. It will combine this logic rule to the next logic rule. (Refer to Section 7.3.
-
Rule 1 DI 0 DI 1 DI 2 Rule 2 Rule 3 DI 3 DI 5 AND AND AND DI 4 Rule 4 DI 7 DI 6 Rule 5 DI 9 AND DI 8 Rule 6 DI 11 AND AND DO 0 DI 10 Figure 7.28: GCL Logic for 12 DI to 1 DO 5. Flicker Flicker is commonly used in automation control application. Typical example is we want to make the alarm flashing, controlled by digital output. This application requires a continuous pulse train by a digital output channel and we can decide the period of the pulse train.
-
We need to use 1 Internal Flag (Flag 0) and 2 logic rules for the Flicker application described above. In logic rule 1, the value of Flag 0 is inverted (By choosing NAND in the Logic stage) periodically. (Here, it is 0.5 second) The period is defined by the Execution_Period in the Execution Stage. (Refer to the Section 7.3.3) The status of DO 0 is controlled by Flag 0 in logic rule 2, so DO 0 will change every 0.5 second. The GCL logic rule architecture is shown by Figure 7.
-
You can see that DO 0 will only be triggered when rising edge of DI 0 occurs. In the example project we provide, the DO status will remain logic high for 1 second. Then it will back to logic low. When PLC is used for this kind of application, the ladder diagram will look similar to Figure 7.32 below: DI 0 ( [ T0 ≧ 1 ] DI 0 T0 ) (Flag0) Flag0 (DO 0 ) Figure 7.
-
Rule 1 If DI 0 = True AND Start Timer 0 Rule 2 If Timer 0 ≧ 1 s AND Set Flag 0 = True Rule 3 If DI 0 = True AND Set DO 0 = True If Flag 0 = False Figure 7.33: GCL Logic for Rising Edge 7. Falling Edge For Falling Edge application, the DO value will be activated to logic high, when DI value is changing from logic high to logic low (it is socalled falling edge). But the DO value won’t continuously remain logic high.
-
You can see the DO 0 will only be triggered when falling edge of DI 0 occurs. In the example project we provide, the DO status will remain logic high for 1 second. Then it will back to logic low. When PLC is used for this kind of application, the ladder diagram will look similar to Figure 7.35 below: DI 0 ( [ T0 ≧ 1 ] DI 0 T0 ) (Flag0) Flag0 (DO 0 ) Figure 7.
-
Rule 1 If DI 0 = False AND Start Timer 0 Rule 2 If Timer 0 ≧ 1 s AND Set Flag 0 = True Rule 3 If DI 0 = False AND Set DO 0 = True If Flag 0 = False Figure 7.36: GCL Logic for Falling Edge 8. Sequential Control (Turn On and Off in Sequence Continuously) This type of automation application is similar to the 3rd application we have introduced. They are both sequential control applications. For example 3, DO channel will keep its value after it is turned on.
-
In order to implement this kind of application, 9 logic rules, 1 Internal Counter (Counter 0) and 1 Internal Flag (Flag 0) are used. In the example project we provide, logic rule 1 and 8 are used to create the time base. By logic rule 8, Flag 0 value will change every 0.5 second. In logic rule 1, once the Flag 0 value is logic high, the Counter 0 will increase 1 unit. So every 1 second, Counter 0 will increase 1 unit, making Counter 0 the time base. Logic rules 9 ~ 14 are used to control DO 0 ~ 5.
-
9. DI Event Trigger (Only Occurs Once) We can simply use GCL to perform Event trigger. For this kind of application, a DI channel is used to trigger some action. So, the input condition of GCL logic rule will be if the DI value is logic True, and output of the rule can be some desired action, such as sending remote message. When the DI value becomes logic True, the input condition is satisfied. The GCL logic rule will send message continuously until the DI value backs to logic False.
-
ADAM-6000 Series User Manual 236
-
A APPENDIX 2 Design Worksheets
-
Appendix A Design Worksheets An organized system configuration will lead to efficient performance and reduce engineer effort. This Appendix provides the necessary worksheet, helping users to configure their DA&C system in order. Follow these working steps to build up your system relational document: 1. Asking questions and getting answers for your control strategy.
-
3. Mapping the I/O data base into ADAM-6000 I/O modules. 1) In column A, note the TCP IP addresses for individual function areas. 2) In column B, list the I/O module’s product number. 3) In column C, enter the max # of I/O points available per module. 4) In column D, total the number of the I/O point you need. 5) In column E, calculate the total # of these modules that you will need. 6) In column F, enter the # of spare modules needed for future expansion.
-
ADAM-6000 IP Address Table A.3: Table for Programming I/O Type Channel Number I/O Address Tag Name Equipment & Description These several worksheets are very useful to hardware wiring and software integration, please make copies to establish your own system configuration documentation.
-
B APPENDIX 2 Data Formats & I/O Range
-
Appendix B Data Formats and I/O Range B.1 ADAM-6000 Commands Data Formats ADAM-6000 and ADAM-5000/TCP system accept a command/response form with the host computer. When systems are not transmitting they are in listen mode. The host issues a command to a system with a specified address and waits a certain amount of time for the system to respond. If no response arrives, a time-out aborts the sequence and returns control to the host.
-
Figure B.1: Request Comment Structure And the response should be: Figure B.
-
B.1.2 Modbus Function Code Introductions To full-fill the programming requirement, there is a series of function code standard for user’s reference… Table B.1: Response Comment Structure Code (Hex) Name Usage 01 Read Coil Status Read Discrete Output Bit 02 Read Input Status Read Discrete Input Bit 03 Read Holding Registers Read 16-bit register. Used to read integer or floating point process data.
-
Response message format for function code 01: Command Body Station Address Function Code Byte Count Data Data … Example: Coils number 2 and 7 are on, all others are off. 01 01 01 42 In the response the status of coils 1 to 8 is shown as the byte value 42 hex, equal to 0100 0010 binary. Function Code 02 The function code 02 is used to read the discrete input’s ON/OFF status of ADAM-6000 in a binary data format.
-
Function Code 03/04 The function code 03 or 04 is used to read the binary contents of input registers Request message format for function code 03 or 04: Command Body Station Function Start Address Start Address Requested Number Requested Number Address Code High Byte Low Byte of Register High Byte of Register Low Byte Example: Read Analog inputs #1 and #2 in addresses 40001 to 40002 as floating point value from ADAM-6017 module 01 04 00 01 00 02 Response message format for function code 03 or 04: Command B
-
Response message format for function code 05: The normal response is an echo of the query, returned after the coil state has been forced. Command Body Station Address Function Code Coil Address High Byte Coil Address Low Byte Force Data High Byte Force Data Low Byte Function Code 06 Presets integer value into a single register.
-
Function Code 08 Echoes received query message. Message can be any length up to half the length of the data buffer minus 8 bytes.
-
Response message format for function code 08: The normal responses return the station address, function code, start address, and requested number of coil forced. Command Body Station Function Start Address Start Address Requested Number Requested Number Address Code High Byte Low Byte of Coil High Byte of Coil Low Byte Example: 01 0F 00 11 00 0A Function Code 16 (10 hex) Preset values into a sequence of holding registers.
-
B.2 ADAM-6000 I/O Modbus Mapping Table B.2.1 ADAM-6015 7-ch RTD Input Module Address Channel Description 0X 00101 0 Reset Historical Max. Value 00102 1 Reset Historical Max. Value 00103 2 Reset Historical Max. Value 00104 3 Reset Historical Max. Value 00105 4 Reset Historical Max. Value 00106 5 Reset Historical Max. Value 00107 6 Reset Historical Max. Value 00108 Reserved 00109 Average Reset Historical Ch 0~6 Max.
-
Address Channel Description 0X 00123 2 Burnout Flag1 00124 3 Burnout Flag1 00125 4 Burnout Flag1 00126 5 Burnout Flag1 00127 6 Burnout Flag1 00131 0 00132 1 00133 00134 00135 00136 00137 00138 00139 00141 00142 00143 00144 00145 00146 00147 00148 00149 Attribute Address 4X Channel Description Read 40023 2 Historical Min. AI Value Read 40024 3 Historical Min. AI Value Read 40025 4 Historical Min. AI Value Read 40026 5 Historical Min. AI Value Read 40027 6 Historical Min.
-
Remarks: 1. When channel cannot detect RTD signal, this bit register will be 1. 2. User can configure High alarm value in the ADAM.NET utility. When AI value is higher than High alarm value, this bit will be 1. 3. User can configure the Low alarm value in the ADAM.NET utility. When AI value is lower than the Low alarm value, this bit will be 1. B.2.
-
00121 0 Read 40021 0 Read 00122 1 Read 40022 1 Read 00123 2 Read 40023 2 Read 00124 3 Read 40024 3 Read 00125 4 Read 40025 4 00126 5 Read 40026 5 00127 6 Read 40027 6 Read 00128 7 Read 40028 7 Read 40029 Average Ch 0~7 Read Open-Circuit Flag (Burnout) 40031~40 0 032 40033~40 1 034 40035~40 2 036 40037~40 3 038 40039~40 4 040 40041~40 5 042 40043~40 6 044 40045~40 7 046 40047~40 Average 048 Ch 0~7 Historical Min.
-
40071~40 0 072 40073~40 1 074 40075~40 2 076 40077~40 3 078 Historical Min.
-
00141 0 Read 40201 0 R/W 00142 1 Read 40202 1 R/W 00143 2 Read 40203 2 00144 3 00145 4 00146 5 00147 Read 40204 3 R/W Type Code (The type codes of channels for average value can't be changed.
-
1. User can configure the High alarm value in the ADAM.NET utility. When AI value is higher than the High alarm, this bit will be 1. 2. Users can configure the Low alarm value in the ADAM.NET utility. When AI value is lower than the Low alarm, this bit will be 1. B.2.
-
00117 00118 00119 6 Reset Historical R/W Min. Value 7 Reset Historical R/W Min. Value Average Reset Historical R/W Ch 0 ~ 7 Min.
-
1. When the specific channel cannot detect Thermocouple signal, this bit register will be 1. 2. User can configure the High alarm value in the ADAM.NET utility. When AI value is higher than High alarm value, this bit will be 1. 3. User can configure the Low alarm value in the ADAM.NET utility. When AI value is lower than the Low alarm value, this bit will be 1. B.2.
-
B.2.
-
00033 00034 00035 Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W 00036 DI Latch Status4 R/W 00037 0 00038 Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write 00039 00040 Clear Overflow3 R/W DI Latch Status4 R/W 00041 1 00042 Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write 00043 00044 Clear Overflow3 R/W DI Latch Status4 R/W 00045 2 3 00046 00047 00048 00049 4 00050 00051 00053 5 00054 00055 00056 00057 00058 00059 00060 00061 00062 00063 00064 6 7 C
-
00065 8 00066 00067 00068 00069 9 00070 00071 00072 00073 10 00074 00075 00076 00077 11 00078 00079 00080 Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W DI Latch Status4 R/W Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W DI Latch Status4 R/W Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W R/W Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W DI Latch Status4 R/W Remarks 1.
-
B.2.
-
00053 5 00054 00055 00056 00057 6 00058 00059 00060 00061 7 00062 00063 00064 00065 8 00066 00067 00068 00069 9 00070 00071 00072 00073 10 00074 00075 00076 00077 11 00078 00079 00080 00081 00082 127 137 Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W DI Latch Status4 R/W Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W DI Latch Status4 R/W Counter Start(1)/ R/W Stop(0) Clear Counter(1) Write Clear Overflow3 R/W DI Latch Status4 R/W Counter St
-
Remarks: 1. How to retrieve the counter/frequency value: Counter (decimal) = (value of 40002) x 65535 + (value of 40001) Frequency (decimal) = (value of 40001)/10 Hz 2. Time Unit: 0.1 ms 3. If the count number is overflow, this bit will be 1. Once this bit is read, the value will return to 0. 4. When DI channel is configured as “High to low latch” or “Low to high latch”, this bit will be 1 if the latch condition occurs.
-
B.2.
-
Address Ch Description 0X 00047 3 Clear Overflow3 00048 DI Latch Status4 00049 4 Counter Start(1)/ Stop(0) 00050 Clear Counter(1) 00051 Clear Overflow3 00052 DI Latch Status4 00053 5 Counter Start(1)/ Stop(0) 00054 Clear Counter(1) 00055 Clear Overflow3 00056 DI Latch Status4 00057 6 Counter Start(1)/ Stop(0) 00058 Clear Counter(1) 00059 Clear Overflow3 00060 DI Latch Status4 00061 7 Counter Start(1)/ Stop(0) 00062 Clear Counter(1) 00063 Clear Overflow3 00064 DI Latch Status4 Attribute Address 4X Ch Des
-
4. When DI channel is configured as “High to low latch” or “Low to high latch”, this bit will be 1 if the latch condition occurs. After that, value of this bit will keep 1 until user writes 0 to this bit (clear the latch status). 5. Decide how many pulses will be generated. When user writes 0 to this bit, it will continuously generate pulse. 6. During the pulse generation, user can use this bit to generate more pulses. For example, “Absolute pulse” is set as 100.
-
B.2.
-
00041 2 00042 00043 00044 00045 3 00046 00047 00048 00049 4 00050 00051 00052 00053 00054 00055 00056 5 Counter R/W Start(1)/ Stop(0) Clear Coun- Write ter(1) R/W Clear Overflow3 R/W DI Latch Status4 R/W Counter Start(1)/ Stop(0) Clear Coun- Write ter(1) R/W Clear Overflow3 R/W DI Latch Status4 Counter R/W Start(1)/ Stop(0) Clear Coun- Write ter(1) R/W Clear Overflow3 DI Latch R/W Status4 R/W Counter Start(1)/ Stop(0) Clear Coun- Write ter(1) R/W Clear Overflow3 R/W DI Latch Status4 40039~40040 1
-
5. Decide how many pulses will be generated. When user writes 0 to this bit, it will continuously generate pulse. 6. During the pulse generation, user can use this bit to generate more pulses. For example, “Absolute pulse” is set as 100. During its generation, user can set “Incremental pulse” as 10. After the 100 pulses are generated, the extra 10 pulses will continue to be generated.
-
C APPENDIX 2 Grounding Reference
-
Appendix C Grounding Reference C.1 Field Grounding and Shielding Application Overview Unfortunately, it’s impossible to finish a system integration task at one time. We always meet some trouble in the field. A communication network or system isn’t stable, induced noise or equipment is damaged or there are storms. However, the most usual issue is just simply improper wiring, ie, grounding and shielding.
-
C.2 Grounding C.2.1 The ‘Earth’ for Reference Figure C.1: Think of the Earth as a Ground. As you know, the EARTH cannot be conductive. However, all build- ings lie on, or in, the EARTH. Steel, concrete and associated cables (such as lighting arresters) and power system were connected to EARTH. Think of them as resistors. All of those infinite parallel resistors make the EARTH as a single reference point.
-
C.2.2 The ‘Frame Ground’ and ‘Grounding Bar’ Figure C.2: Grounding Bar Grounding is one of the most important issues for our system. Just like Frame Ground of the computer, this signal offers a reference point of the electronic circuit inside the computer. If we want to communicate with this computer, both Signal Ground and Frame Ground should be connected to make a reference point of each other’s electronic circuit.
-
C.2.3 Normal Mode and Common Mode Have you ever tried to measure the voltage between a live circuit and a concrete floor? How about the voltage between neutral and a concrete floor? You will get nonsense values. ‘Hot’ and ‘Neutral’ are just relational signals: you will get 110VAC or 220VAC by measuring these signals. Normal mode and common mode just show you that the Frame Ground is the most important reference signal for all the systems and equipments. Figure C.4: Normal and Common Mode.
-
C.2.4 Wire impedance Figure C.5: High Voltage Transmission • What’s the purpose of high voltage transmission? We have all seen high voltage transmission towers. The power plant raises the voltage while generating the power, then a local power station steps down the voltage. What is the purpose of high voltage transmission wires ? According to the energy formula, P = V * I, the current is reduced when the voltage is raised. As you know, each cable has impedance because of the metal it is made of.
-
Figure C.6: Wire Impedance C.2.5 Single Point Grounding Figure C.7: Single Point Grounding (1) • What’s Single Point Grounding? Maybe you have had an unpleasant experience while taking a hot shower in Winter. Someone turns on a hot water faucet somewhere else. You will be impressed with the cold water! The bottom diagram above shows an example of how devices will influence each other with swift load change. For example, normally we turn on all the four hydrants for testing.
-
Figure C.8: Single point grounding (2) The above diagram shows you that a single point grounding system will be a more stable system. If you use thin cable for powering these devices, the end device will actually get lower power. The thin cable will consume the energy. C.3 Shielding C.3.1 Cable Shield Figure C.
-
• Single isolated cable The diagram shows the structure of an isolated cable. You see the isolated layer which is spiraled Aluminum foil to cover the wires. This spiraled structure makes a layer for shielding the cables from external noise. Figure C.10: Double isolated cable • Double isolated cable Figure 10 is an example of a double isolated cable. The first isolating layer of spiraled aluminum foil covers the conductors.
-
C.3.2 System Shielding Figure C.11: System Shielding • Never stripping too much of the plastic cable cover. This is improper and can destroy the characteristics of the Shielded-Twisted-Pair cable. Besides, the bare wire shield easily conducts the noise. • Cascade these shields together by soldering. Please refer to following page for further detailed explanation. • Connect the shield to Frame Ground of DC power supply to force the conducted noise to flow to the frame ground of the DC power supply.
-
Figure C.12: The characteristic of the cable • The characteristic of the cable Don’t strip off too much insulation for soldering. This could change the effectiveness of the Shielded-TwistedPair cable and open a path to introduce unwanted noise. Figure C.13: System Shielding (1) • Shield connection (1) If you break into a cable, you might get in a hurry to achieve your goal. As in all electronic circuits, a signal will use the path of least resis- tance.
-
Figure C.14: System Shielding (2) • Shield connection (2) The previous diagram shows you that the fill soldering just makes an easier way for the signal. C.4 Noise Reduction Techniques • Isolate noise sources in shielded enclosures. • Place sensitive equipment in shielded enclosure and away from computer equipment. • Use separate grounds between noise sources and signals. • Keep ground/signal leads as short as possible. • Use Twisted and Shielded signal leads.
-
• Use noise reduction filters if necessary. (TVS, etc) • You can also refer to FIPS 94 Standard. FIPS 94 recommends that the computer system should be placed closer to its power source to eliminate load-induced common mode noise. Figure C.15: Noise Reduction Techniques C.
-
ADAM-6000 Series User Manual 284
-
D APPENDIX 2 REST for ADAM-6000
-
Appendix D REST for ADAM-6000 D.1 REST Introduction REpresentational State Transfer (REST) is a software architecture for Web applications behavior and services including image indication, resource requests and responses and message delivery. It can be developed to be compatible with popular protocols or standards like HTTP, URI, XML, HTML. With the advantage of scalability, simplicity and performance, it has already been adopted in Web services by Amazon and Yahoo.
-
D.2.2 Analoginput D.2.2.1 GET/analoginput/(all|{id})/value Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the AI channel ID starting from 0 Examples: Use the following URI to get the AI-0 value. http://10.0.0.1/analoginput/0/value Use the following URI to get the all AI values. http://10.0.0.1/analoginput/all/value Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.2.2 GET /analoginput/(all|{id})/range Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the AI channel ID starting from 0 Examples: Use the following URI to get the AI-0 range information. http://10.0.0.1/analoginput/0/range Use the following URI to get the all AI range information. http://10.0.0.1/analoginput/all/range Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.3 Analogoutput D.2.3.1 GET /analogoutput/(all|{id})/value Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the AO channel ID starting from 0 Examples: Use the following URI to get the AO-0 value. http://10.0.0.1/analogoutput/0/value Use the following URI to get the all AO values. http://10.0.0.1/analogoutput/all/value Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.3.3 GET /analogoutput/(all|{id})/range Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the AO channel ID starting from 0 Examples: Use the following URI to get the AO-0 range information. http://10.0.0.1/analogoutput/0/range Use the following URI to get the all AO range information. http://10.0.0.1/analogoutput/all/range Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.4 Digitalinput D.2.4.1 GET /digitalinput/(all|{id})/value Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the DI channel ID starting from 0 Examples: Use the following URI to get the DI-0 value. http://10.0.0.1/digitalinput/0/value Use the following URI to get the all DI values. http://10.0.0.1/digitalinput/all/value Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.5 Digitaloutput D.2.5.1 GET /digitaloutput/(all|{id})/value Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the DO channel ID starting from 0 Examples: Use the following URI to get the DO-0 value. http://10.0.0.1/digitaloutput/0/value Use the following URI to get the all DO values. http://10.0.0.1/digitaloutput/all/value Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.6 Counter D.3.6.1 GET /counter/(all|{id})/value Request The content-type will be ‘application/x-www-form-urlencoded’. {id} : is the Counter channel ID starting from 0 Examples: Use the following URI to get the Counter-0 value. http://10.0.0.1/counter/0/value Use the following URI to get the all Counter values. http://10.0.0.1/counter/all/value Response The content-type will be ‘text/xml’ If result is OK, the content will look like below
-
D.2.7 Stream D.4.2.1 POST {target URL} Request The content-type will be ‘text/xml’. {target URI} : is the remote server URI which will deal with the request The coming data with the request will be {XML}. {XML} : The pure text XML describes the stream contents. The XML will look like below
-
APPENDIX 2 HTML 5 E
-
Appendix E HTML 5 E.1 HTML 5 Introduction Hyper Text Markup Language (HTML) is popularly used to program the content of Web page over the Internet. The fifth version (HTML 5) is the latest revision which enhances its syntax structure and additionally mixes multiple Web technologies like CSS, Java Script to implement more Web service, API, interactive applications in mobile communications. E.
-
Operating steps: (Take smartphone as an example) 1. Connect your smart phone to your local Ethernet network via wireless and then open the browser of your smart phone. 2. You can click or scan the QR code in the Utility or enter IP address of the module, you will see the login page (shown below) on the screen. 3. Enter the account and password.
-
4. When clicking the Login button, you will see the operation page. In this page, you will not only to monitor I/O status (trend log), but also simply enable output setting below. 5. For example, if you check DO 0, 2, 3, and 5, and then click “Apply Output”, you will see the bulb is lit on and trend log is also changed.