all | frequencies |
|
exhibits | applications |
---|---|---|---|---|
manual |
app s | submitted / available | |||||||
---|---|---|---|---|---|---|---|---|
1 |
|
Manual | Users Manual | 2.32 MiB | August 09 2008 | |||
1 | External Photos | native | August 09 2008 | |||||
1 | Cover Letter(s) | August 09 2008 | ||||||
1 | Operational Description | August 09 2008 | ||||||
1 | ID Label/Location Info | August 09 2008 | ||||||
1 | External Photos | native | August 09 2008 | |||||
1 | Cover Letter(s) | |||||||
1 | Test Report | August 09 2008 | ||||||
1 | Test Setup Photos | native | August 09 2008 |
1 | Manual | Users Manual | 2.32 MiB | August 09 2008 |
P r e c i s i o n L o c a t i o n U l t r a W i d e b a n d S y s t e m
( P L U S ) Precision Real-Time Location System S y s t e m M a n u a l S y s t e m M a n u a l Precision Real-Time Location System P320-0239 July 2008 Time Domain Corporation Cummings Research Park 330 Wynn Drive, Suite 300 Huntsville, AL 35805 USA http://www.timedomain.com Tel:
+1.256.922.9229
+1.888.826.8378 Fax: +1.256.922.0387 2 PLUS System Manual Nondisclosure Provisions This manual is confidential and is governed by the terms of the Nondisclosure Agreement and the Partner Agreement currently in effect between the parties. Copyright 2001-2008 Time Domain Corporation. All rights reserved. Trademarks Time Domain and PulsON are registered trademarks of Time Domain Corporation. Ethernet is a registered trademark of Xerox Corporation. PulsON Triangle logo and PLUS are trademarks of Time Domain Corporation. Any trademarks, trade names, service marks or service names owned or registered by any other company and used in this manual are the property of its respective company. Rights Rights to use this documentation are set forth in the Terms and Conditions accompanying the PLUS hardware. Product Safety Notice This device is listed under the ETL mark as Information Technology Equipment. Regulatory Notice U.S. Operation: This device complies with Part 15 of the FCC Rules. Operation is subject to the following conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. (3) Operation on board an aircraft or a satellite is prohibited. (4) Devices operating under this section may not be employed for the operation of toys. Operation in disregard of these conditions is a violation of 47 U.S.C. 301 and could subject the operator to serious legal penalties. Disassembling or modifying the unit will void FCC compliance and void Time Domain warranty provisions. Non-U.S. Operation: PulsON technology has not been authorized for use or commercial exploitation under the regulations of any non-US government agency. Please confer with your governments regulatory agency to ensure proper authorizations are obtained. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual 3 Table of Contents 1. OVERVIEW .................................................................................................................10 1.1 Manual Contents ................................................................................................................... 11 1.2 PLUS System Products ......................................................................................................... 11 1.2.1 Synchronization Distribution Panel .................................................................................... 11 1.2.2 Reader ................................................................................................................................. 11 1.2.3 Asset Tag ............................................................................................................................ 12 1.2.4 Antenna ............................................................................................................................... 12 1.2.5 Location Software ............................................................................................................... 12 1.3 Additional Components and Peripherals ............................................................................ 12 1.3.1 Visualizer ............................................................................................................................ 12 1.3.2 Location Software Server .................................................................................................... 12 1.3.3 Ethernet Cable ..................................................................................................................... 13 1.3.4 PS/2 Serial Adapter Cable ................................................................................................... 13 1.3.5 Reader Power Supplies ....................................................................................................... 13 1.3.6 Ethernet Switch ................................................................................................................... 13 2. PLUS SYSTEM INSTALLATION ................................................................................14 2.1 Pre-Installation Site Survey .................................................................................................. 15 2.2 Reader Placement and Wiring Diagram ............................................................................. 17 2.3 Installation Overview ............................................................................................................ 18 2.3.1 Unpacking and Inspecting Hardware .................................................................................. 18 2.3.2 Installing and Powering the SDP ........................................................................................ 18 2.3.3 Configuring Reader and Location Engine IP Addresses ..................................................... 19 2.3.4 Ceiling Installation of Readers and Antennas ..................................................................... 21 2.3.4.1 Mounting Readers to Antennas .................................................................................. 21 2.3.4.2 Installing Reader / Hinged Antenna Assemblies ........................................................ 21 2.3.5 Surveying Readers and Generating Coordinates ................................................................. 23 2.3.6 Server Setup and Software Installation ............................................................................... 24 Connecting the SDP, Ethernet Switch, and Server ..................................................... 24 Server IP Address Configuration ............................................................................... 24 Server Firewall Settings ............................................................................................. 25 2.3.6.1 2.3.6.2 2.3.6.3 2.4 Configuring the System Using Visualizer ............................................................................ 26 2.4.1 Workflow ............................................................................................................................ 26 2.4.2 PLUS Visualizer Software Installation ............................................................................... 27 2.4.3 Set Data Input ..................................................................................................................... 28 2.4.4 Check Reader Communications .......................................................................................... 28 2.4.5 Setting English/Metric Units ............................................................................................... 29 2.4.6 Entering Reader Survey Data .............................................................................................. 29 2.4.7 Reader Groups..................................................................................................................... 30 Reader Groups Overview ........................................................................................... 30 Solution Types ............................................................................................................ 30 2.4.7.1 2.4.7.2 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 4 PLUS System Manual 2.4.7.3 Tracking Cells ............................................................................................................ 30 2.4.7.4 Maps .......................................................................................................................... 33 2.4.7.5 Group Setup Guidelines ............................................................................................. 33 2.4.8 Assigning Reader Groups ................................................................................................... 34 2.4.9 Group Properties ................................................................................................................. 34 2.4.10 Map Properties ............................................................................................................... 36 Enabling Readers ........................................................................................................... 37 2.4.11 2.4.12 Cable Length and Termination Settings ......................................................................... 38 System Configuration Files ............................................................................................ 38 2.4.13 2.5 System Calibration................................................................................................................ 39 2.5.1 Calibration Tag Placement ................................................................................................. 39 2.5.2 Checking Calibration Tag Statistics ................................................................................... 40 2.5.3 Setting up Reader-Tag Associations ................................................................................... 42 2.5.4 Calibration Tag Survey and Configuration......................................................................... 44 2.5.5 Calibrate the System ........................................................................................................... 44 2.6 Monitoring Location Performance ...................................................................................... 48 2.6.1 Viewing Calibration Tags ................................................................................................... 48 2.6.2 Tag Statistics ...................................................................................................................... 48 2.6.3 Time Difference of Arrival (TDOA) Statistics ................................................................... 49 2.6.4 Position Statistics ................................................................................................................ 51 2.6.5 Filtering .............................................................................................................................. 51 2.6.6 Raw Logfile Recording and Playback ................................................................................ 52 2.7 Troubleshooting Reader Communications ......................................................................... 53 2.7.1 No Reader Connectivity ..................................................................................................... 53 2.7.2 Reader Connectivity but No Tag Traffic ............................................................................ 54 2.8 Reader Installation Worksheet ............................................................................................ 55 2.9 Calibration Tag Installation Worksheet ............................................................................. 56 3. PLUS READER DATA INTERFACE ........................................................................... 57 3.1 Overview ................................................................................................................................ 57 3.2 Network Configuration Options .......................................................................................... 57 3.2.1 Reader IP Address .............................................................................................................. 57 3.2.2 Location Engine IP Address ............................................................................................... 58 3.2.3 Reader Port Assignments.................................................................................................... 58 3.3 RS-232 Interface.................................................................................................................... 58 3.3.1 RS-232 Port Connection Parameters .................................................................................. 58 3.3.2 Terminal Connection Login ................................................................................................ 58 3.3.3 Terminal Connection Commands ....................................................................................... 58 3.4 Detailed Interface Description ............................................................................................. 59 3.4.1 TOA Packet Format ............................................................................................................ 59 3.4.2 Commands and Responses ................................................................................................. 61 Reader Commands ..................................................................................................... 61 3.4.2.1 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual 5 3.4.2.2 Reader Responses ....................................................................................................... 63 3.4.3 Reader Alarms..................................................................................................................... 64 4. PLUS LOCATION SOFTWARE LIBRARY .................................................................66 4.1 Introduction ........................................................................................................................... 66 4.2 Tracker Object Overview ..................................................................................................... 67 4.3 Groups, Maps and Tracking Cells ....................................................................................... 67 4.4 Location Software Configuration ........................................................................................ 68 4.5 Location Software API .......................................................................................................... 68 4.5.1 Commonly Used Functions ................................................................................................. 69 ReadConfig Function ................................................................................................. 69 4.5.1.1 StartTOAMessageQueue Function ............................................................................. 69 4.5.1.2 StopTOAMessageQueue Function ............................................................................. 69 4.5.1.3 4.5.1.4 IsTOAMessageQueueStarted Function ...................................................................... 70 4.5.1.5 NewPosition Event ..................................................................................................... 70 TrackerAlarm Event ................................................................................................... 71 4.5.1.6 4.5.2 Advanced API Features ...................................................................................................... 71 4.5.2.1 Alarms ........................................................................................................................ 71 Calibration .................................................................................................................. 73 4.5.2.2 4.5.2.3 Configuration Storage ................................................................................................ 76 4.5.2.4 Group Configuration .................................................................................................. 76 4.5.2.5 Group Entry Configuration ........................................................................................ 79 4.5.2.6 Map Configuration ..................................................................................................... 81 Calibration Tag Configuration ................................................................................... 82 4.5.2.7 Tag Configuration ...................................................................................................... 84 4.5.2.8 4.5.2.9 Solver Configuration .................................................................................................. 86 4.5.2.10 Data Source Configuration ......................................................................................... 87 4.5.2.11 Debug and Troubleshooting ....................................................................................... 90 4.5.2.12 Miscellaneous ............................................................................................................. 91 4.5.2.13 Status Monitoring ....................................................................................................... 91 4.6 Raw Data Log File Formats.................................................................................................. 93 Configuration ............................................................................................................. 93 Raw Data Record ....................................................................................................... 95 4.6.1.1 4.6.1.2 4.7 C# Sample Application Overview ........................................................................................ 97 4.7.1 Operating the Sample Application ...................................................................................... 97 4.7.2 Code Walkthrough .............................................................................................................. 97 4.7.2.1 Single-Threaded Apartment Versus Multi-Threaded Apartment ............................... 98 4.7.2.2 MainForm Properties .................................................................................................. 98 4.7.2.3 MainForm Methods and Event Handlers ................................................................... 98 5. PLUS VISUALIZER ................................................................................................... 100 5.1 Overview .............................................................................................................................. 100 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 6 PLUS System Manual 5.2 Menu Bar ............................................................................................................................. 102 5.2.1 File .................................................................................................................................... 102 5.2.2 View ................................................................................................................................. 104 5.2.3 Settings ............................................................................................................................. 110 5.2.4 Help .................................................................................................................................. 118 5.3 Toolbar ................................................................................................................................. 119 5.4 Status Bar ............................................................................................................................ 123 5.5 2D Map View Frame ........................................................................................................... 124 5.6 List View Frame .................................................................................................................. 126 5.7 Message View Frame .......................................................................................................... 128 5.8 Logfile Formats ................................................................................................................... 129 5.8.1 Position Data .................................................................................................................... 129 Position Data Record ............................................................................................... 129 5.8.1.1 5.9 Troubleshooting the Visualizer .......................................................................................... 129 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual 7 Table of Figures Figure 1-1 : PLUS SDP, Readers, and Tags ......................................................................................... 10 Figure 1-2 : PLUS Interfaces ............................................................................................................... 10 Figure 2-1: Hardware Connections for a Four-Reader System ........................................................... 14 Figure 2-2: Hardware Placement for a Four-Reader System............................................................... 14 Figure 2-3: Equilateral Triangle Reader Geometry .............................................................................. 16 Figure 2-4: Right Triangle Reader Geometry....................................................................................... 16 Figure 2-5: One through Three Readers per Chain ............................................................................. 17 Figure 2-6: Four through Six Readers Per Chain ................................................................................ 17 Figure 2-7: Reader IP Address Configuration ..................................................................................... 20 Figure 2-8: Solver IP Address Configuration ...................................................................................... 20 Figure 2-9: Reader Connection ........................................................................................................... 21 Figure 2-10: Antenna Frame and Drop Panel ...................................................................................... 21 Figure 2-11: Frame Orientation ........................................................................................................... 21 Figure 2-12: Drop Panel Installation (shown with no Reader mounted) ............................................. 22 Figure 2-13: Closed Panel .................................................................................................................... 22 Figure 2-14: Unterminated Ethernet Cables ........................................................................................ 23 Figure 2-15: PLUS Reader Installation Worksheet .............................................................................. 23 Figure 2-16: TCP/IP Properties ........................................................................................................... 24 Figure 2-17: PLUS Configuration Workflow ....................................................................................... 26 Figure 2-18: Visualizer Application .................................................................................................... 27 Figure 2-19: Set Data Input .................................................................................................................. 28 Figure 2-20: Reader Communications .................................................................................................. 28 Figure 2-21: Setting English/Metric Units ........................................................................................... 29 Figure 2-22: Reader Configuration Window ........................................................................................ 29 Figure 2-23: Tracking Cell for a Four-Reader Group .......................................................................... 31 Figure 2-24: Group Tracking Cell with Boundary Margin .................................................................. 32 Figure 2-25: Tracking Cell Used to Filter Ambiguous Solutions......................................................... 32 Figure 2-26: Assigning Reader Groups ................................................................................................ 34 Figure 2-27: Group Configuration Window ......................................................................................... 35 Figure 2-28: Map Configuration Window ............................................................................................ 36 Figure 2-29: Enabling and Disabling Readers in Group 0 ................................................................... 37 Figure 2-30: Inadequate Calibration Tag Coverage ............................................................................. 40 Figure 2-31: Adequate Calibration Tag Coverage ............................................................................... 40 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 8 PLUS System Manual Figure 2-32: Calibration Assist Mode .................................................................................................. 41 Figure 2-33: Tag Statistics ................................................................................................................... 42 Figure 2-34: TDOA Statistics .............................................................................................................. 42 Figure 2-35: Tag-Reader Associations ................................................................................................ 43 Figure 2-36: Tag-Reader Associations Shown in Cal Assist Mode ..................................................... 43 Figure 2-37: Tag Configuration ........................................................................................................... 44 Figure 2-38: Calibration Window ........................................................................................................ 45 Figure 2-39: Successful Calibration ..................................................................................................... 45 Figure 2-40: Calibration Report All Readers Calibrated .................................................................. 46 Figure 2-41: Readers Failed to Calibrate ............................................................................................. 46 Figure 2-42: Reader Rf90 Fails to Calibrate ........................................................................................ 46 Figure 2-43: No Stitching to Reader Rf90 ........................................................................................... 47 Figure 2-44: Tracking and Displaying Calibration Tags .................................................................... 48 Figure 2-45: Tag Statistics ................................................................................................................... 49 Figure 2-46: Intersection of TDOA Lines at the Tag Location ........................................................... 50 Figure 2-47: TDOA Statistics .............................................................................................................. 50 Figure 2-48: Position Statistics ............................................................................................................ 51 Figure 2-49: Filter Settings .................................................................................................................. 51 Figure 2-50: Data Logging .................................................................................................................. 52 Figure 2-51: Reader List View............................................................................................................. 53 Figure 2-52: Command Window ......................................................................................................... 54 Figure 2-53: Check for Port 11000 Conflicts ....................................................................................... 54 Figure 3-1: PLUS Interface Layers Reader Data Interface ............................................................... 57 Figure 3-2: changeIp and solverIp Commands .................................................................................... 59 Figure 3-3: TOA Packet Format ......................................................................................................... 59 Figure 3-4: Reader Commands ........................................................................................................... 62 Figure 3-5: Alarm Status and Alarm Enable Word Bit Position Definition ....................................... 65 Figure 4-1: PLUS Interface Layers Location Software Library ...................................................... 66 Figure 4-2: C# Sample Application Screenshot .................................................................................. 97 Figure 5-1: PLUS Interface Layers Visualizer............................................................................... 100 Figure 5-2: Visualizer Control Window ........................................................................................... 101 Figure 5-3: Menu Bar ........................................................................................................................ 102 Figure 5-4: File Menu ....................................................................................................................... 102 Figure 5-5: Logging Dialog .............................................................................................................. 103 Figure 5-6: View Menu ..................................................................................................................... 104 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual 9 Figure 5-7: Set Trail Length Dialog ................................................................................................... 105 Figure 5-8: TDOA Statistics Dialog .................................................................................................. 106 Figure 5-9: Tag Statistics Dialog ....................................................................................................... 107 Figure 5-10: Position Statistics Dialog .............................................................................................. 108 Figure 5-11: Reader Stats Dialog ...................................................................................................... 109 Figure 5-12 : Settings Menu .............................................................................................................. 110 Figure 5-13: Timeouts Dialog ........................................................................................................... 111 Figure 5-14: 2D MapView Settings .................................................................................................. 112 Figure 5-15: Set Data Input Dialog ................................................................................................... 112 Figure 5-16: PLUS Location Software Library Algorithm Filter Settings ........................................ 113 Figure 5-17: Configure Tags Dialog ................................................................................................. 114 Figure 5-18: Configure Readers Dialog ............................................................................................ 114 Figure 5-19: Configure Groups Dialog ............................................................................................. 115 Figure 5-20: Configure Maps Dialog ................................................................................................ 117 Figure 5-21: Help Menu .................................................................................................................... 118 Figure 5-22: About Box Dialog ......................................................................................................... 118 Figure 5-23: Toolbar Menu ............................................................................................................... 119 Figure 5-24: Translate Dialog ........................................................................................................... 121 Figure 5-25: Tag List View ............................................................................................................... 121 Figure 5-26: Reader List View .......................................................................................................... 121 Figure 5-27: Reader Stats .................................................................................................................. 122 Figure 5-28: Status Bar ...................................................................................................................... 123 Figure 5-29: 2D Map View Frame .................................................................................................... 124 Figure 5-30: List View Frame ........................................................................................................... 126 Figure 5-31: Reader List View Menu ................................................................................................ 127 Figure 5-32: Tag List View Menu ..................................................................................................... 127 Figure 5-33: Message View Frame ................................................................................................... 128 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 10 Overview PLUS System Manual 1. Overview The Precision Location Ultra Wideband System (PLUS) is a state-of-the-art, real-time location system (RTLS) utilizing ultra wideband technology. The PLUS RTLS provides unparalleled tag capacity and precision location capability. The contents of this manual are applicable to Release 2.0 of the PLUS hardware and software. Users of Release 1.0 PLUS components should refer to the PLUS System Manual, document #P320-0191 for instructions applicable to the previous generation of hardware and software. Figure 1-1 : PLUS SDP, Readers, and Tags This System Manual is a comprehensive reference that serves a broad spectrum of PLUS users. Figure 1-2 : PLUS Interfaces provides a high-level view of the various layers across which users may wish to interface to the system. Figure 1-2 : PLUS Interfaces Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 4PLUS Location Software LibrarySection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 5PLUS VisualizerSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 3PLUS Reader Data InterfaceSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationSection 2PLUS System InstallationSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfiguration PLUS System Manual Overview 11 1.1 Manual Contents The sections of this document are organized to allow system installers, programmers, and users to easily find the information they need. Section 1 provides an introduction to the PLUS system, with a summary of the PLUS products and peripherals. All users should start with this introduction to familiarize themselves with the system. Section 2 is the System Installation reference for the system. It contains a comprehensive set of instructions for installing, configuring, and maintaining a PLUS system. The information in this section will enable demonstration kit users to quickly set up their system. It also serves as a reference for certified PLUS installers working on larger scale installations. Section 3 describes the data interface to the PLUS Reader. It is intended for programmers who will develop their own RFID or multilateration software using PLUS hardware components. The structure of the Reader output data stream is documented in this section. Section 4 describes the PLUS Location Software Library, which serves as the application interface
(API) for the system. This section enables middleware or application programmers to configure the PLUS Location Engine and capture location data. Section 5 is the reference manual for the PLUS Visualizer application. The Visualizer is a software tool that enables users to set up, demonstrate, troubleshoot, and maintain a PLUS installation. 1.2 PLUS System Products 1.2.1 Synchronization Distribution Panel A typical PLUS System includes at least one Synchronization Distribution Panel (SDP) acting as a bridge between the Location Engine server and the Reader units. The SDP serves three functions in a tracking system: 1) Power delivery to Readers (up to three per Sync Out port); 2) Synchronization of Readers (up to six per Sync Out port); and 3) Pass-through of Ethernet data within each paired set of LAN In and Sync Out ports. The SDP will typically be connected to an Ethernet switch to aggregate data before passing it to the Location Engine server. There are two versions of the SDP: a 24-port version and a 6-port version. 1.2.2 Reader The PLUS Reader performs the functions of receiving the PLUS Tag transmissions, decoding Tag data, measuring signal strength, and generating a Time of Arrival (TOA) timestamp. A typical tracking system deployment consists of multiple Readers powered from and synchronized to an SDP. It is also possible to use individual Readers in RFID proximity detect mode. Each Reader passes Tag data and TOA results to the Location Engine server through a 10/100 Mbps Ethernet link using UDP/IP packets. The Reader interface also provides network configuration options, alert conditions, and Reader diagnostics. Details on Reader configuration options and packet definitions are provided in Section 3 PLUS Reader Data Interface of this manual. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 12 Overview PLUS System Manual 1.2.3 Asset Tag The PLUS Tag is an ultra wideband active transmitter. Once per second, the Tag transmits a short packet containing a unique serial number. One or more PLUS Readers receive this transmission and pass the Tag data and Time of Arrival (TOA) to a Location Engine which calculates the precise location of the Tag. The PLUS Tag is small and durable, with a plastic housing that allows it to be attached to assets or people. The Tag has a four-year battery life and requires no maintenance. 1.2.4 Antenna The PLUS Antenna is available in 180 degree directional and omnidirectional versions, and replaces a standard 2x2 ceiling tile in suspended ceiling systems. The bottom of the Antenna is a white plastic dome that allows it to blend in to the ceiling for an inconspicuous aesthetic appearance. The Reader mounts to the top of the Antenna and is concealed above the ceiling. 1.2.5 Location Software The PLUS Location Software Library is a Windows-based software component which is installed from the software CD included with the PLUS software / documentation package. It is supported on Microsoft Windows XP and Vista operating systems. The library component is an OCX COM object library that provides functions including buffering of Reader UDP packets, solving for the Tag location, and delivery of location data to the developers application. The portion of the Location Engine that calculates tag locations is also referred to as the Solver. 1.3 Additional Components and Peripherals 1.3.1 Visualizer The PLUS Visualizer is a Windows-based application which is installed from the software CD included with the PLUS software / documentation package. The Visualizer component is a graphical software tool for use in system setup, diagnostics, and demonstrations. It interfaces to the PLUS Readers through the PLUS Location Software Library described above in Section 1.2.5 Location Software. After a PLUS system is in place and operating, the Visualizer does not need to be run on a continuous basis instead, it can be used as a maintenance tool when changes are made to the system. Typically, third party graphical software will replace the Visualizer as the system monitor in a customized system. 1.3.2 Location Software Server A user-supplied server is needed to run the PLUS Location Software Library. Recommended specifications for the Location Engine server to maximize Tag capacity are as follows. Operating System Microsoft Windows XP or Windows Vista CPU Memory NIC Intel Quad Core 2.4 GHz 3 GB RAM One 10/100/1000 Mbps card for RTLS network traffic Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Overview 13 One 10/100/1000 Mbps card for LAN connectivity 1.3.3 Ethernet Cable The SDP and Reader components must be connected with 24-gauge CAT 5e shielded cable or better. This grade of cable is required for readers to perform according to specifications. Avoid breaking cable continuity by routing through breakout or junction blocks. If it is necessary to break cable continuity, shield integrity should be maintained across the interconnect. Avoid using connectors that rely on a crimp connection to maintain ground wire integrity; instead, use cables on which the ground wire is soldered to the shielded connector. 1.3.4 PS/2 Serial Adapter Cable If you wish to connect to a reader through its serial port to change IP addresses, you will need a PS/2 male cable connection to connect to the Reader. This is typically accomplished with a DB-9 to PS/2 serial adapter. One serial adapter cable is included in each PLUS software / documentation package. TIP: Many PCs and laptops no longer come with DB-9 connectors, so you may also need a USB to DB-9 adapter. 1.3.5 Reader Power Supplies Readers that are run independently of an SDP, or Readers that are added onto a daisy chain and exceed the SDP power delivery capacity, must be powered from an external 48V power supply. Reader daisy chain configurations requiring external power are detailed later in this document. Reader power supplies are available for purchase from Time Domain. 1.3.6 Ethernet Switch A user-supplied Ethernet switch is needed to aggregate traffic from the Reader network and deliver it to the Location Engine server. For full-scale PLUS deployments, the following specification are recommended for the Ethernet switch connected to the SDP. DRAM/flash memory 32MB DRAM 16MB flash memory Switching capacity Forwarding rate Switching Protocol 8.8 Gbps 6.6-Mpps wire-speed Layer 2 Switching Small-scale systems with low data bandwidths (only a few tags) can generally use any consumer grade Ethernet switch or hub without impact. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 14 System Installation PLUS System Manual 2. PLUS System Installation This section of the PLUS System Manual describes the setup and configuration steps that are required for a PLUS installation. Most of the setup steps are the same for a small or large installation, but large installations a degree of planning and testing that can be minimized in smaller installations. Development Kit Users: The information in this manual will enable first-time users to set up and configure small-scale systems for evaluation and demonstration. Hardware connections and placement for a small-scale system are shown in Figure 2-1: Hardware Connections for a Four-
Reader System and Figure 2-2: Hardware Placement for a Four-Reader System. Please read through the entire installation process before beginning setup of your system. Figure 2-1: Hardware Connections for a Four-Reader System Figure 2-2: Hardware Placement for a Four-Reader System Certified Installers: This manual also serves as a reference for PLUS certified installers working on larger installations. It complements the materials offered in PLUS certification training classes, but is not intended to serve as a standalone training guide. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. AC PowerReader withAntennaSDPCAT 5ePCHub orSwitchCAT 5eReader withAntennaReader withAntennaCAT 5eReader withAntennaReader 1Reader 2Reader 3Reader 4TagsTagsCalibrationTag PLUS System Manual System Installation 15 2.1 Pre-Installation Site Survey Prior to installing a system, the installation site must be inspected and a plan developed to determine the number and locations of hardware components that will be needed. There are several planning steps and rules of thumb that should be applied when evaluating an installation site:
1) Obtain an accurate, electronic format building plan. The plan will be needed to estimate and document intended Reader and Calibration Tag locations, develop a Reader placement and wiring plan, develop a floor plan for the software application, and facilitate the coordinate survey after hardware components have been installed. All location information is ultimately compared to zones and locations defined by the floorplan. The effort involved in generating an accurate floorplan is often underestimated and can result in one of the largest sources of error in the system. 2) Identify areas on the building plan where accurate 2D location is most important. Reader density and geometries should receive the most attention in these areas. 3) For the system to calculate a 2D Tag position, the Tag needs to be heard by at least three Readers. In areas where the Tags will be moving or human activity may cause occasional blockage, plan Reader locations such that at four or more Readers are within range of the Tags. 4) For normal stud and drywall construction, Readers will typically hear Tags at a distance of 45 through one wall or 30 through two walls. Identify and plan around building features that may block the signal, such as metal pipes, ductwork, reinforced stairwells, foil-backed insulation, elevators, etc. Wall construction consisting of additional layers of drywall, brick, concrete, and cinderblock will cause higher signal loss and should receive extra attention. 5) Plan to use directional antennas when possible to maximize range for Readers on the periphery of the installation. 6) Be aware of Reader geometry limitations. Readers forming equilateral triangles are generally best. In Figure 2-3, three readers are shown in an equilateral configuration. The lighter areas represent best location precision, and darker areas represent lower accuracy regions. The system will generally not be able to produce a solution in the white areas outside of the three-lobed region. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 16 System Installation PLUS System Manual Figure 2-3: Equilateral Triangle Reader Geometry As shown in Figure 2-4, right triangles can also work well but will have a no-solution region close to the right-angle vertex. Figure 2-4: Right Triangle Reader Geometry 7) When selecting Reader mounting locations, be sure that the area is accessible and not blocked by light fixtures, sprinkler heads, exit signs, etc. Select areas where Readers/Antenna assemblies can be mounted at heights between 6 and 15. Note that PLUS Location Software 2.0 is able to calculate 2D Tag positions using Readers mounted at different heights. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 17 2.2 Reader Placement and Wiring Diagram After identifying the locations where Readers will be installed, you should develop a diagram that illustrates where Readers will be placed and how they will be connected to each other and to the SDP. Use the building floor plan to mark Reader locations, label each wiring chain, and clearly identify which Reader locations are at the beginning, middle, and end of each chain. Wiring chains with more than three Readers require the use of an external Reader power supply. The diagrams below describe your options for connecting and powering Readers. Figure 2-5: One through Three Readers per Chain Figure 2-6: Four through Six Readers Per Chain It is recommended that wiring be put into place prior to installation of the Readers and Antennas. Use a qualified electrical contractor to ensure that building codes are followed. After wiring has been completed, update the wiring diagram with any changes that were necessary. Use a visual cue (tape marker, etc) on the ceiling so that the ends of the cables can be easily located behind the correct ceiling tile. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. AC PowerReader 1SDPReader 2Reader 3No additional power supplies required for upto three Readers per portAC PowerReader 1SDPReader 2Reader 3Reader 4Reader 5Reader 648 V Supply 18 System Installation PLUS System Manual 2.3 Installation Overview The next section of this manual covers the physical installation and checkout of the system. When installing the PLUS hardware, the following steps should be followed to ensure correct system operation. Use this list as a checklist to make sure that all the necessary configuration steps have been followed. Each item on the checklist is described in detail below. a) _______ Unpacking and inspecting hardware b) _______ Installing and powering the SDP c) _______ Configuring Reader and solver IP address d) _______ Ceiling installation of Readers and Antennas e) _______ Surveying Readers and generating coordinates f) _______ Connecting the SDP, Ethernet switch, and server g) _______ Server IP address configuration h) _______ Server firewall settings i) _______ PLUS Visualizer software installation j) _______ Setting data input k) _______ Checking Reader communications l) _______ Reader configuration defining groups and maps m) _______ Entering floor plan data n) _______ Calibration Tag placement o) _______ Calibration Tag configuration p) _______ Calibrating the system q) _______ Verifying system performance 2.3.1 Unpacking and Inspecting Hardware Unpack the PLUS Readers, Antennas, SDP, and Tags, and make sure that no damage has occurred during shipping. Verify that all mounting hardware and peripheral components are on hand. 2.3.2 Installing and Powering the SDP Place the SDP in its intended operating location and apply AC power. Also, set up the Ethernet switch that will service the tracking network at this time. By setting up the SDP first, you can power up and check the operation of each Reader as it is installed. Plug each PLUS network cable into a SYNC OUT port of the SDP. Be sure that the RJ-45 connector snaps into the receptacle firmly. If the RJ-45 connector will not snap firmly into the receptacle, do not use this cable, as a reliable connection cannot be guaranteed. Tip: If you are installing a 24-port SDP, use a 19 equipment rack when possible. You will be able to connect cables more easily and ensure reliable connections if the SDP is mounted in a rack. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 19 2.3.3 Configuring Reader and Location Engine IP Addresses Reader Static IP and Dynamic IP Addresses By default, Readers are configured to request an IP address from a DHCP server each time they are booted. If you plan to use dynamic IP assignment, the server connected to your tracking network must host a DHCP server. If you do not have access to, or are unfamiliar with setup of a DHCP server, it is recommended that you use a serial connection to configure each Reader with a static IP address using the changeIp command (example below). Configuring a Reader for the Location Engine IP Address Each Reader must be configured with the IP address of the Location Engine to which it sends data. The Location Engine IP address is the IP address of the Network Interface Card (NIC) in the server that will host the PLUS Location Software Library. The Location Engine IP address is specified by connecting to the Reader with a serial connection and running the solverIp command (example below). Reader and Location Engine IP Address Configuration Procedure Changing a Reader from dynamic addressing to a static IP and specifying the Location Engine IP address requires using terminal software (HyperTerminal or similar) to connect to the Reader through its serial port. The supplied serial port adapter (DB9 to PS/2) is needed to connect to the serial port on the front panel of the Reader. 1) Power the Reader by connecting a 48V supply to the Reader DC input, or connect a Sync Out port of an active SDP to the Reader Sync In port 2) Connect the serial port adapter to the serial port on the front panel of the Reader 3) Connect a serial cable from your server to the serial port adapter 4) Configure your terminal software for 115,200 baud, 8 data bits, no parity, 1 stop bit, and no flow control 5) Connect to the Reader and login with user name p350 and password timedomain (case sensitive) 6) Type "changeIp" to run the IP configuration utility 7) Select option 2 to enter the static IP address 8) Enter the subnet mask (typically 255.255.255.0) 9) Enter "." for no gateway address 10) The Reader will report the new IP address confirm that the value is correct 11) Exit the IP configuration utility 12) Type solverIp to run the Location Engine address configuration utility 13) Enter the IP address of the NIC card of the server hosting the Visualizer (see Section 2.3.6.2 Server IP Address Configuration below). 14) The Reader will report the new solver IP address confirm that the value is correct 15) Close the serial connection and disconnect the port Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 20 System Installation PLUS System Manual Figure 2-7: Reader IP Address Configuration Figure 2-8: Solver IP Address Configuration Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 21 2.3.4 Ceiling Installation of Readers and Antennas The following steps describe how to connect a Reader to an Antenna and install the assembly into the ceiling. Start by installing the first Reader in the chain from the SDP, and proceed down the chain to the last Reader. This will allow Readers to be powered and their operation verified as they are installed. 2.3.4.1 Mounting Readers to Antennas 1) Place the Antenna panel dome-side down on a flat surface, and place the Reader on the Antenna panel. Align the four screw slots in the reader flanges with the holes in the Antenna panel. 2) Connect the Reader SMA port to the Antenna SMA port using the provided coaxial cable. Hand-tighten the SMA connections. 3) Screw the reader to the Antenna panel using the screws provided in the Antenna kit. 4) Tighten the SMA connectors to 3-5 in-lbs using a 5/16"
wrench. Do not over-tighten the SMA connectors. Figure 2-9: Reader Connection 2.3.4.2 Installing Reader / Hinged Antenna Assemblies 1. Remove the existing ceiling tile and any insulation batts above the tile. Do not re-install insulation after the Antenna is mounted. 2. NOTE: If a 2' x 4' tile is being replaced, a cross tie (not included) may be added for improved cosmetic appearance for the ceiling tile; the PLUS antenna is rigid enough that it does not need a cross tie for support. Figure 2-10: Antenna Frame and Drop Panel 3. Prior to inserting the Antenna frame into the ceiling, rotate the frame so that the notches at the corners of the frame are oriented to the left and right rear sides of the frame. 4. Tilt the Antenna frame and insert it into the ceiling opening. Lower the frame so that it is seated evenly on the drop ceiling cross-ties. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. Figure 2-11: Frame Orientation 22 System Installation PLUS System Manual 5. Tilt the drop panel and insert it into the frame opening. Lower the panel so that it is seated evenly on the Antenna frame. 6. Connect the proper Ethernet cable to SYNC IN port of the Reader. Verify that the cable snaps into the connector firmly and the Reader powers on (via Ethernet LEDs). If there are additional Readers in the chain, connect the proper Ethernet cable to the SYNC OUT port of the Reader. 7. Verify that the Reader has booted (via the POWER LED on steady) and is able to receive Tag traffic, as indicated by a blinking DATA light. 8. Close the drop panel and slide the latches into the locked
(outward) position. Figure 2-12: Drop Panel Installation (shown with no Reader mounted) Reader LED Indicators Figure 2-13: Closed Panel Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 1) Ethernet LEDs Blink3) Tag Traffic2) Power LED on steady (after several seconds) PLUS System Manual System Installation 23 IMPORTANT:
Do not attempt to use the system with an unterminated Ethernet cable plugged into the SYNC OUT port of a Reader, or unstable operation can result. An Ethernet cable plugged into the SYNC OUT port of a Reader must be plugged into the SYNC IN port of another Reader to be properly terminated. Figure 2-14: Unterminated Ethernet Cables 2.3.5 Surveying Readers and Generating Coordinates After Readers have been installed in the ceiling, their locations can be surveyed and coordinates generated for entry into the Visualizer software. There are many approaches to surveying locations, and specific measurement techniques are beyond the scope of this document. The result of the survey process will be Reader locations in a 3D rectangular coordinate system established relative to the building floor plan. It is important to perform an accurate survey to enable the best results from the Location Engine. The goal should be inch-level accuracy for the Reader survey. The origin of the coordinate system may be a Reader location, corner of the building, or some other architectural reference point that is easy to reference. Maintain this information in a spreadsheet (Figure 2-15) including Reader MAC address and X-Y-Z location. Reader and Calibration Tag installation worksheets are included at the end of this section. Figure 2-15: PLUS Reader Installation Worksheet Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. ReaderReaderSDPUnterminated Cable 24 System Installation PLUS System Manual 2.3.6 Server Setup and Software Installation The following steps describe the process of connecting to a server through an Ethernet switch, configuring server network settings, and installing the PLUS software. 2.3.6.1 Connecting the SDP, Ethernet Switch, and Server The Ethernet traffic on each SDP LAN IN port is isolated from all other LAN IN ports and must be routed through an Ethernet switch to the server. Very small installations may be able to use an Ethernet hub to connect to the network, but larger installations should use an Ethernet switch that meets the minimum specifications to avoid data loss. For each SDP SYNC OUT port that is connected to a Reader chain, connect the corresponding LAN IN port to the Ethernet switch. Standard CAT 5 cable may be used. Be sure that the cable snaps firmly into place. Connect one port on the Ethernet switch to the server NIC that will be handling tracking network data. Loose cable connections at the SDP can be costly in terms of time spent troubleshooting. If a cable will not plug securely into the SDP, correct the problem before continuing with the installation. 2.3.6.2 Server IP Address Configuration The server that will be used to run the PLUS Software should be equipped with a NIC card dedicated to the tracking network. Set the IP address to match the Location Engine address configured on the Readers. The example below demonstrates configuration of a NIC card with IP address 10.1.4.1 and subnet mask of 255.255.255.0. Figure 2-16: TCP/IP Properties Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 25 2.3.6.3 Server Firewall Settings If the server on which you will be running the Visualizer has a firewall enabled, be sure that the firewall settings will allow traffic from the subnet assigned to the Readers. For convenience, you may wish to temporarily disable the firewall until you have verified that you are receiving traffic from the Readers correctly. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 26 System Installation PLUS System Manual 2.4 Configuring the System Using Visualizer This section describes how to use the Visualizer application to configure the data source for the Visualizer, check for reliable Reader communications, enter Reader, Group and Map configuration data into the system, and enter a floor plan. 2.4.1 Workflow Visualizer is the recommended tool for configuring a new PLUS installation, making changes to an existing installation, or troubleshooting an installation. Visualizer provides a graphical interface to set up and calibrate Readers and verify operation of the system. When the user makes changes with Visualizer, the Visualizer uses the Location Engine API to change the Location Engine configuration. Saving a configuration causes the Location Engine to generate a trackerconfig.txt file in the configuration directory. When the Visualizer or other user application is run, the Location Engine uses the data in the configuration file for initialization. This allows most of the complexity of setting up a system to be managed by Visualizer and the installer who is configuring the system. The result is that the user application does not need to implement the full set of configuration features of the API, and can instead rely on initializing the Location Engine by pointing to the existing configuration file. Figure 2-17: PLUS Configuration Workflow Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. VisualizerLocation EngineConfiguration FileUser ApplicationLocation EngineSystem InstallationSystem OperationUserInstaller PLUS System Manual System Installation 27 2.4.2 PLUS Visualizer Software Installation Insert the PLUS Visualizer Setup CD and follow the InstallShield Wizard instructions. If you are updating a previous installation, use the Upgrade option. After installation is complete, run the PLUS Visualizer application. Figure 2-18: Visualizer Application Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 28 System Installation PLUS System Manual 2.4.3 Set Data Input Under the Settings menu, open the Set Data Input selection. Select the IP Address radio button. Pull down the list box to select the IP address for the NIC that is receiving tracking network data and click the OK button (See Figure 2-19: Set Data Input). The Message Frame will update with a list of Readers and Tags that are added to the system. Figure 2-19: Set Data Input 2.4.4 Check Reader Communications In the Visualizer tool bar, click the Readers button. The List View frame shows the list of Readers that are active and/or have been added as offline Readers. Check the list of Readers to verify that it is showing all Readers in the system. The Last Comms column of the List View frame shows the amount of time that has passed since the Reader last communicated with the location server. If the Reader does not hear a Tag for 10 seconds, the Reader will send a discovery packet to the location server. This allows the Reader to be identified even in the absence of Tags. When the location server receives either a Tag transmission or a discovery packet from a Reader, the Last Comms count will reset. Verify that the Last Comms value for all active Readers is 10 seconds or less. If any active Reader shows a Last Comms of greater than 10 seconds, the Reader and network path should be checked for errors. See the troubleshooting information at the end of this section for more information. Figure 2-20: Reader Communications Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 29 2.4.5 Setting English/Metric Units Under the Settings menu, select 2D MapView Settings. In the MapView Settings window, select English or Metric according to which units you will use to enter Reader and Tag survey data. Figure 2-21: Setting English/Metric Units You may change other MapView settings to make the Visualizer easier to view during installation. Check the Overlay Entity Name selection to show text identification next to Reader and Tag icons on the map. Set the Reader Size to 2.0 and Tag Display Size to 0.3, or other values as desired. Set Grid Brightness as desired for your monitor Set Gridlines every 5, or as desired 2.4.6 Entering Reader Survey Data Under the Settings menu, open the Reader Configuration window. You may enter survey data with the Location Engine connected to a live system, or offline. Entering data with a live system has the advantage of automatically populating the Reader Configuration screen with any Readers seen by the Location Engine. Figure 2-22: Reader Configuration Window The Reader Configuration window will report either Units are feet or Units are Meters. Check that this is consistent with the survey data you are entering. Enter the X, Y, and Z coordinates for each Reader. As you enter the survey data, the icons showing Reader locations will appear in the MapView display. Check that all Readers appear in the correct location. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 30 System Installation PLUS System Manual 2.4.7 Reader Groups 2.4.7.1 Reader Groups Overview The ability to create Reader Groups is an important feature of the 2.0 Location Engine. Establishing multiple Reader Groups allows a large installation to be divided into small sections, each of which acts as an independent location system. Managing a PLUS system as a set of small, independent systems is much easier than trying to work with one large group of Readers. By creating independent groups of Readers, the user can install Readers that operate off of different SDPs, are located on different floors of a building, or are located in geographically separated areas. 2.4.7.2 Solution Types When a group of Readers is created, you can set properties that control the type of location solution that the group can produce. Groups may generate 0D, 1D, and 2D solutions. 0D Solutions, also called presence detect or proximity solutions, determine which Reader is closest to the Tag and report the X,Y coordinates of this Reader as the Tag location. This type of solution is useful when the general area of the Tag is needed. Reliable 0D solutions can be produced with a sparse density of Readers. 1D Solutions are produced by assuming that the Tag solution will lie on a line between two Readers. 1D Reader groups are generally created with Readers in a hallway, when the tag is unlikely to enter or be detected in rooms alongside the hallway. When setting up 1D groups, the participating Readers should be at approximately the same height. 2D Solutions can be calculated when at least three Readers with good geometry are able to receive a Tag. The X, Y, and Z coordinate of the Tag are reported, where the height (Z coordinate) is an input to the system. When setting up 2D groups, the participating Readers may be at varying heights. 2.4.7.3 Tracking Cells A tracking cell is a geometric region that acts as a filter for Tag locations. One tracking cell can be defined for each Reader group and each map. You are not required to define tracking cells if no cell is defined, all valid outputs of the Location Engine will be used. Tag solutions that are inside the tracking cell are considered valid. Tag solutions outside the tracking cell are either discarded, or are snapped to the boundary of the tracking cell, depending on the parameters that the user has set. Readers may be located inside or outside the boundaries of tracking cells the cell operates based on Tag positions, not the Readers used to generate those positions. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 31 Figure 2-23: Tracking Cell for a Four-Reader Group When tracking cells are defined for both a group and a map, Tag solutions are tested against the group tracking cells first If the solution passes the group tracking cell, it is then tested against the map tracking cell Group tracking cells that share a border with map tracking cell should be defined with extra margin outside of the boundary. This allows Tag positions with small amounts of error to pass the group tracking cell criteria, and then be snapped to the edge of the map tracking cell boundary. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 32 System Installation PLUS System Manual Figure 2-24: Group Tracking Cell with Boundary Margin With some Reader geometries (such as Readers in a line), when the Location Engine attempts to calculate a Tag position, it produces two results. Only one result represents the actual position. The other result is a mirror-image, or ambiguous solution. By defining a tracking cell in these cases, the Location Engine can filter the false solution. Figure 2-25: Tracking Cell Used to Filter Ambiguous Solutions Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. Reader 1Reader 2Reader 3Actual Tag PositionFalse (Mirror Image) Tag PositionTracking Cell PLUS System Manual System Installation 33 2.4.7.4 Maps Each Reader group is associated with a map. Multiple groups may be assigned to the same map, but a group can be assigned to only a single map. All of the Readers on a given map have a common coordinate system and origin. When a new group is created, it is assigned to Map 0 by default. Visualizer allows you to import and scale a floorplan image file for each map. The process of importing image files and setting other map properties is described in Map Configuration below. 2.4.7.5 Group Setup Guidelines Below are some rules and guidelines for organizing Readers into groups. Tip: Users of a PLUS demonstration kit with three or four Readers will generally not need to assign Reader groups. Just leave Readers in the default Group 0 and proceed with calibration. Readers must belong to at least one group. When a new Reader enters the system, it is automatically assigned to Group 0. If you delete an active Reader from the configuration, it will be re-assigned to Group 0 the next time data from it is received. New Readers that enter the system will be flagged as disabled by default. Readers may be assigned to multiple groups. This allows for overlapping 2D location coverage between adjacent groups of Readers. The survey data for a Reader is unique for that Reader. If a Reader is a member of multiple groups, its survey data will be the same in every group. The calibration data for a Reader is a function of each group that the Reader belongs to. For example, the Reader will be assigned one calibration value for Group 0, a different calibration value for Group 1, and so on. This allows groups of Readers to be calibrated independently. Each Reader has an Enable setting that is a function of each group that the Reader belongs to. A Reader must be enabled in a given group to contribute to the locating algorithm for that group. A Reader that is enabled in all groups it belongs to will have a green icon on the map display. A Reader that is disabled for one or more groups will have a yellow icon on the map display. All Readers in a group must be calibrated with respect to one another. More information on calibration is provided in the System Calibration section. To make management of groups easier, keep the number of Readers in a group to no more than 12 or 15. To provide 2D Tag location, a group must have at least three Readers. In most cases, you should not enable a group for both 1D and 2D tracking at the same time. Doing so may result in a Tag location that jumps if it transitions between a 1D and 2D solution. When setting up a 1D Reader group, the Readers should be at approximately the same height. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 34 System Installation PLUS System Manual The tracking cell snap feature is primarily intended for use with Map tracking cells. Using a snap setting with group tracking cells may result in undesired snap behavior in the interior of a building. Use architectural features of a building to break the system into meaningful groups. Hallways and intersections make good boundaries between groups. Use Group 0 as a stockpile of unassigned Readers. Disable tracking for Group 0 (See Group Properties below), and instead use Groups 1, 2, etc. as your active groups. You may find it helpful to display one or more Maps before making Reader group assignments. See Map Properties below. 2.4.8 Assigning Reader Groups There are two ways of assigning Reader groups in Visualizer. 1) From the Reader Configuration screen, under the Groups column, type in a comma-separated list of group numbers for each Reader. If the group does not yet exist, you will be asked if you wish to create the group. Figure 2-26: Assigning Reader Groups 2) Open the Group Configuration window from the Settings Menu, and double click on a Reader in the 2D MapView. This will highlight the Reader in the Member Reader list of the Group Configuration window. Click the direction arrows to add or remove the Reader from the selected group. 2.4.9 Group Properties The Group Configuration window (Settings menu) allows you to set properties of each group. When setting up the group configuration, you may wish to check the Display only this group in the tracking view box to remove other Readers from the 2D MapView. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 35 Figure 2-27: Group Configuration Window Under the Group/Solver Parameters frame:
Check the 0D, 1D, and 2D boxes to select the type of location data this group will provide. 0D and 2D are selected by default for a newly created group. Sort type should be set to TOA Sort. There is one exception a non-calibrated group of Readers configured for 0D only should use RSSI Sort instead. Check the Group is enabled box to enable tracking with this group. Check the Use tracking cell box if you have defined a tracking cell for the group. Check the Allow readers in a line box if you want the system to solve with Readers in a straight line. This may include two or more Readers for a 1D group, or three or more Readers with a 2D group. Note that if you set up Readers in a line with a 2D group, you must also define a tracking cell to remove ambiguous solutions. The Member Readers frame is used to add or remove Readers from the group. Click on a Reader to highlight it, then use the direction arrows to add or remove it as a member of the group. Under the Tracking Cell frame:
To define a tracking cell for the group, click the Enter Polygon button in the Tracking Cell frame. Click on the map display to place vertices of the polygon. As each vertex is placed, the polygon will automatically draw a line to the original vertex to close the area. When finished, click the Exit Polygon Mode button. The tracking cell will disappear at this point, unless the Display current tracking cell box is checked. Click the Clear button to remove the Group tracking cell. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 36 System Installation PLUS System Manual Click the Display current tracking cell box to show the Group tracking cell on the 2D MapView. You may enter a snap distance for the group tracking cell. If a snap distance is defined, Tags that are located outside the tracking cell but less than the snap distance from the tracking cell will be shown on the boundary of the tracking cell. If tag solutions are outside of the snap distance, they will be discarded. Snap distances are intended primarily for Map tracking cells. Using a snap distance with Group tracking cells can result in location error along boundaries between groups. 2.4.10 Map Properties The Map Configuration window (Settings menu) allows you to select an image file floorplan for the map, scale the floorplan, assign groups to the map, and define a tracking cell for the map. Figure 2-28: Map Configuration Window Under the Background Image frame:
Browse for an image file to associate with the map. Supported image formats are bitmap, JPEG, PNG, TIFF, and GIF. The Calibrate Background Image window will open. You may calibrate the size of the floorplan by entering the dimensions of the entire image file (under the Scaling frame), or clicking the Calibrate line button and drawing a line of known dimensions on the image file. Click the Clear button to remove the image file. Click the Calibrate button to re-enter the calibration settings for the map. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 37 Under the Member Groups frame, click on a Reader group and use the direction arrows to add or remove it from the selected map. Under the Tracking Cell frame:
To define a tracking cell for the map, click the Enter Polygon button in the Tracking Cell frame. Click on the map display to place vertices of the polygon. As each vertex is placed, the polygon will automatically draw a line to the original vertex to close the area. When finished, click the Exit Polygon Mode button. Click Use tracking cell to make the Map tracking cell active. Click the Clear button to remove the Map tracking cell. Click the Display current tracking cell box to show the Map tracking cell in the 2D MapView. You may enter a snap distance for the Map tracking cell. If a snap distance is defined, Tags with solutions outside the tracking cell but less than the snap distance from the tracking cell will be shown on the boundary of the tracking cell. If tag solutions are outside of the snap distance, they will be discarded. 2.4.11 Enabling Readers When you assign a Reader to a group, the Reader will be enabled for that group by default. The only reason a Reader should be disabled in a group is for troubleshooting. For example if the Reader is failing to calibrate, or appears to be causing a bad location result, it may be helpful to disable it until the problem is corrected. You can quickly enable or disable a Reader across all groups by using the Enable All and Disable All buttons at the top of the Reader Configuration window. You can also enable or disable a Reader on a per-group basis by first selecting a Group number in the Sort by Group field, and then toggling the selection under the Enable Column. Figure 2-29: Enabling and Disabling Readers in Group 0 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 38 System Installation PLUS System Manual 2.4.12 Cable Length and Termination Settings With the 2.0 Reader, cable length and termination settings are automatic, and these columns are for user information only. 2.4.13 System Configuration Files Under the File menu, select Save Config As to create a new configuration folder. A PLUS configuration consists of two files. Trackerconfig.txt is used by the Location Engine to store survey information, calibration data and other system parameters. Visualizerconfig.txt stores map image file parameters and tag name assignments. Do not edit these files manually; instead use Visualizer to make changes to the configuration. Opening and saving a configuration from Visualizer is done by referencing the folder containing the two configuration files rather than specifying the files themselves. The 2.0 Location Engine can read earlier versions of the configuration file. Simply rename the configuration file to trackerconfig.txt, and use Visualizer to open the directory containing this file. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 39 2.5 System Calibration The following section describes the process of calibrating the PLUS system. The purpose of calibration is to remove the time delays introduced by the varying length cables run to each Reader. Because the Location Engine calculations are based on the Tag signal time of arrival to each Reader, it is necessary to remove these additional timing delays to produce accurate location results. With the 2.0 SDP and Readers, it is only necessary to calibrate the system one time as long as no changes are made to the installation. Do run a new calibration if Readers are added or replaced, or if cables are replaced. Do not run a new calibration if the Readers or SDP are power cycled. The system will retain its calibration through a power outage. With the introduction of Reader groups in release 2.0 of the Location Engine, you can calibrate groups all at once, or one at a time. This enables you to calibrate and verify the system by working with a few Readers at a time. Two scenarios to illustrate calibration options are described below. In each scenario, we will assume the same building layout and an installation consisting of fifty Readers. Scenario 1: The fifty Readers are treated as a single group. Twenty tags are designated as calibration tags, and are surveyed and permanently mounted in the facility. If a cable is replaced, it is necessary to recalibrate all fifty Readers. Once a calibration has been configured (as explained in the following paragraphs), it is easy to recalibrate using permanently mounted tags . The user must take care that the environment does not change (people and equipment do not introduce blockage between the calibration tags and readers) or errors could be introduced into the calibration. Scenario 2: The fifty Readers are partitioned into five groups, averaging ten Readers each. Two calibration tags are used to calibrate the system by surveying temporary locations and calibrating the system one group at a time. If a cable is replaced, it is only necessary to recalibrate the groups containing the affected Readers. The other groups can continue operating normally and generating locations without disruption. Recalibrating the affected groups requires replacing the calibration tags in their surveyed locations, or performing a new survey. Note that the choice of permanently mounting calibration Tags verses temporarily placing Tags is independent of the choice of one group verses multiple groups. The user is free to choose the best approach for a given environment and system usage. 2.5.1 Calibration Tag Placement Calibration Tags are standard PLUS Asset Tags that are placed in surveyed locations to help calibrate the system. After the calibration process is complete, the Tags may be removed from the installation area and used as standard Asset Tags. If one or more groups are recalibrated, the Tags serving those groups must be returned to their surveyed locations. Leaving the tags in their surveyed locations also has the advantage of providing a known Tag location for assessing performance of the system. For the system to calibrate properly, all Readers must hear one or more Calibration Tags. In addition, each Reader in a group must be able to stitch their results to all other Readers in the same group by hearing a common set of tags. For example, in Figure 2-30, Readers 1, 2 and 3 can hear Calibration Tag A, and Readers 4 and 5 can hear Calibration Tag B. These five Readers cannot be calibrated because there is no overlap with the Calibration Tags. In Figure 2-31 Tag B has been relocated so that Reader 2 can hear it. This group of Readers will now calibrate. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 40 System Installation PLUS System Manual Figure 2-30: Inadequate Calibration Tag Coverage Figure 2-31: Adequate Calibration Tag Coverage Select locations for Calibration Tags where they can be heard reliably by as many Readers as possible. However, be careful to avoid paths that are subject to blockage, reflections, and grazing angles through walls. Mount the Calibration Tags horizontally whenever possible. Ceiling mounted tags generally do not propagate as far as tags mounted 1-2 lower than ceiling height. 2.5.2 Checking Calibration Tag Statistics In this step we will check the RX%, RSSI, and TDOA for the Readers that we intend to calibrate with a given Calibration Tag. RX% is a measurement of data throughput of one Tag to one Reader it provides the ratio of the number of packets received to the number of packets sent, expressed as a percentage. RSSI is the Received Signal Strength Indicator, an arbitrary measurement of Tag signal strength on a scale from 0 to 255. TDOA is the Time Difference of Arrival of the tag signal as compared between two Readers. The TDOA for a stationary Tag with a good signal path should change very little. After placing a Calibration Tag in its candidate location, open the Visualizer Tag Configuration window from the Settings menu. Locate the ID of the Calibration Tag in the list. Under the Cal Tag column, select Yes to indicate that this is a Calibration Tag. Since this is a test case, it is not necessary to enter survey information at this time. Or, you may wish to enter an approximate location Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 13245AB13245AB PLUS System Manual System Installation 41 to have a visual reference on the map. If you decide to keep the tag in this location, dont forget to update the survey with accurate information!
Open the Calibration window by clicking the Calibrate button in the tool bar, then enable the Calibration Assist mode from the Options menu (Figure 2-32). Figure 2-32: Calibration Assist Mode Beside each Reader icon in the MapView display, the IDs of all Calibration Tags that can be heard reliably by that Reader (~85% or better throughput) are displayed in green text. Use this display for a quick look at coverage. If the Calibration Tag cannot be heard by the intended group of Readers, relocate it. Turn the Calibration Assist mode off and back on to clear statistics. As an additional confirmation of throughput, check the RX% and RSSI values for the tag. Open the Tag Stats window from the View menu, select the Tag ID, and clear the statistics. Allow the statistics to accumulate for several seconds. Confirm that the Readers of interest can receive the Tag with good throughput (80% or higher) and good RSSI (typically 100 or higher). Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 42 System Installation PLUS System Manual Figure 2-33: Tag Statistics Next, check the TDOA stability, which is very important for reliable calibration. Open the TDOA Stats window under the View menu. Select the Tag ID and clear the statistics. You may also wish to select a specific Reader using the Filter by reader pull-down box to reduce the amount of data presented. Allow the statistics to accumulate for several seconds, and then monitor the TDOA values shown in the Max Peak-Peak column. Ideally, the Max Peak-Peak for a Calibration Tag should not exceed 1 ns for the intended Reader pairs. Make note of the Reader pairs that produce good results, as these will be specified in software for use during calibration. It is normal for some Readers to produce large TDOA results if they are relatively far away from the Tag or if they are affected by signal blockage. These less desirable Reader combinations should not be used for calibration. Figure 2-34: TDOA Statistics 2.5.3 Setting up Reader-Tag Associations Checking the throughput and TDOA statistics for each Calibration Tag will show which Readers can Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 43 use a given Calibration Tag reliably. Next, you should enter your list of reliable Tag-Reader combinations into Visualizer to enable robust calibration. Click the Calibrate button to open the Calibration window. Under the Options menu, open the Set tag-reader associations selection. Use the pull-down lists for Readers and Tags to add the desired combinations to the list. Make sure that the Include the listed Reader-Cal Tag radio button is checked so that only the specified combinations will be used for calibration. Click OK when complete. To check that the correct associations were made, turn on the Calibration Assist mode from the Options menu, and verify that a line has been drawn between correct Tags and Readers. Figure 2-35: Tag-Reader Associations Figure 2-36: Tag-Reader Associations Shown in Cal Assist Mode Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 44 System Installation PLUS System Manual 2.5.4 Calibration Tag Survey and Configuration After the location of a Calibration Tag has been finalized, survey its position using the same approach that was used to survey Reader locations. Record the Tag ID and X, Y, Z coordinates for each Calibration Tag. Continue to place and verify Calibration Tags until one or more groups of Readers has been covered with adequate overlap. Use the PLUS Installation Worksheet to record Calibration Tag IDs and location data. Open the Tag Configuration window from the Visualizer Settings menu. Locate the ID of each Calibration Tag, and under the Cal Tag column, select Yes. Under the X, Y, and Z columns, enter the surveyed coordinates for the Tag. Be sure that the units match the selected English or Metric settings. Verify that only the Calibration Tags in the list have Yes selected under the Cal Tag column. When finished, close the Tag Configuration window and save the configuration. Figure 2-37: Tag Configuration 2.5.5 Calibrate the System After Calibration Tags have been placed and verified for one or more groups, follow the procedure below to calibrate those groups. 1) On the button toolbar, click the Calibrate button to open the Calibration window. 2) Select the desired group, or set of groups, and move them to the Calibrate text box using the direction arrows. You may wish to click the Display selected radio button to only show these groups in the map display. 3) In the Calibrate frame, enter a Duration of 10 or greater. Longer calibrations (up to 60 seconds) are preferable, but make sure that the environment is not changing during the calibration interval. Calibration intervals of less than 10 seconds may result in less accurate results. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 45 Figure 2-38: Calibration Window 4) Click the Start button to calibrate the system. 5) While the system is calibrating, the progress bar will increment and the control button will display Stop. When calibration is complete, a popup window will provide results for the calibration. If calibration is successful, you should apply the calibration results. A calibration report will provide status of the calibrated readers. Figure 2-39: Successful Calibration Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 46 System Installation PLUS System Manual Figure 2-40: Calibration Report All Readers Calibrated 6) If calibration fails, click No on the Calibration Completed popup, and check the calibration report to determine which Readers failed. Re-check the statistics (RX%, RSSI, and TDOA) for any Readers that failed to calibrate. Adjust tag positions or add new calibration Tags if necessary to provide adequate coverage for the failed Readers. It may also be possible to adjust the Readers that are members of the group to provide for better stitching (but dont sacrifice coverage or Reader geometry if you redefine the group). In the figures below, Reader Rf90 failed to calibrate because the calibration results could not be stitched to other Readers in its group. Figure 2-41: Readers Failed to Calibrate Figure 2-42: Reader Rf90 Fails to Calibrate Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 47 Figure 2-43: No Stitching to Reader Rf90 7) After each group is successfully calibrated, save the current configuration containing the new calibration results using the File menu Save Config or Save Config As selections. The next time Visualizer is run, it will restore the saved calibration settings without the need to repeat the calibration process. Repeat the calibration process until all groups in the system are calibrated. As you finish calibrating each group, the Visualizer 2D MapView display and statistics screens may be used to monitor Tags in the areas covered by those groups. Note that good Calibration Tag statistics are necessary but not sufficient to guarantee a good calibration. The quality of the calibration should be verified by observing locations of tags throughout the installation. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 48 System Installation PLUS System Manual 2.6 Monitoring Location Performance This section describes Visualizer features and settings that are commonly used to monitor the tracking performance of the system. A more complete description of Visualizer features is provided in Section 5 PLUS Visualizer of this manual. 2.6.1 Viewing Calibration Tags After calibration, you may wish to compare the calculated Calibration Tag position to the surveyed Calibration Tag position. Under the View menu, check Track calibration tags to show Tag icons at the calculated positions. Uncheck this setting to show Tag icons at the surveyed positions as set in the Tag Configuration. During normal operation, you may wish to only view the icons for the other (non-Calibration) Tags in the system. Check or uncheck the Display calibration tags setting in under the View menu to show or hide Calibration Tag locations. Figure 2-44: Tracking and Displaying Calibration Tags 2.6.2 Tag Statistics In order to calculate an accurate position for a given Tag, at least three Readers must be able to hear that Tag reliably. If a Tag is not being tracked reliably, coverage can be assessed by observing its throughput statistics. Open the Tag statistics window by selecting Tag Stats under the View menu. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 49 Figure 2-45: Tag Statistics Pull down the Select Tag box to select the ID of the Tag you wish to monitor. Click the Reset button, and allow statistics to accumulate. The received statistics for each Reader in the system can then be observed. For a Tag in a given location, the nearest Readers are most significant in calculating a position. The close-by Readers should show good statistics. Tag statistics observed on Readers that are far away will show low signal strength and throughput. Click on the RX% to sort RX% high to low, or low to high. Click on the Reader column to sort the Readers by name. For the Readers that are closest to the Tag being observed, check that the Received Signal Strength Indicator (RSSI) is adequate. RSSI values of 100 or higher are best for calculating a good position. The Received and Dropped columns show the number of Tag packets that were received or dropped by a given Reader. The percentage of packets that were received correctly is shown in the RX%
column. Higher confidence locations will result when the RX% is 80% or higher. 2.6.3 Time Difference of Arrival (TDOA) Statistics When a Reader receives a Tag transmission, it calculates an accurate timestamp to mark the time at which the packet arrives. A single timestamp is called the Time of Arrival (TOA) for that packet. When two timestamps generated by two different Readers are compared, the difference in the two values is called the Time Difference (or Delay) of Arrival (TDOA). Each TDOA value describes a line on a 2D map. The intersection of two or more of these lines is used to determine the position of a Tag. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 50 System Installation PLUS System Manual Figure 2-46: Intersection of TDOA Lines at the Tag Location Under the Visualizer View menu, select TDOA Stats to observe the TDOA values between each pair of Readers. Figure 2-47: TDOA Statistics Pull down the Select Tag box to select the Tag ID you wish to observe. Click the Reset Stats button to clear the TDOA statistics for that Tag. Allow the statistics to accumulate. The TDOA statistics should be observed for a stationary Tag. Tags in motion will show varying TDOA values, removing any consistency from the statistics being observed. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 51 TDOA statistics are displayed in nanoseconds. The most significant results in the TDOA Statistics window are the Peak-Peak and Max Peak-Peak columns. The Peak-Peak column shows the peak variation in the TDOA value over the last 1024 values. The Max Peak-Peak column shows the maximum TDOA variation seen since the statistics were reset. Optimum positioning performance will be achieved when the Peak-Peak TDOA values for a given Tag are in the range of 1 nanosecond or less. 2.6.4 Position Statistics To observe position statistics for a given Tag, first enable the Display Trails option under the View menu. Next, open the Position Statistics window by selecting Position Stats under the View menu. Click the Reset Stats button, and allow the statistics to accumulate. The average X and Y calculated coordinate values are shown, as well as the standard deviation for the last 1024 values and Maximum standard deviation from the time statistics were reset. The average Z result will be the value entered in the Tag configuration. Figure 2-48: Position Statistics 2.6.5 Filtering The signal from a Tag in a dynamic environment is sometimes subject to blockage and multipath, causing an erroneous position result. Speed Limit Filtering can be used to condition the position results such that the position from one update to the next cannot exceed a specified rate of motion. Averaging Filtering can also be used to average a given number of positions to smooth the position estimate. To set the filter parameters, select Filter Settings under the Settings menu. Figure 2-49: Filter Settings Speed Limit Filtering To disable the Speed Limit Filter, enter a value of 0 for Speed limit. To enable the Speed Limit Filter, enter a value of 1.5 meters/second for normal walking speed. You may wish to experiment with different filter settings for Tags moving at different rates. Averaging Filtering Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 52 System Installation PLUS System Manual To disable the Averaging Filter, enter a value of 0 for Moving average positions. To enable the Averaging Filter, enter a value of 2 or more. The maximum number of moving average positions allowed is 20. Therefore, the number of positions must be between 2 and 20. NOTE that using 1 position has no filtering effect. 2.6.6 Raw Logfile Recording and Playback To observe and troubleshoot positioning performance, it is often useful to record received Tag data over a period of time and then replay this data. When recorded Tag data is replayed, it is possible to enable or disable Readers and change filter settings to check variations in performance. Tag, TDOA, and Position statistics may also be monitored from a replayed logfile. To log raw Tag data, select Logging under the File menu. Figure 2-50: Data Logging Make sure that the Raw option is checked. For more information on Position file logging and Timed logging, see Section 5 PLUS Visualizer of this manual. Use the Browse button to select a destination for the logfile, and click the Start button. After the desired data has been captured, click Stop to end the data logging process. To replay a logfile, select Set Data Input under the Settings menu. Click the Logfile radio button, and browse to the destination of the recorded logfile. Select the desired logfile and click Open. Click OK to begin replaying the logfile. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 53 2.7 Troubleshooting Reader Communications For cases where the Visualizer is unable to see data from the Readers, follow the troubleshooting procedure below. Check that discovery packets are being received from the Readers. Under the Reader List View, determine if the Last Comms timer is exceeding ten seconds for the Reader(s) in question. If the timer is resetting to zero after ten seconds, the Visualizer is receiving Reader data, but the Reader is not seeing Tag packets. Follow the procedure below for the Reader Connectivity but No Tag Traffic case. If the timer is exceeding ten seconds without resetting, follow the procedure for the No Reader Connectivity case. Figure 2-51: Reader List View 2.7.1 No Reader Connectivity 1) Make sure that duplicate instances of the Visualizer application are not running. 2) Check the Ethernet cable connection bewteen the server and Ethernet switch. Typically, the Ethernet connector will have one LED for link status and one LED for activity. A steady green LED generally indicates Ethernet connectivity to the next device, and a flashing yellow LED indicates Ethernet traffic is present. Replace the cable if it is in question. 3) Check the Ethernet cable connection between the Ethernet switch and the SDP. Verify that the Switch is powered, a valid connection exists, and traffic is present. 4) Check that the Reader is powered, and the Ethernet link status light on the Reader is steady. The Ethernet activity light should blink each time a Tag packet is received, or once every ten seconds as a discovery packet is transmitted. 5) Check that the NIC card on the server has been configured with the correct IP address. This IP address should correspond to the Location Engine IP address configured on each Reader. 6) Check that the Visualizer IP address is set properly under the Settings, Set Data Input menu. 7) Check that traffic from the Readers is not blocked by the server firewall. Open a command window (Figure 2-52). Check that there is not another process conflicting with the location software on port 11000 using the command netstat a p UDP n o (Figure 2-53). 8) Check communications to the Reader by typing ping <IP address>. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 54 System Installation PLUS System Manual Figure 2-52: Command Window Figure 2-53: Check for Port 11000 Conflicts 9) If the Reader responds to the ping request, but data is still not received by the Visualizer, check and correct the Location Engine IP address on the Reader as described in section 2.3.3 Configuring Reader and Location Engine IP Addresses. 2.7.2 Reader Connectivity but No Tag Traffic 1. Place a known working Tag in proximity to the Reader in question. Check that the Data LED on the Reader panel is toggling. 2. If the Reader Data LED does not toggle when a Tag is present, disconnect the SMA cable between the Reader and the Antenna. Place the Tag within one inch of the Reader SMA port. If the Reader Data LED toggles, replace the SMA cable. 3. If the Reader Data LED does not toggle with the Tag placed next to the SMA connector, cycle power on the Reader. If the Reader does not receive Packets after rebooting, a hardware failure has occurred and the Reader should be replaced. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual System Installation 55 2.8 Reader Installation Worksheet Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. MAC AddressIP AddressLocation NotesReference WallsX Offset (m)Y Offset (m)Z (m)X Coordinates (m)Y Coordinates (m)SDP to Reader Cable Length (m)Last Reader (Y/N) 56 System Installation PLUS System Manual 2.9 Calibration Tag Installation Worksheet Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. Tag IDLocation NotesReference WallsX Offset (m)Y Offset (m)Z (m)X Coordinates (m)Y Coordinates (m) PLUS System Manual Reader Data Interface 57 3. PLUS Reader Data Interface 3.1 Overview The PLUS Reader has a 100Base-TX Ethernet connection that allows the Reader to communicate with other components in the system. This section describes the Tag packet data sent by the Reader over the Ethernet interface. The Reader will also respond to ASCII commands over the Ethernet interface. These commands and the Reader responses will be described. The Reader has a serial port that can be used to configure certain Reader parameters. Connecting to the serial port and logging on to the Reader to change parameters will also be described. Figure 3-1: PLUS Interface Layers Reader Data Interface 3.2 Network Configuration Options 3.2.1 Reader IP Address When the Reader is powered on, the operating system (OS) boots and initializes all hardware. The OS will attempt to acquire an IP address lease from a DHCP server. Once it successfully acquires a lease, the operational Reader software is started automatically. The Reader may also be configured with a static IP address, subnet mask, and gateway. Both the RS-232 interface and Ethernet interface provide mechanisms for changing the Reader IP address configuration. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOAPacket DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOAPacket DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 4PLUS Location Software LibrarySection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 5PLUS VisualizerSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOAPacket DefinitionSection 3PLUS Reader Data InterfaceSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOAPacket DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationSection 2PLUS System InstallationSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfiguration 58 Reader Data Interface PLUS System Manual 3.2.2 Location Engine IP Address The default Reader configuration assumes that the location engine IP address is the first IP address in the subnet. For example, if the acquired IP lease is 10.25.67.100 and the subnet mask is 255.0.0.0, then the Reader software assumes the location engine IP address is 10.0.0.1. The Reader may also be configured with a static location engine IP address. The location engine IP address may be specified through the RS-232 interface and through the Ethernet interface. 3.2.3 Reader Port Assignments The Reader software listens for Tag packets and sends one Time of Arrival (TOA) packet over the Ethernet for every Tag packet that is received successfully. The TOA packets are sent as UDP packets to the location engine's IP address at port 11000. This software also listens for commands on TCP port 11001. The formats for all Ethernet packets are discussed in a following section. 3.3 RS-232 Interface 3.3.1 RS-232 Port Connection Parameters The Reader RS-232 connection parameters are as follows. Connection to the Reader RS-232 requires a PS/2 to DB9 adapter. Baud Rate:
Data Bits:
Parity:
Stop Bit:
Flow Control:
115,200 8 none 1 none 3.3.2 Terminal Connection Login Log in to the Reader with username plus and password timedomain. 3.3.3 Terminal Connection Commands The terminal connection may be used to configure the Reader IP address settings and location engine IP address. Changes made with the following utilities are written to flash memory. changeIp starts a command-line menu for configuring the Reader IP address. Menu option 1 configures the Reader to obtain an address automatically from a DHCP server. Menu option 2 allows the user to set the Reader to a static IP address, subnet mask, and gateway. Pressing Enter exits the changeIp application without changing the Readers IP configuration. solverIp starts a command-line menu for setting the IP address of the location engine. Menu option 1 configures the Reader to generate the location engine IP address automatically. Menu option 2 allows the user to set the location engine IP address. Pressing Enter exits the solverIp application without changing the location engine IP address. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Reader Data Interface 59 Figure 3-2: changeIp and solverIp Commands 3.4 Detailed Interface Description At startup, the Reader listens for a connection on TCP port 11001. The Reader can be controlled by sending ASCII commands over this socket. Also, at startup (and subsequently when no Tag transmission has been heard within 10 seconds), the Reader broadcasts a discovery TOA packet to UDP port 11000 to announce its presence. The discovery TOA packet is a special form of the TOA packet with the Tag ID set to zero. Once the Reader has started, it will send a binary TOA packet to UDP port 11000 for each Tag transmission received. The formats of the binary UDP packet and the ASCII TCP commands are discussed in this section. 3.4.1 TOA Packet Format The packet format description below follows the commonly used TCP/IP convention of numbering the most significant bit as bit 0 and the least significant bit as bit 31. Also, packets are transmitted in network byte order, meaning the most significant byte (bits 0-7) is transmitted first, followed by the byte at bits 8-15, then bits 16-23, and the least significant byte (bits 24-31) last. This means that on little endian architectures, multi-byte values will need to be byte swapped before use. The Reader sends a TOA packet each time it successfully receives a Tag transmission. These packets are unicast to port 11000 at the location engines IP address. The TOA packet consists of 4 32-bit words, as shown below. 0 15 16 Reader ID (bits 0-31) 31 Reader ID (bits32-47) Version BS BN Seq Num M A Tag ID Coarse TOA Fine TOA RSSI T RS Preamble Cnt Figure 3-3: TOA Packet Format Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 60 Reader Data Interface PLUS System Manual Each field in the packet is discussed in detail below:
Reader ID The Readers 48-bit MAC address Version 4-bit field that denotes the version of the data format. This document describes version 2. Each time the format of the TOA packet changes, the version number will also change. BS 2-bit battery status reported by the Tag BN 2-bit button event field from the Tag payload. A button event of 0 means that the button is not pressed. A value of 1 indicates a single button push event. A value of 2 indicates that the button was pressed twice. A value of 3 indicates a push-and-hold event (the button was depressed for longer than 2 seconds). Sequence number 6-bit sequence number from the Tag payload M 1-bit motion detect field from the Tag payload. This field is currently not implemented. A 1-bit alarm field that indicates the Reader has encountered an error condition. Additional information can be found by querying the Readers alarm status and statistics. Tag ID 32-bit ID of the transmitting Tag. This field will be zero for discovery packets. Coarse TOA 8-bit field containing the coarse time-of-arrival value. Each bit represents 10 ns. This field is undefined if field T below is 1. Fine TOA 8-bit field containing the fine TOA value. Each bit represents 1/256 of a 10 ns coarse interval. Thus, each bit is 39.0625 ps. This field is undefined if field T below is 1. RSSI Received Signal Strength Indication. This 8-bit field is an estimate of the received Tags signal strength. The minimum RSSI value is around 20, and the strongest compressed signals peak at approximately 230. T 1-bit field that indicates valid Coarse and Fine TOA values. A value of 0 indicates a valid TOA. A value of 1 indicates an invalid TOA and the Coarse and Fine TOA fields are undefined. RS 2-bit field reserved for future use. Preamble Cnt 5-bit field that indicates how many bits remained in the acquisition preamble after the acquisition threshold was passed. Higher numbers indicate stronger signals. Valid values range from 17-23. An example structure declaration in the C programming language that would hold a TOA packet is as follows:
struct toa
char readerId[6]; /* reader ID */
char versionBsBn; /* version, battery status, and button event */
char seqNumMA;
/* sequence number, motion detect, and alarm */
int tagId;
/* tag ID */
char coarseToa;
/* coarse TOA value */
char fineToa;
/* fine TOA value */
char rssi;
/* received signal strength indicator */
Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Reader Data Interface 61 char toaPcnt;
/* TOA status and preamble count */
The tagId field in the structure above will be received in reverse byte order on little endian machine architectures (e.g., Intel-based PCs) and will need to be byte-swapped. The Reader sends a special form of the TOA packet, called a discovery TOA packet, to the network broadcast address after initial startup. The format of the discovery TOA packet is identical to the normal TOA packet, except the Tag ID field is set to zero. The Reader waits a small random delay after startup before sending the initial discovery TOA packet to avoid packet storms when many readers start at the same time (for example, after a power outage). Also, any time the Reader does not have any normal TOA packets to transmit in a 10 second period, it will transmit a discovery TOA packet to the location engines address. 3.4.2 Commands and Responses The Reader can be controlled by sending ASCII commands over TCP port 11001. Some commands cause the Reader to reply with an ASCII response packet. The Reader can receive either upper case or lower case ASCII commands, and will always respond in upper case. All command and response packets are terminated by a carriage return-line feed combination. Specific command formats are described below. 3.4.2.1 Reader Commands The following table lists the commands that can be sent to a Reader to command it to perform a function. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 62 Reader Data Interface PLUS System Manual Command Meaning RX 1 RX 0 CAL 1 CAL 0 Enable the Reader. This causes the Reader to start listening to Tag packets. The Reader is automatically enabled at startup. Disable Reader. The Reader will stop listening for Tag packets. Enable power to Calibration Tag. Disable power to Calibration Tag. Power to the Calibration Tag is disabled at startup. IP DHCP Configure the Reader to acquire its IP address via DHCP. IP ipaddr:mask[:gw]
SOLVER AUTO SOLVER addr OSC 1 OSC 0 Configure the Reader to use the static IP address ipaddr, subnet mask mask, and gateway gw. The gateway parameter is optional. Configure the Reader to generate the location engine IP address based on the Readers IP address and netmask. Set IP address of location engine to addr. The Reader sends all TOA packets to the location engines IP address. Enable the internal oscillator. The internal oscillator should be enabled when Reader is not connected to a SDP. Disable the internal oscillator. The internal oscillator should be disabled when Reader is connected to a SDP. REBOOT Reboot Reader. SENDSTATUS Causes Reader to reply with current status. SENDVER Causes Reader to reply with software and firmware version information. SENDSTATUSVER Causes Reader to reply with status and version information. SENDSTATS Causes Reader to send statistics. CLEARSTATS Causes Reader to reset statistics fields to 0. SENDALARMSTATUS Causes Reader to send alarm status word. SENDALARMENABLE Causes Reader to send alarm enable word. SETALARMENABLE a Sets Readers alarm enable word to a. CLEARALARM a Clears alarm condition(s) a in Reader. Figure 3-4: Reader Commands The values specified by the IP, SOLVER, OSC, and SETALARMENABLE commands are stored in flash and are persistent across reboots. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Reader Data Interface 63 3.4.2.2 Reader Responses Several of the commands listed in the previous section cause the Reader to reply with a response string. These responses are discussed below. SENDSTATUS The SENDSTATUS command causes the Reader to send its current control settings. The format of the reply is:
RX r, CAL c, TERM t, IP addr:mask:gw, SOLVER saddr, OSC o Where r indicates whether the Reader is enabled (0 = disabled, 1 = enabled), c is the Calibration Tag power setting, t is the Ethernet termination setting (the last Reader in the Ethernet chain will be terminated), addr is the static IP address of the Reader, mask is the subnet mask, gw is the gateway address, saddr is the IP address of the location engine, and o indicates whether the internal oscillator is enabled. If the Reader is configured to use DHCP, the field following the IP will be DHCP. For example, if the Reader is enabled, the Calibration Tag power is disabled, the Ethernet termination is disabled, the Reader has a fixed IP address of 10.1.4.5, the subnet mask is 255.255.255.0, the gateway address is 10.1.4.1, the location engines IP address is 10.1.4.1, and the internal oscillator is disabled, a SENDSTATUS command will cause the Reader to reply with:
RX 1, CAL 0, TERM 0, IP 10.1.4.5:255.255.255.0:10.1.4.1, SOLVER 10.1.4.1, OSC 0 If, in the previous example, the Reader is configured for dynamic instead of static IP and the location engine IP is automatically generated by the Reader, a SENDSTATUS command will cause the Reader to reply with:
RX 1, CAL 0, TERM 0, IP DHCP, SOLVER AUTO, OSC 0 SENDVER The SENDVER command causes the Reader to reply with the versions of the FPGA firmware and the embedded software. The format of the response is:
FPGA 0xd051, SW 1.1 SENDSTATUSVER The SENDSTATUSVER command causes the Reader to reply with the status, as sent by the SENDSTATUS command, and the version information, as sent by the SENDVER command:
RX 1, CAL 0, TERM 0, IP DHCP, SOLVER AUTO, OSC 0, FPGA 0xd051, SW 1.1 SENDSTATS The Reader maintains internal cumulative counts of certain statistics. The SENDSTATS command causes the Reader to reply with a snapshot of these statistics, along with the Readers internal temperature. The general format of the response is:
PKT p, CRC c, FD d, FO o, TOA a, UP u, TEMP t, PLL l, SYNC s The statistics reported by the Reader include the number of packets received correctly (p), number of packets received with CRC error (c), number of false detections (d), number of FIFO overflows
(o), number of packets received that resulted in bad TOA calculations (a), Reader uptime in seconds
(u), temperature t in degrees Celsius, number of PLL unlocked events (l), and number of sync marker error events (s). A specific example is:
PKT 1000, CRC 5, FD 2, FO 0, TOA 10, UP 1000000, TEMP 30.5, PLL 0, SYNC 0 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 64 Reader Data Interface PLUS System Manual In this example, the Reader replied with the following statistics: 1000 packets received correctly, 5 packets received with incorrect CRC, 2 false detections, no FIFO overflows, 10 packets received that produced bad TOA calculations, an uptime of 1000000 seconds, a temperature of 30.5 degC, the PLL was never unlocked, and no sync marker errors have occurred. Internally, the Reader keeps all statistics in unsigned 32-bit integers. The statistics counters will wrap around to zero and continue incrementing if they overflow. The alarm commands and their responses are discussed in the following section. 3.4.3 Reader Alarms As described previously, the TOA packet includes a bit that is used to indicate Reader alarms. An alarm is any error condition in the Reader that may require corrective action. Internally, the Reader maintains both a status word that shows what alarms, if any, have been generated, and an enable word which enables/disables the Readers setting the alarm bit in the TOA packet. The alarm status word is a 32-bit word, each bit of which corresponds to an alarm source. See Figure 3-5: Alarm Status and Alarm Enable Word Bit Position Definition for the bit definition of the alarm sources. It always shows the current status of an alarm source, even if the alarm source has been disabled via the alarm enable word described below. A 1 in a bit position indicates that an alarm has been generated for the corresponding alarm source; a 0 indicates no alarm exists for the corresponding alarm source. The alarm status word is read using the SENDALARMSTATUS command. Once an alarm source causes its alarm bit in the TOA packet to be set, the bit will remain set until the alarm source is cleared using the CLEARALARM command. This command takes a single parameter, which is the bit mask of the alarm sources to clear. The alarm enable word is also a 32-bit word, and has the same alarm source bit definitions as the alarm status word. In the alarm enable word, a 1 in a bit position indicates that the corresponding alarm source is enabled, and, if an alarm on that source occurs, the alarm bit in the TOA packet will be set. A 0 in a bit position in the alarm enable word means that the alarm source is disabled even if an alarm condition occurs on that source, the Reader will not set the alarm bit in the TOA packet . The alarm enable word can be read and written using the SENDALARMENABLE and SETALARMENABLE commands. At startup, the Reader sets the alarm enable word to the value that was last set by the SETALARMENABLE command. If the alarm enable word has never been set using this command, the alarm enable word is set to 0xFFFFFFFF (all alarms are enabled). Every time the Reader sends a TOA packet, the alarm bit is set if an alarm source is set in both the alarm status word and the alarm enable word. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Reader Data Interface 65 The bit definitions in the alarm status and alarm enable words are as follows:
Bit Position Alarm Source Meaning PLL Lock Lost The Reader lost synchronization with the SDP. The Reader will need to be recalibrated. Reboot The Reader has rebooted. When a PLUS system is initially powered on, all readers will report this alarm and the alarm should be cleared. After initial power up, this alarm indicates a loss of power or other Reader problem. The Reader will need to be recalibrated. Sync Marker Error This alarm indicates a problem with the sync marker from the SDP. Reserved Figure 3-5: Alarm Status and Alarm Enable Word Bit Position Definition 0 1 2 3-31 The following example shows the recommended processing flow to handle alarms. In this example, a Reader is reporting a PLL Lock Lost alarm. 10) TOA packet is received with alarm bit set. All subsequent TOA packets from this Reader will continue to have the alarm bit set until the alarm is cleared. 11) Reader alarm status is queried using the following command:
SENDALARMSTATUS 12) Reader responds with 32-bit hexadecimal alarm status indicating that the PLL Lock Lost alarm is present:
0x00000001 13) Reader is commanded to clear the alarm condition:
CLEARALARM 0x00000001 If a Reader is being used to detect Tag presence only and not connected to a SDP, the PLL Lock Lost alarm and the Sync Marker Error alarm may be ignored:
SETALARMENABLE 0xFFFFFFFA Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 66 Location Software Library PLUS System Manual 4. PLUS Location Software Library 4.1 Introduction This section documents the functions, properties, and events provided by the PLUS Tracker OCX software layer. Time Domain customers interested in developing software to utilize TOA data from the PLUS Readers or recorded data from Time Domains tracking component can do so via this OCX library. Figure 4-1: PLUS Interface Layers Location Software Library The OCX is developed in Microsoft Visual Studio 2005 using Microsoft Foundation Classes (MFC) and C++. It comprises one COM object: Tracker. The Tracker object handles the actual messages from the PLUS Readers and uses the information from the Readers to calibrate, solve, and maintain information about the Tags, Readers, and Calibration Tags. This section describes each of the software interfaces of the PLUS Location Software Library in detail. Section 4.2 provides an overview of the Tracker Object. Section 4.3 explains the some of the terminology used in the Location Software. Section 4.4 describes alternatives for initializing the Location Software. Section 4.5 is a complete reference for all features in the API. Section 4.6 documents the format of the raw data log files generated by the PLUS Location Software. Section 4.7 gives an overview of the provided C# sample application delivered with the PLUS Location Software Library to show developers how to use the Location Software Library to receive TOA information from the Readers, determine Tag positions, and maintain databases of system components. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 4PLUS Location Software LibrarySection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 5PLUS VisualizerSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 3PLUS Reader Data InterfaceSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationSection 2PLUS System InstallationSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfiguration PLUS System Manual Location Software Library 67 4.2 Tracker Object Overview The PLUS Location Software OCX contains a single object, called Tracker. The Tracker Object performs the following functions:
1. Receives data from the Readers either over Ethernet (live data), or from a logfile
(recorded/simulated data). 2. Provides access to TOA message data through a COM event. 3. Manages a database of PLUS Tags, Calibration Tags, Readers, Groups and Maps:
o Tags are mobile entities whose positions are maintained in the database and updated as new TOA messages are received. o Calibration Tags have preconfigured positions; i.e. the position to be used during calibration must be set. However, these Tags can also be mobile Tags when not being used for calibration; the same Tag can exist in both the Tag and Calibration Tag database. o Readers positions must be known and preconfigured. Readers must be assigned to a group and groups must be assigned to maps. o Groups are a set of Readers that share a common synchronization source. o Maps are a set of groups that share a common point of origin. 4. Performs calibration of the Readers. Calibration compensates for any timing offsets due to cable length delays between the Readers. Readers and Calibration Tags must be configured for the calibrator to function. 5. Solves for Tag positions using the TOA messages and the Reader locations. The Readers must be configured and calibrated for the location engine to function properly. 6. Triggers events whenever a Tags position is updated. 7. Generates alarms when Reader and Tag events occur. Any functions, properties, or events available in the COM object but not documented are not currently supported. Note that all distance units are in meters; this includes x, y, and z position values. 4.3 Groups, Maps and Tracking Cells In order to effectively use the PLUS Location Software Library, it is important to understand the concept of and interaction between Reader Groups, Maps, and Tracking Cells. Groups make it easier to install PLUS in a large or multi-floor facility by dividing a large installation into smaller sections. A Reader can be a member of multiple Groups. Each Group can be configured independently to provide a 2D solution (x and y), a 1D solution (limited to a line between Readers), or a 0D solution (presence detection). If a Group is configured to produce 2D or 1D solutions, all Readers in the Group must share the same SDP (so that they can be synchronized together). The Readers in a Group that is configured to produce 0D solutions do not need to be synchronized together. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 68 Location Software Library PLUS System Manual Maps can be used to provide a common coordinate system for all Readers that are part of the Map. Maps are useful in multi-floor or multi-building installations. Maps must not overlap. To avoid this, a Reader cannot be assigned to Groups in a way that allows the Reader to appear in more than one Map. The Location Software supports limiting a Tag position to allowable regions, called Tracking Cells. The Tracking Cell is defined by a set of points that form a polygon. Any Tag position outside the Tracking Cell is discarded. Tracking cells can be defined for both Groups and Maps. Tracking Cells can also be configured with a snap to feature. If a Tag position is just outside the Tracking Cell, the snap to feature allows the location software to move that position to the boundary of the Tracking Cell. For example, if there is a walkway on the edge of the Tracking Cell, a Tag in this area could generate positions just outside the Tracking Cell. With snap to enabled, these positions are moved to the nearest points on the Tracking Cell. 4.4 Location Software Configuration The Tracker Object includes a complete API for configuring the operating parameters of the Location Software. However, most applications do not need to use these capabilities. Instead, most installations will use the PLUS Visualizer application to perform the initial system configuration. Once installation is complete, Visualizer will generate a configuration file that contains all information necessary to completely initialize the Location Software. All an application needs to do is perform a single Location Software function call to tell the Tracker Object which file it will use to load its configuration information. 4.5 Location Software API This section documents the components of the Location Software API in detail. Although the Tracker Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. VisualizerLocation EngineConfiguration FileUser ApplicationLocation EngineSystem InstallationSystem OperationUserInstaller PLUS System Manual Location Software Library 69 Object includes a rich API for configuring and monitoring the Location Software, most applications only need to use a few of the API features. Section 4.5.1 discusses the features of the API that are commonly used by all applications. Section 4.5.2 discusses the more advanced features of the API, including configuration and additional system monitoring features. 4.5.1 Commonly Used Functions Most developers will only need to be familiar with the API features in this section. With these functions and events, an application can initialize the Location Software, receive Tag positions from the Location Software, and monitor the system for Reader alarm conditions. At startup, the typical application registers a handler for the NewPosition event and calls the ReadConfig function to tell the Location Software to load its initial configuration. Then the application calls StartTOAMessageQueue to begin the processing of TOA messages from Readers. The application should also register a handler for the TrackerAlarm event to monitor the system for Reader alarms. Each of these API features is discussed in detail below. 4.5.1.1 ReadConfig Function public virtual int ReadConfig(
BSTR filePath) Reads configuration file and processes configuration data. Previous configuration data in the tracker is deleted. filePath is the full path and name of configuration file. Returns 0 Success, entry added to list. Less than zero - Failed to read and process configuration file, file may not exist 4.5.1.2 StartTOAMessageQueue Function public virtual int StartTOAMessageQueue() Starts the TOA packet/message queue. Returns 0 Success Nonzero Data source invalid/not set. If data source is an IP address, then the software could not bind a UDP socket on port 11000 at that address. If data source is a file, then the software could not open the file to read it. 4.5.1.3 StopTOAMessageQueue Function public virtual void StopTOAMessageQueue() Stops the TOA packet/message queue. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 70 Location Software Library PLUS System Manual 4.5.1.4 IsTOAMessageQueueStarted Function public virtual int IsTOAMessageQueueStarted() Returns nonzero if the TOA message queue is started. Returns 0 TOA message queue not started Nonzero TOA message queue is started 4.5.1.5 NewPosition Event public virtual void NewPosition( int tagId, int tagType, int positionType, int mapIndex, float x, float y, float z, int timestamp, int batteryState,, int buttonEvent, int motion, int bestReaderIdLow, int bestReaderIdHi, int postionFOM, int seqNum) This event is fired whenever a Tag's position has been updated. tagId is the ID of the Tag. tagType is the type: can be either tracking = 1 or calibration Tag = 2. positionType is the type of position. 0D = 1 1D = 2 2D = 3 mapIndex is the index of the map. x,y,z are the computed position of the Tag. motionFlag, buttonEvent and battery are snapshots of those values from the Tag at the time the position was calculated. timestamp is the time as returned by the Windows API function GetTickCount() at the time the Tags position was calculated. positionFom is a figure of merit (quality metric) for the position. The range is 0 to 100, 0 being worst and 100 being best position metric. Currently, positionFom is always 100. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 71 bestReaderIdLow, bestReaderIdHi The best Reader is the first TOA of the last bundle used to produce a solution. It is provided primarily as an aid in debugging. 4.5.1.6 TrackerAlarm Event public virtual void TrackerAlarm( int alarmType int alarmParm1, int alarmParm2, int alarmParm3, int alarmParm4) This event is fired for various alarm conditions: Reader alarm (a Reader sent a TOA packet with the alarm bit set), Reader timeout (a Reader was not heard within a certain time span), and Tag timeout (a Tag was not heard within a certain time span). alarmType Reader timeout =2 Reader alarm =3 Tag timeout = 4 Other alarm types may be defined in the future. Applications should ignore unknown alarms. The alarm parameters vary depending on the type of alarm:
Reader Timeout:
alarmParm1 is the timestamp when the alarm occurred alarmParm2 is the lower four bytes of the Reader MAC address that has timed out alarmParm3 is the upper two bytes of the Reader MAC address that has timed out alarmParm4 is unused Reader alarm:
alarmParm1 is the timestamp when the alarm occurred alarmParm2 is the lower portion of the Reader ID that has an alarm alarmParm3 is the upper portion of the Reader ID that has an alarm alarmParm4 is unused Tag timeout:
alarmParm1 is the timestamp when the alarm occurred alarmParm2 is the Tag ID that has timed out alarmParm3 is unused alarmParm4 is unused 4.5.2 Advanced API Features This section describes the advanced features of the Location Software API. These features are not used by most applications. However, they are discussed here for completeness. 4.5.2.1 Alarms The Location Software can send alarm events as an aid in monitoring system health and status. Three types of alarms are: Reader timeout, Reader Alarm, and Tag timeout. A Reader timeout alarm is fired when the Location Software has received no data (neither TOA nor discovery packets) from a Reader in a configurable amount of time. A Reader alarm is fired when a TOA packet with the alarm bit set is Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 72 Location Software Library PLUS System Manual received from a Reader. Once a Reader alarm event has fired, the Location Software will wait a configurable amount of time before sending another Reader alarm event. A Tag timeout alarm is fired when the Location Software has not received a Tag transmission in a configurable amount of time. 4.5.2.1.1 SetTrackerAlarmTimeout Function public virtual int SetTrackerAlarmTimeout(
int alarmType,, int alarmTimeoutValue) This function sets alarm timeouts. alarmType is the alarm that the timeout controls. Reader Timeout = 2 Reader Alarm = 3 Tag Timeout = 4 alarmTimeoutValue is the timeout value. The units are in seconds. Its meaning depends on alarmType:
Reader Timeout - a Reader has not been heard within alarmTimeoutValue seconds. Reader Alarm once a Reader alarm has fired, it will not refire within alarmTimeoutValue seconds. Tag Timeout - a Tag has not been heard within alarmTimeoutValue seconds. The default value for all alarm types is 10 seconds. For all alarm types, a timeout value of 0 will disable alarms of that type. Returns 0 Success, Less than zero either invalid alarm type or timeout value is out of range. 4.5.2.1.2 GetTrackerAlarmTimeout Function public virtual int GetTrackerAlarmTimeout(
int alarmType,, int out alarmTimeoutValue) This function retrieves the timeout value for a specific alarm. alarmType is the alarm that the timeout controls. Reader Timeout = 2 Reader Alarm = 3 Tag Timeout = 4 alarmTimeoutValue is the timeout value. The units are in seconds. Its meaning depends on alarmType:
Reader Timeout - a Reader has not been heard within alarmTimeoutValue seconds. Reader Alarm once a Reader alarm has fired, it will not refire within alarmTimeoutValue seconds. Tag Timeout - a Tag has not been heard within alarmTimeoutValue seconds. Returns 0 Success, Less than zero invalid alarm type. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 73 4.5.2.2 Calibration These functions, properties and events are used to control calibration of a Group. 4.5.2.2.1 ControlAutoCal Function public virtual int ControlAutoCal(
int groupId, int calPeriod, int calFlags) Starts auto calibration on a group. The function can also be used to cancel a calibration in progress. groupId is the ID for the group. calPeriod is the calibration period in seconds calFlags 0 start calibration 1 cancel calibration Returns 0 - Success Less than zero - Invalid group ID or parameter 4.5.2.2.2 GetAutoCalStatus Function public virtual int GetAutoCalStatus(
int groupId, int currentAutoCalStatus) This function retrieves the current auto calibration state for a group. A calibration can be in progress, or a calibration can have completed successfully, or completed and failed. groupId is the ID for the group. currentAutoCalStatus is the current auto calibration state of the group. 0 = calibration state unknown, may never have calibrated this group 1 = calibration in progress 2 = calibration successful 3 = calibration failed. Returns 0 - Success Less than zero - Invalid group ID or parameter Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 74 Location Software Library PLUS System Manual 4.5.2.2.3 GetAutoCalGroupEntryInfo Function public virtual int GetAutoCalGroupEntryInfo(
int readerIdLow, int readerIdHigh, int groupId, double out readerGroupCalValue, int out calReaderGroupStatus) This function retrieves the current auto calibration data for a group entry. A calibration can be in progress, or a calibration can have completed successfully, or completed and failed. groupId is the ID for the group. readerIdLow is the lower portion of Reader ID. readerIdHi is the upper portion of Reader ID. readerGroupCalValue is the TOA correction factor that is added to each TOA received for this Reader in this group. calReaderGroupStatus is the current auto calibration state of the Reader in this group. 0 = calibration state unknown, may never have calibrated this Reader 1 = calibration in progress 2 = calibration successful 3 = calibration failed. Returns 0 - Success Less than zero - Invalid group ID or Reader ID 4.5.2.2.4 AddCalIncludeExcludeEntry Function public virtual int AddCalIncludeExcludeEntry(
int readerIdLow, int readerIdHigh, int tagId) Adds an entry to calibration include/exclude list. This entry is a Reader/calibration Tag pair. The calIncludeExcludeFlag property controls whether entries are included in calibration or excluded from calibration, and should be set prior to calling this funciton. Setting that property also resets the include/exclude list and deletes all the entries in the list. tagId is the ID of calibration Tag. readerIdLow is the lower four bytes of the Reader MAC address. readerIdHi is the upper two bytes of the Reader MAC address. Returns 0 Success, entry added to list. Less than zero - Failed to add entry to list. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 75 4.5.2.2.5 GetNextCalIncludeExcludeEntry Function public virtual int GetNextCalIncludeExcludeEntry(
int readerIdLow, int readerIdHigh, int tagId, int out nextReaderIdLow, int out nextReaderIdHigh, int out nextTagId) Retrieves the next calibration include/exclude entry in the list. To get the first entry in the list, pass 0 in for the readerIdLow, readerIdHi, and tagId parameters. readerIdLow is the lower portion of Reader ID. readerIdHi is the upper portion of ID. tagId is the ID of calibration Tag. nextReaderIdLow is the lower portion of Reader ID. nextReaderIdHi is the upper portion of Reader ID. nextTagId is the ID of the calibration Tag. Returns 0 Success, entry was retrieved. Less than zero - Failed to find next entry in list. 4.5.2.2.6 calIncludeExcludeFlag Property public virtual int calIncludeExcludeFlag { set; get; }
Indicates whether entries in the calibration include/exclude list should be included in calibration or excluded from calibration. When set to zero (0), the default value, the entries in the list are excluded. When set to a one (1), the entries in the list are included. Setting this property will reset the include/exclude list (i.e., it will delete all entries in the list). Therefore, it should be set prior to populating the list with the AddCalIncludeExcludeEntry function. 4.5.2.2.7 AutoCalGroupComplete Event public virtual void AutoCalGroupComplete(
int groupId, int state) This event is fired when an auto calibration for a group finishes. The state indicates if the calibration was successful for the group. A successful calibration means that a calibration value for each enabled Reader was computed. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 76 Location Software Library PLUS System Manual state 0 = calibration state unknown, may never have run a calibration this group 1 = calibration in progress 2 = calibration successful 3 = calibration failed. 4.5.2.3 Configuration Storage This function is used to store the configuration of the Location Software to a file. The counterpart to this function, ReadConfig, was discussed previously in the Commonly Used Functions section. 4.5.2.3.1 WriteConfig Function public virtual int WriteConfig(
BSTR filePath) Write current configuration data to a configuration file. filePath this is the full path and name of configuration file. Returns 0 Success Less than zero - Failed to write configuration file 4.5.2.4 Group Configuration The functions in this section are used to configure the Location Softwares internal database of Reader Groups. 4.5.2.4.1 AddOrUpdateGroup Function public virtual int AddOrUpdateGroup(
int groupId, int groupState, int groupFlags, int allowedSolverFlags, int mapIndex, double *trackingCellPoints, int trackingCellPointsBufferSize, double trackingCellSnap) Adds a Group to the tracker's Group database. If the Group already exists, updates the Groups's configuration. groupId is the ID for the group. Group ID should greater than or equal to zero. Do not use 1 as a group Id because that value is used to denote all groups in other interface functions. groupState denotes that the group is enabled or disabled 0 - group disabled Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 77 1 - group enabled. groupFlags is a bit field that controls group characteristics Bit 0 - Group Tracking Cell is enabled Bit 3 - Co-linearity check disabled. Bit 4 - Group can be calibrated currently this bit is ignored. Bit 5 - RSSI Sorting, used for groups that only provide 0D or presence detect positions and the Readers in that group are not synchronized allowedSolverFlags is a bit field that controls which type of solutions a group can produce. Bit 0 - 0D or Presence Detect Bit 1 - 1D Bit 2 - 2D mapIndex associates this group to a map. trackingCellPoints is a buffer containing the points that define a tracking cell. Each point in the tracking cell is defined by two values in the buffer (x and y). trackingCellPointsBufferSize is the number of values in the tracking cell. Each point requires two values, an X and Y value. For example if four points define a tracking cell then the buffer would contain eight values. trackingCellSnap is used to control the snap to feature. If a position is outside the tracking cell, the distance to the nearest point on the tracking cell boundary is computed. If that distance is less than this value, the position is replaced with the nearest point on the tracking cell boundary. If the computed distance is larger that this value, the position is discarded. Returns 0 - Success Less than zero - Invalid group parameter 4.5.2.4.2 GetGroup Function public virtual int GetGroup(
int groupId, int out groupState, int out groupFlags, int out allowedSolverFlags, int out mapIndex, double out *trackingCellPoints, int trackingCellPointsBufferSize, int out trackingCellPointsBufferUsed, double out trackingCellSnap) Retrieves information about a Group from the tracker's Group database. The Group must exist or an error is returned. groupId is the ID for the group. Group ID should be greater than or equal to zero. Do not use 1 as a group Id because that value is used to denote all groups in other interface functions. groupState denotes that the group is enabled or disabled 0 - group disabled Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 78 Location Software Library PLUS System Manual 1 - group enabled. groupFlags is a bit field that controls group characteristics Bit 0 - Group Tracking Cell is enabled Bit 3 - Co-linearity check disabled. Bit 4 - Group can be calibrated currently this bit is ignored. Bit 5 - RSSI Sorting, used for groups that only provide 0D or presence detect positions and the Readers in that group are not synchronized allowedSolverFlags is a bit field that controls which type of solutions a group can produce. Bit 0 - 0D or Presence Detect Bit 1 - 1D Bit 2 - 2D mapIndex associates this group to a map. trackingCellPoints is a buffer containing the points that define a tracking cell. Each point in the tracking cell is defined by two values in the buffer (x and y). trackingCellPointsBufferSize is the number of values in the tracking cell. Each point requires two value,s an X and Y value. For example if four points define a tracking cell then the buffer would contain eight values. trackingCellSnap is used to control the snap to feature. If a position is outside the tracking cell, the distance to the nearest point on the tracking cell boundary is computed. If that distance is less than this value, the position is replaced with the nearest point on the tracking cell boundary. If the computed distance is larger that this value, the position is discarded. Returns 0 - Success Less than zero - Invalid group ID 4.5.2.4.3 GetNextGroup Function public virtual int GetNextGroup( int currentGroupId, Retrieves next group ID given a group ID. The next group ID is the next higher number group. To retrieve the first group ID, pass -1 in the currentGroupId parameter. int out nextGroupId) Returns 0 - Success Less than zero No group ID higher than currentGroupId (currentGroupId is the last group). 4.5.2.4.4 RemoveGroup Function public virtual int RemoveGroup( int groupId) Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 79 Removes a group from the tracker's database. The group must exist or an error is returned. Group 0 cannot be deleted. It is created at startup to handle old configuration files and Readers not in the current configuration. groupId is the ID for the group. Returns 0 - Success Less than zero - Invalid group ID 4.5.2.5 Group Entry Configuration The functions in this section are used to add, remove, and configure Reader entries within the Groups. 4.5.2.5.1 AddOrUpdateGroupEntry Function public virtual int AddOrUpdateGroupEntry(
int readerIdLow, int readerIdHigh, int groupId, double x, double y, double z, int readerState, double calibrationValue, int calibrationValid,) This function adds a Reader entry to a group in the tracker's database. If the Reader entry already exists, it updates the configuration. readerIdLow is the lower four bytes of the Reader MAC address. readerIdHigh is the upper two bytes of the Reader MAC address. groupId is the ID for the group x,y,z is the location of the Reader, units are meters. readerState indicates whether the Reader is enabled for this group. A Reader can be enabled in one group and disabled in another group. calibrationValue is the TOA correction factor that is added to each TOA received for this Reader in this group. The same Reader in another group can have a different calibration value. calibrationValid is a flag indicating that calibrationValue is valid. If a Reader has been calibrated, the calibration constant should be passed in calibrationValue and calibrationValid should be set to TRUE. If a Reader has not been calibrated, then calibrationValid should be set to FALSE and the Location Software will ignore calibrationValue. Returns 0 - Success less than zero - Invalid group ID or invalid parameters. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 80 Location Software Library PLUS System Manual 4.5.2.5.2 GetGroupEntry Function public virtual int GetGroupEntry(
int readerIdLow, int readerIdHigh, int groupId, double out x, double out y, double out z, int out readerState, double out calibrationValue, int out calibrationValid,) This function retrieves a Reader entry from a group. The Reader entry must already exist or an error is returned. readerIdLow is the lower four bytes of the Reader MAC address of the requested Reader entry. readerIdHigh is the upper two bytes of the Reader MAC address of the requested Reader entry. groupId is the ID for the group of the requested Reader entry. x,y,z is the location of the Reader, units are meters. readerState indicates whether the Reader is enabled for this group. A Reader can be enabled in one group and disabled in another group. calibrationValue is the TOA correction factor that is added to each TOA received for this Reader in this group. The same Reader in another group can have a different Calibration value. calibrationValid is a flag indicating that calibrationValue is valid. If a Reader has been calibrated, the calibration constant should be passed in calibrationValue and calibrationValid should be set to TRUE. If a Reader has not been calibrated, then calibrationValid should be set to FALSE and the Location Software will ignore calibrationValue. Returns 0 - Success less than zero Reader entry does not exist. 4.5.2.5.3 GetNextGroupEntry Function public virtual int GetNextGroupEntry(
int groupId, int currentReaderIdLow, int currentReaderIdHigh, int nextReaderIdLow, int nextReaderIdHigh) Retrieves the next Reader in a group given a Reader MAC address. The next Reader MAC address is the next higher value. To get the first Reader in the group, pass 0 in the currentReaderIdLow and currentReaderIdHigh parameters. groupId is the ID of the group containing the Readers. currentReaderIdLow is the lower four bytes of the current Reader MAC address. currentReaderIdHi is the upper two bytes of the current Reader MAC address. nextReaderIdLow is the lower four bytes of the next Reader MAC address. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 81 nextReaderIdHi is the upper two bytes of the next Reader MAC address. Returns 0 - Success Less than zero No Reader higher than current Reader (current Reader is the last Reader in the group). 4.5.2.5.4 RemoveGroupEntry Function public virtual int RemoveGroupEntry(
int groupId, int readerIdLow, int readerIdHigh) This function removes a Reader from a group. The Reader entry must exist or an error is returned. groupId is the ID for the group. readerIdLow lower four bytes of the Reader MAC address. readerIdHi upper two bytes of the Reader MAC address. Returns 0 - Success Less than zero - Invalid group ID or Reader MAC address 4.5.2.6 Map Configuration These functions allow configuration of the Location Softwares internal database of Maps. 4.5.2.6.1 AddOrUpdateMapParms Function public virtual int AddOrUpdateMapParms(
int mapIndex, int flags, double snapDist, int bufferSize, double *trackingCellPoints) This function sets the parameters for a map. A map can have a tracking cell which is a polygon boundary limiting where Tag positions can be computed. If the map parameters already exist, they are updated. mapIndex is the ID for the map. Must be greater or equal to zero. flags is a bit field that controls the group characteristics Bit 0 - Map Tracking Cell is enabled snapDist is used to control the snap to feature. If a position is outside the tracking cell, the distance to the nearest point on the tracking cell boundary is computed. If that distance is less than this value, the position is Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 82 Location Software Library PLUS System Manual replaced with the nearest point on the tracking cell boundary. If the computed distance is larger that this value, the position is discarded. bufferSize is the number of values in the tracking cell. Each point requires two values, an X and Y value. For example if four points define a tracking cell then the buffer would contain eight values. trackingCellPoints is a buffer containing the points that define a tracking cell. Each point is the x,y position of that point. Returns 0 - Success less than zero Invalid map parameters. 4.5.2.6.2 GetMapParms Function public virtual int GetMapParms(
int mapIndex, int out flags, double out snapDist, int bufferSize, int out bufferUsed, double *trackingCellPoints) This function retrieves the parameters for a map. A map can have a tracking cell which is a polygon boundary limiting where Tag positions can be computed. The map must exist or an error is returned. mapIndex is the ID for the map. Must be greater or equal to zero. flags is a bit field that controls the map characteristics Bit 0 - Map Tracking Cell is enabled snapDist is used to control the snap to feature. If a position is outside the tracking cell, the distance to the nearest point on the tracking cell boundary is computed. If that distance is less than this value, the position is replaced with the nearest point on the tracking cell boundary. If the computed distance is larger that this value, the position is discarded. bufferSize is the number of values in the tracking cell. Each point requires two values, an X and Y value. For example if four points define a tracking cell then the buffer would contain eight values. trackingCellPoints is a buffer containing the points that define a tracking cell. Each point is the x,y position of that point. Returns 0 - Success less than zero Invalid mapIndex. 4.5.2.7 Calibration Tag Configuration The functions in this section are used to configure the Location Softwares internal database of calibration Tags. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 83 4.5.2.7.1 AddOrUpdateCalTag Function public virtual int AddOrUpdateCalTag(
int tagId, double x, double y, double z, int *groupIdList, int groupIdListLength) This function adds a calibration Tag to the tracker's Calibration Tag database. If the Tag already exists, it updates the Tag's configuration. Calibration Tags are necessary for calibrating the Readers. They are always at fixed positions specified by X, Y, and Z. tagId is the ID of Tag. x,y,z is the position of Tag. groupIdList is not implemented. groupIdListLength is not implemented Returns 0 - Success Less than zero- Invalid value for x,y or z (Invalid values are NaNs) 4.5.2.7.2 GetCalTag Function public virtual int GetCalTag(
int tagId, double out x, double out y, double out z, int out *groupIdList, int out groupIdListLength) Retrieves a Calibration Tag's configuration. tagId is the ID of Tag. x,y,z is the position of Tag. groupIdList is not implemented. groupIdListLength is not implemented. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 84 Location Software Library PLUS System Manual Returns 0 - Success; the Tag exists and the x, y and z coordinates have been returned. Less than zero - The Calibration Tag does not exist in the database. 4.5.2.8 Tag Configuration The functions in this section are used to configure the Location Softwares internal Tag database. 4.5.2.8.1 AddOrUpdateTag Function public virtual int AddOrUpdateTag(
int tagId, double nominalZheight) Adds a Tag (non-Calibration Tag) to the Tag database. If the Tag already exists, it updates the Tag's configuration. Since the location engine can only track Tags on 2D planes, the Tag's nominal Z height must be configured beforehand in the nominalZheight parameter. Setting the nominalZHeight is only needed when the Tag is at a different height than the system default nominalZHeight. tagId is the ID of Tag. nominalZheight is the height above floor of the Tag. Returns 0 - Success less than zero - Invalid value for nominalZheight (Invalid values are NaNs) 4.5.2.8.2 GetTag Function public virtual int GetTag(
int tagId, double out nominalZheight) Retrieves a Tags nominalZHeight from the Tag database. The Tag must exist or an error is returned. tagId is the ID of Tag. nominalZheight is the height above floor of the Tag. Returns 0 - Success less than zero Tag does not exist or invalid value for nominalZheight (Invalid values are NaNs) Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 85 4.5.2.8.3 GetNextTag Function public virtual int GetNextTag(
int currentTagId, int out nextTagId) Retrieves next Tag ID given a Tag ID. The next Tag ID is the next higher numbered Tag. To retrieve the first
(lowest numbered) Tag ID, pass -1 in the currentTagId parameter. Returns 0 - Success Less than zero No Tag ID higher than currentTagId (currentTagId is the last Tag ID). 4.5.2.8.4 GetTagPosition Function public virtual int GetTagPosition(
int tagId, int out tagType, int out positionType, int out mapIndex, double out x, double out y, double out z, int out timestamp, int out batteryState, int out buttonEvent, int out motion, int out bestReaderIdLow, int out bestReaderIdHi , int out positionFom) Retrieves information on the last position calculated for the specified Tag. If a Tags position has not been calculated, this function returns a nonzero value and does not return any Tag information. tagId is the ID of the Tag. tagType is the type. It can be either tracking = 1 or calibration Tag = 2. positionType is the type of position. 0D = 1 1D = 2 2D = 3 mapIndex is the index of the map x,y,z are the computed coordinates of the Tag. motionFlag, buttonEvent and battery are snapshots of those values from the Tag at the time the position was calculated. timestamp is the time as returned by the Windows API function GetTickCount() at the time the Tags position was Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 86 Location Software Library PLUS System Manual calculated. bestReaderIdLow, bestReaderIdHi The best Reader is the first TOA of the last bundle used to solve. This is include primarily as a debugging aid. positionFom is a figure of merit (quality metric) for the position. The range is 0 to 100, 0 being worst and 100 being best position metric. Returns 0 Success Less then zero Unknown Tag ID or No solution available 4.5.2.8.5 RemoveTag Function public virtual int RemoveTag(
int tagId) Removes a Tag from the Tag database. The Tag can be either a normal Tag or a calibration Tag. tagId is the ID of the Tag. Returns 0 Success Less than zero Unknown Tag ID 4.5.2.9 Solver Configuration The Location Software Solver has a number of parameters that are user-configurable, such as filter settings. The functions in this section are used to get and set those parameters. 4.5.2.9.1 SetSolverParm Function public virtual int SetSolverParm(
int parameterId, variant parameter ) Sets one of the allowable solver parameters. Parameters can be different types; some are integer and some are floating point values. A Variant structure is used to deliver the parameter. The following table describes the currently documented solver parameters:
Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 87 Parameter ID Description Type Units Default Value 2 8 9 Nominal Tag Z height double Moving average filter depth integer Tag speed limit filter double m N/A m/s 1 3 2 The nominal Tag Z height is the default Tag height assumed by the solver. This value can be overridden on a per-
Tag basis with the AddOrUpdateTag function. The Tag speed limit filter and moving average filter can be disabled by setting them to a value of 0. Returns 0 Success Less than zero Unknown Parameter ID or invalid parmeter 4.5.2.9.2 GetSolverParms Function public virtual int GetSolverParm(
int parameterId, variant out parameter ) Retrieve one of the allowable solver parameters. Parameters can be different types; some are integer and some are floating point values. A Variant structure is used to retrieve the parameter. Documented solver parameters are described in the previous paragraph. Returns 0 Success Less than zero Unknown Parameter ID or invalid parameter 4.5.2.10 Data Source Configuration Normally, the Location Software gets its TOA data from a network interface. Optionally, this TOA data can be read from a raw log file. The functions and properties in this section allow the TOA data source to be configured. 4.5.2.10.1 IsDataSourceIPAddr Function public virtual int IsDataSourceIPAddr() This function returns zero if DataSource is empty or is not a valid IP address; it returns nonzero if it is a valid IP address in string form. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 88 Location Software Library PLUS System Manual Returns 0 Data source is not a valid IP address Nonzero Data source is an IP address 4.5.2.10.2 SetInput Function public virtual int SetInput(
int input) Selects either raw file or live data (IP data) as input to tracker input 1 = IP Data Live data from Ethernet interface. 0 = Replay data from a raw file. Returns 0 Success. Less that zero - Failed 4.5.2.10.3 GetInput Function public virtual int GetInput() This function returns an indication of whether the system is using live data or data from a raw file. Returns 1 = IP Data Live data from Ethernet interface. 0 = Replay data from a raw file. 4.5.2.10.4 IsRawFileFinished Function public virtual int IsRawFileFinished() This function returns an indication of whether the system has finished processing all the data in the raw file. Returns 1 - raw file finished. 0 - raw file still playing Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 89 4.5.2.10.5 playbackMode Property public virtual int playbackMode { set; get; }
This function sets the playback options for raw log files. Has no effect on live data streaming. The playbackMode must be set before StartTOAMessageQueue is called. Bit 0 if set, playback is not paced by the timestamp recorded for each logged TOA message, i.e. the file is played back at maximum speed. However, the timestamp is still passed to the solver for determining Tag speed. Default is 0. Bit 1 if set, loops playback of the logfile. Default is 0. Values for playbackMode 0 Default behavior, logfile is processed at normal speed and stops when the end is reached. 1 Logfile is processed at maximum speed and stops when the end is reached. 2 Logfile is processed at normal speed and starts over when the end is reached. 3 Logfile is processed at maximum speed and starts over when the end is reached. 4.5.2.10.6 inputRawFileName Property public virtual string inputRawFileName { set; get; }
Specifies input file name of saved TOA messages. This property must be set before StartTOAMessageQueue is called. 4.5.2.10.7 localIpInterface Property public virtual string localIpInterface { set; get; }
Specifies which local IP interface to use to get TOA messages. The default is 0.0.0.0, meaning any available network interface. This property must be set before StartTOAMessageQueue is called. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 90 Location Software Library PLUS System Manual 4.5.2.11 Debug and Troubleshooting The functions, properties, and events in this section may be useful in troubleshooting installation problems. In particular, the outputLogFileName property controls logging of raw TOA data to a file. 4.5.2.11.1 outputLogFileName Property public virtual string outputLogFileName { set; get; }
If empty, no data is logged. If a filename is specified, TOA messages are saved to that file. This property must be set before StartTOAMessageQueue is called. 4.5.2.11.2 minTagId Property public virtual int minTagId { set; get; }
Input Tag filtering. Sets the lower limit on which Tags will accepted by the system. 4.5.2.11.3 maxTagId Property public virtual int maxTagId { set; get; }
Input Tag filtering. Sets the upper limit on which Tags will accepted by the system. 4.5.2.11.4 NewTOAMessage Event public virtual void NewTOAMessage(
int readerIdLow, int readerIdHi, int version, int batteryState,, int buttonEvent, int seqNum, int motion, int alarm, int tagId, int coarseTOA, int fineTOA, int rssi, int preambleCount, int invalidTOA, int ipAddr, int timestamp) Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 91 This event is fired whenever a new TOA message is received. Timestamp is the time as returned by the Windows API function GetTickCount() at the time the TOA is received. 4.5.2.12 Miscellaneous Miscellaneous functions include a convenient way to send commands to a Reader and a routine to flush the TOA message queue. 4.5.2.12.1 FlushTOAMessageQueue Function public virtual void FlushTOAMessageQueue() Removes all pending TOA messages in the queue. This should be called when changing data sources after the TOA message queue has been stopped. 4.5.2.12.2 SendReaderCommand Function public virtual BSTR SendReaderCommand(
int ipAddr, BSTR command int timeout, int numResponseStrs) Sends a command to a Reader and returns the response. Returns Response String 4.5.2.13 Status Monitoring The events in this section allow an application to be notified of changes occurring within the Location Software. 4.5.2.13.1 NewReader Event public virtual void NewReader(
int readerIdLow, int readerIdHi, int state, int discoveryMethod) This event is fired whenever a TOA message for a Reader not is in the database is received. This event also fires when the configuration information for a Reader is read from a configuration file. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 92 Location Software Library PLUS System Manual 4.5.2.13.2 NewTag Event public virtual void NewTag(
int tagId, int readerIdLow, int readerIdHi, int seqNum) This event is fired whenever a new Tag is detected. 4.5.2.13.3 NewGroupEntry Event public virtual void NewGroupEntry(
int readerIdLow, int readerIdHi, int groupId, int state) This event is fired whenever a Reader entry is added to a group. The event can be fired when Reader information is read from configuration file or when the application calls AddOrUpdateReaderGroupEntry. 4.5.2.13.4 NewCalTag Event public virtual void NewCalTag(
int tagId, float x, float y, float z) This event is fired whenever a new Cal Tag is configured into the system. The Cal Tag can be read from a configuration file. The event can be fired Reader information is read from configuration file or when the application calls AddOrUpdateCalTag. 4.5.2.13.5 NewConfig Event public virtual void NewConfig(
int configReset) This event is fired whenever a new configuration data block is read. A configuration data block can be in a configuration file or raw file. However, not all raw files contain a configuration data block. Applications can use this event to determine when the tracker has been reconfigured. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 93 4.6 Raw Data Log File Formats The file itself is actually divided into two sections Configuration and Data. By capturing both the system configuration and the raw TOA messages, the information needed for playback is encapsulated into one logfile for use as a data input source. 4.6.1.1 Configuration
## CONFIGURATION
# 080711,152111,13780.5, VERSION 2.0.0 # configuration version number to detect old version
# MAP Flags bit 0 = Map includes Tracking Cell
#MAP mapIndex, Flags, SnapDist, [trackcell data]
MAP 0, 0x1, 2.00
[0.00,0.00;0.00,46.00;38.50,46.00;38.50,0.00;0.00,0.00]
# GROUP state 0 disabled, 1 enabled
# GROUP Flags bit 0 = Group Tracking Cell is enabled
# bit 1 = not used should be set to 0
# bit 2 = not used should be set to 0
# bit 3 = Group co-linearity check disabled
# bit 4 = Group can be calibrated
# bit 5 = Group uses RSSI sorting (for non-synced 0d group)
# GROUP SolverTypes
# bit 0 = 0D
# bit 1 = 1D
# bit 2 = 2D (polar)
# mapIndex Map Index for this group
# SnapDist distance outside of trackingcell where points converted to nearest points
#GROUP ID State, Flags, SolverTypes, mapIndex, SnapDist, TrackingCellData GROUP 0, 1, 0x10, 0x4,
# READER:
ID (MAC address) X, Y, Z, 0, 0.00 Calibration, state group Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual 0, 0.00 Calibration, state, group 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 94 Location Software Library GROUP 1, 1, 0x10, 0x4,
# READER:
ID (MAC address) X, Y, READER 0x50c216a540, 13.41000, 36.92000, 2.750000, 1236.00000, READER 0x50c216a541, 13.47000, 45.48000, 2.750000, 72.9500000, READER 0x50c216a56f, 29.11000, 35.09000, 2.750000, 1015.09000, READER 0x50c216a590, 15.92000, 17.60000, 2.750000, -454.53000, READER 0x50c216aeef, 0.220000, 14.01000, 2.750000, -362.67000, READER 0x50c216aef7, 9.770000, 27.97000, 2.750000, -271.80000, READER 0x50c216aefc, 10.67000, 20.56000, 2.750000, -291.54000, READER 0x50c216aefd, 0.230000, 25.90000, 2.750000, -235.65000, READER 0x50c216aeff, 7.140000, 18.00000, 2.750000, -249.68000, READER 0x50c216af00, 15.90000, 22.47000, 2.750000, -337.59000, READER 0x50c216af01, 4.560000, 20.14000, 2.750000, -297.43000, READER 0x50c216af03, 6.950000, 23.68000, 2.750000, -314.60000, READER 0x50c216af19, 25.92000, 45.03000, 2.750000, 748.990000, READER 0x50c216af1b, 8.140000, 10.32000, 2.750000, 1054.22000, READER 0x50c216af20, 0.230000, 8.280000, 2.750000, -951.23000, READER 0x50c216af24, 4.540000, 6.190000, 2.750000, 760.860000, Z, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
# TAG:
ID ZHeight TAG TAG 0xa7b, 1.00 0x20001032, 1.11
# CALTAG:
ID X Y Z groups CALTAG 0x641, 18.70000, 40.05000, 2.180000, CALTAG 0x655, 15.10000, 33.90000, 2.180000, CALTAG 0x6c0, 32.67000, 28.28000, 1.960000, CALTAG 0x8f7, 30.62000, 24.52000, 2.200000, CALTAG 0x95a, 30.20000, 13.31000, 2.200000, CALTAG 0x98a, 3.890000, 9.450000, 2.200000, CALTAG 0x990, 9.530000, 40.05000, 2.180000, CALTAG 0x9a0, 8.070000, 13.35000, 2.200000, CALTAG 0x9b5, 5.650000, 16.74000, 2.200000, CALTAG 0x9e1, 14.84000, 3.900000, 2.200000, CALTAG 0xa04, 14.43000, 15.08000, 2.200000, CALTAG 0xa11, 30.41000, 2.840000, 2.550000, CALTAG 0xa20, 9.720000, 26.45000, 2.200000, CALTAG 0xa27, 34.30000, 14.50000, 2.520000, CALTAG 0xa37, 20.69000, 4.480000, 2.200000, Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 95 CALTAG 0xa3b, 3.940000, 25.99000, 2.200000, CALTAG 0xa4f, 15.54000, 13.33000, 2.200000, CALTAG 0xa5b, 8.570000, 3.900000, 2.200000, CALTAG 0xa68, 36.00000, 6.200000, 2.200000, CALTAG 0xa75, 24.26000, 13.33000, 2.200000, CALTAG 0xa7f, 3.820000, 5.120000, 2.200000,
# Solver, ParametersId, Parameter, SolverId SOLVER 2, 0.76,
# default Z Height SOLVER, 6, 0.03,
# co-linearity limit
# Reader and Cal Tag Pairs RDRCALTAGPAIRINCLUDE 1 RDRCALTAGPAIR 0x50c216af6c, 0xa27 RDRCALTAGPAIR 0x50c216af6c, 0xa68 RDRCALTAGPAIR 0x50c216af6e, 0xa37 RDRCALTAGPAIR 0x50c216af82, 0xa68 RDRCALTAGPAIR 0x50c216af85, 0xa11 RDRCALTAGPAIR 0x50c216af8e, 0xa27 RDRCALTAGPAIR 0x50c216af99, 0xa4f RDRCALTAGPAIR 0x50c216afa8, 0xa37 RDRCALTAGPAIR 0x50c216afab, 0xa11 RDRCALTAGPAIR 0x50c216afc4, 0xa37 RDRCALTAGPAIR 0x50c216afc4, 0xa11 RDRCALTAGPAIR 0x50c216afe4, 0xa37 RDRCALTAGPAIR 0x50c216afe5, 0xa27 RDRCALTAGPAIR 0x50c216aeef, 0x9a0 RDRCALTAGPAIR 0x50c216af1b, 0x9a0 RDRCALTAGPAIR 0x50c216af2b, 0x9a0 RDRCALTAGPAIR 0x50c216aeff, 0x9a0 RDRCALTAGPAIR 0x50c216af2b, 0xa04
## DATA 4.6.1.2 Raw Data Record Raw data records are the raw TOA data records received from the Reader. Refer to the TOA Packet Format as described in Section 3 PLUS Reader Data Interface above for additional information. Elapsed Time, MAC address, version, button event, seqNum, motion detect, alarm, tagID, courseTOA, fineTOA, RSSI, preamble count 0, 0x0050c216af90, 1, 3, 0, 10, 0, 0, 0x0000004d, 128, 88, 89, 19 Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 96 Location Software Library PLUS System Manual 0.125, 0x0050c216af90, 1, 3, 0, 57, 0, 0, 0x00000995, 176, 38, 128, 20 0.125, 0x0050c216af6c, 1, 3, 0, 57, 0, 0, 0x00000995, 49, 231, 82, 18 0.125, 0x0050c216afdf, 1, 3, 0, 57, 0, 0, 0x00000995, 7, 212, 86, 18 0.125, 0x0050c216afba, 1, 3, 0, 57, 0, 0, 0x00000995, 222, 136, 155, 20 0.125, 0x0050c216afcc, 1, 3, 0, 57, 0, 0, 0x00000995, 226, 58, 113, 20 0.187, 0x0050c216af90, 1, 3, 0, 55, 0, 0, 0x000008a3, 99, 1, 124, 20 0.187, 0x0050c216af90, 1, 3, 0, 27, 0, 0, 0x0000087b, 199, 67, 101, 20 0.312, 0x0050c216af90, 1, 3, 0, 32, 0, 0, 0x0000086a, 51, 54, 81, 18 Elapsed Time Time, in seconds, that the record was logged; i.e., time elapsed since logging started MAC address MAC address of the Reader generating the TOA version Version of the data format for the TOA packet button event Button event field from the Tag payload SeqNum Sequence number from the Tag payload motion detect Indicates whether the transmitting Tag is currently in motion. Currently, this field is not implemented. alarm tagID Reader error condition indicator ID of the Tag transmitting coarseTOA Coarse TOA value. Each coarse TOA = 10 ns. fineTOA Fine TOA value. Each fine TOA = 1/256 of a 10 ns coarse interval (39.0625 ps) RSSI Received Signal Strength Indication (RSSI). This field is an estimate of the received Tags signal strength. The minimum RSSI value is around 20, and the strongest compressed signals peak is approximately 230. preamble count Status indicator for the last received packet. For diagnostic use only Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 97 4.7 C# Sample Application Overview The C# sample application included in the PLUS software install package is intended to demonstrate how to use the PLUS Location Software Library in a tracking application. 4.7.1 Operating the Sample Application Figure 4-2: C# Sample Application Screenshot The buttons on the form are arranged, from top to bottom, in the order they are commonly used. Although some steps may be skipped depending on the situation, typically the user will select buttons starting from the top and working down the form. 1. Select a PLUS Location Software Library configuration file using the Config file button. If replaying a raw logfile, this step may be skipped since the configuration is saved at the beginning of raw logfiles. The last configuration file used is saved in the system registry, so there is no need to repeat this step until a different configuration file is desired. 2. Select the data source either Get data from logfile (recorded/simulated data) or Get data from network (live data). Once a data source has been selected, the Track button is enabled and the application waits for further instruction before beginning any data processing. 3. Select Track to begin tracking Tags. Whenever a Tags position is updated, a message will display at the bottom of the form with the coordinates (in meters) of the position. 4. Selecting Reset State brings the software back to its startup state. 4.7.2 Code Walkthrough The sample application was written in C# using Microsoft Visual Studio 2008. The main source code file is MainForm.cs. The sample applications OCX initialization is performed in the constructor function of MainForm. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 98 Location Software Library PLUS System Manual This calls the ResetBtn_Click() handler, which sets the application to an initialized, empty state. The last-used configuration file is loaded, if one is recorded in the system registry. Once initialization is complete, the code waits for the user to select a data source before continuing. To enable logging position updates to a .csv file which can be viewed by a typical spreadsheet application, change the following sections of code:
Uncomment the OutputPositionFile.Visible = true; line at the end of MainForm.MainForm_Load() Uncomment the entire body of MainForm.OutputPositionFile_Click(). Change MainForm.tagToSavePositions to the Tag ID for which position updates are to be saved. This change is in MainForm.OutputPositionFile_Click(), near line 257. With these changes, the application will have a new button on the form at runtime, which lets the user select a .csv file to save position updates to from the hardcoded Tag ID. 4.7.2.1 Single-Threaded Apartment Versus Multi-Threaded Apartment The PLUS Location Software Library is multithreaded and as such most of the events are fired in the context of its thread, rather than the applications UI thread. Threading issues are avoided through the use of single-threaded apartment (STAThread). A more sophisticated application using multi-threaded apartment (MTAThread) would handle the threading issues in its event handler(s) by performing a thread-safe transfer of data to the UI thread. 4.7.2.2 MainForm Properties String configFileName;
Path of the currently loaded configuration file. StreamWriter positionFile = null;
File for saving Tag position updates. uint tagToSavePositions = 0;
Tag ID for which positions are saved in the position log file. 4.7.2.3 MainForm Methods and Event Handlers public MainForm_Load() Initializes the COM objects and calls ResetBtn_Click(), which sets the application to an intialized, empty state. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Location Software Library 99 public void printMessage(String msg) Displays the string at the bottom of the main window. private void ResetBtn_Click(object sender, EventArgs e) Sets the software to an initialized, empty state and (re)loads the configuration file. private void ConfigBtn_Click(object sender, EventArgs e) Displays a File Open dialog for the user to select a PLUS Location Software Library configuration file. public void LoadConfigFile(String file) Signals the PLUS Location Software Library to read the configuration stored in the file named by file. private void DataSourceFileBtn_Click(object sender, EventArgs e) Displays a File Open dialog box where the user can select a raw logfile to provide TOA messages. If the file contains a configuration header, that will override any standalone configuration previously selected. private void DataSourceNetworkBtn_Click(object sender, EventArgs e) Displays a dialog for the user to select a network interface on the local machine for receiving live data. private void TrackBtn_Click(object sender, EventArgs e) Starts or stops tracking Tags. private void trackerEventHandler_NewPosition(int tagId, int tagType, int positionType, int mapIndex, float X, float Y, float Z, int timestamp, int batteryState, int buttonState, int motion, int bestReaderIdLow, int bestReaderIdHigh, int positionFOM, int seqNum) Event handler for the PLUSTracker.NewTagPosition event; displays the new position. private void MainForm_FormClosing(object sender, FormClosingEventArgs e) Cleanup. private void OutputPositionFile_Click(object sender, EventArgs e) Selects an output file to which Tag position updates are saved. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 100 Visualizer PLUS System Manual 5. PLUS Visualizer 5.1 Overview The PLUS Visualizer application is delivered with the PLUS Location Software Installation. It can be used to quickly setup and deploy a system, and to determine / diagnose problems. Figure 5-1: PLUS Interface Layers Visualizer In this section, you will become familiar with the Visualizer menus and forms. You will be introduced to its functional capabilities, and learn what is required to setup and configure the software. The Control Window The Visualizer uses a single control window from which you can configure different views into the tracking system. See Figure 5-2: Visualizer Control Window below. In this section, you will learn about each of these views what you can gain from each view, and how each view can be customized to meet your specific needs. 2D Map View Using the 2D Map View, you can graphically see the location of the PLUS Tags being tracked. You can customize the view to display / hide system components including Readers, Calibration Tags, and background image floor plans. You can also customize the look of the display including the display icon and size for the Readers and Tags, and parameters for the grid and floor plan/background image display. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationPLUS LocationSoftwareInstallationSoftwarePLUS ReaderPLUS Hardware InfrastructureSection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 4PLUS Location Software LibrarySection 4PLUS Location Software LibraryHigh Level System Interface / Interface to Location SoftwareSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 5PLUS VisualizerSection 5PLUS VisualizerVisualizer, Installation/MaintenanceSoftware ToolsSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 3PLUS Reader Data InterfaceSection 3PLUS Reader Data InterfaceReader Software Interface -Commands, Responses, Raw TOA Packet DefinitionSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfigurationSection 2PLUS System InstallationSection 2PLUS System InstallationReaders, Tags, SDP, Cabling, Power, HardwareConfiguration PLUS System Manual Visualizer 101 List View Using the List View, you can see the current status of the PLUS Tags and Readers. Message View Using the Message View, you can see the message traffic from the PLUS Location Software Library, including Time Difference of Arrival (TDOA) calculation messages, and Time Of Arrival (TOA) messages received from the Readers, and the messages output by the location engine as it updates its internal databases. Statistical Views Using forms, you can view the following statistics:
o TDOA for each of the Reader pairs o Tag statistics by Reader o Position statistics for the Tags o Reader statistics. Menu Bar Menu Bar Toolbar Graphic View Frame Status Bar List View Frame Message Message View Frame Frame Figure 5-2: Visualizer Control Window Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 102 Visualizer PLUS System Manual 5.2 Menu Bar Use the Menu Bar menu to quickly access:
Figure 5-3: Menu Bar 1) File commands to open and save a configuration folder and control logging of system data. 2) View commands to customize the view in the 2D Map View Frame, and select the message types output in the Message Frame. The View menu also enables you to open various statistic windows. 3) Setting commands to customize the timeout parameters, 2D view parameters, and the source of the data input 4) View version information about the Visualizer application 5.2.1 File Figure 5-4: File Menu Use the File menu to:
1) Open an existing configuration folder 2) Save the current configuration to the same location as that currently loaded, or to a user specified folder 3) Enable logging of the TOA messages received from the Readers, to a user specified location 4) Enable logging of position data to a user specified file location Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 103 File Menu Items:
Open Config identify an existing configuration folder. A configuration folder contains two configuration files, visualizerconfig.txt and trackerconfig.txt, which contain information to:
o o Identify the Readers, the MAC address of each, survey data, and calibration data Identify the Calibration Tags in the system o Set the Z value for those Tags with a known height o Set a default Z for newly detected Tags o Specify a background image for the floor plan o Define the zoom and pan settings, as well as the rotation and translation for viewing Save Config save the current configuration. If no configuration folder was loaded, e.g. the configuration was defined interactively, you will be prompted to identify the name of the folder to which it should be saved. Save Config As save the current configuration to a user specified folder. The user specified folder then becomes the default configuration folder. Logging log the received TOA messages (raw data) and/or the position data. Refer to Figure 5-5: Logging Dialog. Use the Browse button to select the directory to which the files will be saved. Use the File size limit field to limit the size of the logfile (0 = unlimited size). The filename is defined as the <data type><date><timestamp>.txt. For example, the following files were generated on 5/18/08 at 4:29:28 PM:
Raw_2008_05_18__16_29_28.txt Position_2008_05_18__16_29_28.txt Using the Logging parameters, you can also specify a start time, and/or a time duration to log the data. For information about the content of the logfiles, see Sections 4.6 Raw Data Log File Formats and 5.8.1 Position Data. If Timed and Continuous, a new logfile is started after Duration time. If Timed and Once, a single logfile is generated logging stops after Duration time. Start time & duration specified Figure 5-5: Logging Dialog Exit Close the application Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 104 Visualizer PLUS System Manual 5.2.2 View Figure 5-6: View Menu Use the View menu to:
1) Turn on/off the display of the Toolbar and/or the Status Bar 2) 2D Map View:
o Turn on/off the graphical display of the Readers o Turn on/off the graphical display of the Tags o Turn on/off the graphical display of the background image of the current map. o Trails:
- Turn on/off the graphical display of trails which show a history of Tag positions;
- Specify parameters for trail display
- Reset the trail display, i.e., erase all trail data currently displayed o Turn on/off the display of Calibration Tags o Turn on/off the display of Tags for which a position could not be determined (Presence Detect) 3) Specify the messages to display in the Message View Frame 4) View Statistics View Menu Items:
Toolbar Show/hide the Toolbar in the Control Window Status Bar Show/hide the Status Bar in the Control Window Readers Show/hide the Readers in the 2D Map View Tags Show/hide the Tags in the 2D Map View Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 105 Background Image Show/hide the background image in the 2D Map View. Display Trails Display a breadcrumb history of Tag locations Trail Type Select either nodes or lines as the display type for the Tag trails Set Trail Length Set the desired length for the trail display. Maximum trail length is 1024. Figure 5-7: Set Trail Length Dialog Trail history and position statistics are calculated from the same data. If either is reset, the other is reset as well. Reset Trails Restart the trails and reset the Tag position statistics Display calibration tags Show/hide the display of the Calibration Tags. See Figure 5-17:
Configure Tags Dialog. Track calibration tags Specify, when Calibration Tags are displayed, to show the Calibration Tags at the positions computed by the system (checked) or at the static positions in the Configure Tags dialog (unchecked) Calibration assist mode Show all Readers with a list of Calibration Tags heard by each Reader. Also displayed are any configured Reader-Calibration Tag pairs. Calibration Assist Mode hides the display of all standard (non-calibration) Tags. Show Solver Messages Display, in the Message View Frame, the messages output by the PLUS location engine Show TOA Messages Display, in the Message View Frame, the TOA messages output by the Readers Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 106 Visualizer PLUS System Manual Show TDOA Messages Display, in the Message View Frame, the TDOA messages output by the PLUS location engine TDOA Stats Display the TDOA Statistics dialog. You can use this dialog to view statistical data about the TDOA messages received for each unique Reader pair, including the number received, average, standard deviation, maximum and minimum TDOA value, and peak-to-peak values. Note the statistics can be sorted by clicking the column header on which to sort. The data can be sorted by Reader Pair, Num TDOAs, Std Dev, Peak-Peak (ns), Max Peak-Peak (ns), or Max Std Dev. The number of samples for a Reader pair is shown in the Num TDOAs column. ID of Tag for which the TDOA statistics apply Figure 5-8: TDOA Statistics Dialog TDOA Statistics o Select tag Select the Tag for the TDOA statistics to view o Reset Stats Select this button to reset the TDOA statistics for the selected Tag o Filter by Reader Reduce the amount of data presented by selecting a Reader to filter by. Statistics by Reader Pair The following is a list of the statistical fields and their meaning. These statistics are computed using the last number of TDOA messages (Num TDOAs) received for a given Reader pair, up to 1024 samples. Num TDOAs is shown in the second column of the form. o Reader Pair The Reader pair for which the statistics apply o Num TDOAs Number of TDOA messages used in computing the statistics for that Reader pair o Last TDOA Last TDOA value, in nanoseconds (ns), received in a TDOA message for the given Reader pair o Avg Average of the TDOA values received for the given Reader pair o Std Dev Standard deviation of the TDOA values received for the given Reader pair Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 107 o Max (ns) Maximum TDOA value received for the given Reader pair o Min (ns) Minimum TDOA value received for the given Reader pair o Peak-Peak (ns) Value of the maximum peak value minus the minimum peak value for the last TDOA message received for the given Reader pair o Max Peak-Peak (ns) Value of the maximum peak-to-peak value received in the last TDOA message received for the given Reader pair o Max Std Dev Maximum standard deviation of the TDOA values received for the given Reader pair Tag Stats display the Tag Statistics dialog. You can use this dialog to view historical data, for each Tag, including current status, last packet sequence number heard, signal strength, preamble count, number of received packets, number of dropped packets, RX%, and current position. Note the statistics can be sorted by clicking the column header on which to sort. The data can be sorted by Reader, IP Address/ID, RSSI, Received Packets, Dropped Packets, or RX %. ID of Tag for which the Tag Statistics apply Tag current position Figure 5-9: Tag Statistics Dialog Tag Statistics o Select tag Select the Tag for the statistics to view o Reset Stats Select this button to reset the Tag statistics for the selected Tag o Position Read-only field which shows the Tags current position calculated by the PLUS location engine Statistics by Reader The following is a list of the statistical fields and their meaning:
Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 108 Visualizer PLUS System Manual These statistics are computed using the last number of Tag packets (Received Packets) received from the selected Tag. o Reader Name of Reader for which the statistics apply o IP Address/ID MAC address of the Reader o Status Operational status of the ReaderCOMMS DOWN or operational. A Reader is marked as COMMS DOWN if a packet has not been received within a given timeout. The timeout is set using the Menu Bar / Settings / Timeouts submenu item. Figure 5-13:
Timeouts Dialog o Last Seq # Sequence number of the last packet received from the specified Tag o RSSI Received Signal Strength Indicator (RSSI) for the last packet received from the specified Tag o Preamble Cnt Status indicator for the last received packet is for diagnostics use only o Received Packets Number of packets received from the specified Tag o Dropped Packets Number of packets that were not received, or received with errors by the Reader. The value is determined using the sequence number of the packet. o RX % Percentage of packets received by the Reader calculated as Received Packets / Total Packets Transmitted Position Stats display the Position Statistics dialog. You can use this dialog to view statistical data about the Tag position, including the average x, y, z location, standard deviation, and maximum deviation. Note the statistics can be sorted by clicking the column header on which to sort. The data can be sorted by Tag Name, Serial Num, or Num Positions. Position statistics are only valid for a stationary Tag in a non-changing environment. Position statistics are evaluated from a buffer of the most recent 1024 position results, or the value in the Num Positions column, whichever is less. Figure 5-10: Position Statistics Dialog Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 109 Position Statistics o Reset Stats Select this button to reset the position statistics for the selected Tag Statistics by Tag The following is a list of the statistical fields and their meaning:
The Num Positions column indicates the number of data points used for the display statistics. o Tag Name Name of the Tag for which the position stats apply o Serial Num Serial number of the Tag for which the position statistics apply o Num Positions Number of positions actually used in computing the statistics for the specified Tag o X avg Average X position computed for the specified Tag o Y avg Average Y position computed for the specified Tag o Z avg Average Z position computed for the specified Tag o Std Dev Standard deviation of the current position from the last Num Positions for the Tag o Max Dev Maximum standard deviation for the last Num Positions for the specified Tag Reader Stats display the Reader Stats dialog. You can use this dialog to review the current and historical data about each Reader, including the IP address, operational status, TOA failures, CRC failures, false detections, alarm status, and lock failures. If you are getting lock failures for a given Reader, you should also be receiving alarms for that Reader. Figure 5-11: Reader Stats Dialog Reader Statistics o Get Stats Select this button to retrieve the latest statistics for all Readers o Clear All Stats Select this button to reset the statistics on all Readers Alarms o Clear selected Select this button to clear the alarm condition for the selected Reader o Clear All Select this button to clear the alarm condition for all Readers Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 110 Visualizer PLUS System Manual When an alarm condition arises, you MUST investigate and resolve the problem. Once resolved, manually clear the alarm using the Clear selected or Clear all buttons. See Sections 2.7 Troubleshooting Reader Communications and 5.9 Troubleshooting the Visualizer for more information. Alarm Enable o Set selected Select this button to enable alarms for the selected Reader o Set All Select this button to enable alarms for all Readers Statistics by Reader The following is a list of the statistical fields and their meaning:
o Reader Name of the Reader for which the position statistics apply o IP Address/ID MAC address of the Reader o Status Operational status of the ReaderCOMMS DOWN, operational, or not used. A Reader is marked as COMMS DOWN if a packet has not be received within a given timeout. The timeout is set using the Menu Bar / Settings / Timeouts submenu item. See Figure 5-13: Timeouts Dialog o Uptime Time lapsed since power-up or the last reboot of the Reader o TOA failures Number of computed TOA values that did not meet reliability criteria o CRC failures Number of Tag packets received that failed the CRC check o False detects Number times a signal was detected but was not a received Tag packet o Alarm status Current alarm status bitmask for the given Reader.
- Bit 0 indicates that the Readers phase-locked loop oscillator has lost synchronization with the SDP.
- Bit 1 indicates that a reboot has occurred.
- Bit 2 indicates a Sync Marker failure. o Lock failures Number of times the Reader lost lock (was out of phase lock) with the SDP 5.2.3 Settings Figure 5-12 : Settings Menu Use the Settings menu to:
1) Specify timeout parameters for both Readers and Tags Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 111 2) Specify 2D view parameters, including the units for display (meters or feet) and parameters for the display of Tag and Readers. 3) Specify the data source as either a NIC card on which to receive data from the Readers, or a logfile 4) Specify the settings for the speed limit and moving average filters used by the PLUS location engine algorithms 5) Configure the PLUS system Tags 6) Configure the PLUS system Readers 7) Configure the PLUS system groups 8) Configure the PLUS system maps Settings Menu Items:
Timeouts set the times for the system timeout events. Figure 5-13: Timeouts Dialog o Reader Comms Down Alert Specify the time (in seconds) that a Reader is to be marked down (Tag icon turns red) if messages are not received within the specified timeframe. If a Reader does not receive any Tag messages for 10 seconds, it will send a keepalive Tag message with a Tag ID of 0, to indicate to the application that the Reader is still functional. The Reader color is red when communication is down, and green when the communication is up. o Tag Comms Down Alert Specify the time (in seconds) that a Tag is to be marked down
(Tag icon turns yellow) if messages are not received from that Tag by any Readers within the specified timeout. The Tag color is red when communication is down, and green when the Tag is operational. 2D MapView Settings specify the display parameters for the 2D Map View. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 112 Visualizer PLUS System Manual Figure 5-14: 2D MapView Settings Set Data Input specify the source of the Reader data. Figure 5-15: Set Data Input Dialog o IP Address Select the IP Address radio button to specify that TOA messages will be received via the network and, using the dropdown list of available IP addresses, select the connection on which to receive the data. Selecting the 0.0.0.0 IP address causes the application to listen on all available network interfaces. o Logfile Select the Logfile radio button to specify that the TOA messages will be read from a logfile. Use the Browse button to identify the name of this input logfile. Select Play back at maximum speed to replay the logfile at maximum speed rather than the rate it was recorded. Select Loop playback to repeat the logfile when it is finished. Filter Settings specify the parameters for the Speed Limit and Averaging filters used by the PLUS Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 113 location engine algorithm. Figure 5-16: PLUS Location Software Library Algorithm Filter Settings o Speed limit Enter the speed limit of the Tags for use in the Speed Limit filter. The default value is 1.5 meters/second which is normal walking speed. Enter 0 to disable the Speed Limit filter. o Moving average Enter the depth for use in the Averaging filter Enter 0 to disable the Averaging filter. Enter a depth between 2 and 32 for the number of positions to average (a depth of 1 has the same effect as turning the filter off). Tag Configuration display the Tag Configuration dialog from which you can interactively configure single or multiple Tags. The Tags listed are those that have been heard by a PLUS Reader. Using this form, you can:
o Designate which Tags are Calibration Tags (Cal Tags) o For Calibration Tags only, enter the Tag X, Y and Z coordinates in the units specified in the Settings / 2D MapView Settings (see 5.2.3 Settings) Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 114 Visualizer PLUS System Manual o Rename a Tag You can use this functionality to customize a naming convention. For example, you can name all Tags tracking infusion pumps with the same prefix to enable easy recognition of what resource a Tag represents. o Change the display symbol associated with a given Tag Figure 5-17: Configure Tags Dialog Reader Configuration display the Configure Readers dialog from which you can interactively configure single or multiple Readers. Using this form, you can:
o Rename a Reader o Enter the Reader X, Y, and Z coordinates in the units specified in the Settings / 2D MapView Settings (see 5.2.3 Settings) o Set a Readers group membership(s) o Change the display icon o Enter the Reader hardware parameters of chain position and cable length. The chain position defines where the selected Reader is in the chain not last or last, and the cable length designates the cable length from the SDP to the selected Reader 0-30, 30-60, or 60-90 meters. Chain position and cable length are automatically determined by Reader 2.0 hardware, so these fields are only configurable for earlier Reader versions. Figure 5-18: Configure Readers Dialog Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 115 Group Configuration display the Configure Groups dialog from which you can interactively configure groups. Using this form, you can:
o Select a group to configure o Create a new group o Delete a group. Group 0 cannot be deleted. Readers in the group will be moved to group 0 if they are not members of any other groups. o Select the map of which the current group is a member. o Enable/disable the group, enable/disable solver types (0D, 1D, 2D), and set solver parameters. o Delete the groups tracking cell o Graphically enter (in the 2D Map View) a new tracking cell. o Add and remove Readers to and from the group. Figure 5-19: Configure Groups Dialog Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 116 Visualizer PLUS System Manual Group/Solver Parameters o Group is in map Select the map in which this group is located. o Allowed solution types Enable/disable 0D (presence detect), 1D (linear), and 2D solutions for this group. Enabling 0D enables Presence Detect mode, in which a Tag whose position cannot be determined is assigned to the location of the Reader with the strongest received signal from that Tag. The Tags name is listed under the Readers name. o Sort type Select TOA Sort for most instances. o Use tracking cell Enable/disable the tracking cell boundary. o Allow readers in a line (ignore colinearity) Allow solutions from colinear readers. Member Readers o Move readers in and out of the group. Tracking Cell o Clear Resets the tracking cell to an empty state. o Enter Polygon Starts a new tracking cell which is entered graphically by clicking on the tracking cell vertices in the Tracking View. To remove the last-entered vertex, press Backspace. To cancel entry, press Escape. o Display current tracking cell Toggles display of the currently configured tracking cell in the Tracking View. o Snap distance You may enter a snap distance for the tracking cell. If a snap distance is defined, Tags that are located outside the tracking cell but less than the snap distance from the tracking cell will be shown on the boundary of the tracking cell. If tag solutions are outside of the snap distance, they will be discarded. Map Configuration display the Configure Maps dialog from which you can interactively configure maps. Using this form, you can:
o Select a map to configure o Create a new map o Delete a map. Map 0 cannot be deleted. Groups in the map will be moved to Map 0. o Select and calibrate a background image for the map. o Delete the maps tracking cell o Graphically enter (in the 2D Map View) a new tracking cell o Add and remove groups to and from the map Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 117 Figure 5-20: Configure Maps Dialog Background Image o Select and scale an image file (bitmap, JPEG, PNG, GIF, TIF) for use as a background image for this map. Member Groups o Move groups in and out of the map. Groups may be members of only one map at a time. Tracking Cell o Clear Resets the tracking cell to an empty state. o Enter Polygon Starts a new tracking cell which is entered graphically by clicking on the tracking cell vertices in the Tracking View. To remove the last-entered vertex, press Backspace. To cancel entry, press Escape. o Display current tracking cell Toggles display of the currently configured tracking cell in the Tracking View. o Snap distance You may enter a snap distance for the tracking cell. If a snap distance is defined, Tags that are located outside the tracking cell but less than the snap distance from the tracking cell will be shown on the boundary of the tracking cell. If tag solutions are outside of the snap distance, they will be discarded. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 118 Visualizer PLUS System Manual 5.2.4 Help Figure 5-21: Help Menu Use the Help menu to:
1) View the About Box showing the version information of the PLUS Visualizer software Help Form Fields:
About display version information about the PLUS Visualizer executable OK Select the OK button to close the About form Figure 5-22: About Box Dialog Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 119 5.3 Toolbar Figure 5-23: Toolbar Menu Use the Toolbar menu to:
1) Quickly access buttons to:
o Zoom in / out the graphical display o Calibrate the Readers using the Calibration Tags o Translate and/or rotate the Reader coordinate system for proper alignment with the background image o Change the mode of the List View to Tags or Readers o Display Reader statistics o Purge Tags that are no longer heard within the system 2) Receive notification of Reader alarms Toolbar Buttons:
Zoom In (+) Select this button to magnify the view displayed in the 2D Map View frame Zoom Out (-) Select this button to decrease the view displayed in the 2D Map View frame Calibrate Select this button to bring up the Calibration dialog. Use this dialog to:
o Select single or multiple groups for calibration. For each group, the calibration algorithm selects a reference Reader and, using that Readers and the Calibration Tags known positions, calculates the calibration offset for each Reader for the group. A Reader will have one calibration offset for each group of which the Reader is a member. o Include or exclude pairings of Readers and Calibration Tags (Reader-Tag Associations) Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 120 Visualizer PLUS System Manual 1) Specify the number of seconds to collect data to use in determining the calibration value Enter a minimum of 10 seconds 30 to 50 seconds is recommended. Maximum is 60 seconds. 2) If desired, specify Reader-Cal Tag Associations with the Include/Exclude Reader-Cal Tag Pairs dialog. Select the Set tag-reader associations menu item in the Calibration window to display it. 3) Use the pull-down lists for Readers and Tags to add combinations to the list. Make sure the Include the listed reader-cal tag pairs radio button is checked so that only the specified combinations will be used for calibration. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 121 4) Select the Start button in the Calibration dialog. A progress bar will denote the status of the calibration process. If you wish to stop calibration before it is complete, select the Stop button. 5) Review the results of the calibration. Select OK to apply the new results if they are satisfactory. Translate Select this button to dynamically rotate and/or translate the Reader coordinate system into the coordinate system of the graphical display. NOTE that the Z value is not currently selectable. o Use the dial to define the rotation o Use either the slider or key-in field to set the X and Y values for translation. Figure 5-24: Translate Dialog Tags Select this button to change the List View to tag view mode. In this mode, the List View shows status of the Tags. Figure 5-25: Tag List View Readers Select this button to change the List View to Reader view mode. In this mode, the List View shows status of the Readers. Figure 5-26: Reader List View Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 122 Visualizer PLUS System Manual The IP Address column will be 0.0.0.0 for Readers whose IP addresses are not known, or when a logfile is being played back. Reader Stats Select this button to display the Reader Stats dialog. See Figure 5-11: Reader Stats Dialog for more information about this dialog. If a Reader alarm condition occurs such as it has lost synchronization with the SDP, the Reader Stats button flashes, alerting you to display the Reader Stats and resolve the problem. See Section 5.9 Troubleshooting the Visualizer for more information. Figure 5-27: Reader Stats Clear Tags Select this button to clear Tags with a status of COMMS DOWN from the Tag list Map and Map + - Select these buttons to cycle through the available maps. If only one map is configured these buttons are disabled. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 123 5.4 Status Bar Figure 5-28: Status Bar Tag summary statistics Command description Use the Status menu to:
1) View command descriptions 2) View Tag summary statistics, including a total Tag count, and the number of Tags positioning, active, and with a comms down status. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 124 Visualizer PLUS System Manual 5.5 2D Map View Frame Figure 5-29: 2D Map View Frame Use the 2D Map View Frame to:
1) Track Tags 2) View the relative location of the Readers 3) View the location of the both the Tags and the Readers within a room, building, or other physical reference 4) View the status of the Tags and Readers 5) View a history of Tag locations 6) Zoom-in and zoom-out the display (drag with right mouse button, scroll with mouse wheel, or use
+, -, or = keys) 7) Pan the display (left mouse button or arrow keys) 8) View a list of Tags for which a position could not be determined 9) View Calibration Tag and Reader pairing in Cal Assist Mode. 10) View and enter tracking cells for groups and maps from the Configure Groups and Configure Maps dialogs. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 125 You can customize the 2D Map View Frame display by selecting what you want to display from the Menu Bar /
View submenu. See Section 5.2.2 View above. 2D Map View Fields:
Double click a Reader icon to display the Configure Readers dialog, with the selected Reader highlighted. See Section 5.2.3 Settings for more information about this dialog. Double click a Tag icon to display the Configure Tags dialog, with the selected Tag highlighted. See Section 5.2.3 Settings for more information about this dialog. Right click either Reader or Tag icons to display a context menu with shortcuts to views such as Tag Stats, Position Stats, or Reader Stats. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 126 Visualizer PLUS System Manual 5.6 List View Frame Figure 5-30: List View Frame Use the List View Frame to:
1) View a tabular list of Tags and the their status 2) View a tabular list of Readers and their status 3) Change the name and icon properties of a selected Tag 4) Change the name and icon properties of a selected Reader 5) Configure the Readers 6) Configure the Tags You can customize the List View display by selecting what you want to display using the Toolbar buttons Tags and Readers. See Section 5.3 Toolbar. List View Fields:
If the list contains Reader data:
a) Double click the line with the desired Reader, or right mouse click the line with the desired Reader and select Configure Reader, to invoke the Configure Readers dialog discussed in Section 5.2.3 Settings. b) Right mouse click the line with the desired Reader and select:
Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 127 o Center View on Reader Centers the 2D Map View on the Reader to assist in visually finding the Reader on the display. Figure 5-31: Reader List View Menu If the list contains Tag data:
a) Double click the line with the desired Tag, or right mouse click the line with the desired Tag and select Configure Tag, to invoke the Configure Tags dialog discussed in Section 5.2.3 Settings. b) Right mouse click the line with the desired Tag and select:
o View Tag Stats Select View Tag Stats to invoke the Tag Statistics form discussed in Section 5.2.2 View o View TDOA Stats Select View TDOA Stats to invoke the TDOA Statistics form discussed in Section 5.2.2 View o View Position Stats Select View Position Stats to invoke the Position Statistics form discussed in Section 5.2.2 View o Follow this Tag Continually centers the 2D Map View on the Tag o Highlight this Tag Enlarges the Tag in the 2D Map View for better visibility. Only one Tag can be highlighted at a time. Figure 5-32: Tag List View Menu Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 128 Visualizer PLUS System Manual 5.7 Message View Frame Figure 5-33: Message View Frame Use the Message View Frame to display the following messages:
1) TOA messages from the Readers 2) TDOA messages from the PLUS location engine 3) Solved status messages from the PLUS location engine 4) Communications down messages for both the Tags and the Readers 5) Messages indicating that a Reader has been added to the system 6) Messages indicating that a new Tag has been added to the system You can customize the List View Frame display by selecting what messages you want to display from the Menu Bar / View submenu -- see Section 5.2.2 View. The Communications down, Reader added, and Tag added messages are always displayed. Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. PLUS System Manual Visualizer 129 5.8 Logfile Formats 5.8.1 Position Data The Position Data is logged to the file specified via the Menu Bar / File / Logging submenu item. See Section 5.2 Menu Bar. 5.8.1.1 Position Data Record Position data records are the timestamped Tag positions as computed by the PLUS location engine.
# Timestamp, TAGPOS, tagID, X, Y, Z, NumReceivers, Confidence, SeqNum, Best Receiver
# All times are in seconds and coordinates in meters 0x01c82081c13356c6, TAGPOS, 0x00000651, 3.925, -5.427, 1.359, 14, 57, 6, 0x0050c216af90 0x01c82081c13ce022, TAGPOS, 0x0000065a, 2.992, -4.300, 1.148, 15, 76, 52, 0x0050c216afe5 o 0x01c82081c1630592, TAGPOS, 0x0000086e, -2.936, -1.450, 1.338, 16, 64, 8, 0x0050c216afe5 Timestamp Time the position data was recorded, represented as the number of 100-
nanosecond intervals since January 1, 1601 (64 bits) TAGPOS Record type TAGPOS tagID ID of the Tag whose position is being reported X Y Z X coordinate of the solution Y coordinate of the solution Z coordinate of the solution NumReceivers Number of receivers which participated in the solution, i.e. heard the Tag Confidence Percent confidence factor for the solution the higher the factor the greater the confidence of the solution SeqNum Sequence number from the Tag payload that cycles from 0 to 63 Best Receiver ID of the Reader with the best TOA solution statistical weight based on Reader RSSI and proximity to the Tag. 5.9 Troubleshooting the Visualizer Lost contact with a Reader Lost Reader contact usually occurs due to network based problems. Check all cables and connections between:
1) The PC and the SDP 2) The SDP and its connected Readers 3) Any daisy chained Readers If all connections are good, reboot the Reader, or reset the power to the PLUS Reader itself. See Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement. 130 Visualizer PLUS System Manual also Section 2.7 Troubleshooting Reader Communications for trouble shooting tips for Readers. Tag positions not being graphically updated Tags are dynamically added to the database whenever a Reader receives a message from an unknown Tag. If the Tag is in the database, it will be listed in the List View Frame. If the Tag is in the database but its position is not being updated, check the following:
o Has the system been calibrated?
o Does the Tag appear in the Presence Detect display? If so, the Tag position cannot be determined it must be seen by at least three Readers to calculate a valid position. See Section 5.2.2 View for information on how to show presence detected Tags. If the Tag does not appear in the database, check the following:
o Has the Data Input been set to the appropriate NIC card or logfile using the Menu Bar /
Setting / Data Input submenu item? See Figure 5-12 : Settings Menu. o Is the communication between the PC and the Readers down?
Proprietary Information: Do not disclose unless authorized under a Nondisclosure Agreement and the Partner Agreement.
frequency | equipment class | purpose | ||
---|---|---|---|---|
1 | 2008-10-24 | 6191 ~ 7109 | WBT - Wideband Transmitter | Original Equipment |
app s | Applicant Information | |||||
---|---|---|---|---|---|---|
1 | Effective |
2008-10-24
|
||||
1 | Applicant's complete, legal business name |
Humatics Corporation
|
||||
1 | FCC Registration Number (FRN) |
0005861489
|
||||
1 | Physical Address |
101 Main Street
|
||||
1 |
Cambridge, Massachusetts 02142
|
|||||
1 |
United States
|
|||||
app s | TCB Information | |||||
n/a | ||||||
app s | FCC ID | |||||
1 | Grantee Code |
NUF
|
||||
1 | Equipment Product Code |
PLUS-0908
|
||||
app s | Person at the applicant's address to receive grant or for contact | |||||
1 | Name |
A******** P****
|
||||
1 | Telephone Number |
25665********
|
||||
1 | Fax Number |
256-9********
|
||||
1 |
a******@humatics.com
|
|||||
app s | Technical Contact | |||||
1 | Firm Name |
Time Domain Corporation
|
||||
1 | Name |
K**** T******
|
||||
1 | Physical Address |
330 Wynn Drive Suite 300
|
||||
1 |
Huntsville, Alabama 35805
|
|||||
1 |
United States
|
|||||
1 | Telephone Number |
256-4********
|
||||
1 | Fax Number |
1-256********
|
||||
1 |
k******@timedomain.com
|
|||||
app s | Non Technical Contact | |||||
1 | Firm Name |
Time Domain Corporation
|
||||
1 | Name |
B******** S********
|
||||
1 | Physical Address |
330 Wynn Drive Suite 300
|
||||
1 |
Huntsville, Alabama
|
|||||
1 |
United States
|
|||||
1 | Telephone Number |
256-4********
|
||||
1 | Fax Number |
1-256********
|
||||
1 |
b******@timedomain.com
|
|||||
app s | Confidentiality (long or short term) | |||||
1 | Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | Yes | ||||
1 | Long-Term Confidentiality Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | Yes | ||||
1 | If so, specify the short-term confidentiality release date (MM/DD/YYYY format) | 12/01/2008 | ||||
if no date is supplied, the release date will be set to 45 calendar days past the date of grant. | ||||||
app s | Cognitive Radio & Software Defined Radio, Class, etc | |||||
1 | Is this application for software defined/cognitive radio authorization? | No | ||||
1 | Equipment Class | WBT - Wideband Transmitter | ||||
1 | Description of product as it is marketed: (NOTE: This text will appear below the equipment class on the grant) | PLUS RFID System Badge Tag | ||||
1 | Related OET KnowledgeDataBase Inquiry: Is there a KDB inquiry associated with this application? | No | ||||
1 | Modular Equipment Type | Does not apply | ||||
1 | Purpose / Application is for | Original Equipment | ||||
1 | Composite Equipment: Is the equipment in this application a composite device subject to an additional equipment authorization? | No | ||||
1 | Related Equipment: Is the equipment in this application part of a system that operates with, or is marketed with, another device that requires an equipment authorization? | No | ||||
1 | Is there an equipment authorization waiver associated with this application? | No | ||||
1 | If there is an equipment authorization waiver associated with this application, has the associated waiver been approved and all information uploaded? | No | ||||
app s | Test Firm Name and Contact Information | |||||
1 | Firm Name |
Intertek Testing Services NA Inc.
|
||||
1 | Name |
C******** P******
|
||||
1 | Telephone Number |
972-2********
|
||||
1 | Fax Number |
67877********
|
||||
1 |
c******@intertek.com
|
|||||
Equipment Specifications | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
1 | 1 | 15.250 | 6191.00000000 | 7109.00000000 |
some individual PII (Personally Identifiable Information) available on the public forms may be redacted, original source may include additional details
This product uses the FCC Data API but is not endorsed or certified by the FCC