Send to friendPDF version





PAWS Studio:


PAWS Studio RTS:


License Manager:


TestBase - Visio 2000

Q: I'm installing TestBase version 2.x.x. I see Visio 2000 in the list of Software Requirements. Is it required?
A: Yes, Visio 2000 is required in order to run TestBase 2.x.x. Visio 97 or Visio 2002 are not currently supported by TestBase 2.x.x. You can use a demo copy of Visio 2000; however, Astronics Test Systems does not distribute it.

TestBase - Installation: VISA Run-time

Q: I'm installing TestBase version 2.x.x. Section 3 of the installation manual advises me to install National Instruments VISA. I went to the website but could not find the freely downloadable software. I only see products that I must buy. Any hints on the freely downloadable software?
A: Yes. Go to then search for VISA Run-time Engine Version 2.6 for Windows. The exact link may change from time to time, so please use their website's search to find it.

PAWS Studio - MKTMP: Temp File CREATE Fail

Q: In PAWS, when I compile, or rebuild-all, the action fails with a message
MKTMP: Temp File CREATE Fail
The last invoked process returned an error exit code(1).
A:This can be caused when the TMP folder is somehow not available to you. Other things can cause it too. One way to investigate and fix it:

1. Set an Environment Variable TYXPLIFDEBUG to 1
2. Run PAWS to generate the Error Message again
3. Examine PLI Log File "PLI.log". (Operator may have to search for this File because it gets created in the Current Working Directory, and I don't know what that may be when PLI is activated.) Look for Line which reads:

- i_init(): TYXPATHTMP=d

where: d = Full Pathname of TYX Temporary Directory.

4. Verify the TYX Temporary Directory exists and accessible (that you can write to it)

Note - File "PLI.log" is never deleted by PLI; PLI always appends to it. Therefore, Customer must be sure to look at the end of the File (or delete it manually before each test).

Normally, this failure occurs because the Temporary Directory does not exist. However, it can occur when the Directory *does* exist. (Note: If "TYXPATHTMP" is *not* defined in the Environment, PLI will look in the Environment for "TMP" and then "TEMP" to find a Temporary Directory.)

PLI first attempts to "open" a File (in the Temporary Directory) named something like "PLI01.TMP". If the "open" is successful (meaning that a Temporary File *currently exists*), PLI closes the File and then tries "PLI02.TMP". This sequence continues until PLI finds a File Name that *does not exist*. PLI then attempts to create the new Temporary File using this File Name. The maximum File Name that PLI uses is "PLI99.TMP". If the Temporary Directory is full of Files named "PLI01.TMP" thru "PLI99.TMP", the creation of a Temporary File will fail.

PLI normally deletes its Temporary Files when it finishes processing. However, if PLI is aborted abnormally, PLI may not get to the point where it deletes these Files. If this *appears* to be happening, users may need to be instructed to remove all Temporary PLI Files manually (although this *would be dangerous* if their Temporary Directories are shared: it could cause a PAWS or RTS crash).

PAWS Studio - Atlas - CEM - Device Database

Q: How can I use escape sequence (ESC) in Atlas, macrocode and CEM?
A: Please Note: the escape character is different for Atlas, the ddb (macro code) and the CEM code:

  • Atlas: \ESC\
  • ddb macro code: \27
  • CEM code: \033




  • For Atlas 716.89 code:

50 OUTPUT, TO 'DISPLAY', C'\ESC\[u\ESC\[2D\ESC\[22B':0 $

  • For TYX macro code:

def, fnc, FmtDtoS == 54; ** FormatDataToString
FmtDtoS(buf, "('\27[31;40mFetchDMM(', I0, ', ', F12.3, ')\27[m\n')", f, rslt);

  • For CEM code:

char sMsgBuf[256] = "";
int nCnt = 0;
sprintf(sMsgBuf,"\033[33;40mProcessTriplets(%s): pDat = %d, nCnt = %d\033[m\n",
K_CON, pDat, nCnt);

  • Additional information is located in the online help in Appendix E of the TPS user's guide.
    To get there quickly, do a search on "Appendix E, ANSI Escape Sequences".

PAWS Studio - Atlas

Q: Is there any size limit when I define an array in ATLAS?
A: The data file (.DAT) is organized in pages of 1,024 bytes. The maximum number of allowable pages is 65,536 thus allowing for a total available data space of 67,108,864 (65,536 X 1,024).

There is a minimum overhead required of 17 pages (17 X 1,024 = 17,408 bytes) thus the total available data space for a single unit, i.e. PROGRAM or MODULE, is 67,091,456 (67,108,864 - 17,408) bytes.

The data space is used for user DECLARE variables, constants and compiler generated temporary variables thus it is not very useful to compute the total size available to a single array, though it can be performed of course. DECIMAL variables require 10 bytes / element, thus a single array could be declared with 6,709,145 elements. The following compiles to completion:

BEGIN, ATLAS PROGRAM 'BIGDATA'                              $




There are some additional constraints that make it even more difficult to determine if a particular unit will compile. For example, in general individual variables are allocated on an 8 byte boundary meaning that there will be some unused space between variable allocations.

PAWS Studio - Switching

Q: When resources allocating the .paw project I get the following message:
UUTPIN not in ITADB: J13-095 (ERROR)
However J13-095 is defined the ITA Database.
A: This problem may be caused because you are not using a UUT pin in the CNX field in Atlas but an interface pin that is referenced in the switch database (for ex: A20-1).

  • Please note the following Knowledge information: Ita database includes UUT pins, which appear in the Atlas, and interface pins are also referenced in switch database.
  • In the sdb, zero in front of the interface pin numbers are ignored since pin numbers are treated as numbers. So, A20-1 is the same as A20-001. That is also true for interface pins listed in the Ita database.
  • UUT pins in the Ita database are treated as string, so J20-001 is different from J20-1.
  • UUT pins and interface pins should not have the same names (from A20-1 to A20-1 is not ok)
  • In the Atlas, the CNX field should include UUT-Pins and no interface pins referenced in the sdb.
    Following the rules above should allow you to solve your allocation problem.


LL 2.1V UL 5.1V,

Device Database:
begin DEV DMM;
sensor (voltage) dc signal;
cnx hi DMM-HI, lo DMM-LO
control {voltage max 20 v; }

from J1-095 to P1-1;
from GND to P1-2;

begin MOD = 1 4 : P1;
DMM-HI to 1 via switch PTH 1;
DMM-LO to 2 via switch PTH 2;

Q: How do I use CONNECT or DISCONNECT statements with a SHORT?
A: Let's assume a CEM implementation: You need to implement the driver to open and close the switches. You will also need to map the SWITCH FNC=0, to Connect and Disconnect in the CEM wizard and implement your driver code in there.
Those statements are basically being assigned to a "device" called SWITCH and the connection part of it goes to the Connect and Disconnect functions for this device and the FNC=0 (default given since nothing else is set in the ddb).


Atlas sample:

10 CONNECT, SHORT, CNX J11-14 J3-16 $
20 DISCONNECT, SHORT, CNX J11-14 J3-16 $

Device Database:

     source short;


CEM Switch driver:


     int doSWITCH_0_Connect (long* pPATH, int nCntPATH)



     int nRet = ProcessTriplets(K_CON);

     // Process returned value

     return (int) 0;




int doSWITCH_0_Disconnect (long* pPATH, int nCntPATH)



     int nRet = ProcessTriplets(K_DIS);

     // Process returned value

     return (int) 0;



PAWS Studio - CEM Wizard Grayed-out

Q: The CEM Wizard is grayed-out. I generally use PAWS Studio 1.17.x or lower. Now I use PAWS Studio 1.18.x or higher. Why is CEM Wizard grayed-out?
A: Please be sure the device db is compiled and ... with the new (PAWS Studio 1.18.x or higher) project management and a new project, you will need to have added at least one CEM module in order for CEM wizard to be un-grayed. (CEM wizard will be gray until it has at least one CEM module to 'point to'.)

If you imported an old project, it should have created the CEM module automatically. So if this is the case and the CEM is still gray, then you please make sure the device db is built (the dev file needs to be there).

PAWS Studio - Upgrading

Q: I upgraded from PAWS Studio version 1.6.x (or lower) to PAWS Studio version 1.16.x (or higher).
A: PAWS RTS 1.6.x executed a reset at TPS load and TPS unload. With PAWS RTS 1.16.x or higher, this is an option which can be turned on or off using checkboxes (the default is for both to be 'off'). In order to emulate the behavior of the PAWS RTS 1.6.x in verions 1.16.x or higher, the user would check the 2 checkboxes.

Open RTS
File, unload project (if one is loaded)
Control, Options
Click on the RTS properties pages button,
Select the General tab
Activate the check mark in the box next to TPS Load and the one next to TPS Unload

PAWS Studio - Product 9730

Q: I bought product 9730 RTS Server. The display window of RTS Monitor is limited to 100 lines. The RTS display window is limited to 200 lines. Is there a way to change the limit for the Monitor display?
A: Yes, edit the html document rtsmonitor.htm. Go to the line:
<param name="DspLines" value="100">
Change the value from 100 to 200 (or any value).

PAWS Studio - Debug Disappeared

Q: The menu option "Debug" disappeared from the menu bar in PAWS Studio.
A: Provided that you are licensed for PAWS Studio Debugger, this can be fixed with the following steps:
1. Close all PAWS Studio and RTS's
2. Open paws.ini (in c:\winnt)
3. Find the line "Debug="
If the value is 0, change it to 1.
File, Save
4. Open PAWS Studio again.
Note on the cause: The Debug menu item is removed when PAWS Studio is opened while there is no license for Debug available. This problem can occur when too many instances of PAWS Studio Debug are run. The solution is steps 1-4, above. If the user did not purchase pn 9503 Debugger, the Debug menu item will not display.
With PAWS Studio version 01.20.00 or higher, we implemented a menu option to add back Debugger (so you don't have to modify the ini file anymore!). From PAWS Studio, the user can select 'Options, Studio, Enable Debugger'.

PAWS Studio - configuring MS C++ 6.0

Q: In PAWS Studio, when I click 'build', or 'rebuild all', I get the message Unable to create process with command line "cl.exe"
A: During the installation of Visual C++, the user must check a check box to set environment variables. The solution is to re-install Visual C++ and check the check box.
A sample window in which one would check the checkbox follows:

A work-around:
1. Open a command prompt
2. Run vcvars32.bat (in c:\Program Files\<MS Visual Stu>\vc98\bin)
3. Run paws.exe from the command line to launch PAWS (in c:\<usr>\tyx\bin )
Do this each time you want to run PAWS Studio (until you re-install Visual C++).

PAWS Studio - Accessing the RTS Properties Page

Q: We are unable to change any configuration properties in the RTS Properties Page. Basically all selections are grayed out, even when we change profiles to Supervisor. Any ideas on what might be going on?
A: There is new behavior in Studio RTS 1.16.x - To add Datalogger or Test Diagram Generator or Dynamic Monitor/Changer (formerly Run Time Diagram Viewer) you MUST FIRST UNLOAD THE PROJECT. Only then can you select 'RTS Property Pages' under control, options ...

PAWS Studio - Build / Rebuild All

Q: I use PAWS Studio. I used the build function. The project was not up to date. I clicked 'rebuild all' and the project was up to date. Do you know any reason why this could happen?
A: Please check the synchronization of the clocks between the file-server and the workstation. If the server has a newer date on its file compared to the date on the workstation, it may not think it needs to update the project. The solution is to synchronize the clocks.

PAWS Studio - License Message

Q: I installed PAWS Studio and added my license file. I get a message "No License available for Concordance, Wire List, Interlace Listing, Beautify Atlas, Build LexDB". What does this mean? How can I make it so the message doesn't appear each time I open Studio?
A: Unless you purchased these products, this message is expected (To see which products you purchased, please check the shipping document or the purchase order). The method for removing this message is available in the
Profile Manager Application Note

PAWS Studio RTS - User Interface

Q: (Atlas: Manual intervention Atlas 89/95) How to perform MANUAL INTERVENTION in Atlas 89/95?
A: There are multiple samples for 89/95 atlas under C:\usr\tyx\src.
In C:\usr\tyx\src\, there are several projects that make use of the Manual Intervention implementation for Atlas 89/95. Please refer to them.

PAWS Studio RTS - Run-Time Warning

Q:The PAWS RTS sometimes issues Warnings, such as:
WARNING: (vlc=######) MSXML2::Error - 0x80004003
Note: Hexadecimal error codes different from the one shown above might apear for equivalent instances of this problem. What does this mean?

The Windows System running the PAWS RTS has a legacy version of the Microsoft MSXML package.

A:User needs to have MSXML parser, service pack 3.0

This includes Msxml3.dll, Msxml3a.dll, Msxml3r.dll (the last two DLLs are resource-only DLLs)

The Msxml3.dll of this service pack has file version 8.0.7820.0

Therefore, the customer needs to have Msxml3.dll (along with its resource dlls) whose file version is equal to or greater than 8.0.7820.0

To reiterate the point: PAWS requires the file Msxml3.dll, *not* the file Msxml4.dll, *not* the file Msxml5.dll, etc.

If users are uncertain about how to obain these files, please contact your PAWS representative.

Please copy the files described above to a common directory and register msxml3.dll with regsvr32 from a Windows "cmd" command line as follows:

cd <to directory with dll-files>
C:\WINDOWS\system32\regsvr32 msxml3.dll

Q: During the runtime when executing a WCEM project I am getting the following message in RTS output window:

WARNING: Module 'CEM, LIB=C:\usr\paws\IEEE1695\paws\Rtdg\WCEM.DLL' threw an unhandled exception

A:There might be multiple causes leading to such a warning. What you are seeing is an exception that has been thrown by your CEM code and caught by the WRTS. This problem is often related to some direct or indirect memory leak in your C/C++ CEM code.

Here are some of the common causes listed from the most frequent one to the least frequent one:

  • Incorrect usage of a char array where sprintf contains more character for the string of char than the allocated memory.


char buf[1]; // size buffer is not sufficient to handle the text sent by sprintf function
sprintf(buf, "CEM doDMM2_3_SetupTEST!!! CURR %g, MinFREQ %g, MaxFREQ %g,

  • Incorrect handling of dynamic memory allocation with malloc and free.
  • Incorrect usage of CEM function intended to Extract ATLAS Data from the DATUM Block. For example, using INTDatVal instead of BLNDatVal for a boolean variable.
  • An exception thrown but not in a try/catch environment. The solution would be to implement the proper try/catch procedure and include within that code your "throw" call.

Note: The effect of such problems may happen a few Atlas statements later. In other words, the warning can happen in a middle of executing a CEM Atlas action function, but the damage may have been done in the middle of a an earlier CEM Atlas action function that was invoked anywhere between the beginning of the execution of the TPS to the moment where you see the warning. Your whole code then needs to be verified and not just the CEM Atlas action function where the warning occurred.

Q: When trying to load the project from WRTS I'm getting the following message:
"Warning: Failed to load Wcem.dll, file not found."
However Wcem.dll file exists in the location:\wcem\.
A: Here is an explanation that can help you understand how it works and how to get rid of the warning.
The problem that you are having is common and easy to understand and fix: In the busconfi: You can either use the default path for the dll that you are loading, or you can specify the path:

If you specify the path: The dll should be located in the folder specified in the busconfi. If the path is relative (as opposed to absolute), than that path is relative to the project that you load from the Wrts (i.e.: location of the .paw file)

If it is not specified in the busconfi, it should be located in one of the following folders. It will load the first dll in that order:

  • Local to the project loaded (.obj, .paw or .pax)
  • default location: <usr>/tyx/sub/<Subset>/<Station>/station
  • Location of the pli.exe, by default <usr>/tyx/prg
  • In the System environment search path.

What affects the location of the CEM dll:
The location of the dll will be set by the Options\CEM... leading to the WCEM settings window, in the Options tab. The default settings are:
/nologo /OUT:"..\WCEM.dll" /DLL /MACHINE:IX86

The portion of the settings that tell you where the CEM dll is located is: /OUT:"..\WCEM.dll"

The location is by default relative to the location of the c/cpp files generated by the WCEM wizard, which are set when you generate the CEM module.

In order to find the location of the files, you can easily do that by right-clicking on for instance, the Wrapper.cpp file and selecting Settings. The dll will be built in the folder located relatively to this file (and all other c/cpp/h file in that module). By default, with a recent version of Paws allowing more than one CEM dll, it will be in the folder which has the same name as the module relative to the folder where the .paw file is located. For example, if the .paw file is located in C:\usr\paws\test, and we have a module with default settings called WCEM, the wrapper.cpp file will be located in: C:\usr\paws\test\WCEM, and the dll will be built relative to C:\usr\paws\test\WCEM.

If the default settings for the CEM settings is:

/OUT:"..\WCEM.dll" (version 1.24.0 and later). The WCEM.dll will be built in one folder closer to the root than C:\usr\paws\test\WCEM, hence in C:\usr\paws\test. That location (C:\usr\paws\test where .paw is located) is in the search path, so without specifying the location of the dll in the busconfi, this will allow the Wrts to find the Wcem.dll. This default option (/OUT:"..\WCEM.dll") is the newest default option for Paws Studio.

/OUT:"WCEM.dll"(version 1.17.0 to 1.23.0) This value was the default setting for some versions of Paws Studio. This will build the WCEM.dll in the same folder as the c/cpp/h file, hence: C:\usr\paws\test\WCEM. This folder is NOT in the one of the 4 search paths described above (since .paw is located in C:\usr\paws\test). So, in order for the Wrts to find the WCEM.dll, you need to do one of the following:

  • Add the path in the busconfi (relative to .paw file, or absolute to the root)
  • Move the WCEM.dll manually in one of the 4 search paths (not very convenient) Add C:\usr\paws\test\WCEM in the system environment variables (not very convenient)
  • Change the WCEM settings in order to build WCEM.dll in the folder where .paw is located, or one of the 3 other search paths.

Other possible problems: The CEM dll may be located in the right place, BUT, it is trying to load another dll (such as a Pnp dll), which is in turn not located in the right location (local to the WCEM.dll or somewhere in the search path). You can see the list of statically loaded dlls by your CEM dll by using the tools that comes with MSVC++6.0. The name of that tools from the start menu is: Microsoft Visual Studio 6.0/Microsoft Visual Studio 6.0 Tools/Depends. Then you open your CEM dll, and any problem should appear in pink or red. There are 2 types of problems:

  • It cannot find a dll that CEM depends on
  • It can find all the dlls, but the dlls that CEM depends on do not support some of the functions used by your CEM dll, which means that the library that you linked to when you were building your CEM dll is not synchronized with the dll that CEM is depending on. In this case, either use the right lib when you build your CEM dll or, find the right dll that CEM depends on and put it in the path for your CEM dll to find it.
  • NOTE: This Depends tool will not allow you to see the dlls that are dynamically loaded, just the one statically loaded, so fixing the problems that you find in Depends are necessary, but may not necessarily be sufficient even if they often are.

Additional general note:

Unless you are an advanced user, do not generate a CEM module called CEM. Using the default settings it will prevent you from building your CEM dll due to conflict with the cem.lib provided by tyx in c:\usr\tyx\lib. You can use WCEM by default (generating WCEM.dll), or any other name.

PAWS Studio RTS - I/O Resources

Q: Can I modify the dialog box of the INPUT statement in ATLAS?
A: Yes you can and you have 2 choices:
a) Write your own custom I/O Resource (refer to following docs: TYX_0051_6, TYX_0051_7, TYX_0051_8 and TYX_0051_9). You can make that input dialog look exactly like you want to.

Once built, in the WRTS options property page for I/O resources, you will have to change the INPUT ProgID to the one associated to your custom I/O resource.
b) A less time consuming effort is to open Rtsio.dll as a Resource with MSVC++6.0. You can open string Table and change some of the text to what you want. Some of the values associated to the input dialog resource are around 2000. What you can do is more limited, and if you get an update for Paws Studio, you will have to redo the work with the new version of the Rtsio.dll

License Manager version 1.x - Key entry

Q: I entered both of the keys for PAWS Developer's Studio at the same time. However, I am getting license errors that I should not be getting.
A: If there are two keys for PAWS Developer's Studio, the keys need to be entered one at a time. Run license manager, enter the first key (the license manager window will disappear). Run license manager again, enter the second key.

License Manager version 1.x - Key entry

Q: I entered the first key for PAWS Developer's Studio. The license manager window disappeared. How do I enter the second key?
A: To enter the second key, run license manager again.

License Manager version 1.x - for Windows NT

Q: How do I check if License Manger for Windows NT is running?
A: Select start, settings, control panel, TYX LM.

  • If the server is running, the License Manager window will say "Elan Server is running". On the right, the top button will say "stop".
  • If the server is not running, the License Manager window will say "Elan Server is stopped." On the right the top button will say "launch". Click "launch" to start the license manager server.

License Manager version 2.x

Q: I have network (also called 'floating') licenses for software. Is there a way to identify which users/pc's have a license 'checked out'?
A: On the pc that you chose to be your license server -
1. Select Start, Programs, TYX Network License Manager, License Manager Administration.
2. Click on the radial button for 'configuration using services'.
3. Select "TyxFlexLmService" (move the mouse pointer over it and click once)
4. Select the tab 'Server Status'. Select the radial button 'List All Active Licenses', then click 'Perform Status Inquiry'.

Below is sample text excerpted from an inquiry of 'List All Active Licenses'. In this example, the pc "brian2k" is "serving" 1 floating license for the product licensed with feature id 5090. The 1 license is checked out by Mike on the pc named "mike2000":

Feature usage info:

Users of 5090: (Total of 1 license available)

"5090" v1.000, vendor: tyxcorp
floating license

Mike mike2000 mike2000 (v1.0) (brian2k/27000 802), start Thu 10/24 10:25

Q: I have network (also called 'floating') licenses for software. Customer Support asked me to perform a status inquiry on the license server pc. How do I do this?
A: On the pc that you chose to be your license server, re-read the license file -
1. Select Start, Programs, TYX Network License Manager, License Manager
2. Click on the radial button for 'configuration using services'.
3. Select "TyxFlexLmService" (move the mouse pointer over it and click once)
4. Select the tab 'Start/Stop/Reread'.
5. Click Reread.
Then, keeping the lmtools window open, click on the next tab 'Server Status', select the radial button 'Display Everything', then click 'Perform Status Inquiry'.

During a support call, we may request the information in the lower gray window. Even though the text window is gray, the text can be copied and pasted.