Newsgroup: it.comp.lang.delphi
Titolo: Win98, seriali e tarantelle

Allora...
Spero che su questo NG ci sia qualcuno oltre me che usa la seriale per
collegarsi a dispositivi esterni.
Ho una anomalia e vorrei sapere se altri che usano la seriale hanno avuto
gli stessi problemi.
Ho una serie di sensori di prossimita a radiofrequenza collegati ad un
adattatore 485 che a sua volta viene collegato alla com di un pc.
Ora, visto che i sensori sono di tipo slave, ho scritto una procedura di
polling che va a interrogarli ogni 5 millisecondi. Mandando una determinata
sequenza il sensore mi risponde con una stringa che poi vado a interpretare.
Dopo svariati test sono arrivato finalmente a capire che in modo del tutto
causale il polling si blocca.
O meglio, il programma continua a mandare i comandi di polling, ma gli
apparecchi non rispondono.
Ora, ho aggiunto un sistema temporizzato che ad ogni intervallo di tempo
stabilito da me chiude e riapre la seriale.
Bhe, il programma non si blocca +.
Uso il componente TTY, o meglio, TCommPortDriver preso da 
www.torry.ru
.
Uso la penultima versione, non quella uscita poco tempo fa che lavora anche
su Nt e Win2000.
La mia domanda č semplice: qualcun altro ha rilevato anomalie di questo
tipo?
Non č un fatto accademico. Ritengo sia importante sapere il perche' di
questi problemi.
Potrebbero essere i sensori che fanno schifo, passi!
Potrebbe essere un bug del componente, passi anche questo!
Ma se la gestione delle seriali di Windows non va, siamo proprio a posto.
D'altro canto, i modem vanno su porte com e problemi durante le connessioni
avrebbero certamente scatenato un trambusto a livello planetario, salvo che
anche accesso remoto non vada a chiudere e riaprire la seriale ogni tanto...
Scusate la lunghezza.....
Saluti
AS
"Se č Microsoft non funziona"

Ma se la gestione delle seriali di Windows non va, siamo proprio a posto.
Noi utilizziamo dei modem GSM via seriale, con il componente TComPort,
e non abbiamo mai avuto problemi di questo tipo.
E' vero, comunque, che gestire le seriali in Windows e' una cosa
abbastanza rognosa, anche quando possiedi degli strumenti che ti
astraggono dalle operazioni di basso livello.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

Noi utilizziamo dei modem GSM via seriale
quali marche/modelli usi ?
Quanto costano ?
Grazie
Duilio

Quanto costano ?
Se non erro dalle 600.000/700.000 al milione e mezzo.


Uso il componente TTY, o meglio, TCommPortDriver preso da 
www.torry.ru
.
[...]
Un paio di cose: 5 ms sono davvero pochi per un polling(*), inoltre se
usi un timer std non credo tu possa avere la precisione richiesta; prova
ad usare un timer multimediale; 
Che dispositivo usi per la conversione 232-485?
Mi sembra abbastanza normale dover far qualcosa alla seriale ogni tanto
(se non vuoi chiudere/aprire puoi provare con un break (v. SetCommBreak
/ ClearCommBreak)). 
Se il componente che citi è quello che ho visto --TCommPort Driver
v.1.08 di Marco Cocco uplodato nel NOV-1997-- non è che legga in modo
realmente asincrono: va in polling sulla seriale con un timer nel thread
principale -> se fai operazioni lunghe (file, db) il polling non viene
effettuato per un po'
 
(*) a 19200 baud 5 ms sono meno di 10 caratteri: sei certo che
trasmissione e ricezione possano terminare in cosi' poco?
btw, su Torry ho visto un componente fws che ti puo' interessare per
l'altro problema (Communications/Voice TMsgVoc)
Saluti
Paolo Arosio

 collegarsi a dispositivi esterni.
[..]
sembrerebbe un problema di saturazione delle code dei messaggi; prova ad
allungare l'intervallo del polling e vedi che succede, magari usando un
timer multimediale e non quello std di Delphi. Che sistema operativo usi?
Mica sara' Win9x vero???
Ciao, Sandro


Gia preso ma non va bene. Grazie comunque.
AS
"Se è Microsoft non funziona"

Mica sara' Win9x vero???
Si, è proprio lui. ovvero WinSozz98.
Ora che ci penso: prima il polling era a 20 millisecondi e capitava lo
stesso.
???
Saluti


Si, è proprio lui. ovvero WinSozz98.
non posso far altro che suggerirti di passare a nt o 2000, dato che il
timeslice sotto 9x, che io sappia, e' di ~50 ms (sotto nt di 10).
Saluti
Paolo Arosio

timeslice sotto 9x, che io sappia, e' di ~50 ms (sotto nt di 10).
E comunque credo che per applicazioni di questo tipo, l'ideale sarebbe
scrivere un device driver con un sistema operativo real-time. Cosa che
ne' NT/2K, ne' Linux, purtroppo, sono :(


Se non erro dalle 600.000/700.000 al milione e mezzo.
	il prezzo - a memoria tua - sta fra le 2 cifre oppure ci sono
vari modelli con prezzi diversi ?
	Da chi compri questi modem ?
	Grazie
	Duilio

 stesso.
Per la mia esperienza -diretta- ho visto molte volte il motore multitasker
di W9x inchiodare TUTTE le applicazioni anche per parecchi secondi, a volte
perche' un task non rispondeva, altre volte per qualche strana routine
interna, molto spesso per la normale query delle unita' a disco (ad es.
quando apri esplora risorse); vergognoso il comportamento poi quando esplori
la rete, il sistema resta inchiodato per parecchio, e i task bloccati,
finche' non trova tutto quello che serve.
Pensa quindi in 1 solo secondo di pausa, per qualsivoglia motivo, quanti
messaggi timer il tuo programma perde, e quanto facilmente si possano
saturare le code dei messaggi.
Con WNT/2K le cose probabilmente migliorerebbero, dal momento che hanno un
motore multitasker piu' moderno ed equilibrato, e che si puo' assegnare
priorita' real-time ad un processo (non so pero' se arrivi a 5 ms di
risoluzione il timer del sistema operativo); certo e' che la miglior
soluzione sarebbe affidare sto cavolo di polling ad un dispositivo
totalmente hardware esterno (un PLC) che comunica via seriale "ogni tanto" i
risultati delle scansioni. In alternativa prova a pensare al buon vecchio
dos, solido monotasking, magari con un programmillo in c o in assembly, e
vai tranquillo.
Ciao, Sandro

vai tranquillo.
Io vengo dal Dos.
Purtroppo non posso "tornare indietro" (o magari avanti...)
Nessuno lo puo'
Tnx


 Nessuno lo puo'
... sigh!! catastrofico!! ora me ne vado a dormire... ma avrò gli incubi !!!
;-PP
Ciao Davide DG

	Da chi compri questi modem ?
Non te lo so dire :(
E' la mia azienda che li compra ;)






Sviluppo software per impianti industriali da un po' di 
anni , i processori vengono gestiti solo assembly ( non intel per fortuna 
)


le trasmissioni di dati avvengono per il 90% dei casi in 
seriale ( anche via modem ) e sistematicamente ogni volta nasce un 
problema.


I sistemi operativi Windows sono vergognosi , gestiscono in 
modo orrendo l'hardware caricano il ciclo della cpu di cazzate e tutto perchè 
alla base vi è un gruppo di gente (i soliti furbi ) che ha scritto il sorgente ( 
ancora coperto da copyright... ) in modo ignobile.


Per trasmissioni di dati su porte logiche 
assolutamente vietato Microsoft.


Liberi di usarlo ma non lamentatevi.


Multitask? ma dove ? un misero Time-sharing scritto in fretta 
e furia.


La cosa piu' bella e' vedere il Task manager di Nt 
bloccarsi.


 



>Per trasmissioni di dati su porte logiche assolutamente vietato Microsoft.
Esistono delle cosine simpatiche e carine chiamate "sistemi operativi
real-time".. per le applicazioni serie si usano strumenti seri, non sistemi
operativi general purposes come WinNT like o peggio ancora per gli home
users come Win9x/ME.
Non mi pare che MS abbia mai detto, da nessuna parte, che il suo e' un
sistema operativo industriale o per applicazioni realtime.
Ciao, Sandro

No.
Io pago, anche poco, e pago per avere roba funzionante.
Se prevedi una cosa deve funzionare, e basta.
Se windows prevede messaggi, api e roba simile per gestire la seriale allora
DEVE funzionare.
Altrimenti meglio non mettere certe cose o dire CHIARAMENTE che le seriali
vanno usate solo per modem e mouse.
Se poi windows è nato solo per l'office è un altro discorso.
Al momento abbiamo un sistema lento,  dove le seriali non vanno, la
navigazione internet è lenta, si blocca almeno 2 volte al giorno, richiede
hardware da capogiro anche per fare le cose piu'stupide, apre una porta
fissa che se hai una connessione a internet attivata ti entrano sulla rete e
si divertono.....
A proposito di modem, un amico che naviga con linux dice che si naviga molto
+ velocemente rispetto a Windows.
magari qualcuno che lo usa potrebbe approfondire.


+ velocemente rispetto a Windows.
Non credo che la velocita' del modem vari da s.o. a s.o.


 magari qualcuno che lo usa potrebbe approfondire.
non scherziamo, dai, la velocita' di navigazione e' influenzata da molti
fattori, anche dipendenti dal sistema operativo (cache, parametri del
tcp/ip, ecc.), ma le differenze ti assicuro, almeno se si parla di modem e
di velocita' di connessione <128 Kbps sono invisibili. Se si usa ADSL invece
ogni parametrino malconfigurato provoca ben diversi risultati. In ogni caso
Windows c'entra ben poco, tu sai l'importanza della stratificazione del
software e gli strati sono tutti interagenti (kernel, driver, s/o,
applicazioni, e tutti i sottostrati intermedi). Il tuo amico sara' il solito
linuxiano matto come se ne trovano migliaia in rete. Chiedigli di compilarti
una semplice contabilita' in partita doppia col suo sistema linux che ci
facciamo due risate ;)
Ciao, Sandro

 Non credo che la velocita' del modem vari da s.o. a s.o.
Mai sentito parlare di MTU configurati male ?  Cmq mi sembra che a.salvati
discutesse della velocità di
navigazione, non del modem. Questo in parte penso sia vero, ma solo per
"aver sentito" dire che il protocollo
TCP/IP implementato da microsoft è spurio e ottimale solo con altre macchine
microsoft.
Ciao, Davide DG

 ogni parametrino malconfigurato provoca ben diversi risultati.
Appunto. ;-P
Ciao, Davide DG

 Appunto. ;-P
per fortuna ormai ci sono parecchi software di tweak per win (vedi ad
esempio 
www.tweakfiles.com
) in grado di ottimizzare il tcp in base al tipo
di utilizzo, quindi il problema, di fatto, non esiste piu'
Ciao, Sandro

Ho lo strano potere di accendere discussioni.
Forse ho sbagliato mestiere:dovevo fare il politico...
Allora.....
Il limite dei 640kb del dos fu energicamente superato dai dos extender.
Non parlo di gestori tipo Qeem o Netroom (sigh!quanto tempo č passato..)
Ma parlo ad esmepio di Blinker 3 che inclueva un dos extdender fatto bene.
Non so cosa ha bevuto quel mio amico che usa linux.Anzi, mi sembra sia
astemio
Pero, in passato mi ha detto una serie di cose  che ho avuto poi modo di
riscontrare di persona.
Comunque, il problema si risolvera presto: prossimamente su questi schermi
a.salvati si installa redhat 6.2 cosi vedo di persona.
Inizio a pormi una serie di domanda filosofiche:
Perchč altri sistemi multitasking a parita di risorse hardware funzionano
alla grande rispetto a windows?
perche'devo scaricare software aggiuntivi di terze parti, patch et simila
per bypassare e non risolvere problemi di malfunzionamento di Windows?
Infine: a che kakkio serve Windows, in fondo? per il wisyng? Per i
pulsantini colorati di word che Zio billy copio' da Lotus AmiPro circa 7
anni fa?
Saluti


"Davide DG":
| > >A proposito di modem, un amico che naviga con linux dice che si naviga
| molto
| > >+ velocemente rispetto a Windows.
| >
| > Non credo che la velocita' del modem vari da s.o. a s.o.
|
| Mai sentito parlare di MTU configurati male ?  Cmq mi sembra che a.salvati
| discutesse della velocità di
| navigazione, non del modem.
credo anch'io, io ho provato con mano,
ho fatto un programmino che trasmetteva immagini via socket,
e la differenza di velocita' tra win98 e NT si notava parecchio,
(non vi devo dire quale era il migliore, vero?)
...stessa macchina, stessa rete...
lo so che state parlando di linux e modem, ma quello che voglio
dire e' che se i protocolli sono stati fatti da cani (tipo in win9x)
allora l'hardware non viene sfruttato a dovere, quindi da un SO
all'altro ci possono essere differenze...
Ciao,
Alan Solo

 anni fa?
anche le automobili oggi continuano ad avere 4 ruote ed un volante, ma non
per questo mi sentiri di dire che una Honda attuale e' come una Ford T del
1910.. ;)
Ciao, Sandro

touche!
Solo su una cosa non sono d'accordo.
Il dos extender impostava il processore per lavorare in modo protetto.
Quindi accedevi a tutta la ram disponibile.


navigazione, non del modem. 
Anch'io mi riferivo a quella.


>"Non credo che la velocita' del modem vari da s.o. a s.o."
non sembrava, cmq io concordo con quanto scrive Alan Solo (post sopra il
tuo):
"lo so che state parlando di linux e modem, ma quello che voglio
dire e' che se i protocolli sono stati fatti da cani (tipo in win9x)
allora l'hardware non viene sfruttato a dovere, quindi da un SO
all'altro ci possono essere differenze..."
Ciao, Davide DG.

tuo):
Ho usato parole diverse ma mi riferivo alla velocita' di navigazione.
Mi sembra fin troppo chiaro che la velocita' del *modem* non possa
variare da s.o. a s.o. ! :)


 variare da s.o. a s.o. ! :)
?? Spero tu stia scherzando... se il driver fornito è fatto male (tempi di
waitstate troppo elevati per esempio),
la velocità _effettiva_ varia.
ciao, davide dg

waitstate troppo elevati per esempio), la velocità _effettiva_ varia.
Si', si', pero' basta cosi', ora finiamo nell'OT !... ;)


Andrea,
una domanda sui modem GSM.
Quando accendo il mio cellulare, devo inserire un PIN di 4 lettere
perche' questo si attivi.
Poi sul display appare la scritta "ricerca rete",  il cellulare rileva
il segnale ed e' pronto per inviare/ricevere telefonate. 
Un modem GSM che - a quanto so - monta una normale SIM per cellulari,
ha bisogno di una procedura simile per attivarsi ?
Te lo chiedo perche' fra brevissimo tempo ne dovro' programmare uno.
Programmo modem da anni, ma questo sara' il primo GSM a capitarmi fra
le mani.
A proposito, sara' proprio un Siemens.
Grazie
Duilio

ha bisogno di una procedura simile per attivarsi ?
Si puo' impostare una ricerca rete fissa.
Il pin si puo' anche non mettere (di regola, segue la stessa logica
dei cellulari), basta disattivarlo.


dei cellulari), basta disattivarlo.
abbi pazienza, ma di cellulari so pochissimo.
Come si fa a disattivare il pin ?
E' un'operazione che posso fare da un terminale connesso al modem ?
Grazie
Duilio

all'altro ci possono essere differenze...
Non per niente con il browser di linux (lynx) arrivi ad aprire le
pagine a 11 Kb/s.
Io ho aperto in pochi secondi il sito Microsoft Download Center che è
uno dei più rognosi (sembra quasi che Microsoft lo faccia apposta)
Ciàh...!