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

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