Skip to content

OpenController Tech Notes

OpenController parameters spontaneously reset

TN0982

Product: OpenEx, OpenController
Version: < 2.24
Date Added: 2016-08-03

Issue

Switching from standby Mode to Record may cause some Controller parameters to spontaneously reinitialize.

Solution

Upgrade to the latest version of OpenEx.

Resized OpenController window is too small

TN0980

Product: OpenEx, OpenController
Version: < 2.24
Date Added: 2016-08-03

Issue

When OpenController is run, any floating Controller windows are resized automatically. The new size may be too small and scroll bars may overlap some controls.

Solution

Upgrade to the latest version of OpenEx.

Using OpenEx clients across a network with Windows 7

TN0954

Product: OpenEx, OpenDeveloper, OpenController, OpenScope
Version: All
Date Added: 2015-04-28

Issue

Security settings must be modified on both the server and client computers to allow simultaneous access to a Workbench server running an OpenEx project from more than one computer.

Solution

Before software components distributed across networked computers can communicate with each other, several DCOM security settings must be modified on the server computer. The steps below ensure a client computer can access data from a registered new or legacy format tank located on a server computer.

In this example, the computer connected to the TDT hardware is named TDTServer. The computer that will run OpenController or TDevAccX remotely has a user account client1 with password password1.

Server Computer

Create a user account on the server computer:

  1. From the Control Panel, double-click Administrative Tools and then double-click Computer Management. If necessary, expand System Tools in the left panel and then expand Local Users and Groups.
  2. Right-click Users and select New User from the shortcut menu.

    The account user name and password MUST match the client computer's user name and password.

  3. In the New User dialog box, type the user name (client1) and password (password1) in the corresponding fields.

    Clear the User must change password at next logon check box and then select the User cannot change password and Password never expires check boxes.

  4. Click Create and then click Close.

This account must be an Administrator. To grant administrator privileges you must add that user to the Administrators group.

Add the user to the Administrators group:

  1. In the Computer Management window, under System Tools and then Local Users and Groups, click **Groups **in the left panel.

  2. In the window on the right, right-click the Administrators group and select Add to Group on the shortcut menu.

    The Administrators Properties window will open.

  3. Click the Add button. The Select Users, Computers, Service Accounts, or Groups window will open.

  4. Enter the user name in the Enter the object names to select field and click the Check Names button.

    Note

    If the user is not found, you may need to browse for a different location, using the Locations button.

    If the computer is on a domain, this step will have to be performed for both the local account and the network account.

    To change between the local machine and the network, click Locations and select either the machine or the network and click OK to return to the previous window.

  5. In the Select Users, Computers, Service Accounts, or Groups window Verify the spelling, and click OK.

  6. Close the **Computer Management **window.

  7. The Control Panel and Administrative Tools windows should still be open (if not, reopen now). Double-click **Component Services**in the panel on the left.

  8. Expand Component Services, expand Computers, right-click My Computer, and click Properties.

  9. In the My Computer Properties window, click the COM Security tab.

  10. Under Access Permissions, click the Edit Default button.

  11. Under Access Permissions in the My Computer Properties window, click the Add button. The Select Users, Computers, or Groups window is displayed.

  12. In the Enter the object names to select field, type client1.

  13. Click the Check Names button.

    Note

    If the user is not found, you may need to browse for a different location, using the Locations button.

  14. Verify spelling, then click OK.

  15. In the Access Permissions window, ensure the names SYSTEM, INTERACTIVE, and client1 are all present and all have Local Access and Remote Access permission.

    If any group names are missing, click Add to enter the group name.

  16. Click OK.

  17. Under Access Permissions in the My Computer Properties window, click the Edit Limits button and then click the Add button.

  18. In the Enter the object names to select field, type client1. Click the Check Names button, verify spelling, then click OK.

  19. In the Access Permission window, ensure the group names ANONYMOUS (or ANONYMOUS LOGON), Everyone, and client1 are all present and all have Local Access and Remote Access permission. If any group names are missing, click Add to enter the group name as before.

  20. Click OK. and return to the My Computer Properties window, COM Security tab.

  21. Repeat steps 10-20 under the Launch and Activation Permissions options.

Turn off the windows firewall:

  1. From the Control Panel, open Windows Firewall, and select the Off radio button.

  2. Click OK.

  3. From the Control Panel, double-click Administrative Tools, and then Component Services. Expand Component Services, expand Computers, expand My Computer, and double-click DCOM Config (you can click No if you are asked to record a registry value at this point).

  4. Right-click XpMaker and select Properties.

  5. On the Identity tab, ensure that The Interactive User is the account selected to run this application.

  6. Repeat steps 3 and 4 for TTankEng in the DCOM Config.

  7. After you finished making the security setting changes, reboot the server computer.

Client Computer

Test the communication link by pinging the server computer from the client computer and verifying the connection in OpenController.

To ping the server computer from the client computer:

  1. From the Start menu type cmd in the search box.

    Press the Enter key.

  2. A DOS command prompt opens, type ping TDTServer

  3. Verify that the server computer was reached and responded to the ping.

Add a registry entry with the user name and password of the client computer:

  1. From the Start menu type regedit in the search box, and press the Enter key. If a prompt for confirmation is display, click Yes.

  2. In the Registry Editor window, expand HKEY_LOCAL_MACHINE, SOFTWARE, Wow6432Node, TDT, and then TTank.

    Note

    For Windows 7 32-bit systems, expand HKEY_LOCAL_MACHINE, SOFTWARE, TDT, and then TTank.

  3. Right-click the EnumServers folder and select New String Value.

  4. Type the server name (TDTServer) as the Value Name and press Enter.

  5. Right-click the Value name and click Modify. Add the server name, user name and password for Value Data in the following form:

    TDTServer client1 * password1

    Important

    This is case sensitive and must include the asterisk and spaces

    After the entry is added, the registry should look like the example below:

    While Workbench is running on the server computer, test communication from the client in OpenController.

  6. Launch OpenController.

  7. In the Edit menu, click Window Property. The Setup Default Properties dialog will open.

  8. In the Default Server Name box, click the "..." browse button to view available servers.

    The server name that was entered in the registry is now available.

  9. Click TDTServer to highlight it, then right-click TDTServer, and click Test Connection on the shortcut menu.

  10. If the connection was successful, the following message dialog will be displayed:

  11. Click OK.

  12. Double-click TDTServer to select it as the default server for Controller.

  13. Click OK.

    You should now have access to the Workbench server running the TDT equipment just like you would if you were running Controller locally on that machine.

  14. On the client computer, launch OpenController.

  15. Add a ValueWatch control.

  16. Double-click the ValueWatch control and click the "..." browse button for the Source Target. The Select Target dialog will launch and display available targets as shown below. If this dialog is empty, or if you get an Access Denied error, try turning off User Account Control (UAC) on both machines, reboot and test again.

  17. If you are simultaneously accessing tank data while Workbench is recording, test tank communication from the client in OpenScope.

    1. Launch OpenScope.

    2. In the File menu, click Data Source to open the Select Tank dialog.

    3. Click the Server button to open the Select Server dialog.

    4. Repeat steps 8-11 to test communication and select the remote server.

IZ2Stim Plot Display Requirements

TN0944

Product: OpenEx, SpikePac, OpenController
Version: All
Date Added: 2014-07-30

Issue

The IZ2Stim control included with SpikePac uses OpenGL 2.0 plotting. The version of OpenGL on the end user's computer must be version 2.0 or greater.

If a compatible version of the graphics driver isn't found when the IZ2StimGen control is run, the waveform diagram will appear empty and an error message is displayed in the plot area: Hardware acceleration not available. Please check the graphics card.

Solution

OpenGL is typically installed with windows as part of the graphics adapter driver and/or the graphics card driver. If the computer is using an outdated graphics driver, updating it should resolve the problem.

To update your video driver:

  1. Open your Device Manager from the Windows Control Panel.

  2. Right-click the graphics card or display adapter and click Update Driver Software on the short-cut menu.

  3. Follow the onscreen instructions.

If updating the graphics driver does not resolve the problem, contact Support for assistance.

The scroll plot in OpenController fails when using SEV files

TN0931

Product: OpenController
Version: <= 2.18
Date Added: 2013-12-11

Issue

When using the Stream_Store_MC or Stream_Store_MC2 macro Unique Channel Files option to store each channel of data in a unique SEV file, an OpenController multichannel scroll plot of this data store will not update.

Workaround

You can continue to use the Unique Channel Files option, without using the scroll plot in OpenController and instead use the Workbench plot for visualization. If visualizing data in OpenController during data collection is important, do not use the Unique Channel Files option.

Solution

Upgrade to the latest version of OpenEx.

BoxSort not using all sorting windows

TN0930

Product: OpenController, SpikePac, Synapse
Version: All
Date Added: 2013-11-15

Issue

The BoxSort sorting algorithm does not work beyond 30 samples. Any boxes beyond the 30th sample in the waveform will not be used to classify the waveform during hardware sorting.

Workaround

Make sure no boxes extend beyond the 30th sample or shorten your window width to 32 points. In v78 and above the maximum window width is 32 samples.

Can't use backslash in VBScript with Windows 7

TN0892

Product: OpenController
Version: All
Date Added: 2011-09-12

Issue

When entering text into a VBScript control in OpenController, a backslash '\' appears as a character that resembles a 'W' and does not function as a backslash.

Solution

Replace the VBScript control with a VBScriptEX control and copy/paste the code contents. The VBScriptEx control is a newer form of the VBScript control and uses nearly identical syntax.

The only differences are the Write and Print commands which now have an underscore following them.

Write(target_ctrl, Value) becomes Write_(target_ctrl, Value)

Print("Hello World!") becomes Print_("Hello World!")

Aside from these two function name changes the code can be simply copied and pasted into the new control.

3-D feature space plot missing or not updating correctly

TN0876

Product: OpenController, OpenSorter
Version: All
Date Added: 2010-10-04

Issue

When using Windows Vista or Windows 7 machines, the 3-D feature plot in OpenSorter or in OpenController's PCSort window may be missing or may be erroneously highlighting waveforms.

Workaround

If the feature space plot is missing, turn off "Threaded Optimization" for the affected application(s). This setting can be found in the NVIDIA Control Panel and is set on a per-application basis.

  1. Right-click the desktop and select NVIDIA Control Panel on the shortcut menu.

  2. Within the NVIDIA Control Panel, select Manage 3D settings.

  3. Select the Program Settings tab and find the affected application(s).

    For OpenSorter, add C:\TDT\OpenEx\OpenSorter\OpenSorter.exe.

    For OpenController, add C:\TDT\OpenEx\Controller\OpenController.exe.

  4. Turn the Threaded Optimization setting to Off for the affected applications(s).

  5. Click Apply and close the NVIDIA Control Panel.

  6. Restart the affected application.

In OpenSorter, if previously selected waveforms remain highlighted in the feature space plot even though they are no longer selected, turn off the advanced visual settings for that application.

  1. Navigate to **C:\TDT\OpenEx\OpenSorter**

  2. Right-click OpenSorter.exe and select Properties on the shortcut menu.

  3. Select the Compatibility tab.

  4. Select the checkbox Disable desktop composition.

  5. Restart OpenSorter.

Solution

Upgrade to v2.18 or later.

PA5 read and write problems in OpenController

TN0867

Product: OpenController
Version: All
Date Added: 2009-12-01

Issue

Device reading issues:

Standard displays or indicators (such as Value Watch or 7-segment display) in OpenController can't monitor the attenuation level of a PA5. Setting the control to monitor the attenuation level target (PA5_1.Atten) results in the control reading a constant value of 0.

Device writing issues:

Using the "Write_" command in the VBScriptEx component doesn't work correctly; for example, Write_("PA5_1.Atten", 50) should set PA5_1 to 50dB attenuation but is unresponsive. Standard controls such as Value Inputs and Sliders, however, can still be used to change the attenuation level.

Workaround

Device reading workaround:

Use a VBScriptEx control to read the PA5 attenuation level and write it to the display or indicator control. For example, if there is a 7-segment display called "LED_Atten1" and a PA5 called "PA5_1" then use the following VBScriptEx code to read the attenuation level and write it to the display:

While 1
    Write_(">LED_Atten1", Read("PA5_1.Atten"))
    Sleep(100)
WEnd

Device writing workaround:

Insert an Input Box into your OpenController workspace, call it "PA5temp" and set it's target to "PA5_1.Atten". In your VBScriptEx code, whenever you want to change the attenuation, write to the PA5temp control. For example, to set the attenuation to 50dB, use:

Write_(">PA5temp",50)
OpenController save/load parameter states function does not work as expected

TN0825

Product: OpenController
Version: All
Date Added: 2008-05-08

Issue

The OpenController save/load parameter states function doesn't save/load all parameter states. For compatibility reasons, OpenController only saves the values of controls that have been given a unique name.

Solution

Edit the "My Name" parameter in the "Target(s)" parameter group for any control you wish to save/load the state for.

For Example, change the default name of a SlideSwitch control from "cSlideSwitch-1" to "MySlider".

When saved, the state values for all uniquely named controls are saved into a *.csf file located in the "UserFiles" folder of your "OpenEx project" directory and can be loaded to their saved state.

RX5, RX6, and RX7

TN0276

Product: OpenController
Version: All
Date Added: 2008-01-21

Issue

When using a preamplifier that has a low battery, the RX device amplifier status LED does not flash to display the low battery condition.

Workaround

Use the amplifier power status LED on the preamplifier for verification of a low battery condition.

VSG not supported for VBScriptEx

TN0275

Product: OpenController
Version: 2.6
Date Added: 2008-01-25

Issue

The VSG methods are not supported for the VBScriptEx controller available in v66.

Workaround

The VSG methods are fully supported for the older VBScript controller.

Solution

Update to OpenEx version 2.8 or greater.

Running multiple VB scripting components causes OpenController crash

TN0266

Product: OpenController
Version: < 2.7
Date Added: 2007-09-13

Issue

Attempting to run multiple VB scripting components will cause the OpenController to crash. Current versions of OpenController allow you to place two scripting components in the workspace if they are different versions (i.e. one VBScript and one VBScriptEx component). When put into run mode, OpenController program freezes up and is unresponsive.

Workaround

When writing VB Scripts in OpenController make sure that you are using only one scripting component. It will not be possible to add multiple VBScript and VBScriptEx components in OpenController versions above 2.6.

Solution

Update to latest version of OpenEx version 2.8 or later.

Using an OpenEx client across a network with Windows XP

TN0231

Product: OpenEx, OpenDeveloper, OpenScope, OpenController
Version: All
Date Added: 2006-12-20 (updated 2011-09-13)

Issue

Security settings must be modified on both the server and client computers to allow simultaneous access to a Workbench server running an OpenEx project from more than one computer.

Solution

Before software components distributed across networked computers can communicate with each other, several DCOM security settings must be modified on the server computer. The steps below ensure a client computer can access data from a registered new or legacy format tank located on a server computer.

In this example, the computer connected to the TDT hardware is named TDTServer. The computer that will run OpenControlleror TDevAccX remotely has a user account client1 with password password1.

Server Computer

Ensure that simple file sharing is disabled:

  1. Open a My Computer window.

  2. On the Tools menu, click Folder Options. Click the View tab.

  3. Under Advanced Settings, scroll down, and clear the Use simple file sharing (Recommended) check box.

  4. Click OK.

Create a user account on the server computer:

  1. From the Control Panel, double-click Administrative Tools, and then Computer Management.

  2. Expand System Tools, and then Local Users and Groups.

    Right-click Users and select New User from the shortcut menu.

  3. The account user name and password must match the client computer’s user name and password.

    Type the user name (client1) and password (password1) in the corresponding fields.

  4. Clear the User must change password at next logon check box, and select the User cannot change password and Password never expires check boxes.

  5. Click Create and then click Close.

This account can be a limited user account.

Give the user Local and Remote access:

  1. From the Control Panel, double-click Administrative Tools and then Component Services.

    Expand Component Services, expand Computers, right-click My Computer and click Properties.

  2. In the My Computer Properties window, click the COM Security tab.

  3. Under Access Permissions, click the Edit Default button and then click the Add button.

    The Select Users, Computers, or Groups window is displayed. In the Enter the object names to select field, type client1. Click the Check Names button, verify spelling, then click OK.

  4. In the Access Permissions window, ensure the names SYSTEM, INTERACTIVE, and client1 are all present and all have Local Access and Remote Access permission.

    If any group names are missing, click Add to enter the group name as before.

    Click OK.

  5. Under Access Permissions in the My Computer Properties window, click the Edit Limits button and then click the Add button.

    1. In the Enter the object names to select field, type client1.

    2. Click the Check Names button, verify spelling, then click OK.

    3. In the Access Permission window, ensure the group names ANONYMOUS (or ANONYMOUS LOGON), Everyone, and client1 are all present and all have Local Access and Remote Access permission. If any group names are missing, click Add to enter the group name as before.

    Click OK.

  6. Under Launch and Activation Permissions in the My Computer Properties window, click the Edit Default button and then click the Add button.

    1. In the Enter the object names to select field, type client1.

    2. Click the Check Names button, verify spelling, then click OK.

    3. In the Launch Permission window, ensure the group names SYSTEM, INTERACTIVE, and client1 are all present and all have Local Launch, Remote Launch, Local Activation, and Remote Activation permission. If any group names are missing, click Add to enter the group name as before.

      Click OK.

  7. Under Launch and Activation Permissions in the My Computer Properties window, click the Edit Limits button and then click the Add button.

    1. In the Enter the object names to select field, type client1.

    2. Click the Check Names button, verify spelling, then click OK

    3. In the Launch Permission window, ensure the group names Administrators, Everyone, and client1 are all present and all have Local Launch, Remote Launch, Local Activation, and Remote Activation permission. If any group names are missing, click Add to enter the group name as before.

      Click OK.

Turn off the windows firewall:

  1. From the Control Panel, open Windows Firewall, and select the Off radio button.

  2. Click OK.

Select The Interactive User account to run the client application:

  1. From the Control Panel, double-click Administrative Tools, and then Component Services.

  2. Expand Component Services, expand Computers, expand My Computer, and double-click DCOM Config (you can click No if you are asked to record a registry value at this point).

  3. Right-click XpMaker and select Properties.

  4. On the Identity tab, ensure that The Interactive User is the account selected to run this application.

  5. If you would like to simultaneously access the tank data file that is recording in OpenEx through TTankX or OpenScope,repeat steps 11 and 12 for TTankEng in the DCOM Config.

  6. After you finished making the security setting changes, reboot the server computer.

Client Computer

Test the communication link by pinging the server computer from the client computer and verifying the connection in OpenController.

To ping the server computer from the client computer:

  1. From the Start menu click Run, type cmd, and click OK.

  2. In the DOS command prompt that opens, type:

    ping TDTServer

  3. Verify that the server computer was reached and responded to the ping.

Add a registry entry with the user name and password of the client computer:

  1. From the Start menu click Run, type regedit, and click OK.

  2. In the Registry Editor window, expand HKEY_LOCAL_MACHINE, SOFTWARE, TDT, and then TTank.

  3. Right-click the EnumServers folder and select New String Value.

  4. Type the server name (TDTServer) as the Value Name and type the user name and password for Value Data in the following form:

    * client1 * password1

    Important

    This is case sensitive and must include the asterisk and spaces

  5. After the entry is added, the registry should look like this example below:

  6. While Workbench is running on the server computer, test communication from the client in OpenController.

  7. Launch OpenController.

  8. In the Edit menu, click Window Property. The Setup Default Properties dialog will open.

  9. In the Default Server Name box, click the "..." browse button to view available servers.

  10. The server name that was entered in the registry is now available.

    Click TDTServer to highlight it, then right-click TDTServer, and click Test Connection on the shortcut menu.

  11. If the connection was successful, the following message dialog will be displayed:

  12. Click OK.

  13. Double-click TDTServer to select it as the default server for Controller.

  14. Click OK.

    You should now have access to the Workbench server running the TDT equipment just like you would if you were runningController locally on that machine.

  15. If you are simultaneously accessing tank data while Workbench is recording, test tank communication from the client in OpenScope.

    1. Launch OpenScope.

    2. In the File menu, click Data Source to open the Select Tank dialog.

    3. Click the Server button to open the Select Server dialog.

    4. Repeat steps 10 - 12 to test communication and select the remote server.

OpenController crashes and the error 'MainCtrl caused an exception and has been closed' appears

TN0197

Product: OpenController
Version: All
Date Added: 2005-09-22

Issue

When opening an OpenEx project, an error appears stating, "MainCtrl caused an exception and has been closed." The project opens but the controller is 'grayed out' and can no longer be accessed. OpenEx clients can crash for several reasons, but one issue that will always cause controller to crash is when a percent sign (%) is used as a label in a graphic frame.

Workaround

Once controller has crashed, it is not possible to access that controller again. The controller will need to be rebuilt and the % sign must be omitted to prevent future crashes.

Auto Threshold does not implement artifact rejection

TN0168

Product: OpenController
Version: All
Date Added: 2005-02-08

Issue

When OpenController's spike detection feature is implemented using the SortSpike component, auto thresholding only sets the minimum threshold for spike detection (green threshold line). Although the SortSpike component supports artifact rejection, implemented by setting a maximum threshold value, the auto threshold feature does not set this value and does not display the maximum threshold or artifact rejection marker (pink threshold line).

Workaround

To control the artifact rejection threshold and display the marker in the plot, you will need to set the value of the tag going into the second threshold line of the SortSpike component. One way to do this is to control the value using a slider.

Use the following steps to set the high threshold and display the threshold marker:

  1. In Controller, Click the Controls menu, click sliders/knobs, and click slider.

  2. Click the workspace to add a slider, then double-click the new control to open the properties dialog box.

  3. Click the browse button (...) next to Primary Target.

  4. Select Devices>Amp1>Scalars>bEA~ and click OK.

  5. Enter a Position Max of 0.005 and a Position Min of 0.

  6. Enter a Tick Precision of 4.

  7. Save the changes and run the project.

  8. Right-click the Scrolling Threshold plot (not the Snippet Sort Plot) and select Auto Threshold.

  9. The green threshold line will appear in both the scrolling threshold and snippet sort plots.

  10. Use the slider to set the threshold, bringing the second threshold (pink) into view in the snippet sort plot. Note that you cannot set the artifact rejection using the scrolling threshold plot.

Values displayed incorrectly in Data Table

TN0104

Product: OpenController
Version: Version > 1.4
Date Added: 2004-02-05

Issue

Values in the Data Table are displayed with a precision of 1. However, the actual value is retained. For example: a value of 0.0001 is displayed as 0.0, but 1.0001 will be passed to the target.

International users unable to modify value properties

TN0091

Product: OpenController
Version: All
Date Added: 2003-07-08

Issue

After adding a new control from the Controls menu, international users are unable to modify the Value properties for a Slider, or any control that uses the Value property sheet. This problem occurs only when creating a new control, not when copying or pasting a working control. The problem occurs because the Regional Options in the Windows Control Panel is set to use a comma as the decimal symbol.

Workaround

To avoid this problem, open the Regional Options in the Windows Control Panel and change the following settings on the Numbers tab. Change the Decimal Symbol to a period. Change the Digit Grouping Symbol to a comma.

Chart plot displays data incorrectly when viewed in multi-channel mode

TN0086

Product: OpenController, OpenScope
Version: All
Date Added: 2003-06-17

Issue

Chart plots are intended for displaying epoch events (data lists), wave snippets or buffered signals in OpenController and for epoch events and spike snippets in OpenScope. When plotting continuous data (Stream) in multi-channel mode, the display shows a waveform for channel one, but not the others or there is a lag in the other channels relative to the first channel.

Solution

To view stream data use a Scroll plot. Although the x-axis of a Scroll plots cannot be changed dynamically as with the Chart plot, the x-axis (duration) can be changed in the plot settings to enable you to view the waveform in greater detail.

To modify the duration of a Scroll plot, perform the following steps:

  1. Double-click the Scroll plot control to display the Setup Properties dialog box.

  2. Change the number of scroll sections under the Common Parameter Group settings.

  3. Click OK.

VBScript components causing OpenController to crash

TN0025

Product: OpenController
Version: All
Date Added: 2002-08-22

Issue

If the Windows Script Debugger has not been installed, loading any OpenController files that include VBScript components causes the OpenController to crash.

Solution

Install the latest version of Windows Script Debugger. It can be downloaded from this URL: http://microsoft.com/downloads/details.aspx?FamilyId=2F465BE0-94FD-4569-B3C4-DFFDF19CCD99&displaylang=en Note that Windows XP and Windows 2000 do not come with the Windows Script Debugger installed, so this will need to be installed when using OpenEx with VBScript.