Difference between revisions of "Extensions.DiagCom.CloseComChannel"

From emotive
Jump to navigation Jump to search
Line 1: Line 1:
 
{{DISPLAYTITLE:OTX '''CloseComChannel'''}}[[Category:DiagCom]]
 
{{DISPLAYTITLE:OTX '''CloseComChannel'''}}[[Category:DiagCom]]
 
== Classification ==
 
== Classification ==
{{ClassificationActivity | CloseComChannel | Closes a communication channel | [[Action]] | [[Extensions.DiagCom|OTX DiagCom extension]] | [[ComChanel related actions]] | [[Core.Actions.Throw.Exception.InvalidReferenceException|InvalidReferenceException]] | - }}
+
{{ClassificationActivity | CloseComChannel | Closes a communication channel | [[Action]] | [[Extensions.DiagCom|OTX DiagCom extension]] | [[Extensions.DiagCom#Terms|ComChanel related actions]] | [[Core.DataTypes.ComplexDataType.InvalidReferenceException|InvalidReferenceException]] | - }}
  
 
== OTL Syntax ==
 
== OTL Syntax ==
Line 21: Line 21:
 
== 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.ComChannel ComChannel1;
  
myComCannel = DiagCom.GetComChannel("DiagnosticsCan_ECU_1", null, false);
+
/// Flow
  
// Code example using the variable myComChannel
+
ComChannel1 = DiagCom.GetComChannel("LL_EnginContrModul1UDS", NULL, false);
// ...
+
DiagCom.CloseComChannel(ComChannel1);
DiagCom.CloseComChannel(myComCannel);</syntaxhighlight>
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== See also ==
 
== See also ==
 
[[Extensions.DiagCom.GetComChannel|GetComChannel]]
 
[[Extensions.DiagCom.GetComChannel|GetComChannel]]

Revision as of 09:18, 10 October 2018

Classification

Name CloseComChannel
Short Description Closes a communication channel
Class Action
Extension OTX DiagCom extension
Group ComChanel related actions
Exceptions InvalidReferenceException
Checker Rules -
Standard Compliant Yes

OTL Syntax

DiagCom.CloseComChannel(ComChannelVariable);

Description

OTX CloseComChannel activity is used for the Diagnosis Runtime System to announce that an open communication channel that all relevant resources can be released and closed.

Exclamation.png Important: Long-time running procedures should note that the OTX runtime will close open ComChannels (see GetComChannel) solely via the CloseComChannel activity! This has an impact on the long-time stability of the runtime environment. To avoid memory leaks, ComChannels should not be opened implicitly, like
ExecuteDiagService(CreateDiagServiceByName(GetComChannel("LL_AirbaUDS","",false), "DiagnServi_ReadDataByIdentECUIdent"), ...);

because the resources cannot be released until the completion of runtime execution. Better use:

ComChannel comChannel = GetComChannel("LL_AirbaUDS","",false);
DiagService diagService = CreateDiagServiceByName(comChannel, "DiagnServi_ReadDataByIdentECUIdent"));
ExecuteDiagService(diagService, ...);
...
CloseComChannel(comChannel);

For the short-dated execution of procedures, this is of minor importance!

Exclamation.png Important: Please note that the use of a shared ComChannel can bring the OTX runtime system in an undefined state and that is this case is not validated at design time!

Properties

Name Data Type Class Default Cardinality Description
ComChannel ComChannel Variable - [1] Communication Channel (Control unit).

OTL Examples

DiagCom.ComChannel ComChannel1;

/// Flow

ComChannel1 = DiagCom.GetComChannel("LL_EnginContrModul1UDS", NULL, false);
DiagCom.CloseComChannel(ComChannel1);

See also

GetComChannel