📄 load_curve.c
字号:
#include "includes.h"
unsigned long SumLoadCurvePagePointer = 0;
sreg unsigned short LoadCurvePagePointer = 0;
sreg unsigned char LoadCurvePointer = 0;
const unsigned char load_curve_item_len[]={4,4,4,4,4,4,4,4,4,4,4,4,6,9,12,12,6,4,4,2,2,16,18};
const unsigned char load_curve_save_pos[]={9,13,17,21,25,29,33,37,41,45,49,53,57,63,72,84,96,102,106,110,112,114,130};
static void _load_curve_proc01(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 0 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[0];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc02(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 5 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[1];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc03(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 10 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[2];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc04(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 15 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[3];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc05(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 20 );
temp = Bcd2HexLong( temp );
addr =(ushort) DI1DI0+load_curve_save_pos[4];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc06(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 25 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[5];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc07(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 30 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[6];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc08(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 40 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[7];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc09(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 45 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[8];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc10(void)
{
unsigned long temp;
unsigned short addr;
LoadEnergy( ( unsigned char *)&temp, 0xFF, 35 );
temp = Bcd2HexLong( temp );
addr = (ushort)DI1DI0+load_curve_save_pos[9];
FramWrite( addr, (unsigned char *)&temp, 4 );
}
static void _load_curve_proc11(void)
{
unsigned long inst_demand=0;
unsigned short addr;
CalcInstDemand( (unsigned char *)&inst_demand, 0 );
inst_demand = Bcd2HexLong( inst_demand );
addr = (ushort)DI1DI0+load_curve_save_pos[10];
FramWrite( addr, (unsigned char *)&inst_demand, 4 );
}
static void _load_curve_proc12(void)
{
unsigned long inst_demand=0;
unsigned short addr;
CalcInstDemand( (unsigned char *)&inst_demand, 3 );
inst_demand = Bcd2HexLong( inst_demand );
addr = (ushort)DI1DI0+load_curve_save_pos[11];
FramWrite( addr, (unsigned char *)&inst_demand, 4 );
}
static void _load_curve_proc13(void)
{
unsigned short temp[3];
unsigned short addr;
temp[0] = (unsigned short)(CurrentVI[0]*10);
temp[1] = (unsigned short)(CurrentVI[1]*10);
temp[2] = (unsigned short)(CurrentVI[2]*10);
addr=(ushort)DI1DI0+load_curve_save_pos[12];
FramWrite( addr, (unsigned char *)&temp[0], 6 );
}
static void _load_curve_proc14(void)
{
unsigned long temp=0;
unsigned short addr;
unsigned char ii;
for( ii = 0; ii < 3; ii++ )
{
addr = (ushort)DI1DI0+load_curve_save_pos[13]+ii*3;
temp = (unsigned long)CurrentVI[3+ii]*10;
FramWrite( addr, (unsigned char *)&temp, 3 );
}
}
static void _load_curve_proc15(void)
{
unsigned long instanpwr[3];
unsigned short addr;
unsigned char ii;
for( ii = 0; ii < 3; ii++ )
{
CalcInstantPower( ( unsigned char *)&instanpwr[ii], ii+1 );
instanpwr[ii] = Bcd2HexLong( instanpwr[ii] );
}
addr = (ushort)DI1DI0+load_curve_save_pos[14];
FramWrite( addr, (unsigned char *)&instanpwr[0], 12 );
}
static void _load_curve_proc16(void)
{
unsigned long instanpwr[3];
unsigned short addr;
unsigned char ii;
for( ii = 0; ii < 3; ii++ )
{
CalcInstantPower( ( unsigned char *)&instanpwr[ii], ii+5 );
instanpwr[ii] = Bcd2HexLong( instanpwr[ii] );
}
addr = (ushort)DI1DI0+load_curve_save_pos[15];
FramWrite( addr, (unsigned char *)&instanpwr[0], 12 );
}
static void _load_curve_proc17(void)
{
unsigned short instanfatcor[3];
unsigned short addr;
unsigned char ii;
for( ii = 0; ii < 3; ii++ )
{
instanfatcor[ii] = GetPowerFactor( ii+1 );
instanfatcor[ii] = Bcd2HexShort( instanfatcor[ii] )*10;
}
addr = (ushort)DI1DI0+load_curve_save_pos[16];
FramWrite( addr, (unsigned char *)&instanfatcor[0], 6 );
}
static void _load_curve_proc18(void)
{
unsigned long instanpwr;
unsigned short addr;
CalcInstantPower( (unsigned char *)&instanpwr, 0 );
instanpwr = Bcd2HexLong( instanpwr );
addr = (ushort)DI1DI0+load_curve_save_pos[17];
FramWrite( addr, (unsigned char *)&instanpwr, 4 );
}
static void _load_curve_proc19(void)
{
unsigned long instanpwr;
unsigned short addr;
CalcInstantPower( (unsigned char *)&instanpwr, 4 );
instanpwr = Bcd2HexLong( instanpwr );
addr = (ushort)DI1DI0+load_curve_save_pos[18];
FramWrite( addr, (unsigned char *)&instanpwr, 4 );
}
static void _load_curve_proc20(void)
{
unsigned short instanfatcor;
unsigned short addr;
instanfatcor = GetPowerFactor( 0 );
instanfatcor = (ushort)Bcd2HexLong( instanfatcor )*10;
addr = (ushort)DI1DI0+load_curve_save_pos[19];
FramWrite( addr, (unsigned char *)&instanfatcor, 2 );
}
static void _load_curve_proc21(void)
{
unsigned short instanfreq;
unsigned short addr;
GetFreq();
instanfreq = Bcd2HexShort( CurrentFreq )*10;
addr = (ushort)DI1DI0+load_curve_save_pos[20];
FramWrite( addr, (unsigned char *)&instanfreq, 2 );
}
static void _load_curve_proc22(void)
{
unsigned long temp[4];
unsigned short addr;
unsigned char ii;
for( ii = 0; ii < 4; ii++ )
{
LoadEnergy( (unsigned char *)&temp[ii], 0xFF, ii+1 );
temp[ii] = Bcd2HexLong( temp[ii] );
}
addr = (ushort)DI1DI0+load_curve_save_pos[21];
FramWrite( addr, (unsigned char *)&temp[0], 16 );
}
static void _load_curve_proc23(void)
{
unsigned long temp = 0;
unsigned short addr;
unsigned char ii;
for( ii = 0; ii < 6; ii++ )
{
CalcVoltageAngle( (unsigned char *)&temp, ii );
temp = Bcd2HexLong( temp );
addr = (unsigned short)( DI1DI0+load_curve_save_pos[22]+ii*3 );
FramWrite( addr, (unsigned char *)&temp, 3 );
}
}
const PROC_FUNC load_curve_proc[]={
_load_curve_proc01,
_load_curve_proc02,
_load_curve_proc03,
_load_curve_proc04,
_load_curve_proc05,
_load_curve_proc06,
_load_curve_proc07,
_load_curve_proc08,
_load_curve_proc09,
_load_curve_proc10,
_load_curve_proc11,
_load_curve_proc12,
_load_curve_proc13,
_load_curve_proc14,
_load_curve_proc15,
_load_curve_proc16,
_load_curve_proc17,
_load_curve_proc18,
_load_curve_proc19,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -