Difference between revisions of "Extensions.DiagCom.StartRepeatedExecution"

From emotive
Jump to navigation Jump to search
Line 5: Line 5:
 
== OTL Syntax ==
 
== OTL Syntax ==
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
DiagCom.StartRepeatedExecution(DiagServiceTerm);
+
DiagCom.StartRepeatedExecution(DiagServiceValue);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Description ==
 
== Description ==
The OTX '''StartRepeatedExecution''' action be used to executed repeatedly a [[Core.DataTypes.ComplexDataType.DiagService|DiagService]]. The repetition time shall be set through the [[Extensions.DiagCom.SetRepetitionTime|SetRepetitionTime]] action and queried by the [[Extensions.DiagCom.GetRepetitionTime|GetRepetitionTime]] term. To stop a repeated service execution, the [[Extensions.DiagCom.StopRepeatedExecution|StopRepeatedExecution]] action is to be used.
+
The OTX '''StartRepeatedExecution''' action be used to executed repeatedly a [[Core.DataTypes.ComplexDataType.DiagService|DiagService]] by the underlying communication backend. The repetition time shall be set through the [[Extensions.DiagCom.SetRepetitionTime|SetRepetitionTime]] action and queried by the [[Extensions.DiagCom.GetRepetitionTime|GetRepetitionTime]] term. The behavior depends on the underplaying System. Especially if the
 +
RepetitionTime value is 0 or lower than the physical possible repetition time. The '''StartRepeatedExecution''' action will return immediately, the results of the [[Extensions.DiagCom.DiagService|DiagService]] created by the repeeated service execution can be queried through the  [[Extensions.DiagCom.GetFirstResult|GetFirstResult]] or [[Extensions.DiagCom.GetAllResults|GetAllResults]] terms or the [[Extensions.DiagCom.GetAllResultsAndClear|GetAllResultsAndClear]] action. Each new result (each execution cycle) will cause a '''DiagServiceEvent''' to be raised by the '''DiagService''' object. To stop a repeated service execution, the [[Extensions.DiagCom.StopRepeatedExecution|StopRepeatedExecution]] action is to be used.
  
 
== Properties ==
 
== Properties ==
 
{| {{TableHeader}}
 
{| {{TableHeader}}
 
{{TableRowPropertiesHeader}}
 
{{TableRowPropertiesHeader}}
{{TableRowPropertie1| DiagService | [[Core.DataTypes.ComplexDataType.DiagService|DiagService ]] | [[Term]] | - | [1] | The service which shall be executed repeatedly. }}
+
{{TableRowPropertie1| DiagService | [[Extensions.DiagCom.DiagService|DiagService]] | [[Value]] | - | [1] | The element specifies the service which shall be executed repeatedly.}}
 
|}
 
|}
  
 
== OTL Examples ==
 
== OTL Examples ==
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
DiagCom.ComChannel myComCannel;
+
DiagCom.DiagService DiagService1;
DiagCom.DiagService myDiagService;
+
List<DiagCom.Result> List1;
 +
DiagCom.ComChannel ComChannel1;
  
myComCannel = DiagCom.GetComChannel("LL_AllEmissRelatUDSSyste", null, false);
+
/// Flow
myDiagService = DiagCom.CreateDiagServiceByName(myComCannel, "DiagnServi_ReadDataByIdentActuaTestStatu");
+
 
DiagCom.StartRepeatedExecution(myDiagService);
+
ComChannel1 = DiagCom.GetComChannel("LL_GatewUDS", "EV_GatewLear_006", false);
DiagCom.ExecuteDiagService(myDiagService, {}, {}, false, false);
+
DiagService1 = DiagCom.CreateDiagServiceByName(ComChannel1, "DiagnServi_DiagnSessiContr");
 +
DiagCom.StartRepeatedExecution(DiagService1);
 +
EventHandling.Sleep(50);
 +
DiagCom.StopRepeatedExecution(DiagService1);
 +
List1 = DiagCom.GetAllResults(DiagService1);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 33: Line 39:
 
[[Extensions.DiagCom.StopRepeatedExecution|StopRepeatedExecution]] <br/>
 
[[Extensions.DiagCom.StopRepeatedExecution|StopRepeatedExecution]] <br/>
 
[[Extensions.DiagCom.SetRepetitionTime|SetRepetitionTime]] <br/>
 
[[Extensions.DiagCom.SetRepetitionTime|SetRepetitionTime]] <br/>
[[Extensions.DiagCom.GetRepetitionTime|GetRepetitionTime]]
+
[[Extensions.DiagCom.GetRepetitionTime|GetRepetitionTime]]<br/>
 +
[[Extensions.DiagCom.GetAllResults|GetAllResults]]<br/>
 +
[[Extensions.DiagCom.GetFirstResult|GetFirstResult]]<br/>
 +
[[Extensions.DiagCom.GetAllResultsAndClear|GetAllResultsAndClear]]

Revision as of 04:20, 11 October 2018

Classification

Name StartRepeatedExecution
Short Description Executing repeatedly a DiagService
Class Action
Extension OTX DiagCom extension
Group DiagService related actions
Exceptions InvalidStateException
IncompleteParameterizationException
Checker Rules -
Standard Compliant Yes

OTL Syntax

DiagCom.StartRepeatedExecution(DiagServiceValue);

Description

The OTX StartRepeatedExecution action be used to executed repeatedly a DiagService by the underlying communication backend. The repetition time shall be set through the SetRepetitionTime action and queried by the GetRepetitionTime term. The behavior depends on the underplaying System. Especially if the RepetitionTime value is 0 or lower than the physical possible repetition time. The StartRepeatedExecution action will return immediately, the results of the DiagService created by the repeeated service execution can be queried through the GetFirstResult or GetAllResults terms or the GetAllResultsAndClear action. Each new result (each execution cycle) will cause a DiagServiceEvent to be raised by the DiagService object. To stop a repeated service execution, the StopRepeatedExecution action is to be used.

Properties

Name Data Type Class Default Cardinality Description
DiagService DiagService Value - [1] The element specifies the service which shall be executed repeatedly.

OTL Examples

DiagCom.DiagService DiagService1;
List<DiagCom.Result> List1;
DiagCom.ComChannel ComChannel1;

/// Flow

ComChannel1 = DiagCom.GetComChannel("LL_GatewUDS", "EV_GatewLear_006", false);
DiagService1 = DiagCom.CreateDiagServiceByName(ComChannel1, "DiagnServi_DiagnSessiContr");
DiagCom.StartRepeatedExecution(DiagService1);
EventHandling.Sleep(50);
DiagCom.StopRepeatedExecution(DiagService1);
List1 = DiagCom.GetAllResults(DiagService1);

See also

GetComChannel
CreateDiagServiceByName
StopRepeatedExecution
SetRepetitionTime
GetRepetitionTime
GetAllResults
GetFirstResult
GetAllResultsAndClear