start of the application

first start

operating as OLE - automation server

OLE / ActiveX-interface WinTRAS

 

To start the WinTR-AS® application click „start“ – „programs“ – „WinTR-AS“ from the Windows start menu.
We suggest to create a shortcut on the windows desktop for the daily work with the program. Please refer to the Windows  manual to get the necessary information how to do this.

 

first start

WinTR-AS® for Windows XP/Vista/7 works with a dBase compatible database which contains all saved measured data or evaluation results.
The file types of the database are listed below:

*.dbf Dbase table
*.dbt temporary file which contains data in form
of BLOB streams (BLOB=Binary Large Object)
*.mdx  Index file

Additional every save action to the database will create a complete set of backup files of all database tables. These files are named corresponding to the original file name with the name extension „dat“ e.g.: Original file name: Kurven.dbf; Backup file name: Kurvendat.dbf
You are able to determine the destination path for the automatic backup.
After the installation of the application the destination path is the actual installation path. We recommend to create a new folder using the Windows Explorer and to change the backup path to this created folder. 
Do as follows:
  - Select  „Options – test-report-settings“ within WinTR-AS® menu.
  - Click to „path for auto-backup“ in the sub menu.
You will get a dialog window which allows you to set the destination path for the automatic backup function.
Make sure that the destination folder is selected by double-click!
The folder has to be shown opened (see illustration below!)
You should check these settings before you start working with the application.

 

operating as OLE - automation - server

The WinTR-AS® application provides OLE-automation services. It is possible to control the application using an OLE-Client-application which operates WinTR-AS® like a remote control. This technology can only work, if WinTR-AS® is registered as OLE-automation-server in the registry database of Windows. If you start WinTR-AS® for the first time the registration as OLE-server will be automatically done.
If it is necessary to remove these registry entries do as follows:
  - Select „Start“ – „Run“.
  - Click the „Browse...“ button in the run dialog.
  - Select the folder of the installation path of the WinTR-AS® application.
  - Select the file „WINTRAS.exe“ in this folder.
  - Click the „Open“ button
  - Add the expression „/unregserver“ to the entry in the run dialog.

The entry should finally look like this: „C:\Installation path\Wintras.exe“ /unregserver
(Installation path means the path you determined during installation of the application!)
This command line will unregister WinTR-A®S as OLE-automation-server, but normally it is not necessary to do this.
WARNING ! Don’t make manual changes in the registry of Windows ! If the registry will be destroyed, you have to reinstall Windows  and all your actual applications!

 

OLE / ActiveX-interface WinTRAS

Explain the functions with their names, input-parameters / output-paramters with Delphi-type, in brackets C-type ( similar parameters types are available in basic or other programming languages)

 

- variant IRemoteControl:: StartEvaluation ()

input                 nothing

output:              none

This function starts evaluation. All current activated channels for evaluation will be evaluated with there current paramters.

 

- variant IRemoteControl:: StartRecord ()

input               nothing

output:            none

 

This function starts a record (analogue to call of ALT-A directly in WinTRAS)
- variant IRemoteControl:: SetRecorderParameter(

const VARIANT&Channel,

const VARIANT&DividerRatio

const VARIANT&Range

const VARIANT&Offset

const VARIANT&TrigLevel

const VARIANT&TrigMode                                                     );

 

input               Channel : Byte (Short) channel to set parameters for

                        DividerRatio : Double divider-ratio

                        Range : Double amplifier-range

                        Offset : Double amplifier-offset

                        TrigLevel : Byte (Short) trigger-level

                        TrigMode : Byte (Short) trigger-mode

output:             none

 

- variant IRemoteControl:: InterruptRecord ()

input                nothing

output:             none

 

- variant IRemoteControl:: GetRecorderStatus ()

input                nothing

output:             Boolean (Bool) True (1), if digital recorder works in record mode

  False (0), if no record is currently working

 

- variant IRemoteControl:: GetDividerRatio (const VARIANT&Channel)

input                Channel : Byte (Short) channel

output:              Double, value for divider-ratio

 

- variant IRemoteControl:: GetRange (const VARIANT&Channel)

input                Channel : Byte (Short) channel

output:              Double, value for amplifier-range (usually  0..10V)


- variant IRemoteControl:: GetOffset (const VARIANT&Channel)

input                 Channel : Byte (Short) channel

output:              Byte (Short), value for amplifier-offset (usually 0..+/-100%)

 

- variant IRemoteControl:: GetTrigLevel (const VARIANT&Channel)

input                Channel : Byte (Short) channel

output:             Byte (Short), value for trigger-level (usually 0..+/-100%)

 

- variant IRemoteControl:: GetTrigMode (const VARIANT&Channel)

input                Channel : Byte (Short) channel

output:              Byte (Short), value for trigger-mode

 

Mode=0  trigger off

Mode=1  trigger dynamical positive

Mode=2  Trigger static positive

Mode=3  Trigger dynamical negative

Mode=4  Trigger static negative

 

- variant IRemoteControl:: GetEvaluationResults (const VARIANT&Channel)

input                Channel : Byte (Short) channel

output:             String (LPTSTR), evaluation results separated by semicolon („ ; “)

 

- variant IRemoteControl:: GetEvaluationStatus ()

input:              nothing

output:            Boolean (Bool), returns state of evaluation

            TRUE (1)  if evaluation still works

                        FALSE (0), if evaluation has finished


- variant IRemoteControl:: GetTestStepStatus ()

input                nothing

output:             Boolean (Bool), returns state of test-step

                        TRUE (1), if test-step still works

                        FALSE (0), if test-step has finished


- variant IRemoteControl:: InputExpected ()

input              keiner

output:           Boolean (Bool), returns program-state of WinTRAS. So you can determine if the    software waits for user-input

                       TRUE (1), if user-input would be necessary

                        FALSE (0), if program state is idle

 

- variant IRemoteControl:: GetApplication ()

input                keiner

output:              code of currently selected application in WinTRAS

 

applications-codes

 

standard-application                  1

recorder-calibration                    2

divider-calibration                      3

impulse test / transformer test   4

calibrator-calibration                  5

frequency-response analysis    6

 

- variant IRemoteControl:: SetTestsetup (const VARIANT&SetupName)

input                 SetupName : String (LPTSTR), name of test-setup to load from

output:              none

 

- variant IRemoteControl:: SaveWMFFile (const VARIANT&FileName)

input                 FileName : String (LPTSTR), name of WMF-file to save to

output:              none


These additional OLE/ActiveX functions were implemented to supply a extended control-set (transformer test) and for control of the tolerance volume method :

 

- variant IRemoteControl::SetApplication(const VARIANT& No)

input                 No:       Byte (Short), code of application to acitvate

output :             Boolean (Bool), all is o.k. = true (1)

 

This is the same function as “SetTestSetup” to manually select a BIL-file, the only difference is that this function will return the result of operation. This works in all applications, but it doesn’t secure that an additional BIL-File (*.TSF in transformer test application) for this test-setup will exist. You must secure this while checking of several files called „Name“ with different extensions („Name.ASW” and “Name.TSF”). But because if you will work with transformer test-application and create  a test-setup file, the software automatically creates a additional TSF-file. So in normal cases you can be sure that this file co-exists if the corresponding test-setup file exists.

 

- variant IRemoteControl:: SelectBILFile (const VARIANT&Name)

input                Name: String (LPTSTR) BIL-filename

output:              Bool, all is o.k. = true (1)

 

- variant IRemoteControl:: GetBILCount ()

input                nothing

output:              Byte (Short), count of %-values in current BIL-file

 

- variant IRemoteControl:: GetBILValue (const VARIANT&Position)

output:              Byte (Short), position as incremented number from 1 to BILCount

output:              Double,  actual BIL% value

 

- variant IRemoteControl:: StartBILRecord (const VARIANT&BilProzentValue)

input:                String, BIL-percent value (e.g. “30.0”)

                        String, polarity (“+”, “-“)

                        Byte, SaveCurve („0“ = automatical save off; „1“ = automatical save activated)

output:              Boolean (Bool),  all is o.k. true (1)

 

This function will start a full-automated record with usuage of BIL-settings in transfomer-test application. This corresponds to „F8“ directly in WinTRAS. You must be informed that this function will also automatically save the record into WinTRAS-internal database if „SaveCurve“ is selected. The user comment-input is deactivated in this case, automatical comment of software is activated !.

 

- variant IRemoteControl:: CopyToReferenceCh ()

input                 keiner

output:              Boolean (Bool),  all is o.k.

In this function there was done hard code-definition of channels. First all physical (analog) channels will be copied into reference channels (maximum 4 channels, e.g. 3 current and 1 voltage). The reference channels start at virtual channel no. 5 (and finish at channel “8”).

 

Because you can save records selectively, there is need to select / create projects from ActiveX-control.

- variant IRemoteControl:: CreateNewProject (const VARIANT&Name)

input                Name: String (LPTSTR) project-name

output:              Boolean (Bool), all is o.k. = true (1)

 

- variant IRemoteControl:: SelectProject (const VARIANT&Name)

input                Name: String (LPTSTR) project-name

output:              Boolean (Bool), all is o.k. = true (1)

 

- variant IRemoteControl:: GetActualProjectName()

input                 nothing

output:              String (LPTSR), name of actual selected project

 

- variant IRemoteControl:: SaveCurve()

input                 nothing

output:              Boolean (bool), all is o.k=true (1)

With this function you are able to save the current record manually. User comment input is deactivated, automatical comment is enabled.


Following functions work analogue to BIL-values

-          variant IRemoteControl::GetASWCount()

input                 keiner

output:              Byte  (Short), count of ASW-files in currently selected application

 

- variant IRemoteControl:: GetBILValue (const VARIANT&Position)

input:             Byte (Short), Position als laufende Nummer von 1 ... ASWCount

output:           percent value of maximum magnitude at “Position” from list (see in Transformer settings from “F12 - evaluation”

 

- variant IRemoteControl:: GetBILVoltage (const VARIANT&Kanal)

input:             Kanal : Byte (Short), channel from which BIL-value (maximum magnitude) should be read

output:           Double, former selected maximum value (100%) for choosen channel

 

-          variant IRemoteControl::GetTerminal()

input              nothing

output:           String  (LPSTR), text-value for current active terminal

 

- variant IRemoteControl:: SetTerminal (const VARIANT&Terminal)

input:              String(LPSTR), new text for actual terminal

output:            Boolean (Bool), all is o.k. = true (1)

 


functions for  usuage of tolerance volume method (TOLM)  

- variant IRemoteControl::GetTolmResults()

input                keiner

output:             Byte (Short),  0=all is o.k., other cases error code

 error code :              0 .. all is ok

                                   1 .. channel 1 out of tolerance bounds

                                   2 .. channel 2 out of tolerance bounds

                                   3 .. channel 1+2 out of tolerance bounds

 

This function starts TOLM-evaluation

Therefore following stepps should be taken :

-          in single-shot mode             : 1. shot; copy to reference; 2. shot, start TOLM

-          in automatic mode              : record reference impulse, copy to reference; start TOLM after each                                                     impulse

For TOLM-evaluation following channels are used as internal channels : Der First channel for tolerance volume methode is Ch“19”.

For each reference channel two auxiliary channels will be used (reference is taken in channel 5 with tolerance bounds in ch 19 (upper threshold) and ch 20 (lower threshold))

 

- variant IRemoteControl::SetToleranceLimits(

const VARIANT&Kanal,  

const VARIANT&UpperThreshold,

const VARIANT&LowerThreshold,

const VARIANT&Enable                           );

 input    Byte (Short) Kanal, channel which values should be applied to

                Double UpperThreshold, upper threshold value in percent

                Double LowerThreshold, lower threshold vaalue in percent

                Boolean (Bool) Enable, to activate the evaluation for this channel (active true = 1)  

output:    Boolean (Bool),  alles o.k. (true=1)