#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <tchar.h>
#include <windows.h>
//globale Variablen definieren
//Sub-Variablen
char Zehner_Internal;
char Einer_Internal;
char Komma_Internal;
char Dezimale_Internal;
char Zehner_temp1;
char Einer_temp1;
char Komma_temp1;
char Dezimale_temp1;
char Zehner_temp2;
char Einer_temp2;
char Komma_temp2;
char Dezimale_temp2;
char Zehner_temp3;
char Einer_temp3;
char Komma_temp3;
char Dezimale_temp3;
/*************Lesefunktionen***********************/
//LOG Datei der HM Software auslesen
void rdpm() //Messwertaufnahme
{
//Dateistream öffnen
FILE *t;// Dateistream definieren (Pointer)
//zum reinen Lesen öffnen
t = fopen("C:\\Program Files (x86)\\Alphacool\\Heatmaster 2009\\log.txt","r");
if(t==NULL) //falls die Datei nicht geöffnet werden kann...
{
printf("Streaming Error\n");
system("pause");
}
//LESEN DER WERTE
//Internal lesen
fseek(t, -110L, SEEK_END); //letzte Zeile, der LOG erster Wert
Zehner_Internal = fgetc(t); //1. Zahl einlesen
Einer_Internal = fgetc(t);
Komma_Internal = fgetc(t);
Dezimale_Internal = fgetc(t);
fseek(t, 1L, SEEK_CUR); //Zeichen (;) überspringen
//temp1 lesen
Zehner_temp1 = fgetc(t);
Einer_temp1 = fgetc(t);
Komma_temp1 = fgetc(t);
Dezimale_temp1 = fgetc(t);
fseek(t, 1L, SEEK_CUR); //Zeichen (;) überspringen
//temp2 lesen
Zehner_temp2 = fgetc(t);
Einer_temp2 = fgetc(t);
Komma_temp2 = fgetc(t);
Dezimale_temp2 = fgetc(t);
fseek(t, 1L, SEEK_CUR); //Zeichen (;) überspringen
//temp3 lesen
Zehner_temp3 = fgetc(t);
Einer_temp3 = fgetc(t);
Komma_temp3 = fgetc(t);
Dezimale_temp3 = fgetc(t);
//AUSGEBEN DER WERTE IM CMD
//Internal ausgeben
printf("Internal: ");
printf("%c", Zehner_Internal);
printf("%c", Einer_Internal);
printf("%c", Komma_Internal);
printf("%c^C\n", Dezimale_Internal);
//temp1 ausgeben
printf("Temp1: ");
printf("%c", Zehner_temp1);
printf("%c", Einer_temp1);
printf("%c", Komma_temp1);
printf("%c^C\n", Dezimale_temp1);
//temp2 ausgeben
printf("Temp2: ");
printf("%c", Zehner_temp2);
printf("%c", Einer_temp2);
printf("%c", Komma_temp2);
printf("%c^C\n", Dezimale_temp2);
//temp3 ausgeben
printf("Temp3: ");
printf("%c", Zehner_temp3);
printf("%c", Einer_temp3);
printf("%c", Komma_temp3);
printf("%c^C\n", Dezimale_temp3);
}
/******************Schreiben-Funktion**************/
void write()
{
//...dann Dateistream öffnen
FILE *s;// Dateistream definieren (Pointer)
//zum reinen Schreiben öffnen
s = fopen("C:\\Users\\Lukas\\AppData\\Roaming\\LCDHype\\test.txt","w"); //LOG Datei wird geöffnet
if(s==NULL) //falls die Datei nicht geöffnet werden kann...
{
printf("Streaming Error\n");
system("pause");
}
fseek(s, 0L, SEEK_SET); //Pointer setzten
//Internal ablegen
fputc(Zehner_Internal, s);
fputc(Einer_Internal, s);
fputc(Komma_Internal, s);
fputc(Dezimale_Internal, s);
fputs("\n", s);
//temp1 ablegen
fputc(Zehner_temp1, s);
fputc(Einer_temp1, s);
fputc(Komma_temp1, s);
fputc(Dezimale_temp1, s);
fputs("\n", s);
//temp2 ablegen
fputc(Zehner_temp2, s);
fputc(Einer_temp2, s);
fputc(Komma_temp2, s);
fputc(Dezimale_temp2, s);
fputs("\n", s);
//temp2 ablegen
fputc(Zehner_temp3, s);
fputc(Einer_temp3, s);
fputc(Komma_temp3, s);
fputc(Dezimale_temp3, s);
fputs("\n", s);
}
/******************LOG-Funktion********************/
/*
void LOG()
{
//Funktion für die Uhrzeit
struct tm *Zeit;
long Jetzt;
time(&Jetzt);
Zeit = localtime(&Jetzt);
//erstmal die Messwerte und andere Zahlen in Zeichenketten umwandeln...
//1. Durchfluss
char Durchfluss[20]; //String
sprintf(Durchfluss,"%d",DF); //Umwandlung
printf("Durchfluss: %s\n",Durchfluss); //Ausgabe
//2. Wassertemperatur
char Wassertemperatur[20];
sprintf(Wassertemperatur,"%d",Wa_Tp);
printf("Wassertemperatur: %s\n",Wassertemperatur);
//3. Datum
char Jahr[20];
char Monat[20];
char Tag[20];
sprintf(Jahr,"%d",Zeit->tm_year + 1900);
sprintf(Monat,"%d",Zeit->tm_mon + 1);
sprintf(Tag,"%d",Zeit->tm_mday);
//4. Uhrzeit
char Stunde[20];
char Minute[20];
char Sekunde[20];
sprintf(Stunde,"%d",Zeit->tm_hour);
sprintf(Minute,"%d",Zeit->tm_min);
sprintf(Sekunde,"%d",Zeit->tm_sec);
//...dann Dateistream öffnen
FILE *f;// Dateistream definieren (Pointer)
f = fopen(".\\data\\LOG.txt","w"); //LOG Datei wird geöffnet
if(f==NULL) //falls die Datei nicht geöffnet werden kann...
{
printf("Streaming Error\n");
system("pause");
}
//...dann Zeichenketten in die LOG Datei schreiben
fputs("\nMesswertaufzeichnung:\n\n", f);
fputs("Datum:\n",f);
fputs(Tag,f);
fputs(".",f);
fputs(Monat,f);
fputs(".",f);
fputs(Jahr,f);
fputs("\n\nUhrzeit:\n",f);
fputs(Stunde,f);
fputs(":",f);
fputs(Minute,f);
fputs(":",f);
fputs(Sekunde,f);
fputs("\n\n\nDurchfluss: ",f);
fputs(Durchfluss,f);
fputs("\nWassertemperatur: ",f);
fputs(Wassertemperatur,f);
fputs("\n",f);
}
*/
/*********************main*************************/
int main(int argc, char *argv[])
{
system("color 1F");
//LCD Hype starten... (im Hintergrund)
//ShellExecute(NULL,"open","C:\\Program Files (x86)\\LCDHype\\lcdhype.exe",NULL,NULL,SW_MINIMIZE);
//ShellExecute(NULL,"open","C:\\Program Files (x86)\\Alphacool\\Heatmaster 2009\\Heatmaster.exe",NULL,NULL,SW_MINIMIZE);
//while(1) //Hauptschleife [soll alle 2 Sekunden aufgerufen werden]
//{
printf("\nControlCenter\n");
printf("Datenerfassungssystem\n\n\n");
//...dann die Funktionen ausführen
rdpm(); //Werte lesen
//system("Cls");
//hier kommt noch eine Schleife hin {}
// LOG(); //LOG
//Schreiben-Funktion
write();
//}
system("pause");
return 0;
}