Skip to content

Commit 03abc4f

Browse files
committed
Initial content
1 parent 31c09ca commit 03abc4f

File tree

12 files changed

+440
-0
lines changed

12 files changed

+440
-0
lines changed

v12/src/App_OPCUA_Control/.project

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>App_OPCUA_Control</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>com.ibm.etools.mft.applib.applibbuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>com.ibm.etools.mft.applib.applibresourcevalidator</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>com.ibm.etools.mft.connector.policy.ui.PolicyBuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
<buildCommand>
24+
<name>com.ibm.etools.mft.applib.mbprojectbuilder</name>
25+
<arguments>
26+
</arguments>
27+
</buildCommand>
28+
<buildCommand>
29+
<name>com.ibm.etools.msg.validation.dfdl.mlibdfdlbuilder</name>
30+
<arguments>
31+
</arguments>
32+
</buildCommand>
33+
<buildCommand>
34+
<name>com.ibm.etools.mft.flow.adapters.adapterbuilder</name>
35+
<arguments>
36+
</arguments>
37+
</buildCommand>
38+
<buildCommand>
39+
<name>com.ibm.etools.mft.flow.sca.scabuilder</name>
40+
<arguments>
41+
</arguments>
42+
</buildCommand>
43+
<buildCommand>
44+
<name>com.ibm.etools.msg.validation.dfdl.mbprojectresourcesbuilder</name>
45+
<arguments>
46+
</arguments>
47+
</buildCommand>
48+
<buildCommand>
49+
<name>com.ibm.etools.mft.esql.lang.esqllangbuilder</name>
50+
<arguments>
51+
</arguments>
52+
</buildCommand>
53+
<buildCommand>
54+
<name>com.ibm.etools.mft.map.builder.mslmappingbuilder</name>
55+
<arguments>
56+
</arguments>
57+
</buildCommand>
58+
<buildCommand>
59+
<name>com.ibm.etools.mft.flow.msgflowxsltbuilder</name>
60+
<arguments>
61+
</arguments>
62+
</buildCommand>
63+
<buildCommand>
64+
<name>com.ibm.etools.mft.flow.msgflowbuilder</name>
65+
<arguments>
66+
</arguments>
67+
</buildCommand>
68+
<buildCommand>
69+
<name>com.ibm.etools.mft.decision.service.ui.decisionservicerulebuilder</name>
70+
<arguments>
71+
</arguments>
72+
</buildCommand>
73+
<buildCommand>
74+
<name>com.ibm.etools.mft.pattern.capture.PatternBuilder</name>
75+
<arguments>
76+
</arguments>
77+
</buildCommand>
78+
<buildCommand>
79+
<name>com.ibm.etools.mft.json.builder.JSONBuilder</name>
80+
<arguments>
81+
</arguments>
82+
</buildCommand>
83+
<buildCommand>
84+
<name>com.ibm.etools.mft.restapi.ui.restApiDefinitionsBuilder</name>
85+
<arguments>
86+
</arguments>
87+
</buildCommand>
88+
<buildCommand>
89+
<name>com.ibm.etools.mft.policy.ui.policybuilder</name>
90+
<arguments>
91+
</arguments>
92+
</buildCommand>
93+
<buildCommand>
94+
<name>com.ibm.etools.mft.msg.assembly.messageAssemblyBuilder</name>
95+
<arguments>
96+
</arguments>
97+
</buildCommand>
98+
<buildCommand>
99+
<name>com.ibm.etools.msg.validation.dfdl.dfdlqnamevalidator</name>
100+
<arguments>
101+
</arguments>
102+
</buildCommand>
103+
<buildCommand>
104+
<name>com.ibm.etools.mft.bar.ext.barbuilder</name>
105+
<arguments>
106+
</arguments>
107+
</buildCommand>
108+
<buildCommand>
109+
<name>com.ibm.etools.mft.unittest.ui.TestCaseBuilder</name>
110+
<arguments>
111+
</arguments>
112+
</buildCommand>
113+
</buildSpec>
114+
<natures>
115+
<nature>com.ibm.etools.msgbroker.tooling.applicationNature</nature>
116+
<nature>com.ibm.etools.msgbroker.tooling.messageBrokerProjectNature</nature>
117+
</natures>
118+
</projectDescription>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com_ibm_industrypack_industryclient_control_ComIbmEventInput.msgnode="com/ibm/industrypack/industryclient/control/ComIbmEventInput.msgnode" xmlns:com_ibm_industrypack_industryclient_control_ComIbmOutput.msgnode="com/ibm/industrypack/industryclient/control/ComIbmOutput.msgnode" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:eflow="http://www.ibm.com/wbi/2005/eflow" xmlns:utility="http://www.ibm.com/wbi/2005/eflow_utility" nsURI="Flow_OPCUA_Control.msgflow" nsPrefix="Flow_OPCUA_Control.msgflow">
3+
<eClassifiers xmi:type="eflow:FCMComposite" name="FCMComposite_1" nodeLayoutStyle="RECTANGLE">
4+
<eSuperTypes href="http://www.ibm.com/wbi/2005/eflow#//FCMBlock"/>
5+
<translation xmi:type="utility:TranslatableString" key="Flow_OPCUA_Control" bundleName="Flow_OPCUA_Control" pluginId="App_OPCUA_Control"/>
6+
<colorGraphic16 xmi:type="utility:GIFFileGraphic" resourceName="platform:/plugin/App_OPCUA_Control/icons/full/obj16/Flow_OPCUA_Control.gif"/>
7+
<colorGraphic32 xmi:type="utility:GIFFileGraphic" resourceName="platform:/plugin/App_OPCUA_Control/icons/full/obj30/Flow_OPCUA_Control.gif"/>
8+
<composition>
9+
<nodes xmi:type="com_ibm_industrypack_industryclient_control_ComIbmOutput.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_1" location="472,190" connectorName="ACMfg" restrictedTo="manufacturing" nodeType="IndustryClientControlReceive">
10+
<translation xmi:type="utility:ConstantString" string="Control-Receive"/>
11+
</nodes>
12+
<nodes xmi:type="com_ibm_industrypack_industryclient_control_ComIbmEventInput.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_2" location="131,191" connectorKeepAlive="1000" connectorName="ACMfg" restrictedTo="manufacturing" nodeType="IndustryClientControlSend">
13+
<translation xmi:type="utility:ConstantString" string="Control-Send"/>
14+
</nodes>
15+
<connections xmi:type="eflow:FCMConnection" xmi:id="FCMConnection_1" targetNode="FCMComposite_1_1" sourceNode="FCMComposite_1_2" sourceTerminalName="OutTerminal.out" targetTerminalName="InTerminal.in"/>
16+
</composition>
17+
<propertyOrganizer/>
18+
<stickyBoard/>
19+
</eClassifiers>
20+
</ecore:EPackage>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:appDescriptor xmlns="http://com.ibm.etools.mft.descriptor.base" xmlns:ns2="http://com.ibm.etools.mft.descriptor.app"><references/></ns2:appDescriptor>

v12/src/App_OPCUA_ODM/.project

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>App_OPCUA_ODM</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>com.ibm.etools.mft.applib.applibbuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>com.ibm.etools.mft.applib.applibresourcevalidator</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>com.ibm.etools.mft.connector.policy.ui.PolicyBuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
<buildCommand>
24+
<name>com.ibm.etools.mft.applib.mbprojectbuilder</name>
25+
<arguments>
26+
</arguments>
27+
</buildCommand>
28+
<buildCommand>
29+
<name>com.ibm.etools.msg.validation.dfdl.mlibdfdlbuilder</name>
30+
<arguments>
31+
</arguments>
32+
</buildCommand>
33+
<buildCommand>
34+
<name>com.ibm.etools.mft.flow.adapters.adapterbuilder</name>
35+
<arguments>
36+
</arguments>
37+
</buildCommand>
38+
<buildCommand>
39+
<name>com.ibm.etools.mft.flow.sca.scabuilder</name>
40+
<arguments>
41+
</arguments>
42+
</buildCommand>
43+
<buildCommand>
44+
<name>com.ibm.etools.msg.validation.dfdl.mbprojectresourcesbuilder</name>
45+
<arguments>
46+
</arguments>
47+
</buildCommand>
48+
<buildCommand>
49+
<name>com.ibm.etools.mft.esql.lang.esqllangbuilder</name>
50+
<arguments>
51+
</arguments>
52+
</buildCommand>
53+
<buildCommand>
54+
<name>com.ibm.etools.mft.map.builder.mslmappingbuilder</name>
55+
<arguments>
56+
</arguments>
57+
</buildCommand>
58+
<buildCommand>
59+
<name>com.ibm.etools.mft.flow.msgflowxsltbuilder</name>
60+
<arguments>
61+
</arguments>
62+
</buildCommand>
63+
<buildCommand>
64+
<name>com.ibm.etools.mft.flow.msgflowbuilder</name>
65+
<arguments>
66+
</arguments>
67+
</buildCommand>
68+
<buildCommand>
69+
<name>com.ibm.etools.mft.decision.service.ui.decisionservicerulebuilder</name>
70+
<arguments>
71+
</arguments>
72+
</buildCommand>
73+
<buildCommand>
74+
<name>com.ibm.etools.mft.pattern.capture.PatternBuilder</name>
75+
<arguments>
76+
</arguments>
77+
</buildCommand>
78+
<buildCommand>
79+
<name>com.ibm.etools.mft.json.builder.JSONBuilder</name>
80+
<arguments>
81+
</arguments>
82+
</buildCommand>
83+
<buildCommand>
84+
<name>com.ibm.etools.mft.restapi.ui.restApiDefinitionsBuilder</name>
85+
<arguments>
86+
</arguments>
87+
</buildCommand>
88+
<buildCommand>
89+
<name>com.ibm.etools.mft.policy.ui.policybuilder</name>
90+
<arguments>
91+
</arguments>
92+
</buildCommand>
93+
<buildCommand>
94+
<name>com.ibm.etools.mft.msg.assembly.messageAssemblyBuilder</name>
95+
<arguments>
96+
</arguments>
97+
</buildCommand>
98+
<buildCommand>
99+
<name>com.ibm.etools.msg.validation.dfdl.dfdlqnamevalidator</name>
100+
<arguments>
101+
</arguments>
102+
</buildCommand>
103+
<buildCommand>
104+
<name>com.ibm.etools.mft.bar.ext.barbuilder</name>
105+
<arguments>
106+
</arguments>
107+
</buildCommand>
108+
<buildCommand>
109+
<name>com.ibm.etools.mft.unittest.ui.TestCaseBuilder</name>
110+
<arguments>
111+
</arguments>
112+
</buildCommand>
113+
</buildSpec>
114+
<natures>
115+
<nature>com.ibm.etools.msgbroker.tooling.applicationNature</nature>
116+
<nature>com.ibm.etools.msgbroker.tooling.messageBrokerProjectNature</nature>
117+
</natures>
118+
</projectDescription>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ComIbmCompute.msgnode="ComIbmCompute.msgnode" xmlns:ComIbmODMRules.msgnode="ComIbmODMRules.msgnode" xmlns:ComIbmWSInput.msgnode="ComIbmWSInput.msgnode" xmlns:ComIbmWSReply.msgnode="ComIbmWSReply.msgnode" xmlns:com_ibm_industrypack_industryclient_client_read_ComIbmRequest.msgnode="com/ibm/industrypack/industryclient/client/read/ComIbmRequest.msgnode" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:eflow="http://www.ibm.com/wbi/2005/eflow"
3+
xmlns:utility="http://www.ibm.com/wbi/2005/eflow_utility" nsURI="Flow_OPCUA_ODM.msgflow" nsPrefix="Flow_OPCUA_ODM.msgflow">
4+
<eClassifiers xmi:type="eflow:FCMComposite" name="FCMComposite_1" nodeLayoutStyle="RECTANGLE">
5+
<eSuperTypes href="http://www.ibm.com/wbi/2005/eflow#//FCMBlock"/>
6+
<translation xmi:type="utility:TranslatableString" key="Flow_OPCUA_ODM" bundleName="Flow_OPCUA_ODM" pluginId="APP_OPCUA_ODM"/>
7+
<colorGraphic16 xmi:type="utility:GIFFileGraphic" resourceName="platform:/plugin/APP_OPCUA_ODM/icons/full/obj16/Flow_OPCUA_ODM.gif"/>
8+
<colorGraphic32 xmi:type="utility:GIFFileGraphic" resourceName="platform:/plugin/APP_OPCUA_ODM/icons/full/obj30/Flow_OPCUA_ODM.gif"/>
9+
<composition>
10+
<nodes xmi:type="com_ibm_industrypack_industryclient_client_read_ComIbmRequest.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_1" location="222,215" readType="readDirect" clientItemList="" opcUaServerList="" connectorName="ACMfg" restrictedTo="manufacturing" nodeType="IndustryClientRead" interval="0" messageDomainProperty="XMLNSC" validateTiming="deferred" parserXmlnscBuildTreeUsingXMLSchema="no" parserXmlnscUseForXmlnsDomain="yes" parserXmlnscMixedContentRetainMode="none" parserXmlnscCommentsRetainMode="none"
11+
parserXmlnscProcessingInstructionsRetainMode="none" validateMaster="none" validateFailureAction="exception" validateAllValueConstraints="true" validateFixup="none" policy="">
12+
<translation xmi:type="utility:ConstantString" string="OPC-UA-Read"/>
13+
</nodes>
14+
<nodes xmi:type="ComIbmCompute.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_2" location="454,221" computeExpression="esql://routine/#Flow_OPCUA_ODM_Compute.Main" computeMode="destinationAndMessage">
15+
<translation xmi:type="utility:ConstantString" string="Compute"/>
16+
</nodes>
17+
<nodes xmi:type="ComIbmWSInput.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_3" location="3,220" URLSpecifier="/OPCUA_ODMRulesNode">
18+
<translation xmi:type="utility:ConstantString" string="HTTP Input"/>
19+
</nodes>
20+
<nodes xmi:type="ComIbmWSReply.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_4" location="1129,224">
21+
<translation xmi:type="utility:ConstantString" string="HTTP Reply"/>
22+
</nodes>
23+
<nodes xmi:type="ComIbmODMRules.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_6" location="678,226" policyUrl="{Policy_OPCUA_ODM_Project}:OPCUA_ODM_Policy" rulesetPath="/ACOBJ1_Dep/Latest/ACOper1/Latest">
24+
<translation xmi:type="utility:ConstantString" string="ODM Rules"/>
25+
<ruleParameterTable ruleParameterName="acobj1" ruleParameterType="{http:// www.ibm.com/acmfg-odm/examples/simpleschema}AirConditionerObject" ruleParameterDirection="INOUT" ruleParameterXPathExpression="$LocalEnvironment/ACObject" ruleParameterKind="xml"/>
26+
</nodes>
27+
<nodes xmi:type="ComIbmCompute.msgnode:FCMComposite_1" xmi:id="FCMComposite_1_7" location="901,221" computeExpression="esql://routine/#Flow_OPCUA_ODM_Compute1.Main">
28+
<translation xmi:type="utility:ConstantString" string="Compute1"/>
29+
</nodes>
30+
<connections xmi:type="eflow:FCMConnection" xmi:id="FCMConnection_1" targetNode="FCMComposite_1_2" sourceNode="FCMComposite_1_1" sourceTerminalName="OutTerminal.out" targetTerminalName="InTerminal.in"/>
31+
<connections xmi:type="eflow:FCMConnection" xmi:id="FCMConnection_2" targetNode="FCMComposite_1_1" sourceNode="FCMComposite_1_3" sourceTerminalName="OutTerminal.out" targetTerminalName="InTerminal.in"/>
32+
<connections xmi:type="eflow:FCMConnection" xmi:id="FCMConnection_4" targetNode="FCMComposite_1_6" sourceNode="FCMComposite_1_2" sourceTerminalName="OutTerminal.out" targetTerminalName="InTerminal.in"/>
33+
<connections xmi:type="eflow:FCMConnection" xmi:id="FCMConnection_6" targetNode="FCMComposite_1_7" sourceNode="FCMComposite_1_6" sourceTerminalName="OutTerminal.out" targetTerminalName="InTerminal.in"/>
34+
<connections xmi:type="eflow:FCMConnection" xmi:id="FCMConnection_7" targetNode="FCMComposite_1_4" sourceNode="FCMComposite_1_7" sourceTerminalName="OutTerminal.out" targetTerminalName="InTerminal.in"/>
35+
</composition>
36+
<propertyOrganizer/>
37+
<stickyBoard/>
38+
</eClassifiers>
39+
</ecore:EPackage>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
3+
CREATE COMPUTE MODULE Flow_OPCUA_ODM_Compute
4+
CREATE FUNCTION Main() RETURNS BOOLEAN
5+
BEGIN
6+
7+
DECLARE cins NAMESPACE 'com.ibm.acmfg.ClientItem/v1.0';
8+
DECLARE civns NAMESPACE 'com.ibm.acmfg.ClientItemValue/v1.0';
9+
DECLARE riens NAMESPACE 'com.ibm.acmfg.ReadItemEvent/v1.0';
10+
11+
12+
Declare VarTemp FLOAT;
13+
Declare VarHumidity FLOAT;
14+
15+
16+
DECLARE itemRef REFERENCE TO InputRoot.XMLNSC.riens:Items.riens:Item;
17+
18+
19+
WHILE LASTMOVE(itemRef) DO
20+
21+
DECLARE valueRef REFERENCE TO itemRef.cins:Value;
22+
DECLARE nameRef REFERENCE TO itemRef.cins:name;
23+
DECLARE T1 CHARACTER;
24+
DECLARE T2 CHARACTER;
25+
SET T1 = 'AC1_temperature';
26+
SET T2 = 'AC1_humidity';
27+
28+
IF (nameRef = T1 ) THEN
29+
SET VarTemp = itemRef.cins:Value.civns:Data;
30+
END IF;
31+
32+
IF (nameRef = T2) THEN
33+
SET VarHumidity = itemRef.cins:Value.civns:Data;
34+
END IF;
35+
36+
MOVE itemRef NEXTSIBLING;
37+
END WHILE;
38+
39+
40+
--Create the object as Input-Output parameter for the ODMRules node
41+
DECLARE refObject REFERENCE TO OutputLocalEnvironment.ACObject;
42+
CREATE LASTCHILD OF OutputLocalEnvironment AS refObject NAME 'ACObject';
43+
SET refObject.temperature = VarTemp;
44+
SET refObject.humidity = VarHumidity;
45+
SET refObject.status = 'OK' ;
46+
47+
RETURN TRUE;
48+
END;
49+
50+
CREATE PROCEDURE CopyMessageHeaders() BEGIN
51+
DECLARE I INTEGER 1;
52+
DECLARE J INTEGER;
53+
SET J = CARDINALITY(InputRoot.*[]);
54+
WHILE I < J DO
55+
SET OutputRoot.*[I] = InputRoot.*[I];
56+
SET I = I + 1;
57+
END WHILE;
58+
END;
59+
60+
CREATE PROCEDURE CopyEntireMessage() BEGIN
61+
SET OutputRoot = InputRoot;
62+
END;
63+
END MODULE;
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
3+
CREATE COMPUTE MODULE Flow_OPCUA_ODM_Compute1
4+
CREATE FUNCTION Main() RETURNS BOOLEAN
5+
BEGIN
6+
-- CALL CopyMessageHeaders();
7+
-- CALL CopyEntireMessage();
8+
9+
DECLARE tempObject REFERENCE TO InputLocalEnvironment.ACObject;
10+
11+
CREATE LASTCHILD OF OutputRoot.XMLNSC NAME 'StatusAC';
12+
DECLARE refObject REFERENCE TO OutputRoot.XMLNSC.StatusAC;
13+
14+
SET refObject.StatusACObject = tempObject;
15+
RETURN TRUE;
16+
END;
17+
18+
CREATE PROCEDURE CopyMessageHeaders() BEGIN
19+
DECLARE I INTEGER 1;
20+
DECLARE J INTEGER;
21+
SET J = CARDINALITY(InputRoot.*[]);
22+
WHILE I < J DO
23+
SET OutputRoot.*[I] = InputRoot.*[I];
24+
SET I = I + 1;
25+
END WHILE;
26+
END;
27+
28+
CREATE PROCEDURE CopyEntireMessage() BEGIN
29+
SET OutputRoot = InputRoot;
30+
END;
31+
END MODULE;

0 commit comments

Comments
 (0)