| |
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
E.T. | |
|
| 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
sí
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
GDL | Posesiones desafortunadamente no 6 Schnittstellen.Daher no funktionüberprüft. KompilierenMarcaSeparacióndeclare 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 |
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
Robert Hildebrand |
|
|
| |
|
|
|
GDL | ¡Hola Robert probier simplemente veces media Code 1a1 de y berichte.
Servus Georg |
|
|
| |
|
|