Transcript
Software Manual
cRIO GPS Modules
SEA 9404, SEA 9405, SEA 9410, SEA 9414
Doc. No.: HB/SEA 94XX Software Manual/2.0.0/Jul/ 13
Address: S.E.A. Datentechnik GmbH Muelheimer Strasse 7 D-53148 Troisdorf Germany Phone: +49 2241 12737 - 0 Fax: +49 2241 12737 – 14
For support please contact the support address:
[email protected]
Subject to modifications. S.E.A. Datentechnik GmbH takes no responsibility for damage arising out of or related to this document or the information contained in it. Product and company names listed are trademarks or trade names of their respective companies. © Science & Engineering Applications Datentechnik GmbH
Seite 2 von 35
Seite 3
SEA 9404 Software Manual - Contents
1 Contents 2 Change Notes................................................................................5 3 Disclaimer, Limitation of Liability and User Responsibilities..........6 4 About This Manual.......................................................................11 5 Important Notes...........................................................................12 6 Update From Previous Versions (SEA 9404)..................................13 6.1 Introduction....................................................................................13 6.2 Compatibility.................................................................................13
7 Quick Start...................................................................................15 8 Functional Overview....................................................................19 8.1 cRIO Platform.................................................................................19 8.2 SEA 94XX Functionality..................................................................19 8.3 Power Up Behavior.........................................................................19
9 Programming..............................................................................20 9.1 Examples.......................................................................................20 9.2 Application Programming Interface (API).......................................20 9.2.1 IO Nodes........................................................................................20 9.2.2 Property Nodes..............................................................................21 9.2.3 Method Nodes...............................................................................22 9.3 Data Formats..................................................................................23 9.3.1 Position Values...............................................................................24 9.3.2 Absolute Time................................................................................24 9.3.3 Status.............................................................................................24 9.3.4 SBAS..............................................................................................24 9.4 Error Codes ...................................................................................25 9.5 FPGA Usage and Optimization.......................................................26
10 Compatibility between MDK 2 version 1.0.0 and 2.0.0................28 11 Module Updater (SEA 9404).......................................................30 12 Trouble Shooting.......................................................................32 12.1 Common Problems and Solutions.................................................32
A Abbreviations..............................................................................33 B Figures........................................................................................34
Seite 4
SEA 9404 Software Manual - Contents
C Tables..........................................................................................35
Seite 5
SEA 9404 Software Manual - Change Notes
2 Change Notes #
Description
Changes
1
1.0.0
Update release for new LabVIEW driver architecture (Module Development Kit 2.0, MDK2).
2
2.0.0
API improvements (see chapter 10); Support for new modules (SEA 9414)
Seite 6 SEA 9404 Software Manual - Disclaimer, Limitation of Liability and User Responsibilities
3 Disclaimer, Limitation of Liability and User Responsibilities When using or operating the S.E.A. Compact RIO Module and the provided software, accessories, utilities or documentation in any form you must agree to the following terms and conditions. By downloading or installing the software, by clicking on the appropriate button, you agree with the conditions in this agreement. Please revise the latest technical information on the S.E.A. website (www.sea-gmbh.com) before installing or using the hardware and software package. Definitions “You” : means you as an individual, if you going to use the hardware or software provided by S.E.A. “You” also means your employer if you are going to use the software or hardware in the scope of your employment. “S.E.A.” : means the company S.E.A. Datentechnik GmbH. “Software” : means all accompanying software including utilities and documentation delivered by S.E.A. or its authorized representatives. “Hardware” : means all accompanying hardware components (e.g. PCB, cables, enclosures) including utilities and documentation delivered by S.E.A. or its authorized representatives. “in Use” : Software is considered to be “in use” when loaded into any kind of memory for execution by a processor or similar device for using on a single system. This does not include a shared use via shared or networked devices. “Compact RIO Module” and “cRIO Module” and “C-Series Module” : All terms refer and mean the provided S.E.A. product for use with the RIO hardware and software platforms of National Instruments. If you do NOT agree, you have to cancel the installation process and you can resend the hardware and software package within a period of 30 days after delivery. In this case S.E.A. will refund the product price and shipping costs. Shipping Address is: S.E.A. Datentechnik GmbH Muelheimer Str. 7 D-53840 Troisdorf Germany General
Seite 7 SEA 9404 Software Manual - Disclaimer, Limitation of Liability and User Responsibilities
YOU AGREE THAT YOU ARE SOLELY RESPONSIBLE FOR THE ACCURACY AND ADEQUACY OF THE SOFTWARE AND HARDWARE FOR YOUR INTENDED USE AND YOU WILL INDEMNIFY AND HOLD HARMLESS S.E.A. FROM ANY 3RD PARTY SUIT TO THE EXTENT BASED UPON THE ACCURACY AND ADEQUACY OF THE HARDWARE AND SOFTWARE IN YOUR USE. WITHOUT LIMITATION, THE HARDWARE AND SOFTWARE IS NOT INTENDED FOR USE IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION, COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL EQUIPMENT OR MEDICAL APPLICATIONS, WHERE THE FAILURE OF THE HARDWARE OR SOFTWARE COULD LEAD TO DEATH, PERSONAL INJURY OR SEVERE PHYSICAL, ENVIRONMENTAL OR DAMAGE or PECUNIARY LOSS of ANY KIND. ALL RIGHTS NOT EXPRESSIVELY GRANTED TO YOU IN THIS AGREEMENT ARE RESERVED TO S.E.A. DATENTECHNIK GmbH. Care and Caution The availability and accuracy of software and hardware using GPS derived location information will vary depending on the environment in which the GPS feature is used. In some situations, where adequate signals cannot be obtained, the GPS System may not work at all. The Global Positioning System (GPS) is operated by the United States Government which is solely responsible for the accuracy and continued operation of the system. Accuracy of position fixes (longitude, latitude and altitude) can be affected by alterations made to the GPS satellites by the U.S. Government. Accuracy is subject to change in accordance with the U.S. Department of Defense civil GPS user policy and Federal Radio navigation Plan without prior notice. Positional accuracy and time to fix time can also be affected by poor view of satellite signals caused by obstructions such as tall buildings, heavy foliage, large cliffs and other obstructions where GPS satellite signals are blocked and poor satellites geometry conditions result. S.E.A. IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF GPS SATELLITES OR THE AVAILABILITY OF GPS SATELLITE SIGNALS. S.E.A. shall not be liable for any losses caused by such changes. Judgment The C-Series module is a device for use in embedded applications, like control or measurement systems as well as for position or timing determination or for communication purposes. It delivers the geo coordinates up to certain accuracy, but does not substitute the needs of careful steering and good judgment. Please refer to the latest version of the user manual and hardware and software manuals (see S.E.A. Website at www.seagmbh.com) for the possible accuracy deviations. The product may never be used for navigation purposes. Never only rely on one single tool or apparatus for positioning and navigation.
Seite 8 SEA 9404 Software Manual - Disclaimer, Limitation of Liability and User Responsibilities
Accessories There may have accessory supplied with the product which are specifically selected and tested for use with the product. Use of other accessories may severely degrade performance or even damage the product or other accessories, and will void the warranty. Do not try to modify, open or break the product or its components. There are no user accessible service parts inside. Software Follow the installation instructions as stated and described in the user hardware manual and user software manual, as well as the specific hardware operating instructions delivered with the system. The software supplied is solely for usage along with S.E.A. provided hardware. Making copies is only valid for backup reasons. Modification or reverse engineering of the software is prohibited unless expressively provided by written agreement of an authorized S.E.A. representative or authorized by applicable laws. The software is the property of S.E.A. and is protected by international copyright treaties and statutory provisions. The user receives only the non-exclusive license to use the software for the accompanied hardware for contractual purposes. Making unauthorized copies or multiple use of the software on more than one computer system is strictly forbidden. You have especially no rights to sub-license, lease, or rent the software. Notice In order to help you fulfilling any warranty obligations or provide you with safety instructions, read comprehensively the hardware operating instructions (hardware manual, software manual) BEFORE operating the hardware and software. WARNING REGARDING USE OF S.E.A. Datentechnik GmbH PRODUCTS (1) S.E.A. PRODUCTS ARE NOT DESIGNED WITH COMPONENTS AND TESTING FOR A LEVEL OF RELIABILITY SUITABLE FOR USE IN OR IN CONNECTION WITH SURGICAL IMPLANTS OR AS CRITICAL COMPONENTS IN ANY LIFE SUPPORT SYSTEMS WHO’S FAILURE TO PERFORM CAN REASONABLY BE EXPECTED TO CAUSE SIGNIFICANT INJURY TO A HUMAN. (2) IN ANY APPLICATION, INCLUDING THE ABOVE, RELIABILITY OF OPERATION OF THE SOFTWARE PRODUCTS CAN BE IMPAIRED BY ADVERSE FACTORS, INCLUDING BUT NOT LIMITED TO FLUCTUATIONS IN ELECTRICAL POWER SUPPLY, COMPUTER HARDWARE MALFUNCTIONS, COMPUTER OPERATING SYSTEM SOFTWARE FITNESS, FITNESS OF COMPILERS AND DEVELOPMENT SOFTWARE USED TO DEVELOP AN APPLICATION, INSTALLATION ERRORS, SOFTWARE AND HARDWARE COMPATIBILITY PROBLEMS, MALFUNCTIONS OR FAILURES OF ELECTRONIC MONITORING OR CONTROL DEVICES, TRANSIENT FAILURES OF ELECTRONIC SYSTEMS (HARDWARE AND/OR SOFTWARE), UNANTICIPATED USES OR MIS-
Seite 9 SEA 9404 Software Manual - Disclaimer, Limitation of Liability and User Responsibilities USES, OR ERRORS ON THE PART OF THE USER OR APPLICATIONS DESIGNER (ADVERSE FACTORS SUCH AS THESE ARE HEREAFTER COLLECTIVELY TERMED “SYSTEM FAILURES”). ANY APPLICATION WHERE A SYSTEM FAILURE WOULD CREATE A RISK OF HARM TO PROPERTY OR PERSONS (INCLUDING THE RISK OF BODILY INJURY AND DEATH) SHOULD NOT BE RELIANT SOLELY UPON ONE FORM OF ELECTRONIC SYSTEM DUE TO THE RISK OF SYSTEM FAILURE. TO AVOID DAMAGE, INJURY, OR DEATH, THE USER OR APPLICATION DESIGNER MUST TAKE REASONABLY PRUDENT STEPS TO PROTECT AGAINST SYSTEM FAILURES, INCLUDING BUT NOT LIMITED TO BACK-UP OR SHUT DOWN MECHANISMS. BECAUSE EACH END-USER SYSTEM IS CUSTOMIZED AND DIFFERS FROM S.E.A.s' TESTING PLATFORMS AND BECAUSE A USER OR APPLICATION DESIGNER MAY USE S.E.A. PRODUCTS IN COMBINATION WITH OTHER PRODUCTS IN A MANNER NOT EVALUATED OR CONTEMPLATED BY S.E.A., THE USER OR APPLICATION DESIGNER IS ULTIMATELY RESPONSIBLE FOR VERIFYING AND VALIDATING THE SUITABILITY OF S.E.A. PRODUCTS WHENEVER S.E.A. PRODUCTS ARE INCORPORATED IN A SYSTEM OR APPLICATION, INCLUDING, WITHOUT LIMITATION, THE APPROPRIATE DESIGN, PROCESS AND SAFETY LEVEL OF SUCH SYSTEM OR APPLICATION. Disclaimer and Limitation of Liability S.E.A. Datentechnik GmbH and its subsidiaries assume no responsibility for any damage, personal injury or loss resulting from the use of this product, software and documentation. S.E.A. Datentechnik GmbH and its subsidiaries assume no responsibility for any loss or claims by third parties which may arise through the use of the hardware, software or documentation. S.E.A. Datentechnik GmbH and its subsidiaries assume no responsibility for any damage or loss caused by deletion of data as a result of malfunction, dead battery, or repairs. Under no circumstances shall S.E.A. Datentechnik GmbH and its subsidiaries are responsible for any loss of data or income or any special, incidental, consequential or indirect damages howsoever caused. The contents of the documentation, manuals etc. are provided “as is”. Except as required by applicable laws, no warranties of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose, are made in relation to the accuracy, reliability or contents of this user guide. S.E.A. Datentechnik GmbH reserves the right to revise this disclaimer, accompanied documentation or withdraw it at any time without prior notice. S.E.A. Datentechnik GmbH reserves the right to make changes and improvements to any hardware or software. Only qualified and especially trained personnel are allowed to handle the hardware and software. Appropriate trainings are offered by S.E.A.
Seite 10 SEA 9404 Software Manual - Disclaimer, Limitation of Liability and User Responsibilities S.E.A. is not liable for damages caused by disregard of safety regulations or any other fault of a user. This agreement terminates automatically when you fail to comply with the terms and conditions of this agreement. When this agreement terminates you must destroy all copies of the software. All matters concerning the hardware, software or documentation delivered, contractual issues are subject to German law only. Venue is Troisdorf. If you are unsure about the usage of the product please contact: S.E.A. Datentechnik GmbH Mülheimer Str. 7 53840 Troisdorf Tel.. +49 2241 127 37 0
[email protected] Troisdorf, 1.March.2012
Seite 11
SEA 9404 Software Manual - About This Manual
4 About This Manual Before starting to work with the SEA 94xx modules please read the complete user manual and the following information carefully. This manual is delivered as a PDF document with the possibility of full-text search. It is recommended to use the latest version of the Adobe Acrobat Reader which you get here: http://www.adobe.com/. To improve clarity specific structuring elements are used which have the following meaning: Names
are printed using an italic font
[Test]
place holders are marked by squared brackets File path; printed using a courier font Menu path Definition Example Prompt The yellow sign highlights important notes The blue mark highlights tips Reference to other documents
We believe that all information in this manual is accurate. The document has been carefully reviewed for technical accuracy. In the event of technical or typographical errors, we reserve the right to make changes to subsequent editions of this document without prior notice to holders of this edition. The reader should consult the vendor if errors are suspected.
Seite 12
SEA 9404 Software Manual - Important Notes
5 Important Notes Please read carefully the disclaimer which is displayed during the driver software installation process. Do not use this product before you have read and accepted these notes. The notation SEA 94XX is a short cut for any GPS module (SEA 9404, SEA 9405, SEA 9410, SEA 9414) . If you read SEA 94xx you can substitute it with the name of your particular type. If you have already used a SEA 94xx module before and/or you already have a previously purchased S.E.A. cRIO GPS module at hand, you should start with reading chapter 6 “Update From Previous Versions (SEA 9404)“. Following modules need to be updated, when using this software: •
SEA 9404 (old name cRIO-GPS+, Art.No.: 60000077)
Make sure you have made a backup of your development environment and current LabVIEW sources, as the installer might overwrite portions of existing driver or example files. In any case, it is recommended that you run the uninstaller of the previously installed driver to avoid any conflicts. These modules can be operated without to be updated previously: •
SEA 9405
•
SEA 9410
•
SEA 9414
Seite 13 SEA 9404 Software Manual - Update From Previous Versions (SEA 9404)
6 Update From Previous Versions (SEA 9404) 6.1
Introduction
This manual describes the software driver for SEA 94xx modules. The software driver uses newest technology (MDK2) from National Instruments for third party module support. The driver architecture now allows programming and accessing the module almost the same way as native National Instruments modules. It is now possible to operate and support multiple modules of the same kind within one chassis. The module access is now lowered to FPGA level to give the highest performance and flexibility as well as application specific integration with other IO modules.
6.2
Compatibility
If you have used S.E.A. cRIO modules before and you have programmed an application based on previous driver versions, you must rework the software to adapt to the new driver functions and features. The new driver uses the MDK2 architecture whereas the old driver did use the MDK1 architecture. Module hardware using MDK2-based driver architecture is not compatible with previous versions that use MDK1-based architecture. There are some important issues to know before updating an existing system: 1.
The module firmware needs to be updated (for this a S.E.A. module update tool is available).
2.
The application programming interface has changed. The API is now entirely located on FPGA level and exposes IO, property and method nodes to the user.
The update always requires the application to be reworked at the FPGA level and in most cases also at the host (i.e. Real-Time) level. This driver software does not inherently provide Real-Time code as in previous versions. Consequently, the data exchange between FPGA and Real-Time is up to the user. However, examples showing data exchange between FPGA and host are provided. There is no compatibility between MDK1 and MDK2 based driver software. The update to MDK2 requires rework on the application software and a firmware update in the module. The following actions may be required: #
Action
Description
1
Modules firmware must be upgraded.
Update modules firmware to newest firmware release. Run the module update tool.
2
Modules firmware must be
Downgrade modules firmware. Run the module
Seite 14 SEA 9404 Software Manual - Update From Previous Versions (SEA 9404)
3
downgraded.
update tool and select restoring from backup file.
Application Update
Rework real-time and FPGA application.
Tab. 1: Upgrading/Downgrading drivers, refer to chapter 11 Module Updater (SEA 9404)
Module Hardware
Module Hardware
Release for MDK1
Release for MDK2
LabVIEW Driver MDK1 LV2010 and below
Existing LabVIEW applications can be used without reworking.
Not Recommended Module firmware must be downgraded. Existing LabVIEW applications can be used without reworking.
LabVIEW Driver MDK2
Recommended
Recommended
LV2011 and above
Module firmware must be upgraded.
Existing LabVIEW application must be reworked.
Existing LabVIEW application must be reworked.
For new LabVIEW projects just use the new driver functions.
Tab. 2: Software driver and hardware combinations.
The table above demonstrates the options you have with different hardware and software configurations. The current driver software provides a tool to update the module firmware if necessary (chapter 11 Module Updater (SEA 9404)). To demonstrate the new driver architecture and API functions the installer installs application examples (section 9.1 Examples).
Seite 15
SEA 9404 Software Manual - Quick Start
7 Quick Start This section describes how easy the SEA 94xx module can be integrated into an existing CompactRIO system. Refer to the hardware manual for proper installation of the hardware. Please follow the steps below to get the SEA 94XX module up and running: 1.
Insert the SEA 94XX module into your CompactRIO system in a slot of your choice (for this tutorial slot 1 has been used). Make sure your CompactRIO system is installed with LabVIEW 2011 or later. Connect the GPS antenna to the module and place the antenna outside buildings or next to window.
2.
Connect your CompactRIO system to the development PC via Ethernet cable.
3.
Install the appropriate driver software (Note: module name is included in the setup file name). For this, the VI Packet Manager (VIPM) is required. If VIPM is not yet installed on your system please start LabVIEW and select Tools → Find LabVIEW Add-ons.... Complete the VIPM installation following the instructions.
4.
Start LabVIEW and select New → Empty Project within the Getting Started window.
5.
The project explorer window appears. In this window select the uppermost item in the tree (Project: Untitled Project X.lvproj) and select New -> Targets and Devices right-clicking on it, like shown below:
Fig. 1: Quick Start – Add Target 6.
Choose Discover an existing target(s) or device(s) and unfold the Real-Time CompactRIO folder.
7.
Select your CompactRIO system from the list of available targets.
Seite 16 8.
SEA 9404 Software Manual - Quick Start In the dialog box Select Programming Mode select the mode LabVIEW FPGA Interface and confirm with Continue:
Fig. 2: Quick Start – Select programming mode 9.
If necessary, discover the inserted cRIO modules. For this press Discover button in the subsequent dialog box:
Fig. 3: Quick Start – Discover cRIO modules 10. The configuration is completed. After a successful configuration the project explorer window should look similar to Fig. 4:
Seite 17
SEA 9404 Software Manual - Quick Start
Fig. 4: Quick Start – Project explorer after completing the configuration The project is now fully configured including the SEA 94XX module (here SEA 9410), see red framed items in the project tree in Fig. 4: Quick Start – Project explorer after completing the configuration. You can continue from here to learn how to implement a simple FPGA application using the SEA 94XX module. 11. Create a new FPGA VI in the project explorer window. For this right-click on the FPGA Target (RIO0...) and select New -> VI. Refer to the figure below:
Fig. 5: Quick Start – Create FPGA VI
Seite 18
SEA 9404 Software Manual - Quick Start
12. Open the block diagram of the VI just created and place an IO node from the functions palette (FPGA I/O -> I/O Node) on the block diagram. Afterwards, select e.g. the item Mod1 (depending on the cRIO slot used). 13. Finally select the channel to be executed from the list of available channels for the selected item. For this tutorial, select the NAV Latitude (deg x 1e7) channel as shown in Fig. 6.
Fig. 6: Quick Start – Create property node 14. Optionally repeat step 13 to add further IO nodes. Complete the example placing indicators for the nodes as well as a while loop to ensure that the nodes are read continuously. The final code may look like follows:
Fig. 7: Quick Start – Final block diagram 15. Save the created FPGA VI, create a build specification and compile it. 16. The indicators will display the current latitude and longitude in degrees (this value are with factor 1e7) the GPS receiver. Note: it may take some time (up to some minutes) until the correct position values are displayed, because the GPS receiver need to collect data from at least 4 satellites until the position values become valid. All functions are accessible via either IO, property or method nodes. For a complete list of function nodes, please refer to section 9.2 Application Programming Interface (API).
Seite 19
SEA 9404 Software Manual - Functional Overview
8 Functional Overview 8.1
cRIO Platform
The SEA 94XX modules are cRIO compatible modules that can be used in a wide range of carriers from National Instruments. All CompactRIO systems with a programmable (FPGA) backplane are currently supported. SEA 94XX modules are not supported in systems without a FPGA programmable backplane like CompactDAQ.
8.2
SEA 94XX Functionality
The SEA 94XX cRIO modules feature the reception of GPS Data (global position information and precise time information) and provide these data to be used directly within the FPGA or as a steam within the RT target. The SEA 94XX cRIO module is suitable for a wide variety of applications, including position monitoring absolute timing and synchronization. The SEA 94XX cRIO modules offer: •
Direct access to geo-positional and timing data in FPGA
•
Full access to GPS data stream in RT
•
Configuration for geo-positional and timing data in FPGA
•
Configurable Timepulse signal in FPGA
•
Customizable Sync-Output in FPGA
•
Up to 4 (10) Hz message update rate
•
GPS enhancements: SBAS
All functions are accessible as nodes within the FPGA programming level. Only one function can be executed at a time, which means that individual functions can be only executed subsequently. The user has to ensure that two function are not executed at the same time, as this may lead to malfunction.
8.3
Power Up Behavior
At power up, a hardware reset of the SEA 94XX module is executed. The GPS receiver is configured and can be used without any further initialization.
Seite 20
SEA 9404 Software Manual - Programming
9 Programming 9.1
Examples
The driver software is delivered with a set of examples that demonstrate a specific aspect of the module. Please refer to the examples to learn how to program the module and how to retrieve position and time values. The examples are available via the example finder. Use search keywords like GPS or 9404, 9405, 9410 or 9414 to find the related examples.
9.2
Application Programming Interface (API)
The Application Programming Interface (API) provides the user with access to the GPS data. This interface exposes nodes that can be used within a LabVIEW FPGA application. The following different node types are available: •
IO nodes
•
property nodes
•
method nodes
9.2.1 IO Nodes The IO nodes follow a naming scheme. The prefix (TIM, or NAV) denotes the class. The subsequent part denotes the data behind the node. The navigation data is delivered by nodes with the prefix NAV and the timing data nodes have the prefix TIM. For the complete list of all available IO nodes refer to the following table:
Seite 21
SEA 9404 Software Manual - Programming Node
Direction
Description
Retrieves the time of millisecond as a part of a time stamp. This time stamp denotes the last risread only ing edge of the Timepulse signal. Refer to the time example for details on how to concatenate this time part to a single time stamp. Retrieves the time of week as a part of a time stamp. This time stamp denotes the last rising read only edge of the Timepulse signal. Refer to the time example for details on how to concatenate this time part to a single time stamp. Retrieves the weeks since GPS epoch (6. January 1980, 00:00, UTC) as a part of a time stamp. This time stamp denotes the last rising edge of the read only Timepulse signal. Refer to the time example for details on how to concatenate this time part to a single time stamp. Retrieves time stamp (time of week) of the last position fix. This value should not be used for read only time stamping of e.g. measurement data. For this use TIM IO nodes instead. Retrieves the antenna height above mean see read only level. Retrieves the latitude in degrees with factor 1e7. read only Before further process this value should be divided by 1e7, see position example. Retrieves the longitude in degrees with factor read only 1e7. Before further process this value should be divided by 1e7, see position example. Tab. 3: SEA 94XX IO Nodes
9.2.2 Property Nodes The complete list of all available property nodes is shown in the following table: Node
Direction
Description
read only
Retrieves the module ID from the module. For SEA 94XX module it retrieves 0006 (0x0006).
read only
Retrieves the serial number from the module. The serial number is a 8 digit number.
Seite 22
SEA 9404 Software Manual - Programming Retrieves the Vendor ID. This value identifies the read only manufacturer of the module. S.E.A. modules always return 0x4711. read only
Retrieves the GPS status information. This value is explained in 9.3.3 Status.
Returns the time pulse of the GPS receiver. By default, this signal rises every time a new second read only starts. The TIM IO nodes are adjusted to the rising edge of this signal. Tab. 4: SEA 94XX Property Nodes
To reduce FPGA slice usage and compile time, some property nodes can be disabled like shown in the examples (Conditional Disable Symbols), refer also to the section 9.5 FPGA Usage and Optimization. Reading property nodes may not be used in parallel with IO Nodes or while executing method nodes. This can even lead to malfunction. Please use all nodes sequentially anyhow. 9.2.3 Method Nodes Method nodes provide optional configuration and auxiliary functions. Name
Direction
Description
read only
Returns the current settings for GPS data from the GPS receiver. Update Rate (Hz) indicates how often the GPS data is updated (default: 1 Hz). The Reference Time denotes to what time base the transmitting of GPS data is aligned to in the GPS receiver.
write only Changes the settings for GPS data. Meaning of parameters see above. write only Additionally to the data in FPGA nodes all GPS data can be retrieved as a raw stream from the receiver. To enable a certain message select a message from the list (for this create a constant or control from the Message input) and wire True to the Enable input. To disable a message wire False to the Enable input.
Seite 23
SEA 9404 Software Manual - Programming
read only
Reads the raw GPS data stream (byte by byte) from the GPS receiver. Valid indicates a new value at the Byte output. Overflow indicates that the internal FIFO that buffers the stream is full. In this case the read out of data has to be speed up and/or the amount of data need to be reduced.
read only
Resets the driver (e.g. if an irretrievable error occurs). After reset, the GPS receiver starts over automatically.
This node can be used to configure the SBAS option for improve positional precision. The parameter of this function are separately explained in write only 9.3.4 SBAS.
This node allows to route the Timepulse signal form the GPS engine either directly to the Sync Output connector (Route=False) of the module or to the backplane (Route=True). If the Timepulse is routed to backplane it can be write only retrieved via the Timepulse property node. In this case the Sync Output connector on the module outputs the signal supplied via the Sync Output In parameter. This can be used to implement own signals on the Sync Output like IRIG-B.
read only
write only
Returns the settings for the Timepulse from the GPS receiver. Interval (us) indicates the period of the Timepulse signal in microseconds (default: 1000000). The Reference Time denotes what time base the Timepulse is aligned to. Delays delivers information about signal delay on its way to the GPS receiver (default: depends on receiver type). Changes the interval of the Timepulse signal.
Tab. 5: SEA 94XX Method Nodes
To reduce FPGA slice usage and compile time, some method nodes can be disabled like shown in the examples (Conditional Disable Symbols), refer also to the section 9.5 FPGA Usage and Optimization.
Seite 24
9.3
SEA 9404 Software Manual - Programming
Data Formats
The information exchanged between the SEA 94XX module hardware and the application software is organized in integer words to avoid handling with fixed/floated point values in the FPGA. The subsequent sections describe their data formats. 9.3.1 Position Values Longitude and Latitude are returned with a factor. To get the normal value these values need to be divided by 10.000.000 (1e7). Make use of the Position example to learn how to convert the location values to a usable values. 9.3.2 Absolute Time Often an absolute time stamp is required, e.g. For time stamping measurement data. The GPS receiver do not return it as a single value, but rather as a set of different time values that can be composed to a single absolute time stamp if desired. Make use of the Time example to learn how to build a LabVIEW time stamp from the time data received from the SEA 94XX. 9.3.3 Status The property Status returns information about GPS status. This value is a bitfield. The meaning of each bit is like follows: Bit 0
Function GPSFixOK
Description 0 = FIX not (yet) OK 1 = Fix OK (i.e. Within DOP and ACC masks)
1
DiffSoln
0 = Differential GPS is not used 1 = Differential GPS is used Differential GPS is not supported by SEA 94xx modules.
2
WKNSET
0 = Week is not valid 1 = Week is valid
3
TOWSET
0 = Time of Week is not validATING 1 = Time of Week is valid
4..7
---
Tab. 6: Status Bitfield
Reserved. Can be ignored.
Seite 25
SEA 9404 Software Manual - Programming
9.3.4 SBAS The method node SBAS: Write Config can be use to improve the GPS precision. This node has several input parameters. Their meaning is as follow: Parameter Mode
Data Type
Default Value
Bitfield 0
Description Bit 0 = SBAS enabled (1) /disabled (0) Bit 1 = Testmode: use data anyhow (1) / ignore data when in test mode (SBAS Msg 0) Bit 2..7 = not used, should be always 0
Usage
Bitfield 3
Bit 0 = Use SBAS GEOs as ranging source (1) Bit 1 = Use SBAS Differential Corrections (1) Bit2 = Use SBAS Integrity Information (1) Bit 3..7 = not used, should be always 0
MaxSBAS
U8
3
Maximum number of SBAS prioritized tracking channels (valid range: 0 ..3) to use.
ScanMode2 Bitfield 0
Keep 0 for auto-scan.
ScanMode1 Bitfield 0
Keep 0 for auto-scan.
Tab. 7: SBAS Parameter
This option should only be used by expert users, that are familiar with SBAS. If you are not sure about the parameter use default values, as shown in the table above. Enabling SBAS causes the GPS receiver to perform some more calculation. This may lead to a significant rising of the internal CPU and memory usage. As a result the data amount and/or the update rate must be decreased in order to avoid blocking of the GPS receiver or data loos.
9.4
Error Codes
In case of unexpected behavior the driver software returns an error within the error cluster. The option Show Error Terminals of a node (right-clicking on the node) must be enabled to obtain error information. Adding error terminals will increase FPGA usage and compilation time. The following errors and warnings are possible:
Seite 26 Error Code
SEA 9404 Software Manual - Programming Description
Module Errors 65536
Incorrect module type found.
65537
No module found.
Tab. 8: Error Codes
9.5
FPGA Usage and Optimization
The driver software consumes approx. 18% of available FPGA space, when using the NI 9104 backplane. Note that the FPGA space consumption for the driver code is not linear in any way, it varies with the module types and number of total modules installed. However, the current driver software architecture offers a way that can help to reduce the FPGA space further if FPGA space is precious. Within the driver core certain functional blocks can be disabled using Conditional Disable Symbols. A disabled functional block is not compiled into the bitfile and therefore does not consume FPGA space. When using Conditional Disable Symbols some API functions become non-executable and must not be used to prevent unexpected behavior. Please refer to the table below for details on using this optimization feature: Conditional Disable Symbol
Value Range
Description
EEPROM
OFF ON (default)
OFF disables the following nodes: • Mod ID • Mod SerialNumber • Mod VendorID
RAW
OFF (default) ON
OFF disables the following nodes: • Raw Data: Enable • Raw Data: Read
Tab. 9: Conditional Disable Symbols
The Conditional Disable Symbols can be defined in the project property dialog box like shown in Fig. 8: Project Properties – Conditional Disable Symbols.
Seite 27
SEA 9404 Software Manual - Programming
Fig. 8: Project Properties – Conditional Disable Symbols This dialog box is accessible by right-clicking on the project root item “Project:
” in the LabVIEW project explorer. If no conditional disable symbols are defined the default values are applied, see Tab. 9: Conditional Disable Symbols.
Seite 28 SEA 9404 Software Manual - Compatibility between MDK 2 version 1.0.0 and 2.0.0
10 Compatibility between MDK 2 version 1.0.0 and 2.0.0 The MDK2 based driver software is already available in the second version (2.0.0). Between version 1.0.0 and 2.0.0 there were some changes (renaming of existing and adding of new nodes) in the user API (FPGA nodes). The following table compares these two versions and gives support for users that already have used the first version (1.0.0) of the MDK2 based driver software. V 1.0.0
V 2.0.0
Description
IO Nodes Name changed: PPS.. -> TIM.. Name changed: PPS.. -> TIM.. Name changed: 'PPS'.. -> 'TIM'.. Unchanged Data type changed: U32 -> I32 Data type changed: U32 -> I32 Data type changed: U32 -> I32 Property Nodes Unchanged Unchanged Unchanged New in version 2.0.0 Name changed: 'PPS' removed Method Nodes
Seite 29 SEA 9404 Software Manual - Compatibility between MDK 2 version 1.0.0 and 2.0.0 Unchanged
Parameter changed: “Reference Time” removed Parameter type changed: now all required Unchanged
Unchanged New in version 2.0.0
New in version 2.0.0
Unchanged
New in version 2.0.0
Tab. 10: MDK2 Version Comparison
When updating form version 1.0.0 to 2.0.0 please note: 1.
Delete the Module item and its channel from the project
2.
Re-detect the module
3.
Delete all nodes (IO, property, method) and re-create them
Seite 30
SEA 9404 Software Manual - Module Updater (SEA 9404)
11 Module Updater (SEA 9404) The SEA 9404 module must be correctly updated before it can be used with the new MDK2 series driver software. If unsure which module version you have you might want to start the module updater to check if an update is required. You can start the module updater either after installation directly from the Welcome screen pressing Update Module button or later from LabVIEW menu bar, Help -> SEA -> SEA 9404 -> Update Module... Please read carefully the instructions below. The main VI is MDK2-MU_Host.vi residing in the My Computer execution target.
Fig. 9: Module Updater – MDK2_MU_Host AUDIENCE: This update is only required for GPS modules cRIO-GPS+ or SEA 9404, that have used the previous (MDK1 based) driver software cRIO_Gxxx_2.3.14 (or older version). Update the module eeprom only if ALL conditions apply. If any vagueness remains please contact S.E.A.: [email protected] for clarification. PREREQUISITES: 1. CompactRIO System (Real-Time controller, FPGA chassis) with LabVIEW 2011 2. S.E.A. CRIO-GPS+ or SEA 9404 module OPERATION DESCRIPTION: Two modes are provided: 1. Update: Reads the current module eeprom and checks if update is required. In no, nothing is done. If yes the current eeprom content is written to the file MDK2-Mu_Eeprom_Before.txt (backup before update). Afterwards the eeprom is updated and written back to the module. Additionally the new eeprom content is written to another file MDK2MU_Eeprom_After.txt (backup after update). 2. Restore From Backup File: Reads the backup file MDK2-MU_Eeprom_Before.txt and writes its content to the module. This is only performed, when a valid S.E.A. CRIO module is found.
Seite 31
SEA 9404 Software Manual - Module Updater (SEA 9404)
OPERATION INSTRUCTION: 1. Insert the Module that should be updated in Slot 1 of your CompactRIO system 2. Detect your CompactRIO system, DO NOT discover the cRIO (C Series) modules 4. In the project explorer window copy the following FPGA Target items from the default CompactRIO system (0.0.0.0) to the same project item of your discovered CompactRIO system: - MDK2-MU_FPGA.vi - Mod1 (Slot1, MDK2-MU) 5. Create Build Specification for MDK2-MU_FPGA.vi and compile it. 6. After the FPGA compilation has finished open the MDK2-MU_Host.vi in My Computer target. 7. Relink the new compiled FPGA VI in the FPGA Open VI Reference node. 8. Execute the MDK2-MU_Host.vi 9. Upon a successful execution the Module is updated. Please save two files for backup purposes: - ..\Data\MDK2-MU_Eeprom_Before.txt - this is the backup before update - ..\Data\MDK-MFG_Eeprom_After.txt - this is the backup after update
Seite 32
SEA 9404 Software Manual - Trouble Shooting
12 Trouble Shooting 12.1 Common Problems and Solutions The following hints might help you to determine if the module and/or software behave correctly and how to identify module failures. #
Problem
1
The module is not detected within LabVIEW
How to solve 1. 2.
3.
4. 2
GPS Data is not available
1.
2.
3. 4. 3
GPS data is not returned or some data is missing
1. 2. 3.
Make sure you have the CompactRIO system powered and connected to your PC. Make sure you have installed the current driver software (>= 2.0.0) after de-installing the previous driver. Make sure that the module is correctly updated according to 11 Module Updater (SEA 9404). Only modules up to date are correctly detected within the project. Enable Error terminal in nodes and see if any errors occur Wait until LED 4 on the module blinks. The GPS receiver needs some time to collect data from at least 4 satellites until the first data is returned. Check if the GPS antenna is connected to the module and placed outside buildings or next to a window. Disable SBAS Enable Error terminal in nodes and see if any errors occur Disable SBAS Reduce messages in raw stream Reduce update rate
Seite 33
SEA 9404 Software Manual - Trouble Shooting
A Abbreviations Abbreviation Description MDK2
Module Development Kit ,version 2. Is a framework from National Instruments for developing 3rd party cRIO modules.
GPS
Global Positiong System
NMEA
Is a standard protocol used by GPS receivers to transmit data (more precisely NMEA-0183) from National-Marine-Electronics-Association.
SBAS
Satellite BasedAugmentation System
DOP
DilutionOfPrecision
ACC
Accuracy
IRIG-B
Time code format standard of the Inter Range Instrumentation Group
API
Application Programming Interface
FPGA
Field Programmable Gate Array
Seite 34
SEA 9404 Software Manual - Trouble Shooting
B Figures Fig. 1: Quick Start – Add Target................................................................15 Fig. 2: Quick Start – Select programming mode.......................................16 Fig. 3: Quick Start – Discover cRIO modules............................................16 Fig. 4: Quick Start – Project explorer after completing the configuration. 17 Fig. 5: Quick Start – Create FPGA VI..........................................................17 Fig. 6: Quick Start – Create property node...............................................18 Fig. 7: Quick Start – Final block diagram..................................................18 Fig. 8: Project Properties – Conditional Disable Symbols........................27 Fig. 9: Module Updater – MDK2_MU_Host..............................................30
Seite 35
SEA 9404 Software Manual - Trouble Shooting
C Tables Tab. 1: Upgrading/Downgrading drivers, refer to chapter 11 Module Updater (SEA 9404).................................................................................14 Tab. 2: Software driver and hardware combinations.................................14 Tab. 3: SEA 94XX IO Nodes.......................................................................21 Tab. 4: SEA 94XX Property Nodes............................................................22 Tab. 5: SEA 94XX Method Nodes..............................................................23 Tab. 6: Status Bitfield..............................................................................24 Tab. 7: SBAS Parameter...........................................................................25 Tab. 8: Error Codes..................................................................................25 Tab. 9: Conditional Disable Symbols.......................................................26 Tab. 10: MDK2 Version Comparison.........................................................29