Merged branch EthernetIL back into trunk
This commit is contained in:
parent
9d0c136b08
commit
c06227db68
11 changed files with 461 additions and 155 deletions
|
@ -1,4 +1,4 @@
|
||||||
;CANoe Version |4|7|1|52129 MakeConfig
|
;CANoe Version |4|7|1|52133 MakeConfig
|
||||||
Version: 8.2.40 Build 40
|
Version: 8.2.40 Build 40
|
||||||
32 PRO
|
32 PRO
|
||||||
5
|
5
|
||||||
|
@ -2933,7 +2933,7 @@ End_Of_Object VGrMnBox 3
|
||||||
VDOLocalInfoStruct 3 Begin_Of_Object
|
VDOLocalInfoStruct 3 Begin_Of_Object
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
71
|
74
|
||||||
VDAOBus 4 Begin_Of_Object
|
VDAOBus 4 Begin_Of_Object
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -3063,7 +3063,7 @@ VSimulinkModelViewerConfiguration 7 Begin_Of_Object
|
||||||
End_Of_Object VSimulinkModelViewerConfiguration 7
|
End_Of_Object VSimulinkModelViewerConfiguration 7
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
3836594437
|
3737284963
|
||||||
0
|
0
|
||||||
NodeSignalPanelBustypeCount 0
|
NodeSignalPanelBustypeCount 0
|
||||||
End_Of_Object VSimulationNode 6
|
End_Of_Object VSimulationNode 6
|
||||||
|
@ -3101,7 +3101,7 @@ NULL
|
||||||
End_Of_Object VDOLocalInfoStruct 3
|
End_Of_Object VDOLocalInfoStruct 3
|
||||||
0.000000
|
0.000000
|
||||||
0 0
|
0 0
|
||||||
1 1 0 59420 1 233 1 2882400001 98 331 309 611 2882400002 0 0 0 0 0 0 1 2882400001 1270 1270 311 311 2882400002 0 0 0 576526008 0 344968884 3
|
1 1 0 59420 1 233 1 2882400001 98 331 309 611 2882400002 0 0 0 0 0 0 1 2882400001 1270 1270 311 311 2882400002 0 0 0 526434840 0 526135044 3
|
||||||
SS_BEGIN_COMMON_INFO
|
SS_BEGIN_COMMON_INFO
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
|
@ -3113,7 +3113,7 @@ Ethernet
|
||||||
11
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
575153512 1 0 1 0 0 1 0 0 0 2000 1
|
345908232 1 0 1 0 0 1 0 0 0 2000 1
|
||||||
SS_BEGIN_COMMON_INFO
|
SS_BEGIN_COMMON_INFO
|
||||||
1
|
1
|
||||||
3
|
3
|
||||||
|
@ -3224,7 +3224,7 @@ End_Of_Serialized_Data 2
|
||||||
End_Of_Object VWriteBox 2
|
End_Of_Object VWriteBox 2
|
||||||
VWinStore 2 Begin_Of_Object
|
VWinStore 2 Begin_Of_Object
|
||||||
1
|
1
|
||||||
22 2 3 -32088 -32000 -1 -1 -10088 -10000 -9070 -9233
|
22 2 3 -1 -1 -1 -1 -10088 -10000 -9070 -9233
|
||||||
End_Of_Child_List
|
End_Of_Child_List
|
||||||
End_Of_Object VWinStore 2
|
End_Of_Object VWinStore 2
|
||||||
VWinStore 2 Begin_Of_Object
|
VWinStore 2 Begin_Of_Object
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;CANoe Version |4|7|1|38832 ModbusNet
|
;CANoe Version |4|7|1|55200 ModbusNet
|
||||||
Version: 8.2.40 Build 40
|
Version: 8.2.40 Build 40
|
||||||
32 PRO
|
32 PRO
|
||||||
10
|
10
|
||||||
|
@ -4530,7 +4530,7 @@ VUniqueBox 4 Begin_Of_Object
|
||||||
VBoxRoot 5 Begin_Of_Object
|
VBoxRoot 5 Begin_Of_Object
|
||||||
1
|
1
|
||||||
3
|
3
|
||||||
0 0 0 1 -1 -1 -1 -1 0 0 890 487
|
0 0 0 1 -1 -1 -8 -30 0 0 890 487
|
||||||
|
|
||||||
1
|
1
|
||||||
|
|
||||||
|
@ -4538,7 +4538,7 @@ MDI_DOCK_INFO_END
|
||||||
5
|
5
|
||||||
1
|
1
|
||||||
6
|
6
|
||||||
0 1 -1 -1 -1 -1 0 0 890 487
|
0 1 -1 -1 -8 -30 0 0 890 487
|
||||||
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 32767 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0
|
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 32767 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0
|
||||||
END_OF_DOCK_INFO
|
END_OF_DOCK_INFO
|
||||||
1
|
1
|
||||||
|
@ -4597,7 +4597,7 @@ End_Of_Object VGrMnBox 3
|
||||||
VDOLocalInfoStruct 3 Begin_Of_Object
|
VDOLocalInfoStruct 3 Begin_Of_Object
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
183
|
187
|
||||||
VDAOBus 4 Begin_Of_Object
|
VDAOBus 4 Begin_Of_Object
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -4669,7 +4669,7 @@ VIPBAdapterSetting 9 Begin_Of_Object
|
||||||
02:4C:5C:2B:26:00
|
02:4C:5C:2B:26:00
|
||||||
End_Of_Serialized_Data 9
|
End_Of_Serialized_Data 9
|
||||||
9
|
9
|
||||||
192.168.1.3
|
192.168.1.2
|
||||||
End_Of_Serialized_Data 9
|
End_Of_Serialized_Data 9
|
||||||
9
|
9
|
||||||
255.255.255.0
|
255.255.255.0
|
||||||
|
@ -4687,7 +4687,7 @@ VPersistentAddress 12 Begin_Of_Object
|
||||||
End_Of_Object VPersistentAddress 12
|
End_Of_Object VPersistentAddress 12
|
||||||
End_Of_Object VPersistentIFAddress 11
|
End_Of_Object VPersistentIFAddress 11
|
||||||
10
|
10
|
||||||
192.168.1.3
|
192.168.1.2
|
||||||
End_Of_Serialized_Data 10
|
End_Of_Serialized_Data 10
|
||||||
10
|
10
|
||||||
255.255.255.0
|
255.255.255.0
|
||||||
|
@ -4787,11 +4787,6 @@ NDebugger::VFile 9 Begin_Of_Object
|
||||||
End_Of_Object NDebugger::VFile 9
|
End_Of_Object NDebugger::VFile 9
|
||||||
NDebugger::VFile 9 Begin_Of_Object
|
NDebugger::VFile 9 Begin_Of_Object
|
||||||
1
|
1
|
||||||
<VFileName V4 QL> 1 "include\CAPL\ModbusClient.can"
|
|
||||||
27
|
|
||||||
End_Of_Object NDebugger::VFile 9
|
|
||||||
NDebugger::VFile 9 Begin_Of_Object
|
|
||||||
1
|
|
||||||
<VFileName V4 QL> 1 "include\CAPL\include\Common.cin"
|
<VFileName V4 QL> 1 "include\CAPL\include\Common.cin"
|
||||||
28
|
28
|
||||||
End_Of_Object NDebugger::VFile 9
|
End_Of_Object NDebugger::VFile 9
|
||||||
|
@ -4825,6 +4820,11 @@ NDebugger::VFile 9 Begin_Of_Object
|
||||||
<VFileName V4 QL> 1 "include\CAPL\include\UdpCommon.cin"
|
<VFileName V4 QL> 1 "include\CAPL\include\UdpCommon.cin"
|
||||||
34
|
34
|
||||||
End_Of_Object NDebugger::VFile 9
|
End_Of_Object NDebugger::VFile 9
|
||||||
|
NDebugger::VFile 9 Begin_Of_Object
|
||||||
|
1
|
||||||
|
<VFileName V4 QL> 1 "include\CAPL\ModbusClient.can"
|
||||||
|
35
|
||||||
|
End_Of_Object NDebugger::VFile 9
|
||||||
VNETStandaloneComponent 9 Begin_Of_Object
|
VNETStandaloneComponent 9 Begin_Of_Object
|
||||||
1
|
1
|
||||||
VNETControlBox 10 Begin_Of_Object
|
VNETControlBox 10 Begin_Of_Object
|
||||||
|
@ -4901,7 +4901,7 @@ End_Of_Object VUniqueBox 11
|
||||||
1 -1 0 0 0 0 0 0 0 0 0 0
|
1 -1 0 0 0 0 0 0 0 0 0 0
|
||||||
0
|
0
|
||||||
End_Of_Object VNETControlBox 10
|
End_Of_Object VNETControlBox 10
|
||||||
114
|
156
|
||||||
APPDIR Vector.CANoe.Debugger.DLL
|
APPDIR Vector.CANoe.Debugger.DLL
|
||||||
Vector.CANoe.Debugger, Version=8.2.40.0, Culture=neutral, PublicKeyToken=null
|
Vector.CANoe.Debugger, Version=8.2.40.0, Culture=neutral, PublicKeyToken=null
|
||||||
Vector.CANoe.Debugger.DebuggerComponent
|
Vector.CANoe.Debugger.DebuggerComponent
|
||||||
|
@ -4943,16 +4943,58 @@ TypeRef:3
|
||||||
3
|
3
|
||||||
Int32
|
Int32
|
||||||
NrOfFiles
|
NrOfFiles
|
||||||
1
|
8
|
||||||
Int32
|
Int32
|
||||||
FileID0
|
FileID0
|
||||||
27
|
35
|
||||||
Int32
|
Int32
|
||||||
CurrentLine0
|
CurrentLine0
|
||||||
0
|
0
|
||||||
Int32
|
Int32
|
||||||
|
FileID1
|
||||||
|
28
|
||||||
|
Int32
|
||||||
|
CurrentLine1
|
||||||
|
0
|
||||||
|
Int32
|
||||||
|
FileID2
|
||||||
|
29
|
||||||
|
Int32
|
||||||
|
CurrentLine2
|
||||||
|
0
|
||||||
|
Int32
|
||||||
|
FileID3
|
||||||
|
30
|
||||||
|
Int32
|
||||||
|
CurrentLine3
|
||||||
|
0
|
||||||
|
Int32
|
||||||
|
FileID4
|
||||||
|
31
|
||||||
|
Int32
|
||||||
|
CurrentLine4
|
||||||
|
0
|
||||||
|
Int32
|
||||||
|
FileID5
|
||||||
|
32
|
||||||
|
Int32
|
||||||
|
CurrentLine5
|
||||||
|
0
|
||||||
|
Int32
|
||||||
|
FileID6
|
||||||
|
33
|
||||||
|
Int32
|
||||||
|
CurrentLine6
|
||||||
|
0
|
||||||
|
Int32
|
||||||
|
FileID7
|
||||||
|
34
|
||||||
|
Int32
|
||||||
|
CurrentLine7
|
||||||
|
0
|
||||||
|
Int32
|
||||||
SelectedFileID
|
SelectedFileID
|
||||||
27
|
35
|
||||||
Int32
|
Int32
|
||||||
NrOfWatchedVariables
|
NrOfWatchedVariables
|
||||||
0
|
0
|
||||||
|
@ -5040,7 +5082,7 @@ VSimulinkModelViewerConfiguration 7 Begin_Of_Object
|
||||||
End_Of_Object VSimulinkModelViewerConfiguration 7
|
End_Of_Object VSimulinkModelViewerConfiguration 7
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
741650535
|
1202903787
|
||||||
0
|
0
|
||||||
NodeSignalPanelBustypeCount 0
|
NodeSignalPanelBustypeCount 0
|
||||||
End_Of_Object VSimulationNode 6
|
End_Of_Object VSimulationNode 6
|
||||||
|
@ -5073,7 +5115,7 @@ VBoxRoot 9 Begin_Of_Object
|
||||||
1
|
1
|
||||||
3
|
3
|
||||||
1 1 2 3 -1 -1 -8 -30 114 0 1146 491
|
1 1 2 3 -1 -1 -8 -30 114 0 1146 491
|
||||||
|
Ethernet Packet Builder
|
||||||
1
|
1
|
||||||
|
|
||||||
MDI_DOCK_INFO_END
|
MDI_DOCK_INFO_END
|
||||||
|
@ -5150,106 +5192,8 @@ EOF_MBSSDATA
|
||||||
1
|
1
|
||||||
0 0
|
0 0
|
||||||
<IPPlugIn.PacketBuilder DefaultBusProtocolId="256" DefaultDestMacIdSelection="107" DefaultDestinationIPAddress="192 . 168 . 1 . 100" DefaultDestinationIPv6Address="0:0:0:0:0:0:0:0" DefaultDestinationMacId="FF:FF:FF:FF:FF:FF" DefaultDestinationPort="502" DefaultSourceIPAddress="192 . 168 . 1 . 10" DefaultSourceIPv6Address="0:0:0:0:0:0:0:0" DefaultSourceMacId="02:00:4C:4F:4F:50" DefaultSourcePort="2000" DefaultSrcMacIdSelection="1" Name="Ethernet Packet Builder">
|
<IPPlugIn.PacketBuilder DefaultBusProtocolId="256" DefaultDestMacIdSelection="107" DefaultDestinationIPAddress="192 . 168 . 1 . 100" DefaultDestinationIPv6Address="0:0:0:0:0:0:0:0" DefaultDestinationMacId="FF:FF:FF:FF:FF:FF" DefaultDestinationPort="502" DefaultSourceIPAddress="192 . 168 . 1 . 10" DefaultSourceIPv6Address="0:0:0:0:0:0:0:0" DefaultSourceMacId="02:00:4C:4F:4F:50" DefaultSourcePort="2000" DefaultSrcMacIdSelection="1" Name="Ethernet Packet Builder">
|
||||||
<IPPlugIn.VPersistentFrameWrapper AssignedChannelId="Eth 1" DestMacIdConfStateSel="111" FrameDescription="Read Coils 1-512" FrameIsValid="1" InitialPacketType="4" PDBData="3 0 1651797619 1 3 1 1651797619 1 10 1 1651797619 1 8 0 1651797619 1 11 0 1651797619 1 4 0 1651797619 1 5 0 1651797619 1 5 1 1651797619 1 9 1 1651797619 1 " RawFrameData=" 0-30-de- 7-9a-fd- 0-19-db-cb-83-dd- 8- 0-45- 0- 0-34- 0- 0- 0- 0-40- 6-f7-6f-c0-a8- 1- 1-c0-a8- 1- 3-d5-66- 1-f6- 0- 0- 0- 0- 0- 0- 0- 0-50- 0-fa-15-59- 9- 0- 0- 0- 2- 0- 0- 0- 6- 0- 1- 0- 0- 1-ff-" RawFrameLength="66" SrcMacIdConfStateSel="105" WlanAddr1MacIdConfStateSel="111" WlanAddr2MacIdConfStateSel="111" WlanAddr3MacIdConfStateSel="111" WlanAddr4MacIdConfStateSel="111"/>
|
<IPPlugIn.VPersistentFrameWrapper AssignedChannelId="Eth 1" DestMacIdConfStateSel="111" FrameDescription="Read Coils 1-512" FrameIsValid="1" InitialPacketType="4" PDBData="5 0 1651797619 1 9 1 1651797619 1 5 1 1651797619 1 4 0 1651797619 1 11 0 1651797619 1 8 0 1651797619 1 3 0 1651797619 1 10 1 1651797619 1 3 1 1651797619 1 " RawFrameData=" 0-30-de- 7-9a-fd- 0-19-db-cb-83-dd- 8- 0-45- 0- 0-34- 0- 0- 0- 0-40- 6-f7-6f-c0-a8- 1- 1-c0-a8- 1- 3-d5-66- 1-f6- 0- 0- 0- 0- 0- 0- 0- 0-50- 0-fa-15-59- 9- 0- 0- 0- 2- 0- 0- 0- 6- 0- 1- 0- 0- 1-ff-" RawFrameLength="66" SrcMacIdConfStateSel="105" WlanAddr1MacIdConfStateSel="111" WlanAddr2MacIdConfStateSel="111" WlanAddr3MacIdConfStateSel="111" WlanAddr4MacIdConfStateSel="111"/>
|
||||||
<IPPlugIn.VPersistentFrameWrapper AssignedChannelId="Eth 1" DestMacIdConfStateSel="111" FrameDescription="" FrameIsValid="1" InitialPacketType="4" PDBData="5 0 1651797619 1 9 1 1651797619 1 5 1 1651797619 1 4 0 1651797619 1 11 0 1651797619 1 8 0 1651797619 1 3 0 1651797619 1 10 1 1651797619 1 3 1 1651797619 1 " RawFrameData=" 0-30-de- 7-9a-fd- 0-19-db-cb-83-dd- 8- 0-45- 0- 0-34- 1-6e-40- 0-80- 6-76- 1-c0-a8- 1- 1-c0-a8- 1- 3-d5-69- 1-f6-18-f0-66-10-dc-70-88-e2-50-18-fa-f0-73-bf- 0- 0- 0- 2- 0- 0- 0- 6- 0- 1- 0- 0- 1-ff-" RawFrameLength="66" SrcMacIdConfStateSel="111" WlanAddr1MacIdConfStateSel="111" WlanAddr2MacIdConfStateSel="111" WlanAddr3MacIdConfStateSel="111" WlanAddr4MacIdConfStateSel="111"/>
|
<IPPlugIn.VPersistentFrameWrapper AssignedChannelId="Eth 1" DestMacIdConfStateSel="111" FrameDescription="" FrameIsValid="1" InitialPacketType="4" PDBData="3 0 1651797619 1 3 1 1651797619 1 10 1 1651797619 1 8 0 1651797619 1 11 0 1651797619 1 4 0 1651797619 1 5 0 1651797619 1 5 1 1651797619 1 9 1 1651797619 1 " RawFrameData=" 0-30-de- 7-9a-fd- 0-19-db-cb-83-dd- 8- 0-45- 0- 0-34- 1-6e-40- 0-80- 6-76- 1-c0-a8- 1- 1-c0-a8- 1- 3-d5-69- 1-f6-18-f0-66-10-dc-70-88-e2-50-18-fa-f0-73-bf- 0- 0- 0- 2- 0- 0- 0- 6- 0- 1- 0- 0- 1-ff-" RawFrameLength="66" SrcMacIdConfStateSel="111" WlanAddr1MacIdConfStateSel="111" WlanAddr2MacIdConfStateSel="111" WlanAddr3MacIdConfStateSel="111" WlanAddr4MacIdConfStateSel="111"/>
|
||||||
<IPPlugIn.SE id="102" intVal="0" key="1919247220"/>
|
|
||||||
<IPPlugIn.SE id="102" index="1" intVal="466" key="1919247220"/>
|
|
||||||
<IPPlugIn.SE id="102" index="2" intVal="0" key="1919247220"/>
|
|
||||||
<IPPlugIn.SE id="102" index="3" intVal="1188" key="1919247220"/>
|
|
||||||
<IPPlugIn.SE id="102" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="102" intVal="199" key="1936292453"/>
|
|
||||||
<IPPlugIn.SE id="102" intVal="437" key="1920231791"/>
|
|
||||||
<IPPlugIn.SE id="1004" intVal="1145393987" key="1952540511"/>
|
|
||||||
<IPPlugIn.SE id="1004" intVal="1" key="1986622303"/>
|
|
||||||
<IPPlugIn.SE id="1004" intVal="218" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="1" intVal="1397708114" key="1952540511"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="1" intVal="1" key="1986622303"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="1" intVal="156" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="2" intVal="1145394004" key="1952540511"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="2" intVal="1" key="1986622303"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="2" intVal="156" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="3" intVal="1347571540" key="1952540511"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="3" intVal="1" key="1986622303"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="18" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="19" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="20" intVal="1" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="20" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="19" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="18" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="3" intVal="125" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="4" intVal="1397316165" key="1952540511"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="4" intVal="1" key="1986622303"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="4" intVal="108" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="5" intVal="1348029508" key="1952540511"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="5" intVal="1" key="1986622303"/>
|
|
||||||
<IPPlugIn.SE id="1004" index="5" intVal="108" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="1004" intVal="0" key="1886352249"/>
|
|
||||||
<IPPlugIn.SE id="1004" intVal="0" key="1886352248"/>
|
|
||||||
<IPPlugIn.SE id="1004" intVal="-1" key="7499639"/>
|
|
||||||
<IPPlugIn.SE id="125" intVal="-1" key="7562604"/>
|
|
||||||
<IPPlugIn.SE id="102" index="1" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="102" index="1" intVal="163" key="1936292453"/>
|
|
||||||
<IPPlugIn.SE id="102" index="1" intVal="397" key="1920231791"/>
|
|
||||||
<IPPlugIn.SE id="1005" intVal="0" key="1886352249"/>
|
|
||||||
<IPPlugIn.SE id="1005" intVal="0" key="1886352248"/>
|
|
||||||
<IPPlugIn.SE id="1005" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="1" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="1" intVal="1" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="2" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="2" index="1" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="2" index="2" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="2" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="2" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="3" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="3" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="4" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="4" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="5" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="5" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="6" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="6" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="7" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="7" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="8" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="8" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="9" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="9" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="3" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="1" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="2" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="3" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="4" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="5" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="6" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="7" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="8" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="9" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="10" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="3" index="11" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="10" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="10" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="11" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="11" intVal="1" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="12" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="12" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="13" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="13" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="14" intVal="0" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="14" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="15" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="15" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="16" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="16" intVal="0" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="17" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="1005" index="17" intVal="1" key="1633907830"/>
|
|
||||||
<IPPlugIn.SE id="102" index="2" intVal="1" key="1702391908"/>
|
|
||||||
<IPPlugIn.SE id="102" index="2" intVal="67" key="1936292453"/>
|
|
||||||
<IPPlugIn.SE id="102" index="2" intVal="164" key="1920231791"/>
|
|
||||||
<IPPlugIn.SE id="127" intVal="0" key="1651534958"/>
|
|
||||||
<IPPlugIn.SE id="1003" intVal="0" key="1886352249"/>
|
|
||||||
<IPPlugIn.SE id="1003" intVal="0" key="1886352248"/>
|
|
||||||
<IPPlugIn.SE id="1003" intVal="0" key="2003072104"/>
|
|
||||||
<IPPlugIn.SE id="4" intVal="0" key="1702391908"/>
|
<IPPlugIn.SE id="4" intVal="0" key="1702391908"/>
|
||||||
<IPPlugIn.SE id="4" index="1" intVal="0" key="1702391908"/>
|
<IPPlugIn.SE id="4" index="1" intVal="0" key="1702391908"/>
|
||||||
<IPPlugIn.SE id="4" index="2" intVal="0" key="1702391908"/>
|
<IPPlugIn.SE id="4" index="2" intVal="0" key="1702391908"/>
|
||||||
|
@ -5260,6 +5204,104 @@ EOF_MBSSDATA
|
||||||
<IPPlugIn.SE id="4" index="7" intVal="0" key="1702391908"/>
|
<IPPlugIn.SE id="4" index="7" intVal="0" key="1702391908"/>
|
||||||
<IPPlugIn.SE id="4" index="8" intVal="0" key="1702391908"/>
|
<IPPlugIn.SE id="4" index="8" intVal="0" key="1702391908"/>
|
||||||
<IPPlugIn.SE id="4" index="9" intVal="0" key="1702391908"/>
|
<IPPlugIn.SE id="4" index="9" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1003" intVal="0" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1003" intVal="0" key="1886352248"/>
|
||||||
|
<IPPlugIn.SE id="1003" intVal="0" key="1886352249"/>
|
||||||
|
<IPPlugIn.SE id="127" intVal="0" key="1651534958"/>
|
||||||
|
<IPPlugIn.SE id="3" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="1" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="102" index="2" intVal="164" key="1920231791"/>
|
||||||
|
<IPPlugIn.SE id="102" index="2" intVal="67" key="1936292453"/>
|
||||||
|
<IPPlugIn.SE id="102" index="2" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="2" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="3" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="4" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="5" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="6" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="7" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="8" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="9" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="10" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="11" intVal="1" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="12" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="13" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="14" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="15" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="16" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="17" intVal="1" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="17" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="16" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="15" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="14" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="13" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="12" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="11" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="10" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="10" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="3" index="11" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="2" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="2" index="1" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="2" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="3" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="4" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="5" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="6" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="7" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="8" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="9" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="9" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="8" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="7" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="6" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="5" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="4" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="3" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="2" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="2" index="2" intVal="0" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="1" intVal="1" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="1" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" intVal="0" key="1886352248"/>
|
||||||
|
<IPPlugIn.SE id="1005" intVal="0" key="1886352249"/>
|
||||||
|
<IPPlugIn.SE id="125" intVal="-1" key="7562604"/>
|
||||||
|
<IPPlugIn.SE id="102" index="1" intVal="397" key="1920231791"/>
|
||||||
|
<IPPlugIn.SE id="102" index="1" intVal="163" key="1936292453"/>
|
||||||
|
<IPPlugIn.SE id="102" index="1" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1004" intVal="-1" key="7499639"/>
|
||||||
|
<IPPlugIn.SE id="1004" intVal="0" key="1886352248"/>
|
||||||
|
<IPPlugIn.SE id="1004" intVal="0" key="1886352249"/>
|
||||||
|
<IPPlugIn.SE id="1004" intVal="218" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="1" intVal="156" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="2" intVal="156" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="3" intVal="125" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="4" intVal="108" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="5" intVal="108" key="2003072104"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="5" intVal="1" key="1986622303"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="5" intVal="1348029508" key="1952540511"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="4" intVal="1" key="1986622303"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="4" intVal="1397316165" key="1952540511"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="3" intVal="1" key="1986622303"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="3" intVal="1347571540" key="1952540511"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="2" intVal="1" key="1986622303"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="2" intVal="1145394004" key="1952540511"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="1" intVal="1" key="1986622303"/>
|
||||||
|
<IPPlugIn.SE id="1004" index="1" intVal="1397708114" key="1952540511"/>
|
||||||
|
<IPPlugIn.SE id="1004" intVal="1" key="1986622303"/>
|
||||||
|
<IPPlugIn.SE id="1004" intVal="1145393987" key="1952540511"/>
|
||||||
|
<IPPlugIn.SE id="102" intVal="437" key="1920231791"/>
|
||||||
|
<IPPlugIn.SE id="102" intVal="199" key="1936292453"/>
|
||||||
|
<IPPlugIn.SE id="102" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="102" intVal="0" key="1919247220"/>
|
||||||
|
<IPPlugIn.SE id="102" index="1" intVal="466" key="1919247220"/>
|
||||||
|
<IPPlugIn.SE id="102" index="2" intVal="0" key="1919247220"/>
|
||||||
|
<IPPlugIn.SE id="102" index="3" intVal="1188" key="1919247220"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="18" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="18" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="19" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="19" intVal="0" key="1633907830"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="20" intVal="1" key="1702391908"/>
|
||||||
|
<IPPlugIn.SE id="1005" index="20" intVal="1" key="1633907830"/>
|
||||||
</IPPlugIn.PacketBuilder>
|
</IPPlugIn.PacketBuilder>
|
||||||
End_Of_Object VSSPlugInConfiguration 6
|
End_Of_Object VSSPlugInConfiguration 6
|
||||||
NULL
|
NULL
|
||||||
|
@ -5295,7 +5337,7 @@ NULL
|
||||||
End_Of_Object VDOLocalInfoStruct 3
|
End_Of_Object VDOLocalInfoStruct 3
|
||||||
0.000000
|
0.000000
|
||||||
0 0
|
0 0
|
||||||
1 1 0 59420 1 233 1 2882400001 323 556 331 782 2882400002 0 0 0 0 0 0 1 2882400001 1197 1197 333 333 2882400002 0 0 0 1630953112 0 0 3
|
1 1 0 59420 1 233 1 2882400001 323 556 331 782 2882400002 0 0 0 0 0 0 1 2882400001 1197 1197 333 333 2882400002 0 0 0 346407864 0 345757012 3
|
||||||
SS_BEGIN_COMMON_INFO
|
SS_BEGIN_COMMON_INFO
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
|
@ -5307,7 +5349,7 @@ Ether1
|
||||||
11
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
574156496 1 0 1 0 1 1 0 0 0 2000 1
|
525967224 1 0 1 0 1 1 0 0 0 2000 1
|
||||||
SS_BEGIN_COMMON_INFO
|
SS_BEGIN_COMMON_INFO
|
||||||
1
|
1
|
||||||
3
|
3
|
||||||
|
|
|
@ -47,6 +47,7 @@ on preStart
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Scan a range of IPs for devices. Start and Stop go here
|
// Scan a range of IPs for devices. Start and Stop go here
|
||||||
|
// Please note: Currelty .255 will be skipped!
|
||||||
strncpy(gScanFirstIp, "192.168.1.1", 16);
|
strncpy(gScanFirstIp, "192.168.1.1", 16);
|
||||||
strncpy(gScanLastIp, "192.168.1.10", 16);
|
strncpy(gScanLastIp, "192.168.1.10", 16);
|
||||||
|
|
||||||
|
@ -107,16 +108,20 @@ void DetectDevicesNext()
|
||||||
{
|
{
|
||||||
gScanFirst &= 0x000000FF;
|
gScanFirst &= 0x000000FF;
|
||||||
gScanFirst += 0x00000001;
|
gScanFirst += 0x00000001;
|
||||||
|
write("%d.%d.%d.%d ", gScanFirst & 0xFF, (gScanFirst >> 8) & 0xFF, (gScanFirst >> 16) & 0xFF, gScanFirst >> 24);
|
||||||
}
|
}
|
||||||
else if ((gScanFirst & 0xFFFF0000) == 0xFEFF0000)
|
else if ((gScanFirst & 0xFFFF0000) == 0xFEFF0000)
|
||||||
{
|
{
|
||||||
gScanFirst &= 0x0000FFF;
|
gScanFirst &= 0x0000FFF;
|
||||||
gScanFirst += 0x00000100;
|
gScanFirst += 0x00000100;
|
||||||
|
write("%d.%d.%d.%d ", gScanFirst & 0xFF, (gScanFirst >> 8) & 0xFF, (gScanFirst >> 16) & 0xFF, gScanFirst >> 24);
|
||||||
}
|
}
|
||||||
else if ((gScanFirst & 0xFF000000) == 0xFE000000)
|
else if ((gScanFirst & 0xFF000000) == 0xFE000000)
|
||||||
{
|
{
|
||||||
gScanFirst &= 0x00FFFFFF;
|
gScanFirst &= 0x00FFFFFF;
|
||||||
gScanFirst += 0x00010000;
|
gScanFirst += 0x00010000;
|
||||||
|
|
||||||
|
write("%d.%d.%d.%d ", gScanFirst & 0xFF, (gScanFirst >> 8) & 0xFF, (gScanFirst >> 16) & 0xFF, gScanFirst >> 24);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -128,6 +133,7 @@ void DetectDevicesNext()
|
||||||
MakeIpNets();
|
MakeIpNets();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
writeEx(0, 1, ".");
|
||||||
gRemoteIP = gScanFirst; // Don't open new socket, it takes too much time.
|
gRemoteIP = gScanFirst; // Don't open new socket, it takes too much time.
|
||||||
ModbusReadBits(0, 1);
|
ModbusReadBits(0, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
includes
|
includes
|
||||||
{
|
{
|
||||||
#include "include\ModbusUdpClientCommon.cin"
|
#include "include\ModbusEilClientCommon.cin"
|
||||||
#include "include\ModbusFunctions.cin"
|
#include "include\ModbusFunctions.cin"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
155
Modbus/include/CAPL/include/EilCommon.cin
Normal file
155
Modbus/include/CAPL/include/EilCommon.cin
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
/*@!Encoding:1252*/
|
||||||
|
includes
|
||||||
|
{
|
||||||
|
#include "Common.cin"
|
||||||
|
#include "TcpUdpCommon.cin"
|
||||||
|
}
|
||||||
|
|
||||||
|
variables
|
||||||
|
{
|
||||||
|
long gPacket;
|
||||||
|
|
||||||
|
byte gLocalMac[6];
|
||||||
|
byte gRemoteMac[6];
|
||||||
|
dword gLocalIP = 0xC0A80101;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
word EilConnectTo(char Remote_IP[], word remotePort)
|
||||||
|
{
|
||||||
|
dword remoteIp;
|
||||||
|
|
||||||
|
// Convert IP string to Number
|
||||||
|
remoteIp = IpGetAddressAsNumber(Remote_IP);
|
||||||
|
if (remoteIp == INVALID_IP)
|
||||||
|
{
|
||||||
|
writeLineEx(0, 1, "<%NODE_NAME%> Error: invalid server Ip address!");
|
||||||
|
|
||||||
|
return ipGetLastError();
|
||||||
|
}
|
||||||
|
|
||||||
|
return EilConnectTo(remoteIp, remotePort);
|
||||||
|
}
|
||||||
|
|
||||||
|
word EilConnectTo(dword remoteIp, word remotePort)
|
||||||
|
{
|
||||||
|
long error;
|
||||||
|
byte broadcastMac[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
|
||||||
|
|
||||||
|
if (EthGetMacId(gLocalMac) != 0)
|
||||||
|
{
|
||||||
|
gSocketState = ERROR;
|
||||||
|
error = EthGetLastError();
|
||||||
|
writeLineEx(0, 3, "<%NODE_NAME%> EthGetMacId Error: Could not get local MAC! %d", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TCP/IP API gives IP in little endian but EIL uses big endian
|
||||||
|
gRemotePort = remotePort;
|
||||||
|
gRemoteIP = (remoteIp >> 24) | (remoteIp >> 8) & 0x0000FF00 | (remoteIp << 8) & 0x00FF0000 | (remoteIp << 24);
|
||||||
|
|
||||||
|
if (gPacket != 0)
|
||||||
|
ModbusDisconnect();
|
||||||
|
// Try to create an ARP packet that gets the MAC from remote server
|
||||||
|
gPacket = EthInitPacket("arp");
|
||||||
|
if (gPacket == 0)
|
||||||
|
{
|
||||||
|
gSocketState = ERROR;
|
||||||
|
error = EthGetLastError();
|
||||||
|
writeLineEx(0, 3, "<%NODE_NAME%> EthInitPacket Error: Could not create ARP package! %d", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
EthSetTokenData(gPacket, "eth", "source" , elCount(gLocalMac), gLocalMac);
|
||||||
|
EthSetTokenData(gPacket, "eth", "destination" , elCount(broadcastMac), broadcastMac);
|
||||||
|
EthSetTokenInt(gPacket, "arp", "hwType" , 1); // Ethernet
|
||||||
|
EthSetTokenInt(gPacket, "arp", "protType" , 0x0800); // IPv4
|
||||||
|
EthSetTokenInt(gPacket, "arp", "hwSize" , 6); // Ethernet addr size
|
||||||
|
EthSetTokenInt(gPacket, "arp", "protSize" , 4); // IP addr size
|
||||||
|
EthSetTokenInt(gPacket, "arp", "operation" , 1);
|
||||||
|
EthSetTokenData(gPacket, "arp", "hwSourceAddr" , elCount(gLocalMac), gLocalMac);
|
||||||
|
EthSetTokenInt(gPacket, "arp", "protSourceAddr" , gLocalIP);
|
||||||
|
//EthSetTokenData(gPacket, "arp", "hwDestinationAddr" , elCount(gLocalMac), gLocalMac);
|
||||||
|
EthSetTokenInt(gPacket, "arp", "protDestinationAddr" , gRemoteIP);
|
||||||
|
|
||||||
|
EthReceivePacket("OnEthReceivePacket");
|
||||||
|
|
||||||
|
EthCompletePacket(gPacket);
|
||||||
|
EthOutputPacket(gPacket);
|
||||||
|
EthReleasePacket(gPacket);
|
||||||
|
gSocketState = NULL;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EilConnectTo2()
|
||||||
|
{
|
||||||
|
gPacket = EthInitPacket("udp");
|
||||||
|
if (gPacket == 0)
|
||||||
|
{
|
||||||
|
gSocketState = ERROR;
|
||||||
|
writeLineEx(0, 3, "<%NODE_NAME%> EthInitPacket Error: Could not create udp packet: %d", EthGetLastError());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
EthSetTokenData(gPacket, "eth", "source" , elCount(gLocalMac), gLocalMac);
|
||||||
|
EthSetTokenData(gPacket, "eth", "destination" , elCount(gRemoteMac), gRemoteMac);
|
||||||
|
EthSetTokenInt(gPacket, "ipv4", "source" , gLocalIP);
|
||||||
|
EthSetTokenInt(gPacket, "ipv4", "destination" , gRemoteIP);
|
||||||
|
EthSetTokenInt(gPacket, "udp", "source" , 23456);
|
||||||
|
EthSetTokenInt(gPacket, "udp", "destination" , 502);
|
||||||
|
|
||||||
|
gSocketState = OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EilDisconnect()
|
||||||
|
{
|
||||||
|
if (gPacket != 0)
|
||||||
|
{
|
||||||
|
EthReleasePacket(gPacket);
|
||||||
|
gPacket = 0;
|
||||||
|
}
|
||||||
|
gSocketState = CLOSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EilRecv()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
byte EilSnd(byte buffer[], word length)
|
||||||
|
{
|
||||||
|
//char str[20*3];
|
||||||
|
|
||||||
|
switch (gSocketState)
|
||||||
|
{
|
||||||
|
case CLOSED:
|
||||||
|
EilConnectTo(gRemoteIP, gRemotePort);
|
||||||
|
if (gSocketState != OK)
|
||||||
|
{
|
||||||
|
writeLineEx(0, 2, "EilSnd: Reconnecting failed!");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
case OK:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
writeLineEx(0, 2, "EilSnd: Socket status is not OK!");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//bin_to_strhex(buffer, str);
|
||||||
|
//writeLineEx(0, 1, "<%NODE_NAME%> EilSnd: %s (Länge: %d)", str, length);
|
||||||
|
|
||||||
|
EthResizeToken(gPacket, "udp", "data" , length*8);
|
||||||
|
EthSetTokenData(gPacket, "udp", "data" , length, buffer);
|
||||||
|
|
||||||
|
EthCompletePacket(gPacket);
|
||||||
|
EthOutputPacket(gPacket);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
long EilGetLastConnectionError(char string[])
|
||||||
|
{
|
||||||
|
EthGetLastErrorText(elCount(string), string);
|
||||||
|
return EthGetLastError();
|
||||||
|
}
|
|
@ -461,9 +461,8 @@ void OnModbusReceive(dword socket, long result, dword address, dword port, byte
|
||||||
if (size == 0)
|
if (size == 0)
|
||||||
{
|
{
|
||||||
// Size of zero indicates that the socket was closed by the communication peer.
|
// Size of zero indicates that the socket was closed by the communication peer.
|
||||||
writeLineEx(0, 2, "<%NODE_NAME%> OnTcpReceive: Socket closed by peer");
|
writeLineEx(0, 2, "<%NODE_NAME%> OnModbusReceive: Socket closed by peer");
|
||||||
gSocket.Close();
|
ModbusDisconnect();
|
||||||
gSocketState = CLOSED;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -473,11 +472,9 @@ void OnModbusReceive(dword socket, long result, dword address, dword port, byte
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gIpLastErr = gSocket.GetLastSocketError();
|
gIpLastErr = ModbusGetLastConnectionError(gIpLastErrStr);
|
||||||
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr));
|
writeLineEx(0, 2, "<%NODE_NAME%> OnModbusReceive error (%d): %s", gIpLastErr, gIpLastErrStr);
|
||||||
writeLineEx(0, 2, "<%NODE_NAME%> OnTcpReceive error (%d): %s", gIpLastErr, gIpLastErrStr);
|
ModbusDisconnect();
|
||||||
gSocket.Close();
|
|
||||||
gSocketState = CLOSED;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -743,11 +740,12 @@ on timer gtRobin
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
ModbusSnd(gQueuePending[TxID].Buffer, gQueuePending[TxID].Length); // send packet
|
if (ModbusSnd(gQueuePending[TxID].Buffer, gQueuePending[TxID].Length) == 0) // if packet was sent
|
||||||
|
{
|
||||||
memcpy(gQueueSent[TxID], gQueuePending[TxID]); // move packet to sent queue
|
memcpy(gQueueSent[TxID], gQueuePending[TxID]); // move packet to sent queue
|
||||||
gQueuePending.Remove(TxID);
|
gQueuePending.Remove(TxID);
|
||||||
ModbusRecv();
|
ModbusRecv();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gQueueSent.Size() == 0) // Stop timer to reduce latency of first packet
|
if (gQueueSent.Size() == 0) // Stop timer to reduce latency of first packet
|
||||||
|
|
59
Modbus/include/CAPL/include/ModbusEilClientCommon.cin
Normal file
59
Modbus/include/CAPL/include/ModbusEilClientCommon.cin
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/*@!Encoding:1252*/
|
||||||
|
|
||||||
|
includes
|
||||||
|
{
|
||||||
|
#include "EilCommon.cin"
|
||||||
|
#include "ModbusClientCommon.cin"
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModbusConnectTo(char Remote_IP[], word Remote_Port)
|
||||||
|
{
|
||||||
|
EilConnectTo(Remote_IP, Remote_Port);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModbusConnectTo(dword Remote_IP, word Remote_Port)
|
||||||
|
{
|
||||||
|
EilConnectTo(Remote_IP, Remote_Port);
|
||||||
|
}
|
||||||
|
|
||||||
|
byte ModbusSnd(byte buffer[], word length)
|
||||||
|
{
|
||||||
|
return EilSnd(buffer, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModbusRecv()
|
||||||
|
{
|
||||||
|
EilRecv();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModbusDisconnect()
|
||||||
|
{
|
||||||
|
EilDisconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
long ModbusGetLastConnectionError(char string[])
|
||||||
|
{
|
||||||
|
return EilGetLastConnectionError(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnEthReceivePacket(long channel, long dir, long packet)
|
||||||
|
{
|
||||||
|
byte buffer[gMaxPacketLength];
|
||||||
|
long size;
|
||||||
|
|
||||||
|
if (dir == TX)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (EthGetTokenInt(packet, "arp", "protSourceAddr") == gRemoteIP) // this was our ARP package
|
||||||
|
{
|
||||||
|
if (EthGetTokenData(packet, "arp", "hwSourceAddr", elCount(gRemoteMac), gRemoteMac) == 6)
|
||||||
|
{
|
||||||
|
write("remote Mac: %02X:%02X:%02X:%02X:%02X:%02X", gRemoteMac[0], gRemoteMac[1], gRemoteMac[2], gRemoteMac[3], gRemoteMac[4], gRemoteMac[5]);
|
||||||
|
EilConnectTo2(); // create the UDP package
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
size = EthGetThisData(0, gMaxPacketLength, buffer);
|
||||||
|
OnModbusReceive(0, 0, EthGetTokenInt(packet, "ipv4", "source"), EthGetTokenInt(packet, "udp", "source"), buffer, size);
|
||||||
|
}
|
|
@ -16,9 +16,14 @@ void ModbusConnectTo(dword Remote_IP, word Remote_Port)
|
||||||
TcpConnectTo(Remote_IP, Remote_Port);
|
TcpConnectTo(Remote_IP, Remote_Port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModbusSnd(byte buffer[], word length)
|
void ModbusDisconnect()
|
||||||
{
|
{
|
||||||
TcpSnd(buffer, length);
|
TcpDisconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
byte ModbusSnd(byte buffer[], word length)
|
||||||
|
{
|
||||||
|
return TcpSnd(buffer, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModbusRecv()
|
void ModbusRecv()
|
||||||
|
@ -26,6 +31,11 @@ void ModbusRecv()
|
||||||
TcpRecv();
|
TcpRecv();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long ModbusGetLastConnectionError(char string[])
|
||||||
|
{
|
||||||
|
return TcpGetLastConnectionError(string);
|
||||||
|
}
|
||||||
|
|
||||||
void OnTcpReceive(dword socket, long result, dword address, dword port, byte buffer[], dword size)
|
void OnTcpReceive(dword socket, long result, dword address, dword port, byte buffer[], dword size)
|
||||||
{
|
{
|
||||||
OnModbusReceive(socket, result, address, port, buffer, size);
|
OnModbusReceive(socket, result, address, port, buffer, size);
|
||||||
|
|
|
@ -16,9 +16,14 @@ void ModbusConnectTo(dword Remote_IP, word Remote_Port)
|
||||||
UdpConnectTo(Remote_IP, Remote_Port);
|
UdpConnectTo(Remote_IP, Remote_Port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModbusSnd(byte buffer[], word length)
|
void ModbusDisconnect()
|
||||||
{
|
{
|
||||||
UdpSnd(buffer, length);
|
UdpDisconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
byte ModbusSnd(byte buffer[], word length)
|
||||||
|
{
|
||||||
|
return UdpSnd(buffer, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModbusRecv()
|
void ModbusRecv()
|
||||||
|
@ -26,6 +31,11 @@ void ModbusRecv()
|
||||||
UdpRecv();
|
UdpRecv();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long ModbusGetLastConnectionError(char string[])
|
||||||
|
{
|
||||||
|
return UdpGetLastConnectionError(string);
|
||||||
|
}
|
||||||
|
|
||||||
void OnUdpReceiveFrom(dword socket, long result, dword address, dword port, byte buffer[], dword size)
|
void OnUdpReceiveFrom(dword socket, long result, dword address, dword port, byte buffer[], dword size)
|
||||||
{
|
{
|
||||||
OnModbusReceive(socket, result, address, port, buffer, size);
|
OnModbusReceive(socket, result, address, port, buffer, size);
|
||||||
|
|
|
@ -113,6 +113,12 @@ void OnTcpConnect(dword socket, long result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TcpDisconnect()
|
||||||
|
{
|
||||||
|
gSocket.Close();
|
||||||
|
gSocketState = CLOSED;
|
||||||
|
}
|
||||||
|
|
||||||
void TcpRecv()
|
void TcpRecv()
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
@ -141,7 +147,7 @@ void TcpRecv()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TcpSnd(byte buffer[], word length)
|
word TcpSnd(byte buffer[], word length)
|
||||||
{
|
{
|
||||||
//char str[20*3];
|
//char str[20*3];
|
||||||
|
|
||||||
|
@ -152,13 +158,13 @@ void TcpSnd(byte buffer[], word length)
|
||||||
if (gSocketState != OK)
|
if (gSocketState != OK)
|
||||||
{
|
{
|
||||||
writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd: Reconnecting failed!");
|
writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd: Reconnecting failed!");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
case OK:
|
case OK:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd: Socket status is not OK!");
|
writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd: Socket status is not OK!");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//bin_to_strhex(buffer, str);
|
//bin_to_strhex(buffer, str);
|
||||||
|
@ -172,8 +178,15 @@ void TcpSnd(byte buffer[], word length)
|
||||||
{
|
{
|
||||||
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr));
|
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr));
|
||||||
writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd error (%d): %s", gIpLastErr, gIpLastErrStr);
|
writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd error (%d): %s", gIpLastErr, gIpLastErrStr);
|
||||||
gSocket.Close();
|
TcpDisconnect();
|
||||||
gSocketState = CLOSED;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TcpGetLastConnectionError(char string[])
|
||||||
|
{
|
||||||
|
gSocket.GetLastSocketErrorAsString(string, elCount(string));
|
||||||
|
return gSocket.GetLastSocketError();
|
||||||
}
|
}
|
|
@ -82,13 +82,19 @@ word UdpConnectTo(dword remoteIp, word remotePort)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UdpDisconnect()
|
||||||
|
{
|
||||||
|
gSocket.Close();
|
||||||
|
gSocketState = CLOSED;
|
||||||
|
}
|
||||||
|
|
||||||
void UdpRecv()
|
void UdpRecv()
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
if (gSocketState != OK)
|
if (gSocketState != OK)
|
||||||
{
|
{
|
||||||
writeLineEx(0, 2, "UdpRecv: Socket status is not OK!");
|
writeLineEx(0, 2, "<%NODE_NAME%> UdpRecv: Socket status is not OK!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,14 +126,14 @@ void UdpSnd(byte buffer[], word length)
|
||||||
UdpConnectTo(gRemoteIP, gRemotePort);
|
UdpConnectTo(gRemoteIP, gRemotePort);
|
||||||
if (gSocketState != OK)
|
if (gSocketState != OK)
|
||||||
{
|
{
|
||||||
writeLineEx(0, 2, "UdpSnd: Reconnecting failed!");
|
writeLineEx(0, 2, "<%NODE_NAME%> UdpSnd: Reconnecting failed!");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
case OK:
|
case OK:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
writeLineEx(0, 2, "UdpSnd: Socket status is not OK!");
|
writeLineEx(0, 2, "<%NODE_NAME%> UdpSnd: Socket status is not OK!");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//bin_to_strhex(buffer, str);
|
//bin_to_strhex(buffer, str);
|
||||||
|
@ -141,8 +147,15 @@ void UdpSnd(byte buffer[], word length)
|
||||||
{
|
{
|
||||||
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr));
|
gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr));
|
||||||
writeLineEx(0, 2, "<%NODE_NAME%> UdpSnd error (%d): %s", gIpLastErr, gIpLastErrStr);
|
writeLineEx(0, 2, "<%NODE_NAME%> UdpSnd error (%d): %s", gIpLastErr, gIpLastErrStr);
|
||||||
gSocket.Close();
|
UdpDisconnect();
|
||||||
gSocketState = CLOSED;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
long UdpGetLastConnectionError(char string[])
|
||||||
|
{
|
||||||
|
gSocket.GetLastSocketErrorAsString(string, elCount(string));
|
||||||
|
return gSocket.GetLastSocketError();
|
||||||
}
|
}
|
Loading…
Reference in a new issue