Vishay 7000 Programmer's Reference Manual

System 7000 Scanner
Programmer’s Reference Manual
Version 1.01
130-000197
P. O. Box 27777, Raleigh, North Carolina, 27611, USA Phone (919) 365-3800 Fax (919) 365-3945 www.vishay.com
Vishay Micro-Measurements
TABLE OF CONTENTS
1 INTRODUCTION __________________________________________________________________________7
1.1 O
VERVIEW
1.2 P
ROGRAMMING OPTIONS
1.2.1 StrainSmart and DCOM_______________________________________________________________7
1.3 D
EFINITION OF TERMS
1.4 D
OCUMENT NOTATION AND CONVENTIONS
1.4.1 Numbering Notation __________________________________________________________________8
1.4.2 Referenced VIs, Methods, and Commands _________________________________________________8
1.5 R
EGISTERED TRADEMARK NOTICES
2 PROGRAMMING OVERVIEW _____________________________________________________________10
2.1 C
OMMUNICATING WITH THE SYSTEM
2.2 A
CCESSING MULTIPLE SCANNERS (SYNCHRONIZATION
2.3 S
YSTEM STATES
2.4 C
OMMAND OVERVIEW
2.5 D
EBUGGING TIPS
3 PROGRAM LAYOUT _____________________________________________________________________14
3.1 O
VERVIEW OF PROGRAM LAYOUT - SCANNING
3.2 O
VERVIEW OF PROGRAM LAYOUT – SINGLE CHANNEL READS
3.3 E
STABLISHING A CONNECTION TO THE SCANNER
3.4 S
YSTEM VALIDATION
3.5 C
ONFIGURATION
3.5.1 System Level Configuration ___________________________________________________________18
3.6 C
ARD-LEVEL CONFIGURATION
3.7 C
HANNEL-LEVEL CONFIGURATION
3.8 C
ONFIGURING SCAN INFORMATION
3.9 R
ECORDING
3.9.1 Setting up Simple Recording __________________________________________________________22
3.9.2 Advanced Recording Options__________________________________________________________23
3.9.2.1 Recording Groups _______________________________________________________________________ 23
3.9.2.2 Configuring Time Based Recording__________________________________________________________ 24
3.9.2.3 Configuring Manual Recording _____________________________________________________________ 26
3.9.2.4 Configuring Limits Recording ______________________________________________________________ 27
3.10 A
CQUIRING A SINGLE-POINT CHANNEL READING
3.11 A
RMING, START SCANNING, AND STOP SCANNING
3.12 S
YNCHRONIZED (NETWORKED) SCANNERS
3.13 S
TARTING AND STOPPING MANUAL RECORDING
3.14 A
CQUIRING AND DECODING RECORDED DATA
3.14.1 Identifying and Reading the Data File __________________________________________________38
3.14.2 Decoding the Data File _____________________________________________________________41
3.14.2.1 Scan ID_______________________________________________________________________________ 41
3.14.2.2 Multiple Record Rates ___________________________________________________________________ 42
3.14.2.3 Varying Data Width _____________________________________________________________________ 42
3.14.2.4 Status Information ______________________________________________________________________ 43
3.14.2.5 Status Byte ____________________________________________________________________________ 43
3.14.2.6 Examples _____________________________________________________________________________ 44
3.14.2.7 Sample Code __________________________________________________________________________ 45
3.14.3 How Data Files are Named __________________________________________________________48
3.14.4 What is a Header File? _____________________________________________________________48
3.15 A
CQUIRING REAL-TIME (ONLINE) DATA
3.15.1 Configuring the Real-time (Online) Data Transmission ____________________________________49
3.15.2 Controlling the Real-time (Online) Data Transmission _____________________________________49
3.15.3 Parsing the Real-time (Online) Data ___________________________________________________50
3.16 Z
EROING AND SHUNT CALIBRATION
3.17 S
CALING THE ANALOG-TO-DIGITAL CONVERTER COUNTS
_____________________________________________________________________________7
__________________________________________________________________7
____________________________________________________________________8
____________________________________________________8
__________________________________________________________9
7000____________________________________________________10
) _________________________________________10
________________________________________________________________________11
___________________________________________________________________11
_______________________________________________________________________13
________________________________________________15
____________________________________16
_______________________________________________17
____________________________________________________________________18
________________________________________________________________________18
_____________________________________________________________19
__________________________________________________________20
_________________________________________________________21
___________________________________________________________________________22
_____________________________________________35 _____________________________________________35
__________________________________________________35
______________________________________________37
________________________________________________38
____________________________________________________49
________________________________________________________50
_______________________________________52
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 2 of 142
4 SYSTEM STATUS AND ERROR HANDLING ________________________________________________53
4.1 E
RROR HANDLING
4.2 D
ECODING THE ERROR NUMBER
4.3 Q
UERYING SYSTEM STATUS
4.4 M
ONITORING THE EVENT/STATUS
4.4.1 Message Format____________________________________________________________________55
4.4.2 Card Status Message ________________________________________________________________55
4.4.3 Card Error Message ________________________________________________________________56
4.4.4 Control Module Error Messages _______________________________________________________56
______________________________________________________________________53
____________________________________________________________54
_______________________________________________________________54
UDP P
ORT
_________________________________________________54
5 LABVIEW INSTRUMENT DRIVER _________________________________________________________57
5.1 O
VERVIEW
5.2 S
YSTEM
5.2.1 System 7000 Instrument Driver Layout __________________________________________________57
5.2.2 System 7000 Instrument Driver Examples ________________________________________________58
5.2.3 System 7000 Instrument “Readme.html” _________________________________________________58
5.2.4 Supported LabVIEW Versions _________________________________________________________58
6 ACTIVEX INTERFACE ___________________________________________________________________59
6.1 A
CTIVE X INTERFACES
6.2 E
RROR CODES
6.3 C
ARD MASK, CHANNEL MASK, AND RECORDING GROUP MASK NOTATION
6.4 S
AMPLE PROGRAMS
6.4.1 Delphi Sample Program______________________________________________________________61
6.4.2 Visual C# Sample Program ___________________________________________________________61
6.4.3 LabWindows/CVI Sample Program _____________________________________________________61
6.5 IVMM7000C
6.5.1 Properties_________________________________________________________________________62
6.5.1.1 IPAddress Property (Read/Write) ___________________________________________________________ 62
6.5.1.2 CommandPort Property (Read/Write) ________________________________________________________ 62
6.5.1.3 DataPort Property (Read/Write) _____________________________________________________________ 62
6.5.1.4 LastErrorCode Property (Read/Write) ________________________________________________________ 63
6.5.1.5 CommandPortTimeout Property (Read/Write)__________________________________________________ 63
6.5.1.6 DataPortTimeout Property (Read/Write) ______________________________________________________ 64
6.5.2 Connection Methods_________________________________________________________________65
6.5.2.1 Open Method ___________________________________________________________________________ 65
6.5.2.2 Close Method ___________________________________________________________________________ 65
6.5.3 Action - Status Group________________________________________________________________66
6.5.3.1 Arm Method____________________________________________________________________________ 66
6.5.3.2 Disarm Method _________________________________________________________________________ 66
6.5.3.3 StartScanning Method ____________________________________________________________________ 67
6.5.3.4 StopScanning Method ____________________________________________________________________ 67
6.5.3.5 ControlManualRecording Method ___________________________________________________________ 68
6.5.3.6 ControlOnlineDataTransfer Method _________________________________________________________ 68
6.5.3.7 GetSystemState Method___________________________________________________________________ 69
6.5.3.8 GetSyncStatus Method____________________________________________________________________ 69
6.5.3.9 SynchronizeNetworkedScanners Method______________________________________________________ 70
6.5.3.10 StartSynchronizedScanning Method ________________________________________________________ 71
6.5.4 Configuration Group ________________________________________________________________72
6.5.4.1 ConfigureTimeBasedRecording Method ______________________________________________________ 72
6.5.4.2 ConfigureTimeBasedRecordingStartandStop Method ____________________________________________ 72
6.5.4.3 ConfigureManualRecording Method _________________________________________________________ 73
6.5.4.4 SetChannelRecordingGroup Method _________________________________________________________ 74
6.5.4.5 SetLimitType Method ____________________________________________________________________ 74
6.5.4.6 SetLimitsBasedRecordingType Method_______________________________________________________ 75
6.5.4.7 ConfigureLimitsBasedRecording ____________________________________________________________ 75
6.5.4.8 ConfigureLimitCondition method ___________________________________________________________ 76
6.5.4.9 SetLimitConditionCount Method____________________________________________________________ 77
6.5.4.10 AssignLimitToChannel Method____________________________________________________________ 78
6.5.4.11 ConfigureGlobalLimit Method_____________________________________________________________ 78
6.5.4.12 ConfigureScan Method __________________________________________________________________ 80
6.5.4.13 ConfigureStrainGageCardExcitation Method _________________________________________________ 81
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
____________________________________________________________________________57
7000 I
NSTRUMENT DRIVER
___________________________________________________________________59
__________________________________________________________________________59
_____________________________________________________________________61
ONTROL INTERFACE DESCRIPTION
_________________________________________________________57
__________________________60
_______________________________________________62
Page 3 of 142
6.5.4.14 ConfigureStrainGageChannelBridgeSettings Method ___________________________________________ 81
6.5.4.15 ConfigureHighLevelCardExcitation Method __________________________________________________ 82
6.5.4.16 ConfigureThermocoupleChannel Method ____________________________________________________ 82
6.5.4.17 ConfigureLVDTCardExcitation Method _____________________________________________________ 83
6.5.4.18 ConfigureLVDTChannelInputConnections Method ____________________________________________ 84
6.5.4.19 SetDefaultFilter Method__________________________________________________________________ 84
6.5.4.20 SetFIRFilterCoefficients Method ___________________________________________________________ 85
6.5.4.21 SetDateTimeMethod ____________________________________________________________________ 86
6.5.4.22 ConfigureOnlineDataTransfer Method_______________________________________________________ 86
6.5.4.23 SetScannerNetworkConfiguration Method ___________________________________________________ 87
6.5.4.24 SetBoxID Method ______________________________________________________________________ 88
6.5.5 Data _____________________________________________________________________________89
6.5.5.1 GetStaticADCReading Method _____________________________________________________________ 89
6.5.5.2 GetLastDataFileInformation Method _________________________________________________________ 89
6.5.6 Utilities___________________________________________________________________________91
6.5.6.1 GetControlModuleInformation Method _______________________________________________________ 91
6.5.6.2 GetFreeSpace Method ____________________________________________________________________ 92
6.5.6.3 GetCardStatusMethod ____________________________________________________________________ 92
6.5.6.4 DetectCards Method______________________________________________________________________ 93
6.5.6.5 GetCardInformation Method _______________________________________________________________ 94
6.5.6.6 Flash System LEDs Method________________________________________________________________ 95
6.5.6.7 ResetCard Method _______________________________________________________________________ 95
6.5.6.8 ShuntCalEnable Method __________________________________________________________________ 96
6.5.6.9 RemoteCalEnable Method _________________________________________________________________ 96
6.5.6.10 ClearErrors Method _____________________________________________________________________ 97
6.5.6.11 GetErrorMessage Method ________________________________________________________________ 97
6.5.6.12 RetrieveFile Method_____________________________________________________________________ 98
6.5.6.13 RetrieveLastDataFile Method _____________________________________________________________ 98
6.5.6.14 ListFiles Method _______________________________________________________________________ 99
6.5.6.15 DeleteFile Method ______________________________________________________________________ 99
6.5.6.16 DeleteLastDataFile Method ______________________________________________________________ 100
6.5.6.17 CancelFileTransferMethod_______________________________________________________________ 100
6.6 IVMM7000D
6.6.1 Properties________________________________________________________________________101
6.6.1.1 BytesTransferred Property (Read/Write) _____________________________________________________ 101
6.6.1.2 PercentComplete Property (Read/Write) _____________________________________________________ 101
6.6.1.3 TotalBytes Property (Read/Write) __________________________________________________________ 102
6.6.1.4 ErrorStatus Property (Read/Write) __________________________________________________________ 102
6.6.1.5 TransferComplete Property (Read/Write) ____________________________________________________ 102
ATATRANSFERSTATUS INTERFACE DESCRIPTION
___________________________________101
7 LOW-LEVEL COMMAND SET ____________________________________________________________103
7.1 C
ARD AND CHANNEL MASK NOTATION
7.2 C
OMMAND/QUERY SYNTAX
7.3 R
ESPONSE SYNTAX
7.3.1 Example Responses ________________________________________________________________105
7.4 C
OMMAND DESCRIPTIONS
7.4.1 Action Group _____________________________________________________________________106
7.4.1.1 Start Scanning Command_________________________________________________________________ 106
7.4.1.2 Stop Scanning Command _________________________________________________________________ 106
7.4.1.3 Start Manual Recording Command _________________________________________________________ 106
7.4.1.4 Stop Manual Recording Command _________________________________________________________ 106
7.4.1.5 Arm Command_________________________________________________________________________ 107
7.4.1.6 Disarm Command ______________________________________________________________________ 107
7.4.1.7 Start Online Data Transfer ________________________________________________________________ 107
7.4.1.8 Stop Online Data Transfer ________________________________________________________________ 107
7.4.1.9 Synchronize Networked Scanners __________________________________________________________ 108
7.4.1.10 Start Scanning on Networked Scanners _____________________________________________________ 108
7.4.2 Recording Group __________________________________________________________________109
7.4.2.1 Manual Recording Mode _________________________________________________________________ 109
7.4.2.2 Set Pre-trigger Buffer Size for Manual Recording Command _____________________________________ 109
7.4.2.3 Set Time-Based Recording Mode Command __________________________________________________ 110
7.4.2.4 Set Time-Based Recording Count Command _________________________________________________ 110
7.4.2.5 Set Time-Based Recording Delay Command__________________________________________________ 111
7.4.2.6 Set Time-Based Recording Skip Count Command _____________________________________________ 111
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
_____________________________________________________________________104
______________________________________________________________104
_______________________________________________________________106
_____________________________________________________103
Page 4 of 142
7.4.2.7 Set Time-Based Recording Burst Count Command _____________________________________________ 112
7.4.2.8 Set Time-Based Recording Burst Skip Count Command_________________________________________ 112
7.4.2.9 Set Limits-Based Recording Setting ________________________________________________________ 113
7.4.2.10 Set Limits-Based Recording Mode Command ________________________________________________ 113
7.4.2.11 Set Limits-Based Recording Skip Count Command ___________________________________________ 114
7.4.2.12 Set Limits-Based Recording Burst Count Command ___________________________________________ 114
7.4.2.13 Set Limits-Based Recording Burst Skip Count Command_______________________________________ 115
7.4.3 Scan Group ______________________________________________________________________116
7.4.3.1 Set Scan Rate Command _________________________________________________________________ 116
7.4.3.2 Create Scan List Command _______________________________________________________________ 116
7.4.3.3 AutoStop Command_____________________________________________________________________ 117
7.4.3.4 Get Last Data File Info___________________________________________________________________ 117
7.4.3.5 Set Box ID from Scan Header Command ____________________________________________________ 118
7.4.3.6 Set Project Name to Scan Header File Command ______________________________________________ 118
7.4.3.7 Set Scan Session Descriptor to Scan Header File Command ______________________________________ 118
7.4.3.8 Set Scan Session GUID to Scan Header File Command _________________________________________ 119
7.4.3.9 Set Scan Session IP Address to Scan Header File Command _____________________________________ 119
7.4.3.10 Set the Size of the Scan Buffer____________________________________________________________ 119
7.4.4 Limits Group _____________________________________________________________________120
7.4.4.1 Set Limit Type Command ________________________________________________________________ 120
7.4.4.2 Set Number of Limit Event Conditions Command _____________________________________________ 120
7.4.4.3 Set Limit Event Condition Command _______________________________________________________ 121
7.4.4.4 Set Lower Limit Value Command __________________________________________________________ 121
7.4.4.5 Set Upper Limit Value Command __________________________________________________________ 122
7.4.4.6 Set Pre-trigger Buffer Size Command _______________________________________________________ 122
7.4.4.7 Set Post-trigger Buffer Size Command ______________________________________________________ 122
7.4.4.8 Ignore or Accept Sync (Global) Limits ______________________________________________________ 123
7.4.4.9 Set Pre-trigger Buffer Size Command for Sync (Global) Limits ___________________________________ 123
7.4.4.10 Set Post-trigger Buffer Size Command for Sync (Global) Limits _________________________________ 123
7.4.5 Card Group ______________________________________________________________________124
7.4.5.1 Get Card Information Command (AIM/Interface Card)__________________________________________ 124
7.4.5.2 Set Excitation Command _________________________________________________________________ 125
7.4.5.3 Get Free Space Command ________________________________________________________________ 125
7.4.5.4 Card Status ____________________________________________________________________________ 126
7.4.5.5 Card Reset ____________________________________________________________________________ 126
7.4.5.6 Excitation Output Enable/Disable __________________________________________________________ 127
7.4.5.7 Aim Temperature Sensor Query____________________________________________________________ 127
7.4.5.8 Set LVDT Excitation Frequency ___________________________________________________________ 127
7.4.6 Channel Group____________________________________________________________________128
7.4.6.1 Asynchronous Read A/D Converter Command ________________________________________________ 128
7.4.6.2 Set Channel Recording Group Command ____________________________________________________ 128
7.4.6.3 Set FIR Filter Command _________________________________________________________________ 128
7.4.6.4 Shunt Calibration Resistor Enable / Disable __________________________________________________ 129
7.4.6.5 Dummy Resistor Selection________________________________________________________________ 129
7.4.6.6 Enable Half-Bridge _____________________________________________________________________ 129
7.4.6.7 Remote Calibration Resistor Enable Disable __________________________________________________ 130
7.4.6.8 Set / Query Thermocouple Type ___________________________________________________________ 130
7.4.6.9 Assign a Limit Event Condition to a Channel(s) _______________________________________________ 131
7.4.6.10 Set Default Filter Command______________________________________________________________ 131
7.4.6.11 Set LVDT Demodulator Source ___________________________________________________________ 132
7.4.7 File Group _______________________________________________________________________133
7.4.7.1 Retrieve File___________________________________________________________________________ 133
7.4.7.2 List Files______________________________________________________________________________ 134
7.4.7.3 Delete File ____________________________________________________________________________ 134
7.4.7.4 Cancel File Transfer_____________________________________________________________________ 135
7.4.7.5 List Files in Control Module ______________________________________________________________ 135
7.4.7.6 Retrieve File from Control Module _________________________________________________________ 135
7.4.7.7 Delete File from Control Module ___________________________________________________________ 136
7.4.7.8 Verify the Checksum of a Control Module File ________________________________________________ 136
7.4.8 System Group _____________________________________________________________________137
7.4.8.1 Set Date/Time _________________________________________________________________________ 137
7.4.8.2 Set IP Configuration Information___________________________________________________________ 138
7.4.8.3 Get Free Space Command ________________________________________________________________ 138
7.4.8.4 Configure Online Data ___________________________________________________________________ 139
7.4.8.5 Define Scanner’s Network Configuration ____________________________________________________ 139
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 5 of 142
7.4.8.6 Verify Sync Cable Status _________________________________________________________________ 140
7.4.8.7 Card Detect ___________________________________________________________________________ 140
7.4.8.8 Clear Errors ___________________________________________________________________________ 140
7.4.8.9 Get Control Module Information Command (Control Module) ____________________________________ 141
7.4.8.10 Display Flashing LED Sequence __________________________________________________________ 141
7.4.8.11 Clear Errors __________________________________________________________________________ 142
7.4.8.12 System Status Query ___________________________________________________________________ 142
7.4.8.13 Get Error Message from Error Code _______________________________________________________ 142
8 WARRANTY ____________________________________________________________________________143
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 6 of 142
1 INTRODUCTION
1.1 Overview
The System 7000 data acquisition instrument (scanner) may be remotely programmed via an Ethernet (TCP/IP) interface. Any high-speed, modern personal computer supporting this interface may be used to program the System 7000 and, as a result, the scanner can be a part of an automated instrumentation system.
This manual assumes that you are familiar with the operation of the System 7000 scanner. Please refer to the “System 7000 Instruction Manual” for information on specifications and operation. The instruction manual also contains information on setting up the network connections and configuring TCP/IP and UDP.
1.2 Programming Options
This manual describes three different methods of programming the System 7000 scanner.
National Instruments LabVIEW instrument driver ActiveX automation interface Low-level TCP commands
How do I choose which method is best for my application?
The LabVIEW instrument driver should be used if you are writing software using the NI LabVIEW graphical programming language. The driver is compliant with the National Instruments instrument driver standards.
The ActiveX automation interface is recommended for use in most applications developed in the Microsoft Windows environment. This includes programming environments such as Microsoft Visual Basic, Microsoft Visual C++ and C#, National Instruments LabWindows/CVI, and Embarcadero Delphi. The ActiveX application program interface (API) simplifies your programming by bundling related commands into a single method, managing critical timing, and handling low-level requirements (such as building and parsing) of the TCP commands.
The low-level TCP commands should be used if your programming environment does not support the ActiveX automation interface or if your application requires more flexibility. It is highly recommended that you use either the LabVIEW instrument driver or the ActiveX automation interface. Though documented here, use of the low-level commands is not supported.
1.2.1 StrainSmart and DCOM
StrainSmart is a software application, provided by Vishay Micro-Measurements, that provides a comprehensive user interface for configuring the System 7000 and managing data collection. StrainSmart shares fully-scaled data with other applications via DCOM. If you wish to use StrainSmart and have a separate, custom application for monitoring data, it is recommended that you use the DCOM interface. Please refer to the document “Overview of StrainSmart Automation Server” for more information on using the DCOM interface. This document is found on the “Programmer’s Reference Kit” CD.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 7 of 142
1.3 Definition of Terms
Scanning
The System 7000 is said to be scanning after it has completed an “arm/start” sequence and it is actively acquiring data.
Scan
Scan ID
Scan Rate
I/O Card or AIM Card
StrainSmart
A scan in the System 7000 refers to a single group of data that is acquired simultaneously. For example, if you have 2 cards in your scanner (with 8 active channels per card), a single scan consists of all 16 readings made at the same point in time.
Note: Many instruments refer to a single group of simultaneously acquired data as a “sample”, whereas, a “scan” is a collection of N samples. Notice the difference in terminology.
The scan identifier is effectively a sequence number for each scan. The first scan read is given a Scan ID of 1, the second scan has an ID of 2, and so forth. If you know the scan rate, you then know the elapsed time at which the scan occurred. (e.g. with a scan rate of 1000 scans/sec, scan 1 occurs at 0 mSec, scan 2 at 1mSec, scan 3 at 2mSec, etc…)
The rate at which scans are acquired. This can also be thought of as the sampling rate.
This refers to a Model 7003-8-A-I Analog Input Cards coupled with either a Model 7003-8-SG Strain Gage Input Card, Model 7003-8-HL High Level Input Card, Model 7003-8-TC Thermocouple Input Card, or a Model 7003-8-LVDT Input Card.
StrainSmart is a software application, provided by Vishay Micro-Measurements, that provides a comprehensive user interface for configuring the System 7000 and managing data collection.
1.4 Document Notation and Conventions
1.4.1 Numbering Notation
Hexadecimal values are indicated by the prefix 0x, binary values by the prefix 0b, and decimal values have no prefix.
For example,
Decimal Hexadecimal Binary
10 0x0A 0b00001010
Table 1 – Numbering Notation
1.4.2 Referenced VIs, Methods, and Commands
Most sections in the Programming Overview section include a table similar to the one shown below. This table shows the commands (or VIs or methods) that are relevant to the section.
LabVIEW Control Manual Recording VI Active X ControlManualRecording method Low-level Start Manual Recording command
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Stop Manual Recording command
Page 8 of 142
1.5 Registered Trademark Notices
Windows, Windows Visual Basic, Windows Visual C++, and Windows Visual C# are registered trademarks of Microsoft Corporation in the United States and other countries. LabVIEW and LabWindows/CVI are registered trademarks of National Instruments, Inc (NI) in the United States and other countries. Delphi is a registered trademark of Embarcadero Technologies, Inc.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 9 of 142
2 PROGRAMMING OVERVIEW
2.1 Communicating with the System 7000
Detailed instructions on setting up the network connections and the TCP/IP and UDP settings are found in the “System 7000 Instruction Manual”. This document describes the network communications from a programming standpoint.
The System 7000 uses four communication ports; two for TCP communication and two for UDP broadcasts. The host PC (via your program) must establish a connection to one or more of these ports.
Port Description
Command Port The TCP port used to transmit commands to the scanner and
receive command responses from the scanner. File Data Port The TCP port used by the scanner to download files. Real-time Data Port The UDP port number used to broadcast real-time data. Event/Status Port The UDP port number used to broadcast messages containing
status or error information.
Table 2 – Communication Ports
For additional information on the TCP/IP and UDP protocols, the Internet Engineering Task Force (IETF) is the definitive source of information. They are located at http://www.ietf.org. Some documents of particular interest are:
IETF RFC 791: Internet Protocol (http://www.ietf.org/rfc/rfc791.txt) IETF RFC 768: User Datagram Protocol (http://www.ietf.org/rfc/rfc768.txt)
Note: A System 7000 scanner is capable of generating a significant amount of network traffic when broadcasting real-time data; therefore, it is important to carefully consider the network architectural design.
2.2 Accessing Multiple Scanners (Synchronization)
It is possible to access multiple scanners with a single application. However you must establish a unique network connection to each scanner. Individual scanners may operate independently or be synchronized with each other (i.e. they perform simultaneous sampling because their analog-to-digital converter clock signal is shared via synchronization cables). Synchronization is discussed in detail in the “System 7000 Instruction Manual”.
If your application does not require simultaneous sampling, it will simplify your programming (and physical setup), if you leave your scanners unsynchronized. If you choose to synchronize your scanners, they are referred to as being “networked” together. This should not be confused with the Ethernet network. One scanner in the “network” must be designated as the master scanner. There is a special command set that deals with configuring and starting data collection on synchronized scanners.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 10 of 142
2.3 System States
The System 7000 scanner has eight states.
State Description
Idle The system is waiting for commands. Armed The system is armed and waiting for a signal to begin scanning. Scanning The system is collecting data Calibrating The system is calibrating. Uploading The system is uploading data to the host. Downloading The system is downloading data from the host PC. (internal use only) Updating Flag The system is updating firmware. (internal use only) Maintenance Mode The system is performing a maintenance-level command.
Table 3 – System States
2.4 Command Overview
The following chart shows the System 7000 command list broken down by functional group. It lists the required state for each command.
If you are using the LabVIEW instrument driver or the ActiveX interface you will find that many of these commands have been bundled into a single “vi” or method,
Command Group Card
Get Card Information Idle, Armed, Scanning Set Excitation (Strain Gage, High Level, LVDT) Idle Excitation Output Enable/Disable (Strain Gage, High Level,
Get Free Space on Compact Flash Idle, Armed, Scanning Get Card Status Idle, Armed, Scanning,
Card Reset Idle Set/Query LVDT Excitation Frequency (LVDT) Idle Query Temperature Sensor Idle
Channel
Read the A/D Converter Idle Set Channel Recording Group Idle Set FIR Filter Idle Set Filter to Default Idle Shunt Calibration Resistor Enable/Disable (Strain Gage) Idle Remote Calibration Resistor Enable/Disable (Strain Gage) Idle Half Bridge Enable/Disable (Strain Gage, LVDT) Idle Select Half Bridge Dummy Resistor (Strain Gage) Idle Set/Query Thermocouple Type Idle Assign a Limit Event Condition to a Channel Idle Set LVDT Demodulator Source (LVDT) Idle
Recording
Manual Recording Mode Idle Set Pre-Trigger Buffer Size for Manual Recording Idle Set Time-Based Recording Mode Idle Set Time-Based Recording Count Idle Set Time-Based Recording Delay Idle Set Time-Based Recording Skip Count Idle Set Time-Based Recording Burst Count Idle
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Command Valid State
Idle
LVDT)
Calibrating
Idle
Page 11 of 142
Limits-Based Recording Setting Idle Set Limits-Based Recording Mode Idle Set Limits-Based Recording Skip Count Idle Set Limits-Based Recording Burst Count Idle Set Limits-Based Recording Burst Skip Count Idle
Scan
Set Scan Rate Idle Create Scan List Idle Set AutoStop Idle Get Last Data File Information Idle Set Scanner ID in Scan Header File Idle Set Project Name in Scan Header File Idle Set a Descriptor in Scan Header File Idle Set a GUID in Scan Header File Idle Set a IP Address in Scan Header File Idle Set the Size of the Scan Buffer Idle
Limits (Recording)
Set Limit Type Idle Set Number of Limit Event Conditions Idle Set Limit Event Condition Idle Set Lower Limit Value Idle Set Upper Limit Value Idle Set Pre-Limit Buffer Size Idle Set Post-Limit Buffer Size Idle Ignore/Accept Sync (Global) Limits Idle Set Pre-Limit Buffer Size for Sync (Global) Limits Idle Set Post-Limit Buffer Size for Sync (Global) Limits Idle
System
Set Date/Time Idle Get Free Space on Compact Flash on Control Module Idle Configure Online Data Idle, Scanning Define Scanner’s Network Configuration Idle Verify Sync Cable Status Idle Card Detect Idle Clear Errors Idle Get Control Module Information Command Idle Display Flashing LED Sequence Idle System Status Query ALL Convert System Error Code to Text Idle, Armed, Scanning
Action
Arm Idle Disarm Armed Start Scaning Armed Stop Scanning Scanning Start Manual Recording Scanning Stop Manual Recording Scanning Start Online Data Transfer Scanning Stop Online Data Transfer Scanning Synchronize Network Scanners Armed Start Scanning on Networked Scanners Scanning
File
Retrieve File from AIM Card Idle List Files on AIM Card Idle Delete File on AIM Card Idle Cancel File Transfer Uploading List Files on Control Module Idle Retrieve File from Control Module Idle Delete File from Control Module Idle
Table 4 – Command List
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 12 of 142
2.5 Debugging Tips
A packet sniffer (or analyzer) program is useful for monitoring the TCP and UDP traffic to and
from your System 7000(s).
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 13 of 142
3 PROGRAM LAYOUT
This section describes common commands and techniques for programming the scanner. It does not include all possible commands or scenarios. Refer to the documentation for your selected programming methodology for a complete listing of capabilities.
There are two standard methods of acquiring data from channels on the scanner. You can use both methods of data acquisition in a single application.
1 – Scanning
Scanning is the process of arming the system and starting the acquisition of multiple channels at the same scan rate.
Why choose scanning?
You wish to sample from multiple channels simultaneously To record the data directly onto the System 7000 scanner Your application requires high scan rates You wish to monitor real-time data broadcast from the scanner
2 – Single-Point Reads
Single-point reads are a direct read of the analog-to-digital converter for a single channel.
Why choose single point reads?
You have a static system (low scan rate) There is no need to read from more than one channel simultaneously. Simplifies programming
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 14 of 142
3.1 Overview of Program Layout - Scanning
Figure 1 shows the flow of a typical program accessing the System 7000 scanner and performing scanning.
Idle State
Idle State
Idle State
Armed State
Connect to System and
Validate
Perform Configuration
Arm
Start Scanning
Yes
Scanning State
Idle State
(Uploading State when
No
Data is transferred)
Idle State
Scanning
(Acquiring Data)
Stop Scanning
Download Recorded Data
(optional)
Decode and Scale
Recorded Data
(optional)
Acquire More
Data?
No
UDP Data
Disconnect from
Scanner
Monitor Real-Time Data
(optional)
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Yes
Change
Configuration?
Figure 1 – Program Layout (Scanning)
Page 15 of 142
3.2 Overview of Program Layout – Single Channel Reads
Figure 2 shows the flow of a typical program accessing the System 7000 scanner and performing single channel readings (no scanning is performed).
Idle State
Connect to System and
Validate
Idle State
Perform Configuration
Idle State
Perform a Single Reading on One or More Channels
Yes
NO
Scale Reading (optional)
Acquire More
Data?
Yes
Change
Configuration?
Figure 2 – Program Layout (Single Channel Reads)
No
Disconnect from
Scanner
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 16 of 142
3.3 Establishing a Connection to the Scanner
The first step in programming the System 7000 scanner is connecting to one or more of its TCP and UDP ports.
TCP Command Port
You must connect to the command port in order to send commands to and receive responses
from the scanner.
You do not need to connect to this port if you are planning on using StrainSmart to control
the scanner and you only wish to perform monitoring of the UDP data.
TCP Data Port
Connection to this port is required if you wish to download file data or directory listings from
the scanner.
If you are not recording data on the scanner (i.e. you are only monitoring real-time data) or if
you do not wish to download files you do not have to connect to this port.
UDP Real-time (Online) Data Port
You must set your program up as a listener on the multicast broadcast from the System 7000
if you wish to monitor real-time data.
If you are not monitoring real-time data, you can ignore this data port.
UDP Event Port
You must set your program up as a listener on the multicast broadcast from the System 7000
if you wish to receive event, status, and error messages from the Scanner.
If you don’t wish to receive these messages, ignore this port. It is not required to receive
status and error messages via broadcast as you may query the system for status information via a TCP command.
Information on configuring the system network connections is contained in the “System 7000 Instruction Manual”. You may connect to more than System 7000 scanner in a single application.
Programming tips:
1) If you cannot establish TCP connection with a scanner, verify that you can successfully “Ping” the IP address. If you cannot communicate with the scanner with the “Ping” command, your program will be unable to communicate as well.
2) If you still cannot establish communication, verify that no other application is currently connected to the scanner (such as StrainSmart or the System Calibration utility).
LabVIEW Connection to the scanner is done when you pass the VISA
Active X Connection to the scanner is done by setting the, IPAddress
Low-level Varies by language and environment
resource name of the command and data ports to the Initialize VI.
CommandPort and DataPort properties then calling the Open() method.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 17 of 142
3.4 System Validation
After you have successfully connected with the System 7000 you may wish to confirm the connection by validating that you are, in fact, connected to a System 7000.
LabVIEW Use the ID Query parameter to the Initialize VI to
Active X The Open() method will automatically verify the connection
Low-level Verify the identifier string in the Get Control Module
automatically perform a check. Or you may call the Query System Information VI.
or you may call the GetSystemInformation() method.
Information command.
3.5 Configuration
3.5.1 System Level Configuration
Certain system-level commands are useful (but not required) as part of configuration.
Set the System 7000 date and time: This should be done as part of the system startup. For closest correlation with the personal computer clock this can also be done as part of configuration before the system is armed.
LabVIEW Use the SetDateandTime parameter to the Initialize vi to
Active X SetDateTime method Low-level Set Date/Time command.
Clear Errors: Clears active card and system errors. It does not delete or clear the error log files.
LabVIEW Use the ClearErrors parameter to the Initialize vi to
Active X ClearErrors method Low-level Clear Errors command.
Detect Cards: Provides a listing of the slot locations where an I/O card is detected.
LabVIEW Detect Cards VI Active X DetectCards method Low-level Card Detect command
automatically set the date and time. You may also call the Set Data and Time VI.
automatically clear errors. You may also call the Clear All Errors VI.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 18 of 142
3.6 Card-level Configuration
Card-level configuration commands are performed on an individual I/O card. Any settings are applied to all channels on the card. Instructions on how to determine the appropriate values for the settings is beyond the scope of this manual, see the “System 7000 Instruction Manual”, the StrainSmart help system, or contact the Vishay Micro-Measurements application engineering department for assistance.
All Cards
Query Card Type: If you have a scanner with a variety of cards, you may wish to query the
system to determine which card type (strain gage, high level, thermocouple, or LVDT) is in each slot.
LabVIEW Query Card Information VI Active X GetCardInformation method Low-level Get Card Information command
Reset the Card: Resets the configuration values to the default state.
LabVIEW Use the ResetAimCards parameter to the Initialize vi to
Active X ResetCard method. Low-level Reset Card command
Programming tip: This command should be used to set a card (and its channels) back to the default states. This can be a useful shortcut in your program.
Strain Gage Cards
Configure the excitation settings.
LabVIEW Configure Strain Gage Card Excitation VI Active X ConfigureStrainGageCardExcitation method Low-level Set Excitation command
High Level Cards
Configure the excitation settings.
LabVIEW Configure High Level Card VI Active X ConfigureHighLevelCardExcitation method Low-level Set Excitation command
Thermocouple Cards
No card-level configuration
reset all cards. You may also call the Reset VI.
Excitation Output Enable/Disable command (The excitation level should be set before the excitation output is enabled.)
Excitation Output Enable/Disable command (The excitation level should be set before the excitation output is enabled.)
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 19 of 142
LVDT Cards
Set the frequency and enable the excitation voltage.
Note: There is interdependence between the excitation state and the demodulator source input configuration. The System 7000 automatically sets the demodulator source to Positive Reference when the excitation is disabled.
LabVIEW Configure LVDT Card Excitation VI Active X ConfigureLVDTCardExcitation method Low-level Set Excitation Frequency command
Set Excitation command Excitation Output Enable/Disable command (The excitation frequency and level commands should be set before the excitation output is enabled.)
Programming tip: It is common to loop through all 16 (or 4) slots in the scanner. If the slot has a card inserted, query the type of card, and perform the appropriate card-level configuration.
3.7 Channel-level Configuration
Channel-level commands are performed on an individual channel on the card. Remember there are typically eight channels on a card and each must be set independently. Instructions on how to determine the appropriate configuration settings is beyond the scope of this manual, see the “System 7000 Instruction Manual”, the StrainSmart help system, or contact the Vishay Micro-Measurements application
engineering department for assistance.
All Cards
You must assign a filter to each channel. The filter is based on the scan rate (sampling rate) of the system. It is recommended that you use the default filter for the scan rate, though it is also possible to enter your own 252 tap filter.
LabVIEW Configure Default Filter VI Active X SetDefaultFilter method Low-level Set Default Filter command
Strain Gage Cards
For strain gage cards you must configure the bridge settings.
LabVIEW Configure Strain Gage Channel Bridge Settings VI Active X ConfigureStrainGageChannelBridgeSettings method Low-level Enable/Disable Half Bridge command
Dummy Resistor Selection command
High Level Cards
No channel-level configuration
Thermocouple Cards
Define the thermocouple type
LabVIEW Configure Thermocouple Channel VI Active X ConfigureThermocoupleChannel method Low-level Set Thermocouple Type command
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 20 of 142
LVDT Cards
Select the demodulator input source.
LabVIEW Configure LVDT Channel Input Connections VI Active X ConfigureLVDTChannelInputConnections method Low-level Enable/Disable Half Bridge command
Set LVDT Demodulator Source command
Programming tip: As you are looping through each card in the system, you may embed a loop that indexes through each channel on the card and perform the channel-level configuration.
3.8 Configuring Scan Information
You must also program the scan rate and the scan list for each scanner. Please refer to the definition of scan and scan rate.
Scan Rate
Static systems (those whose inputs change slowly) generally use a much lower scan rate than dynamic systems (those whose inputs change rapidly). You should always attempt to match your scan rate with the highest rate of change of your inputs.
The System 7000 has a base-10 and a base-2 master clock and you are provided with a selection of scan rates for both clocks.
The scan rate must be the same for every card and scanner in the network.
Scan List
The scan list defines which channels will be read during scanning. For example if you have 2 cards in your system, you may only wish to take readings from the first channel on each card. Therefore your scan list will include card 1:channel 1 and card 2:channel 1.
Scan Buffer Size
The scan buffer size defines the number of scans that may be stored in the scan buffer before the data is written to the card’s compact flash. This effects how many scans may be specified for pre-triggering.
There is a tradeoff when considering how to size your scan buffer. A larger scan buffer size allows you to have a larger pre-trigger buffer for use in recording. However, having a smaller scan buffer reduces the amount of data that may potentially be lost in the event of a catastrophic power outage (as more data has been offloaded to secure memory). It is recommended to always use the smallest scan buffer size possible for your application
LabVIEW Configure Scan VI Active X ConfigureScan method Low-level Set Scan Rate command
Create Scan List command Set the Size of the Scan Buffer command
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 21 of 142
3.9 Recording
Each card in the system has its own compact flash card and the card may be configured to store the sampled data on the compact flash card. This data may be retrieved at the end of the scanning session. There are three different methods for recording data. You may choose not to record data or combine one or more of the methods.
3.9.1 Setting up Simple Recording
The most common types of recording are
1. Continuous Time-based Recording: Record all selected channels continuously at the scan rate.
Recording starts automatically when scanning starts and ends when scanning is stopped.
2. Continuous Manual Recording: Record all channels continuously at the scan rate. Recording
starts when a “Start Recording” command is received and stops when the “Stop Recording” command is received.
Continuous Time-based Recording
To set up the System 7000 scanner for continuous time-based recording perform the following steps.
1. Assign all channels to a single recording group (group A).
2. Configure the time-based recording mode to be “Continuous”.
3. Set the time-based skip count, burst count, and burst skip count to 0.
4. Set the time-based delay and recording count to 0.
LabVIEW Configure Channel Recording Group VI
Active X SetChannelRecordingGroup method
Low-level Set Channel Recording Group command
Continuous Manual Recording
To set up the System 7000 scanner for continuous manual recording perform the following steps.
1. Assign all channels to recording group A.
2. Configure the manual recording mode to be “Continuous”.
3. Set the manual recording “pre-trigger” buffer size to 0.
LabVIEW Configure Channel Recording Group VI
Active X SetChannelRecordingGroup() method
Low-level Set Channel Recording Group command
Configure Time Based Recording VI Configure Time Based Recording Start and Stop VI
ConfigureTimeBasedRecording method ConfigureTimeBasedRecordingStartStop method
Set Time-Based Recording Mode command Set Time-Based Recording Count command Set Time-Based Recording Delay command Set Time-Based Recording Skip Count command Set Time-Based Recording Burst Count command Set Time-Based Recording Burst Skip Count command
Configure Manual Recording VI
ConfigureManualRecording() method
Set Manual Recording Mode command Set Pre-trigger Buffer Size for Manual Recording command
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 22 of 142
3.9.2 Advanced Recording Options
3.9.2.1Recording Groups
The System 7000 is capable of assigning every channel on a card to one of four recording groups (A-D). This may be used as a means to assign different recording rates and configurations to channels. In other words, even though all channel data is being acquired at the same rate you are capable of storing the data with a variety of different rates and methods. The default for all channels is an assignment to group A.
Card Channel Group
1 1 A 2 A 3 A 4 A 5 B 6 B 7 B 8 B 2 1 A 2 B 3 C 4 D 5 A 6 B 7 C 8 D 3 1 C 2 C 3 C 4 C 5 D 6 D 7 D 8 D
Table 5
Because your scan rate is selected based upon the inputs with the highest rate of change, you may wish to use multiple recording groups if you have some inputs that change more slowly. This reduces the amount of data that is stored and improves system performance. A common scenario is when a system has thermocouple inputs used to monitor the ambient temperature in addition to strain gage inputs. Because temperatures may only change 2-3 degrees per hour the thermocouple inputs may be recorded at a slower rate than the strain gage inputs.
In the figure below four traces are shown, each representing a unique record rate. For simplicity, assume that only time-based recording is selected. Each point represents a recorded scan.
As an example, a scanner has three cards with the channels assigned to groups as shown. Each channels assigned to group A is recording at the scan rate (for example 1000 samples/sec). You may define all the Group B channels to have a recording rate 0f 500 samples/sec, Group C of 100 samples/sec, and Group D of 10 samples/sec.
It is recommended that you send the recording configuration for all groups to all cards; if a card doesn’t have any channels in that group then the configuration information isn’t used. In this way, all channels in Group A share the same recording rate, all channels in Group B share a rate, and so forth, regardless of card.
It is possible, but not recommended, to have the groups configured differently on each card. This manual assumes that each recording group is configured identically across all cards. All examples and discussion are based on this assumption.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 23 of 142
Figure 3 – Example of Recording Groups
LabVIEW Configure Channel Recording Group VI Active X SetChannelRecordingGroup method Low-level Set Channel Recording Group command
3.9.2.2 Configuring Time Based Recording
Time-based recording is the type of data recording that is performed based on a time interval.
Group-level Recoding Options
The following recording options are configured based on a recording group (A-D).
Recording Mode
Time-based recording may be disabled (off) or set up to record continuously or intermittently (i.e. in "bursts").
Off: Time-based recording is disabled Continuous: When recording continuously, scans are recorded at a fixed rate for the
entire duration of the scan session.
Burst: In burst mode, recording may be scheduled to occur at certain intervals
throughout the scan. For example, you may specify to record a "burst" of 100 scans every 2 minutes.
Skip Count
The skip count is used when the recording mode is “continuous” or “burst”. The skip count allows you to specify how many scans to skip between each recorded scan. A value of 0 means skip none (i.e. record each scan). A value of 1 means record every other scan, a value of 9 means record every 10th scan, etc… This value is used in both continuous and burst recording modes.
If you would like to think in terms of a recording rate (i.e. record 1 scan every N secs), you can calculate the number of scans to skip by:
Skip_Count = (Scan_Rate * Desired_Recording_Interval) - 1
For example if your scan rate is 10 scans/sec and you would like to record a scan every 5 seconds:
Skip_Count = (10 * 5) - 1 = 49 scans
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 24 of 142
And an example in different wording, if your scan rate is 2000 scans/sec (2kHz) and you would like to record at a rate of 10 scans/sec (10Hz):
Skip_Count = (2000 /10) - 1 = 199 scans
Burst Count
The burst count is used when recording in burst mode and allows you to specify how many recordings to store during each recording burst. It is used in conjunction with the burst skip count. The burst count can be considered the “number of scans to record during each burst”.
For example, if your scan rate is 100 scans/sec and you would like to record 400 scans during each burst, the burst count is simply 400.
You may also consider the burst from the perspective of “interval of time” and calculate the number of scans to record as follows:
Burst_Count = (Recording_Rate * Record_Time)
For example if you have a scan rate of 100 scans/sec and you would like to record data for 5 seconds
Burst_Count = 100 * 5 = 500 scans
Burst Skip Count
This value is used when recording in Burst mode. It allows you to configure the interval between each burst.
If you would like to schedule recording to occur at a recurring rate, calculate
Burst_Skip_Count = (Scan_Rate * Recording_Interval) – Burst_Count - 1
For example if your scan rate is 10 scans/sec and you would like to have 2 scans recorded every 5 seconds
Burst_Skip_Count = (10 * 5) – 2 - 1 = 47 scans
LabVIEW Configure Time Based Recording VI Active X ConfigureTimeBasedRecording method Low-level Set Time-Based Recording Mode command
Set Time-Based Recording Skip Count command Set Time-Based Recording Burst Count command Set Time-Based Recording Burst Skip Count command
How to set up intermittent recording
You may combine the skip count, burst count, and burst skip count to set up intermittent recording. For example, you have a scan rate of 2 kHz and wish to record at a rate of 1 kHz. Further you wish to only perform recording for 30 seconds every 5 minutes. In other words, you will record a 30 second “burst” of data every 5 minutes (300 seconds). That 30 second burst will have a recording rate of 1000 samples/second. Calculate as follows:
Skip_Count = (2000 / 1000) - 1 = 1 scan Burst_Count = 2000 * 30 = 60000 scans Burst_Skip_Count = (2000 * 300) –60000- 1 = 539999 scans
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 25 of 142
Card-Level Recoding Options
The following time-based recording options are configured on a per card basis.
Recording Delay before Start
The number of scans to delay before recording of the data starts. A value of 0 means that the scanner will start recording at the first scan, likewise, a value of 100 means that the scanner will start recording at the 100th scan.
If you would like to delay a certain amount of time before recording starts you can calculate the number of scans required to reach the time by:
Number of Scans to Delay = Scan_Rate * Time_Delay
For example if your scan rate is 10 scans/sec and you would like to delay 5 seconds before recording starts
Number of Scans to Delay = 10scans/sec * 5 secs = 50 scans
Number of Scans to Record
Specifies the total number of scans to record. A value of 0 indicates that recording will not stop until scanning stops! A value of 1000 means that you will stop recording after 1000 scans have occurred. (To clarify, recording stops after the 1000th scan, not after 1000 scans have been recorded.)
If you would like to record for a certain amount of time, you can calculate the number of scans required to reach the time by:
Number of Scans to Record = Scan_Rate * Amount_of_Time
For example if your scan rate is 10 scans/sec and you would like to record for 30 seconds
Number of Scans to Record = 10 * 30 = 300 scans
LabVIEW Configure Time Based Recording Start and Stop VI Active X ConfigureTimeBasedRecordingStartStop() method Low-level Set Time-Based Recording Delay command
Set Time-Based Recording Count command
3.9.2.3 Configuring Manual Recording
Unlike time-based recording, manual recording does not start automatically. Manual recording on the scanner starts when a “Start Manual Recording” command is received and ends when a “Stop Manual Recording” command is received. Your program can tie these commands to a user input, a signal read from another device, or similar.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 26 of 142
Manual Recording Mode
You have several manual recording mode options. Notice these are performed on a card level (not a group level).
Off- Disables manual recording on the card SingleShot- Configures the card to record one reading when a start manual recording
command is received. (There is no need to send a Stop Manual recording command.)
Continuous - Configures the card to record continuously after the manual recording is
started until manual recording is stopped
Manual Recording “Pre-Record” Buffer Size
The System 7000 buffers a defined number of scans. You may specify that when you send the “Start Manual Recording” command to the scanner you would also like to record some number of scans that occurred just previously. You must specify the number of “pre-record” scans that you would like have recorded. For example, you send the “Start Recording” command based on some external signal. The scanner receives the command when scan N is being processed. But you want to allow for some amount of lag time between the event that generated the signal and the “Start Recording” command being sent, so you specify that you would also like to record the 5 most previous scans. In this case you would also be recording scans N-5, N-4, N-3, N-2, N-1, as well as N and so on.
If you'd like to think of acquiring XX number of seconds of "pre-trigger" data, use the following formula to convert time into scans.
NumScans = ScanRate * Time
LabVIEW Configure Manual Recording VI Active X ConfigureManualRecording method Low-level Manual Recording Mode command
Set Pre-trigger Buffer Size for Manual Recording command
3.9.2.4 Configuring Limits Recording
Because of the flexibility of our limits recording, this section contains a lot of inter-dependent information. There are examples at the end of the section that tie much of the material together.
How Limits Work
In the following two figures we will use two channels shown below as green and red traces on a chart. A purple line through the middle of the chart will represent the threshold above which a limit condition will satisfied for each channel. Anytime the channel’s trace is above the line that channel can be said to have satisfied (or tripped) a limit condition.
Figure 4 – Limits
Figure 4 shows when limits are satisfied in yellow.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 27 of 142
Trip Scan
A trip scan is the scan that satisfies a limit when no other limit is active. When a trip scan occurs it is recorded on all channels regardless of the recording rate. Trip scans are always recorded because they indicate which scan initiated limits-based recording. Notice how when the channel represented as a red line crossed the threshold, it satisfied a limit but it did not cause a trip scan. This is because limits-based recording is already active.
Figure 5 – Limit Trip Scans
Figure 5 shows 'trip scans' as yellow dots.
Defining Limits
In the System 7000 scanner defining limits is a four-step process. First define the limit conditions, next define how you want the card to respond to a limits condition, then assign a limit condition to a channel, and, lastly, configure how you want recording to occur based on that limit.
Defining Limit Conditions
The first step is defining a limit conditions table that is sent to each card in the system. The table can hold up to 50 defined conditions. (Though only incremental limits type use more than 1 condition.) The following parameters are used to define this limit condition table.
Index
Index of a limit condition in the limit condition table
Test Condition
The test condition defines the test that will activate a limit.
None - This condition does not have a limit assigned. Greater Than - Trip when the input reading is greater than the upper limit value. Less Than - Trip when the input reading is less than the lower limit value. Equal - Trip when the input reading is equal to the upper limit value. Between - Trip when the input reading is between the two limit values specified. Outside - Trip when the input reading is outside the range specified by the two limit
values.
Range -This condition is valid only when the Limits Type is set to Range mode. The
limit will be tripped when the input reading is within the specified range as defined by the increment/decrement values.
Lower Limit
The lower limit value is used in checking the test condition. The lower limit is used by the Less Than, Between, Outside, and Range conditions. This value is entered in analog-to­digital converter counts.
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 28 of 142
Upper Limit
The upper limit value is used in checking the test condition. The upper limit is used by the Greater Than, Equal, Between, Outside, and Range conditions. This value is entered in analog-to-digital converter counts.
Strain Gage 1 count = 0.5µε, or 0.25µV/V
High-Level 1 count = 100µV Thermocouple 1 count = 1µV LVDT 1 count = 50 µV
Table 6
rms
Number of “Pre-Limit” Scans
The System 7000 buffers a defined number of scans. You may specify that when a limit is tripped you would also like to record some number of scans that occurred just previously. You must specify the number of “pre-limit” scans that you would like to have recorded. If you'd like to think of acquiring N number of seconds of "pre-limit" data, use the following formula to convert time into scans.
NumScans = ScanRate * Time
Number of “Post-Limit” Scans
You may also specify some number of scans that should be recorded after the limit goes inactive. If you'd like to think of acquiring N number of seconds of "post-limit" data, use the following formula to convert time into scans.
NumScans = ScanRate * Time
Table 7 shows that three limits are defined.
This table should be passed to each card in the scanner. Note: the indexes must be assigned sequentially (i.e. do not skip an index).
Index Condition Lower
Limit
Upper Limit
Pre-Limit Scans
Post-Limit
Scans
0 Greater Than not used 1000 100 0 1 Less Than 50 not used 0 0 2 Outside 700 800 0 0
: :
None not used not used 0 0 None not used not used 0 0
49 None not used not used 0 0
Table 7
LabVIEW Configure Limit Condition VI Active X ConfigureLimitCondition method Low-level Set Limit Event Condition command
Set Lower Limit Value command Set Upper Limit Value command Set Pre-trigger Buffer Size command Set Post-trigger Buffer Size command
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 29 of 142
e. This limit type
trigger buffers are valid and are
Defining the Type of Limit (how limit’s are handled by a card)
The Limit Type defines the style of limit handling performed by a card. (The limit type is the same for all channels on a card.)
None: Normal:
Limit conditions will not be checked.
Normal limits type allows varying methods of recording.
Examples: Record continuously when my temperature sensor indicates greater than 100° or record while my strain gage sensor indicates a value between 800 and 900 µStrain.
Incremental:
Allows limits to be defined with multiple sets of conditions that are evaluated in a defined sequence. As a limit condition is met, the card begins checking for the next limit condition in the sequenc is often used for load or hysteresis testing. The recording type is ignored as it is assumed to be singleshot. Pre-and post­useful in defining a fixed number of scans to be recorded at each limit.
Examples: Record 1 scan when my load cell indicates a value greater than 100 kilograms, then record 1 scan when my load cell indicates greater than 250 kgs, and finally when greater than 500 kgs.
Range:
In this mode, the card considers the first scan to trip the first limit. When the input values shift upward or downward by the specified range, the next limit condition is tripped. This occurs throughout the duration of scanning. The recording type is ignored as it is assumed to be singleshot. Pre-and post-trigger buffers are valid and are useful in defining a fixed number of scans to be recorded at each limit.
Example: Record the first scan, then record 1 scan every time my transducer sees another 100 kilograms added or removed.
LabVIEW Configure Limits Type VI Active X SetLimitType method Low-level Set Limit Type command
Assigning Limit Conditions to a Channel Assigning the Number of Limit Conditions to a Channel
After you have defined your table of limit conditions, you should assign each limit condition to one or more channels. The channel that is assigned the condition is the channel whose value is monitored and compared. You may assign a single limit condition to multiple channels.
If a Normal or Range type limit is active, a channel may only have one limit condition assigned. So the channel's limit index of 0 may be assigned to any of the 50 definable limit conditions
For Incremental limits, a channel may be associated with up to 50 limit conditions. (i.e. channel limit indexes 0 through 49 may be assigned to any of the 50 definable limit conditions). Note: these limits must be assigned sequentially (i.e. no channel limit indexes may be skipped)
You must also separately define how many limit conditions are assigned to this channel ( 0 through 49).
LabVIEW Assign Limit Condition to Channel VI
Active X AssignLimitToChannel method
Low-level Assign a Limit Event Condition to a Channel command
Configure Number of Limit Conditions VI
SetLimitConditionCount method
Set Number of Limit Event Conditions command
Vishay Micro-Measurements System 7000 Programmer’s Reference Manual
Page 30 of 142
+ 112 hidden pages