Hallo! Ich bin relativer Anfänger in Sachen C und habe legentlich die Grundkenntnisse von der Schule. Ich möchte eine Relaiskarte des Typs "C-Control 8fach-Relaiskarte 230 V/AC 16 A Baustein 8 Relaisausgänge - Conrad" über die RS 232 Schnittstelle austomatisch nach PC start ansteuern. Es soll legentlich ein Relais nach Windowsstart eingeschaltet werden. Programmieren möchte ich das ganze in C mit dem National Instruments CVI. Warum gerade das Progremm? Weil wir damit in der Schule gearbeitet haben und mir der Umstieg auf Virtual Basic oder Virtual C zu umständlich ist. Nun meine Frage: Meine Kenntnisse reichen bis zu einem Zahlenratespiel Programm. An schnittstellen haben wir allerdings noch nie was ausgegeben. Könnt ihr mir ungefähr den Prozessablauf beschreiben? Wie spreche ich die Serielle Schnittstelle an?
:
Verschoben durch User
Marco Mustermann schrieb: > Könnt ihr mir ungefähr den Prozessablauf beschreiben? Wie spreche ich > die Serielle Schnittstelle an? In Windows wird die serielle Schnittstelle wie eine Datei angesprochen. D.h. du öffnest einfach ein File, welches einen bestimmten Namen haben muss. Und alles was du dann auf diese 'Datei' schreibst, wird an die Serielle Schnittstelle geschickt. > Programmieren möchte ich das ganze in C mit dem National > Instruments CVI. > > Warum gerade das Progremm? Weil wir damit in der Schule gearbeitet > haben und mir der Umstieg auf Virtual Basic oder Virtual C zu > umständlich ist. Gerade wenn man nicht viel Ahnung hat, ist es nie eine gute Idee, ein System zu verwenden, welches ausser einem selber kaum ein Mensch benutzt. Such dir ein paar Visual Basic Tutorials und arbeite dich ein. Auf lange Sicht gesehen hast du da mehr davon und so groß ist der Aufwand dann auch wieder nicht. Tutorials für VB gibt es da draussen wie Sand am Meer. Denn > Nun meine Frage: Meine Kenntnisse reichen bis zu einem > Zahlenratespiel Programm. so wie ich das sehe, reichen deine Kentnisse sowieso nicht besonders weit. Da kannst du auch gleich auf VB umsatteln und hast den Vorteil, dass du im Web jede Menge Hilfen findest.
Marco Mustermann schrieb: > Ich möchte eine Relaiskarte des Typs "C-Control 8fach-Relaiskarte 230 > V/AC 16 A Baustein 8 Relaisausgänge - Conrad" > über die RS 232 Schnittstelle austomatisch nach PC start ansteuern. > > Es soll legentlich ein Relais nach Windowsstart eingeschaltet werden. "PC-Start" oder "Windows-Start"? Wie definierst Du den "Start" genau? Weil wenn Du mit dem Einschalten des PCs einfach ein Relais schalten möchtest, brauchst Du nur ein 5-Volt Relais, das Du an die 5 Volt eines USB-Kabels hängst. PC wird eingeschaltet ==> USB bekommt Spannung ==> Relais schaltet ein So simpel, so einfach, ganz ohne uC und ohne Programmierung. Das reicht Dir nicht, Du möchtest auf irgendwas anderes schalten?
Nun ich möchte sicherstellen das der PC samt Windows erfolgreich gestartet ist. Ein hängenbleiben beim Starten soll ja nicht angezeigt werden. Im Prinzip soll die Netzwerkverbindung stehen. Danke, ich weis das meine Kentnisse nicht weit reichen, hab ja auch einen anderen beruflichen Schwerpunkt, aber ich denke mir gerade in Zeiten wie heute kann man sich durch Eigenstudium vieles selber beibringen. Ich dachte mir so ein kleines C Programm geht schneller als bei Visual Basic tolle Benutzeroberflächen usw zu erstellen.
Marco Mustermann schrieb: > Ich dachte mir so ein kleines C Programm geht schneller als bei Visual > Basic tolle Benutzeroberflächen usw zu erstellen. Wenn man C bereits kann, dann schon. Wenn nicht - bist du mit VB durch den hohen Grad an 'Vorfertigung' von Seiten Mikrosofts deutlich schneller.
Marco Mustermann schrieb: > Im Prinzip soll die Netzwerkverbindung stehen. Dann ist das eine Aufgabe für reine PC-Programmierung. Das wäre ein anderer Bereich hier im Forum. Du mußt Dir ein PC-Programm machen, das das Bestehen einer Netzwerkverbindung prüft, z.B. ob der PC als Gatewayadresse die Adresse des Routers eingetragen hat, was bei einer dynamischen Netzwerkkonfiguration passiert, wenn der PC über DHCP seine Adressen vom Router bezieht. Dann schaltet das PC-Programm direkt die Relaiskarte. Ein USB-RS232 Adapter zum Anschluß zwischen Relaiskarte und PC wird benötigt. Ein zusätzlicher programmierter Mikrocontroller wird nicht benötigt.
Ohne WinAPI geht da nix ob nun VB oder VC++. Denn unter Windows hast du keinen Hardwarezugriff mehr wie man ihn unter DOS früher hatte und die Serielle über IO-Register konfiguriren und bedienen konnte. Eventuel kann dir WInIO da helfen. Wenn du aber auch noch Netzwerk brauchst bzw. Informationen über dieses dann brauchst du schon wieder die WinAPI denn über IO-Register wist du da nicht glücklich. Wenn du schon C kannst dann Nimm Visual C++. Es bleibt dir frei sowas wie ++ operationen zu nutzen oder nicht. Du brauchst auch keine Vererbung und son Zeug benutzen. C ist eine Untermenge von C++. Mit der WinAPI wirsdt du dich aber auseinander setzen müssen.
Uwe schrieb: > Eventuel > kann dir WInIO da helfen Nein, bloß nicht. Serielle Schnittstellen sollte man damit auf gar keinen Fall ansteuern. Wozu auch, die API ist keine Raketenwissenschaft, und es gibt zig abstrahierende Libraries/Komponenten/etc., so daß man das Rad gar nicht von vorne erfinden muss.
Wenn windows ordenlich gestartet ist dann reicht mir das vollkommen als Bestätigung das dann auch die Netzwerkverbindung steht. also werd ich mir Visual c vornehmen? schade, könnt ihr mir ansatzweise sagen wie das Programm in C aussehen würde oder hänngt der Code zu stark von dem Kompiler ab den ich verwende den ja sonst niemand verwendet?
Zwar nicht in C und auch schon fertig, aber mit Quelltext: http://www.franksteinberg.de/Kramkiste.htm ... "Relaiser" ganz unten.
Und was ist wenn mal keine Netztwerkverbindung besteht? Leg dein Programm doch einfach in den Autostart Ordner. Ich denke mal das dürfte reichen als "Windows-Start".
Hallo! Wenn keine Verbindung steht muss ich eben runter gehn und nach sehen was los ist. zu 99% baut Windows eine Netzwerkverbindung auf. Es ist mehr oder weniger eine Spielerei. PC1 Steht im Wohnzimmer PC2 Steht draussen in der Werkstätte das ein seperates Gebäude ist. PC2 kann ich mittels Kupferkabelverbindung über die Logo per Taster im Wohnzimmer bequem ein/ausschalten. Dabei wird auch die Schuko an der der PC hängt ein und ausgeschaltet. Im Prinzip ist es ein zusätzlicher Speicherplatz auf dem ich Daten auslagern/ sichern kann, und dann bequem vom PC1 abrufen kann ohne dass der PC2 ständig laufen muss bzw kann ich diesen vollständig vom Stromnetz trennen. Und weil der PC2 nicht in Sichtweite ist, bracuhe ich eben eine "Bestätigung" in welchen Zustand der PC2 sich gerade befindet. Zur Zeit mache ich das mit einer LEd die von der Logo geschatet wird. Natürlich kann ich mit der Relaiskarte alles mögliche anstellen. Ich habe sie ja auch als experimentierboard gekauft.
Auch nicht in C, aber ein weiteres Beispiel für die C-Control 8fach Relaiskarte: https://github.com/krippendorf/RelayCard
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.