Skip to main content

i4scada Knowledge Base

WCF Signals Service Documentation

Abstract

The WCF Signals Service handles all the signals related operations. This article provides details about all the available methods.

This WCF web service handles all the signals related operations. The following methods are available:

GetLastValuesBeforeDate

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetLastValuesBeforeDate(string sessionId, string clientId, string userName, bool isDomainUser, SignalLogTagFilterDTO[] signalLogTags, DateTimeOffset date, int millisecondsTimeOut);

Description

Gets the last signal value before the specified date

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • signalLogTags (SignalLogTagFilterDTO[]) - the list of signal log tags data transfer objects, each containing:

    • SignalID (guid) - the unique id of the signal

    • LogTag (string) - the log tag of the signal

  • date (DateTimeOffset) - the date and time defining the date limit

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date of each logged value

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetLastValuesBeforeDateByToken

Syntax

GetLastValuesBeforeDateByToken(string securityToken, SignalLogTagFilterDTO[] signalLogTags, DateTimeOffset date, int millisecondsTimeOut);

Description

Gets the last signal value before the specified date using the security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • signalLogTags (SignalLogTagFilterDTO[]) - the list of signal log tags data transfer objects, each containing:

    • SignalID (guid) - the unique id of the signal

    • LogTag (string) - the log tag of the signal

  • date (DateTimeOffset) - the date and time defining the date limit

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date of each logged value

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetSignalDefinitions

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetSignalDefinitions(string sessionId, string clientId, string userName, bool isDomainUser, GetSignalDefinitionsFilterDTO filter, int languageId, int startIndex, int count, int millisecondsTimeOut);

Description

Gets the signal definitions that respect the filter in a paged manner

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (GetSignalDefinitionsFilterDTO) - the filtering object. With this you can specify a certain server or signal (alias) names and log tags to filter out the list. In this filter you can also specify the amount of data that is retrieved:

    • ServerNames (IEnumerable<string>) - the list of server names

    • AliasNames (IEnumerable<string>) - the list of signal aliases or wild-card expressions

    • LogTags (IEnumerable<string>) - the list of log tags

    • ResultsFilter (SignalDefinitionResultsFilter) - the enumeration of flags for specifying the amount of data:

      • Basic

      • Extended

      • Connector

      • Group

      • WriteGroup

      • Server

      • Logs

      • DiscreteValues

      • All

  • languageId (int ) - the language id in which the data is retrieved

  • startIndex (int ) - the start index of the page

  • count (int ) - the count of the current page

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An enumeration of SignalDefinitionDTO objects that contain details about the requested signals:

  • Name (string) - the name of the signal

  • AliasName (string) - the friendly name of the signal

  • Description (string) - the signal's description

  • DescriptionSymbolicText (string) - the symbolic text of the signal description

  • Active (bool) - true if the signal is active, false if not

  • Unit (string) - the signal value unit

  • Status (int) -

  • OPCEnabled (bool) - when this is true, the signal value will be sent to the WCS OPC server, so other OPC clients can access the value from the Server like from an OPC server

  • OPCQuality (int) - the quality of the signal

  • FactorX1 (double) - a real value of the PLC used to transform the signal value using a mathematical formula into a SCADA readable value Y1. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • FactorX2 (double) - a real value of the PLC used to transform the signal value using a mathematical formula into a SCADA readable value Y2. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • FactorY1 (double) - the SCADA value of the X1 PLC value. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • FactorY2 (double) - the SCADA value of the X2 PLC value. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • LogUserActivity (bool) - if true, the user's activity on this signal is logged

  • Hysterese (double) - the absolute hysteresis value for signal visualization. Hysteresis refers to the difference between consecutive signal values of a signal. Only field-level signal values are taken into account.

  • HystereseLog (double) - the absolute hysteresis value for logs

  • HystereseAlarm (double) - the absolute hysteresis value for alarms

  • Hysterese_2 (double) - the relative hysteresis value for signal visualization

  • HystereseLog_2 (double) - the relative hysteresis value for logs

  • HystereseAlarm_2 (double) - the relative hysteresis value for alarms

  • Maximum (double) - the maximum signal value for writing

  • Minimum (double) - the minimum signal value for writing

  • VChannel (bool) - if true, the signal is a virtual channel

  • VChannelTypeID (int) - the virtual channel type, script or collective alarm

  • VChannelInitValue (string) - the initialization value of the virtual channel

  • AltValue (bool) - if true, the substitute values are used

  • AltValue_1 (double) - the value used when the minimum value is not reached or the maximum value is exceeded

  • AltValue_2 (double) -

  • AltValue_3 (double) -

  • AltValue_4 (double) -

  • DataTypeID (int) -

  • OfflineValue (string) - the value when the signal is offline

  • DiscreteValues (IEnumerable<DiscreteValueDTO>) - a list of discrete value data transfer objects, each containing:

    • Name (string) - the name of the discrete value

    • Value (double) - the value of the discrete value

    • Description (string) - the description of the discrete value

  • Logs (IEnumerable<LogDTO>) - the list of log data transfer objects, each containing:

    • LogTag (string) - the name of the log

    • Description (string) - the description of the log

    • Active (bool) - if true, the log is active for this signal

  • Server (ServerDTO) - the server data transfer object, containing:

    • id (guid) - the unique id of the server

    • name (string) - the name of the server

    • description (string) - the description of the server

  • Connector (ConnectorDTO) - the connector data transfer object, containing:

    • name (string) - the name of the connector

    • description (string) - the description of the connector

  • Group (SignalGroupDTO) - the signal group data transfer object, containing:

    • name (string) - the name of the signal group

    • description (string) - the description of the signal group

  • WriteGroup (WriteGroupDTO) - the write group data transfer object, containing:

    • name (string) - the name of the write group

    • description (string) - the description of the write group

The results have exactly the same order as the supplied list. If a signal name is invalid (corresponding signal does not exist) the results will contain a null value on that position.

GetSignalDefinitionsByToken

Syntax

GetSignalDefinitionsByToken(string securityToken, GetSignalDefinitionsFilterDTO filter, int languageId, int startIndex, int count, int millisecondsTimeOut);

Description

Gets the signal definitions that respect the filter in a paged manner

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • filter (GetSignalDefinitionsFilterDTO) - the filtering object. With this you can specify a certain server or signal (alias) names and log tags to filter out the list. In this filter you can also specify the amount of data that is retrieved:

    • ServerNames (IEnumerable<string>) - the list of server names

    • AliasNames (IEnumerable<string>) - the list of signal aliases or wild-card expressions

    • LogTags (IEnumerable<string>) - the list of log tags

    • ResultsFilter (SignalDefinitionResultsFilter) - the enumeration of flags for specifying the amount of data:

      • Basic

      • Extended

      • Connector

      • Group

      • WriteGroup

      • Server

      • Logs

      • DiscreteValues

      • All

  • languageId (int ) - the language id in which the data is retrieved

  • startIndex (int ) - the start index of the page

  • count (int ) - the count of the current page

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An enumeration of SignalDefinitionDTO objects that contain details about the requested signals:

  • Name (string) - the name of the signal

  • AliasName (string) - the friendly name of the signal

  • Description (string) - the signal's description

  • DescriptionSymbolicText (string) - the symbolic text of the signal description

  • Active (bool) - true if the signal is active, false if not

  • Unit (string) - the signal value unit

  • Status (int) -

  • OPCEnabled (bool) - when this is true, the signal value will be sent to the WCS OPC server, so other OPC clients can access the value from the Server like from an OPC server

  • OPCQuality (int) - the quality of the signal

  • FactorX1 (double) - a real value of the PLC used to transform the signal value using a mathematical formula into a SCADA readable value Y1. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • FactorX2 (double) - a real value of the PLC used to transform the signal value using a mathematical formula into a SCADA readable value Y2. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • FactorY1 (double) - the SCADA value of the X1 PLC value. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • FactorY2 (double) - the SCADA value of the X2 PLC value. The transformation is based on a XOY coordinate system and needs 4 values (X1, X2, Y1, Y1) to be applied.

  • LogUserActivity (bool) - if true, the user's activity on this signal is logged

  • Hysterese (double) - the absolute hysteresis value for signal visualization. Hysteresis refers to the difference between consecutive signal values of a signal. Only field-level signal values are taken into account.

  • HystereseLog (double) - the absolute hysteresis value for logs

  • HystereseAlarm (double) - the absolute hysteresis value for alarms

  • Hysterese_2 (double) - the relative hysteresis value for signal visualization

  • HystereseLog_2 (double) - the relative hysteresis value for logs

  • HystereseAlarm_2 (double) - the relative hysteresis value for alarms

  • Maximum (double) - the maximum signal value for writing

  • Minimum (double) - the minimum signal value for writing

  • VChannel (bool) - if true, the signal is a virtual channel

  • VChannelTypeID (int) - the virtual channel type, script or collective alarm

  • VChannelInitValue (string) - the initialization value of the virtual channel

  • AltValue (bool) - if true, the substitute values are used

  • AltValue_1 (double) - the value used when the minimum value is not reached or the maximum value is exceeded

  • AltValue_2 (double) -

  • AltValue_3 (double) -

  • AltValue_4 (double) -

  • DataTypeID (int) -

  • OfflineValue (string) - the value when the signal is offline

  • DiscreteValues (IEnumerable<DiscreteValueDTO>) - a list of discrete value data transfer objects, each containing:

    • Name (string) - the name of the discrete value

    • Value (double) - the value of the discrete value

    • Description (string) - the description of the discrete value

  • Logs (IEnumerable<LogDTO>) - the list of log data transfer objects, each containing:

    • LogTag (string) - the name of the log

    • Description (string) - the description of the log

    • Active (bool) - if true, the log is active for this signal

  • Server (ServerDTO) - the server data transfer object, containing:

    • id (guid) - the unique id of the server

    • name (string) - the name of the server

    • description (string) - the description of the server

  • Connector (ConnectorDTO) - the connector data transfer object, containing:

    • name (string) - the name of the connector

    • description (string) - the description of the connector

  • Group (SignalGroupDTO) - the signal group data transfer object, containing:

    • name (string) - the name of the signal group

    • description (string) - the description of the signal group

  • WriteGroup (WriteGroupDTO) - the write group data transfer object, containing:

    • name (string) - the name of the write group

    • description (string) - the description of the write group

The results have exactly the same order as the supplied list. If a signal name is invalid (corresponding signal does not exist) the results will contain a null value on that position.

Connect

Syntax

Connect();

Description

Starts a new session, getting back a new session id and license check

Parameters

None

Return Value

The SessionDTO object, containing:

  • SessionId (string) - the id of the new session

  • IsValidLicense (bool) - if true, the license is valid

Disconnect

Syntax

Disconnect(string sessionId);

Description

Disconnects the current session based on the session id

Parameters

  • sessionId (string) - the id of the current session to be ended

Return Value

None

DisconnectByToken

Syntax

DisconnectByToken(string securityToken);

Description

Ends the current session using the security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

Return Value

None

ReadSignals

Syntax

ReadSignals(string sessionId, string clientId, string[] signalNames);

Description

Gets the values for the specified signals

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • signalNames (string[]) - the array of signal names for which to return the values

Return Value

An array of SignalValueDTO objects, each containing:

  • Value (object) - the value of the signal

  • Result (int) - the result of reading the signal value:

    • 0 - success

    • 1000 - unknown error

    • -999999998 - invalid license

    • -999999999 - authentication failed

    • -1 - connection failure

    • -2 - invalid array for signal names

    • -3 - other problems for signal names

    • -4 - invalid array for signal values

    • -5 - mismatch counters for signal names and values

ReadSignalsByToken

Syntax

ReadSignalsByToken(string securityToken, string[] signalNames);

Description

Reads the specified signals in a secured manner, using the security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • signalNames (string[]) - the array of signal names for which to return the values

Return Value

An array of SignalValueDTO objects, each containing:

  • Value (object) - the value of the signal

  • Result (int) - the result of reading the signal value:

    • 0 - success

    • 1000 - unknown error

    • -999999998 - invalid license

    • -999999999 - authentication failed

    • -1 - connection failure

    • -2 - invalid array for signal names

    • -3 - other problems for signal names

    • -4 - invalid array for signal values

    • -5 - mismatch counters for signal names and values

RegisterSignals

Syntax

RegisterSignals(string sessionId, string clientId, string[] signalNames);

Description

Registers new signals based on the supplied signal names and session and client id

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • signalNames (string[]) - the array of signal names to be registered

Return Value

An array containing a result code for each signal registration

RegisterSignalsByToken

Syntax

RegisterSignalsByToken(string securityToken, string[] signalNames);

Description

Registers new signals in a secured manner

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • signalNames (string[]) - the array of signal names to be registered

Return Value

An array containing a result code for each signal registration

UnregisterSignals

Syntax

UnregisterSignals(string sessionId, string clientId, string[] signalNames);

Description

Unregisters new signals based on the supplied signal names and session and client id

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • signalNames (string[]) - the array of signal names to be unregistered

Return Value

An array containing result code for each signal unregistration

UnregisterSignalsByToken

Syntax

UnregisterSignalsByToken(string securityToken, string[] signalNames);

Description

Unregisters new signals in a secured manner

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • signalNames (string[]) - the array of signal names to be unregistered

Return Value

An array containing result code for each signal unregistration

GetUpdates

Syntax

GetUpdates(string sessionId, string clientId, int requestId);

Description

Gets signal updates based on the session, client and request ids, for all signals that have updated since the last request.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • requestId (int) - the id of the request. The first request will have the id 0 and will be incremented for each request after. This id is used to retrieve only the signals that were updated since the last request.

Return Value

The SignalUpdateDTO object, containing:

  • ResponseId (int) - the id of returned by the server for the request

  • Updates (KeyValuePair<string, object>[]) - the list of key-value pairs representing the signal names and their values. The values can be either one of the standard signal value types or an array of those types.

GetUpdatesByToken

Syntax

GetUpdatesByToken(string securityToken, int requestId);

Description

Gets signal updates based on the request id, for all signals that have updated since the last request, in a secured manner.

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • requestId (int) - the id of the request. The first request will have the id 0 and will be incremented for each request after. This id is used to retrieve only the signals that were updated since the last request.

Return Value

The SignalUpdateDTO object, containing:

  • ResponseId (int) - the id of returned by the server for the request

  • Updates (KeyValuePair<string, object>[]) - the list of key-value pairs representing the signal names and their values. The values can be either one of the standard signal value types or an array of those types.

WriteUnsecuredSignals

Syntax

WriteUnsecuredSignals(string sessionId, string clientId, KeyValuePair<string, object>[] values);

Description

Writes the specified values to the specified signals in an unsecured manner

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • values (KeyValuePair<string, object>[]) - the list of the key-value pairs representing the names of the signals and the values to be written

Return Value

An array containing result codes for each signal writing

WriteUnsecuredSignalsByToken

Syntax

WriteUnsecuredSignalsByToken(string securityToken, KeyValuePair<string, object>[] values);

Description

Writes the specified values to the specified signals in an unsecured manner, using the security token for validating the session and client

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • values (KeyValuePair<string, object>[]) - the list of the key-value pairs representing the names of the signals and the values to be written

Return Value

An array containing result codes for each signal writing

WriteUnsecuredSignalValues

Syntax

WriteUnsecuredSignalValues(string sessionId, string clientId, WritableSignalDTO[] values);

Description

Writes the specified values to the specified signals in an unsecured manner, passing the signals and values as a DTO

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • values (WritableSignalDTO[]) - the list of writable signals data transfer object, each containing:

    • Name (string) - the name of the signal for which the value is written

    • Value (object) - the value to be written to the signal

Return Value

An array containing result codes for each signal writing

WriteUnsecuredSignalValuesByToken

Syntax

WriteUnsecuredSignalValuesByToken(string securityToken, WritableSignalDTO[] values);

Description

Writes the specified values to the specified signals in an unsecured manner, passing the signals and values as a DTO and using the security token for validating the session and client

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • values (WritableSignalDTO[]) - the list of writable signals data transfer object, each containing:

    • Name (string) - the name of the signal for which the value is written

    • Value (object) - the value to be written to the signal

Return Value

An array containing result codes for each signal writing

WriteSecuredSignals

Syntax

WriteSecuredSignals(string userName, string userPassword, bool isDomainUser, string sessionId, string clientId, KeyValuePair<string, object>[] values);

Description

Writes the specified values to the specified signals in a secured manner, using the user name and password.

Parameters

  • userName (string) - the name of the or Active Directory user

  • userPassword (string) - the password of the or Active Directory user

  • isDomainUser (bool) - true if the user is an Active Directory user, false if the user is a user

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • values (KeyValuePair<string, object>[]) - the list of the key-value pairs representing the names of the signals and the values to be written

Return Value

An array containing result codes for each signal writing

WriteSecuredSignalsByToken

Syntax

WriteSecuredSignalsByToken(string securityToken, KeyValuePair<string, object>[] values);

Description

Writes the specified values to the specified signals in a secured manner, using the security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • values (KeyValuePair<string, object>[]) - the list of the key-value pairs representing the names of the signals and the values to be written

Return Value

An array containing result codes for each signal writing

WriteSecuredSignalValues

Syntax

WriteSecuredSignalValues(string userName, string userPassword, bool isDomainUser, string sessionId, string clientId, WritableSignalDTO[] values);

Description

Writes the specified values to the specified signals in a secured manner, using the user name and password and passing the signals and values as a DTO

Parameters

  • userName (string) - the name of the or Active Directory user

  • userPassword (string) - the password of the or Active Directory user

  • isDomainUser (bool) - true if the user is an Active Directory user, false if the user is a user

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • values (WritableSignalDTO[]) - the list of writable signals data transfer object, each containing:

    • Name (string) - the name of the signal for which the value is written

    • Value (object) - the value to be written to the signal

Return Value

An array containing result codes for each signal writing

WriteSecuredSignalValuesByToken

Syntax

WriteSecuredSignalValuesByToken(string securityToken, WritableSignalDTO[] values);

Description

Writes the specified values to the specified signals in a secured manner, using the security token and passing the signals and values as a DTO

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • values (WritableSignalDTO[]) - the list of writable signals data transfer object, each containing:

    • Name (string) - the name of the signal for which the value is written

    • Value (object) - the value to be written to the signal

Return Value

An array containing result codes for each signal writing

WriteSecuredSignalsWithPasswordReinforcement

Syntax

WriteSecuredSignalsWithPasswordReinforcement(string securityToken, string password, KeyValuePair<string, object>[] values);

Description

Writes the specified values to the specified signals in a secured manner, using the security token and the user password provided by the user, as a security reinforcement

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • password (string) - the password provided by the user for security reinforcement

  • values (KeyValuePair<string, object>[]) - the list of the key-value pairs representing the names of the signals and the values to be written

Return Value

An array containing result codes for each signal writing

WriteSecuredSignalValuesWithPasswordReinforcement

Syntax

WriteSecuredSignalValuesWithPasswordReinforcement(string securityToken, string password, WritableSignalDTO[] values);

Description

Writes the specified values to the specified signals in a secured manner, passing the signals and values as a DTO and the user password for security reinforcement

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • password (string) - the password provided by the user for security reinforcement

  • values (WritableSignalDTO[]) - the list of writable signals data transfer object, each containing:

    • Name (string) - the name of the signal for which the value is written

    • Value (object) - the value to be written to the signal

Return Value

An array containing result codes for each signal writing

GetLogIDs

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetLogIDs(string sessionId, string clientId, string userName, bool isDomainUser, SignalLogTagFilterDTO[] signalLogTags, int millisecondsTimeOut);

Description

Retrieves the log ids based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • signalLogTags (SignalLogTagFilterDTO[]) - the array of signal log tag filter objects, each containing:

    • SignalID (guid) - the unique id of the signal

    • LogTag (string) - the log tag

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of log unique ids

GetLogIDsByToken

Syntax

GetLogIDsByToken(string securityToken, SignalLogTagFilterDTO[] signalLogTags, int millisecondsTimeOut);

Description

Retrieves the log ids based on the provided parameter and security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • signalLogTags (SignalLogTagFilterDTO[]) - the array of signal log tag filter objects, each containing:

    • SignalID (guid) - the unique id of the signal

    • LogTag (string) - the log tag

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of log unique ids

GetLogValues

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetLogValues(string sessionId, string clientId, string userName, bool isDomainUser, LogValuesFilterDTO filter, int millisecondsTimeOut);

Description

Retrieves the log values based on the provided filter

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetLogValuesByToken

Syntax

GetLogValuesByToken(string securityToken, LogValuesFilterDTO filter, int millisecondsTimeOut);

Description

Retrieves the log values based on the provided filter and security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetUTCLogValues

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetLogValues(string sessionId, string clientId, string userName, bool isDomainUser, LogValuesFilterDTO filter, int millisecondsTimeOut);

Description

Retrieves the log values with UTC time stamps based on the provided filter. When calling this method in a HTML environment, the browser will automatically convert the UTC time stamps to the client time.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the UTC date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetUTCLogValuesByToken

Syntax

GetLogValuesByToken(string securityToken, LogValuesFilterDTO filter, int millisecondsTimeOut);

Description

Retrieves the log values with UTC time stamps based on the provided filter and security token. When calling this method in a HTML environment, the browser will automatically convert the UTC time stamps to the client time.

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the UTC date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetPeekLogValues

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetPeekLogValues(string sessionId, string clientId, string userName, bool isDomainUser, LogValuesFilterDTO filter, int resolution, int millisecondsTimeOut);

Description

Retrieves the highest logged values based on the provided filter.

The numeric values are taken into consideration (Value, Value2, EditedValue and EditedValue2). If the EditedValue and EditedValue2 are not null, their values will be returned. If they are null, than the Value and Value2 values will be returned.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • resolution (int) - the number of data relevant points to be retrieved

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetPeekLogValuesByToken

Syntax

GetPeekLogValuesByToken(string securityToken, LogValuesFilterDTO filter, int resolution, int millisecondsTimeOut);

Description

Retrieves the highest logged values based on the provided filter and security token.

The numeric values are taken into consideration (Value, Value2, EditedValue and EditedValue2). If the EditedValue and EditedValue2 are not null, their values will be returned. If they are null, than the Value and Value2 values will be returned.

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • resolution (int) - the number of data relevant points to be retrieved

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetPeekUTCLogValues

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetPeekUTCLogValues(string sessionId, string clientId, string userName, bool isDomainUser, LogValuesFilterDTO filter, int resolution, int millisecondsTimeOut);

Description

Retrieves the highest logged values using the UTC time stamp, based on the provided filter. When calling this method in a HTML environment, the browser will automatically convert the UTC time stamps to the client time.

The numeric values are taken into consideration (Value, Value2, EditedValue and EditedValue2). If the EditedValue and EditedValue2 are not null, their values will be returned. If they are null, than the Value and Value2 values will be returned.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • resolution (int) - the number of data relevant points to be retrieved

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

GetPeekUTCLogValuesByToken

Syntax

GetPeekUTCLogValuesByToken(string securityToken, LogValuesFilterDTO filter, int resolution, int millisecondsTimeOut);

Description

Retrieves the highest logged values using the UTC time stamp, based on the provided filter and security token. When calling this method in a HTML environment, the browser will automatically convert the UTC time stamps to the client time.

The numeric values are taken into consideration (Value, Value2, EditedValue and EditedValue2). If the EditedValue and EditedValue2 are not null, their values will be returned. If they are null, than the Value and Value2 values will be returned.

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • filter (LogValuesFilterDTO) - the log values filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the values

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the logged values

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the logged values

    • MaxResults (int) - the maximum number of logged values to be retrieved. Can be null.

    • SortOrder (LogValuesSortOrder) - the sorting order for the retrieved logged values. Can be DateAscending or DateDescending.

  • resolution (int) - the number of data relevant points to be retrieved

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of DatedLogValuesDTO objects, each containing:

  • EntriesDate (DateTime) - the date and time when the value was logged

  • Values (LogValueDTO) - the list of log value data transfer objects, containing:

    • Value (double?) - the numeric raw signal value

    • Value2 (string) - the textual raw signal value

    • EditedValue (double?) - the edited numeric signal value

    • EditedValue2 (double?) - the edited textual signal value

UpdateLogValue

This method follows the WEBfactory i4scada Security Protocol.

Syntax

UpdateLogValue(Guid logId, DateTimeOffset entryDate, double? value, string value2);

Description

Updates the value of the specified log based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • logId (guid) - the unique id of the log to be updated

  • entryDate (DateTimeOffset) - the date and time when the value was updated

  • value (double?) - the numeric raw signal value

  • value2 (string) - the textual raw signal value

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

None

UpdateLogValueByToken

Syntax

UpdateLogValueByToken(string securityToken, Guid logId, DateTimeOffset entryDate, double? value, string value2, int millisecondsTimeOut);

Description

Updates the value of the specified log based on the security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • logId (guid) - the unique id of the log to be updated

  • entryDate (DateTimeOffset) - the date and time when the value was updated

  • value (double?) - the numeric raw signal value

  • value2 (string) - the textual raw signal value

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

None

GetLogStatistics

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetLogStatistics(string sessionId, string clientId, string userName, bool isDomainUser, LogStatisticsFilterDTO filter, int millisecondsTimeOut);

Description

Retrieves the logs statistics (min/max/average) based on the provided parameters. The numeric values are taken into consideration (Value, Value2, EditedValue and EditedValue2). If the EditedValue and EditedValue2 are not null, their values will be returned. If they are null, than the Value and Value2 values will be returned.

For the average statistic, if a value that is exactly the average of the minimum and maximum values exists, it will be retrieved along with its time stamp. If an exact value does not exist but it is calculated, its time stamp will be null.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (LogStatisticsFilterDTO) - the log statistics filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the statistics

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the statistics

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the statistics

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of LogStatisticsDTO objects, each containing:

  • logID (guid) - the unique id of the log for which the statistics are retrieved

  • Minimum (DateLogValueDTO) - a DateLogValueDTO object, containing:

    • Date (DateTime) - the time stamp of the minimum value

    • Value (LogValueDTO) - a LogValueDTO object, containing:

      • Value (double?) - the minimum numeric raw signal value

      • Value2 (string) - the minimum textual raw signal value

      • EditedValue (double?) - the minimum edited numeric signal value

      • EditedValue2 (double?) - the minimum edited textual signal value

  • Maximum (DateLogValueDTO) - a DateLogValueDTO object, containing:

    • Date (DateTime) - the time stamp of the maximum value

    • Value (LogValueDTO) - a LogValueDTO object, containing:

      • Value (double?) - the maximum numeric raw signal value

      • Value2 (string) - the maximum textual raw signal value

      • EditedValue (double?) - the maximum edited numeric signal value

      • EditedValue2 (double?) - the maximum edited textual signal value

  • Average (DateLogValueDTO) - a DateLogValueDTO object, containing:

    • Date (DateTime) - the time stamp of the average value, if an exact average exists. Else it is null.

    • Value (LogValueDTO) - a LogValueDTO object, containing:

      • Value (double?) - the average numeric raw signal value

      • Value2 (string) - the average textual raw signal value

      • EditedValue (double?) - the average edited numeric signal value

      • EditedValue2 (double?) - the average edited textual signal value

GetUTCLogStatistics

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetLogStatistics(string sessionId, string clientId, string userName, bool isDomainUser, LogStatisticsFilterDTO filter, int millisecondsTimeOut);

Description

Retrieves the logs statistics (min/max/average) using the UTC time stamps, based on the provided parameters. The numeric values are taken into consideration (Value, Value2, EditedValue and EditedValue2). If the EditedValue and EditedValue2 are not null, their values will be returned. If they are null, than the Value and Value2 values will be returned.

For the average statistic, if a value that is exactly the average of the minimum and maximum values exists, it will be retrieved along with its time stamp. If an exact value does not exist but it is calculated, its time stamp will be null.

When calling this method in a HTML environment, the browser will automatically convert the UTC time stamps to the client time.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • filter (LogStatisticsFilterDTO) - the log statistics filter object, containing:

    • LogIDs (guid[]) - the array of log ids for which to retrieve the statistics

    • StartDate (DateTimeOffset) - the start of the period from which to retrieved the statistics

    • EndDate (DateTimeOffset) - the end of the period from which to retrieved the statistics

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

An array of LogStatisticsDTO objects, each containing:

  • logID (guid) - the unique id of the log for which the statistics are retrieved

  • Minimum (DateLogValueDTO) - a DateLogValueDTO object, containing:

    • Date (DateTime) - the time stamp of the minimum value

    • Value (LogValueDTO) - a LogValueDTO object, containing:

      • Value (double?) - the minimum numeric raw signal value

      • Value2 (string) - the minimum textual raw signal value

      • EditedValue (double?) - the minimum edited numeric signal value

      • EditedValue2 (double?) - the minimum edited textual signal value

  • Maximum (DateLogValueDTO) - a DateLogValueDTO object, containing:

    • Date (DateTime) - the time stamp of the maximum value

    • Value (LogValueDTO) - a LogValueDTO object, containing:

      • Value (double?) - the maximum numeric raw signal value

      • Value2 (string) - the maximum textual raw signal value

      • EditedValue (double?) - the maximum edited numeric signal value

      • EditedValue2 (double?) - the maximum edited textual signal value

  • Average (DateLogValueDTO) - a DateLogValueDTO object, containing:

    • Date (DateTime) - the time stamp of the average value, if an exact average exists. Else it is null.

    • Value (LogValueDTO) - a LogValueDTO object, containing:

      • Value (double?) - the average numeric raw signal value

      • Value2 (string) - the average textual raw signal value

      • EditedValue (double?) - the average edited numeric signal value

      • EditedValue2 (double?) - the average edited textual signal value

GetAllWriteGroup

This method follows the WEBfactory i4scada Security Protocol.

Syntax

GetAllWriteGroup(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all available write groups based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

None

GetAllWriteGroupByToken

Syntax

GetAllWriteGroupByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all available write groups based on the provided security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

None