Español
Hardware

Hecho: Serielle Schnittstellen abfragen????

 

Robert
Hildebrand
¡Hola zusammen,

Yo 6 serielle Schnittstellen permanent abzufragen (Messgeraete) y muss esta en uno Datenbank (dBase) speichern.

Sombrero alguien una Concepto??

LG

Robert
 
XProfan 10, WinXP prof

Robert Hildebrand
27.05.2009  
 




KHR
¡Hola,

así schwer es el doch no.

Yo mach en el 8 seriellen (USB) Schnittstellen y luego todavía encima ModBus - Protokoll

Leider darf Yo, el Code no veröffentlichen, como él a viele Details en Kommunikation con unseren Sensoren zeigen sería.

Der Zugriff en el ComPorts war simplemente, el lesen y escribir auch. An el ModBus-Kommunikation tener Yo ne Weile el Zähne ausgebissen

Und si entonces el Cuerdas en el Speicher hast, bleiben Usted para el Speichermöglichleiten todos Wege offen

ComPorts einrichten,

entonces en ner schleife

el Anfragen senden,
en nem String el Antwort abolen,
el String verarbeiten,
Ergebnis speichern, senden oder qué De todos modos
y más para nächten Port, el selbe Aktion

si todos por son, otra vez a el Anfang el Bucle
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
27.05.2009  
 




Robert
Hildebrand
Yo debería el Com4 y COM5 abfragen, pero yo bekomme el Daten no en el Schirm
 
XProfan 10, WinXP prof

Robert Hildebrand
05.06.2009  
 




Sato
Pinto
¡Hola

Erzähl veces welche Su Schwierigkeiten son.
Hardware? y qué Usted genau hacer möchtest, tal vez kann Yo Usted helfen.

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
05.06.2009  
 




E.T.
Robert Hildebrand, Beitrag=52534, Zeitpunkt=27.05.2009
¡Hola zusammen,
Yo hätte como gerne veces una Problema!!!
...
LG
Robert


Yo no, Yo tener ya genügend su. Geb gern welche de...

 
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,

veces rápidamente nen pocos Auszüge de mi Steuerprogramm.Komme zeitlich no dazu el mejor auseinander a klauben.Tal vez hilft lo dir algo.
KompilierenMarcaSeparación
====================================================================

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 con Sync.como el Übertragung de Rad en Schiene naturgemäß des öfteren Übertragungsfehler produziert.
KompilierenMarcaSeparación
proc einlesen			BMelder Stellpulttaster

    COM Schnittstelle auslesen
    Schnittstelle se al Proganfang geöffnet y sólo al Progende geschlossen
    declarar sync%,lb%
    settext _text&[12],Einlesestatus  :  aktiv   +time$(0)+  +left$(time$(1),5)
    +       Zeitwechsel es una Einlesevorgang.
    Schnittstelle auslesen  3veces 255 y 1veces 0 hintereinander es Sync
    Empfangsprotokoll 255 255 255 0 Bahnhof Punkt Lok Auswahl Fehlerbyte
    Auswahl
    254 = Stellpult
    253 = Geschwindigkeit
    252 = Standardgeschwindigkeit en Umschalten en Grün anfordern
    
    clear cstart%
    clear sync%
    clear lb%
    comwert$=@ReadCom$(comi1&,1)
    @ComError(comi1&)
    caso str$(ord(comwert$))=255:inc sync%

    whilenot comwert$=

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

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

            Sombrero hier nichts con Start,Stopbit a tun, pero ersetzt el Handshaking		if sync%=3
            lb%=1				 El drei 255 Startbyte fueron beim folgendem Nullbyte erkannt

        más

            clear sync%
            clear cstart%
            clear lb%

        endif

    endif

    if lb% =1

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

    endif

    if cstart% = 5

        clear cstart%
        clear sync%
        clear lb%
        Fehlerbyte erzeugen
        Fehlerbyte vergleichen
        En Fehler _inhalt%[5]=0

        if _inhalt%[5]=253

            settext _text&[8],Lok       : +right$(00+str$(_inhalt%[4]),3)
            auswerten1
            Falls dieser BMelder algo auslöst
            tasterbahnhof%=_inhalt%[2]
            tasterwert%=_inhalt%[3]
            tasterwert%=tasterwert%+(tasterbahnhof%*256)-256  Punkte ir hier de 1 a 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 son lo en el thread.pcu  Schlüsselfeldsalat
caso wennoffen%=1:dbuse(#1)
caso dannoffen%=1:dbuse(#2)
Ablaufbox abfragen

if getfocus(ablaufbox&)

    setfocus(%hwnd)

endif

ENDPROC


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




Robert
Hildebrand
Yo muss 6 serielle Schnittstellen abfragen y el Daten en un Expediente escribir.
Angschlossen son jeweils una Vielfachmessgerät con welchen Yo jeweils Strom, Spannung, Frequenz usw. abfragen muss.
Leider kann Yo el Daten todavía no una vez en el Bildschirm sehen. Yo benutze el Beispielprogramm de el Profano-Ayuda. Vielleich kannst Usted me helfen.

Robert
 
XProfan 10, WinXP prof

Robert Hildebrand
08.06.2009  
 




Sato
Pinto
¡Hola Robert

Vormal vergiss el 6 Schnitstellen y escribir el Program así el zuerst una Schnitstelle funktioniert, entonces sehen wir más. Lo wurde auch helfen el code hier a postet así wir sehen puede fals como eventuell algo geändert voluntad debería

Grus

Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
08.06.2009  
 




GDL
Posesiones desafortunadamente no 6 Schnittstellen.Daher no funktionüberprüft.
KompilierenMarcaSeparación
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

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




Robert
Hildebrand
Erst veces Dank Euch allen. Bin ahora soweit, dass Yo algo adecuado bekomme, s. Screenshot y Quellcode. Yo habe ahora sólo veces una Schnittstelle abgefragt. Bringt mich aber no tan correcto más solange Yo no Klartext adecuado bekomme.

Gruss

Robert



Apéndice: Sorry, el Grafik fehlte.

1 kB
Hochgeladen:09.06.2009
Ladeanzahl203
Descargar
 
XProfan 10, WinXP prof

Robert Hildebrand
09.06.2009  
 




Robert
Hildebrand

30 kB
Hochgeladen:09.06.2009
Ladeanzahl121
Descargar
 
XProfan 10, WinXP prof

Robert Hildebrand
09.06.2009  
 




GDL
¡Hola Robert
probier simplemente veces media Code 1a1 de y berichte.

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




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

27.700 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie