Tektronix TLA Programmatic Interface, Rev A Online Help

Deprecated
xx
TPI.COM
ZZZ
TLA Programmatic Interface
PrintedHelpDocument
www.tektronix.com
Deprecated
Copyright © Tektronix. All rights reserved. Licensed software products are owned by Tektronix or its subsidiaries or suppliers, and are protected by national copyright laws and international treaty provisions.
Tektronix products are covered by U.S. and foreign patents, issued and pending. Information in this publication supersedes that in all previously published material. Specications and price change privileges reserved.
TEKTRONIX and TEK are registered trademarks of Tektronix, Inc.
Contacting Tektronix
Tektronix, Inc. 14200 SW Karl Braun Drive P.O . Bo x 50 0 Beaverto USA
For product information, sales, service, and technical support:
n, OR 97077
In North America, call 1-800-833-9200. Worl d wide , vis i t www.tektronix.com to nd contacts in your area.
Deprecated
Table of Contents
What's New?.................................................................................................................................................. 7
Introduction................................................................................................................................................... 7
Setting up TPI ...............................................................................................................................................7
Running a client application on the TLA instrument .................................................................................. 8
Setting up TPI on the TLA instrument........................................................................................................ 8
Share-level access ................................................................................................................................... 9
User-level access................................................................................................................................... 10
Setting up a client machine that is running Microsoft Windows 2000/NT............................................... 11
Setting up share-level access for Microsoft Windows 2000/NT........................................................... 11
Setting up user-level access for Microsoft Windows 2000/NT ............................................................ 11
Setting up a client machine that is running Microsoft Windows 95 ......................................................... 12
Setting up share-level access for Microsoft Windows 95 ..................................................................... 12
Setting up user-level access for Microsoft Windows 95....................................................................... 13
Client machine running Microsoft Windows 98....................................................................................... 14
Share Level Access on Windows 98..................................................................................................... 14
User Level Access on Windows 98 ...................................................................................................... 15
Client instrument running on any other platform...................................................................................... 15
Connecting to the TLA server ................................................................................................................... 17
Disconnecting from the TLA server.......................................................................................................... 17
Programming examples.............................................................................................................................. 17
Example of a Microsoft Visual Basic client using dispatch interfaces ..................................................... 18
Example of a Microsoft Visual Basic client using vtable interfaces......................................................... 19
Error handling ............................................................................................................................................20
Server Message Boxes................................................................................................................................. 20
Slot numbers for expansion mainframes .................................................................................................. 20
Tips for improving LA module data transfer performance.................................................................... 20
Objects & Interfaces................................................................................................................................... 23
Objects and Interfaces................................................................................................................................ 25
Application Object.................................................................................................................................... 25
System Object........................................................................................................................................... 26
LAModule Object ..................................................................................................................................... 26
DSOModule Object..................................................................................................................................... 28
Methods by Alphabetical Listing............................................................................................................... 29
Methods by Alphabetical Listing............................................................................................................... 31
IApplication::GetSystem........................................................................................................................... 31
IApplication::ShowWindow ..................................................................................................................... 31
IDSOModule::DefineDataFormat............................................................................................................. 32
IDSOModule::Enabled .............................................................................................................................34
IDSOModule::ExportData ........................................................................................................................ 35
IDSOModule::GetBeginTime................................................................................................................... 36
IDSOModule::GetData ............................................................................................................................. 37
IDSOModule::GetDataOffset ...................................................................................................................39
IDSOModule::GetDataRange ................................................................................................................... 40
IDSOModule::GetDataSamplePeriod....................................................................................................... 41
IDSOModule::GetEndTime...................................................................................................................... 42
IDSOModule::GetNumSamples ...............................................................................................................43
IDSOModule::GetStartTime..................................................................................................................... 43
IDSOModule::GetTriggerTime ................................................................................................................ 44
IDSOModule::GetTriggerSample............................................................................................................. 45
IDSOModule::LoadModule...................................................................................................................... 46
IDSOModule::Name................................................................................................................................. 48
IDSOModule::SaveModule ......................................................................................................................49
3
Deprecated
ILAModule::DefineDataFormat ...............................................................................................................50
ILAModule::DeleteChannelGroup ...........................................................................................................52
ILAModule::Enabled ................................................................................................................................ 53
ILAModule::ExportData........................................................................................................................... 54
ILAModule::GetBeginTime .....................................................................................................................55
ILAModule::GetBytesPerSample ............................................................................................................. 57
ILAModule::GetChannelGroup................................................................................................................ 58
ILAModule::GetChannelName................................................................................................................. 59
ILAModule::GetCounterValue ................................................................................................................. 60
ILAModule::GetData................................................................................................................................ 61
ILAModule::GetEndTime......................................................................................................................... 63
ILAModule::GetGroupNames .................................................................................................................. 65
ILAModule::GetGroupSize ......................................................................................................................66
ILAModule::GetNumSamples.................................................................................................................. 67
ILAModule::GetStartTime ....................................................................................................................... 68
ILAModule::GetTimerValue .................................................................................................................... 69
ILAModule::GetTimestampMultiplier ..................................................................................................... 70
ILAModule::GetTriggerSample................................................................................................................ 70
ILAModule::GetTriggerTime ................................................................................................................... 72
ILAModule::LoadModule......................................................................................................................... 73
ILAModule::LoadTrigger......................................................................................................................... 74
ILAModule::MemoryDepth...................................................................................................................... 76
ILAModule::Name.................................................................................................................................... 78
ILAModule::SaveModule......................................................................................................................... 79
ILAModule::SetChannelGroup................................................................................................................. 81
ILAModule::SetChannelName ................................................................................................................. 83
ILAModule::SetEventValue ..................................................................................................................... 84
ILAModule::SetTriggerPosition ............................................................................................................... 86
ISystem::DefineRangeSymbolOptions ..................................................................................................... 87
ISystem::ExternalSignalIn ........................................................................................................................ 89
ISystem::ExternalSignalOut ..................................................................................................................... 90
ISystem::ExternalSignalOutLowTrue....................................................................................................... 92
ISystem::GetDiagCalStatus ......................................................................................................................93
ISystem::GetFirstModuleSlot ................................................................................................................... 94
ISystem::GetModuleByName................................................................................................................... 95
ISystem::GetModuleBySlot...................................................................................................................... 95
ISystem::GetModuleNames...................................................................................................................... 96
ISystem::GetModulePropertiesBySlot...................................................................................................... 97
ISystem::GetModuleSlotByName ............................................................................................................99
ISystem::GetModuleTypeBySlot............................................................................................................ 100
ISystem::GetNumModuleSlots ............................................................................................................... 101
ISystem::GetRepetitiveStopReason........................................................................................................ 102
ISystem::GetRunStatus........................................................................................................................... 103
ISystem::GetSWVersion......................................................................................................................... 104
ISystem::LoadSymbolFile ...................................................................................................................... 105
ISystem::LoadSystem ............................................................................................................................. 106
ISystem::Repetitive................................................................................................................................. 107
ISystem::Run ..........................................................................................................................................108
ISystem::RunCount................................................................................................................................. 109
ISystem::SaveSystem.............................................................................................................................. 109
ISystem::Stop.......................................................................................................................................... 111
Data Formats............................................................................................................................................. 113
Data Formats........................................................................................................................................... 115
Binary data formats for LA modules and the TLA600 series logic analyzer.......................................... 115
General characteristics........................................................................................................................ 115
Violation data ....................................................................................................................................115
4
Deprecated
Time stamps........................................................................................................................................ 115
RawWithTimestamp binary data format for TLA7N1 LA modules and the TLA6X1 logic
analyzer .............................................................................................................................................116
RawWithTimestamp binary data format for TLA7N2/P2/Q2 LA modules and the TLA6X2 logic
analyzer............................................................................................................................................... 117
RawWithTimestamp binary data format for TLA7N3 LA modules and the TLA6X3 logic analyzer 118 RawWithTimestamp binary data format for TLA7N4/P4/Q4 LA modules and the TLA6X4 logic
analyzer............................................................................................................................................... 119
RawWithTimestamp binary data format for a merged LA module .................................................... 120
AllGroupsWithTimestamp binary data format for LA modules ......................................................... 122
RawWithoutTimestamp binary data format for TLA7N1 LA modules and the TLA6X1 logic analyzer
............................................................................................................................................................ 123
RawWithoutTimestamp binary data format for TLA7N2/P2/Q2 LA modules and the TLA6X2 logic
analyzer............................................................................................................................................... 124
RawWithoutTimestamp binary data format for TLA7N3 LA modules and the TLA6X3 logic analyzer
............................................................................................................................................................ 125
RawWithoutTimestamp binary data format for TLA7N4/P4/Q4 LA modules and the TLA6X4 logic
analyzer............................................................................................................................................... 126
RawWithoutTimestamp binary data format for a merged LA module ............................................... 127
AllGroupsWithoutTimestamp binary data format for LA modules.................................................... 129
GroupList binary data format for LA modules ................................................................................... 129
Binary data formats for DSO modules and external oscilloscopes ..................................................... 130
General characteristics........................................................................................................................ 130
AllChannels ........................................................................................................................................130
ChannelList......................................................................................................................................... 130
Text data formats for LA modules.......................................................................................................... 131
General characteristics........................................................................................................................ 131
Violation data...................................................................................................................................... 131
Time stamps........................................................................................................................................ 131
RawWithTimestamp ........................................................................................................................... 131
RawWithoutTimestamp ...................................................................................................................... 131
AllGroupsWithTimestamp.................................................................................................................. 131
AllGroupsWithoutTimestamp............................................................................................................. 131
GroupList............................................................................................................................................ 131
AllGroupsWithTimestamp text data format for LA modules ............................................................. 132
AllGroupsWithoutTimestamp text data format for LA modules ........................................................ 132
GroupList text data format for LA modules .......................................................................................133
Text data formats for DSO modules and external oscilloscopes.............................................................133
General characteristics........................................................................................................................ 133
AllChannels ........................................................................................................................................133
TLA7D2/TLA7E2 and four channel external oscilloscopes............................................................... 133
TLA7D1/TLA7E1 and two channel external oscilloscopes................................................................133
ChannelList......................................................................................................................................... 134
Appendix.................................................................................................................................................... 135
Internal 2X clocking mode...................................................................................................................... 137
Internal 4X clocking mode...................................................................................................................... 138
External 4X clocking mode ....................................................................................................................140
External 2X clocking mode ....................................................................................................................143
Probe demultiplexing.............................................................................................................................. 145
Glossary ..................................................................................................................................................... 147
Version History ......................................................................................................................................... 151
Index .......................................................................................................................................................... 157
5
Deprecated
6
Deprecated

What's New?

What's new in TLA TPI Version 4.2:
Support added for the TLA7Axx Series Logic Analyzer modules
Minor corrections to earlier versions
For information about earlier versions of the TLA TPI refer to TLA TPI Version History.

Introduction

The TLA programmatic interface (TPI) for the Tektronix Logic Analyzer (TLA) family is based on Microsoft’s Component Object Model (COM). With TPI you can control the logic analyzer from a separate user program running on the logic analyzer or on a remote PC. Both the TLA600- and TLA700­series logic analyzers support TPI.
In the context of TPI, the TLA application is called the server, and the program (written by the user)
that controls the server through the programmable interface is called the client. The user program can be written in any language or programming environment that supports the Microsoft Component Object Model (COM), such as Microsoft Visual C++ or Microsoft Visual Basic.
TLAScript is a standalone scripting interface to the TLA application. It is an interpreter that processes commands that are read from a script file or are manually entered by users through the TLAScript graphical interface. The TLAScript commands parallel the TPI interface. Most of the TPI methods have corresponding TLAScript commands. TLAScript has its own online help and links to the TPI online help commands.
General characteristics
The following is a list of the general characteristics of the TPI:
TPI is consistent with programmatic interfaces exported by other Windows applications.
All of the interfaces exported by the server are dual interfaces, supporting static and dynamic binding.
The TLA application must be fully initialized before a client attempts to connect to it. This includes
dismissing any diagnostic errors that occur at startup time. If a client attempts to connect before the application is fully initialized, it will receive an error indicating access is denied.
A client running locally on the logic analyzer will connect to an existing instance of the server, if there is one. If the server is not running, it will be launched automatically.
Clients may hide the server window using the programmatic interface. If the window is shown, you can directly interact with the TLA server. There will be an indicator in the status bar of the main window to show that a client is connected.
The TLA server will continue to run after a client has disconnected. The server window is always made visible when all clients have disconnected.
TPI operates within the main thread of the application.
TPI supports multiple simultaneous clients. Care must be taken when using multiple clients to ensure
that the clients do not interfere with one another.
There is no provision for a TPI client to lock-out other clients.

Setting up TPI

In the following procedures, <install directory> refers to the directory where the TPI client is installed on your client machine. This directory is C:\Program Files\TLA700 by default. This directory is used by both the TLA600- and TLA700-series logic analyzers.
7
Deprecated
The type library used with TPI is tla700.tlb. After you complete the following setup procedure, this file will be located in C:\Program Files\TLA700\System\TPI on your logic analyzer and/or in the <install directory>\System\TPI on your client machine.
You have two methods of using TPI with your client application:
You can run the client application locally on the logic analyzer. No special setup is required once the
TLA application is installed. To verify that a client application can connect to the TLA server, see Running a client application on the TLA instrument.
You can run your client application remotely across the network. In this case, both the TLA instrument and the remote host require special setup procedures. See Setting up TPI on the TLA instrument to begin this setup procedure.

Running a client application on the TLA instrument

To verify that a client application can connect to the TLA instrument, do the following steps:
1 Start the TLA application on the TLA instrument.
2 Navigate to and run the following program:
C:\Program Files\TLA 700\Samples\TPI Samples\Vc++\test client\testclient.exe
The Tektronix Test TPI Client dialog appears.
3 Click the Connect to the TLA700! button, and check that the text in the dialog changes to Connected!
This indicates the test client application connected to the TLA
4 Click Exit.

Setting up TPI on the TLA instrument

If you want to run a client application remotely across the network, you must set up the TLA instrument using the following procedure:
1 Install and configure TCP/IP.
Note: If you have difficulty configuring the network setup, contact your system administrator.
2 You must choose to have either share-level access or user-level access to the TLA instrument as
provided by Microsoft Windows.
Note: For TPI to work with share-level access, authentication is turned off and any COM client can call into any
COM server running on the TLA instrument.
Choose one of the following:
Share-level access
User-level access
8
Deprecated
Share-level access
To set up the TLA instrument so that it may be shared among different users on a network, do the following steps:
1 Run dcomcnfg.exe. 2 Click the Default Properties tab, and set the Default Authentication Level to None. 3 Click the Applications page, and select the Tektronix TLA Application server. 4 Click the Properties button (or double-click the selected application). 5 Click the General tab, and set the Authentication Level to None. 6 Click the Location tab, and select Run application on this computer. 7 Click the Security tab, and select Use custom access permissions. 8 Click the Edit button.
a) Click the Registry Value Permissions tab, and click the Add button. b) Scroll down the list; select and add Everyone to the list.
9 Click the Security page, and select Use custom launch permissions. 10 Click the Edit button.
a) Click the Registry Value Permissions tab, and then click the Add button.
b) Scroll down the list; select and add Everyone to the list.
11 Click the Identity page, and select The Interactive user. 12 Shut down the TLA application, and restart it before attempting to make any connections.
This completes the setup of TPI on the TLA instrument for operating with a remote client machine using share-level access.
Note: You can switch between user-level and share-level access later by redoing the procedure from step 2 of Setting
up TPI on the TLA instrument.
Next, you need to set up the client machine so that it can connect to the TLA instrument. Select the appropriate setup:
Client machine running Microsoft Windows 2000/NT
Client machine running Microsoft Windows 95
Client machine running Microsoft Windows 98
Client machine running on any other platform
9
Deprecated
User-level access
The default network settings for the TLA under Windows is compatible with clients operating with user­level access. With these settings the client and server must be logged in to the same account and domain to make a connection. If this is too restrictive, we recommend that you use sharel-level access or talk to your network administrator.
To set up the TLA instrument for user-level access (default settings), do the following steps:
1 Run dcomcnfg.exe. 2 Click the Default Properties tab, and set the Default Authentication Level to Connect. 3 Click the Applications tab, and select the Tektronix TLA Application server. Click the Properties
button (or double-click the selected application).
4 Click the General tab, and set the Authentication Level to Default. 5 Click the Location tab, and select the Run application on this computer. 6 Click the Security tab, and select the following:
Use default access permissions
Use default launch permissions
Use default configuration permissions
7 Click the Identity tab, and select The launching user. 8 Shut down the TLA application, and restart it before attempting to make any connections.
This completes the set up of the TLA instrument for operation with a remote client machine using user level access or Windows 2000/NT user authentication.
Note: You can switch between user-level access and share-level access later by redoing the procedure from step 2 of
Setting up TPI on the TLA instrument.
Next, you need to set up the client machine so that it can connect to the TLA instrument. Select the appropriate setup:
Client machine running Microsoft Windows 2000/NT
Client machine running Microsoft Windows 95
Client machine running Microsoft Windows 98
Client machine running on any other platform
10
Deprecated

Setting up a client machine that is running Microsoft Windows 2000/NT

After you set up the TLA instrument, you must set up the client machine using the following procedure:
Note: You may need administrative privilege to perform this procedure.
1 Install and configure TCP/IP. If you have difficulty configuring the network setup, contact your system
or network administrator.
2 Load the Tektronix TLA application software CD.
3 Double-click on TPI Client SW\Disk1\Setup.exe.
4 Select the appropriate access type to continue with the setup procedure (you must set up the client
machine to match the access level you chose for the TLA instrument):
Share-level access
User-level access
Setting up share-level access for Microsoft Windows 2000/NT
To set up a client machine to access a TLA instrument that is set up for share-level access, perform the following procedure (you must have administrative permissions on your computer):
1 Run dcomcnfg.exe. 2 Click the Default Properties tab, and set Default Authentication Level to None. 3 Click the Applications tab, and select the Tektronix TLA Application server. 4 Click the Properties button (or double-click the selected application). 5 Click the General tab, and set Authentication Level to None. 6 Click the Location tab, and select Run application on the following computer. Enter the name of the
TLA instrument in the edit field.
7 Click the Security tab (if applicable), and select the Use custom access permissions; click the Edit
button.
a) Click the Registry Value Permissions tab, and then click the Add button.
b) Scroll down the list; select and add Everyone to the list. 8 Click the Security tab (if applicable), and select Use custom launch permissions. 9 Click the Edit button.
a) Click the Registry Value Permissions tab, and then click the Add button.
b) Scroll down the list; select and add Everyone to the list. 10 Click the Identity tab (if present), and select The Interactive user. 11 To Verify that the setup is complete:
a) Run <install directory>\Samples\TPI Samples\Vc++\test\test client\testclient.exe on the client
machine.
b) Click the button to see if the client can connect to the TLA instrument. (It may take a few minutes
This completes the set up of the TLA instrument and the client machine for running your client application across the network.
Setting up user-level access for Microsoft Windows 2000/NT
for the first time that you connect.)
The default network settings for the TLA under Windows is compatible with clients operating with user­level access. With these settings the client and server must be logged in to the same account and domain to make a connection. If this is too restrictive, we recommend that you use share-level access or talk to your network administrator.
11
Deprecated
To set up a client machine to access a TLA instrument that is set up for user-level access, perform the following procedure:
1 Run dcomcnfg.exe. 2 Click the Default Properties tab, and set the Default Authentication Level to Connect. 3 Click the Applications tab, and select the Tektronix TLA Application server. 4 Click the Properties button (or double-click the selected application). 5 Click the General tab, and set Authentication Level to Default. 6 Click the Location tab, and select Run application on the following computer. 7 Enter the name of the TLA instrument in the edit field. 8 Click the Security tab (if present), and select the following:
Use default access permissions
Use default launch permissions
Use default configuration permissions
9 Click the Identity tab (if present), and select The launching user. 10 To verify that the setup is complete:
a) Run <install directory>\Samples\TPI Samples\Vc++\test\test client\testclient.exe on the client
machine.
b) Click the button to see if the client can connect to the TLA instrument. (It may take a few minutes
for the first time that you connect.) This completes the set up of the TLA instrument and the client machine for running your client application across the network.

Setting up a client machine that is running Microsoft Windows 95

After you set up the TLA instrument, you must set up the client machine using the following procedure:
1 Install and configure TCP/IP.
2 Load the Tektronix TLA application software CD.
3 Double-click TPI Client SW\Disk1\Setup.exe.
4 Download and install the following from the Microsoft web site, restarting after each installation. The
Microsoft web site is at www.microsoft.com.
Distributed COM (DCOM) for Microsoft Windows 95 (DCOM 95, version 1.1)
dcomcnfg (DCOM configuration utility)
Note: The dcomcnfg utility will run only if user-level access is enabled. See step 5.
5 Select the appropriate access type to continue with the setup procedure (you must set up the client
machine to match the access level you chose for the TLA instrument):
Share-level access
User-level access
Note: You can switch between user-level and share-level access later by redoing the procedure from Step 2
onwards.
Setting up share-level access for Microsoft Windows 95
To set up share-level access for a client machine running Microsoft Windows 95, do the following procedure:
1 In Microsoft Windows 95, click Start, select Settings, and then click Control Panel.
2 Click Network from the Control Panel, and then click the Access Control tab.
3 Choose Share-level access control, and then click OK. (If prompted, insert the Windows 95 disk or
provide a file path to the stored Windows 95 files.)
4 The System Settings Change dialog box appears. Click the Yes button.
12
Deprecated
5 On the client machine, click Start and then Shut Down. In the Shut Down Windows dialog box, click
Restart the Computer?, and then click the Yes button.
6 Navigate to and run <install directory>\System\TPI\Share Level Access Client.reg.
7. A dialog box appears, indicating successful registration. Click OK.
8 Restart the client machine using the procedure in step 5.
9 In Microsoft Windows, click Start, and then select Run. Either locate the regedit file using Browse, or
enter regedit. Then click OK to run regedit.
10 Click the following registry key:
HKEY_CLASSES_ROOT\AppID\{C67DAA22-4972-11d1-9CAC-00805F0D8271}
11 Using Edit>New>StringValue, add a named value, RemoteServerName.
12 Click the new value, RemoteServerName, and select Edit>Modify. The Edit String dialog box appears.
13 Enter the computer name of the TLA instrument. This is the name used to identify the TLA on the
network. Click OK.
14 To verify that the setup is complete:
a On the client machine, navigate to and run
<install directory>\Samples\TPI Samples\Vc++\test client\testclient.exe>.
The Tektronix Test TPI Client dialog box appears.
b Click the Connect button to see if the client can connect to the TLA instrument.
Attempting Connection to TLA appears in the dialog box. (The first time you connect it may take a few minutes.) When the connection is made, the text changes to Connected!
This completes the setup of the TLA instrument and the client machine for running a client application across the network.
Note: You can switch between user-level and share-level access later by uninstalling the Tektronix TPI Client and
DCOM 95 using the Windows control panel and redoing the procedure from step 2 of Setting up a client machine that is running Microsoft Windows 95.
Setting up user-level access for Microsoft Windows 95
To set up user-level access for a client machine running Microsoft Windows 95, do the following procedure:
1 In Microsoft Windows 95, select Start, Settings, and then Control Panel.
2 From the Control Panel, select Network, and then select the Access Control tab.
3 Choose User-level access control and enter the name of the domain that will be used to validate user
access. Then select OK.
4 On the client machine, select Start and then Shut Down. In the Shut Down Windows dialog box, select
Restart the Computer? and then press the Yes button.
5 Naviagate to and run <install directory>\System\TPI\User Level Access Client.reg.
6 Restart the client machine using the procedure in step 4.
7 In Microsoft Windows 95, select Start, and then select Run. Either locate the dcomcnfg file using
Browse, or enter dcomcnfg. Then click OK to run dcomcnfg.
8 Double-click "Tektronix TLA Application" in the Applications page.
9 In the Location page, uncheck the "Run application on this computer" box and check the "Run
application on the following computer" box. Enter the name of the TLA instrument in the edit field.
10 To verify that the setup is complete:
a Run <install directory>\Samples\TPI Samples\Vc++\test client\testclient.exe on the client
machine.
b Click the Connect button to see if the client can connect to the TLA instrument. (The first time you
connect it may take a few minutes.)
This completes the setup of the TLA instrument and the client machine for running a client application across the network.
13
Deprecated
Note: You can switch between user-level and share-level access later by uninstalling the TPI Client and DCOM 95
using the Windows control panel and redoing the procedure from step 2 of Setting up a client machine that is running Microsoft Windows 95.

Client machine running Microsoft Windows 98

After you set up the TLA instrument, you must set up the client machine using the following procedure:
1 Install and configure TCP/IP.
2 Load the Tektronix TLA logic analyzer application software CD.
3 Double-click TPI Client SW\Disk1\Setup.exe.
4 You must set up the client machine to match the access level that you chose for the TLA instrument
(share-level access or user-level access).
Select the appropriate access type to continue with the setup procedure:
Share Level Access on Windows 98
User Level Access on Windows 98
Note: You can switch between user-level and share-level access later by redoing the procedure from Step 4
onwards.
Share Level Access on Windows 98
To set up share-level access for a client machine running Microsoft Windows 98, do the following procedure:
1 In Microsoft Windows 98, click Start, select Settings, and then click Control Panel.
2 From the Control Panel, click Network, and then click the Access Control tab.
3 Choose Share-level access control, and then click OK. (If prompted, insert the Windows 98 CD or
provide a file path to the stored Windows 98 files.)
4 The System Settings Change dialog box appears. Click the Yes button.
5 On the client machine, click Start and then select Shut Down. In the Shut Down Windows dialog box,
click Restart the Computer?, and then click the Yes button.
6 Navigate to and run <install directory>\System\TPI\Share Level Access Client.reg.
7. A dialog box appears, indicating successful registration. Click OK.
8 Restart the client machine using the procedure in step 5.
9 In Microsoft Windows, click Start, and then click Run. Either locate the regedit file using Browse, or
enter regedit. Click OK to run regedit.
10 Click the following registry key:
HKEY_CLASSES_ROOT\AppID\{C67DAA22-4972-11d1-9CAC-00805F0D8271}
11 Using Edit>New>StringValue, add a named value, RemoteServerName.
12 Click the new value, RemoteServerName, and select Edit>Modify. The Edit String dialog box appears.
13 Enter the computer name of the TLA instrument. This is the name used to identify the TLA on the
network. Click OK.
14
Deprecated
14 To verify that the setup is complete:
a On the client machine, navigate to and run
<install directory>\Samples\TPI Samples\Vc++\test client\testclient.exe>.
b The Tektronix Test TPI Client dialog box appears. Click the Connect button to see if the client can
connect to the TLA instrument.
c Attempting Connection to TLA appears in the dialog box. (The first time you connect it may take a
few minutes.) When the connection is made, the text changes to Connected!
This completes the setup of the TLA instrument and the client machine for running a client application across the network.
Note: You can switch between user-level access and share-level access later by redoing step 4 in the procedure from
Client machine running Microsoft Windows 98
User Level Access on Windows 98
To set up user-level access for a client machine running Microsoft Windows 98, do the following procedure:
1 In Microsoft Windows 98, click Start, select Settings, and then click Control Panel.
2 From the Control Panel, click Network, and then click the Access Control tab.
3 Choose User-level access control and enter the name of the domain that will be used to validate user
access. Then click OK.
4 On the client machine, click Start, and then click Shut Down. In the Shut Down Windows dialog box,
click Restart the Computer?, and then click the Yes button.
5 Navigate to and run <install directory>\System\TPI\User Level Access Client.reg.
6 Restart the client machine using the procedure in step 4.
7 In Microsoft Windows 98, click Start, and then click Run. Either locate the dcomcnfg file using
Browse, or enter dcomcnfg. Click OK to run dcomcnfg.
8 Double-click "Tektronix TLA application" in the Applications page.
9 In the Location page, clear the "Run application on this computer" box and check the "Run application
on the following computer" box. Enter the name of the TLA instrument in the edit field.
10 To verify that the setup is complete:
a Run <install directory>\Samples\TPI Samples\Vc++\test client\testclient.exe on the client
machine.
b Click the Connect button to see if the client can connect to the TLA instrument. (The first time you
connect it may take a few minutes.)
This completes the setup of the TLA instrument and the client machine for running a client application across the network.
Note: You can switch between user-level and share-level access later by redoing the procedure from step 2 of Client
machine running Microsoft Windows 98.

Client instrument running on any other platform

If the client application requires use of the type library, you can generate it on your platform using tla700.odl in C:\Program Files\TLA 700\System\TPI\src.
Perform the following steps:
1 Ensure that DCOM is working on your platform.
2 Merge C:\Program Files\TLA 700\System\TPI\Client.reg into your registry.
3 M erge C:\Program Files\TLA 700\System\TPI\Share Level Access Client.reg or User Level
Access Client.reg into your registry, depending on the type of access control you chose for the TLA instrument.
4 Add a string value named RemoteServerName to the key
HKEY_CLASSES_ROOT\AppID\{275FF661-6554-11d3-9D63-00805F0D8271}
15
Deprecated
5 Enter the computer name of the logic analyzer as this string value. This is the name used to identify the
logic analyzer on the network.
This completes the setup of the logic analyzer for operating with a remote client machine using a platform other than Microsoft Windows.
16
Deprecated

Connecting to the TLA server

Client applications connect to the TLA server by creating an Application Object. For example, in Microsoft Visual Basic:
‘Establish connection to TLA. Dim App As Object Set App = CreateObject("TLA700.Application")
Once the Application Object is created, the client can call methods on it to get references to System and Module Objects.

Disconnecting from the TLA server

A client application connected to the TLA server can disconnect by deleting the reference to the Application Object. For example, in Microsoft Visual Basic:
‘Disconnect from TLA. Set App = Nothing
References to any System or Module Objects that were obtained must also be deleted.

Programming examples

All interfaces exported by the TLA server are dual interfaces that have the characteristics of both dispatch and vtable interfaces.
The dispatch side of a dual interface uses run time (dynamic) binding to resolve method calls. This is mostly used in interpretive and scripting environments where static binding using header files and type libraries cannot be performed.
The vtable side of a dual interface uses static binding to resolve method calls. This is accomplished using header files and type libraries.
See the following examples:
Example of a Microsoft Visual Basic client using dispatch interfaces
Example of a Microsoft Visual Basic client using vtable interfaces
Additional code examples for specific methods use the dispatch portion of each dual interface.
17
Deprecated

Example of a Microsoft Visual Basic client using dispatch interfaces

This client example uses the dynamic (dispatch) part of the dual interfaces.
Dim App As Object Dim System As Object Dim LA As Object Dim Status As Long Dim BytesPerSample As Long Dim S As String Dim Data As Variant
Private Sub Form_Load()
Connect to server. Set App = CreateObject("TLA700.Application")
Get system pointer.
Set System = App.GetSystem
NOTE: To load a system, fill in system path.
System.LoadSystem "<path>"
NOTE: Fill in the slot no. of your LA here.
Set LA = System.GetModuleBySlot(<slot>)
Run acquisition.
Run
Get data.
GetData
Show data.
ShowData
End Sub
Private Sub Run()
Do acquisition. Wait for it to complete. System.Run Do
Status = System.GetRunStatus
Loop While(Status = 0)
End Sub
Private Sub GetData()
Get the first ten samples (grouped) in the main data setin ASCII.NOTE: Change group list if required.
BytesPerSample = LA.DefineDataFormat(0,
"GroupList:A3,A2,Timestamp", 1)
Data = LA.GetData(0, 10)
End Sub
Private Sub ShowData()
Show data. ForI=0To9
S = Data(I) DataList.AddItem(S)
Next I
End Sub
18
Deprecated

Example of a Microsoft Visual Basic client using vtable interfaces

This client example uses the vtable (static) part of the dual interfaces.
Dim App As IApplication Dim System As ISystem Dim LA As ILAModule Dim Status As Long Dim BytesPerSample As Long Dim S As String Dim Data As Variant
Private Sub Form_Load()
'Connect to server. Set App = CreateObject("TLA700.Application") 'Get system pointer. Set System = App.GetSystem
'NOTE: To load a system, fill in system path.
System.LoadSystem("<path>")
'NOTE: Fill in the slot no. of your LA here.
Set LA = System.GetModuleBySlot(<slot>) 'Run acquisition. Run 'Get data. GetData 'Show data. ShowData
End Sub
Private Sub Run()
'Do acquisition. Wait for it to complete. System.Run Do
Status = System.GetRunStatus
Loop While(Status = 0)
End Sub
Private Sub GetData()
'Get the first ten samples (grouped) in the main data set 'in ASCII. 'NOTE: Change group list if required. BytesPerSample = LA.DefineDataFormat(0,"GroupList:A3,A2,Timestamp",
1)
Data = LA.GetData(0, 10)
End Sub
Private Sub ShowData()
'Show data. ForI=0To9
S = Data(I) DataList.AddItem(S)
Next I
End Sub
19
Deprecated

Error handling

All methods in all interfaces of TPI return an HRESULT (or SCODE). Refer to the file "tla700error.h" (the path is <install directory>\System\TPI\Src\tla700error.h>) for possible error codes.
Additional error information is communicated as follows:
Objects that use the dispatch portion of the dual interface can use the exception information argument
of the IDispatch::Invoke method.
Objects that use the vtable portion of the dual interface can use error objects. When an HRESULT
indicates an error, the client can call the standard function GetErrorInfo() to get more detailed information about the error.
When a method returns an error, output arguments are undefined and should not be used.

Server Message Boxes

In the TLA graphical user interface, there are instances where you are asked to confirm a particular operation. For example, before loading a saved system, you are asked whether the current system should be saved before the load operation.
Since it is not possible to ask questions through TPI, the application always proceeds with the original operation as though the question were never asked. In the previous example, the load operation proceeds without saving the current system.
Modal message boxes that are normally displayed in the TLA user interface will not be displayed when a client is connected to the server.

Slot numbers for expansion mainframes

In TPI, the slot numbers for expansion mainframes are specified by extending the slot numbers for the mainframe. For example, consider a system configuration consisting of a TLA720 benchtop mainframe with two expansion frames each containing 13 slots:
Mainframe: Slots 0 - 12
Expansion 1 Slots 13 - 25
Expansion 2 Slots 26 – 38
External Oscilloscope modules do not have slot numbers.

Tips for improving LA module data transfer performance

The data transfer rates (in KB/s) that you achieve using ILAModule::GetData() depend on various factors. The following guidelines will improve data transfer performance:
Buffer size. When a client invokes ILAModule::GetData(), the TLA server allocates and returns a
data buffer to the client. The size of this buffer affects the efficiency of the data transfer operation. Using too small a buffer reduces performance because of the added overhead of additional calls to transfer a fixed amount of data. Using too large a buffer can cause the system to exceed the available physical memory. When this happens, virtual memory must be made available by swapping physical memory pages to the hard disk, which again reduces performance. Optimal performance is achieved using buffers that are as large as possible without exceeding the available physical memory.
The size of the buffer is determined by the number of samples requested. For systems with 32M of , and only the TLA application running, the optimum buffer size is typically between 1,300,000 ­2,600,000 bytes. For the 136-channel TLA7N4 LA module, this is approximately within the range of 50,000 - 100,000 samples for raw data (since there are 26 bytes per sample). See Binary data formats for LA modules and Text data formats for LA modules for more information on the number of bytes per sample for other module types.
20
Deprecated
With larger systems, or when additional applications are running, it can be difficult to determine how much physical memory is available. One technique for determining this number empirically is to use to do data transfers of varying size, while monitoring memory use using the Win2000 performance monitor. The performance monitor can be found at StartMenu>Programs>Administrative Tools>Performance. The measurement called "Available Mbytes" shows the amount of physical memory remaining. The objective is to find out how much data you can transfer in one call, without causing this measurement to hit zero.
Amount of TLA and client machine main memory. As expected, the larger the amount of random
access memory (RAM), the better the performance. This difference is more pronounced as the number of samples requested increases. It is less pronounced when an optimum number of samples is requested (see the previous bulleted item, Buffer size).
Data formats. A TPI client application has a choice of data formats. For details, see
ILAModule::DefineDataFormat().
Binary Text. In general, binary data transfer is faster than text data transfer. Binary data transfer may, however, require some effort on the part of the TPI client to process the binary data.
Raw versus Grouped. If the TPI client requires most of the information in a given sample of data, a raw data is more efficient than a grouped format. However, the raw format requires more post­transfer processing by the TPI client and gives the user less flexibility in what data is transferred. If you require very little information out of a given sample, the grouped format may be more appropriate.
To clarify difference between Binary versus Text and Raw versus Grouped, look at the following scenarios:
Scenario 1 User A is interested in getting data as fast as possible and is willing to filter and process
data in any format.
The appropriate choice in this scenario would probably be the RawWithTimestamp format.
Scenario 2 User B is interested in only one particular group. The user would like the data to be
formatted. The speed of data transfer is not a critical issue.
The appropriate choice in this scenario would probably be the GroupList format, just the group of interest.
LA module characteristics. The narrower LA modules (fewer channels) tend to have slower transfer
rates than the wider modules.
Client application/programming environment. The efficiency of the data transfer is affected by the
way the TPI client application is written and/or the programming environment used for writing the client application. Remember that it is the responsibility of the TPI client application to free memory allocated for data buffers during data transfer.
Network conditions. Data transfer using TPI using DCOM over the network gives approximately half
the performance of local COM data transfer. This may vary depending upon the network traffic conditions.
21
Deprecated
22
Deprecated
Objects & Interfaces
23
Deprecated
24
Deprecated

Objects and Interfaces

The TPI consists of four types of objects:
Application
System
LAModule
DSOModule
You an Application Object to initially connect to the TLA application and to subsequently obtain a reference to a system object. The application object exports a single interface called IApplication.
The system provides methods for configuration, run control, and save and load operations. Every client must obtain a reference to a System Object before it can obtain references to Module Objects. The System Object exports a single interface called ISystem.
Module objects provide methods for module configuration, obtaining acquisition statistics, and retrieving acquisition . Logic analyzer module objects export a single interface called ILAModule; DSO module objects export a single interface called IDSomodule.
Unless otherwise specified, all methods are synchronous and wait for the completion of the operation before . The syntax of the TPI methods is described in Microsoft Object Description Language (ODL). The object hierarchy is shown below:

Application Object

The Object supports the following methods:
IApplication
HRESULT GetSystem(ppDispatch)
HRESULT ShowWindow(Show)
25
Deprecated

System Object

The System supports the following methods:
ISystem
Properties:
VARIANT_BOOL Repetitive
long RunCount (read-only)
long ExternalSignalIn
long ExternalSignalOut
VARIANT_BOOL ExternalSignalOutLowTrue
Configuration Methods:
HRESULT GetNumModuleSlots(pNumSlots)
HRESULT GetFirstModuleSlot(pSlot)
HRESULT GetSWVersion(pVersion)
HRESULT GetDiagCalStatus(pDiagCalStatus)
HRESULT GetModuleTypeBySlot(Slot, pModuleType)
HRESULT GetModulePropertiesBySlot(Slot, pModuleProperties)
HRESULT GetModuleBySlot(Slot, ppDispatch)
HRESULT GetModuleByName(ModuleName, ppDispatch)
HRESULT GetModuleNames( pModuleNames)
HRESULT GetModuleSlotByName(ModuleName, pSlot)
Load and Save Methods:
HRESULT LoadSystem(SystemPath)
HRESULT SaveSystem(SystemPath, UserComment, SaveData)
HRESULT DefineRangeSymbolOptions(FileFormat, SymbolTypes, Reserved, Bound1, Bound2,
OffsetType, SymbolOffset)
HRESULT LoadSymbolFile(SymbolFilePath)
Run Control and Status Methods:
HRESULT Run()
HRESULT Stop()
HRESULT GetRepetitiveStopReason (pStopReason)
HRESULT GetRunStatus(pRunStatus)

LAModule Object

The LAModule supports the following methods:
ILAModule
Properties:
BSTR Name
VARIANT_BOOL Enabled
long MemoryDepth
26
Deprecated
Load and Save Methods:
HRESULT LoadModule(ModulePath, ModuleName)
HRESULT LoadTrigger(ModulePath, ModuleName)
HRESULT SaveModule(ModulePath, UserComment, SaveData)
Setup Methods:
HRESULT DeleteChannelGroup(UserChannelGroupName)
HRESULT GetChannelGroup(UserChannelGroupName, ChannelNameList)
HRESULT GetChannelName(HWChannelName, UserChannelName)
HRESULT GetGroupNames(GroupNames)
HRESULT GetGroupSize(GroupNames, pGroupSize)
HRESULT SetEventValue(EventID, EventValue)
HRESULT SetChannelGroup(UserChannelGroupName, ChannelNameList)
HRESULT SetChannelName(HWChannel Name, UserChannelName)
HRESULT SetTriggerPosition(Position)
Acquisition and Statistics Methods:
HRESULT GetBeginTime(DataSet, pTimeHighWord, pTimeLowWord)
HRESULT GetCounterValue(CounterID, pCounterHighWord, pCounterLowWord)
HRESULT GetEndTime(DataSet, pTimeHighWord, pTimeLowWord)
HRESULT GetNumSamples(DataSet, pNumSamples)
HRESULT GetStartTime(pDate)
HRESULT GetTimerValue(TimerID, pTimerHighWord, pTimerLowWord)
HRESULT GetTriggerSample(DataSet, pTriggerSample)
HRESULT GetTriggerTime(DataSet, pTimeHighWord, pTimeLowWord)
Acquisition Data Methods:
HRESULT DefineDataFormat(DataSet, Components, DataType, pBytesPerSample)
HRESULT ExportData(FirstSample, NumSamples, DataPath, Mode)
HRESULT GetBytesPerSample(pBytesPerSample)
HRESULT GetData(FirstSample, NumSamples, pData)
HRESULT GetTimestampMultiplier(pMultiplier)
27
Deprecated

DSOModule Object

The following methods are for the IDSOModule Object: [Unless otherwise stated, all DSOModule object properties and methods apply to External oscilloscope modules as well as Internal DSO modules.]
IDSOModule
Properties:
BSTR Name
VARIANT_BOOL Enabled
Load and Save Methods:
HRESULT LoadModule(ModulePath, ModuleName)
HRESULT SaveModule(ModulePath, UserComment, SaveData)
Acquisition and Status Methods:
HRESULT GetNumSamples(pNumSamples)
HRESULT GetTriggerSample(pTriggerSample)
HRESULT GetTriggerTime(pTimeHighWord, pTimeLowWord)
HRESULT GetBeginTime(pTimeHighWord, pTimeLowWord)
HRESULT GetEndTime(pTimeHighWord, pTimeLowWord)
HRESULT GetStartTime(pDate)
Acquisition Data Methods:
HRESULT GetDataRange(Channel, pRange)
HRESULT GetDataOffset(Channel, pOffset)
HRESULT GetDataSamplePeriod(pPeriodHighWord, pPeriodLowWord)
HRESULT DefineDataFormat(Components, DataType)
HRESULT GetData(FirstSample, NumSamples, pData)
HRESULT ExportData(FirstSample, NumSamples, DataPath, Mode)
28
Deprecated
Methods by Alphabetical Listing
29
Deprecated
30
Deprecated
Methods by Alphabetical Listing
IApplication::GetSystem
Description
This method returns the interface pointer for the System Object.
ODL Syntax
HRESULT GetSystem( [out, retval] IDispatch** ppDispatch )
Arguments
ppDispatch The interface pointer for the System Object.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
IApplication::ShowWindow
Description
This method shows or hides the TLA server’s application window.
ODL Syntax
HRESULT ShowWindow( [in] long Show )
31
Deprecated
Arguments
Show This flag takes one of the values in the following table:
Value Description
TLA700_HIDE_WINDOW (0) Hide the server window.
TLA700_SHOW_WINDOW (1) Show the server window.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_SHOW Invalid “Show” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object
Set App = CreateObject("TLA700.Application")
Hide the window.
App.ShowWindow 0
Remarks
The application window is shown by default when a client connects to the server.
IDSOModule::DefineDataFormat
Description
This method specifies the format of the data which is returned in subsequent queries for acquisition data (using IDSOModule::GetData() and IDSOModule::ExportData()).
ODL Syntax
HRESULT DefineDataFormat( [in] BSTR Components,
[in] long DataType )
Arguments
Components This takes one of the following forms:
"AllChannels" Data for all channels is returned.
"ChannelList:<channel>,<channel>,<channel>…" Specifies exactly which channels to
return and the order in which they are to be returned. The same channel may be included more than once. Channels are specified using their channel numbers (for example, 1, 2, 3, and 4).
For details on the format of these components, refer to the following topics:
32
Deprecated
DataType This takes one of the values from the following table:
Value Description
TLA700_BINARY (0) Binary
TLA700_TEXT_SPACE (1) ASCII, space delimiter
TLA700_TEXT_TAB (2) ASCII, tab delimiter
TLA700_TEXT_COMMA (3) ASCII, comma delimiter
For binary format, data is returned as an array of short values (16 bits). There are no delimiters between samples.
For text format, data is returned as an array of strings, one per sample. Data is returned in volts without the unit characters appended.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_COMPONENTS Invalid “Components” argument.
TLA700_E_INVALID_DATA_TYPE Invalid “DataType” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Get data in binary format.
DSO.DefineDataFormat "ChannelList:1",0
33
Deprecated
IDSOModule::Enabled
Description
This property allows the client to enable/disable the logical module.
ODL Syntax
[
propget ] HRESULT Enabled( [out, retval] VARIANT_BOOL* pEnabled )
[
propput ] HRESULT Enabled( [in] VARIANT_BOOL Enabled )
Arguments (propget)
pEnabled - The enabled status of the logical module.
Arguments (propput):
Enabled - The enabled status of the logical module.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the system
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
is acquiring data.
operation.
TLA700_E_MODAL_DIALOG_OPEN This operation was disallowed because a modal
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Enabled As Boolean
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
‘Get module in slot 3.
Set DSO = Sys.GetModuleBySlot(3)
Get enabled status.
Enabled = DSO.Enabled
Enable module.
DSO.Enabled = True
dialog is open.
34
Deprecated
IDSOModule::ExportData
Description
This method exports the specified acquisition data to a file.
ODL Syntax
HRESULT ExportData( [in] long FirstSample,
[in] long NumSamples, [in] BSTR DataPath, [in] long Mode )
Arguments
FirstSample The sample number of the first sample to export.
NumSamples The number of samples to export.
DataPath The complete path of the file to export to.
For example: "C:\My Documents\My Data.txt" "C:\My Documents\My Data.tbf" for binary format
Mode This argument takes one of the following values:
Value Description
TLA700_APPEND (0) Causes the new data to be appended to
TLA700_OVERWRITE (1) Causes data existing in the file to be
The composition and format of the data must be specified by the IDSOModule::DefineDataFormat() call.
If the data type is TLA700_BINARY, the file is a stream of 16-bit short values.
If the data type is TLA700_TEXT_*, the file consists of a stream of newline separated strings, one string per sample.
whatever is already in the file.
overwritten.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATA_FORMAT A valid data format must be defined before calling this
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_INVALID_FIRST_SAMPLE Invalid “FirstSample” argument.
TLA700_E_INVALID_NUM_SAMPLES Invalid “NumSamples” argument.
TLA700_E_INVALID_MODE Invalid “Mode” argument.
TLA700_E_EXPORT_INVALID_FILE An error occurred opening this file for writing.
TLA700_E_EXPORT_ERROR An error occurred during the export operation.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
method. The data format you defined previously may no longer be valid.
35
Deprecated
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim NumSamples As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
‘Export data in text format. DSO.DefineDataFormat "ChannelList:1,2",1 DSO.ExportData 0,NumSamples,"C:\export.txt",0
Remarks
The value specified for FirstSample must be greater than or equal to zero and less than the total number of samples acquired. NumSamples must be greater than zero, and FirstSample + NumSamples must be less than or equal to the total number of samples acquired. If these conditions are not met, an error code is returned.
A data format must be defined using DefineDataFormat() before calling this method.
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
If the data is of type TLA700_BINARY, the actual data value in volts corresponding to each binary (short) value returned may be calculated as follows:
<Data value in volts> = ((<vertical range in volts> / 64512) * <binary data value>) +
<vertical offset in volts>
The vertical range and offset may be obtained using IDSOModule::GetDataRange() and IDSOModule::GetDataOffset().
IDSOModule::GetBeginTime
Description
This method returns the begin time of the module.
ODL Syntax
HRESULT GetBeginTime( [out] long* pTimeHighWord,
Arguments
pTimeHighWord The higher word of the begin time in picoseconds.
pTimeLowWord The lower word of the begin time in picoseconds.
36
[out] long* pTimeLowWord )
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the system
is acquiring data.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim TimeHigh As Long Dim TimeLow As Long Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module. Set DSO = Sys.GetModuleBySlot(Slot)
Get begin time. DSO.GetBeginTime TimeHigh, TimeLow
Remarks
Begin time is a 64-bit value. This method returns this value in the form of two long values representing the high and low words. Though the low word is returned in a signed long value, it is to be treated as an unsigned value.
Begin time is equivalent to the timestamp of the first sample in the acquisition buffer. Its value is the number of pico-seconds that have elapsed since the start of the acquisition. The start of the acquisition is the moment at which the system is enabled to begin acquiring data, however, there will always be some elapsed time before actual data acquisition begins. Other factors such as acquisition buffer depth, clock rate, storage qualification or delay while waiting for a trigger condition to occur can also affect the period of time between the start of the acquisition and the time of the first sample in the storage buffer.
The Begin time value is reported in terms of pico-seconds, and has been adjusted to include the frame offset and user specified time alignment values, if any. If additional, user defined, per-channel offsets are specified, those offsets are not reflected in the Begin time value returned by this method. For a further explanation of these values, see the discussion of Timestamp values in the DataFormat section near the end of this document.
IDSOModule::GetData
Description
This method returns the specified acquisition data.
ODL Syntax
HRESULT GetData( [in] long FirstSample,
[in] long NumSamples, [out, retval] VARIANT* pData )
37
Deprecated
Arguments
FirstSample The sample number of the first sample to return. Sample numbers start with 0.
NumSamples The number of samples to return.
pData The acquisition data. The composition and format of the data is determined by
the IDSOModule::DefineDataFormat() call.
Data is returned as a VARIANT. The variant is of type VT_ARRAY
and points to a SAFEARRAY. The SAFEARRAY has a dimension of one and has NumSamples entries.
If the data type is TLA700_BINARY, the SAFEARRAY is of element type VT_I2 (short).
If the data type is TLA700_TEXT_* the element type is VT_BSTR (string).
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATA_FORMAT
TLA700_E_ VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_INVALID_FIRST_SAMPLES Invalid "FirstSample" argument.
TLA700_E_INVALID_NUM_SAMPLES Invalid "NumSamples" argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_BUFFER_LIMIT_EXCEEDED
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
A valid data format must be defined before calling this method. The data format you defined previously may no longer be valid.
The size of the requested data buffer exceeded the maximum limit.
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim NumSamples As Long Dim DataArray As Variant
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module. Set DSO = Sys.GetModuleBySlot(Slot)
‘Get main data in binary format. DSO.DefineDataFormat "ChannelList:1,2",0 DataArray = DSO.GetData(0, NumSamples)
Process samples. ForI=0ToNumSamples - 1
`Process DataArray(I)
Next I
38
Deprecated
Remarks
The value specified for FirstSample must be greater than or equal to zero and less than the total number of samples acquired. NumSamples must be greater than zero, and FirstSample + NumSamples must be less than or equal to the total number of samples acquired. If these conditions are not met, an error code is returned.
A data format must be defined using IDSOModule::DefineDataFormat() before calling this method.
The TLA700 server allocates the space for the array of data. The client is responsible for freeing the space when it is no longer in use.
If the data is of type TLA700_BINARY, the actual data value in volts corresponding to each binary (short) value returned may be calculated as follows:
<Data value in volts> = ((<vertical range in volts> / 64512) * <binary data value>) +
<vertical offset in volts>
The vertical range and offset may be obtained using IDSOModule::GetDataRange and IDSOModule::GetDataOffset.
IDSOModule::GetDataOffset
Description
This method returns the vertical offset for the current acquisition data of a channel. This value is used to interpret binary acquisition data obtained from the module.
ODL Syntax
HRESULT GetDataOffset([in] long Channel ,
[out, retval] double* pOffset )
Arguments
Channel The number of the channel. This value should be in the range 1…n
where n is the total number of channels in the DSO.
pOffset The vertical offset of the channel in volts.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_CHANNEL Invalid “Channel” argument.
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object
Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim Offset As Double
the operation.
Set App = CreateObject("TLA700.Application")
Get system.
39
Deprecated
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Get data offset.
Offset = DSO.GetDataOffset(1)
Remarks
The value returned is the vertical offset for the data currently in the module.
IDSOModule::GetDataRange
Description
This method returns the vertical range for the current acquisition data of a channel, which is used to interpret binary acquisition data obtained from the module.
ODL Syntax
HRESULT GetDataRange( [in] long Channel,
[out, retval] double* pRange )
Arguments
Channel The number of the channel. This value should be in the range 1…n,
where n is the total number of channels in the DSO.
pRange The vertical range of the channel in volts.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_CHANNEL Invalid “Channel” argument.
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim Range As Double
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Get data range.
Range = DSO.GetDataRange(1)
40
Deprecated
Remarks
The value returned is the vertical range for the data currently in the module.
IDSOModule::GetDataSamplePeriod
Description
This method returns the sample period for the module’s current acquisition data.
ODL Syntax
HRESULT GetSamplePeriod( [out] long* pPeriodHighWord,
[out] long* pPeriodLowWord )
Arguments
pPeriodHighWord The higher word of the period in picoseconds.
pPeriodLowWord The lower word of the period in picoseconds.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim PeriodHigh As Long Dim PeriodLow As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Get sample period.
DSO.GetDataSamplePeriod PeriodHigh, PeriodLow
Remarks
The value returned is the sample period for the data currently in the module. It is a 64-bit value. This method returns the value in the form of two long values representing the high and low words. Although the low word is returned as a signed long value, treat it as an unsigned value.
41
Deprecated
IDSOModule::GetEndTime
Description
This method returns the end time of the module.
ODL Syntax
HRESULT GetEndTime( [out] long* pTimeHighWord,
[out] long* pTimeLowWord )
Arguments
pTimeHighWord The higher word of the end time in picoseconds.
pTimeLowWord The lower word of the end time in picoseconds.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim TimeHigh As Long Dim TimeLow As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Get end time.
DSO.GetEndTime TimeHigh, TimeLow
Remarks
End time is a 64-bit value. This method returns this value in the form of two long values representing the high and low words. Though the low word is returned in a signed long value, it is to be treated as an unsigned value.
End time is equivalent to the timestamp of the last sample in the acquisition buffer. Its value is the number of pico-seconds that have elapsed since the start of the acquisition. The start of the acquisition is the moment at which the system is enabled to begin acquiring data, however, there will always be some elapsed time before actual acquisition begins. Other factors such as acquisition buffer depth, clock rate, storage qualification or delay while waiting for a trigger condition to occur can also lengthen the period of time between the start of the acquisition and the time of the last sample in the storage buffer.
system is acquiring data.
operation.
42
Deprecated
The End time value is reported in terms of pico-seconds, and has been adjusted to include the frame offset and user specified time alignment values, if any. If additional, user defined, per-channel offsets are specified, those offsets are not reflected in the End time value returned by this method. For a further explanation of these values, see the discussion of Timestamp values in the DataFormat section near the end of this document.
IDSOModule::GetNumSamples
Description
This method returns the number of samples in the acquisition memory of the module.
ODL Syntax
HRESULT GetNumSamples( [out, retval] long* pNumSamples )
Arguments
pNumSamples The number of samples in the acquisition memory of this module.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
The operation cannot be performed when the system is acquiring data.
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim NumSamples As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Get number of samples.
NumSamples = DSO.GetNumSamples
Remarks
This method will return a value of zero if no data is available.
IDSOModule::GetStartTime
Description
This method returns the start date and start time for the module acquisition.
ODL Syntax
HRESULT GetStartTime( [out, retval] VARIANT* pDate )
43
Deprecated
Arguments
pDate The start date and start time of the module acquisition. This is returned as a
VARIANT. The variant is of type VT_DATE.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim StartTime As Date
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem Get module in slot 3. Set DSO = Sys.GetModuleBySlot(3)
Get start time. StartTime = DSO.GetStartTime
The operation cannot be performed when the system is acquiring data.
Remarks
The start of an acquisition is not the same as the first sample of data. The start of an acquisition is the moment at which the system is enabled to begin acquiring data. It takes some finite amount of time after the start of the acquisition before a module can actually store a sample of data.
IDSOModule::GetTriggerTime
Description
This method returns the time stamp for the trigger sample of the acquired data for the module.
ODL Syntax
HRESULT GetTriggerTime( [out] long* pTimeHighWord,
[out] long* pTimeLowWord )
Arguments
pTimeHighWord The higher word of the trigger time in picoseconds.
pTimeLowWord The lower word of the trigger time in picoseconds.
44
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the
system is acquiring data.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim TimeHigh As Long Dim TimeLow As Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module. Set DSO = Sys.GetModuleBySlot(Slot)
Get trigger time. DSO.GetTriggerTime TimeHigh, TimeLow
Remarks
Trigger time is a 64-bit value. This method returns the value in the form of two long values representing the high and low words. Though the low word is returned as a signed long value, it is to be treated as an unsigned value.
Trigger time is equivalent to the timestamp of the trigger sample in the acquisition buffer. Its value is the number of pico-seconds that have elapsed since the start of the acquisition. The start of the acquisition is the moment at which the system is enabled to begin acquiring data, however, there will always be some elapsed time before actual data acquisition begins. Other factors such as acquisitions buffer depth, clock rate, storage qualification of delay while waiting for a trigger condition to occur can also lengthen the period of time between the start of the acquisition and the time of the trigger sample in the storage buffer.
The Trigger time value is reported in terms of pico-seconds, and has been adjusted to include the frame offset and user specified time alignment values, if any. If additional, user defined, per-channel offsets are specified, those offsets are not reflected in the Trigger time value returned by this method. For a further explanation of these values, see the discussion of Timestamp values in the DataFormat section near the end of this document.
IDSOModule::GetTriggerSample
Description
This method returns the sample number of the trigger sample of the module.
ODL Syntax
HRESULT GetTriggerSample( [out, retval] long* pTriggerSample )
45
Deprecated
Arguments
pTriggerSample The sample number of the trigger sample of this module.
Samples are numbered from 0.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the
TLA700_E_NO_TRIGGER_SAMPLE There is no trigger sample.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long Dim TriggerSample As Long
system is acquiring data.
operation.
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module. Set DSO = Sys.GetModuleBySlot(Slot)
Get trigger sample. TriggerSample = DSO.GetTriggerSample
IDSOModule::LoadModule
Description
This method loads a module from the specified TLA system or module file onto the current module.
ODL Syntax
HRESULT LoadModule( [in] BSTR ModulePath,
[in] BSTR ModuleName )
Arguments
ModulePath The full path to the specified TLA system or module file.
For example: "C:\My Documents\My System.tla"
ModuleName The name of the module in the specified file to load.
46
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_LOAD_INVALID_FILE An error occurred opening the file for reading.
TLA700_E_LOAD_INVALID_MODULE_NAME Invalid “ModuleName” argument.
TLA700_E_LOAD_INVALID_MODULE_TYPE The module specified is not compatible.
TLA700_E_LOAD_NOT_ENOUGH_CHANNELS
TLA700_E_LOAD_MODULE_ERROR An error occurred loading a module from the file.
TLA700_E_SYSTEM_RUNNING
TLA700_E_OUT_OF_MEMORY
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long
There are not enough channels to load the specified module.
The operation cannot be performed when the system is acquiring data.
There is not enough memory to perform the operation.
The operation was disallowed because a modal dialog is open.
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module. Set DSO = Sys.GetModuleBySlot(Slot)
‘Load module. DSO.LoadModule "C:\My Documents\System1.tla", "DSO 1"
Remarks
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
Under some circumstances, when this operation is performed under the TLA Application Graphical User Interface, the user will be prompted to approve changes to some trigger actions. The purpose of the changes (if any) is to adjust individual module trigger programs for compatibility with System Trigger specification. When this operation is performed using the programmatic interface (TPI), no user prompt is possible and restored trigger programs will not be altered.
47
Deprecated
IDSOModule::Name
Description
This property allows the client to retrieve or set the name of the logical module.
ODL Syntax
[
propget ] HRESULT Name( [out, retval] BSTR* pModuleName )
[
propput ] HRESULT Name( [in] BSTR ModuleName )
Arguments (propget)
pModuleName - The name of the logical module.
Arguments (propput):
ModuleName - The name of the logical module.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_MODULE_NAME Invalid “ModuleName” argument.
TLA700_E_DUPLICATE_MODULE_NAME This module name is already in use.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN
Example
(Microsoft Visual Basic)
The operation was disallowed because a modal dialog is open.
Dim App As Object Dim Sys As Object Dim DSO As Object Dim ModuleName As String
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
‘Get module in slot 3.
Set DSO = Sys.GetModuleBySlot(3)
Get module name.
ModuleName = DSO.Name
Set module name.
DSO.Name = "My DSO"
48
Deprecated
Remarks
When retrieving the name, the TLA server will allocate the space for the returned string. The client is responsible for freeing it when it is no longer in use.
A module name cannot exceed twelve characters in length and must contain at least one non-whitespace character. Modules must be assigned unique names.
IDSOModule::SaveModule
Description
This method saves the module setup and, optionally, the acquisition data to a file.
ODL Syntax
HRESULT SaveModule( [in] BSTR ModulePath,
[in] BSTR UserComment, [in] long SaveData )
Arguments
ModulePath The full path to the destination file.For example:
"C:\My Documents\My Module.tla"
UserComment The user comment to be saved in the file.
SaveData This flag takes one of the values from the following table:
Value Description
TLA700_SAVE_NO_DATA (0) Do not save acquisition data in file.
TLA700_SAVE_DATA (1) Save acquisition data in file.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_SAVE_DATA Invalid “SaveData” argument.
TLA700_E_SAVE_INVALID_FILE An error occurred opening this file for writing.
TLA700_E_SAVE_OUT_OF_SPACE
TLA700_E_SAVE_ERROR An error occurred during the save operation.
TLA700_E_SYSTEM_RUNNING
TLA700_E_OUT_OF_MEMORY
TLA700_E_SAVE_FILE_SIZE_LIMIT_EXCEEDED
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim DSO As Object Dim Slot As Long
There is not enough disk space to perform this operation.
The operation cannot be performed when the system is acquiring data.
There is not enough memory to perform the operation.
The save operation cannot be performed because the size of the saved file will exceed the maximum limit supported by the file system.
49
Deprecated
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set DSO = Sys.GetModuleBySlot(Slot)
Save module.
DSO.SaveModule "C:\My Documents\a.tla", "My module",1
Remarks
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
If the file already exists, it will be overwritten.
ILAModule::DefineDataFormat
Description
This method is used to specify the format of the data to be returned in subsequent queries for acquisition data (using ILAModule::GetData() and ILAModule::ExportData()).
ODL Syntax
HRESULT DefineDataFormat( [in] long DataSet,
[in] BSTR Components, [in] long DataType, [out, retval] long* pBytesPerSample )
Arguments
DataSet This takes one of the following values:
Value Description
TLA700_MAIN_DATASET (0) Main DataSet
TLA700_MAGNIVU_DATASET (1) MagniVu DataSet
TLA700_VIOLATION_DATASET (2)
Components This takes one of the following forms:
• "RawWithTimestamp" Raw samples, ungrouped, including time stamp data.
• "RawWithoutTimestamp" Raw samples, ungrouped, without time stamp data.
Note: Channel polarity for the following grouped formats is used as specified in the LA Setup Window.
"AllGroupsWithTimestamp" Data is returned grouped according to the current channel grouping. Data for all channel groups is returned in the order in which groups are defined in the LA Setup window. Time stamp data is also returned.
"AllGroupsWithoutTimestamp" Data is returned grouped according to the current channel grouping. Time stamp data is not returned. Data for all channel groups is returned in the order in which groups are defined in the LA Setup Window.
"GroupList:<grp>,<grp>,<grp>,Timestamp" Specifies exactly which channel groups to return and the order in which they are to be returned. Groups are specified using their user names as shown in the LA Setup window. The same group can be included more than once. There is no way to get a "Sample number" group. Do not use any extra white space when specifying the group list. To get time stamp data, include "Timestamp" in the list.
Glitch or Setup and Hold DataSet
50
Deprecated
For details on the format of these components, refer to the following topics:
Binary data formats for LA modules
Text data formats for LA modules When acquisition data is returned in a raw format, time stamp values are returned in units of "ticks" where each tick represents a fixed amount of time. To obtain the time stamp values in picoseconds, it must be adjusted as follows:
Time stamp value in ps = (Time stamp value in ticks *Time stamp Multiplier) +Expansion mainframe Offset +User-defined time alignment in ps
The Time stamp Multiplier is obtained by calling ILAModule::GetTimestampMultiplier(). Expansion Mainframe Offset is 36000 ps if the module is in an expansion mainframe or 0 ps if it is not. User-defined time alignment is any time alignment defined for the module by the user.
When acquisition data is returned in a grouped format, time stamp values are returned in picoseconds, using the above calculation such that frame offset and user offset, if any are incorporated into the value.
DataType This takes one of the values from the following table:
Value Description
TLA700_BINARY (0) Binary
TLA700_TEXT_SPACE (1) ASCII, space delimiter
TLA700_TEXT_TAB (2) ASCII, tab delimiter
TLA700_TEXT_COMMA (3) ASCII, comma delimiter
pBytesPerSample The number of bytes required per sample. The value returned is for the data format specified in this call. This value is meaningful only for binary data formats. For text data formats, the value returned is –1.
Refer to ILAModule::GetBytesPerSample() for details.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATASET Invalid “DataSet” argument.
TLA700_E_INVALID_COMPONENTS Invalid “Components” argument.
TLA700_E_INVALID_DATA_TYPE Invalid “DataType” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Slot As Long Dim BytesPerSample As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module in slot 3.
51
Deprecated
Set LA = Sys.GetModuleBySlot(3)
Get main data in binary grouped format.
BytesPerSample = LA.DefineDataFormat(0,"GroupList:A2,A3",0)
Remarks
Remember to invoke ILAModule::DefineDataFormat() after making calls to set up your module. Operations, such as ILAModule::LoadModule(), can change the setup of the module and may invalidate a previously defined data format.
If a grouped format is specified, groups that are empty are ignored. For grouped formats, an error is returned if the total amount of grouped data (excluding time stamp) is not greater than 0 bytes.
Because the comma is used to delimit groups in the "GroupList:…" form of the Components argument, a group name cannot contain a comma. Since the string Timestamp is used to retrieve time stamp values in the same context, groups cannot be named Timestamp.
The Timestamp group cannot be specified with the MagniVu data set.
See Tips for improving LA data transfer performance for information about optimizing the acquisition data transfer.
ILAModule::DeleteChannelGroup
Description
This method is used to delete a channel group.
ODL Syntax
HRESULT DeleteChannelGroup( [in] BSTR UserChannelGroupName )
Arguments
UserChannelGroupName – This is the name of the current group to be deleted.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_USER_CHANNEL_GROUP_NAME Invalid “UserChannelGroupName”.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
operation.
modal dialog is open.
‘Delete the channel group named Address LA.DeleteChannelGroup "Address"
52
Deprecated
ILAModule::Enabled
Description
This property allows the client to enable/disable the logical module.
ODL Syntax
[
propget ] HRESULT Enabled( [out, retval] VARIANT_BOOL* pEnabled )
[
propput ] HRESULT Enabled( [in] VARIANT_BOOL Enabled )
Arguments (propget)
pEnabled - The enabled status of the logical module.
Arguments (propput):
Enabled - The enabled status of the logical module.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the
system is acquiring data.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
dialog box is open.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Enabled As Boolean
Set App = CreateObject("TLA700.Application") Get system. Set Sys = App.GetSystem
‘Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Get enabled status. Enabled = LA.Enabled Enable module. LA.Enabled = True
53
Deprecated
ILAModule::ExportData
Description
This method exports the specified acquisition data to a file.
ODL Syntax
HRESULT ExportData( [in] long FirstSample,
[in] long NumSamples, [in] BSTR DataPath, [in] long Mode )
Arguments
FirstSample The sample number of the first sample to export.
NumSamples The number of samples to export.
DataPath The complete path to the destination file. For example:
"C:\My Documents\My Data.txt" for text format "C:\My Documents\My Data.tbf" for binary format
Mode This argument takes one of the following values:
Value Description
TLA700_APPEND (0) Causes the new data to be appended to the
TLA700_OVERWRITE (1) Causes the file to be overwritten.
The composition and format of the data must be specified by the ILAModule::DefineDataFormat() call.
If the data type is TLA700_BINARY, the file is a stream of bytes, each sample consisting of ILAModule::GetBytesPerSample() bytes.
If the data type is TLA700_TEXT_*, the file consists of a stream of newline-separated strings, one string per sample.
existing contents of the file.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATA_FORMAT A valid data format must be defined before calling this
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_INVALID_FIRST_SAMPLE Invalid “FirstSample” argument.
TLA700_E_INVALID_NUM_SAMPLES Invalid “NumSamples” argument.
TLA700_E_INVALID_MODE Invalid “Mode” argument.
TLA700_E_EXPORT_INVALID_FILE An error occurred opening this file for writing.
TLA700_E_EXPORT_ERROR An error occurred during the export operation.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object
54
method. The data format you defined previously may no longer be valid.
Deprecated
Dim Sys As Object Dim LA As Object Dim BytesPerSample As Long
Set App = CreateObject("TLA700.Application") Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
‘Export data in text format. BytesPerSample = LA.DefineDataFormat(0,"GroupList:A2,A3",1) LA.ExportData 0,10,"C:\export.txt",0
Remarks
The value specified for FirstSample must be greater than or equal to zero and less than the total number of samples acquired. NumSamples must be greater than zero, and FirstSample + NumSamples must be less than or equal to the total number of samples. If these conditions are not met, an error code is returned.
When sample suppression is not being used:
(FirstSample >= 0) and (FirstSample < Total # of acquired samples)
(NumSamples > 0) and ((FirstSample + NumSamples) <= Total # of acquired samples)
When sample suppression is being used:
(FirstSample >= 0) and (FirstSample < Total # of unsuppressed samples)
(NumSamples > 0) and ((FirstSample+NumSamples) <= Total # of unsuppressed samples)
A data format must be defined using ILAModule::DefineDataFormat() before calling this method.
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
ILAModule::GetBeginTime
Description
This method returns the begin time of the module for the specified data set.
ODL Syntax
HRESULT GetBeginTime( [in] long DataSet,
[out] long* pTimeHighWord, [out] long* pTimeLowWord )
Arguments
DataSet This takes one of the values from the following table:
Value Description
TLA700_MAIN_DATASET (0) Main DataSet
TLA700_MAGNIVU_DATASET (1) MagniVu DataSet
TLA700_VIOLATION_DATASET (2) Glitch or Setup and Hold DataSet
pTimeHighWord The higher word of the begin time in picoseconds.
pTimeLowWord The lower word of the begin time in picoseconds.
55
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATASET Invalid “DataSet” argument.
TLA700_E_SYSTEM_RUNNING
TLA700_E_NO_SAMPLES There are no data samples.
TLA700_E_OUT_OF_MEMORY
TLA700_E_FAILED The operation was unsuccessful.
The operation cannot be performed when the system is acquiring data.
There is not enough memory to perform the operation.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim TimeHigh As Long Dim TimeLow As Long Dim DataSet as Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get begin time. DataSet = 0 LA.GetBeginTime DataSet,TimeHigh,TimeLow
Remarks
The values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION_DATASET are the same, provided that glitches or setup and hold data were acquired.
Begin time is a 64-bit value. This method returns the value in the form of two long values representing the high and low words. Though the low word is returned in a signed long value, it is to be treated as an unsigned value.
Begin time is equivalent to the timestamp of the first sample in the acquisition buffer. Its value is the number of pico-seconds that have elapsed since the start of the acquisition. The start of the acquisition is the moment at which the system is enabled to begin acquiring data, however, there will always be some elapsed time before actual data acquisition begins. Other factors such as acquisition buffer depth, clock rate, storage qualification or delay while waiting for a trigger condition to occur can also affect the period of time between the start of the acquisition and the time of the first sample in the storage buffer.
The Begin time value is reported in terms of pico-seconds, and has been adjusted to include the frame offset and user specified time alignment values, if any. For a further explanation of these values, see the discussion of Timestamp values in the DataFormat section near the end of this document.
56
Deprecated
ILAModule::GetBytesPerSample
Description
This method returns the number of bytes required for each sample of data when a binary data format is specified.
ODL Syntax:
HRESULT GetBytesPerSample( [out, retval] long* pBytesPerSample )
Arguments
pBytesPerSample The number of bytes required per sample. This value is for the current
data format that was specified in the most recent call to ILAModule::DefineDataFormat(). This value is meaningful only if a binary data format was specified. If a text data format was specified, the value returned is –1.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATA_FORMAT A valid data format must be defined before calling this
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
method. The data format you defined previously may no longer be valid.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim BytesPerSample As Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
BytesPerSample = LA.DefineDataFormat(0,"GroupList:A2,A3",0) BytesPerSample = LA.GetBytesPerSample
Remarks
A data format must be defined using ILAModule::DefineDataFormat() before calling this method. The value returned is meaningful only for binary data formats.
57
Deprecated
ILAModule::GetChannelGroup
Description
This method is used to get of channels assigned to a channel group.
ODL Syntax
HRESULT GetChannelGroup( [in] BSTR UserChannelGroupName,
[out, retval] BSTR* ChannelNameList )
Arguments
UserChannelGroupName This is the user defined name of the channel group whose
channel list is to be retrieved
ChannelNameList This is the list of channel names assigned to the channel
group. For individual channels the syntax is the hardware pod name followed by the channel number enclosed in parentheses, (e.g. A0(1), A0(2), etc.). Groups of contiguous channels can be specified using a similar syntax’ using a range of channel numbers within the parentheses, (e.g. A0(7-0), A1(3-5), etc.). When all of the channels in a hardware pod are to be specified, a shorthand notation is allowed using just an empty pair of parentheses, (e.g. A0(), A1(), etc.). The syntax for clock and qualifier channels is the type identifier "CK" or "Q" respectively, followed by a number, (e.g. CK0, CK1, Q0, Q1, etc.). Multiple channels or channel groups can be specified using a comma separated list. Embedded spaces are not allowed.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_USER_CHANNEL_GROUP_NAME Invalid “UserChannelGroupName”
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim ChannelList As String
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
… ‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
argument.
the operation.
58
Deprecated
‘Get the channel list assigned to group "Address" ChannelList = LA.GetChannelGroup("Address")
ILAModule::GetChannelName
Description
This method is used to get the user assigned name for a channel of this module.
ODL Syntax
HRESULT GetChannelName( [in] BSTR HWChannelName
[out, retval] BSTR*
UserChannelName )
Arguments
HWChannelName
UserChannelName
HRESULT Return Codes
This is the hardware name of the channel whose user name is to be retrieved. For normal acquisition channels, the syntax is the hardware pod name followed by the channel number enclosed in parentheses, (e.g. A0(1), A0(2) etc.). The syntax for clock and qualifier channels is the type identifier "CK" or "Q" respectively, followed by a number, (e.g. CK0, CK1, Q0, Q1, etc.).
The user name assigned to the channel
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_HW_CHANNEL_NAME Invalid “HW ChannelName” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Name As String
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
‘Get User channel name for probe C3, channel 4 Name = LA.GetChannelName("C3(4)")
59
Deprecated
ILAModule::GetCounterValue
Description
This method returns the final value of a module counter from the last acquisition.
ODL Syntax
HRESULT GetCounterValue( [in] long CounterID,
[out] long* pCounterHighWord, [out] long* pCounterLowWord )
Arguments
CounterID Identifies the counter. It is either 1 or 2.
pCounterHighWord The higher word of the end value of the specified counter.
pCounterLowWord The lower word of the end value of the specified counter.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_COUNTER_ID Invalid “CounterID” argument.
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_COUNTER_NOT_USED The counter is not currently being used.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Slot As Long Dim CounterHigh As Long Dim CounterLow As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Get counter value.
LA.GetCounterValue 1,CounterHigh,CounterLow
60
Deprecated
Remarks
A counter value is a 64-bit value. This method returns the value in the form of two 32-bit long values representing the high and low words. Although the low word is returned as a signed long value, treat it as an unsigned value.
Counter values are not available when the TLA server is running.
All TLA600 Series Logic Analyzers and all logic analyzer modules use 64 bits for the counter, however the counter values are represented differently. For TLA600 Series Logic Analyzers and TLA7Lx/Mx/Nx/Px/Qx Series Logic Analyzer modules, the 64 bits represent an unsigned value, ranging from 0 to (2^64)-1. The TLA7Axx Series Logic Analyzer modules have counters that can be decremented and the counter values can be negative. As a result, the 64 counter bits are a two’s complement representation of a signed value ranging from –(2^63) to +(2^63)-1.
To interpret the counter value correctly, a TPI client must know whether the value is signed or unsigned. The counter representation depends on the logic analyzer module type. Use the ISystem::GetModulePropertiesBySlot method to determine the logic analyzer module type. If the module is a TLA7Axx Series Logic Analyzer module, then the 64 bit counter is signed; otherwise, the counter is unsigned.
ILAModule::GetData
Description
This method returns the specified acquisition data.
ODL Syntax
HRESULT GetData( [in] long FirstSample,
[in] long NumSamples, [out, retval] VARIANT* pData )
Arguments
FirstSample The sample number of the first sample to return. Sample numbers start with 0.
NumSamples The total number of samples to return.
pData
The acquisition data. The composition and format of the data is determined by the ILAModule::DefineDataFormat() call. Data is returned as a VARIANT. The variant is of type VT_ARRAY and points to a SAFEARRAYThe SAFEARRAY has a dimension of one and has NumSamples entries.
If the data type is TLA700_BINARY, the SAFEARRAY is of element type VT_UI1 (unsigned char). The size of the array is: NumSamples * ILAModule::GetBytesPerSample().
If the data type is TLA700_TEXT_*, the element type is VT_BSTR (string). The size of the array is NumSamples.
61
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_COUNTER_ID Invalid "CounterID" argument.
TLA700_E_ VALUE_NOT AVAILABLE The required value(s) are not available.
TLA700_E_COUNTER_NOT_USED The counter is not currently being used.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_BUFFER_LIMIT_EXCEEDED The size of the requested data buffer exceeded the
maximum limit.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim BytesPerSample As Long Dim NumSamples As Long Dim DataArray As Variant
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
‘Get main data in binary grouped format. BytesPerSample = LA.DefineDataFormat(0,"GroupList:A2,A3",0) DataArray = LA.GetData(0,NumSamples)
Process samples. ForI=0ToNumSamples * NumBytesPerSample –
NumBytesPerSample Step NumBytesPerSample
Process the J bytes in Ith sample.
ForJ=0ToNumBytesPerSample - 1
Process DataArray(I + J)
Next J
Next I
62
Deprecated
Remarks
The value specified for FirstSample must be greater than or equal to zero and less than the total number of samples. NumSamples must be greater than zero and FirstSample + NumSamples must be less than or equal to the total number of samples. This implies the following:
When sample suppression is not being used:
(FirstSample >= 0) and (FirstSample < Total # of acquired samples)
(NumSamples > 0) and ((FirstSample + NumSamples) <= Total # of acquired samples)
When sample suppression is being used:
(FirstSample >= 0) and (FirstSample < Total # of unsuppressed samples)
(NumSamples > 0) and ((FirstSample+NumSamples) <= Total # of unsuppressed samples)
A data format must be defined using ILAModule::DefineDataFormat () before calling this method. The TLA server will allocate the space for the array of data. The client is responsible for freeing it when it is no longer in use.
For information on important performance considerations see Tips for Improving Data Transfer Performance.
When using Internal 2X, Internal 4X, External 2X, or External 4X clocking modes, the acquired data appears different than when using standard Internal or External clocking modes. For example when using Internal clocking, External clocking, or Source Synchronous clocking, one data sample in the listing window equates to one data sample in the acquisition memory. However if you use Internal 2X clocking or External 2X clocking, two data samples in the Listing window equate to one data sample in the acquisition memory. If you use Internal 4X clocking or External 4X clocking, four data samples in the Listing window equate to one data sample in acquisition memory. However, in both cases, the Listing window displays dashes for duplicate demultiplex group values while the data returned by TPI shows the actual values. For more information, see Internal 2X clocking mode, Internal 4X clocking mode, External 2X clocking mode, External 4X clocking mode in the Appendix, or refer to the TLA application online help.
ILAModule::GetEndTime
Description
This method returns the end time of the module for the specified data set.
ODL Syntax
HRESULT GetEndTime( [in] long DataSet,
[out] long* pTimeHighWord, [out] long* pTimeLowWord )
Arguments
DataSet This takes one of the values from the following table:
Value Description
TLA700_MAIN_DATASET (0) Main DataSet
TLA700_MAGNIVU_DATASET (1) MagniVu DataSet
TLA700_E_VIOLATION_DATASET (2)
pTimeHighWord The higher word of the end time in picoseconds.
pTimeLowWord The lower word of the end time in picoseconds.
Glitch or Setup and Hold DataSet
63
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATASET Invalid “DataSet” argument.
TLA700_E_SYSTEM_RUNNING
TLA700_E_NO_SAMPLES There are no data samples.
TLA700_E_OUT_OF_MEMORY
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim TimeHigh As Long Dim TimeLow As Long Dim DataSet as Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get end time. DataSet = 0 LA.GetEndTime DataSet,TimeHigh,TimeLow
The operation cannot be performed when the system is acquiring data.
There is not enough memory to perform the operation.
Remarks
The values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION_DATASET are the same, provided that glitches or setup and hold data were acquired.
End time is a 64-bit value. This method returns the value in the form of two long values representing the high and low words. Though the low word is returned in a signed long value, it is to be treated as an unsigned value.
End time is equivalent to the timestamp of the last sample in the acquisition buffer. Its value is the number of pico-seconds that have elapsed since the start of the acquisition. The start of the acquisition is the moment at which the system is enabled to begin acquiring data, however, there will always be some elapsed time before actual data acquisition begins. Other factors such as acquisition buffer depth, clock rate, storage qualification or delay while waiting for a trigger condition to occur can also affect the period of time between the start of the acquisition and the time of the last sample in the storage buffer.
The End time value is reported in terms of pico-seconds, and has been adjusted to include the frame offset and user specified time alignment values, if any. For a further explanation of these values, see the discussion of Timestamp values in the DataFormat section near the end of this document.
64
Deprecated
ILAModule::GetGroupNames
Description
This method retrieves the names of all groups defined in the module setup.
ODL Syntax
HRESULT GetGroupNames( [out, retval] VARIANT* pGroupNames )
Arguments
pGroupNames – The group names.
Group names are returned as a VARIANT. The variant is of type VT_ARRAY and points to a SAFEARRAY. The SAFEARRAY has dimension 1 and the elements are of type VT_BSTR. The number of groups is equal to the number of elements in the SAFEARRAY. The groups are returned in the same order as they are specified in the LA Setup Window.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim G As Variant Dim Groups As Variant
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get group names. Groups = LA.GetGroupNames `Access group names. For Each G In Groups Use group name in G. Next G
Remarks
If there are no groups defined, the SAFEARRAY returned will be empty.
65
Deprecated
ILAModule::GetGroupSize
Description
This method retrieves the number of channels in a specified group defined in the module setup.
ODL Syntax
HRESULT GetGroupSize( BSTR GroupName, [out, retval] long* pGroupSize )
Arguments
pGroupSize – The number of channels in the specified group.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_GROUP_NAME Invalid “GroupName” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
operation.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim G As Variant Dim Groups As Variant Dim GroupSize As Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get group names. Groups = LA.GetGroupNames `Access group sizes. For Each G In Groups
GroupSize = LA.GetGroupSize( G )
Next G
Remarks
This method returns the actual number of channels in the specified group. When data is transferred in binary via GetData()/ExportData(), channel groups are padded to the nearest byte boundary.
66
Deprecated
ILAModule::GetNumSamples
Description
This method returns the number of unsuppressed samples in the acquisition memory of the module for the specified data set.
ODL Syntax
HRESULT GetNumSamples( [in] long DataSet,
[out, retval] long* pNumSamples )
Arguments
DataSet This takes one of the values from the following table:
Value Description
TLA700_MAIN_DATASET (0) Main DataSet
TLA700_MAGNIVU_DATASET (1) MagniVu DataSet
TLA700_VIOLATION_DATASET (2) Glitch or Setup and Hold DataSet
pNumSamples The number of samples in the acquisition memory of this module.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATASET Invalid “DataSet” argument.
TLA700_E_SYSTEM_RUNNING
The operation cannot be performed when the system is acquiring data.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim NumSamples As Long Dim DataSet As Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get number of samples. DataSet = 0 NumSamples = LA.GetNumSamples(DataSet)
operation.
67
Deprecated
Remarks
This method will return a value of zero if no data is available.
The values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION_DATASET are the same, provided glitches or setup and hold violations were acquired.
If sample suppression is being used, the values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION_DATASET reflect the number of samples that are not suppressed.
ILAModule::GetStartTime
Description
This method returns the start date and start time for the module’s acquisition.
ODL Syntax
HRESULT GetStartTime( [out, retval] VARIANT* pDate )
Arguments
pDate The start date and start time of the module’s acquisition. This is returned as a
VARIANT. The variant is of type VT_DATE.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_SYSTEM_RUNNING
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
The operation cannot be performed when the system is acquiring data.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim StartTime As Date
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get start time. StartTime = LA.GetStartTime
Remarks
The start of an acquisition is not the same as the first sample of data. The start of an acquisition is the moment at which the system is enabled to begin acquiring data. It takes some finite amount of time after the start of the acquisition before a module can actually store a sample of data.
68
Deprecated
ILAModule::GetTimerValue
Description
This method returns the final value of a module timer from the last acquisition.
ODL Syntax
HRESULT GetTimerValue( [in] long TimerID,
[out] long* pTimerHighWord, [out] long* pTimerLowWord )
Arguments
TimerID Identifies the timer. It is either 1 or 2.
pTimerHighWord The higher word of the end value of the specified timer in picoseconds.
pTimerLowWord The lower word of the end value of the specified timer in picoseconds.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_TIMER_ID Invalid “TimerID” argument.
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_TIMER_NOT_USED The timer is not currently being used.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Slot As Long Dim TimerHigh As Long Dim TimerLow As Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get timer value. LA.GetTimerValue 1,TimerHigh,TimerLow
Remarks
A timer value is a 64-bit value. This method returns the value in the form of two 32-bit long values representing the high and low words. Although the low word is returned as a signed long value, treat it as an unsigned value.
Timer values are not available when the TLA server is running.
69
Deprecated
ILAModule::GetTimestampMultiplier
Description
This multiplier is to be used only when acquisition data is returned in binary format. This method returns the value that must be multiplied with a timestamp value to obtain the final timestamp value in picoseconds. This multiplier is to be used only when data is returned in RawWithTimestamp format.
ODL Syntax
HRESULT GetTimestampMultiplier( [out, retval] long* pMultiplier )
Arguments
pMultiplier The time stamp multiplier.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_VALUE_NOT_AVAILABLE The required value(s) are not available.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Multiplier As Long
Set App = CreateObject("TLA700.Application") Get system.
Set Sys = App.GetSystem ‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get time stamp multiplier. Multiplier = LA.GetTimestampMultiplier
ILAModule::GetTriggerSample
Description
This method returns the sample number of the trigger sample of the module for the specified data set.
ODL Syntax:
HRESULT GetTriggerSample( [in] long DataSet,
[out, retval] long* pTriggerSample )
70
Deprecated
Arguments
DataSet This takes one of the following values:
Value Description
TLA700_MAIN_DATASET (0) Main DataSet
TLA700_MAGNIVU_DATASET (1) MagniVu DataSet
TLA700_VIOLATION_DATASET (2) Glitch or Setup and Hold DataSet
pTriggerSample The sample number of the trigger sample of this module.
Samples are numbered from 0.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATASET Invalid “DataSet” argument.
TLA700_E_SYSTEM_RUNNING
TLA700_E_NO_TRIGGER_SAMPLE There is no trigger sample.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
The operation cannot be performed when the system is acquiring data.
Dim App As Object Dim Sys As Object Dim LA As Object Dim TriggerSample As Long Dim DataSet As Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get trigger sample. DataSet = 0 TriggerSample = LA.GetTriggerSample(DataSet)
Remarks
The values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION _DATASET are the same, provided glitches or setup and hold violations were acquired.
If sample suppression is being used and the actual trigger sample is suppressed, the position of the trigger is adjusted to an unsuppressed sample. In this case the values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION_DATASET will reflect the adjusted position of the trigger relative to the unsuppressed samples.
71
Deprecated
ILAModule::GetTriggerTime
Description
This method returns the time stamp of the trigger sample of the module’s acquired data for the specified data set.
ODL Syntax
HRESULT GetTriggerTime( [in] long DataSet,
[out] long* pTimeHighWord,
[out] long* pTimeLowWord )
Arguments
DataSet This takes one of the values from the following table:
Value Description
TLA700_MAIN_DATASET (0) Main DataSet
TLA700_MAGNIVU_DATASET (1) MagniVu DataSet
TLA700_VIOLATION_DATASET (2) Glitch or Setup and Hold DataSet
pTimeHighWord The higher word of the trigger time in picoseconds.
pTimeLowWord The lower word of the trigger time in picoseconds.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_DATASET Invalid “DataSet” argument.
TLA700_E_SYSTEM_RUNNING
TLA700_E_NO_TRIGGER_SAMPLE There is no trigger sample.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim TimeHigh As Long Dim TimeLow As Long Dim DataSet as Long
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
Get trigger time. DataSet = 0
The operation cannot be performed when the system is acquiring data.
operation.
72
Deprecated
LA.GetTriggerTime DataSet,TimeHigh,TimeLow
Remarks
The values returned for TLA700_MAIN_DATASET and TLA700_VIOLATION_DATASET are the same, provided that glitches or setup and hold data were acquired.
Trigger time is a 64-bit value. This method returns the value in the form of two long values representing the high and low words. Though the low word is returned in a signed long value, it is to be treated as an unsigned value.
Trigger time is equivalent to the timestamp of the trigger sample in the acquisition buffer. Its value is the number of pico-seconds that have elapsed since the start of the acquisition. The start of the acquisition is the moment at which the system is enabled to begin acquiring data, however, there will always be some elapsed time before actual data acquisition begins. Other factors such as acquisition buffer depth, clock rate, storage qualification or delay while waiting for a trigger condition to occur can also affect the period of time between the start of the acquisition and the time of the trigger sample in the storage buffer.
The Trigger time value is reported in terms of pico-seconds, and has been adjusted to include the frame offset and user specified time alignment values, if any. For a further explanation of these values, see the discussion of Timestamp values in the DataFormat section near the end of this document.
ILAModule::LoadModule
Description
This method loads a module from the specified TLA system or module file onto the current module.
ODL Syntax
HRESULT LoadModule( [in] BSTR ModulePath,
[in] BSTR ModuleName )
Arguments
ModulePath The full path to the specified TLA system or module file. For example:
"C:\My Documents\My System.tla"
ModuleName The name of the module in the specified file to load.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_LOAD_INVALID_FILE An error occurred opening the file for reading.
TLA700_E_LOAD_INVALID_MODULE_NAME Invalid “ModuleName” argument.
TLA700_E_LOAD_INVALID_MODULE_TYPE The module specified is not compatible.
TLA700_E_LOAD_NOT_ENOUGH_CHANNELS There are not enough channels to load the
TLA700_E_LOAD_NOT_ENOUGH_MODULES There are not enough physical modules to load
TLA700_E_LOAD_MODULE_ERROR An error occurred loading a module from a file.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
TABLE_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
specified module.
the specified module.
system is acquiring data.
operation.
dialog box is open.
73
Deprecated
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
‘Load module. LA.LoadModule "C:\My Documents\System1.tla", "LA 1"
Remarks
Invoking this method does not result in a merge operation even if the destination module does not have enough channels/physical modules.
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
Under some circumstances, when this operation is performed under the TLA Application Graphical User Interface, the user will be prompted to approve changes to some trigger actions. The purpose of the proposed changes (if any) is to adjust individual module trigger programs for compatibility with the System Trigger specification. When this operation is performed using the programmatic (TPI), no user prompt is possible and restored trigger programs will not be altered.
ILAModule::LoadTrigger
Description
This method loads the trigger settings from the specified saved system or module file onto the current module.
ODL Syntax
HRESULT LoadTrigger( [in] BSTR ModulePath,
[in] BSTR ModuleName )
74
Deprecated
Arguments
ModulePath The full path to the saved system or module file.
For example: "C:\My Documents\My System.tla"
ModuleName The name of the module in the specified file whose trigger settings are to be loaded.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_LOAD_INVALID_FILE An error occurred opening the file for reading.
TLA700_E_LOAD_INVALID_MODULE_NAME Invalid “ModuleName” argument.
TLA700_E_LOAD_INVALID_MODULE_TYPE The module specified is not compatible.
TLA700_E_LOAD_MODULE_ERROR An error occurred loading a module from the file.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the system
is acquiring data.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN The operation is disallowed because a modal dialog
is open.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
Get system. Set Sys = App.GetSystem
Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
‘Load trigger. LA.LoadTrigger "C:\My Documents\System1.tla", "LA 1"
Remarks
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
Under some circumstances, when this operation is performed under the TLA Application Graphical User Interface, the user will be prompted to approve changes to some trigger actions. The purpose of the proposed changes (if any) is to adjust individual module trigger programs for compatibility with the System Trigger specification. When this operation is performed using the programmatic (TPI), no user prompt is possible and restored trigger programs will not be altered.
75
Deprecated
ILAModule::MemoryDepth
Description
This property is used to get or set the Memory Depth for this module.
ODL Syntax
[
propget
]
HRESULT MemoryDepth( [out, retval] long* pMemoryDepth )
[
propput ] HRESULT MemoryDepth ( [in] long MemoryDepth )
76
Deprecated
Arguments (propget):
pMemoryDepth The current memory depth setting for the module.
Arguments (propput):
MemoryDepth The memory depth to be set for the module.
Value Description
TLA700_MEMORY_DEPTH_128 (0) 128 samples
TLA700_MEMORY_DEPTH_256 (1) 256 samples
TLA700_MEMORY_DEPTH_512 (2) 512 samples
TLA700_MEMORY_DEPTH_1K (3) 1K samples
TLA700_MEMORY_DEPTH_2K (4) 2K samples
TLA700_MEMORY_DEPTH_4K (5) 4K samples
TLA700_MEMORY_DEPTH_8K (6) 8K samples
TLA700_MEMORY_DEPTH_16K (7) 16K samples
TLA700_MEMORY_DEPTH_32K (8) 32K samples
TLA700_MEMORY_DEPTH_64K (9) 64K samples
TLA700_MEMORY_DEPTH_128K (10) 128K samples
TLA700_MEMORY_DEPTH_256K (11) 256K samples
TLA700_MEMORY_DEPTH_512K (12) 512K samples
TLA700_MEMORY_DEPTH_1M (13) 1M samples
TLA700_MEMORY_DEPTH_2M (14) 2M samples
TLA700_MEMORY_DEPTH_4M (15) 4M samples
TLA700_MEMORY_DEPTH_8M (16) 8M samples
TLA700_MEMORY_DEPTH_16M (17) 16M samples
TLA700_MEMORY_DEPTH_32M (18) 32M samples
TLA700_MEMORY_DEPTH_64M (19) 64M samples
TLA700_MEMORY_DEPTH_128M (20) 128M samples
TLA700_MEMORY_DEPTH_256M (21) 256M samples
TLA700_MEMORY_DEPTH_512M (22) 512M samples
TLA700_MEMORY_DEPTH_1G (23) 1G samples
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_MEMORY_DEPTH Invalid “MemoryDepth” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
dialog is open
TLA700_E_FAILED The operation was unsuccessful.
77
Deprecated
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim Depth As Long
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
‘Get Memory Depth setting for this module. Depth = LA.MemoryDepth
‘Set Memory Depth to 1K samples
LA.MemoryDepth = TLA700_MEMORY_DEPTH_1K
ILAModule::Name
Description
This property allows the client to retrieve or set the name of the logical module.
ODL Syntax
[
propget ] HRESULT Name( [out, retval] BSTR* pModuleName )
[
propput ] HRESULT Name( [in] BSTR ModuleName )
Arguments (propget)
pModuleName - The name of the logical module.
Arguments (propput):
ModuleName - The name of the logical module.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_MODULE_NAME Invalid “ModuleName” argument.
TLA700_E_DUPLICATE_MODULE_NAME This module name is already in use.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN
The operation was disallowed because a modal dialog is open.
78
Deprecated
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object Dim ModuleName As String
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
‘Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Get module name.
ModuleName = LA.Name
Set module name.
LA.Name = "My LA"
Remarks
When retrieving the name, the TLA server will allocate the space for the returned string. The client is responsible for freeing it when it is no longer in use.
A module name cannot exceed twelve characters in length and must contain at least one non-whitespace character. Modules must be assigned unique names.
ILAModule::SaveModule
Description
This method saves the module to a file.
ODL Syntax
HRESULT SaveModule( [in] BSTR ModulePath,
[in] BSTR UserComment, [in] long SaveData )
Arguments
ModulePath The full path to the destination file.
For example: "C:\My Documents\My Module.tla"
UserComment The user comment to be saved in the file.
SaveData This flag takes one of the values from the following table:
Value Description
TLA700_SAVE_NO_DATA (0) Do not save acquisition data in file.
TLA700_SAVE_DATA (1) Save acquisition data in file.
TLA700_SAVE_UNSUPPRESSED_DATA (2) Save only unsuppressed acquisition data in file.
79
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_SAVE_DATA Invalid "SaveData" argument.
TLA700_E_ SAVE_INVALID_FILE An error occurred opening this file for writing.
TLA700_E_SAVE_OUT_OF_SPACE There is not enough disk space to perform this
operation.
TLA700_E_SAVE_ERROR An error occurred during the save operation.
TLA700_E_SYSTEM_RUNNING The operation cannot be performed when the system is
acquiring data.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_SAVE_FILE_SIZE_LIMIT_EXCEEDED The save operation cannot be performed because the
size of the saved file will exceed the maximum limit supported by the file system.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Save module.
LA.SaveModule
Remarks
All file paths without machine qualifiers refer to drives mapped on the TLA instrument.
If the file already exists, it will be overwritten.
"C:\My Documents\a.tla","My module",1
80
Deprecated
ILAModule::SetChannelGroup
Description
This method is used to set the channel list for a channel group, or to create a channel group and assign channels to it.
ODL Syntax
HRESULT SetChannelGroup( [in] BSTR UserChannelGroupName,
[in] BSTR ChannelNameList )
UserChannelGroupName This is the user defined name of
the channel group whose channel list is to be set. If no channel group with this name exists, one will be created.
ChannelNameList This is the list of channel names
to be assigned to the channel group. For individual channels the syntax is the hardware pod name followed by the channel number enclosed in parentheses, (e.g. A0(1), A0(2), etc.). Groups of contiguous channels can be specified using a similar syntax, using a range of channel numbers within the parentheses, (e.g. A0(7-0), A1(3-5), etc.). When all of the channels in the hardware pod are to be specified, a shorthand notation is allowed using just an empty pair of parentheses, (e.g. A(), A1(), etc.). The syntax for clock and qualifier channels is the type identifier "CK or "Q" respectively, followed by a number, (e.g. CK0, CK1, Q0, Q1, etc.). Multiple channels or channel groups can be specified using a comma separated list. Embedded spaces are not allowed.
81
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_USER_CHANNEL_GROUP_NAME Invalid “UserChannelGroupName” argument.
TLA700_E_INVALID_CHANNEL_NAME_LIST Invalid “ChannelNameList” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a
modal dialog is open.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
‘Create a channel group named "Address" and populate it ‘with channels from pods A2, A1 and A0 LA.SetChannelGroup "Address", "A2(7-0),A1(7-0),A0(7-0)"
‘Change the channel list for group "Address" LA.SetChannelGroup "Address", "A3(7-0),A2(7-0),A1(7-0),A0(7-0)"
82
Deprecated
ILAModule::SetChannelName
Description
This method is used to set the user assigned name for a channel of this module.
ODL Syntax
HRESULT SetChannelName( [in] BSTR HWChannelName,
[in] BSTR UserChannelName )
Arguments
HWChannelName This is the hardware name of the channel whose
user name is to be set. For normal acquisition channels, the syntax is the hardware pod name followed by the channel number enclosed in parentheses, (e.g. A0(1), A0(2), etc.). The syntax for clock and qualifier channels is the type identifier "CK" or "Q" respectively, followed by a number, (e.g. CK0, CK1, Q0, Q1, etc.).
UserChannelName This is the user name to be assigned to a
specified channel. The user name must be unique among channels, and must not contain embedded spaces or commas.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_HW_CHANNEL_NAME Invalid “HWChannelName” argument.
TLA700_E_INVALID_USER_CHANNEL_NAME Invalid “UserChannelName” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_MODAL_DIALOG_OPEN Operation was disallowed because a modal dialog
is open.
TLA700_E_FAILED The operation was unsuccessful.
83
Deprecated
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get module in slot 3. Set LA = Sys.GetModuleBySlot(3)
‘Set User channel name to "Reset" ‘for probe C3, channel 4 LA.SetChannelName "C3(4)", "Reset"
Remarks
White space characters and comma "," are not allowed in channel names.
ILAModule::SetEventValue
Description
This method modifies the value(s) of a specified trigger event.
ODL Syntax
HRESULT SetEventValue( [in] BSTR EventID,
[in] BSTR EventValue )
Arguments
EventID
For example: "1.2.3" specifies state 1, clause 2, event 3.
For example: "S.3" specifies the third event of the storage clause.
EventValue This string specifies the event value(s). The format is dependent on the event
Word value
This string identifies the trigger event to be modified. Only recognizer values can be set. This is of the form: "<state>.<clause>.<event>"
State, clause and event numbers begin with 1.
The conditional storage clause is a special trigger state. It is specified using the following format "S.<event>"
type. It can consist of multiple subparts. Group and word values must be in hexadecimal. Timer values must be specified in picoseconds.
Group value
Counter value
Timer value
: "aa" (for specifying single values) or "00,FF" (for specifying ranges)
: "ffff,4444,aaaa" (when the setup defines three, 16-bit channel groups)
: "10"
: "4000"
84
Deprecated
Note: The TLA7Axx Series Logic Analyzer modules can have negative counter values. Therefore,
counter values such as –200 are valid, but not for TLA600 Series Logic Analyzers or for TLA7Lx/Mx/Nx/Px/Qx Series Logic Analyzer modules. Passing a negative event value to a non TLA7Axx Series Logic Analyzer module counter, sets the target counter to zero; it does not cause an error.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_EVENT_ID Invalid “EventID” argument.
TLA700_E_INVALID_EVENT_VALUE Invalid “EventValue” argument.
TLA700_E_INVALID_EVENT_TYPE The specified event type is not supported.
TLA700_E_OUT_OF_TRIGGER_RESOURCES The required trigger resources could not be
allocated.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
dialog is open.
Example
(Microsoft Visual Basic) Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject(
Get system.
Set Sys = App.GetSystem
Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Set event value.
LA.SetEventValue
Remarks
Timer values must be in 4 ns increments, starting from 4 ns.
Event types, event operators, glitch settings, setup and hold group settings, and channel event values cannot be changed using this method; use ILAModule::LoadTrigger() to set these values.
Changed values do not take effect until the next acquisition. If an error value is returned, the event retains its original value.
"1.2.3", "FF"
"TLA700.Application")
85
Deprecated
ILAModule::SetTriggerPosition
Description
This method specifies a trigger position for the module.
ODL Syntax
HRESULT SetTriggerPosition( [in] long Position )
Arguments
Position
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_TRIGGER_POSITION Invalid "Position" argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal dialog
Example
(Microsoft Visual Basic) Dim App As Object Dim Sys As Object Dim LA As Object
This is the trigger position specified as a percentage of total memory depth. For example: 50
operation.
is open.
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
‘Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Set trigger position.
LA.SetTriggerPosition 50
Remarks
The new trigger position does not take effect until the next acquisition.
86
Deprecated
ISystem::DefineRangeSymbolOptions
Description
This method specifies the options to be used by ISystem::LoadSymbolFile when loading a range symbol file.
ODL Syntax
HRESULT DefineRangeSymbolOptions ([in] long FileFormat,
[in] long SymbolTypes,
[in] long Reserved,
[in] BSTR Bound1,
[in] BSTR Bound2,
[in] long OffsetType,
[in] BSTR SymbolOffset )
Arguments (propget):
FileFormat
HRESULT Return Codes
Return Code Description
TLA700_AUTO_FORMAT (0) Auto-detect the format
TLA700_TSF_FORMAT (1) TSF
TLA700_IEEE695_FORMAT (2) IEEE695
TLA700_OMF86_FORMAT (3) OMF86
TLA700_OMF286_FORMAT (4) OMF286
TLA700_OMF386_FORMAT (5) OMF386
TLA700_COFF_FORMAT (6) COFF
TLA700_ELF_FORMAT (7) ELF
TLA700_OMF51_FORMAT (8) OMF51
TLA700_OMF166_FORMAT (9) OMF166
SymbolTypes - The types of symbols loaded. This takes one or any combination of the following values:
– The format of the symbol file. This takes one of the following values:
Value Description
TLA700_FUNCTION_SYMBOLS (1) Function symbols
TLA700_VARIABLE_SYMBOLS (2) Variable symbols
TLA700_SOURCE_CODE_SYMBOLS (4) Source Code symbols
TLA700_COLOR_SYMBOLS (8) Color symbols
TLA700_ALL_SYMBOLS (0xFFFFFFFF) All symbols
For example, to load function symbols and variable symbols, specify TLA700_FUNCTION_SYMBOLS + TLA700_VARIABLE_SYMBOLS or 3.
Reserved –
Bound1, Bound2 – These arguments specify the range of symbols that will be loaded. Any strings
Reserved for future use.
representing hexadecimal values from "0" to "FFFFFFFF" may be specified.
87
Deprecated
OffsetType – The type of offset to be applied to the symbol values. The offset value can be one of
those listed in the table below.
Value Description
TLA700_DEFAULT_SYMBOL_OFFSET(0) Default Offset (+0)
TLA700_CUSTOM_SYMBOL_OFFSET(1) Custom Offset
TLA700_DEFAULT_SYMBOL_OFFSET applies only to TSF file formats and indicates that the offset should be read from the TSF file header.
For TLA700_CUSTOM_SYMBOL_OFFSET, the actual value of a custom offset is specified in the SymbolOffset argument.
SymbolOffset – The value of a custom offset. This is specified as a string and takes the form "+N"
or "N" or "-N" where N is the value of the offset in hexadecimal and can be from 0 to 0xFFFFFFFF. + indicates that the offset is to be added and – indicates that the offset is to be subtracted. If a sign is not specified, + is assumed.
This argument is ignored if OffsetType is equal to TLA700_DEFAULT_SYMBOL_OFFSET.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_FILE_FORMAT Invalid “FileFormat” argument.
TLA700_E_INVALID_SYMBOL_TYPES Invalid “SymbolTypes” argument.
TLA700_E_INVALID_BOUND1 Invalid “Bound1” argument.
TLA700_E_INVALID_BOUND2 Invalid “Bound2” argument.
TLA700_E_INVALID_OFFSET_TYPE Invalid “OffsetType” argument.
TLA700_E_INVALID_SYMBOL_OFFSET Invalid “SymbolOffset” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
TLA700_E_MODAL_DIALOG_OPEN
Example
(Microsoft Visual Basic)
The operation was disallowed because a modal dialog is open.
Dim App As Object Dim Sys As Object
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Set range symbol options
` - TSF file format ` - Function and variable symbols ` - Bound1 = 0 and Bound2 = FFFF ` - Custom offset, Add 0F00 Sys.DefineRangeSymbolOptions 1, 3, 0,
"0F00"
Sys.LoadSymbolFile "C:\My Symbol File.tsf"
88
"0", "FFFF",1,
Deprecated
Remarks
These options apply only to range symbol files and do not apply to pattern symbol files.
If these options are not explicitly set, the following default range symbol options are used by ISystem::LoadSymbolFile:
FileFormat: TLA700_AUTO_FORMAT SymbolTypes: TLA700_ALL_SYMBOLS Reserved: 0 Bound1: 0 Bound2: FFFFFFFF OffsetType: Default Offset SymbolOffset: 0
ISystem::ExternalSignalIn
Description
This property is used to specify which Internal Signal, if any, should be connected to External Signal In, or to get the current setting for External Signal In.
ODL Syntax
[
propget ] HRESULT ExternalSignalIn( [out, retval] long* pInternalSignal )
[
propput ] HRESULT ExternalSignalIn( [in] long InternalSignal )
Arguments (propget):
pInternalSignal - The Internal Signal currently connected to External Signal In.
Arguments (propput):
InternalSignal - The Internal Signal to be connected to External Signal In.
Value Description
TLA700_INTERNAL_SIGNAL_ NONE (0) None (No internal signal)
TLA700_INTERNAL_SIGNAL_ 1 (1) Signal 1 – High Speed
TLA700_INTERNAL_SIGNAL_ 2 (2) Signal 2- High Speed
TLA700_INTERNAL_SIGNAL_ 3 (3) Signal 3
TLA700_INTERNAL_SIGNAL_ 4 (4) Signal 4
89
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_INTERNAL_SIGNAL Invalid “InternalSignal” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
dialog is open.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim InternalSignal As Long
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get External Signal In setting. InternalSignal = Sys.ExternalSignalIn
‘Set External Signal In to Signal 3 Sys.ExternalSignalIn = TLA700_INTERNAL_SIGNAL_3
ISystem::ExternalSignalOut
Description
This property is used to specify which Internal Signal, if any, should be connected to External Signal Out, or to get the current setting for External Signal Out.
ODL Syntax
[
propget ] HRESULT ExternalSignalOut( [out, retval] long* pInternalSignal )
[
propput ] HRESULT ExternalSignalOut( [in] long InternalSignal )
90
Deprecated
Arguments (propget):
pInternalSignal - The Internal Signal currently connected to External Signal Out
Arguments (propput):
InternalSignal - The Internal Signal connected to External Signal Out.
Value Description
TLA700_INTERNAL_SIGNAL_ NONE (0) None (No internal signal)
TLA700_INTERNAL_SIGNAL_ 1 (1) Signal 1 – High Speed
TLA700_INTERNAL_SIGNAL_ 2 (2) Signal 2- High Speed
TLA700_INTERNAL_SIGNAL_ 3 (3) Signal 3
TLA700_INTERNAL_SIGNAL_ 4 (4) Signal 4
TLA700_INTERNAL_SIGNAL_10 MHz_CLOCK (5) 10 MHz Clock
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_INTERNAL_SIGNAL Invalid “InternalSignal” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
.
operation.
dialog is open.
Dim App As Object Dim Sys As Object Dim InternalSignal As Long
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get External Signal Out setting. InternalSignal = Sys.ExternalSignalOut
‘Set External Signal Out to Signal 1 Sys.ExternalSignalOut = TLA700_INTERNAL_SIGNAL_1
91
Deprecated
ISystem::ExternalSignalOutLowTrue
Description
This property is used to get or set logical polarity for External Signal Out. When True, the External Signal Out is low when asserted.
ODL Syntax
[
propget ] HRESULT ExternalSignalOutLowTrue( [out, retval] VARIANT_BOOL* pLowTrue )
[
propput ] HRESULT ExternalSignalOutLowTrue ( [in] VARIANT_BOOL LowTrue)
Arguments (propget):
PLowTrue
Arguments (propput):
LowTrue
The logical polarity of External Signal Out. When True, then the External Signal Out is low when asserted.
The logical polarity of External Signal Out. When True, then the External Signal Out is low when asserted.
Value Description
TRUE External Signal Out Polarity is Low True
FALSE External Signal Out Polarity is High True
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_MODAL_DIALOG_OPEN The operation was disallowed because a modal
TLA700_E_FAILED The operation was unsuccessful.
operation.
dialog is open.
92
Deprecated
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LowTrue As Boolean
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get External Signal Out Polarity setting. LowTrue = Sys.ExternalSignalOutLowTrue
‘Set External Signal Out Polarity to Low True Sys.ExternalSignalOutLowTrue = True
ISystem::GetDiagCalStatus
Description
This method returns the power-on diagnostics and calibration status. The results do not include information for external oscilloscope modules.
ODL Syntax
HRESULT GetDiagCalStatus( [out] BSTR* pDiagCalStatus )
Arguments
pDiagCalStatus
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim Status As String
The status of power-on diagnostics and calibration.This is of the form:
"<diagnostics status>,<calibration status>" For example: "Pass,Calibrated" The power-on diagnostics status can take one of the following values: "Running", "Pass", "Fail", "Mixed", or "Unknown" The calibration status can take one of the following values: "Calibrated", "Unknown", "Failed", "Running", or "No Calibration Required"
operation.
Set App = CreateObject("TLA700.Application")
93
Deprecated
Get system.
Set Sys = App.GetSystem
Get diag/cal status.
Status = Sys.GetDiagCalStatus
Remarks
The TLA server allocates space for the returned string. The client is responsible for freeing the space when it is no longer in use.
It is recommended that the client program examine the power-on diagnostics and calibration status and only use the TLA instrument if the value is "Pass, Calibrated". The TLA instrument will not function properly if it fails power-on diagnostics or is not calibrated
ISystem::GetFirstModuleSlot
Description
This method returns the number of the first slot in the mainframe.
ODL Syntax
HRESULT GetFirstModuleSlot( [out, retval] long* pSlot )
Arguments
pSlot
HRESULT Return Codes
The number of the first slot in the mainframe.
Return Code Description
S_OK The operation succeeded.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim FirstModuleSlot As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get first slot.
FirstModuleSlot = Sys.GetFirstModuleSlot
Remarks
The value returned is the slot number of the first slot.
For the TLA714 and TLA704 Color Portable Mainframe and the TLA600 series logic analyzer, the slot number is 1.
For the TLA711 and TLA720 Color Benchtop Mainframe the slot number is 0.
Refer to Slot Numbers for Expansion Mainframes for more information on how to specify slot numbers with expansion mainframes.
operation.
94
Deprecated
ISystem::GetModuleByName
Description
This method returns the interface pointer for the logical module with the specified name. The module name should be as specified in the TLA System window.
ODL Syntax
HRESULT GetModuleByName( [in] BSTR ModuleName,
[out, retval]
IDispatch** ppDispatch )
Arguments
ModuleName
ppDispatch The interface pointer for the module with the specified name.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_MODULE_NAME Invalid “ModuleName” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
The name of the required module. This is the module name that is shown in the TLA System window.
operation.
Dim App As Object Dim Sys As Object Dim LA As Object
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module.
Set LA = Sys.GetModuleByName(
Remarks
Module references obtained using this method are invalidated by operations such as ISystem::LoadSystem that affect the logical modules in the system. Remember to release any module references before performing such operations.
"LA 1")
ISystem::GetModuleBySlot
Description
This method returns the interface pointer for the logical module in the specified slot.
ODL Syntax
HRESULT GetModuleBySlot( [in] long Slot,
[out, retval] IDispatch** ppDispatch )
95
Deprecated
Arguments
Slot
ppDispatch The interface pointer for the module in the specified slot.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_EMPTY_SLOT The specified slot is empty.
TLA700_E_UNKNOWN_MODULE The module in the specified slot is not recognized.
TLA700_E_INVALID_SLOT_NUMBER Invalid “Slot” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim LA As Object
The slot number. This can correspond to any of the slots occupied by the logical module.
operation.
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
‘Get module in slot 3.
Set LA = Sys.GetModuleBySlot(3)
Remarks
Refer to Slot Numbers for Expansion Mainframes for more information on how to specify slot numbers with expansion mainframes.
Module references obtained by this method are invalidated by operations such as ISystem::LoadSystem that affect the logical modules in the system. Remember to release any module references before performing such operations.
This method can not be used with external oscilloscopes.
ISystem::GetModuleNames
Description
This method retrieves the names of all logical modules in the system, including external oscilloscope modules.
ODL Syntax
HRESULT GetModuleNames( [out, retval] VARIANT* pModuleNames )
Arguments
pModuleNames
Module names are returned as a VARIANT. The variant is of type VT_ARRAY and points to a SAFEARRAY. The SAFEARRAY has dimension 1 and the elements are of type VT_BSTR. The number of modules is equal to the number of elements in the SAFEARRAY.
– The module names.
96
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim M As Variant Dim Modules As Variant
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get module names.
Modules = Sys.GetModuleNames
`Access module names.
For Each M In Modules
Use module name in M.
Next M
Remarks
If there are no modules, the SAFEARRAY returned will be empty.
ISystem::GetModulePropertiesBySlot
Description
This method returns the properties of the physical module in the specified slot.
ODL Syntax
HRESULT GetModulePropertiesBySlot( [in] long Slot,
[out, retval] BSTR* pModuleProperties )
Arguments
Slot
The slot number.
pModuleProperties
LA "Tektronix,TLA7N4,2.0.1,Pass,Calibrated,100
DSO Tektronix,TLA7E2,2.0.2,Fail,Calibrated,2500
Controller "Tektronix,TLA711,2.0.033,Pass" Unknown module "0ffd,5d07" Expansion Interface module: "Tektronix TLA7XM,Pass" Refer to ISystem::GetDiagCalStatus for possible values for
The properties of the physical module in the specified slot. This is of the format shown below. Fields are included as they apply. "<manufacturer>,<model>,<firmware version>, <diagnostics status>,<calibration status>, <speed>,<memory depth>"
For example:
MHz, 32K"
MS/s, 15000"
diagnostics status and calibration status.
97
Deprecated
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_EMPTY_SLOT The specified slot is empty.
TLA700_E_INVALID_SLOT_NUMBER Invalid “Slot” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the
operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
Dim App As Object Dim Sys As Object Dim ModDesc As String
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get description of module in slot 3.
ModDesc = Sys.GetModulePropertiesBySlot(3)
Remarks
For modules that occupy more than one slot, the same string is returned for each of the slots.
Refer to Slot Numbers for Expansion Mainframes for more information on how to specify slot numbers with expansion mainframes.
The TLA server allocates space for the returned string. The client is responsible for freeing the space when it is no longer in use.
Do not use a module that does not pass power-on diagnostics or is not calibrated.
This method cannot be used with external oscilloscopes.
98
Deprecated
ISystem::GetModuleSlotByName
Description
This method returns the slot number for the (logical) module with specified name. The slot number returned is the lowest numbered slot occupied by the module.
ODL Syntax
HRESULT GetModuleSlotByName( [in] BSTR ModuleName,
[out, retval] long* pSlot )
Arguments
ModuleName
pSlot – The slot number occupied by the module with the specified name.
HRESULT Return Codes
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_SLOT_NUMBER Invalid “Slot” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
– The user name of the required module. This is the name that you will see in the
System Window.
Dim App As Object Dim Sys As Object Dim ModuleSlot As Long
Set App = CreateObject("TLA700.Application")
‘Get system. Set Sys = App.GetSystem
‘Get module slot number. ModuleSlot = Sys.GetModuleSlotByName "LA 1"
Remarks
The slot value returned is the lowest numbered slot occupied by the physical module. If the named module is part of a merged set of modules, the slot number returned is that corresponding to the master module.
99
Deprecated
ISystem::GetModuleTypeBySlot
Description
This method returns the type of the physical module in the specified slot.
ODL Syntax
HRESULT GetModuleTypeBySlot( [in] long Slot,
[out, retval] long* pModuleType )
Arguments
Slot pModuleType The type of the physical module in the specified
HRESULT Return Codes
Return Value Description
TLA700_LA_MODULE (0) LA module
TLA700_DSO_MODULE (1) DSO module
TLA700_CONTROLLER_MODULE (2) Controller module
TLA700_UNKNOWN_MODULE (3) Unknown module
TLA700_EMPTY_SLOT (4) Empty slot
TLA700_EXPANSION_INTERFACE_MODULE(5) Expansion Interface module
Return Code Description
S_OK The operation succeeded.
TLA700_E_INVALID_SLOT_NUMBER Invalid “Slot” argument.
TLA700_E_OUT_OF_MEMORY There is not enough memory to perform the operation.
TLA700_E_FAILED The operation was unsuccessful.
Example
(Microsoft Visual Basic)
The slot number.
slot. This can be one of the following values:
Dim App As Object Dim Sys As Object Dim ModType As Long
Set App = CreateObject("TLA700.Application")
Get system.
Set Sys = App.GetSystem
Get type of module in slot 3.
ModType = Sys.GetModuleTypeBySlot(3)
Remarks
For instrument modules that occupy more than one slot, the same module type is returned for each of its slots.
Refer to Slot Numbers for Expansion Mainframes for more information on how to specify slot numbers with expansion mainframes.
This method can not be used with external oscilloscopes.
100
Loading...