Subskrybuj RSS RSS
envelope  |  site map  | 
Search on Website

Q: How to move an asix application from a designer's computer to a client's computer so that asix will find all application elements?


If for any reason the application location on an operator computer must be different then on a designer's computer, you should parameterize access to application components (application masks, reports, files of executed scripts, etc.) so that all paths will be relative to the directory of asix application. The convenient way is to create the default directory, in which all components of application will be stored in subdirectories (just as the new application wizard does). If you have such a configuration of application directories and relative declaration of all application components, you simply copy the whole application to any directory on a target computer. Remember, the shortcut running the application must have the default directory declared (in the field Start at...).    

Q: When you move an application from designer's computer and maintain the same location of constituent elements of the application and everything operates correctly - why does it fail to generate the database of variables?


If the MS Excel files can be located, but attempt to generate the database ends up with the message that the files can not be read - probably the target computer doesn't have drivers for reading Excel files installed. To enable to asix reading MS Excel spreadsheets, the appriopriate driver provided with the asix package should be selected with the use of Architect.

To do this, select Databases data block > Options > Data sources tab. Declare the engine for loading the XLS files: 'ExpressSpreadSheet library of DevExpress company'.



Q: After completing the MS Excel spreadsheet and generating a variable database the variables with the conversion function ANALOG_FP incorrectly convert variables read from a PLC. How can I solve it?


If the arguments of conversion function are properly declared in the appropriate Excel spreadsheet and relevant fields in the generated database are empty - the reason for this situation are some errors of field format in the spreadsheet or uncorrectly operation of Microsoft MDAC driver. The simplest solution of the problem is to install the newer version of driver for XLS files from MS Office 2007 package, or to choose the driver built-in in asix package. The method of selection is described in:

Q: "When you transfer an application from designer's computer and maintain the same location of constituent elements of the application and everything operates correctly - why does it fail to generate the database of variables? "   

Q: How to convert a database from an application of asix 3 or 4 (ZEZ/db files) to the format used in asix 5 (Jet/MDB database)?


First, declare the proper variable definition base type:


Define the data sources:

Varbase > Data sources tab > data source files (ZEZ/DB files) with all tables: 


Next, select the command Generate. The database AsixVarbase.mdb will be created. You can view the list of variables using the command Open from the menu Item Definitions Base


Q: Can I use the variable database from the application of the version 3 or 4 of asix in the application of the version 5?


If you have the application designed in the version 3 or 4 of asix that uses variable database of PARADOX format (ZEZ/db files), you can use it in applications of asix 5:

1. You have to declare in Architect the variable definitions base in the old format - zez/db files:


You also have to declare ZEZ file: Architect > Databases > Item definitions base > ZEZ file name option:


Then, make sure the database is available in Architect.  Select the command Open from the menu Item Definitions BaseIf everything is correctly declared and the database is available, you should see the database window like in asix 3 and 4.  

Q: Is it possible to archive text variables (the conversion function NOTJING_TEXT)?


The basic tool for data archiving - ASPAD is designed for cyclic archiving of analog and binary variables.

Sometimes, however, there is the necessity to declare the text variables (number of elements > 1, the conversion function NOTHING_TEXT) for storage, entering and display the product name, lot number, purchase order or recipe name. In above cases the AsBase module should be used (the module is available in every asix package, without extra costs).

AsBase is the module dedicated to service MS SQL databases (SQL server is distributed with asix package on one installation disc). Its main purpose is to service recipes (creating, editing, loading) as well as to archive a freely configured records containing the data from the asix application. This data can be of any type (including text), and archived in a given time (likewise in archiving using ASPAD) or in response to an event in your application signalized on the basis of the variable synchronizing data recording. Moreover, the variable synchronizing recording can be used for feedback confirmation of archiving activity (the confirmation is send to a PLC). The AsBase archiving system allows creation of records relating to a specific lot or individual items identified by name, serial number, lot number, date and time etc.

Recipes and archives can be browsed on the application diagrams (masks) using standard visualization objects (NUMBER, STRING - texts and others) and the action ASBASE with appropriate parameters.

A particularly interesting solution is the possibility of storing archival record time and assigning it to a 32-bit floating-point variable (the NOTHING_DW conversion function). When browsing the archive the time values will be substituted to this variable and displayed on the screen (display format in the object NUMBER: 'D'). If you use this variable as a parameter transmitting the time in the action ASTREND (the action performed when a specified record is displayed on the screen), the start time in the window of AsTrend will be set to a value read form AsBase. It allows you to find quickly data series of analog values associated with the record (a lot, technological route, product). 

Q: Despite the use of ASBASE operator action with the option of adding a new recipe record the operation fails - AsBase message requests to pass the name of recipe. Why is it happening if the name was given (in STRING object)?


It is simple: AsBase refers to the system field Name that is not displayed by default during edition of variable set for the given recipe group. Additionally, the designer usually defines its own name field containing the name of recipe - which means that the message is misunderstood. Which field of recipe name is taken into consideration when adding a new recipe record?

To solve the problem, when you define a set of variables, display all system fields of recipe definition record. To do this, click the right button of the mouse on the row of column headers in the view of variable set... and select the option Show all fields. It will display system fields.


The variable with the name of recipe should be declared in the system field Name. The variable may be also declared in the field created by the designer (in this example it is the field _Name_).

The object STRING used to display the name of currently selected recipe has to be created on the asix application diagram (mask). If it is necessary to enable the user to define a new recipe, the STRING object will enable to enter the name of a new recipe - when you enter the name and acknowledge the operation of control, and then perform the action AsBase Add (with a link identifier to AsBase) - a new recipe will be added to AsBase database.

Q: How to switch all physical channels to NONE or NETWORK driver type and how to restore all original settings declared in channel definitions using the Architect module?


Temporary switching all physical channels to NETWORK or NONE driver type at the time of designing and testing application is possible with the use of the window 'Manage Channels...' - run by the command Manage Channels... from the menu Fields and Computers.

See more:

  How to switch all physical channels (606 KB)

Q: How can I parameterize a discrete object (e.g. TEXTS, PICTURES) with the use of bits of different Asmen variables, offen from different sources (logic channels, PLCs)?


The solution is to use a simple script that will merge the bits you need from different variables and will place the result of merging in a new variable. This new varianle should be declared in the channel operating under the protocol NONE and have the conversion function NOTHING_BYTE, NOTHING or NOTHING_DW declared (depending on your needs). If the target variable is not archived, it will not be included in the pool of variables available in the asix license.

An examplary script might look like this:

 download beety.rar  (2 KB).

The script sets 16 bits in a variable named Bity_00_15. 

Declaration of using the script depends on the asix package version. For asix 3 or 4 the script should be declared in the INI file as follows:

_Bity_ = Scripts \ beety.js / / thread: new,4


_Bity_ - the name of the script, for example, it appears in the Control Panel when messages are displayed;

Scripts \ beety.js - the name of processed file with the access path

/ / Thread:new,4 - declaration of creating a separate thread with a priority 4 to execute this script. 


For asix 5 the script declaration should be done in Architect > Fields and Computers > Start parameters > Programs > Scripts


Q: After the asix system restart the asix application doesn't find the HASP key. After another restart the key is found. What can I do that the application will find the HASP key at the first restart?


The reason of such a situation is that the driver of HASP key didn't finish initialization procedure, and the asix application has already run. The solution is to delay asix application startup by adding the additional parameter to the asix application address track declared in the shortcut running the application.

for asix ver. 2 - 4:

c:\asix\as32.exe /10 application_file.ini  - red parameter delays the application startup by 10 seconds

for asix ver. 5:

c:\asix\as32.exe /10 application_file.xml Komp1  - red parameter delays the application startup by 10 seconds for the computer named Komp1 according to the definition of application from the file application_file.xml  


The time given above is an examplary time - you should experimentally set the shortest time possible to guarantee the proper application startup.


Q: Is it possible to convert the definition of trends stored in *.DAT files into the format of *.TRNX files?


It is possible to convert  *.DAT files (created in erlier versions of asix) into *.TRNX files, supported by AsTrend w.e.f. the version 5 of asix.

The converter is called form Architect from the menu Tools. It requires to declare the path to source *.DAT file with trend definition, to indicate the variable definition base in which trend variables are declared and to declare the output directory into which new trends will be saved.

The conversion allows you to keep all existing settings of trends being converted as well as to add new features on the basis of a sample *.TRNX file, which can be declared in the optional box of the converter. For deifferent values of the same option - settings form the *.DAT file are superior.

Using the trend converter allows you to minimize the time/cost of manual modification of old trends, especially modifications of operator actions calling old trends. After recognition of operator action calling an old trend, asix opens a new converted *.TRNX file instead of a *.DAT file.

The converter is an invaluable tool when you have to upgrade the asix system to version 5 for already existing applications and you don't want to interfere in them too much.   

Q: Limit Strategy of asix Alarm Detection: Why are values of measurements and limitations displayed in alarm text incorrect when the display format is %nd and variables have the conversion function NOTHING?


Because the format %nd is used for 4-byte integer variables. For variables with the conversion function NOTHING the format %nhd should be used, where n means the number of characters in alarm text. 

Q: Can an asix variable be refreshed more frquently than once per second?


Yes - drivers for communication with Beckhoff PLCs allow such quick data readout. Other drivers do not - but there is a "gate" that allows you to force readout of variables with a different period (shorter one) than one declared in the Asmen module. For this purpose, a simple script in VBS or JScript should be created. To optimize the process of refreshing variables (load of communication channel), it is recommended to disable the fast refresh mechanism - if it is not necessary. 

Examplary script:

Assuming that the following elements were defined:

- FastVariable variable - it is to be read out from the PLC more frequently than once per second;

- Semaphore variable - it conditions fast refresh of FastVariable; it is declared in the channel with NONE protocol (virtual channel) or in physical  (of PLC);


- mechanism (eg, action) that sets and resets the bit 0 on Semaphore variable;


the script might look like this:


var Fast = Asix.Variables(„FastVariable”);
var Permission = Asix.Variables(„Semaphore”);
Asix.SetInterval(FastRefresh,100,10);    // run the function FastRefresh every 100 ms
function FastRefresh()
                if ((Permission.Value & 0x1) == 0x1)      // if bit_0 = 1 in Semaphore variable 
}// FastRefresh
option explicit
dim Permission, Fast 
set Permission = asix.variables("Semaphore")
set Fast = asix.variables("FastVariable")
call asix.setinterval(GetRef("periodical"),100,10)
function periodical 
if Permission.value = 1 then
end function

Q: The communication through the serial link between asix application and SAIA controller doesn't work with the use of S-Bus protocol with the DATA option. The PLC is properly parameterized. Why asix doesn't communicate with the PLC?


The parameters of the RS interface should be declared explicitly in the driver configuration, because this mode of the driver operation (DATA) requires non-default settings. It is not enough to give only the COM port number in the definition of the channel - you have to add the parameters of speed, number of bits, parity check, as well as number of stop bits according to the formula:


For example:

1,COM3, 9600,8,none,1

Lack of described options causes operation with default settings of the port, which differ from those ones specified for the S-Bus operating with the option DATE.

Q: What values should be given as numbers in the parameterization of TSAP channel for S7_TCPIP protocol?


During the parameterization of the channel that works on the basis of S7_TCPIP driver it is necessary to give TCP/IP address of the controller - it is obvious and easy to do. Besides, local TSAP address and remote TSAP address are necessary. By default, these addresses are set to 10.12 and 03.02, respectively. You can leave the default setting for the local TSAP address, but the remote TSAP address must be found in the S7 project (driver software). Previously, it is worth to try settings from the following statement - they work in most projects: 

Controller Type

Remote TSAP Address


03.03 or 03.04




10.00 or 10.02


03.00 or 03.01

Q: How to install the HASP key driver manually?


The first step is to check, whether any HASP key driver is installed – and to uninstall it. For this purpose, simply open the console window (Start -> Run: cmd).

In the console window change the directory to the one, where the asix package is installed, and run the HASP key driver installer with the command:
Hinstall –r, which will uninstall the installed driver or display an error message, if the driver was not installed.

The next step is to replace the HASP key support programs - Hinstall.exe and haspds_windows.dll in the asix package directory (note: in the asix package version 2.xx, only the first of those files is present) with files downloaded from our website
(-> About asix -> Downloads -> Software).

When the files are replaced, run the installer in the console window.

Hinstall –i

If a key of specific type is used in the computer, it is recommended to use an option declaring the key type:

Hinstall –i –ks=USB for USB key or

Hinstall –i –ks=Parallel for printer port key.

Q: Data read in the MODBUS channel have incorrect values, different than the ones viewed in the controller programming tool. Why?


There are several reasons for such a situation: The most important are: missing reconciliation of transmission parameters on the side of the master and slave (transmission speed, number of data bytes, etc.), use of incorrect variable addressing method (always check the register addressing method in the hardware manufacturer‘s documentation). Another reason may be an address inadequate for the register recording format applied in PLC (Intel or Motorola format).

Q: No communication on the Modubus channel on TCPIP after connecting a subsequent data source; asix as Master. Why does it happen?


The MODBUS_TCPIP driver requires a port number, IP address and node number in Modbus network must be given for each channel. Usually, the designers do not declare a correct Modbus network node number, misled by the fact that the nodes are identified by their IP address. However, a node address is necessary and must be unique.

Q: After the replacement of a computer and migration of asix application, the HASP protection key is not found. Why?


The most common reason for such a situation is the incorrect version of the HASP protection key driver for the new operating system (usually MS Windows XP). To fix this flaw, download the new HASP key driver (-> About Asix -> Downloads -> Software) and install it.

Q: How to configure CP5611 card for MPI connectivity with the use of SimaticNet PC Software V 6.2?



Detailed description of steps, together with examples of SimaticNet software windows for the case given in the query is presented in PDF document.

Konfiguracja kart CP5611 i PC Software V6  (1,54 MB)