Hide thumbs Also See for tps1100:
Table of Contents

Advertisement

GeoCOM
Reference Manual
TPS1100 - Version 1.05
© 1997-2000, Leica Geosystems AG,
Heerbrugg, Switzerland

Advertisement

Table of Contents
loading

Summary of Contents for Leica tps1100

  • Page 1 GeoCOM Reference Manual TPS1100 - Version 1.05 © 1997-2000, Leica Geosystems AG, Heerbrugg, Switzerland...
  • Page 2: Table Of Contents

    ASCII Protocol Programming ..............3-1 C/C++ - Programming................3-5 VBA - Programming ................. 3-8 Units of Values..................3-13 TPS1100 Instrument Modes of Operation..........3-13 Common Communication Errors ............3-16 Appendix ..........Fehler! Textmarke nicht definiert. Remarks on the Description ..............4-1 Structure of Descriptions................
  • Page 3 Functions ....................17-1 Porting a TPS1000 Application............18-1 19.1 RPC Changes................... 18-1 19.2 Data Types and Constants Changes ............18-2 19.3 New Returncodes ..................18-3 GeoCOM Releases................. 19-4 20.1 Release 1.04 .................... 19-4 20.2 Release 1.05 .................... 19-5 TPS1100 - Version 1.05...
  • Page 4 List of RPC’s................... D-4 Alpha order....................D-4 Numeric Order..................D-7 Microsoft, MS, MS-DOS, Windows, Windows NT, Win32, Visual C++ and Visual Basic are either registered trademarks or trademarks of Microsoft Corporation in the USA and other countries. TPS1100 - Version 1.05...
  • Page 5: Geocom

    Now, to fulfil a broader spectrum of tasks and applications an interface to the TPS1100 series sensor functions has been defined and will be published with this document.
  • Page 6 COMF Communication; a module which handles the basic communication parameters. Most of these functions relate to both client and server side. Communication; functions to access some aspects of TPS1100 control which are close to communication. These functions relate either to the client side or to the server side.
  • Page 7: Principles Of Geocom Operation

    This number is used internally to associate a specific request, including the implicit parameters, to a procedure on the remote device. On this level, GeoCOM provides TPS1100 - Version 1.05...
  • Page 8 On the high level, GeoCOM provides normal function call interfaces for C/C++ and MS-VBA to these remote functions. These interfaces enable a programmer to implement an application as if it would be executed directly on the TPS1100 instrument. Note: Further on we will refer to a remotely executable system function as a RPC.
  • Page 9: General Concepts Of Using Geocom

    The former - ASCII protocol - is made up of requests and replies. Using GeoCOM in this way means that an application assembles a request, sends it over the serial line to the listening TPS1100 instrument, wait for the answer and decode the received reply.
  • Page 10: Ascii Protocol

    In sequence we will define the syntax first and then give some information about how to use the ASCII protocol to call a function on the TPS1100 instrument. The ASCII protocol is a line protocol, hence it uses a line terminator to distinguish between different requests (replies).
  • Page 11 <TrId> Transaction ID - identical to that of the request. If the request had no Transaction ID then it will be 0. Separator between protocol header and following parameters. TPS1100 - Version 1.05...
  • Page 12: Function Call Protocol - C/C

    Nevertheless, the programmer has to initialise GeoCOM and set up the port’s settings to make sure that communication can take place. Moreover the user has to make sure that the TPS1100 instrument is well connected. Example: An example code fragment for using could be the following.
  • Page 13: Function Call Protocol - Vba

    Dim RetCode As Integer Dim Angles As TMC_HZ_V_ANG Dim dSlopeDist As Double RetCode = VB_TMC_GetSimpleMea( 1000, Angles, dSlopeDist, TMC_AUTO_INC ) If RetCode = RC_OK Then ' do something - use values Else ' handle error End If TPS1100 - Version 1.05...
  • Page 14: Fundamentals Of Programming Geocom

    The programmer is responsible to set up the serial line parameters of the client such that they correspond to the settings of the TPS1100 instrument. Then Remote calls are done by just sending the valid encoded requests and receiving and decoding the replies of them.
  • Page 15 The numerical data types correspond to the C-parameters in value, range and precision as close as possible. If no identical data type is available then the next best one will be taken. Character and string will be replaced by the data type. string TPS1100 - Version 1.05...
  • Page 16 Theodolite Measurement and TMC_GetSimpleMea Calculation: Constants and Types typedef long SYSTIME; struct TMC_HZ_V_ANG double dHz; double dV; enum TMC_INCLINE_PRG TMC_MEA_INC, // encoded as 0 TMC_AUTO_INC, TMC_PLANE_INC TPS1100 - Version 1.05...
  • Page 17 For getting a feeling of how requests and replies are build up and work see also the provided file in the samples directory. Please refer to Appendix geocom.trm C-1 Settings for Terminal Emulator for further information. TPS1100 - Version 1.05...
  • Page 18: C/C++ - Programming

    Since the client has to remind which mode is active, no support can be given from the TPS1100 instrument. The only way to distinguish between modes is to remind the actions an application has initiated and their resulting replies. So far no other possibility exists to determine the current mode.
  • Page 19 Special #defines (if not using MFC) STRICT 3.2.1 Data Types in C/C++ Since the main programming language of implementation of TPS1100 instruments Firmware is C/C++ all data types are initially defined in C/C++. Therefore, no conversion of values or data types is necessary. 3.2.2...
  • Page 20 Although this development environment were the basis for the current GeoCOM implementation, it has been emphasised that it is independent of it, hence other development environments can be used too. But please notice that it has not been tested thoroughly so far. TPS1100 - Version 1.05...
  • Page 21: Vba - Programming

    In general, the following rules can be applied: Numerical data type The numerical data types correspond to the C/C++-parameters in value and range as close as possible. If it cannot be replaced directly then the best possible replacement will be taken. TPS1100 - Version 1.05...
  • Page 22 Global Const TMC_MEA_INC = 0 Global Const TMC_AUTO_INC = 1 Global Const TMC_PLANE_INC = 2 Global Const TMC_APRIORI_INC = 3 Global Const TMC_ADJ_INC = 4 Global Const TMC_REQUIRE_INC = 5 Type TMC_HZ_V_ANG As Double As Double TPS1100 - Version 1.05...
  • Page 23 - Finalise GeoCOM A sample implementation of above points could be: CONST RETRIES_1 = 1 DIM RetCode As Integer DIM bOpenAndRunning as Integer ' initialize GeoCOM bOpenAndRunning = False RetCode = VB_COM_Init() If (RetCode = RC_OK) Then TPS1100 - Version 1.05 3-10...
  • Page 24 GeoCOM Reference Manual Fundamentals of Programming GeoCOM ' open a channel to the TPS1100 instrument RetCode = VB_COM_OpenConnection(COM_1, COM_BAUD_19200, RETRIES_1) If (RetCode = RC_OK) Then bOpenAndRunning = True End If End If ' optionally set up other comm. parameters here...
  • Page 25 255 characters in length from the description of the RPC. Dim s As String ' initialise string s = Space(255) Call VB_COM_GetErrorText(RC_IVPARAM, s) ' trim string, justify string length s = Trim$(s) Note: Incorrectly handled string output parameters may lead to severe runtime problems. TPS1100 - Version 1.05 3-12...
  • Page 26: Units Of Values

    Table 3-2: SI Units TPS1100 INSTRUMENT MODES OF OPERATION In respect to communication, the TPS1100 instrument knows several states in which it reacts differently. The main state for GeoCOM is online state or mode. There it is possible to use all RPC’s, which are described in this manual.
  • Page 27 COM_GetTPSState Note: The mode can be determined only if GeoCOM is active and the sign-off message is activated. In any other situation, will yield COM_GetTPSState the state COM_TPS_UNKNOWN TPS1100 - Version 1.05 3-14...
  • Page 28 System event which causes the starting of the measurement dialog. Can be generated by pressing the MEAS key in the "Main" menu on the default configuration. Picture 3-1 TPS1100 modes of operation in respect to communication TPS1100 - Version 1.05 3-15...
  • Page 29: Common Communication Errors

    RC_COM_CANT_RECV 3076 Failure in receiving result. A failure has occurred during reception of a packet at the data link layer. This could be due to incorrect parameter settings or noise on the line, etc.. TPS1100 - Version 1.05 3-16...
  • Page 30 RPC’s which have been inserted, appended, deleted, or altered between the differing versions of GeoCOM on client and server. To be on the safe side, always use the same GeoCOM version whenever possible on both sides. TPS1100 - Version 1.05 3-17...
  • Page 31 3094 Parse failed; data package not recognised as GeoCOM communication package RC_COM_UNKNOWN_PORT 3095 Tried to access an unknown hardware port. The application has not taken the physical resources of the machine on which it is running into account. TPS1100 - Version 1.05 3-18...
  • Page 32 GeoCOM again. TPS1100 - Version 1.05 3-19...
  • Page 33 GeoCOM Reference Manual Fundamentals of Programming GeoCOM Return Code Description RC_COM_SRVR_IS_ 3108 TPS has gone to sleep. Wait and try again. SLEEPING RC_COM_SRVR_IS_OFF 3109 TPS has shut down. Wait and try again TPS1100 - Version 1.05 3-20...
  • Page 34: Remarks On The Description

    The whole reference part is subdivided into sections. Each section contains descriptions of a set of functions, which build up a subsystem. A subsystem gathers all functions, which are related to a specific functionality of a TPS1100 instrument, e.g. MOT describes all functions, which relate to motorization. Each subsystem is subdivided into the descriptions of RPC’s.
  • Page 35 Please refer to chapter 2.2 to get more information on this topic. Also because of redundancy the necessary CR/LF at the end has been omitted from ASCII-Request and Reply. TPS1100 - Version 1.05...
  • Page 36 Meaning of return codes CSV_SetDateTime Example RC_TYPE Cross reference to related functions DATIME DateAndTime; rc = CSV_GetDateTime(DateAndTime); if (rc == RC_OK) // use Date and time else A typical usage of this // handle error function TPS1100 - Version 1.05...
  • Page 37: Communication Settings

    COM_FORMAT COM_ASCII = 0, // Force ASCII comm. COM_BINARY = 1 // Enable binary comm. Baud Rate enum COM_BAUD_RATE COM_BAUD_38400 = 0, COM_BAUD_19200 = 1, // default baud rate COM_BAUD_9600 = 2, COM_BAUD_4800 = 3, COM_BAUD_2400 TPS1100 - Version 1.05...
  • Page 38: General Geocom Functions

    ---................. -- --- ....--- GENERAL GEOCOM FUNCTIONS 5.2.1 COM_GetDoublePrecision - Get Double Precision Setting COM_GetDo ublePrecision ..........................................................................................................................................................................................108 108 ....................................................COM_GetDo ublePrecision C-Declaration COM_GetDoublePrecision( short &nDigits ) VB-Declaration VB_COM_GetDoublePrecision( nDigits As Integer ) ASCII-Request %R1Q,108: ASCII-Response %R1P,0,0:RC, nDigits[short] TPS1100 - Version 1.05...
  • Page 39 // returned with nDigits to the right of the // decimal point (void) TMC_GetHeight(height); // ignore return code print(„height: %d\n“, height.dHr); // reset server accuracy to the old value rc = COM_SetDoublePrecision(nOldDigits); // no error handling, because nOldDigits must be valid TPS1100 - Version 1.05...
  • Page 40 Note: With this function one can decrease the accuracy of the delivered values. Parameters nDigits Number of digits right to the comma. Return Codes RC_OK On successful completion. RC_IVPARAM 0 > nDigits > 15 See Also COM_GetDoublePrecision Example COM_GetDoublePrecision TPS1100 - Version 1.05...
  • Page 41: Client Specific Geocom Functions

    GeoCOM before. Parameters Return Codes RC_OK On successful completion. See Also COM_End Example See appendix C-2 for an example program frame. 5.3.2 COM_End - Quit GeoCOM COM_En d ................................................................................................................................................................................................- C-Declaration COM_End( void ) TPS1100 - Version 1.05...
  • Page 42 COM_OpenConnection - Open a Port for Communication COM_Open Connectio n ............................................................................................................................................................................................- C-Declaration COM_OpenConnection( COM_PORT ePort, COM_BAUD_RATE &eRate, Short nRetries ) VB-Declaration VB_COM_OpenConnection( ByVal Port As Integer, ByVal Baud As Integer, ByVal Retries As Integer ) ASCII-Request ASCII-Response TPS1100 - Version 1.05...
  • Page 43 Note: In the current implementation, GeoCOM does not support two open connections at the same time. A second attempt to open a second port at once will be denied by GeoCOM. Parameters - C-Declaration EPort Serial port. eBaud InOut Baud rate. nRetries Number of retries. TPS1100 - Version 1.05 5-10...
  • Page 44 This function closes the (current) open port and releases an established connection. It will not change the TPS’ state. Parameters Return Codes RC_OK On successful completion. See Also COM_OpenConnection Example See appendix C-2 for an example program frame. TPS1100 - Version 1.05 5-11...
  • Page 45 RC_TYPE COM_BAUD_RATE eRate; // init GeoCOM // get baud rate of active connection rc = COM_GetBaudRate(eRate); if (rc != RC_OK) COM_ViewError(rc, "Setup baud rate"); else printf("Baudrate is %d Baud = " ); switch (eRate ) TPS1100 - Version 1.05 5-12...
  • Page 46 VB_COM_SetBaudRate( ByVal eRate As Long ) ASCII-Request ASCII-Response Remarks This function sets the baud rate of the serial line, hence on both client and server side. A port must have been opened successfully with COM_OpenConnection TPS1100 - Version 1.05 5-13...
  • Page 47 The timeout value is the delay GeoCOM will wait for completion before it signals an error to the calling application. Parameters nTimeOut Timeout value in seconds, default value is 5 sec. Return Codes RC_OK On successful completion. TPS1100 - Version 1.05 5-14...
  • Page 48 But be aware of that this will yield into a RC_COM_TIMEDOUT return code. Note: A negative timeout value indicates an infinite waiting period and may block the client application. Parameters nTimeOut timeout value in seconds TPS1100 - Version 1.05 5-15...
  • Page 49 COM_BINARY TPS’ Firmware does not support binary transmission data format then ASCII data format will be used instead. Parameters eComFormat COM_ASCII COM_BINARY Return Codes RC_OK On successful completion. See Also COM_SetComFormat Example RC_TYPE COM_FORMAT eComFormat; TPS1100 - Version 1.05 5-16...
  • Page 50 Parameters EComFormat COM_ASCII COM_BINARY Return Codes RC_OK On successful completion. RC_COM_PORT_NOT_OPEN Port not open for transmission. RC_COM_NO_BINARY TPS Firmware does not support binary data transmission format. See Also COM_SetComFormat TPS1100 - Version 1.05 5-17...
  • Page 51 // continue in ASII-format break; // end of switch (rc) // continue in program 5.3.11 COM_UseWindow - Declare Parent Window Handle COM_UseWin dow ............................................................................................................................................................................................. - C-Declaration COM_UseWindow( HWND handle ) VB-Declaration VB_COM_UseWindow( handle As HWND ) ASCII-Request ASCII-Response TPS1100 - Version 1.05 5-18...
  • Page 52 VB_COM_SetConnDlgFlag( ByVal bShow As Long ) ASCII-Request ASCII-Response Remarks This function sets or clears the connection dialog flag. If cleared, then the user will not be asked by a dialog box if all possible settings should be tried TPS1100 - Version 1.05 5-19...
  • Page 53 As Integer, ByVal szMsgTitle As String) ASCII-Request ASCII-Response Remarks This function checks the value of Result and if it is not equal to then RC_OK it pops up a message box containing the specific error text. TPS1100 - Version 1.05 5-20...
  • Page 54 As Integer, szErrText As String) ASCII-Request ASCII-Response Remarks This function checks the value of Result and returns an error text if the value is not equal to RC_OK. The function yields an empty string if the TPS1100 - Version 1.05 5-21...
  • Page 55 ASCII-Response Remarks This function retrieves the actual software Release (Release, version and subversion) of GeoCOM on the client side. Parameters nRel Software Release. nVer Software version. nSubVer Software subversion. Return Codes RC_OK On successful completion. TPS1100 - Version 1.05 5-22...
  • Page 56 In any other situation, it returns COM_TPS_UNKNOWN It is important to enable the sign-off message again if the instrument has been shut down. Parameters eMode Current operation mode. Return Codes RC_OK On successful completion. See Also COM_EnableSignOff CTL_GetUpCounter TPS1100 - Version 1.05 5-23...
  • Page 57 Communication Settings Example RC_TYPE COM_TPS_STATUS eMode; rc = COM_EnableSignOff(TRUE); if (rc == RC_OK) rc = COM_GetTPSSTate(eMode); if (rc == RC_OK) switch (eMode) case COM_TPS_OFF: printf(“TPS is switched off\n”); break; case COM_TPS_UNKNOWN: default: printf(“TPS state unknown\n”); TPS1100 - Version 1.05 5-24...
  • Page 58: Alt User - Aus

    Get the current status of the ATR mode on TCA instruments. This command does not indicate whether the ATR has currently acquired a prism. It replaces the function AUT_GetAtrStatus Parameters OnOff State of the ATR mode Return-Codes RC_OK Execution always successful. TPS1100 - Version 1.05...
  • Page 59 AUS_SetUserAtrState(ON_OFF_TYPE OnOff) VB-Declaration VB_AUS_SetUserAtrState(OnOff As Long) ASCII-Request %R1Q,18005:OnOff[long] ASCII-Response %R1P,0,0:RC Remarks Activate respectively deactivate the ATR mode. Activate ATR mode: The ATR mode is activated and the LOCK mode (if sets) will be reset automatically also. TPS1100 - Version 1.05...
  • Page 60 TCA instruments only and does not indicate whether the ATR has a prism in lock or not. With the function you can find out whether a MOT_ReadLockStatus target is locked or not. This command is valid for TCA instruments only. It replaces the function AUT_GetLockStatus TPS1100 - Version 1.05...
  • Page 61 {// ------ disable target tracking --------------- rc = AUS_SetUserLockState(OFF);// reset the ATR // mode not // automatically if(rc == RC_OK) {// reset of Lock state successful if(OldAtrStatus==OFF) {// set old ATR mode rc == AUS_SetUserAtrState(OFF); TPS1100 - Version 1.05...
  • Page 62 This command is valid for TCA instruments only. It replaces the function AUT_SetLockStatus Parameters OnOff State of the ATR lock switch Return-Codes RC_OK Execution successful. RC_NOT_IMPL ATR not available; no TCA instrument. See Also AUS_GetUserLockState AUS_SetUserAtrState AUT_LockIn TPS1100 - Version 1.05...
  • Page 63 State of the RCS searching switch Return-Codes RC_OK Execution always successful. RC_NOT_IMPL ATR not available; no TCA instrument. See Also AUS_SwitchRcsSearch Example 6.3.6 AUS_SwitchRcsSearch - Set RCS-Searching mode switch AUS_Sw itch RcsSearch ............................................................................................................................................................................................18009 18009 ....................................................AUS_Sw itch RcsSearch C-Declaration AUS_SwitchRcsSearch(ON_OFF_TYPE OnOff) TPS1100 - Version 1.05...
  • Page 64 BAP_SearchTarget This command is valid for TCA instruments only. Parameters OnOff State of the RCS searching mode switch Return-Codes RC_OK Execution successful. RC_NOT_IMPL ATR not available; no TCA instrument. See Also AUS_SwitchRcsSearch Example TPS1100 - Version 1.05...
  • Page 65: Automation - Aut

    Maximum Position Time [s] struct AUT_TIMEOUT double adPosTimeout[MOT_AXES];// max. positioning time [sec] Position Precision enum AUT_POSMODE AUT_NORMAL = 0, // fast positioning mode AUT_PRECISE = 1 // exact positioning mode // note: can distinctly claim more time TPS1100 - Version 1.05...
  • Page 66 // Positioning to a target in the // environment of the hz- and v-angle. Automatic Detent Mode struct AUT_DETENT // Detent data double dPositiveDetent; // Detent in positive direction double dNegativeDetent; // Detent in negative direction BOOLE bActive; // Is detent active TPS1100 - Version 1.05...
  • Page 67: Functions

    AUT_ReadTol..............................................................................................................................................................................................9008 9008 ......................................AUT_ReadTol C-Declaration AUT_ReadTol(AUT_POSTOL &TolPar) VB-Declaration VB_AUT_ReadTol(TolPar As AUT_POSTOL) ASCII-Request %R1Q,9008: ASCII-Response %R1P,0,0:RC,Tolerance Hz[double],Tolerance V[double] Remarks This command reads the current setting for the positioning tolerances of the Hz- and V- instrument axis. TPS1100 - Version 1.05 7-10...
  • Page 68 (TolPar.adPosTol[MOT_V_AXLE] > MIN_TOL)) TolPar.adPosTol[MOT_HZ_AXLE] = MIN_TOL; TolPar.adPosTol[MOT_HZ_AXLE] = MIN_TOL; rc = AUT_SetTol(TolPar); switch (rc) case (RC_OK): // set of Lock tolerance successful break; case (RC_IVPARAM): // invalid parameter break; case (MOT_RC_UNREADY): // subsystem not ready break; TPS1100 - Version 1.05 7-11...
  • Page 69 Hz and V direction [ Return-Codes RC_OK Execution successful. RC_IVPARAM One or both tolerance values not within the boundaries (1.57079E-06[ ] =1[cc] to 1.57079E-04[ ] =100[cc]). MOT_RC_UNREADY Instrument has no motorization See Also AUT_ReadTol Example AUT_ReadTol TPS1100 - Version 1.05 7-12...
  • Page 70 // read timeout and set to a minimum of 10 [s] rc = AUT_ReadTimeout(TimeoutPar); if ((TimeoutPar.adPosTimeout[0] < 10) || (TimeoutPar.adPosTimeout[1] < 10)) TimeoutPar.adPosTimeout[0] = 10; TimeoutPar.adPosTimeout[1] = 10; rc = AUT_SetTimeout(TimeoutPar); switch (rc) case (RC_OK): // set of timeout successful break; TPS1100 - Version 1.05 7-13...
  • Page 71 Hz and V direction [s]. Valid values are between 1 [sec] and 60 [sec]. Return-Codes RC_OK Execution successful. Maximum positioning time is set. RC_IVPARAM One or both time out values not within the boundaries (1[sec] to 60[sec]). See Also AUT_ReadTimeout Example AUT_ReadTimeout TPS1100 - Version 1.05 7-14...
  • Page 72 If LockIn the Lock status not set, the manual driving wheel is activated after the positioning. Parameters Horizontal (telescope) position [ Vertical (instrument) position [ TPS1100 - Version 1.05 7-15...
  • Page 73 (perhaps increase AUT time out, see AUT_SetTimeout AUT_RC_MOTOR_ERROR Instrument has no ‘motorization’. AUT_RC_ANGLE_ERROR Error within angle measurement. Maybe instrument is not levelled and not stable. Try to correct instrument’s position or switch automatic incline correction to (see TMC_SetInclineSwitch TPS1100 - Version 1.05 7-16...
  • Page 74 If a measurement error occurred, the automatic inclination correction is switched off and the position procedure starts again. RC_TYPE rc, hrc; short BOOL TryAgain = TRUE; AUT_TIMEOUT TimeoutPar; AUT_POSMODE POSMode = AUT_PRECISE; short nComTimeOut, nOldComTimeOut; TPS1100 - Version 1.05 7-17...
  • Page 75 // switch inclination correction off hrc = TMC_SetInclineSwitch(OFF); break; default: // precise position not possible TryAgain = FALSE; if (rc == AUT_RC_INCACC) //Position successful but not precise else // Positioning not successful // here further error analyse possible TPS1100 - Version 1.05 7-18...
  • Page 76 If ATR is possible and activated and the ATR mode is set the instrument tries to position onto a target in the destination AUT_TARGET area. In addition, the target is locked after positioning if the status LockIn is set. TPS1100 - Version 1.05 7-19...
  • Page 77 (perhaps increase AUT timeout, see AUT_SetTimeout AUT_RC_MOTOR_ERROR Instrument has no ‘motorization’. AUT_RC_ANGLE_ERROR Error within angle measurement. Maybe instrument is not levelled and not stable. Try to correct instrument’s position or switch automatic incline correction to (see TMC_SetInclineSwitch TPS1100 - Version 1.05 7-20...
  • Page 78 The example program performs a change face. If a measurement error occurs, the automatic inclination correction is switched off and the change face starts again. RC_TYPE rc, rch; BOOL TryAgain = TRUE; AUT_POSMODE POSMode = AUT_PRECISE; rc=RC_IVRESULT; TPS1100 - Version 1.05 7-21...
  • Page 79 // change face not successful // here further error analyse possible break; 7.3.7 AUT_FineAdjust - Automatic target positioning AUT_FineAdjust..............................................................................................................................................................................................9037 9037 ....................................................AUT_FineAdjust C-Declaration AUT_FineAdjust( Double dSrchHz, double dSrchV , BOOLE bDummy) VB-Declaration VB_AUT_FineAdjust3( DSrchHz As Double, TPS1100 - Version 1.05 7-22...
  • Page 80 It’s reserved for future use, set bDummy always to FALSE Return-Codes RC_OK Execution successful. AUT_RC_TIMEOUT Timeout while positioning of one or both axes. The position fault lies above 100[cc]. (perhaps increase AUT timeout, AUT_SetTimeout TPS1100 - Version 1.05 7-23...
  • Page 81 // Status must // be set for // the fine // adjust // functionality if(ATRState==ON) // performs a fine position with a max. target // search range of 0.08rad (5gon) in Hz and V // direction TPS1100 - Version 1.05 7-24...
  • Page 82 VB_AUT_Search2(Hz_Area As Double, V_Area As Double, bDummy As Boolean) ASCII-Request %R1Q,9029:Hz_Area,V_Area,0 ASCII-Response %R1P,0,0:RC Remarks This procedure performs an automatically target search within a given area. The search area has an elliptical shape where the input parameters TPS1100 - Version 1.05 7-25...
  • Page 83 No target found. AUT_RC_BAD_ENVIRONMENT Inadequate environment conditions. AUT_RC_NOT_ENABLED ATR mode not enabled, enable ATR mode AUT_RC_DETECTOR_ERROR AZE error, at repeated occur call service RC_COM_TIMEDOUT Communication timeout. (perhaps increase COM timeout, see COM_SetTimeout See Also AUS_SetUserAtrState AUS_GetUserAtrState AUT_FineAdjust TPS1100 - Version 1.05 7-26...
  • Page 84 V_Area += 0.1; if (Hz_Area > 1) TryAgain = FALSE; break; case (RC_COM_TIMEDOUT): //communication timeout //increase timeout until 30s hrc = COM_GetTimeOut(nComTimeOut); nComTimeOut=(short)__min(nComTimeOut+=5, 60); hrc = COM_SetTimeOut(nComTimeOut); //abort if timeout >= 30s if (nComTimeOut >= 30) TPS1100 - Version 1.05 7-27...
  • Page 85 This function returns the current activated fine adjust positioning mode. This command is valid for all instruments, but has only effects for TCA instruments. Parameters RAdjMode current fine adjust positioning mode Return-Codes RC_OK Execution successful (always) TPS1100 - Version 1.05 7-28...
  • Page 86 AUT_POINT_MODE. Parameters AdjMode : Fine positioning with AUT_NORM_MODE angle tolerance : Fine positioning with AUT_POINT_MODE point tolerance Return-Codes RC_OK Execution successful RC_IVPARAM Invalid mode See Also AUS_GetUserAtrState Example RC_TYPE Result; AUT_ADJMODE AdjMode; TPS1100 - Version 1.05 7-29...
  • Page 87 Parameters Return-Codes RC_OK LOCK-IN configuration is now active or already active. AUT_RC_NOT_ENABLED Target acquisition not enabled AUT_RC_MOTOR_ERROR Instrument has no ‘motorization’. AUT_RC_DETECTOR_ERROR Error in target acquisition, at repeated occur call service AUT_RC_NO_TARGET No target detected TPS1100 - Version 1.05 7-30...
  • Page 88 [double],bEnabled[Boolean] Remarks This function returns the current user searching area. This command is valid for all instruments, but has only effects for TCA instruments. Parameters Area user defined searching area Return-Codes RC_OK Execution successful (always) TPS1100 - Version 1.05 7-31...
  • Page 89 Return-Codes RC_OK Execution successful (always) See Also AUT_GetSearchArea, BAP_SearchTarget Example AUT_SEARCH_AREA SearchArea; SearchArea.dCenterHz 0.5; SearchArea.dCenterV 1.5708; // 100 gon SearchArea.dRangeHz 0.4; SearchArea.dRangeV 0.2; SearchArea.bEnabled = TRUE; // activate it RetCode = AUT_SetSearchArea(SearchArea); TPS1100 - Version 1.05 7-32...
  • Page 90 Execution successful (always) See Also AUT_SetUserSpiral, BAP_SearchTarget Example AUT_SetUserSpiral 7.3.15 AUT_SetUserSpiral - Set user searching spiral AUT_SetUserSp iral............................................................................................................................................................................................9041 9041 ....................................................AUT_SetUserSp iral C-Declaration AUT_SetUserSpiral( AUT_SEARCH_SPIRAL SpiralDim) VB-Declaration VB_AUT_SetUserSpiral(byval SpiralDim As AUT_SEARCH_SPIRAL) ASCII-Request %R1Q,9041:dRangeHz,dRangeV ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 7-33...
  • Page 91 TCA instruments. Parameters SpiralDim searching spiral dimension Return-Codes RC_OK Execution successful (always) See Also AUT_GetUserSpiral, BAP_SearchTarget Example AUT_SEARCH_SPIRAL SearchSpiral; RC_TYPE result; SearchSpiral.dRangeHz = 0.4; SearchSpiral.dRangeV = 0.2; result = AUT_SetUserSpiral(SearchSpiral); TPS1100 - Version 1.05 7-34...
  • Page 92 GeoCOM Reference Manual Automation - AUT TPS1100 - Version 1.05...
  • Page 93: Basic Applications - Bap

    // fast tracking RL distance, reflector free (red) BAP_AVG_REF_STANDARD = 7, // Average IR distance with reflector BAP_AVG_REF_VISIBLE = 8, // Average long range dist. with reflector (red) BAP_AVG_RLESS_VISIBLE = 9 // Average RL distance, reflector free (red laser) TPS1100 - Version 1.05...
  • Page 94 // prism name string Prism definition struct BAP_PRISMDEF char szName[BAP_PRISMNAME_LEN+1]; double dAddConst; // prism correction BAP_REFLTYPE eReflType; // reflector type Target type definition enum BAP_TARGET_TYPE BAP_REFL_USE = 0 // with reflector BAP_REFL_LESS = 1 // without reflector TPS1100 - Version 1.05...
  • Page 95: Functions

    An error has been displayed before last call RC_IVRESULT No error has been displayed before last call See Also Example RC_TYPE short nError, nGSIError; rc = BAP_GetLastDisplayedError(nError, nGSIError); if (rc == RC_OK) printf("Error number: %d\n", nError); printf("GSI error number: %d\n", nGSIError); TPS1100 - Version 1.05...
  • Page 96 Gets the current target type for distance measurements (with reflector or without reflector). Parameters eTargetType actual target type Return Codes RC_OK Always See Also BAP_SetTargetType() BAP_SetMeasPrg() Example 8.2.3 BAP_SetTargetType – Sets the target type BAP_SetTargetTy pe............................................................................................................................................................................................17021 17021 ....................................................BAP_SetTargetTy pe C-Declaration BAP_SetTargetType( BAP_TARGET_TYPE eTargetType ) TPS1100 - Version 1.05...
  • Page 97 Target type is not available See Also BAP_GetTargetType() BAP_SetMeasPrg() Example 8.2.4 BAP_GetPrismType - Get actual prism type BAP_GetPrismTy pe............................................................................................................................................................................................17009 17009 ....................................................BAP_GetPrismTy pe C-Declaration BAP_GetPrismType( BAP_PRISMTYPE &ePrismType ) VB-Declaration VB_BAP_GetPrismType (ePrismType As Long) ASCII-Request %R1Q,17009: ASCII-Response %R1Q,0,0:RC, ePrismType[long] TPS1100 - Version 1.05...
  • Page 98 Sets the prism type for measurements with a reflector. It overwrites the prism constant, set by TMC_SetPrismCorr Parameters ePrismType Prism type Return Codes RC_OK Prism type is set RC_IVPARAM Prism type is not available, i.e. a user prism is not defined See Also BAP_GetPrismType() TMC_SetPrismCorr() TPS1100 - Version 1.05...
  • Page 99 PrismDef definition of the prism Return Codes RC_OK successful RC_IVPARAM invalid prism type See Also BAP_SetPrismDef() Example 8.2.7 BAP_SetPrismDef – Sets a user prism definition BAP_SetPrismDef .............................................................................................................................................................................................. 17024 17024 ....................................................BAP_SetPrismDef C-Declaration BAP_SetPrismDef( BAP_PRISMTYPE ePrismType, BAP_PRISMDEF PrismDef) TPS1100 - Version 1.05...
  • Page 100 RC_IVPARAM Invalid prism type See Also BAP_SetPrismType() BAP_GetPrismDef() Example 8.2.8 BAP_GetMeasPrg - Get actual distance measurement program BAP_GetMeasPrg............................................................................................................................................................................................... 17018 17018 ....................................................BAP_GetMeasPrg C-Declaration BAP_GetMeasPrg( BAP_USER_MEASPRG &eMeasPrg ) VB-Declaration VB_BAP_GetMeasPrg(eMeasPrg As Long) ASCII-Request %R1Q,17018: ASCII-Response %R1Q,0,0:RC, eMeasPrg[long] Remarks TPS1100 - Version 1.05...
  • Page 101 Reflector-free measurement programs are not available on all instrument types. Changing the measurement programs may change the target type too (with reflector / reflector-free) Parameters eMeasPrg Measurement program Return Codes RC_OK Measurement program is set RC_IVPARAM Measurement program is not available TPS1100 - Version 1.05...
  • Page 102 BAP_SetMeasPrg DistMode actual distance measurement mode Horizontal angle [rad]x, depends on DistMode Vertical angle [rad]x, depends on DistMode dDist Slopedistance [m]x, depends on DistMode Return Codes may additionally return AUT- and TMC- BAP_MeasDistanceAngle return codes. TPS1100 - Version 1.05 8-10...
  • Page 103 Error, TMC submodule already in use by another subsystem, command not processed TMC_DIST_ERROR An error occurred during distance measurement. TMC_DIST_PPM Error, wrong setting of PPM or MM on EDM TMC_NO_FULL_CORRECTION Warning, measurement without full correction TPS1100 - Version 1.05 8-11...
  • Page 104 DistMode!"); break; case RC_ABORT: printf("Measurement aborted!"); break; case RC_SHUT_DOWN: printf("System has been stopped!"); break; case TMC_DIST_PPM: printf("PPM or MM should be switched off"); printf(" when EDM is on -> no results!“); break; case TMC_DIST_ERROR: TPS1100 - Version 1.05 8-12...
  • Page 105 %R1P,0,0:RC Remarks Function searches a target. The used searching range is dependent of the set searching area and whether the additional user area is enabled or not. The functionality is only available by ATR instruments. TPS1100 - Version 1.05 8-13...
  • Page 106 AUT_RC_ACCURACY Position not exactly reached AUT_RC_MOTOR_ERROR Motorization error AUT_RC_MULTIPLE_TARGETS Multiple targets detected AUT_RC_NO_TARGET No target detected AUT_RC_TIMEOUT Time out, no target found RC_ABORT Error, searching aborted RC_FATAL Fatal Error See Also AUT_GetUserSpiral, AUT_SetUserSpiral, AUT_GetSearchArea, AUT_SetSearchArea TPS1100 - Version 1.05 8-14...
  • Page 107: Basic Man Machine Interface - Bmm

    VB-Declaration VB_BMM_BeepAlarm() ASCII-Request %R1Q,11004: ASCII-Response %R1P,0,0:RC Remarks This function produces a triple beep with the configured intensity and frequency, which cannot be changed. If there is a continuous signal active, it will be stopped before. Parameters TPS1100 - Version 1.05...
  • Page 108 If a continuous signal is active, it will be stopped first. Parameters Return Codes RC_OK always See Also BMM_BeepAlarm, IOS_BeepOn, IOS_BeepOff 9.2.3 IOS_BeepOn - Start a beep-signal IOS_BeepOn ............................................................................................................................................................................................... 20001 20001 ....................................................IOS_BeepOn C-Declaration IOS_BeepOn(short nIntens = IOS_BEEP_STDINTENS) VB-Declaration VB_IOS_BeepOn(ByVal nIntens As Integer) TPS1100 - Version 1.05...
  • Page 109 IOS_BeepOff, BMM_BeepAlarm, BMM_BeepNormal Example IOS_BeepOn(IOS_BEEP_STDINTENS) // wait for a second IOS_BeepOff(); 9.2.4 IOS_BeepOff - Stop active beep-signal IOS_BeepOff............................................................................................................................................................................................... 20000 20000 ....................................................IOS_BeepOff C-Declaration IOS_BeepOff(void) VB-Declaration VB_IOS_BeepOff() ASCII-Request %R1Q,20000: ASCII-Response %R1P,0,0:RC Remarks This function switches off the beep-signal. TPS1100 - Version 1.05...
  • Page 110 GeoCOM Reference Manual Basic Man Machine Interface - BMM Parameters Return Codes RC_OK always See Also IOS_BeepOn, BMM_BeepAlarm, BMM_BeepNormal Example IOS_BeepOn TPS1100 - Version 1.05...
  • Page 111: Communications - Com

    OMMUNICATIONS This subsystem contains those functions, which are subsystem COM related, but will be executed as RPC’s on the TPS1100 instrument. It provides a function to check communication between the computer and the TPS1100 and also some functions to get and set communication relevant parameters on the server side.
  • Page 112 %02d\n“, nRel); printf(„Version %02d\n“, nVer); printf(„Subversion %02d\n“, nSubVer); 10.2.2 COM_SetSendDelay - Set Reply Delay COM_ SetSendDe lay............................................................................................................................................................................................109 109 ....................................................COM_ SetSendDe lay C-Declaration COM_SetSendDelay(short nSendDelay) VB-Declaration VB_COM_SetSendDelay(ByVal nSendDelay As Integer) ASCII-Request %R1Q,109:nSendDelay[short] ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 10-2...
  • Page 113 ASCII-Response %R1P,0,0:RC Remarks Leaves on-line mode and switches TPS1100 into local mode. If in local mode, no communication will take place. Any attempt of sending data will be ignored. Changing local into online mode can be done manually only. Parameters TPS1100 - Version 1.05...
  • Page 114 VB_COM_SwitchOnTPS(ByVal eOnMode As Long) ASCII-Request %R1Q,111:eOnMode[short] ASCII-Response %N1,0,255,,0%T0,0,0,:%R1P,0,0:0 Remarks This function switches on the TPS1100 instrument and put it into remote mode. It can also be used to switch from sleep into remote mode. Parameters eOnMode Run mode - use COM_TPS_REMOTE...
  • Page 115 %N1,0,255,,0%T0,0,0,:%R1P,1,0:0,1 (shut down) %N1,0,255,,0%T0,0,0,:%R1P,1,0:0,0 optionally followed by %R1P,0,0:RC else %R1P,0,0:RC Remarks This function switches off the TPS1100 instrument or put it into sleep mode. Parameters eOffMode Stop mode - see Constants and Types. Return Codes RC_OK On successful termination. RC_COM_SRVR_IS_SLEEPING TPS has gone to sleep.
  • Page 116 RC_OK On successful termination. See Also Example 10.2.7 COM_EnableSignOff - Enable Remote Mode Logging COM_Enab leSig nOff ............................................................................................................................................................................................115 115 ....................................................COM_Enab leSig nOff C-Declaration COM_EnableSignOff(BOOLE bEnable) VB-Declaration VB_COM_EnableSignOff(ByVal bEnable As Long) ASCII-Request %R1Q,115:bEnable[Boolean] ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 10-6...
  • Page 117 ASCII-Response %R1P,0,0:RC, bAvailable[Boolean] Remarks This function gets the ability information about the server to handle binary communication. Since TPS1100 Release 2.00 the client may make requests in binary format which speeds up the communication by about 40-50%. Parameters bAvailable : binary operation enabled.
  • Page 118 Binary data format is not supported yet in GeoCOM Versions below 2.0. Parameters bAvailable : enable binary operation. TRUE : enable ASCII operation only. FALSE Return Codes RC_OK On successful termination. See Also COM_GetBinaryAvailable COM_SetFormat Example TPS1100 - Version 1.05 10-8...
  • Page 119: Central Services - Csv

    TPS_CLASS_5005 = 7, // TPS5000 family member TPS_CLASS_5100 = 8, // TPS5000 family member TPS_CLASS_1102 = 100, // TPS1100 family member, 2" TPS_CLASS_1103 = 101, // TPS1100 family member, 3" TPS_CLASS_1105 = 102 // TPS1100 family member, 5" TPS_CLASS_1101 = 103 // TPS1100 family member, 1"...
  • Page 120 // month in year 1..12 BYTE Day; // day in month 1..31 General Time struct TIME_TYPE { BYTE Hour; // 24 hour per day 0..23 BYTE Minute; // minute 0..59 BYTE Second; // seconds 0..59 TPS1100 - Version 1.05 11-2...
  • Page 121: Functions

    %R1Q,5003: ASCII-Response %R1P,0,0:RC, SerialNo[long] Remarks Parameters SerialNo The serial number. Return-Codes RC_OK Execution successful. RC_UNDEFINED Instrument number not yet set. Example RC_TYPE long SerialNo; rc = CSV_GetInstrumentNo(SerialNo); if (rc == RC_OK) // use SerialNo else TPS1100 - Version 1.05 11-3...
  • Page 122 GeoCOM Reference Manual Central Services - CSV // instrument number not yet set 11.3.2 CSV_GetInstrumentName - Get Leica specific instrument name CSV_GetIn strumentName..........................................................................................................................................................................................5004 5004 ....................................................CSV_GetIn strumentName C-Declaration CSV_GetInstrumentName(char *Name) VB-Declaration VB_CSV_GetInstrumentName(Name As String) ASCII-Request %R1Q,5004: ASCII-Response %R1P,0,0:RC,Name[string] Remarks Parameters...
  • Page 123 Return-Codes RC_OK Well configured. RC_UNDEFINED Instrument precision class undefined. Example RC_TYPE TPS_DEVICE Device; rc = CSV_GetDeviceConfig(Device); if (rc == RC_OK) // Use system information else // Intrument precision class undefined // (incomplete calibration data) TPS1100 - Version 1.05 11-5...
  • Page 124 (rc == RC_OK) // use Date and time else // time and/or date is not set (yet) // use CSV_SetDateTime to set date and time // (March 25 1997, 10:20) DateAndTime.Date.Year = 1997; DateAndTime.Date.Month = 3; TPS1100 - Version 1.05 11-6...
  • Page 125 DATIME Parameters DateAndTime Encoded date and time. Return-Codes RC_OK Execution always successful. See Also CSV_GetDateTime Example CSV_GetDateTime 11.3.6 CSV_GetSWVersion - Get Software Version CSV_GetSWVersion ............................................................................................................................................................................................5034 5034 ....................................................CSV_GetSWVersion C-Declaration CSV_GetSWVersion2(short &nRelease, short &nVersion, short &nSubVersion) TPS1100 - Version 1.05 11-7...
  • Page 126 = “Version 02.20.00” 11.3.7 CSV_CheckPower – check the available power CSV_GetV Bat..............................................................................................................................................................................................5009 5009 ....................................................CSV_GetV Bat C-Declaration CSV_CheckPower( unsigned short &unCapacity, CSV_POWER_PATH &eActivePower, CSV_POWER_PATH &ePowerSuggest) VB-Declaration VB_CSV_CheckPower( unCapacity As integer, eActivePower As long, ePowerSuggest As long) TPS1100 - Version 1.05 11-8...
  • Page 127 = CSV_CheckPower(unCapacity, eActivePower, ePowerSuggest) 11.3.8 CSV_GetVMem - Get value of the memory backup voltage supply CSV_GetV Mem..............................................................................................................................................................................................5010 5010 ....................................................CSV_GetV Mem C-Declaration CSV_GetVMem(double &VMem) VB-Declaration VB_CSV_GetVMem(VMem As double) ASCII-Request %R1Q,5010: ASCII-Response %R1P,0,0:RC,VMem[double] TPS1100 - Version 1.05 11-9...
  • Page 128 = CSV_GetVMem(VMem); if (Vbat > 3.1) // Message: memory backup voltage OK else // Warning: memory backup voltage not OK // exchange battery it in Leica service 11.3.9 CSV_GetIntTemp - Get the temperature CSV_GetIn tTemp ............................................................................................................................................................................................... 5011 5011 ....................................................CSV_GetIn tTemp C-Declaration CSV_GetIntTemp(double &Temp)
  • Page 129 GeoCOM Reference Manual Central Services - CSV Parameters Temp Instrument temperature. Return-Codes RC_OK Execution always successful. Example RC_TYPE double Temp; rc = CSV_GetIntTemp(Temp); // use temperature information TPS1100 - Version 1.05 11-11...
  • Page 130: Controller Task - Ctl

    Controller Task - CTL 12 C - CTL ONTROLLER This chapter describes one RPC only, which shows how often the TPS1100 instrument has been switched on and how often the instrument fell asleep. 12.1 FUNCTIONS 12.1.1 CTL_GetUpCounter - Get Up Counter CTL_GetUp Coun ter ............................................................................................................................................................................................
  • Page 131 RetCode = CTL_GetUpCounter(nPowerOn, nWakeUp); if (RetCode != RC_OK) // handle error if (nPowerOn > 0) // instrument has been switched off in between if (nWakeUp > 0) // instrument has been fallen asleep in between TPS1100 - Version 1.05 12-2...
  • Page 132: Electronic Distance Measurement - Edm

    Light, make sure these devices are available. If not, these functions returns error messages. 13.2 CONSTANTS AND TYPES On/off switch enum ON_OFF_TYPE // on/off switch type OFF = 0, Intensity of Electronic Guidelight typedef enum EDM_EGLINTENSITY_TYPE EDM_EGLINTEN_OFF = 0, EDM_EGLINTEN_LOW = 1, EDM_EGLINTEN_MID = 2, EDM_EGLINTEN_HIGH TPS1100 - Version 1.05 13-1...
  • Page 133: Functions

    EDM occurred EDM_COMERR error on communication with EDM RC_TIME_OUT process time out RC_ABORT function interrupted RC_SYSBUSY EDM already busy RC_IVPARAM parameter value must be RC_UNDEFINED instrument name could not be read See Also TPS1100 - Version 1.05 13-2...
  • Page 134 RC_ABORT: printf("Function aborted!"); break; case RC_UNDEFINED: printf("Instrument name is not set!"); printf("Fatal error: call service!"); break; case RC_SYSBUSY: printf("EDM is already busy!"); break; case RC_IVPARAM: printf("Parameter of EDM_Laserpointer must be of ON_OFF_TYPE!"); break; TPS1100 - Version 1.05 13-3...
  • Page 135 The Electronic Guide Light must be implemented in the theodolite. Parameters eBrightness EDM_EGLINTEN_OFF EDM_EGLINTEN_LOW EDM_EGLINTEN_MID EDM_EGLINTEN_HIGH Return Codes RC_OK value of the Electronic Guide Light intensity returned EDM_DEV_NOT_ Electronic Guide Light not INSTALLED implemented See Also EDM_ SetEglIntensity () Example EDM_SetEglIntensity TPS1100 - Version 1.05 13-4...
  • Page 136 Electronic Guide Light not INSTALLED implemented See Also EDM_GetEglIntensity () Example RC-TYPE rc; EDM_EGLINTENSITY_TYPE eIntensity, eNewIntensity; // Get actual EGL intensity rc = EDM_GetEglIntensity(eIntensity); if (rc == RC_OK) // switch EGL intensity one level up switch (eIntensity) TPS1100 - Version 1.05 13-5...
  • Page 137 = EDM_EGLINTENSITY_LOW; break; case EDM_EGLINTENSITY_LOW: eIntensityNew = EDM_EGLINTENSITY_MID; break; case EDM_EGLINTENSITY_MID: eIntensityNew = EDM_EGLINTENSITY_HIGH;break; case EDM_EGLINTENSITY_HIGH: break; // Allready highest intensity default: eIntensityNew = EDM_EGLINTENSITY_LOW; //Set new EGL intensity rc = SetEglIntensity(eIntensityNew); // Handle errors TPS1100 - Version 1.05 13-6...
  • Page 138: Motorisation - Mot

    // locked in MOT_LOCKED_IN = 1, // prediction mode MOT_PREDICTION = 2 Controller Stop Mode enum MOT_STOPMODE // slow down with current acceleration MOT_NORMAL = 0, // slow down by switch off power supply MOT_SHUTDOWN = 1 TPS1100 - Version 1.05 14-1...
  • Page 139: Functions

    Number of axis const short MOT_AXES = 2; 14.3 FUNCTIONS 14.3.1 MOT_ReadLockStatus - Return condition of LockIn control MOT_ReadLoc kStatus ............................................................................................................................................................................................6021 6021 ....................................................MOT_ReadLoc kStatus C-Declaration MOT_ReadLockStatus(MOT_LOCK_STATUS &Status) VB-Declaration VB_MOT_ReadLockStatus(Status As Long) ASCII-Request %R1Q,6021: ASCII-Response %R1P,0,0:RC,Status[long] TPS1100 - Version 1.05 14-2...
  • Page 140 14.3.2 MOT_StartController - Start motor controller MOT_StartCon troller ............................................................................................................................................................................................6001 6001 ....................................................MOT_StartCon troller C-Declaration MOT_StartController(MOT_MODE ControlMode) VB-Declaration VB_MOT_StartController(ControlMode As Long) ASCII-Request %R1Q,6001:ControlMode[long] ASCII-Response %R1P,0,0:RC Remarks This command is used to enable remote or user interaction to the motor controller. TPS1100 - Version 1.05 14-3...
  • Page 141 6002 ....................................................MOT_Stop Controller C-Declaration MOT_StopController(MOT_STOPMODE Mode) VB-Declaration VB_MOT_StopController(Mode As Long) ASCII-Request %R1Q,6002:Mode[long] ASCII-Response %R1P,0,0:RC Remarks This command is used to stop movement and to stop the motor controller operation. Parameters Mode Stop mode Return-Codes RC_OK Execution successful. TPS1100 - Version 1.05 14-4...
  • Page 142 The maximum speed is +/- 0.79 rad/s each. Return-Codes RC_OK Execution successful RC_IVPARAM and/or RefOmega.adValue[HZ] values are not within RefOmega.adValue[V] the boundaries. MOT_RC_NOT_CONFIG System is not in state MOT_CONFIG (e.g. missing ‘start MOT_BUSY_OPEN_END controller’). TPS1100 - Version 1.05 14-5...
  • Page 143 // insert here a time delay or a wait for user // action; the movement stops by calling // MOT_StopController // stop controller and movements abruptly rc = MOT_StopController(MOT_SHUTDOWN); // restart controller with default setting rc = MOT_StartController(MOT_MANUPOS); if (rc != RC_OK) // handle error TPS1100 - Version 1.05 14-6...
  • Page 144: Supervisor - Sup

    AUTO_POWER_OFF // activate shut down mechanism System Time typedef long SYSTIME; // [ms] 15.2 FUNCTIONS 15.2.1 SUP_GetConfig - Get power management configuration status SUP_GetConfig ..............................................................................................................................................................................................14001 14001 ....................................................SUP_GetConfig C-Declaration SUP_GetConfig(ON_OFF_TYPE &LowTempOnOff, SUP_AUTO_POWER &AutoPower, SYSTIME &Timeout) TPS1100 - Version 1.05 15-1...
  • Page 145 AutoPower (press a key, turn the device or communication via GeoCOM) occurs. Return-Codes RC_OK Execution always successful. See Also SUP_SetConfig SUP_SwitchLowTempControl Example SUP_SetConfig TPS1100 - Version 1.05 15-2...
  • Page 146 AutoPower (press a key, turn the device or communication via GeoCOM) occurs. The default value for is 900000ms = Timeout 15 Min. Return-Codes RC_OK Execution always successful. See Also SUP_GetConfig TPS1100 - Version 1.05 15-3...
  • Page 147 ASCII-Response %R1P,0,0:RC Remarks Activate ( ) respectively deactivate ( ) the low temperature control. Parameters LowTempOnOff Switch for the low temperature control. Per defaults the device automatically turns off when internal temperature fall short of TPS1100 - Version 1.05 15-4...
  • Page 148 GeoCOM Reference Manual Supervisor - SUP Return-Codes RC_OK Execution always successful. See Also SUP_GetConfig SUP_SetConfig Example RC_TYPE // deactivate the low temperature control rc = SUP_SwitchLowTempControl(OFF) TPS1100 - Version 1.05 15-5...
  • Page 149: Theodolite Measurement And Calculation - Tmc

    ALCULATION This module is the central measurement, calculation and geodetic control module of the TPS1100 instrument family. All sensors (angle, distance and compensator) deliver their respective data to this module. All sensor information is used to continuously calculate corrected or uncorrected values for angles, distance and position co-ordinates.
  • Page 150: Usage

    (see ). The return code of the measurement TMC_SetInclineSwitch functions holds information about the quality of the result. E.g. it is reported, if the compensation of inclination could not be done. TPS1100 - Version 1.05 16-2...
  • Page 151: Constants And Types

    16.2 CONSTANTS AND TYPES On / Off switches enum ON_OFF_TYPE // on/off switch type = 0, // Switch is off // Switch is on TPS1100 - Version 1.05 16-3...
  • Page 152 = 8, // Reflectorless repeated measurement EDM_CONT_REFLESS = 9, // Fast repeated measurement EDM_CONT_FAST = 10,// Standard average measurement EDM_AVERAGE_IR = 11,// Short range average measurement EDM_AVERAGE_SR = 12 // Long range average measurent EDM_AVERAGE_LR TPS1100 - Version 1.05 16-4...
  • Page 153 // Corresponding inclination TMC_INCLINE Incline; // Face position of telescope TMC_FACE eFace; Offset Values for Correction struct TMC_OFFSETDIST { double dLengthVal; // Aim offset length // Aim offset cross double dCrossVal; double dHeightVal; // Aim offset height TPS1100 - Version 1.05 16-5...
  • Page 154 Reflector Height struct TMC_HEIGHT { // Reflector height double dHr; Atmospheric Correction Data struct TMC_ATMOS_TEMPERATURE { // Wave length of the EDM transmitter double dLambda; // Atmospheric pressure double dPressure; dDryTemperature; // Dry temperature double TPS1100 - Version 1.05 16-6...
  • Page 155: Measurement Functions

    ON_OFF_TYPE eStandAxisCorr; // Collimation error corr. ON_OFF_TYPE eCollimationCorr; // Tilting axis corr. ON_OFF_TYPE eTiltAxisCorr; 16.3 MEASUREMENT FUNCTIONS 16.3.1 TMC_GetCoordinate - Gets the coordinates of a measured point TMC_GetCoordinate ............................................................................................................................................................................................2082 2082 ....................................................TMC_GetCoordinate C-Declaration TMC_GetCoordinate(SYSTIME WaitTime, TPS1100 - Version 1.05 16-7...
  • Page 156 Co-ordinates are available. TMC_NO_FULL_CORRECTION The results are not corrected by all active sensors. Co-ordinates are available. In order to secure witch correction is missing use the both functions TMC_IfDataAzeCorrError TMC_IfDataIncCorrError TPS1100 - Version 1.05 16-8...
  • Page 157 At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_IfDataAzeCorrError TMC_IfDataIncCorrError Example RC_TYPE Result; TMC_COORDINATE Coordinate; TPS1100 - Version 1.05 16-9...
  • Page 158 16.3.2 TMC_GetSimpleMea - Returns angle and distance measurement TMC_GetSimpleMea ............................................................................................................................................................................................2108 2108 ....................................................TMC_GetSimpleMea C-Declaration TMC_GetSimpleMea(SYSTIME WaitTime, TMC_HZ_V_ANG &OnlyAngle, double &SlopeDistance, TMC_INCLINE_PRG Mode) VB-Declaration VB_TMC_GetSimpleMea(ByVal WaitTime As Long, OnlyAngle As TMC_HZ_V_ANG, SlopeDistance As Double, ByVal Mode As Long) ASCII-Request %R1Q,2108:WaitTime[long],Mode[long] ASCII-Response %R1P,0,0:RC,Hz[double],V[double],SlopeDistance[double] TPS1100 - Version 1.05 16-10...
  • Page 159 Angle and distance data are available. You can a forced incline measurement perform or switch off the incline. This message is to be considers as info. TPS1100 - Version 1.05 16-11...
  • Page 160 TMC resource is locked respectively TMC task is busy. Distance and angle data are not available. Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 Example RC_TYPE TMC_HZ_V_ANG OnlyAngle; TPS1100 - Version 1.05 16-12...
  • Page 161 AccuracyIncline[double],InclineTime[long],FaceDef[long] Remarks This function carries out an angle measurement and, in dependence of configuration, inclination measurement and returns the results. As shown the result is very comprehensive. For simple angle measurements use instead. TMC_GetAngle5 TMC_GetSimpleMea TPS1100 - Version 1.05 16-13...
  • Page 162 At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy. Angle data are not available. Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 TMC_GetSimpleMea TPS1100 - Version 1.05 16-14...
  • Page 163 Inclination sensor measurement mode. Return Codes RC_OK Execution successful. TMC_NO_FULL_CORRECTION The results are not corrected by all active sensors. Angle data are available. In order to secure witch correction is missing use the both functions TMC_IfDataAzeCorrError TPS1100 - Version 1.05 16-15...
  • Page 164 Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure TMC_GetAngle5 TMC_GetSimpleMea Example RC_TYPE Result; TMC_ANGLE Angle; BOOLE bExit, bAzeCorrError, bIncCorrError; short nCnt; nCnt=0; bExit=TRUE; // Gets the whole angle data Result=TMC_GetAngle(Angle, TMC_AUTO_INC); TPS1100 - Version 1.05 16-16...
  • Page 165 RC_ABORT: case RC_SHUT_DOWN: default: break; }// end switch nCnt++; }while(!bExit && nCnt<3); 16.3.5 TMC_QuickDist - Returns slope-distance and hz-,v-angle TMC_Qu ic kDist..............................................................................................................................................................................................2117 2117 ....................................................TMC_Qu ic kDist C-Declaration TMC_QuickDist( TMC_HZ_V_ANG &OnlyAngle, double &dSlopeDistance) TPS1100 - Version 1.05 16-17...
  • Page 166 (For the forced incline measurement, the instrument must be in stable state for more than 3sec.). Parameters OnlyAngle measured Hz- and V- angle dSlopeDistance measured slope-distance Return-Codes RC_OK Measurement ok. Angle and distance data are available. TPS1100 - Version 1.05 16-18...
  • Page 167 This message is to be considers as info. TMC_DIST_ERROR Because of missing target point no distance data are available, but the angle data are valid respectively available. Aim target point and try it again. TMC_DIST_PPM No distance measurement respectively no distance TPS1100 - Version 1.05 16-19...
  • Page 168 TMC_GetAngSwitch(SwCorr); SwCorr.eInclineCorr=ON; // measure rate will be SwCorr.eStandAxisCorr=ON; // reduced if angle and SwCorr.eCollimationCorr=ON;// incline correction are SwCorr.eTiltAxisCorr=ON; // activated TMC_DoMeasure(TMC_CLEAR); // clear distance first TMC_SetAngSwitch(SwCorr); // before you can set the TPS1100 - Version 1.05 16-20...
  • Page 169 HzVAng.dHz); if(dhz_angle_diff<MAX_DIFFERENCE) {// instrument is in static period CSV_GetDateTime(Datime); dact_time=Datime.Time.Minute*60+ Datime.Time.Second; if(dact_time-dstart_time > STATIC_TIME) {// static mode exceeding 3-4 sec TMC_GetAngle(TMC_MEA_INC, AngleDummy); TMC_GetAngle(TMC_MEA_INC, AngleDummy); else {// instrument is not in static period CSV_GetDateTime(Datime); dstart_time=Datime.Time.Minute*60+ TPS1100 - Version 1.05 16-21...
  • Page 170: Measurement Control Functions

    16.4 MEASUREMENT CONTROL FUNCTIONS 16.4.1 TMC_DoMeasure - Carries out a distance measurement TMC_Do Measure ............................................................................................................................................................................................... 2008 2008 ....................................................TMC_Do Measure C-Declaration TMC_DoMeasure(TMC_MEASURE_PRG Command, TMC_INCLINE_PRG Mode) VB-Declaration VB_TMC_DoMeasure(ByVal Command As Long, ByVal Mode As Long) ASCII-Request %R1Q,2008:Command[long],Mode[long] TPS1100 - Version 1.05 16-22...
  • Page 171 Execution successful. See Also TMC_SetEdmMode TMC_GetCoordinate TMC_GetSimpleMea TMC_GetAngle1 TMC_GetAngle5 Example RC_TYPE Result; short nCnt; // set average mode Result=TMC_SetEdmMode(EDM_CONT_EXACT); // perform a single distance measurement Result=TMC_DoMeasure(TMC_DEF_DIST); nCnt=0; while(nCnt<100) {// wait on the distance data max. 100x100ms TPS1100 - Version 1.05 16-23...
  • Page 172 After the function call the previous measured distance is cleared. Parameters SlopeDistance Slope distance HgtOffset Height offset Mode Inclination sensor measurement mode. Return Codes RC_OK Execution successful. TPS1100 - Version 1.05 16-24...
  • Page 173 Repeat measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. RC_IVPARAM Invalid parameter See Also TMC_IfDataAzeCorrError TMC_IfDataIncCorrError Example RC_TYPE TMC_COORDINATE Coordinate rc = VB_TMC_SetHandDist(10, 1, TMC_AUTO_INC) if (rc == RC_OK) // calculate coordinates TPS1100 - Version 1.05 16-25...
  • Page 174: Data Setup Functions

    This function returns the current reflector height. Parameters Height current reflector height Return Codes RC_OK Execution always successful. See Also TMC_SetHeight Example RC_TYPE TMC_HEIGHT Height, NewHeight; // reset reflector height to 0 // if it is not already TPS1100 - Version 1.05 16-26...
  • Page 175 Parameters Height new reflector height Return Codes RC_OK Execution successful (new height is set). TMC_BUSY TMC resource is locked respectively TMC task is busy. The reflector height is not set. Repeat measurement. See Also TMC_GetHeight TPS1100 - Version 1.05 16-27...
  • Page 176 Atmospheric Correction Data Return Codes RC_OK Execution always successful. See Also TMC_SetAtmCorr Example see TMC_SetAtmCorr 16.5.4 TMC_SetAtmCorr - Set atmospheric correction parameters TMC_ SetAtmCorr .............................................................................................................................................................................................. 2028 2028 ....................................................TMC_ SetAtmCorr C-Declaration TMC_SetAtmCorr (TMC_ATMOS_TEMPERATURE AtmTemperature) VB-Declaration VB_TMC_SetAtmCorr TPS1100 - Version 1.05 16-28...
  • Page 177 // set new wet and dry temperature AtmCorr.dDryTemperature=60; AtmCorr.dWetTemperature=80; TMC_SetAtmCorr(AtmCorr); 16.5.5 TMC_SetOrientation - Orients the theodolite in Hz direction TMC_ SetOrientation ............................................................................................................................................................................................2113 2113 ....................................................TMC_ SetOrientation C-Declaration TMC_SetOrientation(double HzOrientation) VB-Declaration VB_TMC_SetOrientation(ByVal HzOrientation As Double) ASCII-Request %R1Q,2113:HzOrientation[double] ASCII-Response %R1P,0,0:RC TPS1100 - Version 1.05 16-29...
  • Page 178 Problems with angle res. incline sensor. A valid angle could not be measured. The orientation is not set. At repeated occur call service. TMC_BUSY TMC resource is locked respectively TMC task is busy or a distance is existing. TPS1100 - Version 1.05 16-30...
  • Page 179 TMC_GetPrismCorr ............................................................................................................................................................................................2023 2023 ....................................................TMC_GetPrismCorr C-Declaration TMC_GetPrismCorr(double &PrismCorr) VB-Declaration VB_TMC_GetPrismCorr(PrismCorr As Double) ASCII-Request %R1Q,2023: ASCII-Response %R1P,0,0:RC,PrismCorr[double] Remarks This function is used to get the prism constant. Parameters PrismCorr Prism constant [mm] Return Codes RC_OK Execution always successful. TPS1100 - Version 1.05 16-31...
  • Page 180 TMC_ SetPrismCorr ............................................................................................................................................................................................2024 2024 ....................................................TMC_ SetPrismCorr C-Declaration TMC_SetPrismCorr(double PrismCorr) VB-Declaration VB_TMC_SetPrismCorr(ByVal PrismCorr As Double) ASCII-Request %R1Q,2024:PrismCorr[double] ASCII-Response %R1P,0,0:RC Remarks This function is used to set the prism constant. The high-level function overwrites this setting. BAP_SetPrismType TPS1100 - Version 1.05 16-32...
  • Page 181 ASCII-Request %R1Q,2031: ASCII-Response %R1P,0,0:RC,RefOn[boolean],EarthRadius[double], RefractiveScale[double] Remarks This function is used to get the refraction distortion factor for correction of measured height difference. Parameters Refractive Refraction distortion Return Codes RC_OK Execution always successful. See Also TMC_SetRefractiveCorr TPS1100 - Version 1.05 16-33...
  • Page 182 TMC_SetRefractiveCorr(TMC_REFRACTION Refractive) VB-Declaration VB_TMC_SetRefractiveCorr (ByVal Refractive As TMC_REFRACTION) ASCII-Request %R1Q,2030: RefOn[boolean],EarthRadius[double], RefractiveScale[double] ASCII-Response %R1P,0,0:RC Remarks This function is used to set the refraction distortion factor for correction of measured height difference. Parameters Refractive Refraction distortion TPS1100 - Version 1.05 16-34...
  • Page 183 = 1 means method 1 (for Australia) Method = 2 means method 2 (for the rest of Method the world) Return Codes RC_OK Execution always successful. See Also TMC_SetRefractiveMethod Example const unsigned short RefractiveMethod = 1; TPS1100 - Version 1.05 16-35...
  • Page 184 %R1P,0,0:RC Remarks This function is used to set the refraction model. Parameters Method Refraction data: = 1 means method 1 (for Method Australia) = 2 means method 2 (for the rest Method of the world) TPS1100 - Version 1.05 16-36...
  • Page 185 This function is used to get the co-ordinates of the instrument station. Parameters Station Instrument station co-ordinates. Return Codes RC_OK Execution always successful. See Also TMC_SetStation Example RC_TYPE TMC_STATION Station, NullStation; NullStation.dE0 = 0; NullStation.dN0 = 0; TPS1100 - Version 1.05 16-37...
  • Page 186 VB_TMC_SetStation(ByVal Station As TMC_STATION) ASCII-Request %R1Q,2010:E0[double],N0[double],H0[double],Hi[double] ASCII-Response %R1P,0,0:RC Remarks This function is used to set the co-ordinates of the instrument station. Parameters Station Instrument station co-ordinates. Return Codes RC_OK Execution successful. TMC_BUSY TMC resource is locked respectively TPS1100 - Version 1.05 16-38...
  • Page 187: Information Functions

    (that means a measurement function was called before call, see example). Note that the instrument TMC_GetFace automatically turns into an inactive measurement state after a predefined timeout. Parameters Face Face position. Return Codes RC_OK Execution always successful. See Also AUT_ChangeFace TPS1100 - Version 1.05 16-39...
  • Page 188 ASCII-Request %R1Q,2022: ASCII-Response %R1P,0,0:RC,SignalIntensity[double],Time[long] Remarks This function returns information about the amplitude of the EDM signal. The function only can perform measuring if the signal measurement program is activated. Start the signal measurement program with TPS1100 - Version 1.05 16-40...
  • Page 189 The signal measurement program is not activated. No signal measurement possible. Activate signal measurement. RC_ABORT Measurement through customer aborted. RC_SHUT_DOWN System power off through customer. See Also TMC_DoMeasure Example RC_TYPE Result; TMC_SIGNAL Signal; TMC_DoMeasure(TMC_SIGNAL); Result=TMC_GetSignal(Signal); if(Result==RC_OK) }while(Result==RC_OK); TPS1100 - Version 1.05 16-41...
  • Page 190: Configuration Functions

    TMC_SetAngSwitch Example RC_TYPE TMC_ANG_SWITCH SwCorr; // get the switch state for the angular // correction rc = TMC_GetAngSwitch(SwCorr); if (SwCorr.eTiltAxisCorr == ON) // Tilting axis correction turned On else // Tilting axis correction turned Off TPS1100 - Version 1.05 16-42...
  • Page 191 TMC_DoMeasure(TMC_CLEAR, TMC_AUTO,INC); // deactivate the compensator // if it is not already rc = TMC_GetInclineSwitch(SwCorr); if (SwCorr == ON) rc = TMC_SetInclineSwitch(OFF); if (rc == RC_OK) // successfully deactvated else // set not successful (subsystem busy) TPS1100 - Version 1.05 16-43...
  • Page 192 The incline state is not changed. Clear distance and repeat measurement. See Also TMC_GetInclineSwitch Example see TMC_GetInclineSwitch 16.7.4 TMC_GetEdmMode - Get the EDM measurement mode TMC_GetE dmMode ............................................................................................................................................................................................2021 2021 ....................................................TMC_GetE dmMode C-Declaration TMC_GetEdmMode(EDM_MODE &Mode) TPS1100 - Version 1.05 16-44...
  • Page 193 // if it is in any repeated mode rc = TMC_GetEdmMode(Mode); switch (Mode) case (EDM_CONT_STANDARD): case (EDM_CONT_DYNAMIC): case (EDM_CONT_FAST): rc = TMC_SetEdmMode(EDM_SINGLE_STANDARD); if (rc == RC_OK) // set to single mode successful else // set not successful (subsystem busy) TPS1100 - Version 1.05 16-45...
  • Page 194 The EDM mode is not set. Repeat measurement. See Also TMC_GetEdmMode TMC_DoMeasure Example TMC_GetEdmMode 16.7.6 TMC_GetSimpleCoord - Get cartesian coordinates TMC_GetSimpleCoord ............................................................................................................................................................................................2116 2116 ....................................................TMC_GetSimpleCoord C-Declaration TMC_GetSimpleCoord( SYSTIME WaitTime, double &dCoordE, double& dCoordN, double& dCoordH, TMC_INCLINE_PRG eProg) TPS1100 - Version 1.05 16-46...
  • Page 195 Note: If you need a high measure rate and the station got a high stability on tilting use this program. TMC_AUTO_INC the system decides whether the incline must be calculated or measured. TPS1100 - Version 1.05 16-47...
  • Page 196 TMC resource is locked respectively TMC task is busy, co-ordinates are not valid and set to 0. Repeat measurement. TMC_ANGLE_ERROR Problems with angle res. incline sensor. At repeated occur call service. RC_ABORT Measurement through customer aborted. TPS1100 - Version 1.05 16-48...
  • Page 197 // distance must be // cleared TMC_DoMeasure(TMC_RTRK_DIST);// execute rapid // tracking // measurement WaitTime=500;// set max. wait time 500 [ms] eProg=TMC_AUTO_INC;// set automatically incline prgm bExit=FALSE; Result=TMC_GetSimpleCoord(WaitTime, dCoordE, dCoordN, dCoordH,eProg); switch(Result) case RC_OK: case TMC_NO_FULL_CORRECTION: case TMC_ACCURACY_GUARANTEE: TPS1100 - Version 1.05 16-49...
  • Page 198 ATR included or not. Parameters bAtrCorrectionError Flag, if ATR correction error occurred or not : no error occurred FALSE last data record not TRUE TPS1100 - Version 1.05 16-50...
  • Page 199 // incline correction case RC_OK: case TMC_ACCURACY_GUARANTEE: // in this cases are the coordinates // available break; default: // in all other cases are the coordinates not // valid and set to 0 // further errorhandling TPS1100 - Version 1.05 16-51...
  • Page 200 A error information can only occur if the incline sensor is active. Parameters bIncCorrectionError Flag, if incline correction error occurred or not : no error occurred FALSE last data record not TRUE corrected with the incline-correction Return-Codes RC_OK always See Also TMC_IfDataAzeCorrError TPS1100 - Version 1.05 16-52...
  • Page 201 TMC_DoMeasure(TMC_CLEAR,..) Parameters Switch Angle measurement corrections Return-Code RC_OK Corrections are set TMC_BUSY TMC resource is locked respectively TMC task is busy or a distance is existing. Clear distance and try it again. TPS1100 - Version 1.05 16-53...
  • Page 202 This function retrieves the correction factors that are used for slope distance measurement corrections. Parameters dPpmCorr General correction factor. dPrismCorr The correction factor of the prism. Return Codes RC_OK Execution successful. See Also TMC_GetPrismCorr, TMC_SetPrismCorr. Example TPS1100 - Version 1.05 16-54...
  • Page 203: Wi - Registration - Wir

    C-Declaration WIR_GetRecFormat(WIR_RECFORMAT &RecFormat ) VB-Declaration VB_WIR_GetRecFormat( RecFormat As Integer ) ASCII-Request %R1Q,8011: ASCII-Response %R1P,0,0:RC, RecFormat[short] Remarks This function retrieves which recording format is in use. Parameters RecFormat WIR_RECFORMAT_GSI WIR_RECFORMAT_GSI16 Return Codes RC_OK On successful termination. TPS1100 - Version 1.05 17-1...
  • Page 204 Return Codes RC_OK On successful termination. See Also WIR_GetRecFormat Example // if in old GSI format then switch to new format RetCode = WIR_GetRecFormat(Format); if (Format == WIR_RECFORMAT_GSI) // switch to GSI16 format RetCode = WIR_SetRecFormat(WIR_RECFORMAT_GSI16); TPS1100 - Version 1.05 17-2...
  • Page 205: Porting A Tps1000 Application

    TPS1000 theodolites. To take care of the new functionality, which has been changed or removed in the implementation of TPS1100 firmware, a few changes in GeoCOM for TPS1100 theodolites were necessary. This chapter contains all RPCs and data types, which has changed in GeoCOM. It should help the developer to port a GeoCOM client application for TPS1000 theodolite series onto the new platform.
  • Page 206: Data Types And Constants Changes

    GeoCOM Reference Manual Porting a TPS1000 Application TPS1000 GeoCOM RPC: Changes in TPS1100 GeoCOM: EDM_GetTrkLightBrightness Replaced by: EDM_GetEGLIntensity EDM_GetTrkLightSwitch EDM_On Deleted EDM_SetBumerang Deleted EDM_SetTrkLightBrightness Replaced by: EDM_SetEGLIntensity EDM_SetTrkLightSwitch 18.1.4 Theodolite Measurement and Calculation - TMC TPS1000 GeoCOM RPC: Changes in TPS1100 GeoCOM:...
  • Page 207: New Returncodes

    GeoCOM Reference Manual Porting a TPS1000 Application 18.3 NEW RETURNCODES The definitions of the returncodes have been coupled totally to the definitions of the TPS1100 firmware. Please refer to Appendix A for a detailed listing. TPS1100 - Version 1.05 18-3...
  • Page 208: Geocom Releases

    There are a few RPC’s replaces with newer functions: Old function New function AUT_GetAtrStatus AUS_GetUserAtrState AUT_GetAtrStatus AUS_SetUserAtrState AUT_GetLockStatus AUS_GetUserLockState AUT_SetLockStatus AUS_SetUserLockState The older RPC’s are still working, but should not be used for new implementations. 19.1.2 New Functions AUT_GetSearchArea AUT_GetUserSpiral AUT_SetSearchArea AUT_SetUserSpiral BAP_SearchTarget TPS1100 - Version 1.05 19-4...
  • Page 209: Release 1.05

    Old function New function CSV_GetVBat CSV_CheckPower The older RPC is still working, but should not be used for new implementations. 19.2.2 New Constants TPS_DEVICE_RL_EXT 19.2.3 New Functions AUS_GetRcsSearchSwitch, Aus_SwitchRcsSearch BAP_GetTargetType, BAP_SetTargetType BAP_GetPrismType, BAP_SetPrismType BAP_GetPrismDef, BAP_SetPrismDef TPS1100 - Version 1.05 19-5...
  • Page 210: Appendix

    The list described here is organised in subsystem related categories. The describes the constant as it is defined for the TPS1100 series RetCodeName instruments. Additionally to find an error code by number they are given too.
  • Page 211 ANG_PIX_CTRL_ERR 0x113 picture height out of range ANG_MAX_POS_SKIP 0x114 positive exposure dynamic overflow ANG_MAX_NEG_SKIP 0x115 negative exposure dynamic overflow ANG_EXP_LIMIT 0x116 exposure time overflow ANG_UNDER_EXPOSURE 0x117 picture under-exposured ANG_OVER_EXPOSURE 0x118 picture over-exposured TPS1100 - Version 1.05...
  • Page 212 No Spot detected in Hz-direction. ATA_RC_V_FAIL 0x210 No Spot detected in V-direction. ATA_RC_HZ_STRANGE_L 0x211 Strange light in Hz-direction. ATA_RC_V_STRANGE_L 0x212 Strange light in V-direction. ATA_SLDR_TRANSFER_ 0x213 On multiple PENDING ATA_SLDR_OpenTransfer ATA_SLDR_TRANSFER_ 0x214 No ATA_SLDR_OpenTransfer ILLEGAL happened. TPS1100 - Version 1.05...
  • Page 213 0x30C Communication ok, but an error reported from the EDM sensor. EDM_MISSING_SRVPWD 0x30D No service password is set. EDM_INVALID_ANSWER 0x30E Communication ok, but an unexpected answer received. EDM_SEND_ERR 0x30F Data send error, sending buffer is full. TPS1100 - Version 1.05...
  • Page 214 EDM_UNKNOW_ERR 0x328 Undocumented error from the EDM sensor, should not occur. 1024 0x400 RetCodeName Value Hex Description GM_WRONG_AREA_DEF 1025 0x401 Wrong Area Definition. GM_IDENTICAL_PTS 1026 0x402 Identical Points. GM_PTS_IN_LINE 1027 0x403 Points on one line. TPS1100 - Version 1.05...
  • Page 215 GM2: same tie points. TIE_POINTS GM_SETUP_ 1046 0x416 GM2: sta/tie point same. EQUALS_TIE_POINT 1280 0x500 RetCodeName Value Hex Description TMC_NO_FULL_ 1283 0x503 Warning: measurement without full CORRECTION correction TMC_ACCURACY_ 1284 0x504 Info : accuracy can not be GUARANTEE guarantee TPS1100 - Version 1.05...
  • Page 216 Motorization not ready MOT_RC_BUSY 1793 0x701 Motorization is handling another task MOT_RC_NOT_OCONST 1794 0x702 Not in velocity mode MOT_RC_NOT_CONFIG 1795 0x703 Motorization is in the wrong mode or busy MOT_RC_NOT_POSIT 1796 0x704 Not in posit mode TPS1100 - Version 1.05...
  • Page 217 0x80F Loadable object is unknown LDR_WRONG_SECKEY 2064 0x810 Wrong security key LDR_ILLEGAL_LOADADR 2065 0x811 Illegal application memory address LDR_IEEE_ERROR 2066 0x812 Loadable object file is not IEEE format LDR_WRONG_APPL_ 2067 0x813 Bad application version number VERSION TPS1100 - Version 1.05...
  • Page 218 TXT_UNDEF_TOKEN 2561 0xA01 text not found, token is undefined TXT_UNDEF_LANG 2562 0xA02 language is not defined TXT_TOOMANY_LANG 2563 0xA03 maximal number of languages reached TXT_GROUP_OCC 2564 0xA04 desired text group is already in use TPS1100 - Version 1.05...
  • Page 219 Illegal number of fix dialog lines MMI_ILLEGAL_MB_TYPE 2833 0xB11 Illegal message box type MMI_ILLEGAL_MENU_ID 2834 0xB12 Illegal menu ID MMI_ILLEGAL_ 2835 0xB13 Illegal menu item ID MENUITEM_ID MMI_ILLEGAL_NEXT_ID 2836 0xB14 Illegal next field ID MMI_ILLEGAL_TOPLINE 2837 0xB15 Illegal topline number TPS1100 - Version 1.05 A-10...
  • Page 220 Cannot decode arguments in server. DECODE_REQ RC_COM_PROC_ 3081 0xC09 Unknown RPC, procedure ID invalid. UNAVAIL RC_COM_CANT_ 3082 0xC0A Cannot encode results in server. ENCODE_REP RC_COM_SYSTEM_ERR 3083 0xC0B Unspecified generic system error. RC_COM_FAILED 3085 0xC0D Unspecified error. TPS1100 - Version 1.05 A-11...
  • Page 221 DPL_RC_EMPTY 3333 0xD05 databank is empty DPL_RC_BADATA 3334 0xD06 bad data detected DPL_RC_BADFIELD 3335 0xD07 bad field type DPL_RC_BADINDEX 3336 0xD08 bad index information DPL_RC_BADKEY 3337 0xD09 bad key type DPL_RC_BADMODE 3338 0xD0A bad mode TPS1100 - Version 1.05 A-12...
  • Page 222 RC_FIL_FILNAME_ 3845 0xF05 File name not found. NOT_FOUND RC_FIL_NO_MAKE_ 3880 0xF28 Cannot create directory. DIRECTORY RC_FIL_RENAME_ 3886 0xF2E Rename of file failed. FILE_FAILED RC_FIL_INVALID_PATH 3888 0xF30 Invalid path specified. RC_FIL_FILE_ 3898 0xF3A Cannot delete file. TPS1100 - Version 1.05 A-13...
  • Page 223 3974 0xF86 Medium is write protected. WRITE_PROTECTED RC_FIL_BATTERY_LOW 3975 0xF87 Medium backup battery is low. RC_FIL_BAD_FORMAT 3976 0xF88 Bad medium format. RC_FIL_UNSUPPORTED_ 3977 0xF89 Unsupported PC-Card detected. MEDIUM RC_FIL_RENAME_DIR_ 3978 0xF8A Directory exists already FAILED TPS1100 - Version 1.05 A-14...
  • Page 224 0x2203 Motorization error ERROR AUT_RC_INCACC 8708 0x2204 Position not exactly reached AUT_RC_DEV_ERROR 8709 0x2205 Deviation measurement error AUT_RC_NO_TARGET 8710 0x2206 No target detected AUT_RC_MULTIPLE_ 8711 0x2207 Multiple target detected TARGETS AUT_RC_BAD_ 8712 0x2208 Bad environment conditions TPS1100 - Version 1.05 A-15...
  • Page 225 9729 0x2601 Shortcut or code unknown. UNKNOWN COD_RC_NOT_ 9730 0x2602 Codelist selection wasn't possible. SELECTED COD_RC_MANDATORY_ 9731 0x2603 Mandatory field has no valid value. FAIL COD_RC_NO_MORE_ 9732 0x2604 maximal number of attr. are defined. ATTRIB TPS1100 - Version 1.05 A-16...
  • Page 226 10246 0x2806 decode error IOS_CHKSUM_ERROR 10247 0x2807 checksum error (lowest priority) IOS_COM_ERROR 10248 0x2808 general communication error IOS_FL_RD_ERROR 10280 0x2828 flash read error IOS_FL_WR_ERROR 10281 0x2829 flash write error IOS_FL_CL_ERROR 10282 0x282A flash erase error TPS1100 - Version 1.05 A-17...
  • Page 227 0x2913 RecMask-line not complete or missing CNF_RECMASK_SET 10516 0x2914 RecMask-set caused an error CNF_MEASDLGLIST_ 10517 0x2915 MeasDlgList-line not complete or FAIL missing CNF_MEASDLGLIST_SET 10518 0x2916 MeasDlgList-set caused an error CNF_APPL_OVERFLOW 10519 0x2917 Application table full TPS1100 - Version 1.05 A-18...
  • Page 228: B Hardware Interface

    GeoCOM Reference Manual Hardware interface ARDWARE INTERFACE SERIAL INTERFACE A RS-232 interface is used as a hardware link between the TPS1100 and an external computer. Signal paths Signal Ground Voltage levels Logical 0 +3V to +25V Logical 1 -3V to -25V...
  • Page 229 UART type. If you do not have a UART with built in buffers (16550 type), you may loose characters too. Appl 1N4148 or similar Monitor It may be helpful for debugging purposes to build up a special cable to monitor the data transfers. TPS1100 - Version 1.05...
  • Page 230: Provided Samples

    Terminal.exe and open the following window is displayed: geocom.trm Connect the TPS1100 instrument to the PC by using a standard GSI connection cable. Start the emulator. has been set up to the default parameters Geocom.trm of GeoCOM (19200 Baud, 8 bit, no parity, 1 stop bit). Be sure that the instrument and the terminal emulator use the same settings and switch the instrument to online mode.
  • Page 231: Program Frames

    TPS1100 system functions. \SAMPLES\VB\GCOM104.DLL Contains the implementation of GeoCOM. Finally connect the TPS1100 Theodolite with the preferred serial port on your personal computer and invoke the executable file. Press the button to select Setup the communication parameters (Serial Port, Baudrate, Protocol) and start the application with the button .
  • Page 232 Resource file 1 \SAMPLES\VC\RES\GEOCOM_SAMPLE.RC Resource file 2 \SAMPLES\VC\RES\GEOCOM_SAMPLE.ICO Icon file \SAMPLES\VC\GCOM104.DLL Contains the implementation of GeoCOM \SAMPLES\VC\Externals\GCOM104.LIB GeoCOM Library \SAMPLES\VC\Externals\COM_PUB.HPP Header file for GeoCOM Note: 16 bit GeoCOM version and sample programs are not supported any more. TPS1100 - Version 1.05...
  • Page 233: D List Of Rpc's

    AUT_MakePositioning.........9027 ......7-15 AUT_ReadTimeout ..........9012 ......7-13 AUT_ReadTol ............9008 ......7-10 AUT_Search ............9029 ......7-25 AUT_SetFineAdjustMode........9031 ......7-29 AUT_SetSearchArea ..........9043 ......7-32 AUT_SetTimeout ..........9011 ......7-14 AUT_SetTol ............9007 ......7-12 AUT_SetUserSpiral..........9041 ......7-33 BAP_GetMeasPrg ..........17018 .......8-8 BAP_GetPrismDef ..........17023 .......8-7 BAP_GetPrismType ..........17009 .......8-5 BAP_GetTargetType ..........17022 .......8-4 TPS1100 - Version 1.05...
  • Page 234 COM_GetDoublePrecision........108 ......5-5 COM_GetErrorText..........-........5-21 COM_GetSWVersion...........110 ......10-1 COM_GetTimeOut..........-........5-14 COM_GetTPSState ..........-........5-23 COM_GetWinSWVersion........-........5-22 COM_Init .............-........5-8 COM_Local............1 .......10-3 COM_NullProc.............0 .......10-6 COM_OpenConnection ........-........5-9 COM_SetBaudRate ..........-........5-13 COM_SetBinaryAvailable........114 ......10-8 COM_SetComFormat...........-........5-17 COM_SetConnDlgFlag ........-........5-19 COM_SetDoublePrecision ........107 ......5-7 COM_SetSendDelay ..........109 ......10-2 COM_SetTimeOut ..........-........5-15 COM_SwitchOffTPS..........112 ......10-5 COM_SwitchOnTPS ..........111 ......10-4 TPS1100 - Version 1.05...
  • Page 235 MOT_StartController ...........6001 ......14-3 MOT_StopController..........6002 ......14-4 SUP_GetConfig ............14001 .......15-1 SUP_SetConfig.............14002 .......15-3 SUP_SwitchLowTempControl ......14003 .......15-4 TMC_DoMeasure..........2008 ......16-22 TMC_GetAngle1 ..........2003 ......16-13 TMC_GetAngle5 ..........2107 ......16-15 TMC_GetAngSwitch..........2014 ......16-42 TMC_GetAtmCorr ..........2029 ......16-28 TMC_GetCoordinate ..........2082 ......16-7 TMC_GetEdmMode..........2021 ......16-44 TMC_GetFace ............2026 ......16-39 TMC_GetHeight...........2011 ......16-26 TPS1100 - Version 1.05...
  • Page 236: Numeric Order

    TMC_SetEdmMode ..........2020 ......16-46 TMC_SetHandDist ..........2019 ......16-24 TMC_SetHeight ...........2012 ......16-27 TMC_SetInclineSwitch ........2006 ......16-44 TMC_SetOrientation ..........2113 ......16-29 TMC_SetPrismCorr..........2024 ......16-32 TMC_SetRefractiveCorr ........2030 ......16-34 TMC_SetRefractiveMethod .........2090 ......16-36 TMC_SetStation ...........2010 ......16-38 WIR_GetRecFormat..........8011 ......17-1 WIR_SetRecFormat..........8012 ......17-2 NUMERIC ORDER Number Name Page ....COM_NullProc .............10-6 TPS1100 - Version 1.05...
  • Page 237 2016 ....TMC_SetAngSwitch .............16-53 2019 ....TMC_SetHandDist............16-24 2020 ....TMC_SetEdmMode ............16-46 2021 ....TMC_GetEdmMode............16-44 2022 ....TMC_GetSignal ............16-40 2023 ....TMC_GetPrismCorr............16-31 2024 ....TMC_SetPrismCorr ............16-32 2026 ....TMC_GetFace...............16-39 2028 ....TMC_SetAtmCorr............16-28 2029 ....TMC_GetAtmCorr ............16-28 2030 ....TMC_SetRefractiveCorr ..........16-34 TPS1100 - Version 1.05...
  • Page 238 6002 ....MOT_StopController ............14-4 6004 ....MOT_SetVelocity ............14-5 6021 ....MOT_ReadLockStatus..........14-2 8011 ....WIR_GetRecFormat............17-1 8012 ....WIR_SetRecFormat ............17-2 9007 ....AUT_SetTol..............7-12 9008 ....AUT_ReadTol...............7-10 9011 ....AUT_SetTimeout ............7-14 9012 ....AUT_ReadTimeout............7-13 9013 ....AUT_LockIn ..............7-30 9027 ....AUT_MakePositioning ..........7-15 TPS1100 - Version 1.05...
  • Page 239 17023 ....BAP_GetPrismDef ............8-7 17024 ....BAP_SetPrismDef............8-7 18005 ....AUS_SetUserAtrState...........6-2 18006 ....AUS_GetUserAtrState ..........6-1 18007 ....AUS_SetUserLockState ..........6-5 18008 ....AUS_GetUserLockState ..........6-3 18009 ....AUS_SwitchRcsSearch..........6-6 18010 ....AUS_GetRcsSearchSwitch ...........6-6 20000 ....IOS_BeepOff..............9-3 20001 ....IOS_BeepOn ..............9-2 TPS1100 - Version 1.05 D-10...
  • Page 240 GeoCOM Reference Manual List of RPC’s TPS1100 - Version 1.05 D-11...

Table of Contents