time2 ReadTimeDateC_Short(void) { DelayOff(); QueryTimeC(); if (RevInput() != SER_GOODCHECK) return GetTime2Error(); return GetTime2(ReadTimeC(), true); }
time2 QueryTimeC_Full(void) { uchar i; for (i=0; i<bMINORREPEATS; i++) { DelayOff(); QueryTimeC(); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return GetTime2Error(); } if (i == bMINORREPEATS) return GetTime2Error(); return GetTime2(ReadTimeC(), true); }
ulong2 ReadSerialCanC(uchar ibCan) { uchar r; for (r=0; r<MaxRepeats(); r++) { DelayOff(); QueryOpenC(); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return GetLong2Error(); } if (r == MaxRepeats()) return GetLong2Error(); ShowPercent(25); return QuerySerialC_Full(ibCan); }
// задание параметров для счётчиков СС-301 bool AutomaticC(void) { if (ReadKoeffDeviceC() == 0) return(0); SetCanalsAll(); // сохранение К преобразования и К трасформации DelayOff(); QueryEnergyAbsC(); // чтение накопленной энергии if (RevInput() != SER_GOODCHECK) return(0); ShowPercent(100); /* ReadEnergyC(); SetEnergyAll(); // сохранение показаний счётчиков */ return(1); }
bool QueryEnergyAbsC_Full2(uchar bPercent) { uchar i; for (i=0; i<bMINORREPEATS; i++) { DelayOff(); QueryEnergyAbsC(); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return false; if (QueryIdC_Full() == 0) return false; } if (i == bMINORREPEATS) return false; ShowPercent(bPercent); ReadEnergyC(); return(1); }
bool QueryIdC_Full(void) { uchar i; for (i=0; i<bMINORREPEATS; i++) { DelayOff(); QueryIdC(); if ((RevInput() == SER_GOODCHECK) && (ReadIdC() == 1)) break; if (fKey == true) return false; ShowLo(szFailure20); Delay(1000); mpcwFailure2[ibDig]++; } Clear(); if (i == bMINORREPEATS) return false; return(1); }
// чтение коэффициентов для счётчика СС-301 bool ReadKoeffDeviceC(void) { uchar i; for (i=0; i<bMINORREPEATS; i++) { DelayOff(); QueryOpenC(); // открытие канала связи if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return(0); } if (i == bMINORREPEATS) return(0); ShowPercent(25); for (i=0; i<bMINORREPEATS; i++) { DelayOff(); InitPush(0); PushChar(diCurr.bAddress); PushChar(3); PushChar(34); PushChar(0); PushChar(0); PushChar(0); RevQueryIO(4+18+2, 3+3+2); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return(0); } if (i == bMINORREPEATS) return(0); ShowPercent(50); combo32 co; co.mpbBuff[0] = InBuff(4); co.mpbBuff[1] = InBuff(5); co.mpbBuff[2] = InBuff(6); co.mpbBuff[3] = InBuff(7); dbKtrans = co.dwBuff; co.mpbBuff[0] = InBuff(8); co.mpbBuff[1] = InBuff(9); co.mpbBuff[2] = InBuff(10); co.mpbBuff[3] = InBuff(11); dbKtrans *= co.dwBuff; // K трансформации for (i=0; i<bMINORREPEATS; i++) { DelayOff(); InitPush(0); PushChar(diCurr.bAddress); PushChar(3); PushChar(24); PushChar(0); PushChar(0); PushChar(0); RevQueryIO(4+8+2, 3+3+2); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return(0); } if (i == bMINORREPEATS) return(0); ShowPercent(60); dbKpulse = InBuff(8) + InBuff(9)*0x100; dbKpulse = 1000000/dbKpulse; // K преобразования return(1); }