From d989b4c737c9bee547b7116ce1e02c49931f481b Mon Sep 17 00:00:00 2001 From: Anders Sandstrom Date: Tue, 16 Mar 2021 13:17:39 +0100 Subject: [PATCH] WIP --- docs/readmeCanOpenSocket.md | 437 ++++++++++++++++++ .../Db/pmu905AnalogValues.template | 225 +++++++++ iocsh/pmu905.script | 2 + iocsh/pvs.log | 46 +- 4 files changed, 698 insertions(+), 12 deletions(-) create mode 100644 ecmc_plugin_socketcan/ecmc_plugin_socketcanApp/Db/pmu905AnalogValues.template diff --git a/docs/readmeCanOpenSocket.md b/docs/readmeCanOpenSocket.md index 1461016..138cc53 100644 --- a/docs/readmeCanOpenSocket.md +++ b/docs/readmeCanOpenSocket.md @@ -304,4 +304,441 @@ r 0x583 [8] 0x60 0x90 0x26 0x01 0x00 0x00 0x00 0x00 # Ok from slave w 0x603 [8] 0x60 0x08 0xF4 0xA9 0xBE 0xC0 0xCB 0xE1 # Send data r 0x583 [8] 0x01 0x18 0x00 0x24 0x00 0x0E 0x00 0x0A # ??? +# Check some pvs +camonitor IOC_TEST:CAN03-PWR_A IOC_TEST:CAN03-PWR_B IOC_TEST:CAN03-PWR_OUT IOC_TEST:CAN03-REFL_OUT IOC_TEST:CAN03-SDO01-Array IOC_TEST:CAN03-PDO01-Array IOC_TEST:CAN03-PWR_A + + + +camonitor IOC_TEST:CAN03-PWR_A IOC_TEST:CAN03-PWR_B IOC_TEST:CAN03-PWR_OUT IOC_TEST:CAN03-REFL_OUT IOC_TEST:CAN03-V_REG IOC_TEST:CAN03-V_TEMP IOC_TEST:CAN03-I_DRV IOC_TEST:CAN03-I_PRE IOC_TEST:CAN03-I_1A IOC_TEST:CAN03-I_2A IOC_TEST:CAN03-V_REFL_SAVE IOC_TEST:CAN03-V_PLUSMON IOC_TEST:CAN03-V_I_DC IOC_TEST:CAN03-I_1B IOC_TEST:CAN03-I_2B IOC_TEST:CAN03-V_12V_MON IOC_TEST:CAN03-VREF_PWR_OPV IOC_TEST:CAN03-V_AUX_IN IOC_TEST:CAN03-V_5V_ACB IOC_TEST:CAN03-V_3V5 IOC_TEST:CAN03-AIR_INLET IOC_TEST:CAN03-AIR_OUTLET IOC_TEST:CAN03-SDO01-Array IOC_TEST:CAN03-PDO01-Array + + + +# Most recent data dump +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0]STATE = READ_REQ_TRANSFER analogValues +STATE = READ_WAIT_FOR_CONF analogValues + +w 0x080 [0] +w 0x700 [1] 0x05 +w 0x603 [8] 0x40 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +STATE = READ_WAIT_FOR_DATA analogValues +r 0x583 [8] 0x41 0x40 0x26 0x00 0x38 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 7 +r 0x583 [8] 0x00 0x18 0x00 0x24 0x00 0x0E 0x00 0x0A +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 14 +r 0x583 [8] 0x10 0x00 0x00 0x00 0xC5 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 21 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x35 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 28 +r 0x583 [8] 0x10 0x1C 0x84 0x02 0x46 0x1A 0x3C 0x49 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 35 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x00 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 42 +r 0x583 [8] 0x10 0x00 0xC8 0x48 0x51 0x2F 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 49 +r 0x583 [8] 0x00 0x5C 0x2D 0x7F 0x14 0x67 0x0D 0xAA +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 56 +STATE = READ_IDLE analogValues +All data read from slave SDO. +data[00]: 24 +data[01]: 36 +data[02]: 14 +data[03]: 10 +data[04]: 0 +data[05]: 197 +data[06]: 0 +data[07]: 450 +data[08]: 0 +data[09]: 0 +data[10]: 7221 +data[11]: 644 +data[12]: 6726 +data[13]: 18748 +data[14]: 450 +data[15]: 0 +data[16]: 0 +data[17]: 0 +data[18]: 18632 +data[19]: 12113 +data[20]: 0 +data[21]: 11612 +data[22]: 5247 +data[23]: 3431 +data[24]: 170 +data[25]: 193 +data[26]: 0 +data[27]: 5000 +r 0x583 [8] 0x11 0x00 0xC1 0x00 0x00 0x00 0x88 0x13 +r 0x280 [0] +r 0x683 [4] 0x00 0x00 0x00 0x00 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +data[00]: 0 +data[01]: 0 +data[02]: 16395 +data[03]: 8196 +r 0x183 [8] 0x00 0x00 0x00 0x00 0x0B 0x40 0x04 0x20 +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +STATE = READ_REQ_TRANSFER analogValues +STATE = READ_WAIT_FOR_CONF analogValues +w 0x603 [8] 0x40 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +STATE = READ_WAIT_FOR_DATA analogValues +r 0x583 [8] 0x41 0x40 0x26 0x00 0x38 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 7 +r 0x583 [8] 0x00 0x18 0x00 0x24 0x00 0x0E 0x00 0x0A +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 14 +r 0x583 [8] 0x10 0x00 0x00 0x00 0xC5 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 21 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x35 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 28 +r 0x583 [8] 0x10 0x1C 0x84 0x02 0x46 0x1A 0x3C 0x49 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 35 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x00 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 42 +r 0x583 [8] 0x10 0x00 0xC8 0x48 0x51 0x2F 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 49 +r 0x583 [8] 0x00 0x5C 0x2D 0x7F 0x14 0x67 0x0D 0xAA +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 56 +STATE = READ_IDLE analogValues +All data read from slave SDO. +data[00]: 24 +data[01]: 36 +data[02]: 14 +data[03]: 10 +data[04]: 0 +data[05]: 197 +data[06]: 0 +data[07]: 450 +data[08]: 0 +data[09]: 0 +data[10]: 7221 +data[11]: 644 +data[12]: 6726 +data[13]: 18748 +data[14]: 450 +data[15]: 0 +data[16]: 0 +data[17]: 0 +data[18]: 18632 +data[19]: 12113 +data[20]: 0 +data[21]: 11612 +data[22]: 5247 +data[23]: 3431 +data[24]: 170 +data[25]: 193 +data[26]: 0 +data[27]: 5000 +r 0x583 [8] 0x11 0x00 0xC1 0x00 0x00 0x00 0x88 0x13 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x683 [4] 0x00 0x00 0x00 0x00 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +data[00]: 0 +data[01]: 0 +data[02]: 16395 +data[03]: 8196 +r 0x183 [8] 0x00 0x00 0x00 0x00 0x0B 0x40 0x04 0x20 +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x703 [1] 0x05 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +STATE = READ_REQ_TRANSFER analogValues +STATE = READ_WAIT_FOR_CONF analogValues +w 0x603 [8] 0x40 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +STATE = READ_WAIT_FOR_DATA analogValues +r 0x583 [8] 0x41 0x40 0x26 0x00 0x38 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 7 +r 0x583 [8] 0x00 0x18 0x00 0x24 0x00 0x0E 0x00 0x0A +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 14 +r 0x583 [8] 0x10 0x00 0x00 0x00 0xC5 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 21 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x35 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 28 +r 0x583 [8] 0x10 0x1C 0x84 0x02 0x46 0x1A 0x3C 0x49 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 35 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x00 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 42 +r 0x583 [8] 0x10 0x00 0xC8 0x48 0x51 0x2F 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 49 +r 0x583 [8] 0x00 0x5C 0x2D 0x7F 0x14 0x67 0x0D 0xAA +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 56 +STATE = READ_IDLE analogValues +All data read from slave SDO. +data[00]: 24 +data[01]: 36 +data[02]: 14 +data[03]: 10 +data[04]: 0 +data[05]: 197 +data[06]: 0 +data[07]: 450 +data[08]: 0 +data[09]: 0 +data[10]: 7221 +data[11]: 644 +data[12]: 6726 +data[13]: 18748 +data[14]: 450 +data[15]: 0 +data[16]: 0 +data[17]: 0 +data[18]: 18632 +data[19]: 12113 +data[20]: 0 +data[21]: 11612 +data[22]: 5247 +data[23]: 3431 +data[24]: 170 +data[25]: 193 +data[26]: 0 +data[27]: 5000 +r 0x583 [8] 0x11 0x00 0xC1 0x00 0x00 0x00 0x88 0x13 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x683 [4] 0x00 0x00 0x00 0x00 +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +STATE = READ_REQ_TRANSFER analogValues +STATE = READ_WAIT_FOR_CONF analogValues +w 0x603 [8] 0x40 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +STATE = READ_WAIT_FOR_DATA analogValues +r 0x583 [8] 0x41 0x40 0x26 0x00 0x38 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 7 +r 0x583 [8] 0x00 0x18 0x00 0x24 0x00 0x0E 0x00 0x0A +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 14 +r 0x583 [8] 0x10 0x00 0x00 0x00 0xC5 0x00 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 21 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x35 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 28 +r 0x583 [8] 0x10 0x1C 0x84 0x02 0x46 0x1A 0x3C 0x49 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 35 +r 0x583 [8] 0x00 0xC2 0x01 0x00 0x00 0x00 0x00 0x00 +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 42 +r 0x583 [8] 0x10 0x00 0xC8 0x48 0x51 0x2F 0x00 0x00 +w 0x603 [8] 0x61 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 49 +r 0x583 [8] 0x00 0x5C 0x2D 0x7F 0x14 0x67 0x0D 0xAA +w 0x603 [8] 0x71 0x40 0x26 0x00 0x00 0x00 0x00 0x00 +recived bytes = 56 +STATE = READ_IDLE analogValues +All data read from slave SDO. +data[00]: 24 +data[01]: 36 +data[02]: 14 +data[03]: 10 +data[04]: 0 +data[05]: 197 +data[06]: 0 +data[07]: 450 +data[08]: 0 +data[09]: 0 +data[10]: 7221 +data[11]: 644 +data[12]: 6726 +data[13]: 18748 +data[14]: 450 +data[15]: 0 +data[16]: 0 +data[17]: 0 +data[18]: 18632 +data[19]: 12113 +data[20]: 0 +data[21]: 11612 +data[22]: 5247 +data[23]: 3431 +data[24]: 170 +data[25]: 193 +data[26]: 0 +data[27]: 5000 +r 0x583 [8] 0x11 0x00 0xC1 0x00 0x00 0x00 0x88 0x13 +r 0x280 [0] +data[00]: 0 +data[01]: 0 +data[02]: 16395 +data[03]: 8196 +r 0x183 [8] 0x00 0x00 0x00 0x00 0x0B 0x40 0x04 0x20 +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 +r 0x280 [0] +r 0x280 [0] +r 0x703 [1] 0x05 +w 0x7E5 [0] +w 0x080 [0] +w 0x700 [1] 0x05 diff --git a/ecmc_plugin_socketcan/ecmc_plugin_socketcanApp/Db/pmu905AnalogValues.template b/ecmc_plugin_socketcan/ecmc_plugin_socketcanApp/Db/pmu905AnalogValues.template new file mode 100644 index 0000000..b538597 --- /dev/null +++ b/ecmc_plugin_socketcan/ecmc_plugin_socketcanApp/Db/pmu905AnalogValues.template @@ -0,0 +1,225 @@ +# Not sure if this should be scaled as voltage or power. The manual states mV as unit but also descibes scalings of power +# 0..7500mV +record(ai,"$(P)CAN${CH_ID}-PWR_A") { + field(DESC, "Analog Values: PWR_A") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[0] CP") + field(EGU, "mV") +} + +# Not sure if this should be scaled as voltage or power. The manual states mV as unit. +# 0..7500mV +record(ai,"$(P)CAN${CH_ID}-PWR_B") { + field(DESC, "Analog Values: PWR_B") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[1] CP") + field(EGU, "mV") +} + +# Not sure if this should be scaled as voltage or power. The manual states mV as unit. +# 0..7500mV +record(ai,"$(P)CAN${CH_ID}-PWR_OUT") { + field(DESC, "Analog Values: PWR_OUT") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[2] CP") + field(EGU, "mV") +} + +# Scaling? +# 0..7500mV +record(ai,"$(P)CAN${CH_ID}-REFL_OUT") { + field(DESC, "Analog Values: REFL_OUT") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[3] CP") + field(EGU, "mV") +} + +# Scaling? +# 0..12500mV +record(ai,"$(P)CAN${CH_ID}-V_REG") { + field(DESC, "Analog Values: V_REG") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[4] CP") + field(EGU, "mV") +} + +# 0..150 degC +record(ai,"$(P)CAN${CH_ID}-V_TEMP") { + field(DESC, "Analog Values: V_TEMP") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[5] CP") + field(LINR, "SLOPE") + field(ESLO, "0.1") + field(EOFF, "0") + field(EGU, "degC") +} + +# Scaling? +# 0..33.3A +record(ai,"$(P)CAN${CH_ID}-I_DRV") { + field(DESC, "Analog Values: I_DRV") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[6] CP") + field(EGU, "A") +} + +# Scaling? +# 0..5000mA +record(ai,"$(P)CAN${CH_ID}-I_PRE") { + field(DESC, "Analog Values: I_PRE") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[7] CP") + field(EGU, "mA") +} + +# Scaling? +# 0..33.3A +record(ai,"$(P)CAN${CH_ID}-I_1A") { + field(DESC, "Analog Values: I_1A") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[8] CP") + field(EGU, "A") +} + +# Scaling? +# 0..33.3A +record(ai,"$(P)CAN${CH_ID}-I_2A") { + field(DESC, "Analog Values: I_2A") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[9] CP") + field(EGU, "A") +} + + +# Element 10 of analog values array is reserved. + + +# Scaling? +# 0..7500mV +record(ai,"$(P)CAN${CH_ID}-V_REFL_SAVE") { + field(DESC, "Analog Values: V_REFL_SAVE") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[11] CP") + field(EGU, "mV") +} + + +# Element 12 of analog values array is reserved. + +# Scaling? +# 0..57.5V +record(ai,"$(P)CAN${CH_ID}-V_PLUSMON") { + field(DESC, "Analog Values: V_PLUSMON") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[13] CP") + field(EGU, "V") +} + +# Scaling? +# 0..223.492A +record(ai,"$(P)CAN${CH_ID}-V_I_DC") { + field(DESC, "Analog Values: V_I_DC") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[14] CP") + field(EGU, "A") +} + + +# Element 15 of analog values array is reserved. + + +# Scaling? +# 0..33.3A +record(ai,"$(P)CAN${CH_ID}-I_1B") { + field(DESC, "Analog Values: I_1B") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[16] CP") + field(EGU, "A") +} + +# Scaling? +# 0..33.3A +record(ai,"$(P)CAN${CH_ID}-I_2B") { + field(DESC, "Analog Values: I_2B") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[17] CP") + field(EGU, "A") +} + + +# Element 18 of analog values array is reserved. + + +# Scaling? +# 0..15000mv +record(ai,"$(P)CAN${CH_ID}-V_12V_MON") { + field(DESC, "Analog Values: V_12V_MON") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[19] CP") + field(EGU, "mV") +} + +# Scaling? +# 0..5000mv +record(ai,"$(P)CAN${CH_ID}-VREF_PWR_OPV") { + field(DESC, "Analog Values: VREF_PWR_OPV") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[20] CP") + field(EGU, "mV") +} + +# Scaling? +# 0..36.75V +record(ai,"$(P)CAN${CH_ID}-V_AUX_IN") { + field(DESC, "Analog Values: V_AUX_IN") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[21] CP") + field(EGU, "V") +} + +# Scaling? +# 0..7500mv +record(ai,"$(P)CAN${CH_ID}-V_5V_ACB") { + field(DESC, "Analog Values: V_5V_ACB") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[22] CP") + field(EGU, "mV") +} + +# Scaling? +# 0..5000mv +record(ai,"$(P)CAN${CH_ID}-V_3V5") { + field(DESC, "Analog Values: V_3V5") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[23] CP") + field(EGU, "mV") +} + +# Scaling? +# -30..120 degC +record(ai,"$(P)CAN${CH_ID}-AIR_INLET") { + field(DESC, "Analog Values: AIR_INLET") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[24] CP") + field(LINR, "SLOPE") + field(ESLO, "0.1") + field(EOFF, "0") + field(EGU, "degC") +} + +# Scaling? +# -30..120 degC +record(ai,"$(P)CAN${CH_ID}-AIR_OUTLET") { + field(DESC, "Analog Values: AIR_OUTLET") + field(PINI, "1") + field(INP, "$(P)CAN03-SDO01-Array.[25] CP") + field(LINR, "SLOPE") + field(ESLO, "0.1") + field(EOFF, "0") + field(EGU, "degC") +} + + +# Element 26 of analog values array is reserved. +# Element 27 of analog values array is reserved. + diff --git a/iocsh/pmu905.script b/iocsh/pmu905.script index 434bb08..7db36a4 100644 --- a/iocsh/pmu905.script +++ b/iocsh/pmu905.script @@ -80,6 +80,8 @@ dbLoadRecords(ecmcPluginSocketCAN_PDO_input.template, "P=${ECMC_PREFIX},PORT=${E # ecmcCANOpenAddSDO("analogValues",3,0x583,0x603,2,0x2640,0x0,56,7000) # READ dbLoadRecords(ecmcPluginSocketCAN_SDO_input.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=SDO01-Array,source=analogValues,DTYP=asynInt16ArrayIn,FTVL=SHORT,NELM=28") +dbLoadRecords(pmu905AnalogValues.template, "P=${ECMC_PREFIX},CH_ID=03") + ecmcCANOpenAddSDO("basicConfig",3,0x583,0x603,1,0x2690,0x1,7,0) # WRITE dbLoadRecords(ecmcPluginSocketCAN_SDO_output.template, "P=${ECMC_PREFIX},PORT=${ECMC_ASYN_PORT},ADDR=0,TIMEOUT=1,T_SMP_MS=${ECMC_SAMPLE_RATE_MS},TSE=${ECMC_TSE},NELM=${NELM=1},CH_ID=03,DEV_ID=3,suffix=SDO02-BasicConfig,source=basicConfig,DTYP=asynInt8ArrayOut,FTVL=CHAR,NELM=7") diff --git a/iocsh/pvs.log b/iocsh/pvs.log index 7ad69b1..8844063 100644 --- a/iocsh/pvs.log +++ b/iocsh/pvs.log @@ -1,18 +1,40 @@ -REQMOD:raspberrypi-4193:exit +REQMOD:raspberrypi-11941:exit IOC_TEST:PLC-0-scantime IOC_TEST:PLC-0-error -REQMOD:raspberrypi-4193:BaseVersion -REQMOD:raspberrypi-4193:require_VER -REQMOD:raspberrypi-4193:ecmccfg_VER -REQMOD:raspberrypi-4193:asyn_VER -REQMOD:raspberrypi-4193:exprtk_VER -REQMOD:raspberrypi-4193:motor_VER -REQMOD:raspberrypi-4193:ecmc_VER -REQMOD:raspberrypi-4193:ecmc_plugin_socketcan_VER +IOC_TEST:CAN03-PWR_A +IOC_TEST:CAN03-PWR_B +IOC_TEST:CAN03-PWR_OUT +IOC_TEST:CAN03-REFL_OUT +IOC_TEST:CAN03-V_REG +IOC_TEST:CAN03-V_TEMP +IOC_TEST:CAN03-I_DRV +IOC_TEST:CAN03-I_PRE +IOC_TEST:CAN03-I_1A +IOC_TEST:CAN03-I_2A +IOC_TEST:CAN03-V_REFL_SAVE +IOC_TEST:CAN03-V_PLUSMON +IOC_TEST:CAN03-V_I_DC +IOC_TEST:CAN03-I_1B +IOC_TEST:CAN03-I_2B +IOC_TEST:CAN03-V_12V_MON +IOC_TEST:CAN03-VREF_PWR_OPV +IOC_TEST:CAN03-V_AUX_IN +IOC_TEST:CAN03-V_5V_ACB +IOC_TEST:CAN03-V_3V5 +IOC_TEST:CAN03-AIR_INLET +IOC_TEST:CAN03-AIR_OUTLET +REQMOD:raspberrypi-11941:BaseVersion +REQMOD:raspberrypi-11941:require_VER +REQMOD:raspberrypi-11941:ecmccfg_VER +REQMOD:raspberrypi-11941:asyn_VER +REQMOD:raspberrypi-11941:exprtk_VER +REQMOD:raspberrypi-11941:motor_VER +REQMOD:raspberrypi-11941:ecmc_VER +REQMOD:raspberrypi-11941:ecmc_plugin_socketcan_VER IOC_TEST:PLC-0-enable -REQMOD:raspberrypi-4193:MODULES -REQMOD:raspberrypi-4193:VERSIONS -REQMOD:raspberrypi-4193:MOD_VER +REQMOD:raspberrypi-11941:MODULES +REQMOD:raspberrypi-11941:VERSIONS +REQMOD:raspberrypi-11941:MOD_VER IOC_TEST:CAN03-PDO01-Array IOC_TEST:CAN03-SDO01-Array IOC_TEST:CAN03-SDO02-BasicConfig