#include #include #include #define POCET_MERENI 1024 #define CHYBA_OTEVRENI { printf("Chyba pri otevreni/vytvoreni souboru\n"); return 1; } #define CHYBA_UZAVRENI { printf("Chyba pri uzavreni souboru\n"); return 1; } float RandomFloat(int ideal, int odchylka, int pravd) { float nahoda; if ((rand() % 100) < pravd) nahoda = ideal + (rand() % (2 * ideal * odchylka) - ideal * odchylka) / 100; else nahoda = rand(); return nahoda; } unsigned short RandomInt(int ideal, float odchylka, int pravd, int nasobek) { float nahoda; unsigned short hodnota; if ((rand() % 100) < pravd) nahoda = ideal + (rand() % (int) (2 * ideal * odchylka) - ideal * odchylka) / 100; else nahoda = rand(); nahoda *= nasobek; hodnota = (unsigned short) nahoda; return hodnota; } int main(void) { int i, a; unsigned short u8; unsigned int u16; float fl; FILE *f; srand(time(NULL)); if ((f = fopen("data.bin", "wb")) == NULL) { printf("Chyba pri otevreni/vytvoreni souboru\n"); return 1; } for (i = 0; i < POCET_MERENI; i++) { //append_u8(&buf[0], &i, getConfigChange()); u8 = rand(); fwrite(&u8, sizeof(u8), 1, f); //append_u16(&buf[0], &i, status.ErrCode); u16 = rand(); fwrite(&u16, sizeof(u16), 1, f); // flagy - napr frekvence a podobne ?x u16 //append_u8(&buf[0], &i, AktualniHodnoty.overfl); u8 = rand(); fwrite(&u8, sizeof(u8), 1, f); //append_u8(&buf[0], &i, AktualniHodnoty.underfl); u8 = rand(); fwrite(&u8, sizeof(u8), 1, f); //append_u16_BE(&buf[0], &i, AktualniHodnoty.InputOutput ); u16 = rand(); fwrite(&u16, sizeof(u16), 1, f); //append_u16_BE(&buf[0], &i, (u16)(AktualniHodnoty.Freq*100.0+0.5)); u16 = RandomInt(50, 1, 95, 100); fwrite(&u16, sizeof(u16), 1, f); //append_u16_BE(&buf[0], &i, AktualniHodnoty.AnalogovaHodnota); u16 = rand(); fwrite(&u16, sizeof(u16), 1, f); //append_u16_BE(&buf[0], &i, AktualniHodnoty.iL[4]); u16 = RandomInt(5, 50, 100, 5000); //Proud 5A +-50% ve 100% hodnot (vymysleno) fwrite(&u16, sizeof(u16), 1, f); //ULN for(a=0;a<4;a++) { u16 = RandomInt(230, 10, 95, 40); fwrite(&u16, sizeof(u16), 1, f); } //ULL for(a=0;a<4;a++) { u16 = RandomInt(400, 10, 95, 40); fwrite(&u16, sizeof(u16), 1, f); } //IL for(a=0;a<4;a++) { u16 = RandomInt(5, 50, 100, 5000); fwrite(&u16, sizeof(u16), 1, f); } //PWR for(a=0;a<4;a++) { fl = RandomFloat(1000, 50, 100); //Vykony 1000W +-50% ve 100% hodnot (vymysleno) fwrite(&fl, sizeof(fl), 1, f); } //PWR 1. harm for(a=0;a<4;a++) { fl = RandomFloat(100, 50, 100); //Vykony 100W +-50% ve 100% hodnot (vymysleno) fwrite(&fl, sizeof(fl), 1, f); } //VAR for(a=0;a<4;a++) { fl = RandomFloat(2000, 50, 100); //Vykony 2000W +-50% ve 100% hodnot (vymysleno) fwrite(&fl, sizeof(fl), 1, f); } //VAR 1. harm for(a=0;a<4;a++) { fl = RandomFloat(500, 50, 100); //Vykony 500W +-50% ve 100% hodnot (vymysleno) fwrite(&fl, sizeof(fl), 1, f); } //Pavg 1/4h for(a=0;a<4;a++) { fl = RandomFloat(1000, 50, 100); //Vykony 1000W +-50% ve 100% hodnot (vymysleno) fwrite(&fl, sizeof(fl), 1, f); } //uTHD for(a=0;a<4;a++) { //Nenasobi se vysledek x100, idealni hodnota tedy 100 vetsi //(aby nebyl potreba float jako argument) //THD 0,05% +-8% ve 100% hodnot (vymysleno) u16 = RandomInt(5, 8, 100, 1); fwrite(&u16, sizeof(u16), 1, f); } //iTHD for(a=0;a<4;a++) { //Stejne, jako u uTHD u16 = RandomInt(5, 8, 100, 1); fwrite(&u16, sizeof(u16), 1, f); } //Vsechny harmonicke vymyslena cisla se spravnym rozptylem //Harmonicke U //1 u16 = RandomInt(3,2,100,100); fwrite(&u16, sizeof(u16), 1, f); //2 u16 = RandomInt(3,5,100,100); fwrite(&u16, sizeof(u16), 1, f); //3 u16 = RandomInt(3,1,100,100); fwrite(&u16, sizeof(u16), 1, f); //4 u16 = RandomInt(3,6,100,100); fwrite(&u16, sizeof(u16), 1, f); //5 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //6 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //7 u16 = RandomInt(3,5,100,100); fwrite(&u16, sizeof(u16), 1, f); //8 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //9 u16 = RandomInt(3,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //10 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //11 u16 = RandomInt(3,3.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //12 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //13 u16 = RandomInt(3,3,100,100); fwrite(&u16, sizeof(u16), 1, f); //14 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //15 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //16 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //17 u16 = RandomInt(3,2,100,100); fwrite(&u16, sizeof(u16), 1, f); //18 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //19 u16 = RandomInt(3,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //20 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //21 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //22 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //23 u16 = RandomInt(3,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //24 u16 = RandomInt(3,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //25 u16 = RandomInt(3,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //Harmonicke I //1 u16 = RandomInt(1,2,100,5000); fwrite(&u16, sizeof(u16), 1, f); //2 u16 = RandomInt(1,5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //3 u16 = RandomInt(1,1,100,5000); fwrite(&u16, sizeof(u16), 1, f); //4 u16 = RandomInt(1,6,100,5000); fwrite(&u16, sizeof(u16), 1, f); //5 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //6 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //7 u16 = RandomInt(1,5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //8 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //9 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //10 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //11 u16 = RandomInt(1,3.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //12 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //13 u16 = RandomInt(1,3,100,5000); fwrite(&u16, sizeof(u16), 1, f); //14 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //15 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //16 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //17 u16 = RandomInt(1,2,100,5000); fwrite(&u16, sizeof(u16), 1, f); //18 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //19 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //20 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //21 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //22 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //23 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //24 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //25 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //Meziharmonicke U //1 u16 = RandomInt(2,2,100,100); fwrite(&u16, sizeof(u16), 1, f); //2 u16 = RandomInt(2,5,100,100); fwrite(&u16, sizeof(u16), 1, f); //3 u16 = RandomInt(2,1,100,100); fwrite(&u16, sizeof(u16), 1, f); //4 u16 = RandomInt(2,6,100,100); fwrite(&u16, sizeof(u16), 1, f); //5 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //6 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //7 u16 = RandomInt(2,5,100,100); fwrite(&u16, sizeof(u16), 1, f); //8 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //9 u16 = RandomInt(2,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //10 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //11 u16 = RandomInt(2,3.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //12 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //13 u16 = RandomInt(2,3,100,100); fwrite(&u16, sizeof(u16), 1, f); //14 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //15 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //16 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //17 u16 = RandomInt(2,2,100,100); fwrite(&u16, sizeof(u16), 1, f); //18 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //19 u16 = RandomInt(2,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //20 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //21 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //22 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //23 u16 = RandomInt(2,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //24 u16 = RandomInt(2,0.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //25 u16 = RandomInt(2,1.5,100,100); fwrite(&u16, sizeof(u16), 1, f); //Meziharmonicke I //1 u16 = RandomInt(1,2,100,5000); fwrite(&u16, sizeof(u16), 1, f); //2 u16 = RandomInt(1,5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //3 u16 = RandomInt(1,1,100,5000); fwrite(&u16, sizeof(u16), 1, f); //4 u16 = RandomInt(1,6,100,5000); fwrite(&u16, sizeof(u16), 1, f); //5 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //6 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //7 u16 = RandomInt(1,5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //8 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //9 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //10 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //11 u16 = RandomInt(1,3.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //12 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //13 u16 = RandomInt(1,3,100,5000); fwrite(&u16, sizeof(u16), 1, f); //14 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //15 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //16 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //17 u16 = RandomInt(1,2,100,5000); fwrite(&u16, sizeof(u16), 1, f); //18 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //19 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //20 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //21 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //22 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //23 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //24 u16 = RandomInt(1,0.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); //25 u16 = RandomInt(1,1.5,100,5000); fwrite(&u16, sizeof(u16), 1, f); } if (fclose(f) == EOF) { printf("Chyba pri uzavreni souboru\n"); return 1; } printf("Done.\n"); return 0; }