double float = fal_float size added to lcec. LCNC starts and works

This commit is contained in:
Hakan Bastedt
2024-01-02 18:46:26 +01:00
parent 8007a2ff6c
commit b57bd740ab
7 changed files with 128 additions and 124 deletions

View File

@@ -389,7 +389,7 @@
</DataType>
<DataType>
<Name>DT6005</Name>
<BitSize>48</BitSize>
<BitSize>80</BitSize>
<SubItem>
<SubIdx>0</SubIdx>
<Name>Max SubIndex</Name>
@@ -403,8 +403,8 @@
<SubItem>
<SubIdx>1</SubIdx>
<Name>ActualPosition</Name>
<Type>DINT</Type>
<BitSize>32</BitSize>
<Type>LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>16</BitOffs>
<Flags>
<Access WriteRestrictions="PreOP">ro</Access>
@@ -414,7 +414,7 @@
</DataType>
<DataType>
<Name>DT7002</Name>
<BitSize>48</BitSize>
<BitSize>80</BitSize>
<SubItem>
<SubIdx>0</SubIdx>
<Name>Max SubIndex</Name>
@@ -428,8 +428,8 @@
<SubItem>
<SubIdx>1</SubIdx>
<Name>CommandedPosition</Name>
<Type>DINT</Type>
<BitSize>32</BitSize>
<Type>LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>16</BitOffs>
<Flags>
<Access WriteRestrictions="PreOP">ro</Access>
@@ -458,8 +458,8 @@
<BitSize>16</BitSize>
</DataType>
<DataType>
<Name>REAL</Name>
<BitSize>32</BitSize>
<Name>LREAL</Name>
<BitSize>64</BitSize>
</DataType>
<DataType>
<Name>UDINT</Name>
@@ -623,7 +623,7 @@
<SubItem>
<Name>CommandedPosition</Name>
<Info>
<DefaultValue>#x70020120</DefaultValue>
<DefaultValue>#x70020140</DefaultValue>
</Info>
</SubItem>
</Info>
@@ -646,7 +646,7 @@
<SubItem>
<Name>EncPos</Name>
<Info>
<DefaultValue>#x60000020</DefaultValue>
<DefaultValue>#x60000040</DefaultValue>
</Info>
</SubItem>
</Info>
@@ -669,7 +669,7 @@
<SubItem>
<Name>EncFrequency</Name>
<Info>
<DefaultValue>#x60010020</DefaultValue>
<DefaultValue>#x60010040</DefaultValue>
</Info>
</SubItem>
</Info>
@@ -761,7 +761,7 @@
<SubItem>
<Name>ActualPosition</Name>
<Info>
<DefaultValue>#x60050120</DefaultValue>
<DefaultValue>#x60050140</DefaultValue>
</Info>
</SubItem>
</Info>
@@ -901,8 +901,8 @@
<Object>
<Index>#x6000</Index>
<Name>EncPos</Name>
<Type>REAL</Type>
<BitSize>32</BitSize>
<Type>LREAL</Type>
<BitSize>64</BitSize>
<Info>
<DefaultValue>0</DefaultValue>
</Info>
@@ -914,8 +914,8 @@
<Object>
<Index>#x6001</Index>
<Name>EncFrequency</Name>
<Type>REAL</Type>
<BitSize>32</BitSize>
<Type>LREAL</Type>
<BitSize>64</BitSize>
<Info>
<DefaultValue>0</DefaultValue>
</Info>
@@ -967,7 +967,7 @@
<Index>#x6005</Index>
<Name>StepGenOut1</Name>
<Type>DT6005</Type>
<BitSize>48</BitSize>
<BitSize>80</BitSize>
<Info>
<SubItem>
<Name>Max SubIndex</Name>
@@ -1016,7 +1016,7 @@
<Index>#x7002</Index>
<Name>StepGenIn1</Name>
<Type>DT7002</Type>
<BitSize>48</BitSize>
<BitSize>80</BitSize>
<Info>
<SubItem>
<Name>Max SubIndex</Name>
@@ -1073,9 +1073,9 @@
<Entry>
<Index>#x7002</Index>
<SubIndex>#x1</SubIndex>
<BitLen>32</BitLen>
<BitLen>64</BitLen>
<Name>CommandedPosition</Name>
<DataType>DINT</DataType>
<DataType>LREAL</DataType>
</Entry>
</RxPdo>
<TxPdo Fixed="true" Mandatory="true" Sm="3">
@@ -1084,9 +1084,9 @@
<Entry>
<Index>#x6000</Index>
<SubIndex>#x0</SubIndex>
<BitLen>32</BitLen>
<BitLen>64</BitLen>
<Name>EncPos</Name>
<DataType>REAL</DataType>
<DataType>LREAL</DataType>
</Entry>
</TxPdo>
<TxPdo Fixed="true" Mandatory="true" Sm="3">
@@ -1095,9 +1095,9 @@
<Entry>
<Index>#x6001</Index>
<SubIndex>#x0</SubIndex>
<BitLen>32</BitLen>
<BitLen>64</BitLen>
<Name>EncFrequency</Name>
<DataType>REAL</DataType>
<DataType>LREAL</DataType>
</Entry>
</TxPdo>
<TxPdo Fixed="true" Mandatory="true" Sm="3">
@@ -1139,9 +1139,9 @@
<Entry>
<Index>#x6005</Index>
<SubIndex>#x1</SubIndex>
<BitLen>32</BitLen>
<BitLen>64</BitLen>
<Name>ActualPosition</Name>
<DataType>DINT</DataType>
<DataType>LREAL</DataType>
</Entry>
</TxPdo>
<Mailbox DataLinkLayer="true">

View File

@@ -57,7 +57,7 @@
"pdo_mappings": [
"txpdo"
],
"dtype": "REAL32",
"dtype": "REAL64",
"value": "0",
"data": "&Obj.EncPos"
},
@@ -68,7 +68,7 @@
"pdo_mappings": [
"txpdo"
],
"dtype": "REAL32",
"dtype": "REAL64",
"value": "0",
"data": "&Obj.EncFrequency"
},
@@ -115,7 +115,7 @@
},
{
"name": "ActualPosition",
"dtype": "INTEGER32",
"dtype": "REAL64",
"data": "&Obj.StepGenOut1.ActualPosition",
"value": "0",
"access": "RO"
@@ -159,7 +159,7 @@
},
{
"name": "CommandedPosition",
"dtype": "INTEGER32",
"dtype": "REAL64",
"data": "&Obj.StepGenIn1.CommandedPosition",
"value": "0",
"access": "RO"

View File

@@ -110,17 +110,17 @@ const _objd SDO1601[] =
const _objd SDO1602[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1602_00, 1, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1602_01, 0x70020120, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1602_01, 0x70020140, NULL},
};
const _objd SDO1A00[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A00_00, 1, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A00_01, 0x60000020, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A00_01, 0x60000040, NULL},
};
const _objd SDO1A01[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A01_00, 1, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A01_01, 0x60010020, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A01_01, 0x60010040, NULL},
};
const _objd SDO1A02[] =
{
@@ -140,7 +140,7 @@ const _objd SDO1A04[] =
const _objd SDO1A05[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A05_00, 1, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A05_01, 0x60050120, NULL},
{0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A05_01, 0x60050140, NULL},
};
const _objd SDO1C00[] =
{
@@ -169,11 +169,11 @@ const _objd SDO1C13[] =
};
const _objd SDO6000[] =
{
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_TXPDO, acName6000, 0x00000000, &Obj.EncPos},
{0x0, DTYPE_REAL64, 64, ATYPE_RO | ATYPE_TXPDO, acName6000, 0, &Obj.EncPos},
};
const _objd SDO6001[] =
{
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_TXPDO, acName6001, 0x00000000, &Obj.EncFrequency},
{0x0, DTYPE_REAL64, 64, ATYPE_RO | ATYPE_TXPDO, acName6001, 0, &Obj.EncFrequency},
};
const _objd SDO6002[] =
{
@@ -190,7 +190,7 @@ const _objd SDO6004[] =
const _objd SDO6005[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName6005_00, 1, NULL},
{0x01, DTYPE_INTEGER32, 32, ATYPE_RO, acName6005_01, 0, &Obj.StepGenOut1.ActualPosition},
{0x01, DTYPE_REAL64, 64, ATYPE_RO, acName6005_01, 0, &Obj.StepGenOut1.ActualPosition},
};
const _objd SDO7000[] =
{
@@ -203,7 +203,7 @@ const _objd SDO7001[] =
const _objd SDO7002[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName7002_00, 1, NULL},
{0x01, DTYPE_INTEGER32, 32, ATYPE_RO, acName7002_01, 0, &Obj.StepGenIn1.CommandedPosition},
{0x01, DTYPE_REAL64, 64, ATYPE_RO, acName7002_01, 0, &Obj.StepGenIn1.CommandedPosition},
};
const _objectlist SDOobjects[] =

View File

@@ -13,14 +13,14 @@ typedef struct
/* Inputs */
float EncPos;
float EncFrequency;
double EncPos;
double EncFrequency;
uint32_t DiffT;
uint32_t IndexByte;
uint32_t IndexStatus;
struct
{
int32_t ActualPosition;
double ActualPosition;
} StepGenOut1;
/* Outputs */
@@ -29,7 +29,7 @@ typedef struct
uint32_t IndexLatchEnable;
struct
{
int32_t CommandedPosition;
double CommandedPosition;
} StepGenIn1;
} _Objects;