Compare commits
2 Commits
25d8dc7d05
...
77d8b4f997
| Author | SHA1 | Date | |
|---|---|---|---|
| 77d8b4f997 | |||
| db38c17a5e |
Binary file not shown.
|
|
@ -6,9 +6,28 @@ Index,Sub,EDSname,Datatype,Access,Value,varname,LowLimit,UpLimit,hasDefault,hasL
|
||||||
0x1008,0x00,Manufacturer device name,VISIBLE_STRING,const,emotas Slave 1,NONE,0,0,yes,no,no,no,1,ManagedConst,14,,no
|
0x1008,0x00,Manufacturer device name,VISIBLE_STRING,const,emotas Slave 1,NONE,0,0,yes,no,no,no,1,ManagedConst,14,,no
|
||||||
0x1014,0x00,COB ID EMCY,UNSIGNED32,ro,$NODEID+0x80,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
0x1014,0x00,COB ID EMCY,UNSIGNED32,ro,$NODEID+0x80,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
0x1015,0x00,Inhibit Time Emergency,UNSIGNED16,rw,0,NONE,0,65535,yes,no,no,no,1,ManagedVariable,0,,no
|
0x1015,0x00,Inhibit Time Emergency,UNSIGNED16,rw,0,NONE,0,65535,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
0x1016,0x00,Consumer Heartbeat Time Number of entries,UNSIGNED8,ro,1,NONE,0,255,yes,no,no,no,1,ManagedConst,0,ARRAY,no
|
0x1016,0x00,Consumer Heartbeat Time Number of entries,UNSIGNED8,ro,20,NONE,0,255,yes,no,no,no,1,ManagedConst,0,ARRAY,no
|
||||||
0x1016,0x01,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,0,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
0x1016,0x01,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
0x1017,0x00,Producer Heartbeat Time,UNSIGNED16,rw,1500,NONE,0,65535,no,no,no,no,0,ManagedVariable,0,,no
|
0x1016,0x02,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x03,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x04,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x05,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x06,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x07,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x08,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x09,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x0a,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x0b,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x0c,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x0d,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x0e,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x0f,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x10,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x11,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x12,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x13,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1016,0x14,Consumer Heartbeat Time Consumer Heartbeat Time,UNSIGNED32,rw,500,NONE,0,4294967295,yes,no,no,no,1,ManagedVariable,0,,no
|
||||||
|
0x1017,0x00,Producer Heartbeat Time,UNSIGNED16,rw,100,NONE,0,65535,no,no,no,no,0,ManagedVariable,0,,no
|
||||||
0x1018,0x00,Identity Object Number of entries,UNSIGNED8,ro,4,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
0x1018,0x00,Identity Object Number of entries,UNSIGNED8,ro,4,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
||||||
0x1018,0x01,Identity Object Vendor Id,UNSIGNED32,ro,793,NONE,0,4294967295,yes,no,no,no,1,ManagedConst,0,,no
|
0x1018,0x01,Identity Object Vendor Id,UNSIGNED32,ro,793,NONE,0,4294967295,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
0x1018,0x02,Identity Object Product Code,UNSIGNED32,ro,1234,NONE,0,4294967295,yes,no,no,no,1,ManagedConst,0,,no
|
0x1018,0x02,Identity Object Product Code,UNSIGNED32,ro,1234,NONE,0,4294967295,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
|
@ -153,6 +172,27 @@ Index,Sub,EDSname,Datatype,Access,Value,varname,LowLimit,UpLimit,hasDefault,hasL
|
||||||
0x1804,0x04,TPDO communication parameter Inhibit time,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
0x1804,0x04,TPDO communication parameter Inhibit time,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
0x1804,0x05,TPDO communication parameter Event timer,UNSIGNED16,rw,500,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
0x1804,0x05,TPDO communication parameter Event timer,UNSIGNED16,rw,500,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
0x1804,0x06,TPDO communication parameter SYNC start value,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
0x1804,0x06,TPDO communication parameter SYNC start value,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1805,0x00,TPDO communication parameter Highest sub-index supported,UNSIGNED8,const,6,NONE,2,6,yes,no,no,no,1,ManagedConst,0,RECORD,both
|
||||||
|
0x1805,0x01,TPDO communication parameter COB-ID used by TPDO,UNSIGNED32,rw,$NODEID+0x180+2,NONE,128,4294967295,yes,no,no,no,2,ManagedVariable,0,,tpdo
|
||||||
|
0x1805,0x02,TPDO communication parameter Transmission type,UNSIGNED8,rw,254,NONE,0,255,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1805,0x03,TPDO communication parameter Inhibit time,UNSIGNED16,rw,,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1805,0x04,TPDO communication parameter Inhibit time,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1805,0x05,TPDO communication parameter Event timer,UNSIGNED16,rw,500,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1805,0x06,TPDO communication parameter SYNC start value,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1806,0x00,TPDO communication parameter Highest sub-index supported,UNSIGNED8,const,6,NONE,2,6,yes,no,no,no,1,ManagedConst,0,RECORD,both
|
||||||
|
0x1806,0x01,TPDO communication parameter COB-ID used by TPDO,UNSIGNED32,rw,$NODEID+0x180+3,NONE,128,4294967295,yes,no,no,no,2,ManagedVariable,0,,tpdo
|
||||||
|
0x1806,0x02,TPDO communication parameter Transmission type,UNSIGNED8,rw,254,NONE,0,255,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1806,0x03,TPDO communication parameter Inhibit time,UNSIGNED16,rw,,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1806,0x04,TPDO communication parameter Inhibit time,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1806,0x05,TPDO communication parameter Event timer,UNSIGNED16,rw,500,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1806,0x06,TPDO communication parameter SYNC start value,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1807,0x00,TPDO communication parameter Highest sub-index supported,UNSIGNED8,const,6,NONE,2,6,yes,no,no,no,1,ManagedConst,0,RECORD,both
|
||||||
|
0x1807,0x01,TPDO communication parameter COB-ID used by TPDO,UNSIGNED32,rw,$NODEID+0x180+4,NONE,128,4294967295,yes,no,no,no,2,ManagedVariable,0,,tpdo
|
||||||
|
0x1807,0x02,TPDO communication parameter Transmission type,UNSIGNED8,rw,254,NONE,0,255,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1807,0x03,TPDO communication parameter Inhibit time,UNSIGNED16,rw,,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1807,0x04,TPDO communication parameter Inhibit time,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1807,0x05,TPDO communication parameter Event timer,UNSIGNED16,rw,500,NONE,0,0xffff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
|
0x1807,0x06,TPDO communication parameter SYNC start value,UNSIGNED8,rw,,NONE,0,0xff,yes,no,no,no,0,ManagedVariable,0,,no
|
||||||
0x1a00,0x00,Conductivity Data OUT1 Number of entries,UNSIGNED8,const,2,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
0x1a00,0x00,Conductivity Data OUT1 Number of entries,UNSIGNED8,const,2,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
||||||
0x1a00,0x01,Conductivity Data OUT1 Mapping Entry 1,UNSIGNED32,const,1610744096,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
0x1a00,0x01,Conductivity Data OUT1 Mapping Entry 1,UNSIGNED32,const,1610744096,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
||||||
0x1a00,0x02,Conductivity Data OUT1 Mapping Entry 2,UNSIGNED32,const,1610744352,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
0x1a00,0x02,Conductivity Data OUT1 Mapping Entry 2,UNSIGNED32,const,1610744352,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
||||||
|
|
@ -166,8 +206,16 @@ Index,Sub,EDSname,Datatype,Access,Value,varname,LowLimit,UpLimit,hasDefault,hasL
|
||||||
0x1a03,0x01, Pressue and Flowmeter Data OUT1 Mapping Entry 1,UNSIGNED32,const,1610875168,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
0x1a03,0x01, Pressue and Flowmeter Data OUT1 Mapping Entry 1,UNSIGNED32,const,1610875168,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
||||||
0x1a03,0x02, Pressue and Flowmeter Data OUT1 Mapping Entry 2,UNSIGNED32,const,1610940704,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
0x1a03,0x02, Pressue and Flowmeter Data OUT1 Mapping Entry 2,UNSIGNED32,const,1610940704,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
||||||
0x1a04,0x00, Pressue and Flowmeter Data OUT2 Number of entries,UNSIGNED8,const,2,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
0x1a04,0x00, Pressue and Flowmeter Data OUT2 Number of entries,UNSIGNED8,const,2,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
||||||
0x1a04,0x01, Pressue and Flowmeter Data OUT2 Mapping Entry 1,UNSIGNED32,const,1610679072,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
0x1a04,0x01, Pressue and Flowmeter Data OUT2 Mapping Entry 1,UNSIGNED32,const,1610875424,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
0x1a04,0x02, Pressue and Flowmeter Data OUT2 Mapping Entry 2,UNSIGNED32,const,1610679328,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,tpdo
|
0x1a04,0x02, Pressue and Flowmeter Data OUT2 Mapping Entry 2,UNSIGNED32,const,1610940960,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
0x1a05,0x00, Pressue and Flowmeter Data OUT3 Number of entries,UNSIGNED8,const,2,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
||||||
|
0x1a05,0x01, Pressue and Flowmeter Data OUT3 Mapping Entry 1,UNSIGNED32,const,1610875680,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
0x1a05,0x02, Pressue and Flowmeter Data OUT3 Mapping Entry 2,UNSIGNED32,const,1610941216,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
0x1a06,0x00, Pressue and Flowmeter Data OUT4 Number of entries,UNSIGNED8,const,2,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
||||||
|
0x1a06,0x01, Pressue and Flowmeter Data OUT4 Mapping Entry 1,UNSIGNED32,const,1610875936,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
0x1a06,0x02, Pressue and Flowmeter Data OUT4 Mapping Entry 2,UNSIGNED32,const,1610941472,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
0x1a07,0x00,Pump Data OUT Number of entries,UNSIGNED8,const,1,NONE,0,255,yes,no,no,no,1,ManagedConst,0,RECORD,no
|
||||||
|
0x1a07,0x01,Pump Data OUT Mapping Entry 1,UNSIGNED32,const,1611005984,NONE,0,0,yes,no,no,no,1,ManagedConst,0,,no
|
||||||
|
|
||||||
0x2001,0x00,Manufacturer Object,INTEGER32,rw,4,NONE,0,0,no,no,no,no,0,ManagedVariable,0,,both
|
0x2001,0x00,Manufacturer Object,INTEGER32,rw,4,NONE,0,0,no,no,no,no,0,ManagedVariable,0,,both
|
||||||
0x3000,0x00,Managed Array NUmber of Entries,UNSIGNED8,ro,2,NONE,0,0,yes,no,no,no,1,ManagedConst,0,ARRAY,no
|
0x3000,0x00,Managed Array NUmber of Entries,UNSIGNED8,ro,2,NONE,0,0,yes,no,no,no,1,ManagedConst,0,ARRAY,no
|
||||||
|
|
@ -213,3 +261,4 @@ Index,Sub,EDSname,Datatype,Access,Value,varname,LowLimit,UpLimit,hasDefault,hasL
|
||||||
0x6005,0x02,Pressure Sensor Data OUT PS2 OUT,REAL32,rw,,NONE,,,yes,no,no,no,1,ManagedVariable,0,,both
|
0x6005,0x02,Pressure Sensor Data OUT PS2 OUT,REAL32,rw,,NONE,,,yes,no,no,no,1,ManagedVariable,0,,both
|
||||||
0x6005,0x03,Pressure Sensor Data OUT PS3 OUT,REAL32,rw,,NONE,,,yes,no,no,no,1,ManagedVariable,0,,both
|
0x6005,0x03,Pressure Sensor Data OUT PS3 OUT,REAL32,rw,,NONE,,,yes,no,no,no,1,ManagedVariable,0,,both
|
||||||
0x6005,0x04,Pressure Sensor Data OUT PS4 OUT,REAL32,rw,,NONE,,,yes,no,no,no,1,ManagedVariable,0,,both
|
0x6005,0x04,Pressure Sensor Data OUT PS4 OUT,REAL32,rw,,NONE,,,yes,no,no,no,1,ManagedVariable,0,,both
|
||||||
|
0x6006,0x00,Pump Data OUT,UNSIGNED32,rw,,NONE,0,0xffffffff,yes,no,no,no,1,ManagedVariable,0,,tpdo
|
||||||
|
|
|
||||||
|
Can't render this file because it has a wrong number of fields in line 219.
|
|
|
@ -5,10 +5,10 @@ FileVersion=1.0
|
||||||
FileRevision=1.0
|
FileRevision=1.0
|
||||||
EDSVersion=4.0
|
EDSVersion=4.0
|
||||||
Description=EDS
|
Description=EDS
|
||||||
CreationTime=14:59PM
|
CreationTime=13:57PM
|
||||||
CreationDate=02-25-25
|
CreationDate=04-25-25
|
||||||
ModificationTime=14:59PM
|
ModificationTime=13:57PM
|
||||||
ModificationDate=02-25-25
|
ModificationDate=04-25-25
|
||||||
CreatedBy=Aniket Saha
|
CreatedBy=Aniket Saha
|
||||||
ModifiedBy=Aniket Saha
|
ModifiedBy=Aniket Saha
|
||||||
|
|
||||||
|
|
@ -32,7 +32,7 @@ BaudRate_500=0
|
||||||
BaudRate_800=0
|
BaudRate_800=0
|
||||||
BaudRate_1000=0
|
BaudRate_1000=0
|
||||||
NrOfRxPDO=3
|
NrOfRxPDO=3
|
||||||
NrOfTxPDO=5
|
NrOfTxPDO=8
|
||||||
SimpleBootupSlave=1
|
SimpleBootupSlave=1
|
||||||
SimpleBootupMaster=0
|
SimpleBootupMaster=0
|
||||||
LSS_Supported=0
|
LSS_Supported=0
|
||||||
|
|
@ -61,7 +61,7 @@ SupportedObjects=2
|
||||||
2=0x3000
|
2=0x3000
|
||||||
|
|
||||||
[OptionalObjects]
|
[OptionalObjects]
|
||||||
SupportedObjects=51
|
SupportedObjects=58
|
||||||
1=0x1003
|
1=0x1003
|
||||||
2=0x1008
|
2=0x1008
|
||||||
3=0x1014
|
3=0x1014
|
||||||
|
|
@ -102,17 +102,24 @@ SupportedObjects=51
|
||||||
38=0x1802
|
38=0x1802
|
||||||
39=0x1803
|
39=0x1803
|
||||||
40=0x1804
|
40=0x1804
|
||||||
41=0x1a00
|
41=0x1805
|
||||||
42=0x1a01
|
42=0x1806
|
||||||
43=0x1a02
|
43=0x1807
|
||||||
44=0x1a03
|
44=0x1a00
|
||||||
45=0x1a04
|
45=0x1a01
|
||||||
46=0x6000
|
46=0x1a02
|
||||||
47=0x6001
|
47=0x1a03
|
||||||
48=0x6002
|
48=0x1a04
|
||||||
49=0x6003
|
49=0x1a05
|
||||||
50=0x6004
|
50=0x1a06
|
||||||
51=0x6005
|
51=0x1a07
|
||||||
|
52=0x6000
|
||||||
|
53=0x6001
|
||||||
|
54=0x6002
|
||||||
|
55=0x6003
|
||||||
|
56=0x6004
|
||||||
|
57=0x6005
|
||||||
|
58=0x6006
|
||||||
|
|
||||||
[1000]
|
[1000]
|
||||||
ParameterName=Device Type
|
ParameterName=Device Type
|
||||||
|
|
@ -1672,6 +1679,174 @@ DataType=5
|
||||||
AccessType=rw
|
AccessType=rw
|
||||||
PDOMapping=0
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1805]
|
||||||
|
ParameterName=TPDO communication parameter
|
||||||
|
ObjectType=9
|
||||||
|
SubNumber=7
|
||||||
|
|
||||||
|
[1805sub0]
|
||||||
|
ParameterName=Highest sub-index supported
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=1
|
||||||
|
DefaultValue=6
|
||||||
|
|
||||||
|
[1805sub1]
|
||||||
|
ParameterName=COB-ID used by TPDO
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=1
|
||||||
|
DefaultValue=$NODEID+0x180+2
|
||||||
|
|
||||||
|
[1805sub2]
|
||||||
|
ParameterName=Transmission type
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1805sub3]
|
||||||
|
ParameterName=Inhibit time
|
||||||
|
ObjectType=7
|
||||||
|
DataType=6
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1805sub4]
|
||||||
|
ParameterName=Inhibit time
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1805sub5]
|
||||||
|
ParameterName=Event timer
|
||||||
|
ObjectType=7
|
||||||
|
DataType=6
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1805sub6]
|
||||||
|
ParameterName=SYNC start value
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1806]
|
||||||
|
ParameterName=TPDO communication parameter
|
||||||
|
ObjectType=9
|
||||||
|
SubNumber=7
|
||||||
|
|
||||||
|
[1806sub0]
|
||||||
|
ParameterName=Highest sub-index supported
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=1
|
||||||
|
DefaultValue=6
|
||||||
|
|
||||||
|
[1806sub1]
|
||||||
|
ParameterName=COB-ID used by TPDO
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=1
|
||||||
|
DefaultValue=$NODEID+0x180+3
|
||||||
|
|
||||||
|
[1806sub2]
|
||||||
|
ParameterName=Transmission type
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1806sub3]
|
||||||
|
ParameterName=Inhibit time
|
||||||
|
ObjectType=7
|
||||||
|
DataType=6
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1806sub4]
|
||||||
|
ParameterName=Inhibit time
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1806sub5]
|
||||||
|
ParameterName=Event timer
|
||||||
|
ObjectType=7
|
||||||
|
DataType=6
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1806sub6]
|
||||||
|
ParameterName=SYNC start value
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1807]
|
||||||
|
ParameterName=TPDO communication parameter
|
||||||
|
ObjectType=9
|
||||||
|
SubNumber=7
|
||||||
|
|
||||||
|
[1807sub0]
|
||||||
|
ParameterName=Highest sub-index supported
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=1
|
||||||
|
DefaultValue=6
|
||||||
|
|
||||||
|
[1807sub1]
|
||||||
|
ParameterName=COB-ID used by TPDO
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=1
|
||||||
|
DefaultValue=$NODEID+0x180+4
|
||||||
|
|
||||||
|
[1807sub2]
|
||||||
|
ParameterName=Transmission type
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1807sub3]
|
||||||
|
ParameterName=Inhibit time
|
||||||
|
ObjectType=7
|
||||||
|
DataType=6
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1807sub4]
|
||||||
|
ParameterName=Inhibit time
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1807sub5]
|
||||||
|
ParameterName=Event timer
|
||||||
|
ObjectType=7
|
||||||
|
DataType=6
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
|
[1807sub6]
|
||||||
|
ParameterName=SYNC start value
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=0
|
||||||
|
|
||||||
[1a00]
|
[1a00]
|
||||||
ParameterName=Conductivity Data OUT1
|
ParameterName=Conductivity Data OUT1
|
||||||
ObjectType=9
|
ObjectType=9
|
||||||
|
|
@ -1806,16 +1981,95 @@ ParameterName=Mapping Entry 1
|
||||||
ObjectType=7
|
ObjectType=7
|
||||||
DataType=7
|
DataType=7
|
||||||
AccessType=const
|
AccessType=const
|
||||||
PDOMapping=1
|
PDOMapping=0
|
||||||
DefaultValue=0x60010320
|
DefaultValue=0x60040220
|
||||||
|
|
||||||
[1a04sub2]
|
[1a04sub2]
|
||||||
ParameterName=Mapping Entry 2
|
ParameterName=Mapping Entry 2
|
||||||
ObjectType=7
|
ObjectType=7
|
||||||
DataType=7
|
DataType=7
|
||||||
AccessType=const
|
AccessType=const
|
||||||
PDOMapping=1
|
PDOMapping=0
|
||||||
DefaultValue=0x60010420
|
DefaultValue=0x60050220
|
||||||
|
|
||||||
|
[1a05]
|
||||||
|
ParameterName= Pressue and Flowmeter Data OUT3
|
||||||
|
ObjectType=9
|
||||||
|
SubNumber=3
|
||||||
|
|
||||||
|
[1a05sub0]
|
||||||
|
ParameterName=Number of entries
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=2
|
||||||
|
|
||||||
|
[1a05sub1]
|
||||||
|
ParameterName=Mapping Entry 1
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=0x60040320
|
||||||
|
|
||||||
|
[1a05sub2]
|
||||||
|
ParameterName=Mapping Entry 2
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=0x60050320
|
||||||
|
|
||||||
|
[1a06]
|
||||||
|
ParameterName= Pressue and Flowmeter Data OUT4
|
||||||
|
ObjectType=9
|
||||||
|
SubNumber=3
|
||||||
|
|
||||||
|
[1a06sub0]
|
||||||
|
ParameterName=Number of entries
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=2
|
||||||
|
|
||||||
|
[1a06sub1]
|
||||||
|
ParameterName=Mapping Entry 1
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=0x60040420
|
||||||
|
|
||||||
|
[1a06sub2]
|
||||||
|
ParameterName=Mapping Entry 2
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=0x60050420
|
||||||
|
|
||||||
|
[1a07]
|
||||||
|
ParameterName=Pump Data OUT
|
||||||
|
ObjectType=9
|
||||||
|
SubNumber=2
|
||||||
|
|
||||||
|
[1a07sub0]
|
||||||
|
ParameterName=Number of entries
|
||||||
|
ObjectType=7
|
||||||
|
DataType=5
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=1
|
||||||
|
|
||||||
|
[1a07sub1]
|
||||||
|
ParameterName=Mapping Entry 1
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=const
|
||||||
|
PDOMapping=0
|
||||||
|
DefaultValue=0x60060020
|
||||||
|
|
||||||
[2001]
|
[2001]
|
||||||
ParameterName=Manufacturer Object
|
ParameterName=Manufacturer Object
|
||||||
|
|
@ -2160,3 +2414,10 @@ DataType=8
|
||||||
AccessType=rw
|
AccessType=rw
|
||||||
PDOMapping=1
|
PDOMapping=1
|
||||||
|
|
||||||
|
[6006]
|
||||||
|
ParameterName=Pump Data OUT
|
||||||
|
ObjectType=7
|
||||||
|
DataType=7
|
||||||
|
AccessType=rw
|
||||||
|
PDOMapping=1
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -17,10 +17,29 @@ index,sub,objectcode,datatype,edsname,varname,access,mapable,hasdefault,defaulti
|
||||||
0x1015,0x00,VARIABLE,UNSIGNED16,Inhibit Time Emergency,,rw,no,1,1,0,,0,ManagedVariable,no,0,65535,no
|
0x1015,0x00,VARIABLE,UNSIGNED16,Inhibit Time Emergency,,rw,no,1,1,0,,0,ManagedVariable,no,0,65535,no
|
||||||
|
|
||||||
0x1016,,ARRAY,UNSIGNED32,Consumer Heartbeat Time,,,,,,,,,,,,,,
|
0x1016,,ARRAY,UNSIGNED32,Consumer Heartbeat Time,,,,,,,,,,,,,,
|
||||||
0x1016,0x00,,UNSIGNED32,Number of entries,,ro,no,1,1,1,,0,ManagedConst,no,0,255,no
|
0x1016,0x00,,UNSIGNED32,Number of entries,,ro,no,1,1,20,,0,ManagedConst,no,0,255,no
|
||||||
0x1016,0x01,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,0,,0,ManagedVariable,no,0,4294967295,no
|
0x1016,0x01,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x02,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x03,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x04,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x05,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x06,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x07,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x08,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x09,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x0a,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x0b,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x0c,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x0d,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x0e,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x0f,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x10,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x11,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x12,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x13,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
0x1016,0x14,,UNSIGNED32,Consumer Heartbeat Time,,rw,no,1,1,500,,0,ManagedVariable,no,0,4294967295,no
|
||||||
|
|
||||||
0x1017,0x00,VARIABLE,UNSIGNED16,Producer Heartbeat Time,,rw,no,0,0,1500,,0,ManagedVariable,no,0,65535,no
|
0x1017,0x00,VARIABLE,UNSIGNED16,Producer Heartbeat Time,,rw,no,0,0,100,,0,ManagedVariable,no,0,65535,no
|
||||||
|
|
||||||
0x1018,,RECORD,UNSIGNED8,Identity Object,,,,,,,,,,,,,,
|
0x1018,,RECORD,UNSIGNED8,Identity Object,,,,,,,,,,,,,,
|
||||||
0x1018,0x00,,UNSIGNED8,Number of entries,,ro,no,1,1,4,,0,ManagedConst,no,0,255,no
|
0x1018,0x00,,UNSIGNED8,Number of entries,,ro,no,1,1,4,,0,ManagedConst,no,0,255,no
|
||||||
|
|
@ -235,6 +254,33 @@ index,sub,objectcode,datatype,edsname,varname,access,mapable,hasdefault,defaulti
|
||||||
0x1804,0x05,,UNSIGNED16,Event timer,,rw,no,1,0,500,,0,ManagedVariable,no,0,0xffff,no
|
0x1804,0x05,,UNSIGNED16,Event timer,,rw,no,1,0,500,,0,ManagedVariable,no,0,0xffff,no
|
||||||
0x1804,0x06,,UNSIGNED8,SYNC start value,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
0x1804,0x06,,UNSIGNED8,SYNC start value,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
|
||||||
|
0x1805,,RECORD,UNSIGNED8,TPDO communication parameter,,,,,,,,,,,,,,
|
||||||
|
0x1805,0x00,,UNSIGNED8,Highest sub-index supported,,const,both,1,1,6,,0,ManagedConst,no,2,6,no
|
||||||
|
0x1805,0x01,,UNSIGNED32,COB-ID used by TPDO,,rw,tpdo,1,2,$NODEID+0x180+2,,0,ManagedVariable,no,128,4294967295,no
|
||||||
|
0x1805,0x02,,UNSIGNED8,Transmission type,,rw,no,1,0,254,,0,ManagedVariable,no,0,255,no
|
||||||
|
0x1805,0x03,,UNSIGNED16,Inhibit time,,rw,no,1,0,,,0,ManagedVariable,no,0,0xffff,no
|
||||||
|
0x1805,0x04,,UNSIGNED8,Inhibit time,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
0x1805,0x05,,UNSIGNED16,Event timer,,rw,no,1,0,500,,0,ManagedVariable,no,0,0xffff,no
|
||||||
|
0x1805,0x06,,UNSIGNED8,SYNC start value,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
|
||||||
|
0x1806,,RECORD,UNSIGNED8,TPDO communication parameter,,,,,,,,,,,,,,
|
||||||
|
0x1806,0x00,,UNSIGNED8,Highest sub-index supported,,const,both,1,1,6,,0,ManagedConst,no,2,6,no
|
||||||
|
0x1806,0x01,,UNSIGNED32,COB-ID used by TPDO,,rw,tpdo,1,2,$NODEID+0x180+3,,0,ManagedVariable,no,128,4294967295,no
|
||||||
|
0x1806,0x02,,UNSIGNED8,Transmission type,,rw,no,1,0,254,,0,ManagedVariable,no,0,255,no
|
||||||
|
0x1806,0x03,,UNSIGNED16,Inhibit time,,rw,no,1,0,,,0,ManagedVariable,no,0,0xffff,no
|
||||||
|
0x1806,0x04,,UNSIGNED8,Inhibit time,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
0x1806,0x05,,UNSIGNED16,Event timer,,rw,no,1,0,500,,0,ManagedVariable,no,0,0xffff,no
|
||||||
|
0x1806,0x06,,UNSIGNED8,SYNC start value,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
|
||||||
|
0x1807,,RECORD,UNSIGNED8,TPDO communication parameter,,,,,,,,,,,,,,
|
||||||
|
0x1807,0x00,,UNSIGNED8,Highest sub-index supported,,const,both,1,1,6,,0,ManagedConst,no,2,6,no
|
||||||
|
0x1807,0x01,,UNSIGNED32,COB-ID used by TPDO,,rw,tpdo,1,2,$NODEID+0x180+4,,0,ManagedVariable,no,128,4294967295,no
|
||||||
|
0x1807,0x02,,UNSIGNED8,Transmission type,,rw,no,1,0,254,,0,ManagedVariable,no,0,255,no
|
||||||
|
0x1807,0x03,,UNSIGNED16,Inhibit time,,rw,no,1,0,,,0,ManagedVariable,no,0,0xffff,no
|
||||||
|
0x1807,0x04,,UNSIGNED8,Inhibit time,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
0x1807,0x05,,UNSIGNED16,Event timer,,rw,no,1,0,500,,0,ManagedVariable,no,0,0xffff,no
|
||||||
|
0x1807,0x06,,UNSIGNED8,SYNC start value,,rw,no,1,0,,,0,ManagedVariable,no,0,0xff,no
|
||||||
|
|
||||||
0x1a00,,RECORD,UNSIGNED8,Conductivity Data OUT1,,,,,,,,,,,,,,
|
0x1a00,,RECORD,UNSIGNED8,Conductivity Data OUT1,,,,,,,,,,,,,,
|
||||||
0x1a00,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,2,,0,ManagedConst,no,0,255,no
|
0x1a00,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,2,,0,ManagedConst,no,0,255,no
|
||||||
0x1a00,0x01,,UNSIGNED32,Mapping Entry 1,,const,tpdo,1,1,1610744096,,0,ManagedConst,no,0,0,no
|
0x1a00,0x01,,UNSIGNED32,Mapping Entry 1,,const,tpdo,1,1,1610744096,,0,ManagedConst,no,0,0,no
|
||||||
|
|
@ -257,8 +303,22 @@ index,sub,objectcode,datatype,edsname,varname,access,mapable,hasdefault,defaulti
|
||||||
|
|
||||||
0x1a04,,RECORD,UNSIGNED8, Pressue and Flowmeter Data OUT2,,,,,,,,,,,,,,
|
0x1a04,,RECORD,UNSIGNED8, Pressue and Flowmeter Data OUT2,,,,,,,,,,,,,,
|
||||||
0x1a04,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,2,,0,ManagedConst,no,0,255,no
|
0x1a04,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,2,,0,ManagedConst,no,0,255,no
|
||||||
0x1a04,0x01,,UNSIGNED32,Mapping Entry 1,,const,tpdo,1,1,1610679072,,0,ManagedConst,no,0,0,no
|
0x1a04,0x01,,UNSIGNED32,Mapping Entry 1,,const,no,1,1,1610875424,,0,ManagedConst,no,0,0,no
|
||||||
0x1a04,0x02,,UNSIGNED32,Mapping Entry 2,,const,tpdo,1,1,1610679328,,0,ManagedConst,no,0,0,no
|
0x1a04,0x02,,UNSIGNED32,Mapping Entry 2,,const,no,1,1,1610940960,,0,ManagedConst,no,0,0,no
|
||||||
|
|
||||||
|
0x1a05,,RECORD,UNSIGNED8, Pressue and Flowmeter Data OUT3,,,,,,,,,,,,,,
|
||||||
|
0x1a05,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,2,,0,ManagedConst,no,0,255,no
|
||||||
|
0x1a05,0x01,,UNSIGNED32,Mapping Entry 1,,const,no,1,1,1610875680,,0,ManagedConst,no,0,0,no
|
||||||
|
0x1a05,0x02,,UNSIGNED32,Mapping Entry 2,,const,no,1,1,1610941216,,0,ManagedConst,no,0,0,no
|
||||||
|
|
||||||
|
0x1a06,,RECORD,UNSIGNED8, Pressue and Flowmeter Data OUT4,,,,,,,,,,,,,,
|
||||||
|
0x1a06,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,2,,0,ManagedConst,no,0,255,no
|
||||||
|
0x1a06,0x01,,UNSIGNED32,Mapping Entry 1,,const,no,1,1,1610875936,,0,ManagedConst,no,0,0,no
|
||||||
|
0x1a06,0x02,,UNSIGNED32,Mapping Entry 2,,const,no,1,1,1610941472,,0,ManagedConst,no,0,0,no
|
||||||
|
|
||||||
|
0x1a07,,RECORD,UNSIGNED8,Pump Data OUT,,,,,,,,,,,,,,
|
||||||
|
0x1a07,0x00,,UNSIGNED8,Number of entries,,const,no,1,1,1,,0,ManagedConst,no,0,255,no
|
||||||
|
0x1a07,0x01,,UNSIGNED32,Mapping Entry 1,,const,no,1,1,1611005984,,0,ManagedConst,no,0,0,no
|
||||||
|
|
||||||
|
|
||||||
0x2001,0x00,VARIABLE,INTEGER32,Manufacturer Object,,rw,both,0,0,4,,0,ManagedVariable,no,0,0,no
|
0x2001,0x00,VARIABLE,INTEGER32,Manufacturer Object,,rw,both,0,0,4,,0,ManagedVariable,no,0,0,no
|
||||||
|
|
@ -320,3 +380,5 @@ index,sub,objectcode,datatype,edsname,varname,access,mapable,hasdefault,defaulti
|
||||||
0x6005,0x03,,REAL32,PS3 OUT,,rw,both,1,1,,,0,ManagedVariable,no,,,no
|
0x6005,0x03,,REAL32,PS3 OUT,,rw,both,1,1,,,0,ManagedVariable,no,,,no
|
||||||
0x6005,0x04,,REAL32,PS4 OUT,,rw,both,1,1,,,0,ManagedVariable,no,,,no
|
0x6005,0x04,,REAL32,PS4 OUT,,rw,both,1,1,,,0,ManagedVariable,no,,,no
|
||||||
|
|
||||||
|
0x6006,0x00,VARIABLE,UNSIGNED32,Pump Data OUT,,rw,tpdo,1,1,,,0,ManagedVariable,no,0,0xffffffff,no
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,12 +64,107 @@ DataType: UNSIGNED32
|
||||||
ObjectCode: Array
|
ObjectCode: Array
|
||||||
Sub: 0x00 - Number of entries
|
Sub: 0x00 - Number of entries
|
||||||
DataType: UNSIGNED8
|
DataType: UNSIGNED8
|
||||||
DefaultValue: 1
|
DefaultValue: 20
|
||||||
AccessType: ro
|
AccessType: ro
|
||||||
PDOMapping: 0
|
PDOMapping: 0
|
||||||
Sub: 0x01 - Consumer Heartbeat Time
|
Sub: 0x01 - Consumer Heartbeat Time
|
||||||
DataType: UNSIGNED32
|
DataType: UNSIGNED32
|
||||||
DefaultValue: 0x0000
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x02 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x03 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x04 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x05 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x06 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x07 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x08 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x09 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x0a - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x0b - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x0c - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x0d - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x0e - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x0f - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x10 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x11 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x12 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x13 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x14 - Consumer Heartbeat Time
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 500
|
||||||
AccessType: rw
|
AccessType: rw
|
||||||
PDOMapping: 0
|
PDOMapping: 0
|
||||||
|
|
||||||
|
|
@ -78,7 +173,7 @@ DataType: UNSIGNED16
|
||||||
ObjectCode: Variable
|
ObjectCode: Variable
|
||||||
Sub: 0x00 - Producer Heartbeat Time
|
Sub: 0x00 - Producer Heartbeat Time
|
||||||
DataType: UNSIGNED16
|
DataType: UNSIGNED16
|
||||||
DefaultValue: 1500
|
DefaultValue: 100
|
||||||
AccessType: rw
|
AccessType: rw
|
||||||
PDOMapping: 0
|
PDOMapping: 0
|
||||||
|
|
||||||
|
|
@ -946,6 +1041,114 @@ ObjectCode: Record
|
||||||
AccessType: rw
|
AccessType: rw
|
||||||
PDOMapping: 0
|
PDOMapping: 0
|
||||||
|
|
||||||
|
Index: 0x1805 - TPDO communication parameter
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
ObjectCode: Record
|
||||||
|
Sub: 0x00 - Highest sub-index supported
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 6
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 1
|
||||||
|
Sub: 0x01 - COB-ID used by TPDO
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: $NODEID+0x180+2
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 4
|
||||||
|
Sub: 0x02 - Transmission type
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 254
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x03 - Inhibit time
|
||||||
|
DataType: UNSIGNED16
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x04 - Inhibit time
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x05 - Event timer
|
||||||
|
DataType: UNSIGNED16
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x06 - SYNC start value
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
|
||||||
|
Index: 0x1806 - TPDO communication parameter
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
ObjectCode: Record
|
||||||
|
Sub: 0x00 - Highest sub-index supported
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 6
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 1
|
||||||
|
Sub: 0x01 - COB-ID used by TPDO
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: $NODEID+0x180+3
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 4
|
||||||
|
Sub: 0x02 - Transmission type
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 254
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x03 - Inhibit time
|
||||||
|
DataType: UNSIGNED16
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x04 - Inhibit time
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x05 - Event timer
|
||||||
|
DataType: UNSIGNED16
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x06 - SYNC start value
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
|
||||||
|
Index: 0x1807 - TPDO communication parameter
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
ObjectCode: Record
|
||||||
|
Sub: 0x00 - Highest sub-index supported
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 6
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 1
|
||||||
|
Sub: 0x01 - COB-ID used by TPDO
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: $NODEID+0x180+4
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 4
|
||||||
|
Sub: 0x02 - Transmission type
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 254
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x03 - Inhibit time
|
||||||
|
DataType: UNSIGNED16
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x04 - Inhibit time
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x05 - Event timer
|
||||||
|
DataType: UNSIGNED16
|
||||||
|
DefaultValue: 500
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x06 - SYNC start value
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 0
|
||||||
|
|
||||||
Index: 0x1a00 - Conductivity Data OUT1
|
Index: 0x1a00 - Conductivity Data OUT1
|
||||||
DataType: UNSIGNED8
|
DataType: UNSIGNED8
|
||||||
ObjectCode: Record
|
ObjectCode: Record
|
||||||
|
|
@ -1032,14 +1235,66 @@ ObjectCode: Record
|
||||||
PDOMapping: 0
|
PDOMapping: 0
|
||||||
Sub: 0x01 - Mapping Entry 1
|
Sub: 0x01 - Mapping Entry 1
|
||||||
DataType: UNSIGNED32
|
DataType: UNSIGNED32
|
||||||
DefaultValue: 0x60010320
|
DefaultValue: 0x60040220
|
||||||
AccessType: const
|
AccessType: const
|
||||||
PDOMapping: 4
|
PDOMapping: 0
|
||||||
Sub: 0x02 - Mapping Entry 2
|
Sub: 0x02 - Mapping Entry 2
|
||||||
DataType: UNSIGNED32
|
DataType: UNSIGNED32
|
||||||
DefaultValue: 0x60010420
|
DefaultValue: 0x60050220
|
||||||
AccessType: const
|
AccessType: const
|
||||||
PDOMapping: 4
|
PDOMapping: 0
|
||||||
|
|
||||||
|
Index: 0x1a05 - Pressue and Flowmeter Data OUT3
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
ObjectCode: Record
|
||||||
|
Sub: 0x00 - Number of entries
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 2
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x01 - Mapping Entry 1
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 0x60040320
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x02 - Mapping Entry 2
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 0x60050320
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
|
||||||
|
Index: 0x1a06 - Pressue and Flowmeter Data OUT4
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
ObjectCode: Record
|
||||||
|
Sub: 0x00 - Number of entries
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 2
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x01 - Mapping Entry 1
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 0x60040420
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x02 - Mapping Entry 2
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 0x60050420
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
|
||||||
|
Index: 0x1a07 - Pump Data OUT
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
ObjectCode: Record
|
||||||
|
Sub: 0x00 - Number of entries
|
||||||
|
DataType: UNSIGNED8
|
||||||
|
DefaultValue: 1
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
Sub: 0x01 - Mapping Entry 1
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
DefaultValue: 0x60060020
|
||||||
|
AccessType: const
|
||||||
|
PDOMapping: 0
|
||||||
|
|
||||||
Index: 0x2001 - Manufacturer Object
|
Index: 0x2001 - Manufacturer Object
|
||||||
DataType: INTEGER32
|
DataType: INTEGER32
|
||||||
|
|
@ -1253,3 +1508,11 @@ ObjectCode: Array
|
||||||
DataType: REAL32
|
DataType: REAL32
|
||||||
AccessType: rw
|
AccessType: rw
|
||||||
PDOMapping: 1
|
PDOMapping: 1
|
||||||
|
|
||||||
|
Index: 0x6006 - Pump Data OUT
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
ObjectCode: Variable
|
||||||
|
Sub: 0x00 - Pump Data OUT
|
||||||
|
DataType: UNSIGNED32
|
||||||
|
AccessType: rw
|
||||||
|
PDOMapping: 4
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Stack definitions for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
* Stack definitions for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
||||||
* */
|
* 25 04 2025 13:57:30 */
|
||||||
|
|
||||||
/* protect against multiple inclusion of the file */
|
/* protect against multiple inclusion of the file */
|
||||||
#ifndef GEN_DEFINE_H
|
#ifndef GEN_DEFINE_H
|
||||||
|
|
@ -19,10 +19,10 @@
|
||||||
#define CO_REC_BUFFER_COUNTS 10u
|
#define CO_REC_BUFFER_COUNTS 10u
|
||||||
#define CO_TR_BUFFER_COUNTS 20u
|
#define CO_TR_BUFFER_COUNTS 20u
|
||||||
/* Number of objects per line */
|
/* Number of objects per line */
|
||||||
#define CO_OBJECTS_LINE_0_CNT 56u
|
#define CO_OBJECTS_LINE_0_CNT 63u
|
||||||
#define CO_OBJECT_COUNTS 56u
|
#define CO_OBJECT_COUNTS 63u
|
||||||
#define CO_COB_COUNTS 75u
|
#define CO_COB_COUNTS 78u
|
||||||
#define CO_TXPDO_COUNTS 5u
|
#define CO_TXPDO_COUNTS 8u
|
||||||
#define CO_RXPDO_COUNTS 3u
|
#define CO_RXPDO_COUNTS 3u
|
||||||
#define CO_SSDO_COUNTS 1u
|
#define CO_SSDO_COUNTS 1u
|
||||||
#define CO_CSDO_COUNTS 20u
|
#define CO_CSDO_COUNTS 20u
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
#define CO_LSS_INQUIRY_SERVICES 1u
|
#define CO_LSS_INQUIRY_SERVICES 1u
|
||||||
#define CO_SDO_SERVER_CNT 1u
|
#define CO_SDO_SERVER_CNT 1u
|
||||||
#define CO_SDO_CLIENT_CNT 20u
|
#define CO_SDO_CLIENT_CNT 20u
|
||||||
#define CO_PDO_TRANSMIT_CNT 5u
|
#define CO_PDO_TRANSMIT_CNT 8u
|
||||||
#define CO_PDO_RECEIVE_CNT 3u
|
#define CO_PDO_RECEIVE_CNT 3u
|
||||||
#define CO_MAX_MAP_ENTRIES 2u
|
#define CO_MAX_MAP_ENTRIES 2u
|
||||||
#define CO_HB_CONSUMER_CNT 20u
|
#define CO_HB_CONSUMER_CNT 20u
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
#define CO_SDO_QUEUE_LEN 0u
|
#define CO_SDO_QUEUE_LEN 0u
|
||||||
#define CO_INHIBIT_SUPPORTED 1u
|
#define CO_INHIBIT_SUPPORTED 1u
|
||||||
/* number of used COB objects */
|
/* number of used COB objects */
|
||||||
#define CO_COB_CNT 75u
|
#define CO_COB_CNT 78u
|
||||||
|
|
||||||
|
|
||||||
/* Definition of number of call-back functions for each service*/
|
/* Definition of number of call-back functions for each service*/
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* static indication definitions for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
* static indication definitions for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
||||||
* Tue Feb 25 14:59:00 2025
|
* Fri Apr 25 13:57:30 2025
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* protect against multiple inclusion of the file */
|
/* protect against multiple inclusion of the file */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* CO index/J1939 PGN/raw CAN-ID defines for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
* CO index/J1939 PGN/raw CAN-ID defines for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
||||||
* Tue Feb 25 14:58:59 2025
|
* Fri Apr 25 13:57:30 2025
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* protect against multiple inclusion of the file */
|
/* protect against multiple inclusion of the file */
|
||||||
|
|
@ -72,11 +72,17 @@
|
||||||
#define I_TPDO_COMMUNICATION_PARAMETER2 0x1802u
|
#define I_TPDO_COMMUNICATION_PARAMETER2 0x1802u
|
||||||
#define I_TPDO_COMMUNICATION_PARAMETER3 0x1803u
|
#define I_TPDO_COMMUNICATION_PARAMETER3 0x1803u
|
||||||
#define I_TPDO_COMMUNICATION_PARAMETER4 0x1804u
|
#define I_TPDO_COMMUNICATION_PARAMETER4 0x1804u
|
||||||
|
#define I_TPDO_COMMUNICATION_PARAMETER5 0x1805u
|
||||||
|
#define I_TPDO_COMMUNICATION_PARAMETER6 0x1806u
|
||||||
|
#define I_TPDO_COMMUNICATION_PARAMETER7 0x1807u
|
||||||
#define I_CONDUCTIVITY_DATA_OUT1 0x1a00u
|
#define I_CONDUCTIVITY_DATA_OUT1 0x1a00u
|
||||||
#define I_CONDUCTIVITY_DATA_OUT2 0x1a01u
|
#define I_CONDUCTIVITY_DATA_OUT2 0x1a01u
|
||||||
#define I_CONDUCTIVITY_DATA_OUT3 0x1a02u
|
#define I_CONDUCTIVITY_DATA_OUT3 0x1a02u
|
||||||
#define I_PRESSUE_AND_FLOWMETER_DATA_OUT1 0x1a03u
|
#define I_PRESSUE_AND_FLOWMETER_DATA_OUT1 0x1a03u
|
||||||
#define I_PRESSUE_AND_FLOWMETER_DATA_OUT2 0x1a04u
|
#define I_PRESSUE_AND_FLOWMETER_DATA_OUT2 0x1a04u
|
||||||
|
#define I_PRESSUE_AND_FLOWMETER_DATA_OUT3 0x1a05u
|
||||||
|
#define I_PRESSUE_AND_FLOWMETER_DATA_OUT4 0x1a06u
|
||||||
|
#define I_PUMP_DATA_OUT 0x1a07u
|
||||||
#define I_MANUFACTURER_OBJECT 0x2001u
|
#define I_MANUFACTURER_OBJECT 0x2001u
|
||||||
#define I_MANAGED_ARRAY 0x3000u
|
#define I_MANAGED_ARRAY 0x3000u
|
||||||
#define S_SUB_1 0x1u
|
#define S_SUB_1 0x1u
|
||||||
|
|
@ -120,6 +126,7 @@
|
||||||
#define S_PS2_OUT 0x2u
|
#define S_PS2_OUT 0x2u
|
||||||
#define S_PS3_OUT 0x3u
|
#define S_PS3_OUT 0x3u
|
||||||
#define S_PS4_OUT 0x4u
|
#define S_PS4_OUT 0x4u
|
||||||
|
#define I_PUMP_DATA_OUT1 0x6006u
|
||||||
#define S_NUMBER_OF_ENTRIES 0x0u
|
#define S_NUMBER_OF_ENTRIES 0x0u
|
||||||
|
|
||||||
#endif /* GEN_INDICES_H */
|
#endif /* GEN_INDICES_H */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* object dictionary for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
* object dictionary for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
|
||||||
* Tue Feb 25 14:59:00 2025
|
* Fri Apr 25 13:57:30 2025
|
||||||
*/
|
*/
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
@ -31,8 +31,8 @@
|
||||||
/* definition of static indication function pointers */
|
/* definition of static indication function pointers */
|
||||||
|
|
||||||
/* number of objects */
|
/* number of objects */
|
||||||
#define CO_OD_ASSIGN_CNT 56u
|
#define CO_OD_ASSIGN_CNT 63u
|
||||||
#define CO_OBJ_DESC_CNT 231u
|
#define CO_OBJ_DESC_CNT 261u
|
||||||
|
|
||||||
/* definition of managed variables */
|
/* definition of managed variables */
|
||||||
static UNSIGNED8 CO_STORAGE_CLASS od_u8[8]= {
|
static UNSIGNED8 CO_STORAGE_CLASS od_u8[8]= {
|
||||||
|
|
@ -46,7 +46,7 @@ static UNSIGNED8 CO_STORAGE_CLASS od_u8[8]= {
|
||||||
(UNSIGNED8)0u /* 0x6000:5 */};
|
(UNSIGNED8)0u /* 0x6000:5 */};
|
||||||
static UNSIGNED16 CO_STORAGE_CLASS od_u16[1]= {
|
static UNSIGNED16 CO_STORAGE_CLASS od_u16[1]= {
|
||||||
(UNSIGNED16)0u /* 0x1015:0 */};
|
(UNSIGNED16)0u /* 0x1015:0 */};
|
||||||
static UNSIGNED32 CO_STORAGE_CLASS od_u32[23]= {
|
static UNSIGNED32 CO_STORAGE_CLASS od_u32[24]= {
|
||||||
(UNSIGNED32)0UL /* 0x1003:1 */,
|
(UNSIGNED32)0UL /* 0x1003:1 */,
|
||||||
(UNSIGNED32)0UL /* 0x1014:0 */,
|
(UNSIGNED32)0UL /* 0x1014:0 */,
|
||||||
(UNSIGNED32)0UL /* 0x1018:4 */,
|
(UNSIGNED32)0UL /* 0x1018:4 */,
|
||||||
|
|
@ -69,7 +69,8 @@ static UNSIGNED32 CO_STORAGE_CLASS od_u32[23]= {
|
||||||
(UNSIGNED32)0UL /* 0x6003:5 */,
|
(UNSIGNED32)0UL /* 0x6003:5 */,
|
||||||
(UNSIGNED32)0UL /* 0x6003:6 */,
|
(UNSIGNED32)0UL /* 0x6003:6 */,
|
||||||
(UNSIGNED32)0UL /* 0x6003:7 */,
|
(UNSIGNED32)0UL /* 0x6003:7 */,
|
||||||
(UNSIGNED32)0UL /* 0x6003:8 */};
|
(UNSIGNED32)0UL /* 0x6003:8 */,
|
||||||
|
(UNSIGNED32)0UL /* 0x6006:0 */};
|
||||||
static INTEGER16 CO_STORAGE_CLASS od_i16[2]= {
|
static INTEGER16 CO_STORAGE_CLASS od_i16[2]= {
|
||||||
(INTEGER16)0 /* 0x3000:1 */,
|
(INTEGER16)0 /* 0x3000:1 */,
|
||||||
(INTEGER16)2 /* 0x3000:2 */};
|
(INTEGER16)2 /* 0x3000:2 */};
|
||||||
|
|
@ -102,7 +103,7 @@ static CO_CONST UNSIGNED16 CO_CONST_STORAGE_CLASS od_const_u16[4] = {
|
||||||
(UNSIGNED16)100u,
|
(UNSIGNED16)100u,
|
||||||
(UNSIGNED16)10u,
|
(UNSIGNED16)10u,
|
||||||
(UNSIGNED16)500u};
|
(UNSIGNED16)500u};
|
||||||
static CO_CONST UNSIGNED32 CO_CONST_STORAGE_CLASS od_const_u32[28] = {
|
static CO_CONST UNSIGNED32 CO_CONST_STORAGE_CLASS od_const_u32[35] = {
|
||||||
(UNSIGNED32)0UL,
|
(UNSIGNED32)0UL,
|
||||||
(UNSIGNED32)128UL,
|
(UNSIGNED32)128UL,
|
||||||
(UNSIGNED32)500UL,
|
(UNSIGNED32)500UL,
|
||||||
|
|
@ -130,7 +131,14 @@ static CO_CONST UNSIGNED32 CO_CONST_STORAGE_CLASS od_const_u32[28] = {
|
||||||
(UNSIGNED32)1610745120UL,
|
(UNSIGNED32)1610745120UL,
|
||||||
(UNSIGNED32)1610745376UL,
|
(UNSIGNED32)1610745376UL,
|
||||||
(UNSIGNED32)1610875168UL,
|
(UNSIGNED32)1610875168UL,
|
||||||
(UNSIGNED32)1610940704UL};
|
(UNSIGNED32)1610940704UL,
|
||||||
|
(UNSIGNED32)1610875424UL,
|
||||||
|
(UNSIGNED32)1610940960UL,
|
||||||
|
(UNSIGNED32)1610875680UL,
|
||||||
|
(UNSIGNED32)1610941216UL,
|
||||||
|
(UNSIGNED32)1610875936UL,
|
||||||
|
(UNSIGNED32)1610941472UL,
|
||||||
|
(UNSIGNED32)1611005984UL};
|
||||||
static CO_CONST INTEGER16 CO_CONST_STORAGE_CLASS od_const_i16[2] = {
|
static CO_CONST INTEGER16 CO_CONST_STORAGE_CLASS od_const_i16[2] = {
|
||||||
(INTEGER16)0,
|
(INTEGER16)0,
|
||||||
(INTEGER16)2};
|
(INTEGER16)2};
|
||||||
|
|
@ -320,6 +328,27 @@ CO_CONST CO_OBJECT_DESC_T CO_CONST_STORAGE_CLASS od_description[CO_OBJ_DESC_CNT]
|
||||||
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:4*/
|
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:4*/
|
||||||
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1804:5*/
|
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1804:5*/
|
||||||
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:6*/
|
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:6*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1805:0*/
|
||||||
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1805:1*/
|
||||||
|
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1805:2*/
|
||||||
|
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1805:3*/
|
||||||
|
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1805:4*/
|
||||||
|
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1805:5*/
|
||||||
|
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1805:6*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1806:0*/
|
||||||
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1806:1*/
|
||||||
|
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1806:2*/
|
||||||
|
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1806:3*/
|
||||||
|
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1806:4*/
|
||||||
|
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1806:5*/
|
||||||
|
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1806:6*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1807:0*/
|
||||||
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1807:1*/
|
||||||
|
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1807:2*/
|
||||||
|
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1807:3*/
|
||||||
|
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1807:4*/
|
||||||
|
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1807:5*/
|
||||||
|
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1807:6*/
|
||||||
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a00:0*/
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a00:0*/
|
||||||
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)20u},/* 0x1a00:1*/
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)20u},/* 0x1a00:1*/
|
||||||
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)21u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)21u},/* 0x1a00:2*/
|
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)21u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)21u},/* 0x1a00:2*/
|
||||||
|
|
@ -333,8 +362,16 @@ CO_CONST CO_OBJECT_DESC_T CO_CONST_STORAGE_CLASS od_description[CO_OBJ_DESC_CNT]
|
||||||
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)26u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)26u},/* 0x1a03:1*/
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)26u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)26u},/* 0x1a03:1*/
|
||||||
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)27u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)27u},/* 0x1a03:2*/
|
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)27u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)27u},/* 0x1a03:2*/
|
||||||
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a04:0*/
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a04:0*/
|
||||||
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)12u},/* 0x1a04:1*/
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)28u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)28u},/* 0x1a04:1*/
|
||||||
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)13u},/* 0x1a04:2*/
|
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)29u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)29u},/* 0x1a04:2*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a05:0*/
|
||||||
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)30u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)30u},/* 0x1a05:1*/
|
||||||
|
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)31u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)31u},/* 0x1a05:2*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a06:0*/
|
||||||
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)32u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)32u},/* 0x1a06:1*/
|
||||||
|
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)33u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)33u},/* 0x1a06:2*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)4u},/* 0x1a07:0*/
|
||||||
|
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)34u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)34u},/* 0x1a07:1*/
|
||||||
{ (UNSIGNED8)0u, CO_DTYPE_I32_VAR , (UNSIGNED16)0u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC, (UNSIGNED16)0u},/* 0x2001:0*/
|
{ (UNSIGNED8)0u, CO_DTYPE_I32_VAR , (UNSIGNED16)0u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC, (UNSIGNED16)0u},/* 0x2001:0*/
|
||||||
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x3000:0*/
|
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x3000:0*/
|
||||||
{ (UNSIGNED8)1u, CO_DTYPE_I16_VAR , (UNSIGNED16)0u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR, (UNSIGNED16)0u},/* 0x3000:1*/
|
{ (UNSIGNED8)1u, CO_DTYPE_I16_VAR , (UNSIGNED16)0u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR, (UNSIGNED16)0u},/* 0x3000:1*/
|
||||||
|
|
@ -378,6 +415,7 @@ CO_CONST CO_OBJECT_DESC_T CO_CONST_STORAGE_CLASS od_description[CO_OBJ_DESC_CNT]
|
||||||
{ (UNSIGNED8)2u, CO_DTYPE_R32_VAR , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6005:2*/
|
{ (UNSIGNED8)2u, CO_DTYPE_R32_VAR , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6005:2*/
|
||||||
{ (UNSIGNED8)3u, CO_DTYPE_R32_VAR , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6005:3*/
|
{ (UNSIGNED8)3u, CO_DTYPE_R32_VAR , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6005:3*/
|
||||||
{ (UNSIGNED8)4u, CO_DTYPE_R32_VAR , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6005:4*/
|
{ (UNSIGNED8)4u, CO_DTYPE_R32_VAR , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6005:4*/
|
||||||
|
{ (UNSIGNED8)0u, CO_DTYPE_U32_VAR , (UNSIGNED16)23u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6006:0*/
|
||||||
};
|
};
|
||||||
|
|
||||||
/* object dictionary assignment */
|
/* object dictionary assignment */
|
||||||
|
|
@ -425,19 +463,26 @@ CO_CONST CO_OD_ASSIGN_T CO_CONST_STORAGE_CLASS od_assign[CO_OD_ASSIGN_CNT] = {
|
||||||
{ 0x1802u, 7u, 6u, CO_ODTYPE_STRUCT, 152u },
|
{ 0x1802u, 7u, 6u, CO_ODTYPE_STRUCT, 152u },
|
||||||
{ 0x1803u, 7u, 6u, CO_ODTYPE_STRUCT, 159u },
|
{ 0x1803u, 7u, 6u, CO_ODTYPE_STRUCT, 159u },
|
||||||
{ 0x1804u, 7u, 6u, CO_ODTYPE_STRUCT, 166u },
|
{ 0x1804u, 7u, 6u, CO_ODTYPE_STRUCT, 166u },
|
||||||
{ 0x1a00u, 3u, 2u, CO_ODTYPE_STRUCT, 173u },
|
{ 0x1805u, 7u, 6u, CO_ODTYPE_STRUCT, 173u },
|
||||||
{ 0x1a01u, 3u, 2u, CO_ODTYPE_STRUCT, 176u },
|
{ 0x1806u, 7u, 6u, CO_ODTYPE_STRUCT, 180u },
|
||||||
{ 0x1a02u, 3u, 2u, CO_ODTYPE_STRUCT, 179u },
|
{ 0x1807u, 7u, 6u, CO_ODTYPE_STRUCT, 187u },
|
||||||
{ 0x1a03u, 3u, 2u, CO_ODTYPE_STRUCT, 182u },
|
{ 0x1a00u, 3u, 2u, CO_ODTYPE_STRUCT, 194u },
|
||||||
{ 0x1a04u, 3u, 2u, CO_ODTYPE_STRUCT, 185u },
|
{ 0x1a01u, 3u, 2u, CO_ODTYPE_STRUCT, 197u },
|
||||||
{ 0x2001u, 1u, 0u, CO_ODTYPE_VAR, 188u },
|
{ 0x1a02u, 3u, 2u, CO_ODTYPE_STRUCT, 200u },
|
||||||
{ 0x3000u, 3u, 2u, CO_ODTYPE_ARRAY, 189u },
|
{ 0x1a03u, 3u, 2u, CO_ODTYPE_STRUCT, 203u },
|
||||||
{ 0x6000u, 6u, 5u, CO_ODTYPE_ARRAY, 192u },
|
{ 0x1a04u, 3u, 2u, CO_ODTYPE_STRUCT, 206u },
|
||||||
{ 0x6001u, 7u, 6u, CO_ODTYPE_ARRAY, 198u },
|
{ 0x1a05u, 3u, 2u, CO_ODTYPE_STRUCT, 209u },
|
||||||
{ 0x6002u, 7u, 6u, CO_ODTYPE_ARRAY, 205u },
|
{ 0x1a06u, 3u, 2u, CO_ODTYPE_STRUCT, 212u },
|
||||||
{ 0x6003u, 9u, 8u, CO_ODTYPE_ARRAY, 212u },
|
{ 0x1a07u, 2u, 1u, CO_ODTYPE_STRUCT, 215u },
|
||||||
{ 0x6004u, 5u, 4u, CO_ODTYPE_ARRAY, 221u },
|
{ 0x2001u, 1u, 0u, CO_ODTYPE_VAR, 217u },
|
||||||
{ 0x6005u, 5u, 4u, CO_ODTYPE_ARRAY, 226u },
|
{ 0x3000u, 3u, 2u, CO_ODTYPE_ARRAY, 218u },
|
||||||
|
{ 0x6000u, 6u, 5u, CO_ODTYPE_ARRAY, 221u },
|
||||||
|
{ 0x6001u, 7u, 6u, CO_ODTYPE_ARRAY, 227u },
|
||||||
|
{ 0x6002u, 7u, 6u, CO_ODTYPE_ARRAY, 234u },
|
||||||
|
{ 0x6003u, 9u, 8u, CO_ODTYPE_ARRAY, 241u },
|
||||||
|
{ 0x6004u, 5u, 4u, CO_ODTYPE_ARRAY, 250u },
|
||||||
|
{ 0x6005u, 5u, 4u, CO_ODTYPE_ARRAY, 255u },
|
||||||
|
{ 0x6006u, 1u, 0u, CO_ODTYPE_VAR, 260u },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* static PDO mapping tables */
|
/* static PDO mapping tables */
|
||||||
|
|
@ -477,8 +522,32 @@ static CO_CONST PDO_TR_MAP_TABLE_T CO_CONST_STORAGE_CLASS mapTableTPDO4 = {
|
||||||
static CO_CONST PDO_TR_MAP_TABLE_T CO_CONST_STORAGE_CLASS mapTableTPDO5 = {
|
static CO_CONST PDO_TR_MAP_TABLE_T CO_CONST_STORAGE_CLASS mapTableTPDO5 = {
|
||||||
(UNSIGNED8)2u,
|
(UNSIGNED8)2u,
|
||||||
{
|
{
|
||||||
{&od_u32[5], 4u, CO_TRUE, 0x60010320UL },
|
{&od_r32[1], 4u, CO_TRUE, 0x60040220UL },
|
||||||
{&od_u32[6], 4u, CO_TRUE, 0x60010420UL },
|
{&od_r32[5], 4u, CO_TRUE, 0x60050220UL },
|
||||||
|
}
|
||||||
|
};
|
||||||
|
/* Mapping table TPDO 6*/
|
||||||
|
static CO_CONST PDO_TR_MAP_TABLE_T CO_CONST_STORAGE_CLASS mapTableTPDO6 = {
|
||||||
|
(UNSIGNED8)2u,
|
||||||
|
{
|
||||||
|
{&od_r32[2], 4u, CO_TRUE, 0x60040320UL },
|
||||||
|
{&od_r32[6], 4u, CO_TRUE, 0x60050320UL },
|
||||||
|
}
|
||||||
|
};
|
||||||
|
/* Mapping table TPDO 7*/
|
||||||
|
static CO_CONST PDO_TR_MAP_TABLE_T CO_CONST_STORAGE_CLASS mapTableTPDO7 = {
|
||||||
|
(UNSIGNED8)2u,
|
||||||
|
{
|
||||||
|
{&od_r32[3], 4u, CO_TRUE, 0x60040420UL },
|
||||||
|
{&od_r32[7], 4u, CO_TRUE, 0x60050420UL },
|
||||||
|
}
|
||||||
|
};
|
||||||
|
/* Mapping table TPDO 8*/
|
||||||
|
static CO_CONST PDO_TR_MAP_TABLE_T CO_CONST_STORAGE_CLASS mapTableTPDO8 = {
|
||||||
|
(UNSIGNED8)1u,
|
||||||
|
{
|
||||||
|
{&od_u32[23], 4u, CO_TRUE, 0x60060020UL },
|
||||||
|
{NULL, (UNSIGNED8)0u, CO_FALSE, 0ul}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
/* unique rpdo defintion */
|
/* unique rpdo defintion */
|
||||||
|
|
@ -775,6 +844,24 @@ CO_COMMON_INIT_VAL_T commonInitVars = {
|
||||||
return(retVal);
|
return(retVal);
|
||||||
}
|
}
|
||||||
CO_HANDLE_WATCHDOG
|
CO_HANDLE_WATCHDOG
|
||||||
|
/* initialize TPDO 6 */
|
||||||
|
retVal = coPdoTransmitInit(6u, od_const_u8[6], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO6);
|
||||||
|
if (retVal != RET_OK) {
|
||||||
|
return(retVal);
|
||||||
|
}
|
||||||
|
CO_HANDLE_WATCHDOG
|
||||||
|
/* initialize TPDO 7 */
|
||||||
|
retVal = coPdoTransmitInit(7u, od_const_u8[6], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO7);
|
||||||
|
if (retVal != RET_OK) {
|
||||||
|
return(retVal);
|
||||||
|
}
|
||||||
|
CO_HANDLE_WATCHDOG
|
||||||
|
/* initialize TPDO 8 */
|
||||||
|
retVal = coPdoTransmitInit(8u, od_const_u8[6], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO8);
|
||||||
|
if (retVal != RET_OK) {
|
||||||
|
return(retVal);
|
||||||
|
}
|
||||||
|
CO_HANDLE_WATCHDOG
|
||||||
/* initialize RPDO 1 */
|
/* initialize RPDO 1 */
|
||||||
retVal = coPdoReceiveInit(1u, od_const_u8[6], 0u, 0u, &mapTableRPDO0);
|
retVal = coPdoReceiveInit(1u, od_const_u8[6], 0u, 0u, &mapTableRPDO0);
|
||||||
if (retVal != RET_OK) {
|
if (retVal != RET_OK) {
|
||||||
|
|
@ -1020,5 +1107,14 @@ RET_T userOverwriteCobIdSettings(void)
|
||||||
cobId = nodeId + 0x180+1;
|
cobId = nodeId + 0x180+1;
|
||||||
ret = coOdSetCobid(0x1804, 1, cobId);
|
ret = coOdSetCobid(0x1804, 1, cobId);
|
||||||
|
|
||||||
|
cobId = nodeId + 0x180+2;
|
||||||
|
ret = coOdSetCobid(0x1805, 1, cobId);
|
||||||
|
|
||||||
|
cobId = nodeId + 0x180+3;
|
||||||
|
ret = coOdSetCobid(0x1806, 1, cobId);
|
||||||
|
|
||||||
|
cobId = nodeId + 0x180+4;
|
||||||
|
ret = coOdSetCobid(0x1807, 1, cobId);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,12 @@ static uint32 GrundfosPmpReadVoltage(uint8 channel_u8);
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Extern Function Definitions
|
* Extern Function Definitions
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
void GrundfosPmpInit(GrundfosMain_st *grundfos_pst)
|
||||||
|
{
|
||||||
|
grundfos_pst->rawQ_f32 = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void GrundfosPmpEnable(uint8 state_u8)
|
void GrundfosPmpEnable(uint8 state_u8)
|
||||||
{
|
{
|
||||||
if(state_u8 == 0u)
|
if(state_u8 == 0u)
|
||||||
|
|
@ -45,11 +51,14 @@ void GrundfosPmpEnable(uint8 state_u8)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32 GrundfosPmpFeedback(uint8 channel_u8)
|
void GrundfosPmpFeedback(GrundfosMain_st *grundfos_pst)
|
||||||
{
|
{
|
||||||
uint32 feedbackSpeed_u32 = (GrundfosPmpReadVoltage(channel_u8)) * 360u;
|
if (grundfos_pst == NULL)
|
||||||
|
{
|
||||||
|
/* Error */
|
||||||
|
}
|
||||||
|
|
||||||
return feedbackSpeed_u32;
|
grundfos_pst->rawQ_f32 = (GrundfosPmpReadVoltage(grundfos_pst->channel_u32)) * 100 * 360u;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,8 @@ typedef struct
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Extern Function Declarations
|
* Extern Function Declarations
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
uint32 GrundfosPmpFeedback(uint8 channel_u8);
|
void GrundfosPmpInit(GrundfosMain_st *grundfos_pst);
|
||||||
|
void GrundfosPmpFeedback(GrundfosMain_st *grundfos_pst);
|
||||||
void GrundfosPmpEnable(uint8_t state_u8);
|
void GrundfosPmpEnable(uint8_t state_u8);
|
||||||
bool GrundfosPmpSetSpeed(float setSpeed_f);
|
bool GrundfosPmpSetSpeed(float setSpeed_f);
|
||||||
#endif /* GRUNDFOS_H_ */
|
#endif /* GRUNDFOS_H_ */
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,6 @@
|
||||||
|
|
||||||
#define OD_ENTRY_PU_GRUNDFOS_PUMP_ENABLE_SUB_INDEX 0x01
|
#define OD_ENTRY_PU_GRUNDFOS_PUMP_ENABLE_SUB_INDEX 0x01
|
||||||
#define OD_ENTRY_PU_GRUNDFOS_PUMP_SET_SPEED_SUB_INDEX 0x02
|
#define OD_ENTRY_PU_GRUNDFOS_PUMP_SET_SPEED_SUB_INDEX 0x02
|
||||||
#define OD_ENTRY_PU_GRUNDFOS_PUMP_FEEDBACK_SUB_INDEX 0x03
|
#define OD_ENTRY_PU_GRUNDFOS_PUMP_FEEDBACK_SUB_INDEX 0x00
|
||||||
|
|
||||||
#endif /* OD_ENTRIES_H_ */
|
#endif /* OD_ENTRIES_H_ */
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,8 @@ void ProcessBoardInit(void)
|
||||||
PressureSensorInit(&pressureSensorPS2_gst);
|
PressureSensorInit(&pressureSensorPS2_gst);
|
||||||
PressureSensorInit(&pressureSensorPS3_gst);
|
PressureSensorInit(&pressureSensorPS3_gst);
|
||||||
PressureSensorInit(&pressureSensorPS4_gst);
|
PressureSensorInit(&pressureSensorPS4_gst);
|
||||||
|
|
||||||
|
GrundfosPmpInit(&grundfosPMP_gst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -166,6 +168,8 @@ void ProcessBoardRun(void)
|
||||||
ProcessBoardPressureSensorDataOUT(pressureSensorPS3_gst.rawT_f32);
|
ProcessBoardPressureSensorDataOUT(pressureSensorPS3_gst.rawT_f32);
|
||||||
ProcessBoardPressureSensorDataOUT(pressureSensorPS4_gst.rawT_f32);
|
ProcessBoardPressureSensorDataOUT(pressureSensorPS4_gst.rawT_f32);
|
||||||
|
|
||||||
|
ProcessBoardPumpSpeedDataOUT(grundfosPMP_gst.rawQ_f32);
|
||||||
|
|
||||||
ProcessBoardGrundfosPumpHandler();
|
ProcessBoardGrundfosPumpHandler();
|
||||||
|
|
||||||
ProcessBoardReadCondDataIN();
|
ProcessBoardReadCondDataIN();
|
||||||
|
|
@ -215,12 +219,12 @@ static void ProcessBoardGrundfosPumpHandler(void)
|
||||||
startTime_u64 = currentTimeMs_u64;
|
startTime_u64 = currentTimeMs_u64;
|
||||||
}
|
}
|
||||||
|
|
||||||
GrundfosPmpSetSpeed(speed_u8);
|
// GrundfosPmpSetSpeed(speed_u8);
|
||||||
|
|
||||||
/* Grundfos Pump feedback speed OUT */
|
/* Grundfos Pump feedback speed OUT */
|
||||||
pmpSpeed_u32 = GrundfosPmpFeedback(PMP_ADC_CHANNEL);
|
GrundfosPmpFeedback(&grundfosPMP_gst);
|
||||||
|
|
||||||
if (pmpSpeed_u32 > PU_PMP_RATED_SPEED)
|
if (grundfosPMP_gst.rawQ_f32 > PU_PMP_RATED_SPEED)
|
||||||
{
|
{
|
||||||
GrundfosPmpEnable(PU_PMP_DISABLE);
|
GrundfosPmpEnable(PU_PMP_DISABLE);
|
||||||
}
|
}
|
||||||
|
|
@ -268,25 +272,25 @@ static void ProcessBoardWriteCondDataOUT(void)
|
||||||
|
|
||||||
static void ProcessBoardFlowmeterDataOUT(float32 rawQ_f32)
|
static void ProcessBoardFlowmeterDataOUT(float32 rawQ_f32)
|
||||||
{
|
{
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER1_DATA_OUT_SUB_INDEX, rawQ_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER1_DATA_OUT_SUB_INDEX, 1.0f);
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER1_DATA_OUT_SUB_INDEX, rawQ_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER2_DATA_OUT_SUB_INDEX, 1.0f);
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER1_DATA_OUT_SUB_INDEX, rawQ_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER3_DATA_OUT_SUB_INDEX, 1.0f);
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER1_DATA_OUT_SUB_INDEX, rawQ_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_FLOWMETER_DATA_OUT_INDEX, OD_ENTRY_PU_FLOWMETER4_DATA_OUT_SUB_INDEX, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void ProcessBoardPressureSensorDataOUT(float32 rawT_f32)
|
static void ProcessBoardPressureSensorDataOUT(float32 rawT_f32)
|
||||||
{
|
{
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE1_DATA_OUT_SUB_INDEX, rawT_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE1_DATA_OUT_SUB_INDEX, 2.0f);
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE1_DATA_OUT_SUB_INDEX, rawT_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE2_DATA_OUT_SUB_INDEX, 2.0f);
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE1_DATA_OUT_SUB_INDEX, rawT_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE3_DATA_OUT_SUB_INDEX, 2.0f);
|
||||||
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE1_DATA_OUT_SUB_INDEX, rawT_f32);
|
NmsCanPutObj_f32(OD_ENTRY_PU_PRESSURE_DATA_OUT_INDEX, OD_ENTRY_PU_PRESSURE4_DATA_OUT_SUB_INDEX, 2.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void ProcessBoardPumpSpeedDataOUT(uint32 pmpSpeed_u32)
|
static void ProcessBoardPumpSpeedDataOUT(uint32 pmpSpeed_u32)
|
||||||
{
|
{
|
||||||
NmsCanPutObj_u32(OD_ENTRY_PU_GRUNDFOS_PUMP_CONTROL_INDEX, OD_ENTRY_PU_GRUNDFOS_PUMP_FEEDBACK_SUB_INDEX, pmpSpeed_u32);
|
NmsCanPutObj_u32(OD_ENTRY_PU_GRUNDFOS_PUMP_CONTROL_INDEX, OD_ENTRY_PU_GRUNDFOS_PUMP_FEEDBACK_SUB_INDEX, 3.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
#define SDL_SDO_CLIENT_TO_SERVER_COB 0x600
|
#define SDL_SDO_CLIENT_TO_SERVER_COB 0x600
|
||||||
#define SDL_SDO_SERVER_TO_CLIENT_COB 0x580
|
#define SDL_SDO_SERVER_TO_CLIENT_COB 0x580
|
||||||
|
|
||||||
#define SDL_MIN_OPERATIONAL_NODES 18u /* To be 20, one node not in working state currently */
|
#define SDL_MIN_OPERATIONAL_NODES 15u /* To be 20, one node not in working state currently */
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Type Declarations
|
* Type Declarations
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
|
||||||
360
gui.py
360
gui.py
|
|
@ -1,183 +1,100 @@
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
import struct
|
||||||
import canopen
|
import canopen
|
||||||
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem, QVBoxLayout, QHBoxLayout, QLabel, QGroupBox, QFormLayout
|
import can
|
||||||
|
from can.listener import Listener
|
||||||
|
from PyQt5.QtWidgets import (
|
||||||
|
QApplication, QWidget, QTableWidget, QTableWidgetItem, QVBoxLayout,
|
||||||
|
QHBoxLayout, QLabel, QGroupBox, QFormLayout, QPushButton, QMessageBox, QHeaderView
|
||||||
|
)
|
||||||
from PyQt5.QtCore import QTimer, Qt
|
from PyQt5.QtCore import QTimer, Qt
|
||||||
from PyQt5.QtGui import QColor
|
from PyQt5.QtGui import QColor
|
||||||
|
|
||||||
# Connect to CAN network
|
|
||||||
network = canopen.Network()
|
|
||||||
network.connect(channel='PCAN_USBBUS1', bustype='pcan', bitrate=250000)
|
|
||||||
motorBoardEdsPath = r'C:\Users\vineetagupta\Documents\NorthStar-Motor-Valve-Board-Firmware\MotorValveBoard\coappl\motorcontrollervalve.eds'
|
motorBoardEdsPath = r'C:\Users\vineetagupta\Documents\NorthStar-Motor-Valve-Board-Firmware\MotorValveBoard\coappl\motorcontrollervalve.eds'
|
||||||
puBoardEdsPath = r'C:\Users\vineetagupta\Documents\NorthStar-Production-Unit-Board-Firmware\ProcessBoardV1\coappl\processBoard_1.eds'
|
puBoardEdsPath = r'C:\Users\vineetagupta\Documents\NorthStar-Endurance-TestBench\EnduranceTestBench\coappl\enduranceTestBench.eds'
|
||||||
|
|
||||||
nodes = {}
|
|
||||||
motorBoardTpdoData = {} # Store latest setpoint and feedback per node
|
|
||||||
PuBoardData = {}
|
|
||||||
|
|
||||||
def PUBoardNode():
|
|
||||||
global PuBoardData
|
|
||||||
try:
|
|
||||||
PuBoardData = canopen.RemoteNode(0x1, puBoardEdsPath)
|
|
||||||
network.add_node(PuBoardData)
|
|
||||||
time.sleep(0.1)
|
|
||||||
|
|
||||||
# Add to node list early for visibility
|
|
||||||
nodes[1] = PuBoardData
|
|
||||||
|
|
||||||
# Now check if extra node is OPERATIONAL
|
|
||||||
if PuBoardData.nmt.state == 'OPERATIONAL':
|
|
||||||
PuBoardData.tpdo.read()
|
|
||||||
PuBoardData.tpdo[1].enabled = True
|
|
||||||
|
|
||||||
def make_extra_callback():
|
|
||||||
def cb(map_obj):
|
|
||||||
global PuBoardData
|
|
||||||
for var in map_obj:
|
|
||||||
# Flow meter data (0x6005, 0x01 to 0x04)
|
|
||||||
if var.index == 0x6005:
|
|
||||||
if var.subindex == 0x01:
|
|
||||||
PuBoardData['flowmeter']['0x01'] = var.raw
|
|
||||||
elif var.subindex == 0x02:
|
|
||||||
PuBoardData['flowmeter']['0x02'] = var.raw
|
|
||||||
elif var.subindex == 0x03:
|
|
||||||
PuBoardData['flowmeter']['0x03'] = var.raw
|
|
||||||
elif var.subindex == 0x04:
|
|
||||||
PuBoardData['flowmeter']['0x04'] = var.raw
|
|
||||||
|
|
||||||
# Pressure sensor data (0x6006, 0x01 to 0x04)
|
|
||||||
elif var.index == 0x6006:
|
|
||||||
if var.subindex == 0x01:
|
|
||||||
PuBoardData['pressure']['0x01'] = var.raw
|
|
||||||
elif var.subindex == 0x02:
|
|
||||||
PuBoardData['pressure']['0x02'] = var.raw
|
|
||||||
elif var.subindex == 0x03:
|
|
||||||
PuBoardData['pressure']['0x03'] = var.raw
|
|
||||||
elif var.subindex == 0x04:
|
|
||||||
PuBoardData['pressure']['0x04'] = var.raw
|
|
||||||
|
|
||||||
return cb
|
|
||||||
|
|
||||||
PuBoardData.tpdo[1].add_callback(make_extra_callback())
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
print(f"Extra Node {1} error: {e}")
|
|
||||||
|
|
||||||
|
|
||||||
def motorNode():
|
class SDOSetpointListener(Listener):
|
||||||
for node_id in range(5, 27):
|
def __init__(self, parent):
|
||||||
try:
|
self.parent = parent
|
||||||
node = canopen.RemoteNode(node_id, motorBoardEdsPath)
|
|
||||||
network.add_node(node)
|
|
||||||
time.sleep(0.1)
|
|
||||||
|
|
||||||
# Add to node list early so it's visible in GUI
|
def on_message_received(self, msg):
|
||||||
nodes[node_id] = node
|
if 0x600 <= msg.arbitration_id <= 0x61F and len(msg.data) >= 8:
|
||||||
motorBoardTpdoData[node_id] = {'setpoint': '-', 'feedback': '-'}
|
node_id = msg.arbitration_id - 0x600
|
||||||
|
cmd = msg.data[0] & 0xE0
|
||||||
|
index = msg.data[1] | (msg.data[2] << 8)
|
||||||
|
subindex = msg.data[3]
|
||||||
|
|
||||||
# Now check if node is OPERATIONAL
|
if index == 0x6000 and subindex == 0x01 and cmd == 0x20:
|
||||||
if node.nmt.state == 'OPERATIONAL':
|
setpoint_val = msg.data[4]
|
||||||
node.tpdo.read()
|
self.parent.motorBoardTpdoData[node_id]['setpoint'] = setpoint_val
|
||||||
node.tpdo[1].enabled = True
|
|
||||||
|
|
||||||
def make_callback(nid):
|
|
||||||
def cb(map_obj):
|
|
||||||
for var in map_obj:
|
|
||||||
if var.index == 0x6002:
|
|
||||||
motorBoardTpdoData[nid]['setpoint'] = var.raw
|
|
||||||
elif var.index == 0x6004:
|
|
||||||
motorBoardTpdoData[nid]['feedback'] = var.raw
|
|
||||||
return cb
|
|
||||||
|
|
||||||
node.tpdo[1].add_callback(make_callback(node_id))
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
print(f"Node {node_id} error: {e}")
|
|
||||||
|
|
||||||
|
|
||||||
# --------------------------- PyQt GUI -------------------------------
|
|
||||||
class NodeTableWindow(QWidget):
|
class NodeTableWindow(QWidget):
|
||||||
def __init__(self, nodes):
|
def __init__(self, nodes):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.setWindowTitle("Valve Node Status")
|
self.setWindowTitle("Endurance Test Bench")
|
||||||
self.nodes = nodes
|
self.nodes = nodes
|
||||||
self.num_nodes = len(nodes)
|
self.motorBoardTpdoData = {}
|
||||||
|
self.PuBoardData = {}
|
||||||
|
self.connected = False
|
||||||
|
self.network = None
|
||||||
|
self.num_nodes = 0
|
||||||
self.init_ui()
|
self.init_ui()
|
||||||
self.start_timer()
|
self.start_timer()
|
||||||
|
|
||||||
def init_ui(self):
|
def init_ui(self):
|
||||||
layout = QHBoxLayout(self)
|
layout = QVBoxLayout(self)
|
||||||
|
button_row = QHBoxLayout()
|
||||||
# Left side - Table
|
self.connect_btn = QPushButton("Connect to CAN", self)
|
||||||
|
self.disconnect_btn = QPushButton("Disconnect", self)
|
||||||
|
self.disconnect_btn.setEnabled(False)
|
||||||
|
self.connect_btn.clicked.connect(self.handle_connect)
|
||||||
|
self.disconnect_btn.clicked.connect(self.handle_disconnect)
|
||||||
|
button_row.addWidget(self.connect_btn)
|
||||||
|
button_row.addWidget(self.disconnect_btn)
|
||||||
|
layout.addLayout(button_row)
|
||||||
|
main_layout = QHBoxLayout()
|
||||||
self.table_widget = QWidget(self)
|
self.table_widget = QWidget(self)
|
||||||
table_layout = QVBoxLayout(self.table_widget)
|
table_layout = QVBoxLayout()
|
||||||
|
table_heading = QLabel("Valve Details")
|
||||||
# Heading for the table
|
table_heading.setAlignment(Qt.AlignLeft)
|
||||||
table_heading = QLabel("Valve Details", self)
|
|
||||||
table_layout.addWidget(table_heading)
|
table_layout.addWidget(table_heading)
|
||||||
|
self.table = QTableWidget(0, 4)
|
||||||
# Table
|
|
||||||
self.table = QTableWidget(self.num_nodes, 4)
|
|
||||||
self.table.setHorizontalHeaderLabels(["Node ID", "Setpoint", "Feedback", "Status"])
|
self.table.setHorizontalHeaderLabels(["Node ID", "Setpoint", "Feedback", "Status"])
|
||||||
|
self.table.horizontalHeader().setStretchLastSection(True)
|
||||||
# Dynamic height based on the number of nodes
|
self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
||||||
self.table.setFixedHeight(30 * self.num_nodes) # 30px height per row
|
self.table.verticalHeader().setVisible(False)
|
||||||
self.table.setFixedWidth(500)
|
|
||||||
|
|
||||||
# Adjust column width to content
|
|
||||||
self.table.resizeColumnsToContents
|
|
||||||
|
|
||||||
for row, node_id in enumerate(sorted(self.nodes.keys())):
|
|
||||||
item = QTableWidgetItem(str(node_id))
|
|
||||||
item.setTextAlignment(Qt.AlignCenter)
|
|
||||||
self.table.setItem(row, 0, item)
|
|
||||||
|
|
||||||
table_layout.addWidget(self.table)
|
table_layout.addWidget(self.table)
|
||||||
self.table_widget.setLayout(table_layout)
|
self.table_widget.setLayout(table_layout)
|
||||||
|
|
||||||
# Right side - Pump, Flowmeter, and Pressure Sensor Details
|
|
||||||
self.details_widget = QWidget(self)
|
self.details_widget = QWidget(self)
|
||||||
details_layout = QVBoxLayout(self.details_widget)
|
details_layout = QVBoxLayout(self.details_widget)
|
||||||
|
|
||||||
# Pump Details
|
|
||||||
pump_group = QGroupBox("Pump Details", self)
|
|
||||||
pump_layout = QFormLayout(pump_group)
|
|
||||||
pump_speed_label = QLabel("Speed: 0 RPM", self) # Example pump speed
|
|
||||||
pump_layout.addRow("Pump 1", pump_speed_label)
|
|
||||||
pump_layout.addRow("Pump 2", pump_speed_label)
|
|
||||||
pump_layout.addRow("Pump 3", pump_speed_label)
|
|
||||||
pump_layout.addRow("Pump 4", pump_speed_label)
|
|
||||||
details_layout.addWidget(pump_group)
|
|
||||||
|
|
||||||
# Flow Meter Details
|
|
||||||
flow_group = QGroupBox("Flow Meter Details", self)
|
|
||||||
flow_layout = QFormLayout(flow_group)
|
|
||||||
self.flow_rate_label = QLabel("Flow Rate: 0 L/min", self) # Assign object name
|
|
||||||
self.flow_rate_label.setObjectName("Flow Rate")
|
|
||||||
flow_layout.addRow("Flow Rate", self.flow_rate_label)
|
|
||||||
details_layout.addWidget(flow_group)
|
|
||||||
|
|
||||||
# Pressure Sensor Details
|
|
||||||
pressure_group = QGroupBox("Pressure Sensor Details", self)
|
pressure_group = QGroupBox("Pressure Sensor Details", self)
|
||||||
pressure_layout = QFormLayout(pressure_group)
|
pressure_layout = QFormLayout(pressure_group)
|
||||||
self.pressure_value_label = QLabel("Pressure: 0 bar", self) # Assign object name
|
self.pressure_labels = []
|
||||||
self.pressure_value_label.setObjectName("Pressure")
|
for i in range(1, 5):
|
||||||
pressure_layout.addRow("Pressure", self.pressure_value_label)
|
label = QLabel("0 bar", self)
|
||||||
|
self.pressure_labels.append(label)
|
||||||
|
pressure_layout.addRow(f"Pressure Sensor {i}", label)
|
||||||
details_layout.addWidget(pressure_group)
|
details_layout.addWidget(pressure_group)
|
||||||
|
flow_group = QGroupBox("Flow Meter Details", self)
|
||||||
|
flow_layout = QFormLayout(flow_group)
|
||||||
|
self.flow_rate_label = []
|
||||||
|
for i in range(1, 5):
|
||||||
|
label = QLabel("0 L/h", self)
|
||||||
|
self.flow_rate_label.append(label)
|
||||||
|
flow_layout.addRow(f"Flowmeter {i}", label)
|
||||||
|
details_layout.addWidget(flow_group)
|
||||||
|
pump_group = QGroupBox("Pump Details", self)
|
||||||
|
pump_layout = QFormLayout(pump_group)
|
||||||
|
self.pump_value_label = QLabel("0 RPM", self)
|
||||||
|
pump_layout.addRow("Speed", self.pump_value_label)
|
||||||
|
details_layout.addWidget(pump_group)
|
||||||
self.details_widget.setLayout(details_layout)
|
self.details_widget.setLayout(details_layout)
|
||||||
|
main_layout.addWidget(self.table_widget)
|
||||||
# Add both widgets (table and details) to the main layout
|
main_layout.addWidget(self.details_widget)
|
||||||
layout.addWidget(self.table_widget)
|
layout.addLayout(main_layout)
|
||||||
layout.addWidget(self.details_widget)
|
|
||||||
|
|
||||||
self.setLayout(layout)
|
|
||||||
|
|
||||||
# Set window size
|
|
||||||
screen = QApplication.primaryScreen()
|
screen = QApplication.primaryScreen()
|
||||||
screen_geometry = screen.availableGeometry()
|
screen_geometry = screen.availableGeometry()
|
||||||
width = int(screen_geometry.width() * 0.4)
|
width = int(screen_geometry.width() * 0.4)
|
||||||
|
|
@ -186,56 +103,161 @@ class NodeTableWindow(QWidget):
|
||||||
y = int((screen_geometry.height() - height) / 2)
|
y = int((screen_geometry.height() - height) / 2)
|
||||||
self.setGeometry(x, y, width, height)
|
self.setGeometry(x, y, width, height)
|
||||||
|
|
||||||
|
|
||||||
def start_timer(self):
|
def start_timer(self):
|
||||||
self.timer = QTimer()
|
self.timer = QTimer()
|
||||||
self.timer.setInterval(500)
|
self.timer.setInterval(500)
|
||||||
self.timer.timeout.connect(self.update_table)
|
self.timer.timeout.connect(self.update_table)
|
||||||
self.timer.start()
|
self.timer.start()
|
||||||
|
|
||||||
|
def handle_connect(self):
|
||||||
|
try:
|
||||||
|
self.network = canopen.Network()
|
||||||
|
self.network.connect(channel='PCAN_USBBUS1', bustype='pcan', bitrate=250000)
|
||||||
|
self.nodes = {}
|
||||||
|
self.motorBoardTpdoData = {}
|
||||||
|
self.PuBoardData = {}
|
||||||
|
self.init_motor_nodes()
|
||||||
|
self.init_pu_node()
|
||||||
|
self.listener = SDOSetpointListener(self)
|
||||||
|
self.notifier = can.Notifier(self.network.bus, [self.listener])
|
||||||
|
|
||||||
|
self.connected = True
|
||||||
|
self.num_nodes = len(self.nodes)
|
||||||
|
self.table.setRowCount(self.num_nodes)
|
||||||
|
for row, node_id in enumerate(sorted(self.nodes.keys())):
|
||||||
|
item = QTableWidgetItem(str(node_id))
|
||||||
|
item.setTextAlignment(Qt.AlignCenter)
|
||||||
|
self.table.setItem(row, 0, item)
|
||||||
|
self.connect_btn.setStyleSheet("background-color: lightgreen;")
|
||||||
|
self.disconnect_btn.setEnabled(True)
|
||||||
|
QMessageBox.information(self, "Connected", "Successfully connected to CAN and initialized nodes.")
|
||||||
|
except Exception as e:
|
||||||
|
QMessageBox.critical(self, "Connection Error", f"Failed to connect:\n{e}")
|
||||||
|
self.connected = False
|
||||||
|
|
||||||
|
def handle_disconnect(self):
|
||||||
|
try:
|
||||||
|
if hasattr(self, 'notifier'):
|
||||||
|
self.notifier.stop()
|
||||||
|
if self.network:
|
||||||
|
self.network.disconnect()
|
||||||
|
self.connected = False
|
||||||
|
self.nodes.clear()
|
||||||
|
self.motorBoardTpdoData.clear()
|
||||||
|
self.PuBoardData.clear()
|
||||||
|
self.table.clearContents()
|
||||||
|
self.table.setRowCount(0)
|
||||||
|
self.connect_btn.setEnabled(True)
|
||||||
|
self.disconnect_btn.setEnabled(False)
|
||||||
|
self.connect_btn.setStyleSheet("")
|
||||||
|
QMessageBox.information(self, "Disconnected", "CAN network disconnected.")
|
||||||
|
except Exception as e:
|
||||||
|
QMessageBox.warning(self, "Disconnect Error", f"Error while disconnecting:\n{e}")
|
||||||
|
|
||||||
|
def init_motor_nodes(self):
|
||||||
|
for node_id in range(5, 27):
|
||||||
|
try:
|
||||||
|
node = canopen.RemoteNode(node_id, motorBoardEdsPath)
|
||||||
|
self.network.add_node(node)
|
||||||
|
time.sleep(0.1)
|
||||||
|
self.nodes[node_id] = node
|
||||||
|
self.motorBoardTpdoData[node_id] = {'setpoint': '-', 'feedback': '-'}
|
||||||
|
if node.nmt.state == 'OPERATIONAL':
|
||||||
|
node.tpdo.read()
|
||||||
|
node.tpdo[1].enabled = True
|
||||||
|
|
||||||
|
def make_callback(nid):
|
||||||
|
def cb(map_obj):
|
||||||
|
for var in map_obj:
|
||||||
|
if var.index == 0x6002:
|
||||||
|
self.motorBoardTpdoData[nid]['feedback'] = var.raw
|
||||||
|
return cb
|
||||||
|
|
||||||
|
node.tpdo[1].add_callback(make_callback(node_id))
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Motor node {node_id} error: {e}")
|
||||||
|
|
||||||
|
def init_pu_node(self):
|
||||||
|
try:
|
||||||
|
node = canopen.RemoteNode(0x1, puBoardEdsPath)
|
||||||
|
self.network.add_node(node)
|
||||||
|
time.sleep(0.1)
|
||||||
|
self.nodes[1] = node
|
||||||
|
self.PuBoardData = {'flowmeter': {}, 'pressure': {}, 'pump': {}}
|
||||||
|
|
||||||
|
if node.nmt.state == 'OPERATIONAL':
|
||||||
|
node.tpdo.read()
|
||||||
|
|
||||||
|
# Enable all relevant TPDOs
|
||||||
|
for tpdo_id in range(4, 9): # TPDO4 to TPDO8
|
||||||
|
if tpdo_id in node.tpdo:
|
||||||
|
node.tpdo[tpdo_id].enabled = True
|
||||||
|
|
||||||
|
def make_callback():
|
||||||
|
def cb(map_obj):
|
||||||
|
for var in map_obj:
|
||||||
|
if var.index == 0x6004:
|
||||||
|
self.PuBoardData['flowmeter'][f'0x{var.subindex:02X}'] = var.raw
|
||||||
|
elif var.index == 0x6005:
|
||||||
|
self.PuBoardData['pressure'][f'0x{var.subindex:02X}'] = var.raw
|
||||||
|
elif var.index == 0x6006:
|
||||||
|
self.PuBoardData['pump'][f'0x{var.subindex:02X}'] = var.raw
|
||||||
|
return cb
|
||||||
|
|
||||||
|
node.tpdo[tpdo_id].add_callback(make_callback())
|
||||||
|
except Exception as e:
|
||||||
|
print(f"PU node error: {e}")
|
||||||
|
|
||||||
|
|
||||||
def update_table(self):
|
def update_table(self):
|
||||||
|
if not self.connected:
|
||||||
|
return
|
||||||
for row, node_id in enumerate(sorted(self.nodes.keys())):
|
for row, node_id in enumerate(sorted(self.nodes.keys())):
|
||||||
node = self.nodes[node_id]
|
node = self.nodes[node_id]
|
||||||
|
|
||||||
# Node status
|
|
||||||
try:
|
try:
|
||||||
status = node.nmt.state
|
status = node.nmt.state
|
||||||
except:
|
except:
|
||||||
status = "UNKNOWN"
|
status = "UNKNOWN"
|
||||||
|
|
||||||
# Color Node ID based on status
|
|
||||||
node_item = self.table.item(row, 0)
|
node_item = self.table.item(row, 0)
|
||||||
node_item.setBackground(QColor("green") if status == "OPERATIONAL" else QColor("red"))
|
if node_item:
|
||||||
|
node_item.setBackground(
|
||||||
# Setpoint
|
QColor("green") if status == "OPERATIONAL" else
|
||||||
set_val = str(motorBoardTpdoData.get(node_id, {}).get('setpoint', '-'))
|
QColor("yellow") if status == "PRE-OPERATIONAL" else
|
||||||
|
QColor("red")
|
||||||
|
)
|
||||||
|
set_val = str(self.motorBoardTpdoData.get(node_id, {}).get('setpoint', '-'))
|
||||||
setpoint_item = QTableWidgetItem(set_val)
|
setpoint_item = QTableWidgetItem(set_val)
|
||||||
setpoint_item.setTextAlignment(Qt.AlignCenter)
|
setpoint_item.setTextAlignment(Qt.AlignCenter)
|
||||||
self.table.setItem(row, 1, setpoint_item)
|
self.table.setItem(row, 1, setpoint_item)
|
||||||
|
fb_val = str(self.motorBoardTpdoData.get(node_id, {}).get('feedback', '-'))
|
||||||
# Feedback
|
|
||||||
fb_val = str(motorBoardTpdoData.get(node_id, {}).get('feedback', '-'))
|
|
||||||
feedback_item = QTableWidgetItem(fb_val)
|
feedback_item = QTableWidgetItem(fb_val)
|
||||||
feedback_item.setTextAlignment(Qt.AlignCenter)
|
feedback_item.setTextAlignment(Qt.AlignCenter)
|
||||||
self.table.setItem(row, 2, feedback_item)
|
self.table.setItem(row, 2, feedback_item)
|
||||||
|
|
||||||
# Status
|
|
||||||
status_item = QTableWidgetItem(status)
|
status_item = QTableWidgetItem(status)
|
||||||
status_item.setTextAlignment(Qt.AlignCenter)
|
status_item.setTextAlignment(Qt.AlignCenter)
|
||||||
self.table.setItem(row, 3, status_item)
|
self.table.setItem(row, 3, status_item)
|
||||||
|
# Update flowmeter values
|
||||||
|
for i in range(1, 5):
|
||||||
|
value = self.PuBoardData.get("flowmeter", {}).get(f"0x{i:02X}", 0)
|
||||||
|
self.flow_rate_label[i-1].setText(f"{value} L/h")
|
||||||
|
|
||||||
|
# Update pressure sensor values
|
||||||
|
for i in range(1, 5):
|
||||||
|
value = self.PuBoardData.get("pressure", {}).get(f"0x{i:02X}", 0)
|
||||||
|
self.pressure_labels[i-1].setText(f"{value} bar")
|
||||||
|
|
||||||
|
# Update pump speed
|
||||||
|
value = self.PuBoardData.get("pump", {}).get("0x00", 0)
|
||||||
|
self.pump_value_label.setText(f"{value} RPM")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
# Initialize all the nodes
|
|
||||||
motorNode()
|
|
||||||
PUBoardNode()
|
|
||||||
|
|
||||||
# Start the GUI
|
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
window = NodeTableWindow(nodes)
|
window = NodeTableWindow({})
|
||||||
window.show()
|
window.show()
|
||||||
|
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user