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

Committer:
masterkookus
Date:
Mon Oct 07 12:44:38 2019 +0000
Revision:
12:4bb088c27838
Parent:
11:d40adc7de05f
Child:
15:9ad261a27883
Added percent or value option

Who changed what in which revision?

UserRevisionLine numberNew contents of line
masterkookus 8:fa2a2c3a16ce 1 #ifndef SELMSG_H
masterkookus 8:fa2a2c3a16ce 2 #define SELMSG_H
masterkookus 8:fa2a2c3a16ce 3
masterkookus 10:9da863a6da3e 4 const char fmCmd[5][2] = {
masterkookus 8:fa2a2c3a16ce 5 {0xA5,0xC0},
masterkookus 8:fa2a2c3a16ce 6 {0xA5,0xC1},
masterkookus 10:9da863a6da3e 7 {0xA5,0xD1},
masterkookus 10:9da863a6da3e 8 {0xA5,0xC2},
masterkookus 10:9da863a6da3e 9 {0xA5,0xD2}
masterkookus 8:fa2a2c3a16ce 10 };
masterkookus 8:fa2a2c3a16ce 11
masterkookus 9:d6e7981dfc89 12 const char serCmd[5][7] = {
masterkookus 9:d6e7981dfc89 13 {'M','E','T',' ','M','\r','\n'},
masterkookus 9:d6e7981dfc89 14 {'T','A','P','\r','\n',' ',' '},
masterkookus 9:d6e7981dfc89 15 {'A','C','C','\r','\n',' ',' '},
masterkookus 9:d6e7981dfc89 16 {'O','T','T','E','R','\r','\n'},
masterkookus 9:d6e7981dfc89 17 {'\r','\n',' ',' ',' ',' ',' '}
masterkookus 9:d6e7981dfc89 18 };
masterkookus 9:d6e7981dfc89 19
masterkookus 12:4bb088c27838 20 const char serCmdSeq[2][5] = {
masterkookus 9:d6e7981dfc89 21 {0x02,0x03,0x04,0x04,0x00},
masterkookus 12:4bb088c27838 22 {0x02,0x03,0x04,0x04,0x01}
masterkookus 12:4bb088c27838 23 };
masterkookus 12:4bb088c27838 24
masterkookus 12:4bb088c27838 25 const char serCmdlen[2][5] = {
masterkookus 12:4bb088c27838 26 {0x05,0x07,0x04,0x04,0x07},
masterkookus 12:4bb088c27838 27 {0x05,0x07,0x04,0x04,0x05}
masterkookus 9:d6e7981dfc89 28 };
masterkookus 9:d6e7981dfc89 29
masterkookus 8:fa2a2c3a16ce 30 const char vRegDevCfg[23] = {
masterkookus 8:fa2a2c3a16ce 31 0xA5,0xC0,0x17,0x02,0x03,0x00,0xA5,0xC1,0xA5,0xD1,0xA5,0xC2,0xA5,0xD2,0xA5,0xC3,0xA5,0xD3,0x01,0x00,0x00,0x05,0x21
masterkookus 8:fa2a2c3a16ce 32 };
masterkookus 8:fa2a2c3a16ce 33
masterkookus 8:fa2a2c3a16ce 34 struct analog1Sample {
masterkookus 8:fa2a2c3a16ce 35 char analogName[6];
masterkookus 8:fa2a2c3a16ce 36 float analog1Value;
masterkookus 8:fa2a2c3a16ce 37 };
masterkookus 8:fa2a2c3a16ce 38 struct analog2Sample {
masterkookus 8:fa2a2c3a16ce 39 char analogName[6];
masterkookus 8:fa2a2c3a16ce 40 float analog1Value;
masterkookus 8:fa2a2c3a16ce 41 float analog2Value;
masterkookus 8:fa2a2c3a16ce 42 };
masterkookus 8:fa2a2c3a16ce 43 struct analog3Sample {
masterkookus 8:fa2a2c3a16ce 44 char analogName[6];
masterkookus 8:fa2a2c3a16ce 45 float analog1Value;
masterkookus 8:fa2a2c3a16ce 46 float analog2Value;
masterkookus 8:fa2a2c3a16ce 47 float analog3Value;
masterkookus 8:fa2a2c3a16ce 48 };
masterkookus 8:fa2a2c3a16ce 49 struct analog4Sample {
masterkookus 8:fa2a2c3a16ce 50 char analogName[6];
masterkookus 8:fa2a2c3a16ce 51 float analog1Value;
masterkookus 8:fa2a2c3a16ce 52 float analog2Value;
masterkookus 8:fa2a2c3a16ce 53 float analog3Value;
masterkookus 8:fa2a2c3a16ce 54 float analog4Value;
masterkookus 8:fa2a2c3a16ce 55 };
masterkookus 8:fa2a2c3a16ce 56
masterkookus 8:fa2a2c3a16ce 57 struct fmTimeStamp {
masterkookus 8:fa2a2c3a16ce 58 char month;
masterkookus 8:fa2a2c3a16ce 59 char day;
masterkookus 8:fa2a2c3a16ce 60 char year;
masterkookus 8:fa2a2c3a16ce 61 char hour;
masterkookus 8:fa2a2c3a16ce 62 char min;
masterkookus 8:fa2a2c3a16ce 63 char sec;
masterkookus 8:fa2a2c3a16ce 64 short msec;
masterkookus 8:fa2a2c3a16ce 65 };
masterkookus 8:fa2a2c3a16ce 66
masterkookus 8:fa2a2c3a16ce 67 struct vRegData {
masterkookus 8:fa2a2c3a16ce 68 char numAnalog;
masterkookus 8:fa2a2c3a16ce 69 char numDigital;
masterkookus 10:9da863a6da3e 70 char numDemAnalog;
masterkookus 10:9da863a6da3e 71 struct analog1Sample analogs[27];
masterkookus 11:d40adc7de05f 72 struct analog1Sample calculated[5];
masterkookus 8:fa2a2c3a16ce 73 struct fmTimeStamp timeStamp;
masterkookus 10:9da863a6da3e 74 struct fmTimeStamp demTimeStamp;
masterkookus 8:fa2a2c3a16ce 75 char digitalTargets[52];
masterkookus 8:fa2a2c3a16ce 76 };
masterkookus 8:fa2a2c3a16ce 77
masterkookus 8:fa2a2c3a16ce 78 void initVoltageRegulator(vRegData *vReg);
masterkookus 8:fa2a2c3a16ce 79
masterkookus 8:fa2a2c3a16ce 80 #endif