Français
Hardware

Erledigt: Serielle Schnittstellen abfragen????

 

Robert
Hildebrand
allô zusammen,

j'ai 6 serielle Schnittstellen permanent abzufragen (Messgeraete) et muss cet dans einer banque de données (dBase) Sauver.

Hat quelqu'un une concept??

LG

Robert
 
XProfan 10, WinXP prof

Robert Hildebrand
27.05.2009  
 




KHR
Salut,

so schwer ist cela doch pas.

je mach cela chez 8 seriellen (USB) Schnittstellen et ensuite encore sur ModBus - Protokoll

malheureusement darf Je l' Code pas veröffentlichen, là il trop viele Details sur qui communication avec unseren Sensoren montrer serait.

qui Zugriff sur qui ComPorts était simple, cela lesen et écrivons aussi. à qui ModBus-communication hab je mir ne Weile qui Zähne ausgebissen

et si Du ensuite qui Cordes im grenier la hâte, rester Dir pour qui Speichermöglichleiten alle Wege offen

ComPorts einrichten,

ensuite dans ner schleife

qui Anfragen senden,
dans nem String qui Antwort abolen,
den String verarbeiten,
Ergebnis Sauver, senden ou bien quoi que + subj.
et plus zum nächten Port, qui selbe Aktion

si alle par sommes, wieder à den Anfang qui Boucle
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
27.05.2009  
 




Robert
Hildebrand
je devrait qui Com4 et COM5 abfragen, mais je bekomme qui données pas sur den Schirm
 
XProfan 10, WinXP prof

Robert Hildebrand
05.06.2009  
 




Sato
Pinto
allô

Erzähl la fois quelle Votre Schwierigkeiten sommes.
Hardware? et quoi Du oui c'est ca faire vouloir, peut-être peux je Dir aider.

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
05.06.2009  
 




E.T.
Robert Hildebrand, Beitrag=52534, Zeitpunkt=27.05.2009
allô zusammen,
je hätte là volontiers la fois un Problem!!!
...
LG
Robert


je pas, je hab déjà genügend en. Geb gern quelle ab...

 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
06.06.2009  
 




GDL
Hi,

la fois vite nen paire Auszüge aus meinem Steuerprogramm.viens zeitlich pas en supplément cela besser auseinander trop klauben.peut-être hilft es dir quelque chose.
KompilierenMarqueSéparation
====================================================================

proc schnittstelle

    declare such%

    If comname$=Port

        Let t$=Falsche Schnittstelle
        Let n$=Port wird nur bei GDL genutzt.Stelle jetzt COM1 ein.Bitte im Startmenü unter Einstellungen ändern.
        MessageBox(n$,t$,64)
        comname$=Com1       Testmodus.Später Ausremmen

    endif

    Alte Rechner benötigen DTRhi/DTRlow
    comname$=comname$+:
    comi1&=opencom(comname$,4096,4096)
    erfolg%=SetCom(comname$+9600,N,8,1)
    erfolg%=setcomext(comi1&,0,0,0,$001,0,0)   Ältere Rechner stürzen ohne diese Zuweisung ab
    case erfolg% = 0: settext _text&[5],comname$+ erfolgreich geöffnet.
    Proc_DTRhi (comi1&)		PC Anbindung DTR auh High setzen
    daten$=chr$(111)
    senden
    fehler%=WriteCom(comi1&,daten$)
    ComError(comi1&)

endproc

ja
=======================================================================

proc empfangen

    nur für 1 Zeichen abfangen
    name$=@ReadCom$(comi1&,1)
    @ComError(comi1&)
    casenot name$=:return

    WhileNot name$ =

        name$=@ReadCom$(comi1&,1)

    EndWhile

endproc

======================================================
=== DTR auf HIGH setzen: ====================================================

PROC Proc_DTRhi

    PARAMETERS Handle%  Parameter 1 = Handle des Comports
    fehler% = @EscapeCommFunction(Handle%, 5)

ENDPROC

=== DTR auf LOW setzen: =====================================================

PROC Proc_DTRlo

    PARAMETERS Handle%  Parameter 1 = Handle des Comports
    fehler% = @EscapeCommFunction(Handle%, 6)

ENDPROC

====================================================

proc senden

    Proc_DTRhi (comi1&)
    Proc_DTRlo (comi1&)			PC_Anbindung synchronisieren
    sleep 30
    daten$=chr$(100)+chr$(100)+chr$(100)+daten$
    fehler%=WriteCom(comi1&,daten$)
    ComError(comi1&)
    Proc_DTRhi (comi1&)			Geht nicht
    ja
    einlesen			im Betrieb ausremmen

endproc

=============================================================== class=s2>====

Dauerempfang.Nochmals avec Sync.là qui Übertragung de roue sur Schiene naturgemäß des öfteren Übertragungsfehler produziert.
KompilierenMarqueSéparation
proc einlesen			BMelder Stellpulttaster

    COM Schnittstelle auslesen
    Schnittstelle wird am Proganfang ouvert et seulement am Progende geschlossen
    declare sync%,lb%
    settext _text&[12],Einlesestatus  :  aktiv   +time$(0)+  +left$(time$(1),5)
    +       Zeitwechsel ist un Einlesevorgang.
    Schnittstelle auslesen  3la fois 255 et 1la fois 0 hintereinander ist Sync
    Empfangsprotokoll 255 255 255 0 gare Punkt Lok sélection Fehlerbyte
    sélection
    254 = Stellpult
    253 = Geschwindigkeit
    252 = Standardgeschwindigkeit chez commuter sur vert anfordern
    oui
    clear cstart%
    clear sync%
    clear lb%
    comwert$=@ReadCom$(comi1&,1)
    @ComError(comi1&)
    cas str$(ord(comwert$))=255:inc sync%

    whilenot comwert$=

        comwert$=@ReadCom$(comi1&,1)
        @ComError(comi1&)
        cas str$(ord(comwert$))=255:inc sync%

        Si str$(ord(comwert$))=0			Beginn des Datenprotokolls

            Hat ici rien avec Start,Stopbit trop 1faire, mais ersetzt cela Handshaking		si sync%=3
            lb%=1				 qui trois 255 Startbyte wurden beim folgendem Nullbyte erkannt

        d'autre

            clear sync%
            clear cstart%
            clear lb%

        endif

    endif

    si lb% =1

        inc cstart%
        _inhalt%[cstart%]=ord(comwert$)

    endif

    si cstart% = 5

        clear cstart%
        clear sync%
        clear lb%
        Fehlerbyte erzeugen
        Fehlerbyte comparer
        chez faute _inhalt%[5]=0

        si _inhalt%[5]=253

            settext _text&[8],Lok       : +right$(00+str$(_inhalt%[4]),3)
            auswerten1
            si cette BMelder quelque chose auslöst
            tasterbahnhof%=_inhalt%[2]
            tasterwert%=_inhalt%[3]
            tasterwert%=tasterwert%+(tasterbahnhof%*256)-256  Punkte aller ici de 1 jusqu'à 999
            bm_auswerten

        elseif _inhalt%[5]=254

            settext _text&[8],Taster    : +right$(00+str$(_inhalt%[3]),3)
            settext _text&[9],Stellwerk : +right$(00+str$(_inhalt%[2]),3)
            tasterbahnhof%=_inhalt%[2]
            tasterwert%=_inhalt%[3]
            auswerten

        elseif _inhalt%[5]=252

            settext _text&[8],Lok       : +right$(00+str$(_inhalt%[4]),3)
            real_speed

        endif

    endif

Wend

sonst gibt es chez qui thread.pcu  Schlüsselfeldsalat
cas wennoffen%=1:dbuse(#1)
cas dannoffen%=1:dbuse(#2)
Ablaufbox abfragen

si getfocus(ablaufbox&)

    setfocus(%hwnd)

endif

endproc


salut
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
07.06.2009  
 




Robert
Hildebrand
je muss 6 serielle Schnittstellen abfragen et qui données dans un Dossier écrivons.
Angschlossen sommes jeweils un Vielfachmessgerät avec welchen je jeweils Strom, Spannung, Frequenz usw. abfragen muss.
malheureusement peux je qui données encore pas einmal sur dem Bildschirm voyons. je benutze cela Beispielprogramm aus qui Profan-Aider. Vielleich peux Du mir aider.

Robert
 
XProfan 10, WinXP prof

Robert Hildebrand
08.06.2009  
 




Sato
Pinto
allô Robert

Vormal vergiss qui 6 Schnitstellen et schreibe den Program so cela d'abord une Schnitstelle funktioniert, ensuite voyons wir plus. Es wurde aussi aider den code ici trop postet avec cela nous voyons peut fals là eventuell quelque chose geändert volonté sollte

Grus

Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
08.06.2009  
 




GDL
Habe malheureusement aucun 6 Schnittstellen.Daher pas funktionüberprüft.
KompilierenMarqueSéparation
declare com&[6],ende&,erfolg%,anzahl%,comname$,wert$
cls
Schnittstellen vorbereiten
anzahl%=1

whilenot anzahl% > 6

    comname$=Com+str$(anzahl%)+:
    com&[anzahl%]=opencom(comname$,4096,4096)
    erfolg%=SetCom(comname$+9600,N,8,1)
    case erfolg% = 0: print comname$+ erfolgreich geöffnet.
    casenot erfolg% = 0: print comname$+ nicht geöffnet.
    erfolg%=setcomext(com&[anzahl%],0,0,0,$001,0,0)  Bei manchen Rechnern nötig
    inc anzahl%

wend

================== Ende Vorbereiten
################## Unterprogramme ####################

proc empfangen

    declare comwert$,leswert$
    clear wert$
    comwert$=@ReadCom$(com&[anzahl%],1)
    @ComError(com&[anzahl%])
    leswert$= str$(ord(comwert$))
    wert$=leswert$

    whilenot comwert$=

        comwert$=@ReadCom$(com&[anzahl%],1)
        @ComError(com&[anzahl%])
        leswert$=str$(ord(comwert$))
        wert$=wert$+leswert$

    wend

    drawtext 100,100, wert$

endproc

====================================================
################ Hauptschleife ###########################

whilenot ende&

    settimer 10			Bestimmt die Zugriffszeiten
    waitinput
    killtimer
    anzahl%=1

    whilenot anzahl% > 6		Abfrageschleife

        empfangen
        inc anzahl%

    wend

wend

######################## Ende Hauptschleife #####################
Schnittstellen wieder schließen
anzahl%=1

whilenot anzahl% > 6

    closecom(com&[anzahl%])
    inc anz
Wend

salut
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
08.06.2009  
 




Robert
Hildebrand
seulement la fois Dank Euch allen. suis maintenant soweit, dass je quelque chose angezeigt bekomme, s. Screenshot et Quellcode. j'ai maintenant seulement la fois une Schnittstelle abgefragt. Bringt mich mais encore pas so richtig plus solange je keinen Klartext angezeigt bekomme.

Gruss

Robert



Nachtrag: Sorry, qui Grafik fehlte.

1 kB
Hochgeladen:09.06.2009
Downloadcounter202
Download
 
XProfan 10, WinXP prof

Robert Hildebrand
09.06.2009  
 




Robert
Hildebrand

30 kB
Hochgeladen:09.06.2009
Downloadcounter119
Download
 
XProfan 10, WinXP prof

Robert Hildebrand
09.06.2009  
 




GDL
allô Robert
probier simple la fois meinen Code 1trop1 aus et berichte.

salut
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
09.06.2009  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

27.597 Views

Untitledvor 0 min.
H.Brill15.05.2023
Langer04.01.2023
Info (3)20.03.2021
Delv Wulff14.08.2020
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie