14.4.1 Advanced API Calls

 

Bwdllobj (an Atl COM Dll) or viewdll.dll (a Win32 Dll)

Visual C, Visual Basic users can develop their own interface to WebAccess using our Bwdllobj or viewdll.dll .

Bwdllobj also supports VB 6.0, VBScript, JScript, and VB.NET.

Note - JScript and VB Script are also supported by ACTION Commands used by Local Scripts and Global Scripts in WebAccess.

Visual C and Visual Basic use these Applications Programming Interfaces as the API for User-developed  programs. The following commands are not needed for most applications.  A User programs make calls to the viewdll.lib.

The viewdll.h, viewdll.lib, viewdll.dll, and webvsid.dll are located in the webaccess\node directory.

In order to resolve “stack overflow” issue when VB programs are used to call viewdll.lib, a new COM object is added to WebAccess. The functions defined in the new viewdll.bas illustrate how to use this new object. To use this viewdll.bas directly, please add this file into VB project and call the functions directly.

14.4.1.1 Tag Groups  

Users may want to create different Tag Groups (for example, for use with Display Scan  tags that are only scanned when a Display is called that uses the tag). Users may create up to 32 Tag Groups.

When a Tag Group is made Active, the Get ID, Get Value and Set Value commands apply to the new Tag Group. Other Tag Groups are unaffected.

Please note that all functions in viewdll.lib except VdBwSpool and VdIsKrlRunning must be called between VdBroadWinKrlInit and VdBroadWinKrlFree.

VdBroadWinGetId( &tag_id, tagname ) 

This call places the Tag ID in the variable tag_id for the tagname contained in tagname. 

Tagname must be an char data (character data). 

Tag_id is usually struct data or int data.  (integer)

Tagname can include field parameters.   "TIMER.SPANHI"

 

 

VD_API VdBroadWinInitTagGroup()

This creates a new Tag Group with the identified by the logical number returned as integer (int) . You cannot specify a group number.

 

VD_API VdBroadWinSetActiveTagGroup(int gpno);

This changes the 'Active' Tag group to the number specified by gpno.

gpno is int.  (integer)

 

VD_API VdBroadWinGetActiveTagGroup()

This returns the number of the 'Active Tag Group as int (integer).

 

VD_API VdBroadWinFreeTagGroup(int gpno);

This frees the Tag Group.  It  destroys the group.

gpno is int.  (integer).

 

VdBwSpool

VdBwSpool can be used to dump messages into bwspool.exe (located at drive:\WebAccess\Node and drive:\WebAccess\Client). Please note that all functions in viewdll.lib except VdBwSpool and VdIsKrlRunning must be called between VdBroadWinKrlInit and VdBroadWinKrlFree.

 

VdBroadWinKrlStatus

VdBroadWinKrlStatus can be used to check if the Kernel, which VdBroadWinKrlInit connects to, is still running or not. In contrast to VdBroadWinKrlStatus, VdIsKrlRunning can only be used to check if there is any running Kernel. Please note that all functions in viewdll.lib except VdBwSpool and VdIsKrlRunning must be called between VdBroadWinKrlInit and VdBroadWinKrlFree.

 

VdIsKrlRunning()

Detect if the Kernel is running. The new function is VdIsKrlRunning(), and the return value is non-zero if and only if Kernel is running.  We suggest that all user programs interacting with the Kernel  call this function every 2 seconds to detect if Kernel is still running.

14.4.1.2 Mutex

 

_BWIN_KRLAPI_MUTEX

The "_BWIN_KRLAPI_MUTEX"  is for  access to DataLog Trend files.