GlobalFunctions Methods

Global methods can be used in HyperPoints or in CygNet Studio without importing the library. To use them in other environments, create a COM component from the CxScript.GlobalFunctions library. Global methods include the following:

Notes:
The Methods in parentheses indicate a hidden legacy script function.
Some of the examples in this topic use the WScript.Sleep statement, which is not available for use when scripting in CygNet Studio. Use TheView's EventTimer instead.

AcknowledgeAlarm

The AcknowledgeAlarm method acknowledges an alarm for a specified point.

Syntax

AcknowledgeAlarm(Tag As String)

Parameters

Parameter Required Description

Tag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

Remarks

This method will only work in Live Mode. Enable or disable Live Mode using EnableLiveMode.

Example

The following example acknowledges an alarm.

Copy
AcknowledgeAlarm
Sub ackAlarm()
    EnableLiveMode True
    AcknowledgeAlarm "CYGDEMO.UIS.00000042"
    edtMessageBox.Text = "Alarm acknowledged"
    EnableLiveMode False
End Sub

Back to top

AddAuditTransactionComment

The AddAuditTransactionComment method adds a comment for an Audit Transaction in the specified Service.

Syntax

AddAuditTransactionComment(SiteService As String, AuditTransactionId as Unsigned Long, TransactionComment As String)

Parameters

Parameter Required Description

SiteService

Yes

The name of a service, in Site.Service format.

AuditTransactionId

Yes

The Audit ID of the transaction to comment on.

TransactionComment

Yes

A comment to add to the transaction.

Remarks

If the AuditTransactionId is invalid, no error will display.

Example

The following example adds a comment to transaction 1337 in CYGDEMO.UIS.

Copy
AddAuditTransactionComment
Sub addAuditComment()
    AddAuditTransactionComment "CYGDEMO.UIS", 1337, "This is a generic comment."
    edtMessageBox.Text = "Comment added"
End Sub

Back to top

AdjustTime

The AdjustTime method adjusts a date time by the specified adjustment string.

Syntax

AdjustTime(ReferenceTime As Date, Adjustment as String) As Date

Parameters

Parameter Required Description

ReferenceTime

Yes

The starting date time which to adjust.

Adjustment

Yes

A string specifying the amount of time by which to adjust ReferenceTime.  The space-separated elements in this string must be of the form "x-#", "x+#", or "x=#" where # is an integer and x is one of the following unit specifiers:

  • 'y'— Year
  • 'm'— Month
  • 'd'— Day
  • 'H'— Hour
  • 'M'— Minute
  • 'S'— Second

Example

The following example displays the current time and the adjusted time.

Copy
AdjustTime
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim dtNow, dtThen
    dtNow = Now()
    dtThen = GlobalFunctions.AdjustTime(dtNow, "y-1 m-1 d-1 H-1 M-1 S-1")
     
    MsgBox dtNow
    MsgBox dtThen
End Sub

Back to top

ConvertLocalTimeToUTCTime

The ConvertLocalTimeToUTCTime method converts a local time to UTC.

Syntax

ConvertLocalTimeToUTCTime(LocalTime As Date) As Date

Parameters

Parameter Required Description

LocalTime

Yes

The local time to be converted to UTC.

Example

The following example converts the current local time to UTC and displays both.

Copy
ConvertLocalTimeToUTCTime
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim dtLocal, dtUtc
    dtLocal = Now()
    dtUtc = GlobalFunctions.ConvertLocalTimeToUTCTime(dtLocal)
     
    MsgBox dtLocal
    MsgBox dtUtc
End Sub

Back to top

ConvertUTCTimeToLocalTime

The ConvertUTCTimeToLocalTime method converts a UTC time to local time.

Syntax

ConvertUTCTimeToLocalTime(UTCTime As Date) As Date

Parameters

Parameter Required Description

UTCTime

Yes

The UTC time to be converted to local.

Example

The following example converts the current local time to UTC and back to local, and displays both.

Copy
ConvertUTCTimeToLocalTime
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim dtLocal, dtUtc
    dtLocal = Now()
    dtUtc = GlobalFunctions.ConvertLocalTimeToUTCTime(dtLocal)
    dtLocal = GlobalFunctions.ConvertUTCTimeToLocalTime(dtUtc)
     
    MsgBox dtUtc
    MsgBox dtLocal
End Sub

Back to top

CreateAuditTransaction

The CreateAuditTransaction method creates an Audit Transaction in the specified Service.

Syntax

CreateAuditTransaction(SiteService As String, OperationId As String, OperationDescription As String, TransactionComment As String) As Long

Parameters

Parameter Required Description

SiteService

Yes

The name of a service, in Site.Service format.

OperationId

Yes

A valid operation ID to perform.

OperationDescription

Yes

A description for the operation.

TransactionComment

No

A comment to add to the transaction.

Remarks

Return Value: The Audit Transaction ID of the new transaction.

Example

The following example creates an Audit transaction and displays its ID to the user.

Copy
CreateAuditTransaction
Sub createTransaction()
    Dim iAudit
    iAudit = CreateAuditTransaction("CYGDEMO.UIS", "UISCMD_PERFORM", "Perfrm UIS Command", "")
    edtMessageBox.Text = "Transaction " & iAudit & " created"
End Sub

Back to top

CreateWaitCursor

The CreateWaitCursor method creates a scoped WaitCursor object, changing the cursor to a wait cursor (for example, hourglass or other image) for the duration of the current scope.

When a WaitCursor object is instantiated via script, screens will "remember" that the cursor needs to be set back to the wait cursor if other components modify the cursor state for any reason. The cursor is set back to normal after the wait cursor object goes out of scope.

Syntax

CreateWaitCursor() As WaitCursor

Remarks

This method will only work when called within a process with user-visible windows (not command-line windows), such as CygNet Studio.

Example

The following example displays a wait cursor for the duration of a process.

Copy
CreateWaitCursor
Sub doCalculation()
    Dim objWaitCursor
    Set objWaitCursor = CreateWaitCursor()
     
    Dim bDone
    bDone = False
    While Not(bDone)
    'do some work
    Wend
End Sub

 

Note: See also CursorHelper Object.

Back to top

EnableLiveMode

The EnableLiveMode method enables or disables live mode.

Syntax

EnableLiveMode(Enable As Boolean)

Parameters

Parameter Required Description

Enable

Yes

Determines whether live mode is enabled (True) or disabled (False).

Remarks

Live mode must be enabled prior to using potentially harmful functions, like SendUISCommand and SetPoint. Live mode is enabled by default in HSS, but is disabled by default in CygNet Studio.

Example

This following method demonstrates enabling live mode in CygNet Studio before issuing a SetPoint command.

Copy
EnableLiveMode
Sub SetPointValue(newValue)
    'Enable live mode before calling a setpoint
    EnableLiveMode(True)
    SetPoint "CYGDEMO.UIS:POINT1", newValue, Now, 0
End Sub

Back to top

EncryptString

The EncryptString method encrypts a string.

Syntax

EncryptString(Source As Date, DestString as String) As Boolean

Parameters

Parameter Required Description

Source

Yes

The source string to encrypt.

DestString

Yes

The encrypted string returned by this method.

Remarks

This method will always return true.

Example

The following example encrypts a string and displays it in a message box.

Copy
EncryptString
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim strEncrypted
    GlobalFunctions.EncryptString "My string", strEncrypted
     
    MsgBox strEncrypted
End Sub

Back to top

GetAlarmState

The GetAlarmState method returns the alarm state.

Syntax

GetAlarmState(Status As Integer) As AlarmState

Parameters

Parameter Required Description

Status

Yes

A valid Point ID number.

Remarks

Return Value: The state of the alarm as an integer. See Alarm State Enumeration Constants for what these integers mean.

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example gets the alarm state for point 00000123.

Copy
GetAlarmState
Sub getAlarmState()
    Dim iState
    iState = GetAlarmState(00000123)
    edtMessageBox.Text = "Alarm state integer is " & iState
End Sub

Back to top

GetAssociatedAcsName

The GetAssociatedAcsName method gets the associated ACS name.

Syntax

GetAssociatedAcsName(SiteService As String) As String

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Example

The following example displays a message box containing the ACS name.

Copy
GetAssociatedAcsName
Sub getAcs()
    MsgBox GetAssociatedAcsName("CYGDEMO.UIS")
End Sub

Back to top

GetAssociatedAudName

The GetAssociatedAudName method gets the associated AUD service name.

Syntax

GetAssociatedAudName(SiteService As String) As String

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Example

The following example displays a message box containing the AUD service name.

Copy
GetAssociatedAudName
Sub getAcs()
    MsgBox GetAssociatedAudName("CYGDEMO.UIS")
End Sub

Back to top

GetAssociatedFacName

The GetAssociatedFacName method gets the associated FAC service name.

Syntax

GetAssociatedFacName(DdsCvsUisSiteService As String) As String

Parameters

Parameter Required Description

DdsCvsUisSiteService

Yes

The name of the service from which to get information, in Site.Service format.

Example

The following example displays a message box containing the FAC service name.

Copy
GetAssociatedFacName
Sub getAcs()
    MsgBox GetAssociatedFacName("CYGDEMO.UIS")
End Sub

Back to top

GetAssociatedPointCfgName

The GetAssociatedPointCfgName method gets the associated PNT service name.

Syntax

GetAssociatedPointCfgName(CvsUisSiteService As String) As String

Parameters

Parameter Required Description

CvsUisSiteService

Yes

The name of the service from which to get information, in Site.Service format.

Example

The following example displays a message box containing the PNT service name.

Copy
GetAssociatedPointCfgName
Sub getAcs()
    MsgBox GetAssociatedPointCfgName("CYGDEMO.UIS")
End Sub

Back to top

GetAssociatedServiceName

The GetAssociatedServiceName method returns the Site.Service of the specified type associated with the specified Site.Service.

Syntax

GetAssociatedServiceName(SiteService As String, ServiceType as String) As String

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

The Site.Service for which to retrieve an associated service.

ServiceType

Yes

The type of the associated service to retrieve.

Example

The following example encrypts a string and displays it in a message box.

Copy
GetAssociatedServiceName
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim strSiteService
    strSiteService = GlobalFunctions.GetAssociatedServiceName("CYGDEMO.DDS", "TRS")
     
    MsgBox strSiteService
    End Sub

Back to top

GetAssociatedTrsName

The GetAssociatedTrsName method gets the associated TRS name.

Syntax

GetAssociatedTrsName(SiteService As String) As String

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Example

The following example displays a message box containing the TRS name.

Copy
GetAssociatedTrsName
Sub getAcs()
    MsgBox GetAssociatedTrsName("CYGDEMO.UIS")
End Sub

Back to top

GetAuditLevelGenserveInfoKeywords

The GetAuditLevelGenserveInfoKeywords method gets a list of valid audit level keywords for a service.

Syntax

GetAuditLevelGenserveInfoKeywords(SiteService As String) As Variant

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Remarks

Return Value: An array of keywords for the given service.

Example

The following example gets the audit level keywords for CYGDEMO.UIS and displays them in a list box.

Copy
GetAuditLevelGenserveInfoKeywords
Sub getGenserveKeywords()
    Dim arrList, item
    arrList = GetAuditLevelGenserveInfoKeywords("CYGDEMO.UIS")
     
    For Each item In arrList
        lstFacilities.AddString(item)
    Next
End Sub

Back to top

GetCommandLineString

The GetCommandLineString method returns the command-line supplied to the calling application.

Syntax

GetCommandLineString As String

Back to top

GetElapsedTime

The GetElapsedTime method returns the fractional seconds since the module load time.

Syntax

GetElapsedTime() As Double

Remarks

This method can be used in lieu of the VBScript Timer() method.

Example

The following example displays the elapsed time since the module load in a message box.

Copy
GetElapsedTime
Sub
    WScript.Sleep(2000)
     
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim dSeconds1
    dSeconds1 = GlobalFunctions.GetElapsedTime()
     
    WScript.Sleep(2000)
     
    Dim dSeconds2
    dSeconds2 = GlobalFunctions.GetElapsedTime()
     
    MsgBox dSeconds1 'should display ~0 seconds
    MsgBox dSeconds2 'should display ~2 seconds
End Sub

Back to top

GetEnumerationTable

The GetEnumerationTable method retrieves an enumeration table from a Table Reference Service.

Syntax

GetEnumerationTable(SiteService As String, TableName As String, EnumTable As Variant)

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

A TRS or any service with a TRS reference.

TableName

Yes

The name of the table to retrieve.

EnumTable

Yes

Output. A two dimensional array in order of: table entry, entry description.

Remarks

To view a list of all available table names, navigate to the specified TRS in CygNet Explorer. The returned array will include one blank record following the returned values (see example).

Example

The following method displays the table entries in the CMPTYPE table in a message box.

Copy
GetEnumerationTable
Sub ShowTableEntries ()
    Dim arrEntries, strDisplay, i
    strDisplay = ""
     
    'Get the table entries
    GetEnumerationTable "CYGDEMO.TRS", "CMPTYPE", arrEntries
     
    'Display each table entry
    For i=lbound(arrEntries) To ubound(arrEntries)-1
        strDisplay = strDisplay & arrEntries(i,0) & ":  " & arrEntries(i,1) & vbCr
    Next  
    MsgBox strDisplay
End Sub

Back to top

GetFacilityInfo

The GetFacilityInfo method gets facility information from the DDS.

Syntax

GetFacilityInfo(DdsSiteService As String, Descriptor As String, FacilityInfo As Variant)

Parameters

Parameter Required Description

DdsSiteService

Yes

The name of the service from which to get information, in Site.Service format.

Defines the DDS site and service from which to get the facility information.

Descriptor

Yes

Indicates the descriptor(s) to retrieve for the facility. See Remarks below for a list of possible descriptors. Multiple descriptors are semicolon delimited.

FacilityInfo

Yes

Output. The two-dimensional array of facilities returned, in the order of:

ID, Description, Type, Location, Contact

Remarks

Possible descriptors:  DEVICE_ID, DEVICE_CATEGORY, DEVICE_TYPE, DEVICE_DESC, DEVICE_MANUF, DEVICE_MODEL, DEVICE_CLASS, DEVICE_REV, DEVICE_ENABLED, DEVICE_FACILITY, FACILITY_ID, FACILITY_DESC, FACILITY_TYPE, FACILITY_LOCATION, FACILITY_CONTACT. You can use CygNet Explorer, specifically the DDS and FAC service panes, to find possible values of the above parameters.

Example

The following function populates a list box, lstFacilities, with the facility names in the "CYGDEMO.UIS" service. The device descriptor, "DEVICE_CATEGORY=RD," restricts the returned list to remote devices that are enabled.

Copy
GetFacilityInfo
Sub ListFacilities ()
    Dim arrFacInfo, strDescriptor, strFacId
     
    'Get only enabled remote devices (RD)
    strDescriptor = "DEVICE_CATEGORY=RD;DEVICE_ENABLED=YES"
    GetFacilityInfo "CYGDEMO.UIS", strDescriptor, arrFacInfo
     
    'Extract each facility ID (the first field in the array) and
    'place in a list box
    For i = lbound(arrFacInfo) To ubound(arrFacInfo)
        strFacId = arrFacInfo(i, 0)
        lstFacilities.AddString(strFacId)
    Next
     
    'Leave the first item selected
    lstFacilities.Selection = 0
    lstFacilities.RunChange
End Sub

Back to top

GetFacilityList

The GetFacilityList method returns a list of facility IDs in a CVS.

Syntax

GetFacilityList(CvsSiteService As String, FacilityList As Variant)

Parameters

Parameter Required Description

CvsSiteService

Yes

The name of the service from which to get information, in Site.Service format.

Defines the CVS site and service.

FacilityList

Yes

Output. The array of facilities received.

Example

The following example fills a list box with facility names on the CYGDEMO.UIS.

Copy
GetFacilityList
Sub ListFacilities ()
    Dim arrFacs, i
    lstFacilities.ResetContent
     
    'Get facilities
    GetFacilityList "CYGDEMO.UIS", arrFacs
     
    'Display results in list box
    For i=lbound(arrFacs) To ubound(arrFacs)
        lstFacilities.AddString arrFacs (i)
    Next
End Sub

Back to top

GetGenserveInfo

The GetGenserveInfo method gets a list of general information about a service.

Syntax

GetGenserveInfo(SiteService As String, Request As String, GenserveInfo As Variant)

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Request

Yes

A semicolon delimited list of requests. See Info Items for a complete list of info items that may be requested.

GenserveInfo

Yes

Output. A two dimensional array in order of: type, value, type "nice name."

Example

The following method displays all executable-related parameters for a given service in a message box. The returned array will include one blank record following the returned values (see example).

Copy
GetGenserveInfo
Sub ShowServInfo (strService)
    Dim arrServinfo, strRequest, i, strDisplay
    strDisplay = ""
     
    strRequest = "EXE_NAME;EXE_SIZE;EXE_TIME;EXE_VER"
     
    'Get the service information
    GetGenserveInfo strService, strRequest, arrServInfo
     
    'Display each service parameter
    For i=lbound(arrServInfo) To ubound(arrServInfo)
        strDisplay = strDisplay & arrServinfo(i,2) & ":  " & arrServInfo(i,1) & vbCr
    Next
    MsgBox strDisplay
End Sub

Back to top

GetODBCConnectionString

The GetODBCConnectionString method returns the ODBC connection string for a given service filter.

Syntax

GetODBCConnectionString(SiteServiceFilter As String) As String

Parameters

Parameter Required Description

SiteServiceFilter

Yes

A comma-separated service filter string which allows the use of wildcards (for example, "CYG*.*,MYSITE.UIS).

Example

The following example retrieves the ODBC connection string for service filter "CYGDEMO.*".

Copy
GetODBCConnectionString
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim strOdbcConn
    strOdbcConn = GlobalFunctions.GetODBCConnectionString("CYGDEMO.*")
     
    MsgBox strOdbcConn
End Sub

Back to top

GetServiceDef

The GetServiceDef method retrieves site service definition for a single specified service.

Syntax

GetServiceDef(SiteService As String, ServiceDef As Variant)

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

The Site.Service for which to retrieve the service definition.

ServiceDef

Yes

The array representing the service definition returned by this method.  The array order is defined as follows:

0      Site.Service

1      Name of site

2      Name of service

3      Service type

4      Description of service

5      StreetTalk name of service

6      Name of backup server site

7      Name of backup server service

8      Name of owner, site

9      Name of owner, service

10    Status of service

11    Address of service

12    Record version #

13    16 bit record type

14    Status of server

Remarks

This method allows the retrieval of a service definition of a single service.  To retrieve service definitions of multiple services, use GetServiceDefs method.

Example

The following example retrieves the service definition for CYGDEMO.UIS and displays the service description in a message box.

Copy
GetServiceDef
Sub ShowUISDefs ()
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim aryServDef
    GlobalFunctions.GetServiceDef "CYGDEMO.UIS", aryServDef
     
    MsgBox aryServDef(4)
End Sub

Back to top

GetServiceDefs

The GetServiceDefs method retrieves multiple service definitions for services within a specified ARS.

Syntax

GetServiceDefs(ArsSiteService As String, ServiceTypeFilter As String, ServiceStatusFilter As String, ServiceNameFilter As String, SiteNameFilter As String, ServiceDefs As Variant)

Parameters

Parameter Required Description

ArsSiteService

Yes

The name of the service from which to get information, in Site.Service format.

The ARS Site.Service from which to get definitions.

If this parameter is an empty string, the service definitions will be retrieved from the default ARS.

ServiceTypeFilter

Yes

A semicolon delimited list of service types to retrieve.

If this parameter is an empty string, all service types will be retrieved.

ServiceStatusFilter

Yes

A semicolon delimited list of statuses to retrieve.

If this parameter is an empty string, all service statuses will be retrieved.

ServiceNameFilter

Yes

A semicolon delimited list of service names to retrieve.

If this parameter is an empty string, all service names will be retrieved.

SiteNameFilter

Yes

A semicolon delimited list of site names to retrieve.

If this parameter is an empty string, all site names will be retrieved.

ServiceDefs

Yes

The two-dimensional array of service definitions returned by this method. The array order is defined as follows:

0      Site.Service

1      Name of site

2      Name of service

3      Service type

4      Description of service

5      StreetTalk name of service

6      Name of backup server site

7      Name of backup server service

8      Name of owner, site

9      Name of owner, service

10    Status of service

11    Address of service

12    Record version #

13    16 bit record type

14    Status of server

Remarks

This method allows the retrieval of the service definitions of multiple services.  To retrieve the service definition of a single service, use GetServiceDef.

Example

The following method shows a message box listing the names and descriptions of all UIS, DDS, and FAC services in the system with status "OK".

Copy
GetServiceDefs
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim aryServDefs
    GlobalFunctions.GetServiceDefs "PFAKE.ARS", "UIS;DDS;FAC", "OK", "", "", aryServDefs
     
    Dim strResp, i
    For i=lbound(aryServDefs) To ubound(aryServDefs)
    strResp = strResp & aryServDefs(i,0) & "  " & aryServDefs(i,4) & vbCr
    Next
     
    MsgBox strResp 
End Sub

Back to top

GetTagList

The GetTagList method returns a list of point tags from a Point Service.

Syntax

GetTagList(PointCfgOrCvsSiteService As String, Filter As String, GetLongId As Boolean, TagList As Variant)

Parameters

Parameter Required Description

PointCfgOrCvsSiteService

Yes

The name of the service from which to get information, in Site.Service format.

A CVS or PNT service.

Filter

Yes

A semicolon delimited naming filter to select certain tags. Possible filters include:

  • FACILITY
  • FACILITYID
  • INDEXED1
  • INDEXED2
  • INDEXED3
  • SITE
  • SITE_SERVICE
  • SITESERVICE
  • SYSTEM
  • SYSTEMNAME
  • UDC
  • UNIFORMDATACODE

Wildcards are not allowed.

GetLongId

Yes

True returns the Long Point ID; False returns the Short Point ID.

TagList

Yes

Output. The array of tag strings returned.

Remarks

The returned tag list is an array of Point IDs in "Site.Service.PointID" format.

Example

The following example fills a list box, lstTags, with tags from the provided facility.

Copy
GetTagList
Sub DisplayTagList (facility)
    Dim arrTagList, i
    lstTags.ResetContent
     
    'Get tags from the facility
    GetTagList "CYGDEMO.PNT", "FACILITY=" & facility, False, arrTagList
     
    'Display results in list box
    For i=lbound(arrTagList) To ubound(arrTagList)
        lstTags.AddString arrTagList(i)
    Next
End Sub

Back to top

GetUdcDescription

The GetUdcDescription method gets a UDC description based on a UDC name and service.

Syntax

GetUdcDescription(SiteService As String, Udc As String) As String

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Udc

Yes

A valid name of a UDC in the Site.Service.

Remarks

The returned value is the UDC description string.

Example

The following method demonstrates the usage of GetUdcDescription for a sample UDC, PSTATIC.

Copy
GetUdcDescription
Sub ShowUDCDesc ()
    Dim desc
    desc = GetUdcDescription("CYGDEMO.UIS", "PSTATIC")
    MsgBox "PSTATIC Description: " & desc
End Sub

Back to top

GetUdcFormatInfo

The GetUdcFormatInfo method gets the format of a UDC.

Syntax

GetUdcFormatInfo(SiteService As String, Udc As String) As String

Parameters

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Udc

Yes

A valid name of a UDC in the Site.Service.

Remarks

Return Value: A string containing the format info for the UDC.

Example

The following example gets the format of a UDC and stores it in a text box.

Copy
GetUdcFormatInfo
Sub getFormat()
    Dim strRet
    strRet = GetUdcFormatInfo("CYGDEMO.UIS", "SVMSVST")
        edtMessageBox.Text = strRet
    End If
End Sub

Back to top

GetUdcList

The GetUdcList method gets a list of UDCs in the specified facility.

Syntax

GetUdcList(FacilityTag As String, UdcList As Variant) As Type

Parameters

Parameter Required Description

FacilityTag

Yes

A valid facility tag to retrieve the UDC list from.

UdcList

Yes

Output. Stores the list of UDCs.

Example

The following example displays all the UDCs in CYG_METER.

Copy
GetUdcList
Sub getUdc()
    Dim arrUDC, item
    GetUdcList "CYGDEMO.UIS::CYG_METER", arrUDC
    For Each item In arrUDC
        lstUDC.AddString(item)
    Next
End Sub

Back to top

GetUisCommandList

The GetUisCommandList method gets a list of UIS commands for the specified facility.

Syntax

GetUisCommandList(UisOrDdsSiteService As String, FacilityID As String, SelectionMask As Integer, UisCmdInfo As Variant)

Parameters

Parameter Required Description

UisOrDdsSiteService

Yes

The name of a valid UIS or DDS from which to get information in Site.Service format.

FacilityID

Yes

Defines the facility ID for the command list.

SelectionMask

Yes

Indicates which subset of commands to retrieve using a bit mask. Available flags are enumerated in CmdSelectionBits.

UisCmdInfo

Yes

Output. The two-dimensional array of commands returned, in order of:  Facility ID, Command Name, command description, security granted (Boolean)

Remarks

If you have more than one type of command you wish to retrieve, "OR" the constants from the CmdSelectionBits together and use the resulting value as the selection mask.

Example

The following function retrieves UIS command information for the METER206 facility and displays the command descriptions in a list box. The selection mask enables retrieval of parent and hidden data group information (1 + 4 = 5 = 00000101).

Copy
GetUisCommandList
Sub ListUisCommands()
    Dim arrCmds, i
    lstCommands.ResetContent
     
    'Get command list
    GetUisCommandList "CYGDEMO.UIS", "METER206", 5, arrCmds
     
    'Display each command description in a list box
    For i=lbound(arrCmds) To ubound(arrCmds)
        lstCommands.AddString arrCmds(i, 2)
    Next
End Sub

Back to top

GetUisFromDds

The GetUisFromDds method gets the UIS name from a DDS.

Syntax

GetUisFromDds(DdsSiteService As String) As String

Parameters

Parameter Required Description

DdsSiteService

Yes

The name of the service from which to get information, in Site.Service format.

A valid DDS.

Remarks

Return Value: The name of the UIS, in "Site.Service" format. If DdsSiteService is invalid, an empty string is returned.

Example

The following example gets the UIS from CYGDEMO.DDS.

Copy
GetUisFromDds
Sub getUIS()
    Dim strUIS
    strUIS = GetUisFromDds("CYGDEMO.DDS")
    edtMessageBox.Text = strUIS
End Sub

Back to top

IsAnalogPoint

The IsAnalogPoint method returns true if the point type is analog.

Syntax

IsAnalogPoint(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is an analog point.

Copy
IsAnalogPoint
Sub isAnalog()
    If IsAnalogPoint(277) Then
        edtMessageBox.Text = "Point 277 is an analog point"
    Else
        edtMessageBox.Text = "Point 277 is not an analog point"
    End If
End Sub

Back to top

IsDigitalAlarm

The IsDigitalAlarm method returns true if the digital point is in the digital alarm state.

Syntax

IsDigitalAlarm(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in digital alarm.

Copy
IsDigitalAlarm
Sub isDigAlarm()
    If IsDigitalAlarm(277) Then
        edtMessageBox.Text = "Point 277 is in digital alarm"
    Else
        edtMessageBox.Text = "Point 277 is not in digital alarm"
    End If
End Sub

Back to top

IsDigitalChattering

The IsDigitalChattering method returns true if the digital point is chattering.

Syntax

IsDigitalChattering(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is chattering.

Copy
IsDigitalChattering
Sub isChattering()
    If IsDigitalChattering(277) Then
        edtMessageBox.Text = "Point 277 is chattering"
    Else
        edtMessageBox.Text = "Point 277 is not chattering"
    End If
End Sub

Back to top

IsDigitalPoint

The IsDigitalPoint method returns true if the point type is digital.

Syntax

IsDigitalPoint(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is a digital point.

Copy
IsDigitalPoint
Sub isDigital ()
    If IsDigitalPoint(277) Then
        edtMessageBox.Text = "Point 277 is a digital point"
    Else
        edtMessageBox.Text = "Point 277 is not a digital point"
    End If
End Sub

Back to top

IsDigitalWarning

The IsDigitalWarning method returns true if the digital point is in the digital warning state.

Syntax

IsDigitalWarning(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in digital warning.

Copy
IsDigitalWarning
Sub isDigWarning()
    If IsDigitalWarning(277) Then
        edtMessageBox.Text = "Point 277 is in digital warning"
    Else
        edtMessageBox.Text = "Point 277 is not in digital warning"
    End If
End Sub

Back to top

IsEnumAlarm1

The IsEnumAlarm1 method returns true if the enumeration point is in Alarm 1.

Syntax

IsEnumAlarm1(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in enumeration alarm 1.

Copy
IsEnumAlarm1
Sub isEnum1()
    If IsEnumAlarm1(277) Then
        edtMessageBox.Text = "Point 277 is in enumeration alarm 1"
    Else
        edtMessageBox.Text = "Point 277 is not in enumeration alarm 1"
    End If
End Sub

Back to top

IsEnumAlarm2

The IsEnumAlarm2 method returns true if the enumeration point is in Alarm 2.

Syntax

IsEnumAlarm2(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in enumeration alarm 2.

Copy
IsEnumAlarm2
Sub isEnum2()
    If IsEnumAlarm2(277) Then
        edtMessageBox.Text = "Point 277 is in enumeration alarm 2"
    Else
        edtMessageBox.Text = "Point 277 is not in enumeration alarm 2"
    End If
End Sub

Back to top

IsEnumAlarm3

The IsEnumAlarm3 method returns true if the enumeration point is in Alarm 3.

Syntax

IsEnumAlarm3(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in enumeration alarm 3.

Copy
IsEnumAlarm3
Sub isEnum3()
    If IsEnumAlarm3(277) Then
        edtMessageBox.Text = "Point 277 is in enumeration alarm 3"
    Else
        edtMessageBox.Text = "Point 277 is not in enumeration alarm 3"
    End If
End Sub

Back to top

IsEnumAlarm4

The IsEnumAlarm4 method returns true if the enumeration point is in Alarm 4.

Syntax

IsEnumAlarm4(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in enumeration alarm 4.

Copy
IsEnumAlarm4
Sub isEnum4()
    If IsEnumAlarm4(277) Then
        edtMessageBox.Text = "Point 277 is in enumeration alarm 4"
    Else
        edtMessageBox.Text = "Point 277 is not in enumeration alarm 4"
    End If
End Sub

Back to top

IsEnumAlarm5

The IsEnumAlarm5 method returns true if the enumeration point is in Alarm 5.

Syntax

IsEnumAlarm5(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in enumeration alarm 5.

Copy
IsEnumAlarm5
Sub isEnum5()
    If IsEnumAlarm5(277) Then
        edtMessageBox.Text = "Point 277 is in enumeration alarm 5"
    Else
        edtMessageBox.Text = "Point 277 is not in enumeration alarm 5"
    End If
End Sub

Back to top

IsEnumAlarm6

The IsEnumAlarm6 method returns true if the enumeration point is in Alarm 6.

Syntax

IsEnumAlarm6(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in enumeration alarm 6.

Copy
IsEnumAlarm6
Sub isEnum6()
    If IsEnumAlarm6(277) Then
        edtMessageBox.Text = "Point 277 is in enumeration alarm 6"
    Else
        edtMessageBox.Text = "Point 277 is not in enumeration alarm 6"
    End If
End Sub

Back to top

IsEnumPoint

The IsEnumPoint method returns true if the point type is enumeration.

Syntax

IsEnumPoint(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is an enumeration point.

Copy
IsEnumPoint
Sub isEnum()
    If IsEnumPoint(277) Then
        edtMessageBox.Text = "Point 277 is an enumeration point"
    Else
        edtMessageBox.Text = "Point 277 is not an enumeration point"
    End If
End Sub

Back to top

IsHighAlarm

The IsHighAlarm method returns true if the analog point is in High Alarm.

Syntax

IsHighAlarm(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in high alarm.

Copy
IsHighAlarm
Sub isHiAlarm()
    If IsHighAlarm(277) Then
        edtMessageBox.Text = "Point 277 is in high alarm"
    Else
        edtMessageBox.Text = "Point 277 is not in high alarm"
    End If
End Sub

Back to top

IsHighDeviation

The IsHighDeviation method returns true if the analog point is in High Deviation.

Syntax

IsHighDeviation(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in high deviation.

Copy
IsHighDeviation
Sub isHighDev ()
    If IsHighDeviation(277) Then
        edtMessageBox.Text = "Point 277 is in high deviation"
    Else
        edtMessageBox.Text = "Point 277 is not in high deviation"
    End If
End Sub

Back to top

IsHighOutOfRange

The IsHighOutOfRange method returns true if the analog point is High Out-of-Range.

Syntax

IsHighOutOfRange(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is high out-of-range.

Copy
IsHighOutOfRange
Sub isHighOOR()
    If IsHighOutOfRange(277) Then
        edtMessageBox.Text = "Point 277 is out-of-range"
    Else
        edtMessageBox.Text = "Point 277 is not out-of-range"
    End If
End Sub

Back to top

IsHighWarning

The IsHighWarning method returns true if the analog point is in High Warning.

Syntax

IsHighWarning(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point in high warning.

Copy
IsHighWarning
Sub isHiWarning()
    If IsHighWarning(277) Then
        edtMessageBox.Text = "Point 277 is in high warning"
    Else
        edtMessageBox.Text = "Point 277 is not in high warning"
    End If
End Sub

Back to top

IsInitialized

The IsInitialized method returns true if the point is initialized.

Syntax

IsInitialized(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is initialized.

Copy
IsInitialized
Sub isInitialized()
    If IsInitialized(277) Then
        edtMessageBox.Text = "Point 277 is initialized"
    Else
        edtMessageBox.Text = "Point 277 is not initialized"
    End If
End Sub

Back to top

IsInputPoint

The IsInputPoint method returns true if the point is an input point.

Syntax

IsInputPoint(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is an input point.

Copy
IsInputPoint
Sub isInput()
    If isInputPoint(277) Then
        edtMessageBox.Text = "Point 277 is an input point"
    Else
        edtMessageBox.Text = "Point 277 is not an input point"
    End If
End Sub

Back to top

IsLowAlarm

The IsLowAlarm method returns true if the analog point is in Low Alarm.

Syntax

IsLowAlarm(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in low alarm.

Copy
IsLowAlarm
Sub isLoAlarm()
    If IsLowAlarm(277) Then
        edtMessageBox.Text = "Point 277 is in low alarm"
    Else
        edtMessageBox.Text = "Point 277 is not in low alarm"
    End If
End Sub

Back to top

IsLowOutOfRange

The IsLowOutOfRange method returns true if the analog point is Low Out-of-Range.

Syntax

IsLowOutOfRange(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is low out-of-range.

Copy
IsLowOutOfRange
Sub isLowOOR()
    If IsLowOutOfRange(277) Then
        edtMessageBox.Text = "Point 277 is low out-of-range"
    Else
        edtMessageBox.Text = "Point 277 is not low out-of-range"
    End If
End Sub

Back to top

IsLowWarning

The IsLowWarning method returns true if the analog point is in the Low Warning state.

Syntax

IsLowWarning(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in low warning.

Copy
IsLowWarning
Sub isLoWarning()
    If IsLowWarning(277) Then
        edtMessageBox.Text = "Point 277 is in low warning"
    Else
        edtMessageBox.Text = "Point 277 is not in low warning"
    End If
End Sub

Back to top

IsOutputPoint

The IsOutputPoint method returns true if the point type is an output point.

Syntax

IsOutputPoint(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is an output point.

Copy
IsOutputPoint
Sub isOutput()
    If IsOutputPoint(277) Then
        edtMessageBox.Text = "Point 277 is an output point"
    Else
        edtMessageBox.Text = "Point 277 is not an output point"
    End If
End Sub

Back to top

IsSetPointAuthorized

The IsSetPointAuthorized method determines whether or not setpoints are authorized for a given service.

Syntax

IsSetPointAuthorized(Tag As String) As Boolean

Parameters

Parameter Required Description

Tag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

Remarks

This method can be used to check whether a setpoint is authorized before proceeding with the setpoint. Setpoints are not authorized when the ACS associated with the specified CVS has not granted the script 'setpoint' privileges.

Example

The following example tests if the given point is an output point.

Copy
IsSetPointAuthorized
Sub isAuthorized()
    If IsSetPointAuthorized(CYGDEMO.UIS.00000277) Then
        edtMessageBox.Text = "Point 277 is authorized for setpoints"
    Else
        edtMessageBox.Text = "Point 277 is not authorized for setpoints"
    End If
End Sub

Back to top

IsStringAlarm1

The IsStringAlarm1 method returns true if the string point is in Alarm 1.

Syntax

IsStringAlarm1(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in alarm 1.

Copy
IsStringAlarm1
Sub isString1()
    If IsStringAlarm1(277) Then
        edtMessageBox.Text = "Point 277 is in alarm 1"
    Else
        edtMessageBox.Text = "Point 277 is not in alarm 1"
    End If
End Sub

Back to top

IsStringAlarm2

The IsStringAlarm2 method returns true if the string point is in Alarm 2.

Syntax

IsStringAlarm2(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in alarm 2.

Copy
IsStringAlarm2
Sub isString2()
    If IsStringAlarm2(277) Then
        edtMessageBox.Text = "Point 277 is in alarm 2"
    Else
        edtMessageBox.Text = "Point 277 is not in alarm 2"
    End If
End Sub

Back to top

IsStringAlarm3

The IsStringAlarm3 method returns true if the string point is in Alarm 3.

Syntax

IsStringAlarm3(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in alarm 3.

Copy
IsStringAlarm3
Sub isString3()
    If IsStringAlarm3(277) Then
        edtMessageBox.Text = "Point 277 is in alarm 3"
    Else
        edtMessageBox.Text = "Point 277 is not in alarm 3"
    End If
End Sub

Back to top

IsStringAlarm4

The IsStringAlarm4 method returns true if the string point is in Alarm 4.

Syntax

IsStringAlarm4(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in alarm 4.

Copy
IsStringAlarm4
Sub isString4()
    If IsStringAlarm4(277) Then
        edtMessageBox.Text = "Point 277 is in alarm 4"
    Else
        edtMessageBox.Text = "Point 277 is not in alarm 4"
    End If
End Sub

Back to top

IsStringAlarm5

The IsStringAlarm5 method returns true if the string point is in Alarm 5.

Syntax

IsStringAlarm5(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in alarm 5.

Copy
IsStringAlarm5
Sub isString5()
    If IsStringAlarm5(277) Then
        edtMessageBox.Text = "Point 277 is in alarm 5"
    Else
        edtMessageBox.Text = "Point 277 is not in alarm 5"
    End If
End Sub

Back to top

IsStringAlarm6

The IsStringAlarm6 method returns true if the string point is in Alarm 6.

Syntax

IsStringAlarm6(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Remarks

This method is a hidden legacy script function, and will not work if a Point Scheme other than CygNet Standard Point Scheme (0) is defined. See Legacy Script Functions for more information.

Example

The following example tests if the given point is in alarm 6.

Copy
IsStringAlarm6
Sub isString6()
    If IsStringAlarm6(277) Then
        edtMessageBox.Text = "Point 277 is in alarm 6"
    Else
        edtMessageBox.Text = "Point 277 is not in alarm 6"
    End If
End Sub

Back to top

IsStringPoint

The IsStringPoint method returns true if the point type is string.

Syntax

IsStringPoint(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is an analog point.

Copy
IsStringPoint
Sub isString()
    If IsStringPoint(277) Then
        edtMessageBox.Text = "Point 277 is a string point"
    Else
        edtMessageBox.Text = "Point 277 is not a string point"
    End If
End Sub

Back to top

IsUnreliable

The IsUnreliable method returns true if the point is unreliable.

Syntax

IsUnreliable(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is unreliable.

Copy
IsUnreliable
Sub isUnreliableTest()
    If IsUnreliable(277) Then
        edtMessageBox.Text = "Point 277 is unreliable"
    Else
        edtMessageBox.Text = "Point 277 is reliable"
    End If
End Sub

Back to top

IsUpdated

The IsUpdated method returns true if the point is updated.

Syntax

IsUpdated(Status As Integer) As Boolean

Parameters

Parameter Required Description

Status

Yes

The base status integer for a point. This can be found from the Status property in the Points object.

Example

The following example tests if the given point is updated.

Copy
IsUpdated
Sub isUpdatedTest()
    If IsUpdated(277) Then
        edtMessageBox.Text = "Point 277 is updated"
    Else
        edtMessageBox.Text = "Point 277 is not an updated"
    End If
End Sub

Back to top

ParseCygNetDateTimeStringToLocalTime

The ParseCygNetDateTimeStringToLocalTime method parses a CygNet date time string (YYYYMMDDhhmmsssnnn) into a local time.

Syntax

ParseCygNetDateTimeStringToLocalTime(CygNetDateTimeString As String, TimeIsLocal As Boolean) As Date

Parameters

Parameter Required Description

CygNetDateTimeString

Yes

A CygNet date time string (of the form YYYYMMDDhhmmsssnnn) to parse.  The fractional seconds portion of the string (nnn) is not required, but it may be specified as either a hundredths-precision decimal (nn) or a thousandths-precision decimal (nnn).  For example, "2023010308523022" translates to "01/03/2023 08:52:30.22", whereas "20230103085230222" translates to "01/03/2023 08:52:30.222".

TimeIsLocal

No

If this parameter is set to false, the CygNetDateTimeString parameter will be interpreted as a UTC time.  Otherwise, it will be interpreted as a local time.  The default value of this parameter is false.

Example

The following example parses a UTC CygNet date time to a local VBScript date time and displays the result in a message box.

Copy
ParseCygNetDateTimeStringToLocalTime
Sub removeSuppression()
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim dtLocal
    dtLocal = GlobalFunctions.ParseCygNetDateTimeStringToLocalTime("20230103085230")
     
    MsgBox dtLocal
End Sub

Back to top

PrepUdcForLoad

The PrepUdcForLoad method adds the UDC to the list of UDCs to refresh when calling GetUdcDescription. It is useful when making multiple subsequent calls to GetUdcDescription.

Syntax

PrepUdcForLoad(SiteService As String, Udc As String)

Parameter Required Description

SiteService

Yes

The name of the service from which to get information, in Site.Service format.

Specify a CVS, UIS, PNT or TRS name to look up the UDC.

Udc

Yes

A valid name of a UDC in the Site.Service to look up.

Back to top

RemoveAlarmSuppression

The RemoveAlarmSuppression method removes alarm suppression on the provided point.

Syntax

RemoveAlarmSuppression(PointTag As String)

Parameters

Parameter Required Description

PointTag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

Example

The following example removes suppression for point 00000063.

Copy
RemoveAlarmSuppression
Sub removeSuppression()
    RemoveAlarmSuppression "CYGDEMO.UIS.00000063"
    edtMessageBox.Text = "Alarm suppression removed"
End Sub

Back to top

ResolvePoints

The ResolvePoints method resolves a list of facility UDCs or Long Point IDs to Short Point IDs.

Syntax

ResolvePoints(CvsSiteService As String, TagList As Variant, PointList As Variant)

Parameters

Parameter Required Description

CvsSiteService

Yes

The name of the service from which to get information, in Site.Service format.

Defines the CVS site and service.

TagList

Yes

An array of Long Point IDs or facility UDCs (in "FACILITY.UDC" format) to convert to Short Point IDs

PointList

Yes

Output. The array of Short Point IDs returned.

Remarks

This function is generally used in situations where the client application only handles Short Point IDs.

Example

The following function serves as a wrapper for the ResolvePoints method by taking an array of Long Point ID strings or UDC strings and returning an array of Short Point IDs.

Copy
ResolvePoints
Function ToShortId (arrPoints)
    Dim arrShort
     
    'Resolve points
    ResolvePoints "CYGDEMO.UIS", arrPoints, arrShort
     
    ToShortId = arrShort
End Function

Back to top

ResolvePointTags

The ResolvePointTags method resolves a list of Site.Service::Facility.Udc tags or Site.Service:LongPointId tags to Site.Service.ShortPointId tags.

Syntax

ResolvePointTags(TagListIn As Variant, TagListOut As Variant)

Parameters

Parameter Required Description

TagListIn

Yes

An array containing point tags in Site.Service::Facility.UDC or Site.Service:LongPointId form.  It is not necessary to use the same form for each tag.

TagListOut

Yes

The array of resolved point tags returned by this method, in the form Site.Service.ShortPointId.

Example

The following example resolves three point tags and displays them in a message box.

Copy
ResolvePointTags
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim vTagsIn
    ReDim vTagsIn(2)
     
    vTagsIn(0) = "CYGDEMO.UIS:ENTOPS_SYEDSOPCH"
    vTagsIn(1) = "CYGDEMO.UIS::ENTOPS1.SYEDSOPCH"
    vTagsIn(2) = "CYGDEMO.UIS::ENTOPS_GQDOWNLOAD.SYEDSOPCH"
     
    Dim vTagsOut
    GlobalFunctions.ResolvePointTags vTagsIn, vTagsOut
     
    Dim i, strResp
    For i = 0 To UBound(vTagsOut)
    strResp = strResp + vbCr + vTagsIn(i) + "  " + vTagsOut(i)
    Next
     
    MsgBox strResp
End Sub

Back to top

ScaleEngToRaw

The ScaleEngToRaw method returns a raw value from an engineering value based on scaling.

Syntax

ScaleEngToRaw(Tag As String, EngValue As Double) As Double

Parameters

Parameter Required Description

Tag

Yes

A valid point tag from which scaling values are used.

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

EngValue

Yes

An engineering value to be scaled.

Remarks

Return Value: The value of the converted engineering number.

Example

The following example scales a number to a raw value.

Copy
ScaleEngToRaw
Sub toRaw()
    Dim dRaw
    dRaw = ScaleEngToRaw("CYGDEMO.UIS.00000171", 2.71)
    edtMessageBox.Text = "2.71 scaled to raw is " & dRaw
End Sub

Back to top

ScaleRawToEng

The ScaleRawToEng method returns an engineering value from a raw value based on scaling.

Syntax

ScaleRawToEng(Tag As String, RawValue As Double) As Double

Parameters

Parameter Required Description

Tag

Yes

A valid point tag from which scaling values are used.

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

RawValue

Yes

A raw value to be scaled.

Remarks

Return Value: The value of the converted raw number.

Example

The following example scales a number to an engineering value.

Copy
ScaleRawToEng
Sub toEng()
    Dim dEng
    dEng = ScaleRawToEng("CYGDEMO.UIS.00000171", 3.14)
    edtMessageBox.Text = "3.14 scaled to engineering is " & dEng
End Sub

Back to top

SendUisCommand

The SendUisCommand method sends a command to a UIS or DDS for a specified facility. Also see CxUis.UisClient.SendUisCommand.

Syntax

SendUISCommand(UisOrDdsSiteService As String, FacilityID As String, Command As String, [Parameters As String], [StatusPointID As String])

Parameters

Parameter Required Description

UisOrDdsSiteService

Yes

The name of a valid UIS or DDS from which to get information in Site.Service format.

The UIS or DDS in which the command is defined.

FacilityID

Yes

The facility ID that has the UIS command.

Command

Yes

The name of the UIS command.

Parameters

No

Parameters for the command, if necessary. Use an empty string if none specified.

Note: The maximum length of the command parameter string for a Send UIS Command message is 1200 characters. CygNet Software will report if a UIS Command message exceeds the maximum parameter length of 1200 characters.

StatusPointID

No

The tag string of an optional status point for the command (in progress, completed, success, etc.). Use an empty string if none specified.

Remarks

The optional UIS command parameters are sent in semicolon delimited format. The status point, if used, is updated automatically. In CygNet Studio, the UIS Command Button object can also be used.

The command priority for a scripted UIS command can be assigned; by setting the UisCmdPriority=<priority> parameter where <priority> is one of the following 'Low', 'Medium', 'High', 'User', or 'Admin'.

See Prioritizing Messages in the Communication Queue for more information.

Example — Open valve when tank level is in high alarm

The following example sends an "OPENVALVE" UIS command to the WELL05 facility on CYGDEMO.UIS when the tank level (as monitored by a separate point) is in high alarm. The status of the command is sent to a separate point.

Copy
SendUISCommand
Sub WELL05_TANK_LEVEL_CMD_OnUpdate(EventType) 
    'Get a snapshot of the tank level point
    Set TankState = Points.Point("CYGDEMO.UIS:TANK_LEVEL;STATUS")
      
    'Check for a high alarm
    If (TankState.Status And hpStatusHighAlarm) <> 0 Then
        'Send a Command to the UIS
        SendUISCommand "CYGDEMO.UIS", "WELL05", "OPENVALVE", "", "CYGDEMO.UIS::WELL05_TANK_LEVEL_CMD_STATUS" 
    End If
End Sub

Example — Using DG_F_DEV or DG_T_DEV component types

The following examples show how to send a UIS Command that is not predefined on a device. This example allows you to specify the DG_F_DEV or DG_T_DEV component type, then the data group ordinal (DGORD) and data group type (DGTYPE) that you want to poll.

The same functionality is available with the CxUis method SendUisCommand.

DG_T_DEV

Copy
SendUISCommand
Dim GlobalFunctions
Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
Call GlobalFunctions.EnableLiveMode (True)
GlobalFunctions.SendUISCommand "CYGDEMO.UIS", "WELLPILOT_KS_WELL00", "DG_T_DEV", "DGORD=0;DGTYPE=ProVlvOpCl;OpenClose=1", ""

DG_F_DEV

Copy
SendUISCommand
Dim GlobalFunctions
Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
Call GlobalFunctions.EnableLiveMode (True)
GlobalFunctions.SendUISCommand "CYGDEMO.UIS", "WELLPILOT_KS_WELL00", "DG_F_DEV", "DGORD=0;DGTYPE=BasicPoll", ""

where

Script Element Corresponds to More information

GlobalFunctions.SendUisCommand

Global Send UIS Command

 

CYGDEMO.UIS

CygNet Site.Service

 

WELLPILOT_KS_WELL00

Facility

 

DG_T_DEV (to send a data group to a field device)

DG_F_DEV (to get a data group from a field device)

Component type

UISComponentType

DGORD

Ordinal of the data group (for example, 0)

Data Group Ordinals

DGTYPE

Data group type (for example, ProVlvOpCl – is the Production Valve Open and Close data group)

 

OpenClose

Parameters to send to the device (for example, Open = 1 and Close = 0)

 

UIS Command Components

Note: You can find the Component Type, Data Group Ordinal, and Data Group Type in the properties of the Data Group. All of the information above is available in the UIS Command Properties, if you have a UIS command created already but want to use a script to run the command.

Back to top

ServicePing

The ServicePing method sends a request for data from a specified service.

Syntax

ServicePing(SiteService As String, ByteCount As Integer, Operation As Integer, OperationParam As Integer, PingErrDesc As Variant, PingTime As Variant) As Variant

Parameters

Parameter Required Description

SiteService

Yes

The name of a service, in Site.Service format.

ByteCount

Yes

The ping request number of bytes.

Operation

Yes

The ping operation to perform. Operations are:

0    Increment byte values up to OperationParam bytes

1    Randomize byte values up to OperationParam bytes

2    Set byte values to OperationParam up to ByteCount

3    Same as 0, but force "work" to take OperationParam milliseconds (range 0-1000 ms). Use carefully!

4    Returns the service name

OperationParam

Yes

Sets the operation parameter for the above Operation.

PingErrDesc

Yes

Output. The returned error description.

PingTime

Yes

Output. The returned ping time in milliseconds.

Remarks

The result of the method is returned as a number indicating one of the following error messages.

Error Description
0 Success
1 Server did not wait long enough before it responded
2 Invalid ping operation specified
3 Invalid ping operation parameter specified
4 Received number of bytes differs from requested
5 Received bytes were not incremented as requested
6 Received bytes were not set as requested
7 Service rejected ping request message

Example

The following method pings the CYGDEMO.DDS and displays the results in a message box.

Copy
ServicePing
Sub PingService ()
    Dim siteService, pingTime, pingError, ret
    siteService = "CYGDEMO.DDS"
     
    'Send ping request
    Ret = ServicePing (siteService, 0, 0, 0, pingError, pingTime)
     
    'Display results based on return value
    If ret <> 0 Then
        MsgBox "ServicePing returned with the following error: " & pingError
    Else
        MsgBox "Ping time for " & strService & " was " & pingTime & " ms."
    End If
End Sub

Back to top

SetAlarmSuppressionSettings

The SetAlarmSuppressionSettings method sets the provided point’s alarm suppression as specified.

Syntax

SetAlarmSuppressionSettings(PointTag As String, SuppressionEndDate As Date, EndSuppressionOnNormal As Boolean)

Parameters

Parameter Required Description

PointTag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

SuppressionEndDate

Yes

Suppression will be disabled if the point is still in alarm state at this date.

EndSuppressionOnNormal

Yes

Set to True to disable suppression when the point’s state is normal.

Example

The following example suppresses an alarm until December 21, 2023 at 3:13 or until it returns to normal state.

Copy
SetAlarmSuppressionSettings
Sub setAllarmSuppression()
    SetAlarmSuppressionSettings "CYGDEMO.UIS.00000063", "12/21/2023 3:13:00 PM", True
    edtMessageBox.Text = "Alarm suppressed"
End Sub

Back to top

SetGenserveInfo

The SetGenserveInfo method sets an Info Keyword task. See the SVCINFO Security Event for the applicable CygNet Service in the Security Reference topics for more information about GenServe security management.

Syntax

SetGenserveInfo(SiteService As String, Request As String, SetGenserveInfoResult As Variant)

Parameters

Parameter Required Description

SiteService

Yes

The name of a service, in Site.Service format.

Request

Yes

Specifies the Info Keyword to send to the service. Options are:

  • BACKUP_NOW=TRUE — triggers a full backup on demand
  • BACKUP_NOW=INCREMENT_BACKUP — triggers an incremental backup on demand.
  • VHS_START_JOURNAL=TRUE — triggers the creation of a new VHS Journal File
  • ACTIVATION_CHECK_REQ=TRUE — forces an activation check

SetGenserveInfoResult

Yes

Output. A two-dimensional array in order of: type, return value (Boolean), error code, error message.

Remarks

If using BACKUP_NOW, the files will be backed up into the directory specified by the BACKUP_PATH keyword in the service configuration file. For more information see on VHS Journal Files and Service Backups on Demand.

Example

The following example backs up CYGDEMO.UIS and alerts the user if it was successful.

Copy
SetGenserveInfo
Sub setInfoKey()
    Dim arrGsResults
    SetGenserveInfo "CYGDEMO.UIS", "BACKUP_NOW=TRUE", arrGsResults
    If arrGsresults(0, 1) = -1 Then
        msgbox "Backup successful"
    Else
        msgbox "Backup request rejected"
    End If
End Sub

Back to top

SetPoint

The SetPoint method sets a point to a specified value. For more information about adding a SetPoint button to a CygNet Studio screen, see the SetPoint Button Tool.

Note: When updating point values (e.g., via a value edit in CygNet Explorer, using the TextImport EIE, or via a SetPoint object) all changes are pushed through to the associated CVS (UIS, HSS, and OPCIS). In the case of the OPCIS, you cannot do a text import or a setpoint to an OPCIS point if an external OPC server ID is configured (in the External ID property of the Point reference page of the PNT Editor) because any update is routed back through the external OPC server. This makes it impossible to backfill historical data for a tag that "belongs" to an OPC server.

Syntax

SetPoint(Tag As String, RawValue As String, [Timestamp As Date], [Status As Integer])

Parameters

Parameter Required Description

Tag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

RawValue

Yes

The new value to be written.

Timestamp

No

The timestamp to be assigned to this value.

Status

No

The status bit to be updated for the point.

Example

This sample HSS point converts the value of a temperature point in Centigrade to another point in Fahrenheit.

Copy
SetPoint
Sub TEMP_CONVERT_OnInitialize()
    'Add the Centigrade point
    Points.AddPoint "CYGDEMO.UIS:WELL04_TEMP_C", TEMP_CONVERT
End Sub
 
Sub TEMP_CONVERT_OnUpdate(EventType)
    'Get a Point object from the Points object.
    Set TempC = Points.Point("CYGDEMO.UIS:WELL04_TEMP_C")
     
    'Set the HyperPoint value to the point value converted from Centigrade to Fahrenheit.
    If TempC.Quality = hpQualityGood Then
        TempFVal = (CDbl(TempC.Value) * 9 / 5) + 32
        SetPoint "CYGDEMO.UIS:WELL04_TEMP_F", CStr(TempFVal),TempC.TimeStamp, TempC.Status
    Else
        SetPoint "CYGDEMO.UIS:
End Sub

Back to top

SetPointEx

The SetPointEx method performs a setpoint operation to a specified tag with the ability to wait for a length of time to verify that the point was set.

For more information about adding a SetPoint button to a CygNet Studio screen, which includes this functionality, see the SetPoint Button Tool.

Syntax

SetPointEx(Tag As String, RawValue as Variant, TimeStamp as Date, Status as Integer, WaitTimeInMs as Integer)

Parameters

Parameter Required Description

Tag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

RawValue

Yes

The new value to be written.

Timestamp

Yes

The timestamp to be assigned to this value.

Status

Yes

The status bit to be updated for the point.

WaitTimeInMs

Yes

The amount of time (in milliseconds) to wait for verification.

Remarks

Any subsequent lines of code will be suspended until the setpoint method returns.

Example

This method serves as a wrapper for the SetPointEx function by accepting a point tag string and value, checking whether setpoints are authorized on the CYGDEMO.UIS service, then sending the setpoint request.

Copy
SetPointEx
Sub SetPointVal(pointTag, pointVal)
    Dim serviceName
    serviceName = "CYGDEMO.UIS"
     
    'Check that setpoints are authorized
    If Not IsSetPointAuthorized(serviceName) Then
        MsgBox "You are unauthorized to issue a setpoint command" & vbCr & "to the following site service: " &  serviceName
    Else
        'Send the request and wait 10 seconds for verification
        SetPointEx pointTag, pointVal, Now, 0, 10000
    End If
End Sub

Back to top

SetPointEx2

The SetPointEx2 method performs a setpoint operation to a specified tag with the ability to wait for a length of time to verify that the point was set and change the Base Status and User Status flags.

For more information about adding a SetPoint button to a CygNet Studio screen, which includes this functionality, see the SetPoint Button Tool.

Syntax

SetPointEx2(Tag As String, RawValue As Variant, Timestamp As Date, BaseStatusMask As Integer, BaseStatus As Integer, UserStatusMask As Long, UserStatus As Long, WaitTimeInMs As Integer)

Parameters

Parameter Required Description

Tag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

RawValue

Yes

The new value to be written.

Timestamp

No

The timestamp to be assigned to this value.

BaseStatusMask

Yes

A value that contains the base status flags to be changed (hex or decimal equivalent). See Remarks below.

BaseStatus

No

A value that contains the base status flags' new statuses (hex or decimal equivalent). See Remarks below.

UserStatusMask

No

A value that contains the user status flags to be changed (hex or decimal equivalent). See Remarks below.

UserStatus

No

A value that contains the user status flags' new statuses (hex or decimal equivalent). See Remarks below.

WaitTimeInMs

No

The amount of time (in milliseconds) to wait for verification.

Remarks

BaseStatusMask and UserStatusMask are the values (hex or decimal equivalent) representing which flags to change. The mask is the sum of flag's values, (i.e., &h0004 + &h0008 = &h000C;  &h0004 +& h0008 + &h0080 = &h008C). If decimal, use -1, or if hex, use &hFFFF or &hFFFFFFFF to change all the flags.

BaseStatus and UserStatus are the values (hex or decimal equivalent) representing the flag's new statuses. This is obtained by adding together the values of the flags. To have a flag marked, add it to this parameter. To have it cleared, do not add it.

Keep in mind that only the flags referenced in the BaseStatusMask and UserStatusMask parameters will be affected.

Bits that cannot be toggled using this command are:

  1. System bits (except the Unreliable bit), and
  2. Config bits under control of the UIS (that is, it is being used in an alarm calculation)

If you include values for these bits the system will ignore them. The Base Status and Extended Status values that result per this command include any applicable System and Config bit values. At a minimum, this would include the values of the Initialized and Updated bits in the Base Status and the value of the External Value bit in the Extended Status.

This command requires a value. If you don't want to change the value, first get the existing value and then resend it with this command.

Hex Values

The following tables show the hex values of the individual flags.

Base Status Bits
Flag Name Hex Value
Unreliable &h0004
Config Bit 1 (Out-of-Range) &h0008
Config Bit 2 (Low Alarm) &h0010
Config Bit 3 (Low Warning) &h0020
Config Bit 4 (High Warning) &h0040
Config Bit 5 (High Alarm) &h0080
Config Bit 6 (High Deviation) &h0100
Config Bit 7 &h0200
Config Bit 8 &h0800
Config Bit 9 &h4000
Config Bit 10 &h8000
User Status Bits
Flag Name Hex Value
User Bit 1 &h00000001
User Bit 2 &h00000002
User Bit 3 &h00000004
User Bit 4 &h00000008
User Bit 5 &h00000010
User Bit 6 &h00000020
User Bit 7 &h00000040
User Bit 8 &h00000080
User Bit 9 &h00000100
User Bit 10 &h00000200
User Bit 11 &h00000400
User Bit 12 &h00000800
User Bit 13 &h00001000
User Bit 14 &h00002000
User Bit 15 &h00004000
User Bit 16 &h00008000
Config Bit 11 &h04000000
Config Bit 12 &h08000000
Config Bit 13 &h10000000
Config Bit 14 &h40000000
Config Bit 15 &h80000000

Example

There are several examples below that show various ways of using the SetPointEx2 method.

Copy
SetPointEx2
'This example sets the Unreliable flag (&h0004)

Sub setEx1()
    SetPointEx2 "CYGDEMO.UIS.00000123", 12, Now, &h0004, &h0004, &h00000000, &h00000000, 1000"
    MsgBox "Point set"
End Sub
 
'This example sets the Unreliable flag (&h0004) and clears Out-of-Range (&h0008)

Sub setEx2()
    SetPointEx2 "CYGDEMO.UIS.00000123", 12, Now, &h000C, &h0004, &h00000000, &h00000000, 1000"
    MsgBox "Point set"
End Sub
 
'This example clears all flags for the given point

Sub setEx3()
    SetPointEx2 "CYGDEMO.UIS.00000123", 12, Now, &hFFFF, &h0000, &hFFFFFFFF, &h00000000, 1000"
    MsgBox "Point set"
End Sub
 
'This example sets High Alarm (&h0080), sets UserBit 7 (&h00000040), sets UserBit 15 (&h00004000), and clears UserBit 8 (&h00000080)

Sub setEx4()
    SetPointEx2 "CYGDEMO.UIS.00000123", 12, Now, &h0080, &h0080, &h000040C0, &h00004040, 1000"
    MsgBox "Point set"
End Sub

Back to top

SetPointVerifiedFlags

The SetPointVerifiedFlags method sets the values for the Verified Flags.

Syntax

SetPointVerifiedFlags(PointTag As String, UpdateFlag1 As Boolean, Flag1 As Boolean, UpdateFlag2 As Boolean, Flag2 As Boolean, UpdateFlag3 As Boolean, Flag3 As Boolean, UpdateFlag4 As Boolean, Flag4 As Boolean)

Parameters

Parameter Required Description

PointTag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

UpdateFlag1

Yes

Set to True to update Flag1, False to skip it.

Flag1

Yes

If UpdateFlag1 is True, set this to True to check Flag1 or False to uncheck it.

UpdateFlag2

Yes

Set to True to update Flag2, False to skip it.

Flag2

Yes

If UpdateFlag2 is True, set this to True to check Flag2 or False to uncheck it.

UpdateFlag3

Yes

Set to True to update Flag3, False to skip it.

Flag3

Yes

If UpdateFlag3 is True, set this to True to check Flag3 or False to uncheck it.

UpdateFlag4

Yes

Set to True to update Flag4, False to skip it.

Flag4

Yes

If UpdateFlag4 is True, set this to True to check Flag4 or False to uncheck it.

Example

The following example shows all possible ways to update flags.

Copy
setPointVerifiedFlags
Sub setVerifiedFlags()
    setPointVerifiedFlags "CYGDEMO.UIS.00000195", True, True, 
    
    'Check the first flag
        True, False, 
    'Uncheck the second flag
        False, True, 
    'Leave the third flag as is
        False, False    
    'Leave the fourth flag as is
     
    edtMessageBox.Text = "Flags have been set"
End Sub

Back to top

ShowDataGroupDialog

The ShowDataGroupDialog method shows the Data Group dialog box. Also see CxDialogs.ShowDataGroupDialog.

Syntax

ShowDataGroupDialog(UisOrDdsSiteService As String, FacilityId As String, DataGroupType As String, Ordinal As Integer)

Parameters

Parameter Required Description

UisOrDdsSiteService

Yes

The name of a valid UIS or DDS from which to get information in Site.Service format.

FacilityId

Yes

A valid facility ID.

DataGroupType

Yes

The Data Group Type of an existing data group.

Ordinal

Yes

The ordinal number corresponding to the exact data group to show. This is helpful if there are more than one data groups of the same type.

Example

The following example illustrates three ways to call this method. The first two methods display Discrete Output data groups, but the first method shows Ordinal 4 and the second shows Ordinal 5. The third method shows the properties dialog box for TESTMETER because no Data Group Type is specified.

Copy
ShowDataGroupDialog
Sub dataGrpDO4()
    'Shows the Discrete Output data group with an ordinal of 4
    ShowDataGroupDialog "CYGDEMO.UIS", "TESTMETER", "DO", 4
End Sub
 
Sub dataGrpDO5()
    'Shows the Discrete Output data group with an ordinal of 5
    ShowDataGroupDialog "CYGDEMO.UIS", "TESTMETER", "DO", 5
End Sub

Back to top

ShowFacilityRulesDialog

The ShowFacilityRulesDialog method displays the Facility Rules dialog box. Also see CxDialogs.ShowFacilityRulesDialog.

Syntax

ShowFacilityRulesDialog(InRules As String) As String

Parameters

Parameter Required Description

InRules

No

An optional parameter allowing the input of human-readable text or XML to initialize the filter in the dialog box. If this parameter is not specified, the dialog box will not contain any filters upon initialization.

Remarks

This method will return the Facility Rule Filter XML created by the dialog box.

The following is an example of a Facility Rule Filter XML which filters all facilities where facility_category = "GENFAC" AND facility_siteservice = "CYGDEMO.UIS".

Copy
Facility Rule Filter XML
<ExportedRules exportTime="9/24/2023 07:37:46.621" ruleDataIdentifier="FAC Rules">
    <Rules enabled="true" inverted="false" op="1" name="">
        <Rule enabled="true" name="" referenceAttr="0" compareToType="0" externalData="" value="GENFAC" operator="=" qualifer="Case Insensitive">
            <compareItem attr="facility_category"/>
        </Rule>
        <Rule enabled="true" name="" referenceAttr="0" compareToType="0" externalData="" value="CYGDEMO.UIS" operator="=" qualifer="Case Insensitive">
            <compareItem attr="facility_siteservice"/>
        </Rule>
    </Rules>
</ExportedRules>

 

Note:
The XML for the filter rule uses the spelling "qualifer=" rather than "qualifier=". See Adding Filter Rule Definitions for an explanation of this discrepancy.

Example

The following example launches the Facility Rules dialog box and displays the generated rules in a message box.

Copy
ShowFacilityRulesDialog
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim strRules
    strRules = GlobalFunctions.ShowFacilityRulesDialog("")
     
    MsgBox strRules
End Sub

Back to top

ShowFacilityRulesDialogSimple

The ShowFacilityRulesDialogSimple method displays the Facility Rules dialog box. The optional InRules parameter allows both "simple" human-readable text and XML as the input to initialize the filter. The method will also output only human-readable text. Also see CxDialogs.ShowFacilityRulesDialogSimple.

Note:

Syntax

ShowFacilityRulesDialogSimple(InRules As String) As String

Parameters

Parameter Required Description

InRules

No

An optional parameter allowing the input of human-readable text or XML to initialize the filter in the dialog box. If this parameter is not specified, the dialog box will not contain any filters upon initialization.

Remarks

This method will return the human-readable filter text created by the dialog box.

The following is an example of a facility rule filter input in text format which filters all facilities where facility_id = "TANK1" OR facility_id = "TANK2".

facility_id = ToCaseInsensitive('TANK1') OR facility_id = ToCaseInsensitive('TANK2')

Example

The following example launches the Facility Rules dialog box and displays the generated rules in a message box.

Copy
ShowFacilityRulesDialogSimple
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim strRules
    strRules = GlobalFunctions.ShowFacilityRulesDialogSimple("")
     
    MsgBox strRules
End Sub

Back to top

ShowModalView

The ShowModalView method opens a Studio screen as a dialog box.

Syntax

ShowModalView(ViewFileName As String, SiteService As Variant, Facility As Variant, Caption As String, Style As Integer, DefaultButton As Integer, Resizable As Boolean, Left As Variant, Top As Variant, Width As Variant, Height As Variant, DictionaryXml As Variant) As Long

Parameters

Parameter Required Description

ViewFileName

Yes

A valid file path to a CygNet Studio screen. This may be either a local file path (ex. C:\Folder\Screen.csf), or in the Blob system (ex. CYGDEMO.BSS\TEST\Screen.csf).

SiteService

No

The name of a service, in Site.Service format.

Facility

No

A valid facility name that is connected to SiteService. The default is blank.

Caption

No

This is the title of the new form. The default is blank, which means that the dialog shows the .csf title.

Style

No

Sets the number and type of buttons that appear on the form.

0 = No buttons

1 = OK

2 = OK, Cancel

3 = Yes, No

4 = Yes, No, Cancel

5 = Done

The default is 0.

DefaultButton

No

Sets which button will be selected when the form displays. 0 will leave all buttons unselected, 1 will select the first button, 2 will select the second, etc. The default is 0.

Resizable

No

Set to True to enable resizing of the new form, False to disable it. The default is True.

Left

No

The X coordinate of the left side of the form, where 0 is the left side of the screen. The default is 0.

Note: Set both "Left" and "Top" to zero to center the dialog box.

Top

No

The Y coordinate of the top of the form, where 0 is the top of the screen. The default is 0.

Width

No

The number of pixels wide the form will be. The default is 0.

Note: Set both "Width" and "Height" to zero to automatically size the dialog box to fit the contained CSF file.

Height

No

The number of pixels tall the form will be. The default is 0.

DictionaryXml

No

The name of a dictionary object. This will be exported to and useable by the new View window. The default is null.

Remarks

Return Value: An integer representing which button was selected to close the form. 1 = OK or Done, 2 = Cancel or Close,  3 = Yes,  4 = No.

Example

The following example opens a form. If the user presses OK on the form, some code is performed. If the user presses Cancel or closes the form, some text is put in a text box.

Copy
ShowModalView
Sub showTest()
    Dim iRet
    iRet = ShowModalView("C:\TestScreen.csf", "CYGDEMO.UIS", "CYG_METER", "Test Form", 2, 2, True, 50, 50, 375, 475, objDictionary)
     
    'If the user pressed OK, run some code. 
    'If the user pressed Cancel or closed the form, don’t do anything
    If iRet = 1 Then
        ...
        'Code
    Else
        edtMessageBox.Text = "Action was canceled"
    End If
End Sub

Back to top

ShowRelativeTimeDialog

The ShowRelativeTimeDialog method displays the Relative Time dialog box. Also see CxDialogs.ShowRelativeTimeDialog.

Syntax

ShowRelativeTimeDialog(InTime As String) As String

Parameters

Parameter Required Description

InTime

No

An optional string used to initialize the Relative Time dialog box.  This string can be in one of the following formats:

  • Absolute Date/Time — for example, 1/4/2023 1:08:00
  • Relative Date/Time — for example, y-1 m-1 d-1 H-1 M-1 S-1
  • Relative Day — for example, T-1 or T+1 (interpreted as "today plus/minus # of days)

If this parameter is not specified, the dialog box will be initialized to the current date and time.

Remarks

This method will return a string representing the time configured in the dialog box.  This format of this string will vary depending on the type of date time configured in the dialog box.  If "Absolute Date/Time" is selected, the format of the returned string will be "(M)M/(D)D/YYYY (H)H:MM:SS".  If "Relative Date/Time" is selected, the format of the returned string will be "y+/-# m+/-# d+/-# H+/-# M+/-# S+/-#" or "<Current>" if no relative date/time parameters are adjusted.  If "Relative Day" is selected, the format of the returned string will be "T+/-#".

Example

The following example launches the Relative Time dialog box initialized to one year ago from the current time, and displays the result in a message box.

Copy
ShowRelativeTimeDialog
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim strTime
    strTime = GlobalFunctions.ShowRelativeTimeDialog("y-1")
     
    MsgBox strTime
End Sub

Back to top

ShowRollupConfigDialog

The ShowRollupConfigDialog method displays the History Rollup Configuration dialog box. Also see CxDialogs.ShowRollupConfigDialog.

Syntax

ShowRollupConfigDialog(TimeAdjustment As Variant, RollupType As Variant, RollupPeriod As Variant, Units As Variant, TopOfSubUnit As Variant)

Parameters

Parameter Required Description

TimeAdjustment

Yes

The time adjustment returned by the dialog box. 

This string will match the date time configured in the Time Adjustment edit box.

RollupType

Yes

The rollup type returned by the dialog box. 

This string will match the string selected in the Rollup Type combo box.

RollupPeriod

Yes

The rollup period returned by the dialog box.

This string will match the number configured in the Rollup Period edit box.

Units

Yes

The Units returned by the dialog box.

This string will match the string selected in the Units combo box.

TopOfSubUnit

Yes

The top of subunit offset returned by the dialog box.

This string will match the number configured in the Top of SubUnit edit box.

Example

The following example launches the History Rollup Configuration dialog box and displays each returned parameter in a message box.

Copy
ShowRollupConfigDialog
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim vTimeAdj, vType, vPeriod, vUnits, vTOS
    GlobalFunctions.ShowRollupConfigDialog vTimeAdj, vType, vPeriod, vUnits, vTOS
     
    MsgBox vTimeAdj
    MsgBox vType
    MsgBox vPeriod
    MsgBox vUnits
    MsgBox vTOS
End Sub

Back to top

ShowUisCmdAuxDialog

The ShowUisCmdAuxDialog method displays the UIS Command Auxiliary Information dialog box. Also see CxDialogs.ShowUisCmdAuxDialog.

Syntax

ShowUisCmdAuxDialog(UisOrDdsSiteService As String, FacilityId As String, UisCmdName As String) As Boolean

Parameters

Parameter Required Description

UisOrDdsSiteService

Yes

The name of a valid UIS or DDS from which to get information in Site.Service format.

For which to modify UIS command auxiliary information.

FacilityId

Yes

The facility ID for which to modify UIS command auxiliary information.

UisCmdName

Yes

The name of the UIS command for which to modify auxiliary information.

Remarks

This method will return false if any of the supplied parameters are invalid.

Example

The following example launches the UIS Command Auxiliary Information dialog box.

Copy
ShowUisCmdAuxDialog
Sub
    Dim GlobalFunctions
    Set GlobalFunctions = CreateObject("CxScript.GlobalFunctions")
     
    Dim vTimeAdj, vType, vPeriod, vUnits, vTOS
    GlobalFunctions.ShowUisCmdAuxDialog "CYGDEMO.UIS", "FLOWAUTOAP15", "RTUCFGGET"
End Sub

Back to top

ShowUisCmdStateDialog

The ShowUisCmdStateDialog method shows the UIS Command State dialog box. Also see CxDialogs.ShowUisCmdStateDialog.

Syntax

ShowUisCmdStateDialog(UisOrDdsSiteService As String, FacilityId As String, UisCmdName As String, ShowExecutionPrompt As Boolean) As Boolean

Parameters

Parameter Required Description

UisOrDdsSiteService

Yes

The name of a valid UIS or DDS from which to get information in Site.Service format.

FacilityId

Yes

A valid facility ID.

UisCmdName

Yes

The name of a UIS Command in the FacilityId.

ShowExecutionPrompt

Yes

Set to True to show a button to execute the UIS Command, False to hide the button.

Remarks

Return Value: A Boolean indicating whether the operation was successful. If ShowExecutionPrompt is set to False, this method will automatically return True.

Example

The following example shows the dialog box for the POLL command and is used to execute it.

Copy
ShowUisCmdStateDialog
Sub showCmdDialog()
    Dim bRet
    bRet = ShowUisCmdStateDialog ("CYGDEMO.UIS", "CYG_METER", "POLL", True)
    If bRet Then
        edtMessageBox.Text = "Successful execution"
    Else
        edtMessageBox.Text = "Error executing command"
    End If
End Sub

Back to top

SortArray

The SortArray method sorts an array.

Syntax

SortArray(Array As Variant, Ascending As Boolean)

Parameters

Parameter Required Description

Array

Yes

The array to be sorted. When this method is completed, the sorted values are stored in this variable.

Ascending

Yes

Set to True to sort in ascending order (a-z), or False to sort in descending order (z-a).

Example

The following example sorts an array alphabetically and displays the new array in a list box.

Copy
SortArray
Sub sortLetters()
    Dim arrLetters, item
    arrLetters = Array("a", "l", "ab", "z", "aa")
     
    SortArray arrLetters, True
    lstSort.ResetContent
    For Each item In arrLetters
        lstSort.AddString(letter)
    Next
        'Sorted array: a, aa, ab, l, z
End Sub

Back to top

TogglePointVerifiedFlags

The TogglePointVerifiedFlags method toggles the Verified Flags for a point.

Syntax

TogglePointVerifiedFlags(PointTag As String, ToggleFlag1 As Boolean, ToggleFlag2 As Boolean, ToggleFlag3 As Boolean, ToggleFlag4 As Boolean)

Parameters

Parameter Required Description

PointTag

Yes

The point tag, in valid CygNet tag string format:

  • Site.Service.PointID
  • Site.Service:LongID
  • Site.Service::FacilityID.UDC
  • Site.Service:PointIDLong

ToggleFlag1

Yes

Set to True to toggle Verified Flag 1, False to keep its value.

ToggleFlag2

Yes

Set to True to toggle Verified Flag 2, False to keep its value.

ToggleFlag3

Yes

Set to True to toggle Verified Flag 3, False to keep its value.

ToggleFlag4

Yes

Set to True to toggle Verified Flag 4, False to keep its value.

Example

The following example toggles the status for flags 1, 3, and 4.

Copy
TogglePointVerifiedFlags
Sub toggleFlags()
    TogglePointVerifiedFlags "CYGDEMO.UIS.00000080", True, False, True, True
    MsgBox "Verified Flags 1, 3, and 4 have been toggled"
End Sub

Back to top