Diese Eingabe hängt von dem Controller Sprache zur Steuerung dieser Relaiskarte ab. Sobald diese Eingabe bekannt ist, kann man mit dem fwrite steuern.
_________________
Simulation
lars-mey
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 24.01.2012, 18:09
Titel: Funktion mit Conrad Relaiskarte
Hallo zusammen,
Ich bin Neuling und versuche mich in Matlab einzuarbeiten, da mir dieses Programm im Studium frei zur Verfügung steht und viele Möglichkeiten der Steuerung verschiedener Hardware bietet.
Ich habe versucht den oben beschriebenen Code zu verwenden. Dazu gebe ich diesen in das Command window von Matlab ein. Nach betätigen der Eingabetaste erscheint bei mir folgende Fehlermeldung:
??? Error using ==> serial.fopen at 72
Port: COM3 is not available. No ports are available.
Use INSTRFIND to determine if other instrument objects are connected to the requested
device.
Erstes Ziel ist, die Relaiskarte mit Matlab überhaupt anzusteuern. Danach wollte ich eine Zeitsteuerung einbauen, die ein Relais 2sek einschaltet, dann wieder aus und dann das gleiche mit einem anderen macht usw...
Ich benutze ein USB/SERIELL ADAPTER, Windows7 64bit Version, und eine bereits fertige serell ansteuerbare Relaiskarte von Conrad elektronic (Artikelname C-Control 8fach-Relaiskarte 230 V/AC 16 A Baustein 8 Relaisausgänge, Artikelnummer 197730 - V0) und last but not least Matlab 7.10.0 (R2010a)
Nun meine Fragen:
1. Hat das ewige Nichtgelingen meiner Versuche die Relaiskarte anzusteuern mit einer meiner Hardwarekomponenten, oder vielleicht sogar mit Windows7 zu tun?
2. Ist die Version von Matlab ein Faktor? Oder bediene ich Matlab vielleicht sogar falsch weil ich den Code im Command Windows eingebe?
Alternativ kann ich noch nen alten Rechner Flott machen, der kein Adapter benötigt, und Windows mit 32 bit system hat... Wenn das helfen sollte
Wäre sehr schade mein Projekt in dieser Frühen Phase aufzugeben, da noch viele weitere folgen sollen... Aber dieser Anfang fällt mir leider besonders schwer.
Danke für jede Hilfe!
lars-mey
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.01.2012, 14:08
Titel:
Nach etlicher Tüftelei hat es immernoch keinen Erfolg gebracht...
Kann doch nicht sein dass das noch niemand gemacht/versucht hat?!
Ich versende mittlerweile Daten über den Seriellen port. Meine Karte kann diese aber nicht verarbeiten. Mit einem Portmonitor sehe ich, welche daten das Originalprogramm verwendet und versuche diese zu kopieren.
Das Problem besteht darin, dass die kommandos Hex versendet werden. Laut der Beschreibung von Matlab wird mit der Funktion fwrite(serobj,... , uint...) nur binäre Daten verschickt. Ich will 4 Bytes versenden, da so der Kommandorahmen aufgebaut ist.
schreibe zeigt mir das portmonitor-Programm an, dass 4 Bytes mit 00 00 00 00 versand wurden....
versuche die hex daten in bin zu schreiben hat ebenfalls keinen effekt. Kann auch nicht einfach 32bit hintereinander schreiben da Matlab dann meckert, nur leerzeichen zwischen den Bytes auch nicht, mit einem - (s.o.), klammern setzen geht auch nicht usw....
Wie muss ich also einen 4 Byte langes kommando schreiben, damit meine Karte das kommando erkennt und ausführt?
Ist Matlab überhaupt dazu geeignet?
Wie versende ich denn eine Bytefolge mit folgendem Inhalt:
Byte1: 1
Byte2:1
Byte3:0
Byre4:0
Dies ist das Kommando für die Initialisierung der Karte. Die Zahlen sind dezimal.
Dann würde ich die zweite Bytefolge senden mit
Byte1: 3 (Komanndo: Relais schalten)
Byte2: 1 (Adresse der Karte)
Byte3: 8 (Relais nummer 8 Schalten)
Byte4: 11 (Checksumme XOR)
Wie übergebe ich diese Daten richtig mit der richtigen deklaration und allem... Sobald das versendet und von der Karte erkannt wird ist der Rest gut machbar.
ubay
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 08.12.2016, 16:23
Titel:
Hallo Leute,
ich habe auch das selbe Problem. Wie kann ich das Kommando eingeben ? Hat einer vielleicht ne Idee?
Viele Grüße
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.