Merged fix for too many PDOs\? and a new example
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -33,8 +33,8 @@
|
||||
#define SM3_smc 0x20
|
||||
#define SM3_act 1
|
||||
|
||||
#define MAX_MAPPINGS_SM2 19
|
||||
#define MAX_MAPPINGS_SM3 9
|
||||
#define MAX_MAPPINGS_SM2 14
|
||||
#define MAX_MAPPINGS_SM3 7
|
||||
|
||||
#define MAX_RXPDO_SIZE 512
|
||||
#define MAX_TXPDO_SIZE 512
|
||||
|
||||
Binary file not shown.
@@ -4,7 +4,7 @@
|
||||
:20006000000000000000000000000000000000000000000000000000000000000F00010070
|
||||
:200080000A001F00040B434E4320636F6E74726F6C0E4D616368696E65436F6E74726F6C8F
|
||||
:2000A00006494D474342591A4D6574616C4D7573696E677320456173657243415420333021
|
||||
:2000C00030301E001000020301040013000000000000000000001100000000000000000064
|
||||
:2000C00030301E00100002030104003F000000000000000000001100000000000000000038
|
||||
:2000E000000000000000280002000102030029001000001000022600010100120002220027
|
||||
:2001000001020016000024000103001A000020000104FFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
|
||||
:20012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
|
||||
|
||||
@@ -39,10 +39,82 @@
|
||||
"name": "BasePeriod",
|
||||
"access": "RW",
|
||||
"dtype": "UNSIGNED32",
|
||||
"value": "20000",
|
||||
"value": "10000",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.BasePeriod"
|
||||
},
|
||||
"2001": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM1",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "200",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.StepsPerMM1"
|
||||
},
|
||||
"2002": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM2",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "200",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.StepsPerMM2"
|
||||
},
|
||||
"2003": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM3",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "200",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.StepsPerMM3"
|
||||
},
|
||||
"2004": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM4",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "200",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.StepsPerMM4"
|
||||
},
|
||||
"2005": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration1",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "1000000",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.MaxAcceleration1"
|
||||
},
|
||||
"2006": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration2",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "1000000",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.MaxAcceleration2"
|
||||
},
|
||||
"2007": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration3",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "1000000",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.MaxAcceleration3"
|
||||
},
|
||||
"2008": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration4",
|
||||
"access": "RW",
|
||||
"dtype": "REAL32",
|
||||
"value": "1000000",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.MaxAcceleration4"
|
||||
},
|
||||
"A": {
|
||||
"otype": "RECORD",
|
||||
"name": "Error Settings",
|
||||
@@ -195,93 +267,27 @@
|
||||
},
|
||||
"7002": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition1",
|
||||
"name": "Enable1",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition1"
|
||||
"data": "&Obj.Enable1"
|
||||
},
|
||||
"7003": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition2",
|
||||
"name": "Enable2",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition2"
|
||||
"data": "&Obj.Enable2"
|
||||
},
|
||||
"7004": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition3",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition3"
|
||||
},
|
||||
"7005": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition4",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition4"
|
||||
},
|
||||
"7006": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM1",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.StepsPerMM1"
|
||||
},
|
||||
"7007": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM2",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.StepsPerMM2"
|
||||
},
|
||||
"7008": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM3",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.StepsPerMM3"
|
||||
},
|
||||
"7009": {
|
||||
"otype": "VAR",
|
||||
"name": "StepsPerMM4",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.StepsPerMM4"
|
||||
},
|
||||
"7010": {
|
||||
"otype": "VAR",
|
||||
"name": "Enable3",
|
||||
"access": "RO",
|
||||
@@ -292,7 +298,7 @@
|
||||
"value": "0",
|
||||
"data": "&Obj.Enable3"
|
||||
},
|
||||
"7011": {
|
||||
"7005": {
|
||||
"otype": "VAR",
|
||||
"name": "Enable4",
|
||||
"access": "RO",
|
||||
@@ -303,16 +309,49 @@
|
||||
"value": "0",
|
||||
"data": "&Obj.Enable4"
|
||||
},
|
||||
"7012": {
|
||||
"7006": {
|
||||
"otype": "VAR",
|
||||
"name": "EncIndexLatchEnable",
|
||||
"name": "CommandedPosition1",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "UNSIGNED8",
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.EncIndexLatchEnable"
|
||||
"data": "&Obj.CommandedPosition1"
|
||||
},
|
||||
"7007": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition2",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition2"
|
||||
},
|
||||
"7008": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition3",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition3"
|
||||
},
|
||||
"7009": {
|
||||
"otype": "VAR",
|
||||
"name": "CommandedPosition4",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.CommandedPosition4"
|
||||
},
|
||||
"60664": {
|
||||
"otype": "VAR",
|
||||
@@ -325,70 +364,45 @@
|
||||
"value": "0"
|
||||
},
|
||||
"700A": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration1",
|
||||
"otype": "RECORD",
|
||||
"name": "EncoderIn",
|
||||
"access": "RO",
|
||||
"items": [
|
||||
{
|
||||
"name": "Max SubIndex"
|
||||
},
|
||||
{
|
||||
"name": "IndexStatus",
|
||||
"dtype": "UNSIGNED8",
|
||||
"data": "&Obj.EncoderIn.IndexStatus",
|
||||
"value": "0",
|
||||
"access": "RO"
|
||||
},
|
||||
{
|
||||
"name": "IndexByte",
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"access": "RO",
|
||||
"data": "&Obj.EncoderIn.IndexByte"
|
||||
},
|
||||
{
|
||||
"name": "Position",
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"access": "RO",
|
||||
"data": "&Obj.EncoderIn.Position"
|
||||
},
|
||||
{
|
||||
"name": "Frequency",
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"access": "RO",
|
||||
"data": "&Obj.EncoderIn.Frequency"
|
||||
}
|
||||
],
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.MaxAcceleration1"
|
||||
},
|
||||
"700B": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration2",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.MaxAcceleration2"
|
||||
},
|
||||
"700C": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration3",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.MaxAcceleration3"
|
||||
},
|
||||
"700D": {
|
||||
"otype": "VAR",
|
||||
"name": "MaxAcceleration4",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "REAL32",
|
||||
"value": "0",
|
||||
"data": "&Obj.MaxAcceleration4"
|
||||
},
|
||||
"700E": {
|
||||
"otype": "VAR",
|
||||
"name": "Enable1",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"data": "&Obj.Enable1"
|
||||
},
|
||||
"700F": {
|
||||
"otype": "VAR",
|
||||
"name": "Enable2",
|
||||
"access": "RO",
|
||||
"pdo_mappings": [
|
||||
"rxpdo"
|
||||
],
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"data": "&Obj.Enable2"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -412,4 +426,4 @@
|
||||
"Sync1shiftTime": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,58 +19,37 @@ static const char acName1600_01[] = "EncScale";
|
||||
static const char acName1601[] = "Output4";
|
||||
static const char acName1601_00[] = "Max SubIndex";
|
||||
static const char acName1601_01[] = "Output4";
|
||||
static const char acName1602[] = "CommandedPosition1";
|
||||
static const char acName1602[] = "Enable1";
|
||||
static const char acName1602_00[] = "Max SubIndex";
|
||||
static const char acName1602_01[] = "CommandedPosition1";
|
||||
static const char acName1603[] = "CommandedPosition2";
|
||||
static const char acName1602_01[] = "Enable1";
|
||||
static const char acName1603[] = "Enable2";
|
||||
static const char acName1603_00[] = "Max SubIndex";
|
||||
static const char acName1603_01[] = "CommandedPosition2";
|
||||
static const char acName1604[] = "CommandedPosition3";
|
||||
static const char acName1603_01[] = "Enable2";
|
||||
static const char acName1604[] = "Enable3";
|
||||
static const char acName1604_00[] = "Max SubIndex";
|
||||
static const char acName1604_01[] = "CommandedPosition3";
|
||||
static const char acName1605[] = "CommandedPosition4";
|
||||
static const char acName1604_01[] = "Enable3";
|
||||
static const char acName1605[] = "Enable4";
|
||||
static const char acName1605_00[] = "Max SubIndex";
|
||||
static const char acName1605_01[] = "CommandedPosition4";
|
||||
static const char acName1606[] = "StepsPerMM1";
|
||||
static const char acName1605_01[] = "Enable4";
|
||||
static const char acName1606[] = "CommandedPosition1";
|
||||
static const char acName1606_00[] = "Max SubIndex";
|
||||
static const char acName1606_01[] = "StepsPerMM1";
|
||||
static const char acName1607[] = "StepsPerMM2";
|
||||
static const char acName1606_01[] = "CommandedPosition1";
|
||||
static const char acName1607[] = "CommandedPosition2";
|
||||
static const char acName1607_00[] = "Max SubIndex";
|
||||
static const char acName1607_01[] = "StepsPerMM2";
|
||||
static const char acName1608[] = "StepsPerMM3";
|
||||
static const char acName1607_01[] = "CommandedPosition2";
|
||||
static const char acName1608[] = "CommandedPosition3";
|
||||
static const char acName1608_00[] = "Max SubIndex";
|
||||
static const char acName1608_01[] = "StepsPerMM3";
|
||||
static const char acName1609[] = "StepsPerMM4";
|
||||
static const char acName1608_01[] = "CommandedPosition3";
|
||||
static const char acName1609[] = "CommandedPosition4";
|
||||
static const char acName1609_00[] = "Max SubIndex";
|
||||
static const char acName1609_01[] = "StepsPerMM4";
|
||||
static const char acName160A[] = "MaxAcceleration1";
|
||||
static const char acName1609_01[] = "CommandedPosition4";
|
||||
static const char acName160A[] = "EncoderIn";
|
||||
static const char acName160A_00[] = "Max SubIndex";
|
||||
static const char acName160A_01[] = "MaxAcceleration1";
|
||||
static const char acName160B[] = "MaxAcceleration2";
|
||||
static const char acName160B_00[] = "Max SubIndex";
|
||||
static const char acName160B_01[] = "MaxAcceleration2";
|
||||
static const char acName160C[] = "MaxAcceleration3";
|
||||
static const char acName160C_00[] = "Max SubIndex";
|
||||
static const char acName160C_01[] = "MaxAcceleration3";
|
||||
static const char acName160D[] = "MaxAcceleration4";
|
||||
static const char acName160D_00[] = "Max SubIndex";
|
||||
static const char acName160D_01[] = "MaxAcceleration4";
|
||||
static const char acName160E[] = "Enable1";
|
||||
static const char acName160E_00[] = "Max SubIndex";
|
||||
static const char acName160E_01[] = "Enable1";
|
||||
static const char acName160F[] = "Enable2";
|
||||
static const char acName160F_00[] = "Max SubIndex";
|
||||
static const char acName160F_01[] = "Enable2";
|
||||
static const char acName1610[] = "Enable3";
|
||||
static const char acName1610_00[] = "Max SubIndex";
|
||||
static const char acName1610_01[] = "Enable3";
|
||||
static const char acName1611[] = "Enable4";
|
||||
static const char acName1611_00[] = "Max SubIndex";
|
||||
static const char acName1611_01[] = "Enable4";
|
||||
static const char acName1612[] = "EncIndexLatchEnable";
|
||||
static const char acName1612_00[] = "Max SubIndex";
|
||||
static const char acName1612_01[] = "EncIndexLatchEnable";
|
||||
static const char acName1A00[] = "EncPosition";
|
||||
static const char acName160A_01[] = "IndexStatus";
|
||||
static const char acName160A_02[] = "IndexByte";
|
||||
static const char acName160A_03[] = "Position";
|
||||
static const char acName160A_04[] = "Frequency";
|
||||
static const char acName1A00[] = "Velocity";
|
||||
static const char acName1A00_00[] = "Max SubIndex";
|
||||
static const char acName1A00_01[] = "EncPosition";
|
||||
static const char acName1A01[] = "EncVelocity";
|
||||
@@ -116,14 +95,6 @@ static const char acName1C12_08[] = "PDO Mapping";
|
||||
static const char acName1C12_09[] = "PDO Mapping";
|
||||
static const char acName1C12_0a[] = "PDO Mapping";
|
||||
static const char acName1C12_0b[] = "PDO Mapping";
|
||||
static const char acName1C12_0c[] = "PDO Mapping";
|
||||
static const char acName1C12_0d[] = "PDO Mapping";
|
||||
static const char acName1C12_0e[] = "PDO Mapping";
|
||||
static const char acName1C12_0f[] = "PDO Mapping";
|
||||
static const char acName1C12_010[] = "PDO Mapping";
|
||||
static const char acName1C12_11[] = "PDO Mapping";
|
||||
static const char acName1C12_12[] = "PDO Mapping";
|
||||
static const char acName1C12_13[] = "PDO Mapping";
|
||||
static const char acName1C13[] = "Sync Manager 3 PDO Assignment";
|
||||
static const char acName1C13_00[] = "Max SubIndex";
|
||||
static const char acName1C13_01[] = "PDO Mapping";
|
||||
@@ -136,8 +107,16 @@ static const char acName1C13_07[] = "PDO Mapping";
|
||||
static const char acName1C13_08[] = "PDO Mapping";
|
||||
static const char acName1C13_09[] = "PDO Mapping";
|
||||
static const char acName2000[] = "BasePeriod";
|
||||
static const char acName6000[] = "EncPosition";
|
||||
static const char acName6001[] = "EncVelocity";
|
||||
static const char acName2001[] = "StepsPerMM1";
|
||||
static const char acName2002[] = "StepsPerMM2";
|
||||
static const char acName2003[] = "StepsPerMM3";
|
||||
static const char acName2004[] = "StepsPerMM4";
|
||||
static const char acName2005[] = "MaxAcceleration1";
|
||||
static const char acName2006[] = "MaxAcceleration2";
|
||||
static const char acName2007[] = "MaxAcceleration3";
|
||||
static const char acName2008[] = "MaxAcceleration4";
|
||||
static const char acName6000[] = "Velocity";
|
||||
static const char acName6001[] = "Frequency";
|
||||
static const char acName6002[] = "Input8";
|
||||
static const char acName6003[] = "ActualPosition1";
|
||||
static const char acName6004[] = "ActualPosition2";
|
||||
@@ -147,23 +126,20 @@ static const char acName6007[] = "IndexByte";
|
||||
static const char acName6008[] = "IndexStatus";
|
||||
static const char acName7000[] = "EncScale";
|
||||
static const char acName7001[] = "Output4";
|
||||
static const char acName7002[] = "CommandedPosition1";
|
||||
static const char acName7003[] = "CommandedPosition2";
|
||||
static const char acName7004[] = "CommandedPosition3";
|
||||
static const char acName7005[] = "CommandedPosition4";
|
||||
static const char acName7006[] = "StepsPerMM1";
|
||||
static const char acName7007[] = "StepsPerMM2";
|
||||
static const char acName7008[] = "StepsPerMM3";
|
||||
static const char acName7009[] = "StepsPerMM4";
|
||||
static const char acName700A[] = "MaxAcceleration1";
|
||||
static const char acName700B[] = "MaxAcceleration2";
|
||||
static const char acName700C[] = "MaxAcceleration3";
|
||||
static const char acName700D[] = "MaxAcceleration4";
|
||||
static const char acName700E[] = "Enable1";
|
||||
static const char acName700F[] = "Enable2";
|
||||
static const char acName7010[] = "Enable3";
|
||||
static const char acName7011[] = "Enable4";
|
||||
static const char acName7012[] = "EncIndexLatchEnable";
|
||||
static const char acName7002[] = "Enable1";
|
||||
static const char acName7003[] = "Enable2";
|
||||
static const char acName7004[] = "Enable3";
|
||||
static const char acName7005[] = "Enable4";
|
||||
static const char acName7006[] = "CommandedPosition1";
|
||||
static const char acName7007[] = "CommandedPosition2";
|
||||
static const char acName7008[] = "CommandedPosition3";
|
||||
static const char acName7009[] = "CommandedPosition4";
|
||||
static const char acName700A[] = "EncoderIn";
|
||||
static const char acName700A_00[] = "Max SubIndex";
|
||||
static const char acName700A_01[] = "IndexStatus";
|
||||
static const char acName700A_02[] = "IndexByte";
|
||||
static const char acName700A_03[] = "Position";
|
||||
static const char acName700A_04[] = "Frequency";
|
||||
|
||||
const _objd SDO1000[] =
|
||||
{
|
||||
@@ -202,22 +178,22 @@ const _objd SDO1601[] =
|
||||
const _objd SDO1602[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1602_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1602_01, 0x70020020, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1602_01, 0x70020008, NULL},
|
||||
};
|
||||
const _objd SDO1603[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1603_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1603_01, 0x70030020, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1603_01, 0x70030008, NULL},
|
||||
};
|
||||
const _objd SDO1604[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1604_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1604_01, 0x70040020, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1604_01, 0x70040008, NULL},
|
||||
};
|
||||
const _objd SDO1605[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1605_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1605_01, 0x70050020, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1605_01, 0x70050008, NULL},
|
||||
};
|
||||
const _objd SDO1606[] =
|
||||
{
|
||||
@@ -241,43 +217,11 @@ const _objd SDO1609[] =
|
||||
};
|
||||
const _objd SDO160A[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160A_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160A_01, 0x700A0020, NULL},
|
||||
};
|
||||
const _objd SDO160B[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160B_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160B_01, 0x700B0020, NULL},
|
||||
};
|
||||
const _objd SDO160C[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160C_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160C_01, 0x700C0020, NULL},
|
||||
};
|
||||
const _objd SDO160D[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160D_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160D_01, 0x700D0020, NULL},
|
||||
};
|
||||
const _objd SDO160E[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160E_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160E_01, 0x700E0008, NULL},
|
||||
};
|
||||
const _objd SDO160F[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160F_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160F_01, 0x700F0008, NULL},
|
||||
};
|
||||
const _objd SDO1610[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1610_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1610_01, 0x70100008, NULL},
|
||||
};
|
||||
const _objd SDO1611[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1611_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1611_01, 0x70110008, NULL},
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName160A_00, 4, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160A_01, 0x700A0108, NULL},
|
||||
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160A_02, 0x700A0208, NULL},
|
||||
{0x03, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160A_03, 0x700A0320, NULL},
|
||||
{0x04, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName160A_04, 0x700A0420, NULL},
|
||||
};
|
||||
const _objd SDO1612[] =
|
||||
{
|
||||
@@ -339,7 +283,7 @@ const _objd SDO1C00[] =
|
||||
};
|
||||
const _objd SDO1C12[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C12_00, 19, NULL},
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C12_00, 11, NULL},
|
||||
{0x01, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_01, 0x1600, NULL},
|
||||
{0x02, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_02, 0x1601, NULL},
|
||||
{0x03, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_03, 0x1602, NULL},
|
||||
@@ -351,14 +295,6 @@ const _objd SDO1C12[] =
|
||||
{0x09, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_09, 0x1608, NULL},
|
||||
{0x0a, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_0a, 0x1609, NULL},
|
||||
{0x0b, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_0b, 0x160A, NULL},
|
||||
{0x0c, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_0c, 0x160B, NULL},
|
||||
{0x0d, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_0d, 0x160C, NULL},
|
||||
{0x0e, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_0e, 0x160D, NULL},
|
||||
{0x0f, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_0f, 0x160E, NULL},
|
||||
{0x010, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_010, 0x160F, NULL},
|
||||
{0x11, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_11, 0x1610, NULL},
|
||||
{0x12, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_12, 0x1611, NULL},
|
||||
{0x13, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_13, 0x1612, NULL},
|
||||
};
|
||||
const _objd SDO1C13[] =
|
||||
{
|
||||
@@ -375,7 +311,39 @@ const _objd SDO1C13[] =
|
||||
};
|
||||
const _objd SDO2000[] =
|
||||
{
|
||||
{0x0, DTYPE_UNSIGNED32, 32, ATYPE_RW, acName2000, 20000, &Obj.BasePeriod},
|
||||
{0x0, DTYPE_UNSIGNED32, 32, ATYPE_RW, acName2000, 10000, &Obj.BasePeriod},
|
||||
};
|
||||
const _objd SDO2001[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2001, 0x43480000, &Obj.StepsPerMM1},
|
||||
};
|
||||
const _objd SDO2002[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2002, 0x43480000, &Obj.StepsPerMM2},
|
||||
};
|
||||
const _objd SDO2003[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2003, 0x43480000, &Obj.StepsPerMM3},
|
||||
};
|
||||
const _objd SDO2004[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2004, 0x43480000, &Obj.StepsPerMM4},
|
||||
};
|
||||
const _objd SDO2005[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2005, 0x49742400, &Obj.MaxAcceleration1},
|
||||
};
|
||||
const _objd SDO2006[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2006, 0x49742400, &Obj.MaxAcceleration2},
|
||||
};
|
||||
const _objd SDO2007[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2007, 0x49742400, &Obj.MaxAcceleration3},
|
||||
};
|
||||
const _objd SDO2008[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RW, acName2008, 0x49742400, &Obj.MaxAcceleration4},
|
||||
};
|
||||
const _objd SDO6000[] =
|
||||
{
|
||||
@@ -423,67 +391,43 @@ const _objd SDO7001[] =
|
||||
};
|
||||
const _objd SDO7002[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7002, 0x00000000, &Obj.CommandedPosition1},
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7002, 0, &Obj.Enable1},
|
||||
};
|
||||
const _objd SDO7003[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7003, 0x00000000, &Obj.CommandedPosition2},
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7003, 0, &Obj.Enable2},
|
||||
};
|
||||
const _objd SDO7004[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7004, 0x00000000, &Obj.CommandedPosition3},
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7004, 0, &Obj.Enable3},
|
||||
};
|
||||
const _objd SDO7005[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7005, 0x00000000, &Obj.CommandedPosition4},
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7005, 0, &Obj.Enable4},
|
||||
};
|
||||
const _objd SDO7006[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7006, 0x00000000, &Obj.StepsPerMM1},
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7006, 0x00000000, &Obj.CommandedPosition1},
|
||||
};
|
||||
const _objd SDO7007[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7007, 0x00000000, &Obj.StepsPerMM2},
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7007, 0x00000000, &Obj.CommandedPosition2},
|
||||
};
|
||||
const _objd SDO7008[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7008, 0x00000000, &Obj.StepsPerMM3},
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7008, 0x00000000, &Obj.CommandedPosition3},
|
||||
};
|
||||
const _objd SDO7009[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7009, 0x00000000, &Obj.StepsPerMM4},
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7009, 0x00000000, &Obj.CommandedPosition4},
|
||||
};
|
||||
const _objd SDO700A[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName700A, 0x00000000, &Obj.MaxAcceleration1},
|
||||
};
|
||||
const _objd SDO700B[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName700B, 0x00000000, &Obj.MaxAcceleration2},
|
||||
};
|
||||
const _objd SDO700C[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName700C, 0x00000000, &Obj.MaxAcceleration3},
|
||||
};
|
||||
const _objd SDO700D[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName700D, 0x00000000, &Obj.MaxAcceleration4},
|
||||
};
|
||||
const _objd SDO700E[] =
|
||||
{
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName700E, 0, &Obj.Enable1},
|
||||
};
|
||||
const _objd SDO700F[] =
|
||||
{
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName700F, 0, &Obj.Enable2},
|
||||
};
|
||||
const _objd SDO7010[] =
|
||||
{
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7010, 0, &Obj.Enable3},
|
||||
};
|
||||
const _objd SDO7011[] =
|
||||
{
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7011, 0, &Obj.Enable4},
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName700A_00, 4, NULL},
|
||||
{0x01, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName700A_01, 0, &Obj.EncoderIn.IndexStatus},
|
||||
{0x02, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName700A_02, 0, &Obj.EncoderIn.IndexByte},
|
||||
{0x03, DTYPE_REAL32, 32, ATYPE_RO, acName700A_03, 0x00000000, &Obj.EncoderIn.Position},
|
||||
{0x04, DTYPE_REAL32, 32, ATYPE_RO, acName700A_04, 0x00000000, &Obj.EncoderIn.Frequency},
|
||||
};
|
||||
const _objd SDO7012[] =
|
||||
{
|
||||
@@ -507,15 +451,7 @@ const _objectlist SDOobjects[] =
|
||||
{0x1607, OTYPE_RECORD, 1, 0, acName1607, SDO1607},
|
||||
{0x1608, OTYPE_RECORD, 1, 0, acName1608, SDO1608},
|
||||
{0x1609, OTYPE_RECORD, 1, 0, acName1609, SDO1609},
|
||||
{0x160A, OTYPE_RECORD, 1, 0, acName160A, SDO160A},
|
||||
{0x160B, OTYPE_RECORD, 1, 0, acName160B, SDO160B},
|
||||
{0x160C, OTYPE_RECORD, 1, 0, acName160C, SDO160C},
|
||||
{0x160D, OTYPE_RECORD, 1, 0, acName160D, SDO160D},
|
||||
{0x160E, OTYPE_RECORD, 1, 0, acName160E, SDO160E},
|
||||
{0x160F, OTYPE_RECORD, 1, 0, acName160F, SDO160F},
|
||||
{0x1610, OTYPE_RECORD, 1, 0, acName1610, SDO1610},
|
||||
{0x1611, OTYPE_RECORD, 1, 0, acName1611, SDO1611},
|
||||
{0x1612, OTYPE_RECORD, 1, 0, acName1612, SDO1612},
|
||||
{0x160A, OTYPE_RECORD, 4, 0, acName160A, SDO160A},
|
||||
{0x1A00, OTYPE_RECORD, 1, 0, acName1A00, SDO1A00},
|
||||
{0x1A01, OTYPE_RECORD, 1, 0, acName1A01, SDO1A01},
|
||||
{0x1A02, OTYPE_RECORD, 1, 0, acName1A02, SDO1A02},
|
||||
@@ -526,9 +462,17 @@ const _objectlist SDOobjects[] =
|
||||
{0x1A07, OTYPE_RECORD, 1, 0, acName1A07, SDO1A07},
|
||||
{0x1A08, OTYPE_RECORD, 1, 0, acName1A08, SDO1A08},
|
||||
{0x1C00, OTYPE_ARRAY, 4, 0, acName1C00, SDO1C00},
|
||||
{0x1C12, OTYPE_ARRAY, 19, 0, acName1C12, SDO1C12},
|
||||
{0x1C13, OTYPE_ARRAY, 9, 0, acName1C13, SDO1C13},
|
||||
{0x1C12, OTYPE_ARRAY, 11, 0, acName1C12, SDO1C12},
|
||||
{0x1C13, OTYPE_ARRAY, 7, 0, acName1C13, SDO1C13},
|
||||
{0x2000, OTYPE_VAR, 0, 0, acName2000, SDO2000},
|
||||
{0x2001, OTYPE_VAR, 0, 0, acName2001, SDO2001},
|
||||
{0x2002, OTYPE_VAR, 0, 0, acName2002, SDO2002},
|
||||
{0x2003, OTYPE_VAR, 0, 0, acName2003, SDO2003},
|
||||
{0x2004, OTYPE_VAR, 0, 0, acName2004, SDO2004},
|
||||
{0x2005, OTYPE_VAR, 0, 0, acName2005, SDO2005},
|
||||
{0x2006, OTYPE_VAR, 0, 0, acName2006, SDO2006},
|
||||
{0x2007, OTYPE_VAR, 0, 0, acName2007, SDO2007},
|
||||
{0x2008, OTYPE_VAR, 0, 0, acName2008, SDO2008},
|
||||
{0x6000, OTYPE_VAR, 0, 0, acName6000, SDO6000},
|
||||
{0x6001, OTYPE_VAR, 0, 0, acName6001, SDO6001},
|
||||
{0x6002, OTYPE_VAR, 0, 0, acName6002, SDO6002},
|
||||
@@ -548,14 +492,6 @@ const _objectlist SDOobjects[] =
|
||||
{0x7007, OTYPE_VAR, 0, 0, acName7007, SDO7007},
|
||||
{0x7008, OTYPE_VAR, 0, 0, acName7008, SDO7008},
|
||||
{0x7009, OTYPE_VAR, 0, 0, acName7009, SDO7009},
|
||||
{0x700A, OTYPE_VAR, 0, 0, acName700A, SDO700A},
|
||||
{0x700B, OTYPE_VAR, 0, 0, acName700B, SDO700B},
|
||||
{0x700C, OTYPE_VAR, 0, 0, acName700C, SDO700C},
|
||||
{0x700D, OTYPE_VAR, 0, 0, acName700D, SDO700D},
|
||||
{0x700E, OTYPE_VAR, 0, 0, acName700E, SDO700E},
|
||||
{0x700F, OTYPE_VAR, 0, 0, acName700F, SDO700F},
|
||||
{0x7010, OTYPE_VAR, 0, 0, acName7010, SDO7010},
|
||||
{0x7011, OTYPE_VAR, 0, 0, acName7011, SDO7011},
|
||||
{0x7012, OTYPE_VAR, 0, 0, acName7012, SDO7012},
|
||||
{0x700A, OTYPE_RECORD, 4, 0, acName700A, SDO700A},
|
||||
{0xffff, 0xff, 0xff, 0xff, NULL, NULL}
|
||||
};
|
||||
|
||||
@@ -27,10 +27,25 @@ typedef struct
|
||||
|
||||
float EncScale;
|
||||
uint8_t Output4;
|
||||
uint8_t Enable1;
|
||||
uint8_t Enable2;
|
||||
uint8_t Enable3;
|
||||
uint8_t Enable4;
|
||||
float CommandedPosition1;
|
||||
float CommandedPosition2;
|
||||
float CommandedPosition3;
|
||||
float CommandedPosition4;
|
||||
struct
|
||||
{
|
||||
uint8_t IndexStatus;
|
||||
uint8_t IndexByte;
|
||||
float Position;
|
||||
float Frequency;
|
||||
} EncoderIn;
|
||||
|
||||
/* Parameters */
|
||||
|
||||
uint32_t BasePeriod;
|
||||
float StepsPerMM1;
|
||||
float StepsPerMM2;
|
||||
float StepsPerMM3;
|
||||
@@ -39,15 +54,6 @@ typedef struct
|
||||
float MaxAcceleration2;
|
||||
float MaxAcceleration3;
|
||||
float MaxAcceleration4;
|
||||
uint8_t Enable1;
|
||||
uint8_t Enable2;
|
||||
uint8_t Enable3;
|
||||
uint8_t Enable4;
|
||||
uint8_t EncIndexLatchEnable;
|
||||
|
||||
/* Parameters */
|
||||
|
||||
uint32_t BasePeriod;
|
||||
} _Objects;
|
||||
|
||||
extern _Objects Obj;
|
||||
|
||||
Reference in New Issue
Block a user