Works, sends Voltage during free-run to Twincat.

This commit is contained in:
Hakan Bastedt
2025-02-08 21:48:26 +01:00
parent dda9d3bf20
commit ada1b8aa05
7 changed files with 42 additions and 41 deletions

View File

@@ -1,10 +1,10 @@
:2000000080060344640000000000000000001400AA0A000000600000020000000100000084
:2000000080060344640000000000000000001400D0D1BED0007000000200000001000000F9
:20002000000000000000000000000000000000000010000200120002040000000000000096
:200040000000000000000000000000000000000000000000000000000000000000000000A0
:20006000000000000000000000000000000000000000000000000000000000000F00010070
:200080000A002000040D456173657243415420363030300E4D616368696E65436F6E7472AE
:200080000A002000040D456173657243415420373030300E4D616368696E65436F6E7472AD
:2000A0006F6C06494D474342591A4D6574616C4D7573696E677320456173657243415420A9
:2000C000363030301E001000020301040013000000000000000000001100000000000000FE
:2000C000373030301E001000020301040013000000000000000000001100000000000000FD
:2000E000000000000000000028000200010203002900100000100002260001010012000249
:20010000220001020016000024000103001A000020000104FFFFFFFFFFFFFFFFFFFFFFFF49
:20012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF

View File

@@ -1,8 +1,8 @@
{
"form": {
"VendorName": "MetalMusings",
"VendorID": "0xaaa",
"ProductCode": "0x6000",
"VendorID": "0xd0bed1d0",
"ProductCode": "0x7000",
"ProfileNo": "5001",
"RevisionNumber": "0x002",
"SerialNumber": "0x001",
@@ -17,8 +17,8 @@
"TextGroupType": "MachineControl",
"TextGroupName5": "Plasma cutter",
"ImageName": "IMGCBY",
"TextDeviceType": "EaserCAT 6000",
"TextDeviceName": "MetalMusings EaserCAT 6000",
"TextDeviceType": "EaserCAT 7000",
"TextDeviceName": "MetalMusings EaserCAT 7000",
"Port0Physical": "Y",
"Port1Physical": "Y",
"Port2Physical": " ",
@@ -36,12 +36,12 @@
"sdo": {
"2000": {
"otype": "VAR",
"name": "VelocityScale",
"name": "VoltageScale",
"access": "RO",
"dtype": "REAL32",
"value": "0",
"value": "1",
"isSDOitem": true,
"data": "&Obj.VelocityScale"
"data": "&Obj.VoltageScale"
},
"A": {
"otype": "RECORD",
@@ -83,25 +83,25 @@
},
"6001": {
"otype": "VAR",
"name": "Velocity",
"name": "ArcVoltage",
"access": "RO",
"pdo_mappings": [
"txpdo"
],
"dtype": "REAL32",
"value": "0",
"data": "&Obj.Velocity"
"data": "&Obj.ArcVoltage"
},
"6002": {
"otype": "VAR",
"name": "Frequency",
"name": "Voltage",
"access": "RO",
"pdo_mappings": [
"txpdo"
],
"dtype": "UNSIGNED32",
"dtype": "REAL32",
"value": "0",
"data": "&Obj.Frequency"
"data": "&Obj.Voltage"
}
},
"rxpdo": {

View File

@@ -19,12 +19,12 @@ static const char acName1600_01[] = "Output4";
static const char acName1A00[] = "Input12";
static const char acName1A00_00[] = "Max SubIndex";
static const char acName1A00_01[] = "Input12";
static const char acName1A01[] = "Velocity";
static const char acName1A01[] = "ArcVoltage";
static const char acName1A01_00[] = "Max SubIndex";
static const char acName1A01_01[] = "Velocity";
static const char acName1A02[] = "Frequency";
static const char acName1A01_01[] = "ArcVoltage";
static const char acName1A02[] = "Voltage";
static const char acName1A02_00[] = "Max SubIndex";
static const char acName1A02_01[] = "Frequency";
static const char acName1A02_01[] = "Voltage";
static const char acName1C00[] = "Sync Manager Communication Type";
static const char acName1C00_00[] = "Max SubIndex";
static const char acName1C00_01[] = "Communications Type SM0";
@@ -39,10 +39,10 @@ static const char acName1C13_00[] = "Max SubIndex";
static const char acName1C13_01[] = "PDO Mapping";
static const char acName1C13_02[] = "PDO Mapping";
static const char acName1C13_03[] = "PDO Mapping";
static const char acName2000[] = "VelocityScale";
static const char acName2000[] = "VoltageScale";
static const char acName6000[] = "Input12";
static const char acName6001[] = "Velocity";
static const char acName6002[] = "Frequency";
static const char acName6001[] = "ArcVoltage";
static const char acName6002[] = "Voltage";
static const char acName7000[] = "Output4";
const _objd SDO1000[] =
@@ -51,7 +51,7 @@ const _objd SDO1000[] =
};
const _objd SDO1008[] =
{
{0x0, DTYPE_VISIBLE_STRING, 208, ATYPE_RO, acName1008, 0, "MetalMusings EaserCAT 6000"},
{0x0, DTYPE_VISIBLE_STRING, 208, ATYPE_RO, acName1008, 0, "MetalMusings EaserCAT 7000"},
};
const _objd SDO1009[] =
{
@@ -64,8 +64,8 @@ const _objd SDO100A[] =
const _objd SDO1018[] =
{
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1018_00, 4, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_01, 2730, NULL},
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_02, 24576, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_01, 3502166480, NULL},
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_02, 28672, NULL},
{0x03, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_03, 2, NULL},
{0x04, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_04, 1, &Obj.serial},
};
@@ -111,7 +111,7 @@ const _objd SDO1C13[] =
};
const _objd SDO2000[] =
{
{0x0, DTYPE_REAL32, 32, ATYPE_RO, acName2000, 0x00000000, &Obj.VelocityScale},
{0x0, DTYPE_REAL32, 32, ATYPE_RO, acName2000, 0x3f800000, &Obj.VoltageScale},
};
const _objd SDO6000[] =
{
@@ -119,11 +119,11 @@ const _objd SDO6000[] =
};
const _objd SDO6001[] =
{
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_TXPDO, acName6001, 0x00000000, &Obj.Velocity},
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_TXPDO, acName6001, 0x00000000, &Obj.ArcVoltage},
};
const _objd SDO6002[] =
{
{0x0, DTYPE_UNSIGNED32, 32, ATYPE_RO | ATYPE_TXPDO, acName6002, 0, &Obj.Frequency},
{0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_TXPDO, acName6002, 0x00000000, &Obj.Voltage},
};
const _objd SDO7000[] =
{

View File

@@ -14,8 +14,8 @@ typedef struct
/* Inputs */
int32_t Input12;
float Velocity;
uint32_t Frequency;
float ArcVoltage;
float Voltage;
/* Outputs */
@@ -23,7 +23,7 @@ typedef struct
/* Parameters */
float VelocityScale;
float VoltageScale;
} _Objects;
extern _Objects Obj;