Autor Beitrag
snowy1980
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 25.01.09 20:40 
Hallo,

Ich werde demnächste meine Diplomarbeit beginnen. Meine Aufgabe wird es sein ein automatisches Diagnosesystem zu entwickeln. Dazu gehört ein Messaufbau mit einem Generator für die Erzeugung von verschiedenen Testsignalen, danach das Messen der Ausgabe der Chips des Gerätes. Dies soll durch ein Steuerprogramm auf einem Host-PC gesteuert werden. Für die Testsignale sollen dann noch verschiedene Testszenarien erzeugt werden.

Bisher habe ich nur ein paar Basics drauf in C#. Da mir C# bisher sehr viel Spaß mach, habe ich überlegt ob C# für so eine Aufgabe überhaupt geeignet ist?

Kann man generell Generatoren/Messsystem damit ansteueren?Wenn ja wie? Benötigt man dazu dann entsprechende Bibliotheken der Hersteller der Messgeräte?
Für das ablegen und speichern der Testszenarien würde sich ja sicher eine Datenbankanbindung eignen? Gibt es Erfahrung hier, welches Datenbanksystem sich eignen würde?

Hat sonst jemand in die Richtung schon etwas gemacht und kann mir zum Beispiel Literatur empfehlen?

Vielen Dank!
KainPlan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27

Vista Buisness, Windows 7
C/C++, C#, PHP...
BeitragVerfasst: Mi 28.01.09 02:28 
Generell eignet sich C# schon dafür. Deine Messgeräte / Generatoren wirst du sicherlich ansteuern können. Höchstwahrscheinlich werden entsprechende Laufzeitbibliotheken für diese Geräte mitgeliefert.

Hier mal ein kleines Beispiel:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
using System;
using System.Collections.Generic;

using System.IO.Ports; // Hier stecken unsere Klassen die wir benötigen.

namespace deleteMe
{
    class Program
    {
        static void Main(string[] args)
        {
            // Unser Serieller Port. Hier mal der COM1-Port mit einer Baudrate von 11500
            SerialPort sp = new SerialPort("COM1"11500);
            
            // Millisekunden bis zum Timeout
            sp.ReadTimeout = 2500

            // Kleines Lese-Beispiel:
            int bytesToRead = sp.BytesToRead;
            int bytesRead = 0;
            byte[] bytes = new byte[bytesToRead];
            while (bytesToRead > bytesRead)
            {
                bytes[bytesRead] = (byte)sp.ReadByte();
                bytesRead++;
            }
        }
    }
}
snowy1980 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mi 28.01.09 10:31 
Vielen Dank für Deine Antwort. Wenn es also Bibliotheken (Treiber?) gibt, ist es relativ einfach das anzusteuern. Wenn es keine Bibliotheken gibt, müsste ich dann quasi in C einen Treiber schreiben. C# ist ja nicht möglich so weit ich weiß. Kann ich dann aber eine Anwendungsprogramm in C# schreiben und dort auf den in C geschriebenen Treiber zu greifen?

Falls jemand noch Antworten zu den anderen Fragen hat...Danke!

VG
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mi 28.01.09 10:38 
user profile iconsnowy1980 hat folgendes geschrieben Zum zitierten Posting springen:
Kann ich dann aber eine Anwendungsprogramm in C# schreiben und dort auf den in C geschriebenen Treiber zu greifen?


Stichwort Suche in: C#-Forum, C#-Library PINVOKE :)

AXMD