linuxcnc-ethercat / linuxcnc-ethercat

LinuxCNC EtherCAT HAL driver
GNU General Public License v2.0
33 stars 13 forks source link

Support Beckhoff EP9224-0023 #31

Open scottlaird opened 9 months ago

scottlaird commented 9 months ago

Add a driver for the [Beckhoff EP9224](http://beckhoff.com/EP9224] power distribution box. It'd largely just be there to collect statistics.

@scottlaird has hardware.

scottlaird commented 8 months ago

PDOs:

SM0: PhysAddr 0x1000, DefaultSize  256, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1100, DefaultSize  256, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1200, DefaultSize   10, ControlRegister 0x24, Enable 1
  RxPDO 0x1600 "DPO RxPDO-Map Outputs Ch.1"
    PDO entry 0x7000:01,  1 bit, "Output Us"
    PDO entry 0x7000:02,  1 bit, "Output Up"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0x7000:05,  1 bit, "Reset Us"
    PDO entry 0x7000:06,  1 bit, "Reset Up"
    PDO entry 0x0000:00, 10 bit, "Gap"
  RxPDO 0x1602 "DPO RxPDO-Map Outputs Ch.2"
    PDO entry 0x7010:01,  1 bit, "Output Us"
    PDO entry 0x7010:02,  1 bit, "Output Up"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0x7010:05,  1 bit, "Reset Us"
    PDO entry 0x7010:06,  1 bit, "Reset Up"
    PDO entry 0x0000:00, 10 bit, "Gap"
  RxPDO 0x1604 "DPO RxPDO-Map Outputs Ch.3"
    PDO entry 0x7020:01,  1 bit, "Output Us"
    PDO entry 0x7020:02,  1 bit, "Output Up"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0x7020:05,  1 bit, "Reset Us"
    PDO entry 0x7020:06,  1 bit, "Reset Up"
    PDO entry 0x0000:00, 10 bit, "Gap"
  RxPDO 0x1606 "DPO RxPDO-Map Outputs Ch.4"
    PDO entry 0x7030:01,  1 bit, "Output Us"
    PDO entry 0x7030:02,  1 bit, "Output Up"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0x7030:05,  1 bit, "Reset Us"
    PDO entry 0x7030:06,  1 bit, "Reset Up"
    PDO entry 0x0000:00, 10 bit, "Gap"
  RxPDO 0x1608 "DPO RxPDO-Map Outputs Device"
    PDO entry 0xf707:01,  1 bit, "Enable Control Via Fieldbus"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0xf707:04,  1 bit, "Global Reset"
    PDO entry 0x0000:00, 12 bit, "Gap"
SM3: PhysAddr 0x1900, DefaultSize   36, ControlRegister 0x20, Enable 1
  TxPDO 0x1a00 "DPO TxPDO-Map Inputs Ch.1"
    PDO entry 0x6000:01,  1 bit, "Error Us"
    PDO entry 0x6000:02,  1 bit, "Error Up"
    PDO entry 0x6000:03,  1 bit, "Warning Us"
    PDO entry 0x6000:04,  1 bit, "Warning Up"
    PDO entry 0x6000:05,  1 bit, "Status Us"
    PDO entry 0x6000:06,  1 bit, "Status Up"
    PDO entry 0x6000:07,  1 bit, "Channel Error"
    PDO entry 0x6000:08,  1 bit, "Error Sum Current"
    PDO entry 0x6000:09,  1 bit, "Warning Sum Current"
    PDO entry 0x0000:00,  5 bit, "Gap"
    PDO entry 0x6000:0f,  1 bit, "TxPDO State"
    PDO entry 0x6000:10,  1 bit, "TxPDO Toggle"
    PDO entry 0x6000:11, 16 bit, "Current Us"
    PDO entry 0x6000:12, 16 bit, "Current Up"
  TxPDO 0x1a02 "DPO TxPDO-Map Inputs Ch.2"
    PDO entry 0x6010:01,  1 bit, "Error Us"
    PDO entry 0x6010:02,  1 bit, "Error Up"
    PDO entry 0x6010:03,  1 bit, "Warning Us"
    PDO entry 0x6010:04,  1 bit, "Warning Up"
    PDO entry 0x6010:05,  1 bit, "Status Us"
    PDO entry 0x6010:06,  1 bit, "Status Up"
    PDO entry 0x6010:07,  1 bit, "Channel Error"
    PDO entry 0x6010:08,  1 bit, "Error Sum Current"
    PDO entry 0x6010:09,  1 bit, "Warning Sum Current"
    PDO entry 0x0000:00,  5 bit, "Gap"
    PDO entry 0x6010:0f,  1 bit, "TxPDO State"
    PDO entry 0x6010:10,  1 bit, "TxPDO Toggle"
    PDO entry 0x6010:11, 16 bit, "Current Us"
    PDO entry 0x6010:12, 16 bit, "Current Up"
  TxPDO 0x1a04 "DPO TxPDO-Map Inputs Ch.3"
    PDO entry 0x6020:01,  1 bit, "Error Us"
    PDO entry 0x6020:02,  1 bit, "Error Up"
    PDO entry 0x6020:03,  1 bit, "Warning Us"
    PDO entry 0x6020:04,  1 bit, "Warning Up"
    PDO entry 0x6020:05,  1 bit, "Status Us"
    PDO entry 0x6020:06,  1 bit, "Status Up"
    PDO entry 0x6020:07,  1 bit, "Channel Error"
    PDO entry 0x6020:08,  1 bit, "Error Sum Current"
    PDO entry 0x6020:09,  1 bit, "Warning Sum Current"
    PDO entry 0x0000:00,  5 bit, "Gap"
    PDO entry 0x6020:0f,  1 bit, "TxPDO State"
    PDO entry 0x6020:10,  1 bit, "TxPDO Toggle"
    PDO entry 0x6020:11, 16 bit, "Current Us"
    PDO entry 0x6020:12, 16 bit, "Current Up"
  TxPDO 0x1a06 "DPO TxPDO-Map Inputs Ch.4"
    PDO entry 0x6030:01,  1 bit, "Error Us"
    PDO entry 0x6030:02,  1 bit, "Error Up"
    PDO entry 0x6030:03,  1 bit, "Warning Us"
    PDO entry 0x6030:04,  1 bit, "Warning Up"
    PDO entry 0x6030:05,  1 bit, "Status Us"
    PDO entry 0x6030:06,  1 bit, "Status Up"
    PDO entry 0x6030:07,  1 bit, "Channel Error"
    PDO entry 0x6030:08,  1 bit, "Error Sum Current"
    PDO entry 0x6030:09,  1 bit, "Warning Sum Current"
    PDO entry 0x0000:00,  5 bit, "Gap"
    PDO entry 0x6030:0f,  1 bit, "TxPDO State"
    PDO entry 0x6030:10,  1 bit, "TxPDO Toggle"
    PDO entry 0x6030:11, 16 bit, "Current Us"
    PDO entry 0x6030:12, 16 bit, "Current Up"
  TxPDO 0x1a08 "DPO TxPDO-Map Inputs Device"
    PDO entry 0xf607:01,  1 bit, "Temperature Warning"
    PDO entry 0xf607:02,  1 bit, "Temperature Error"
    PDO entry 0xf607:03,  1 bit, "Us Warning"
    PDO entry 0xf607:04,  1 bit, "Us Error"
    PDO entry 0xf607:05,  1 bit, "Up Warning"
    PDO entry 0xf607:06,  1 bit, "Up Error"
    PDO entry 0xf607:07,  1 bit, "Global Error Bit"
    PDO entry 0xf607:08,  1 bit, "Sum Current Warning"
    PDO entry 0xf607:09,  1 bit, "Sum Current Error"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0xf607:0c,  1 bit, "Reset Input"
    PDO entry 0x0000:00,  2 bit, "Gap"
    PDO entry 0xf607:0f,  1 bit, "TxPDO State"
    PDO entry 0xf607:10,  1 bit, "TxPDO Toggle"
    PDO entry 0xf607:11, 16 bit, "Current Us"
    PDO entry 0xf607:12, 16 bit, "Current Up"
    PDO entry 0xf607:13, 16 bit, "Voltage Us"
    PDO entry 0xf607:14, 16 bit, "Voltage Up"
    PDO entry 0xf607:15, 16 bit, "Temperature"
scottlaird commented 8 months ago

https://linuxcnc-ethercat.github.io/esi-data/devices/EP9224-0023

scottlaird commented 7 months ago

Also, support EP9214-0023. Seems to be a subset of the EP9224, without power measurement.