Commit c5fc98de authored by Daan Vreeken's avatar Daan Vreeken
Browse files

Committer: Daan Vreeken <pa4dan@RacebeestV3.VEHosting.LAN>

	modified:   controller/ec/block_beckhoff_el4xxx.c

Add scale values for all other variants and add where the info came from. It
is evident that Beckhoff has published errors in this data, see the comments
in the code. That is why all these entries will remain 'unverified'.
parent 4323b95f
......@@ -370,25 +370,59 @@ struct beckhoff_el4xxx_type {
};
static struct beckhoff_el4xxx_type devlist[] = {
// 0-10 Volt blocks. Values are verified to match with:
// http://infosys.beckhoff.com/espanol.php?content=../content/1034/el40xx/html/bt_el40xx_functionality.htm&id=5960
{ "EL4001", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4001, 1, 32767 / 10.0, 0.0, true, false, interms_1 },
{ "EL4002", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4002, 2, 32767 / 10.0, 0.0, true, false, interms_2 },
{ "EL4004", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4004, 4, 32767 / 10.0, 0.0, true, true, interms_4 },
{ "EL4008", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4008, 8, 32767 / 10.0, 0.0, true, true, interms_8 },
{ "EL4011", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4011, 1, 4096/0.02, 0.0, false, false, interms_1 },
{ "EL4012", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4012, 2, 4096/0.02, 0.0, false, false, interms_2 },
{ "EL4014", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4014, 4, 4096/0.02, 0.0, false, false, interms_4 },
{ "EL4018", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4018, 8, 4096/0.02, 0.0, false, false, interms_8 },
{ "EL4021", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4021, 1, 4096/0.016, -0.004, false, false, interms_1 },
{ "EL4022", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4022, 2, 4096/0.016, -0.004, false, false, interms_2 },
{ "EL4024", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4024, 4, 4096/0.016, -0.004, false, false, interms_4 },
{ "EL4028", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4028, 8, 4096/0.016, -0.004, false, false, interms_8 },
{ "EL4102", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4102, 2, 65536/10.0, 0.0, false, false, interms_2 },
{ "EL4112", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4112, 2, 65536/0.02, 0.0, false, false, interms_2 },
{ "EL4114", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4114, 4, 65536/0.02, 0.0, false, false, interms_4 },
{ "EL4122", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4122, 2, 65536/0.016, 0.0, false, false, interms_2 },
{ "EL4132", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4132, 2, 32768/10.0, 0.0, true, false, interms_2 },
{ "EL4134", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4134, 4, 32768/10.0, 0.0, true, false, interms_4 },
// 0-20 mA blocks. Values are verified to match with:
// http://infosys.beckhoff.com/espanol.php?content=../content/1034/el40xx/html/bt_el40xx_functionality.htm&id=5960
{ "EL4011", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4011, 1, 32767 / 0.020, 0.0, true, false, interms_1 },
{ "EL4012", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4012, 2, 32767 / 0.020, 0.0, true, false, interms_2 },
{ "EL4014", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4014, 4, 32767 / 0.020, 0.0, true, false, interms_4 },
{ "EL4018", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4018, 8, 32767 / 0.020, 0.0, true, false, interms_8 },
// 4-20 mA blocks. Values are verified to match with:
// http://infosys.beckhoff.com/espanol.php?content=../content/1034/el40xx/html/bt_el40xx_functionality.htm&id=5960 { "EL4021", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4021, 1, 4096/0.016, -0.004, false, false, interms_1 },
{ "EL4022", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4022, 2, 32767 / 0.016, -0.004, true, false, interms_2 },
{ "EL4024", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4024, 4, 32767 / 0.016, -0.004, true, false, interms_4 },
{ "EL4028", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4028, 8, 32767 / 0.016, -0.004, true, false, interms_8 },
// -10 - +10 Volt blocks. Values range from -32767 to +32767
// see http://infosys.beckhoff.com/espanol.php?content=../content/1034/el40xx/html/bt_el40xx_functionality.htm&id=5960 { "EL4021", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4021, 1, 4096/0.016, -0.004, false, false, interms_1 },
// TODO: implement the EL403X series of blocks!
// see http://infosys.beckhoff.com/espanol.php?content=../content/1034/el41xx/html/bt_el41x2_functionality_a.htm&id=6017
// 0-10 Volt, 16-bits. limits verified with docs.
{ "EL4102", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4102, 2, 32767 / 10.0, 0.0, true, false, interms_2 },
// 0-20 mA, 16-bits. limits verified with docs.
// WARNING! There's also a EL4112-0010! Fix detection of both before
// switching on support for the EL4112.
{ "EL4112", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4112, 2, 32767 / 0.020, 0.0, true, false, interms_2 },
// TODO: implement the EL4112-0010 (-10/+10 mA, -32768 .. +32767)
// Beckhof says this block accepts -32768! Test first, I'll believe it
// when I've seen it work :)
//
// 4-20mA, 16-bits. limits verified with docs.
{ "EL4122", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4122, 2, 32767 / 0.016, 0.0, true, false, interms_2 },
// -10 - +10 Volt, 16-bits. Beckhoff says this block accepts -32768!
// Test this first, I'll believe it when I see it.
{ "EL4132", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4132, 2, 32768 / 10.0, 0.0, true, false, interms_2 },
// see http://infosys.beckhoff.com/espanol.php?content=../content/1034/el41xx/html/bt_el41x4_functionality.htm&id=6025
// HAHAHA :)
// Beckhoff has copied the page for the EL41x2 here and forgot to
// update the content. No definitive info on this block...
{ "EL4114", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4114, 4, 65536 / 0.020, 0.0, false, false, interms_4 },
// TODO: There also is an EL4124. Implement.
// No idea what this thing's PDO does:
{ "EL4134", ESC_ESI_PRODUCTCODE_BECKHOFF_EL4134, 4, 32768 / 10.0, 0.0, true, false, interms_4 },
// see http://infosys.beckhoff.com/content/1034/el47xx/html/bt_el47xx_procdata.htm?id=6060
// There is also a EL4712: 0 - 20 mA.
// There is also a EL4732: -10 - +10 Volt. lower limit: -32769?!?!!
// Hahaha :)
};
static int pre_operational_hook(struct esc_device *esc)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment