This demonstrates the process of communicating through ethernet to a SEL-2431 Voltage Regulator Control Panel using SEL Fast Message. Basic device commands and data cna be requested and displayed over a connected serial port. This is a basic version and full testing and documentation has yet to be completed.
Dependencies: BufferedSerial analogAverager voltageRegulator netStatReg analogMinMax CounterMinMax
Diff: selMsg.h
- Revision:
- 8:fa2a2c3a16ce
- Child:
- 9:d6e7981dfc89
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/selMsg.h Thu Sep 26 18:40:53 2019 +0000 @@ -0,0 +1,71 @@ +#ifndef SELMSG_H +#define SELMSG_H + +const char fmCmd[3][2] = { + {0xA5,0xC0}, + {0xA5,0xC1}, + {0xA5,0xD1} +}; + +const char vRegDevCfg[23] = { + 0xA5,0xC0,0x17,0x02,0x03,0x00,0xA5,0xC1,0xA5,0xD1,0xA5,0xC2,0xA5,0xD2,0xA5,0xC3,0xA5,0xD3,0x01,0x00,0x00,0x05,0x21 +}; + +/*const char vRegMsgCfg204] = { + 0xA5,0xC1,0xBB,0x01,0x00,0x00,0x11,0x01,0x34,0x00,0x00,0x04,0x00,0x48,0x00,0x50,0x49,0x4C,0x00,0x00,0x00,0x00,0x01,0xFF, + 0xFF,0x00,0x00,0x49,0x4C,0x41,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x56,0x53,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00, + 0x00,0x56,0x53,0x41,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x56,0x4C,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x56, + 0x4C,0x41,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x56,0x43,0x4D,0x50,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x54,0x41,0x50, + 0x50,0x4F,0x53,0x01,0xFF,0xFF,0x00,0x00,0x56,0x53,0x53,0x45,0x43,0x00,0x01,0xFF,0xFF,0x00,0x00,0x56,0x4C,0x53,0x45,0x43, + 0x00,0x01,0xFF,0xFF,0x00,0x00,0x56,0x43,0x4D,0x50,0x53,0x43,0x01,0xFF,0xFF,0x00,0x00,0x50,0x4C,0x00,0x00,0x00,0x00,0x01, + 0xFF,0xFF,0x00,0x00,0x51,0x4C,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x53,0x4C,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF, + 0x00,0x00,0x50,0x46,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x50,0x46,0x4C,0x44,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00, + 0x46,0x52,0x45,0x51,0x00,0x00,0x01,0xFF,0xFF,0x00,0x00,0x23 + };*/ + +//short2byte analogScaleOffset; + +struct analog1Sample { + char analogName[6]; + float analog1Value; +}; +struct analog2Sample { + char analogName[6]; + float analog1Value; + float analog2Value; +}; +struct analog3Sample { + char analogName[6]; + float analog1Value; + float analog2Value; + float analog3Value; +}; +struct analog4Sample { + char analogName[6]; + float analog1Value; + float analog2Value; + float analog3Value; + float analog4Value; +}; + +struct fmTimeStamp { + char month; + char day; + char year; + char hour; + char min; + char sec; + short msec; +}; + +struct vRegData { + char numAnalog; + char numDigital; + struct analog1Sample analogs[17]; + struct fmTimeStamp timeStamp; + char digitalTargets[52]; +}; + +void initVoltageRegulator(vRegData *vReg); + +#endif \ No newline at end of file