Deutsch
Forum

Der serielle Port

 

Heinz
Bernhard
Ein freundliches Hallo in die Runde!

Ich hatte in der Rubrik "Aktuelle Themen" nach Beiträgen über den seriellen Port gesucht. Leider kam ich nur bis zur Seite 10. Alle danach aufgerufenen Seiten zeigten nur immer wieder Seite 10 an - seltsam, oder? Na, vielleicht hat mein IE gesponnen.
Daher ist meine Frage evtl. schon überholt!?

Ich möchte Daten vom Notebook in die digitale Außenwelt schicken. Da das Gerät keinen seriellen Anschluss hat, muss einer über Adapter geschaffen werden.
"Conrad" bietet einen seriellen 8er-Relaisbaustein an, welcher über internen Converter an USB angesteckt werden kann. Ein Relaisloser Baustein nur mit digitalen Ein-/Ausgängen wäre mir zwar lieber, aber den Zustand kann ich ja vor den Relais abnehmen.

Diese Baugruppe beinhaltet für ihre Funktion aber einen Controller-Schaltkreis.
Die gesamte Programmierung erfolgt über ein Mini-Basic.

Da XProfan den seriellen Port ansprechen kann, wäre das eine feine Sache für mich.
Nun weiß ich aber nicht, ob XProfan mit seinen Befehlen die Programmierung des Controllers und den erforderlichen Datentransport übernehmen kann.
Basic ist mir fremd und ich hätte natürlich lieber mit XProfan meine Daten programmiert.

Vielleicht kann mir jemand aus der Runde helfen, oder einen Hinweis geben?

Ich bin für alles dankbar. Freundliche Grüße Heinz B.
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
28.08.2013  
 




Peter
Max
Müller
Moin.
Ich weiß nicht ob dir das jetzt weiterhilft. Aber schauen kannst du ja mal:
[...] 
 
XProfan X3, X4ß, Win 10.1
29.08.2013  
 




H.Brill
Ich habe auch schon seit Jahren so eine Relaiskarte
von CONRAD, aber noch mit richtiger serieller Schnittstelle.
Man kann diese auch mit einem USB-Seriell Adapter betreiben.

Hier nochmals der Code :
KompilierenMarkierenSeparieren
Declare hD%, hB%, schalt%, statusbar%, OK%, hcombo%
Declare comport%, f%, adresse%, kommando%, Pruefsumme%
Declare chk1%, chk2%, chk3%, chk4%, chk5%, chk6%, chk7%, chk8%
Declare daten%, com$, send$
daten% = 1
adresse% = 1

Proc GetCheckboxStates

    If @GetCheck(chk1%)

        daten% = SetBit(daten%, 0, 1)

    Else

        daten% = SetBit(daten%, 0, 0)

    EndIf

    If @GetCheck(chk2%)

        daten% = SetBit(daten%, 1, 1)

    Else

        daten% = SetBit(daten%, 1, 0)

    EndIf

    If @GetCheck(chk3%)

        daten% = SetBit(daten%, 2, 1)

    Else

        daten% = SetBit(daten%, 2, 0)

    EndIf

    If @GetCheck(chk4%)

        daten% = SetBit(daten%, 3, 1)

    Else

        daten% = SetBit(daten%, 3, 0)

    EndIf

    If @GetCheck(chk5%)

        daten% = SetBit(daten%, 4, 1)

    Else

        daten% = SetBit(daten%, 4, 0)

    EndIf

    If @GetCheck(chk6%)

        daten% = SetBit(daten%, 5, 1)

    Else

        daten% = SetBit(daten%, 5, 0)

    EndIf

    If @GetCheck(chk7%)

        daten% = SetBit(daten%, 6, 1)

    Else

        daten% = SetBit(daten%, 6, 0)

    EndIf

    If @GetCheck(chk8%)

        daten% = SetBit(daten%, 7, 1)

    Else

        daten% = SetBit(daten%, 7, 0)

    EndIf

EndProc

Proc GetComInput

    Parameters id%
    Declare in$
    in$ = @ReadCom$(f%,8)' 8 Zeichen einlesen
    Case @Len(in$):SetText statusbar%, "Antwort : " + Str$(ord(in$))

EndProc

Proc Senden

    ' 4 Byte - Rahmen zum Senden erstellen
    Pruefsumme% = XOR(XOR(kommando%, adresse%), daten%)
    send$ = Chr$(kommando%) + Chr$(adresse%) + Chr$(daten%) + Chr$(Pruefsumme%)
    WriteCom(f%, send$)
    ComError(f%)
    GetComInput(f%)
    Sleep 1000

EndProc

Proc Dialog

    'Dialogfenster erzeugen
    hD% =     @Create("Dialog",%DeskTop,"Relaisplatine 8fach seriell",100,100,600,400)
    'Einen Button mit 'ENDE' erzeugen
    hB% =     @Create("Button",hD%,"&ENDE",10,10,60,25)
    schalt% = @Create("Button", hD%, "&Schalten", 100, 10, 80, 25)
    chk1% =   @Create("CheckBox", hD%, "Relais 1", 350, 10, 100, 25)
    chk2% =   @Create("CheckBox", hD%, "Relais 2", 350, 40, 100, 25)
    chk3% =   @Create("CheckBox", hD%, "Relais 3", 350, 70, 100, 25)
    chk4% =   @Create("CheckBox", hD%, "Relais 4", 350,100, 100, 25)
    chk5% =   @Create("CheckBox", hD%, "Relais 5", 350,130, 100, 25)
    chk6% =   @Create("CheckBox", hD%, "Relais 6", 350,160, 100, 25)
    chk7% =   @Create("CheckBox", hD%, "Relais 7", 350,190, 100, 25)
    chk8% =   @Create("CheckBox", hD%, "Relais 8", 350,220, 100, 25)
    ' erste Checkbox setzen
    SetCheck chk1%, 1
    statusbar% = @Create("StatusWindow", hD%, "Ready !")
    Clear OK%' OK% auf 0 setzen

    WhileNot Ok%' solange OK% gleich 0 ist

        ' Hier in der Schleife warten wir mit WaitInput auf Benutzer - Eingaben
        ' Wir verwenden die in XProfan 10 neue Funktion @Clicked() statt @GetFocus()
        WaitInput

        If @Clicked(hB%)

            'ENDE wurde angeklickt, OK% wird auf 1 gesetzt und somit
            ' die Schleife verlassen, das Fenster gelöscht und das Programm beendet.
            Ok% = 1

        ElseIf %Key = 2

            ' Hier wird das 'X' (rechts oben Schließen) ausgewertet
            OK% = 1

        ElseIf @Clicked(schalt%)

            ' Relais schalten.
            kommando% = 3
            adresse% = 1
            daten% = 0
            GetCheckboxStates' Checkboxen auswerten u. Bits setzen
            Senden
            '@MessageBox("Ich bin der Autor : " + Name$, "Info", 0)

        EndIf

    EndWhile

    'Dialogfenster (incl. Button, usw.) entfernen
    @DestroyWindow(hD%)

EndProc

' Relaiskarte initialisieren
kommando% = 1
adresse% = 1
daten% = 0
f% = @OpenCom("COM5", 1024, 1024)
SetCom("COM5: 19200, N, 8, 1")
Senden
' Hier wird die Dialogbox (Procedur) aufgerufen
Dialog
' Programm Ende
CloseCom(f%)
End

Vielleicht hat sich ja bei dem Baustein der Platine nichts geändert,
nur halt, daß jetzt ein USB-Anschluß da ist. Dann könntest du den
Code original verwenden. Mußt halt nur die COMx: passend setzen.

PS: Für alle, die auch noch eine ser. Karte besitzen :
Es kann sein, daß diese nur mit einem Nullmodemkabel
geht, so wie bei mir.
Entweder hat Conrad das bei seiner Doku vergessen zu erwähnen,
oder es sind Tx und Rx bei der Produktion vertauscht worden.
Ich denke, da gingen damals tausende Stück raus und da das
ja bestimmt Fließband (Lötautomaten) Produktion ist, werden
wohl noch einige dieser Exemplare existieren.
 
Benutze XPROFAN X3 + FREEPROFAN
29.08.2013  
 




Heinz
Bernhard
Hallöchen !
Auch dir meinen herzlichen Dank für deine umfangreiche Mühe.

Ich habe mich auf Grund deiner und der anderen beteiligten Profaner dazu entschlossen demnächst mein Taschengeld zu "Conrad" zu bringen und die Relaiskarte zu kaufen.

Herzlichen Dank Allen die geholfen haben.
Grüße von Heinz B.
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
29.08.2013  
 




H.Brill
Kannst auch mal hier nachfragen :
[...] 
Evtl. hat der noch so eine Relaiskarte.
Mit BT kann man genauso über seriell steuern.
Hab auch so eine und somit keinen Kabelsalat mehr.
 
Benutze XPROFAN X3 + FREEPROFAN
30.08.2013  
 




Heinz
Bernhard
Hallöchen,
ganz herzlichen Dank für deine nochmalige Mühe. Schade, dass ich an BT gar nicht gedacht habe. Aber nun ist es leider zu spät, evtl.. kann ich ja mal anderen damit helfen.

Seit wenigen Stunden bin ich nun "stolzer Besitzer" der "Seriellen-Conrad-Relaiskarte mit USB". Nun kann ich "loslegen" und alle Hinweise testen und verarbeiten.

Danke und Gruß Heinz B.
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
30.08.2013  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.138 Betrachtungen

Unbenanntvor 0 min.
Member 713074304.08.2021
Walter15.05.2021
Jörg Sellmeyer27.08.2016
Peter Max Müller01.06.2015
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie