Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VB6] + [XP] Problema con Seriale(COM)

    Buon giorno arrivo subito al dunque...io ho un software di9 monitoraggio di macchinari quindi ogni 30 secondi faccio un polling via seriale per leggere la situazione dal PLC che le governa...ma ho un problema e non so più cosa inventarmi...ogni tanto(a raqndom e senza una logica) il programma mi va in errore quando tenta di aprire la seriale, si freezza proprio tutto e da un runtime "Porta già aperta!" ma è impossibile inquanto la riga prima è l'istruzione per chiuderla!

    Il mio sospetto è che XP gestica in qualche modo un pò "NAIF" l'irq della seriale e faccia periodicamente un controllo su di essa per verificarne lo stato...

    Avete riscontrato lo stesso problema anche voi? grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... niente gestione "naif" di XP ...

    Piuttosto ... perche' apri e chiudi la connessione? Dovresti aprirla all'inizio del programma e chiuderla quando questo termina ...

  3. #3
    Ciao Oregon! grazie per la risposta repentina...
    purtroppo non posso lasciarla aperta perchè ho più plc con cui parlare e quindi devo risettare la comunicazione ogni volta che cambio plc...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da Luke(BI)
    purtroppo non posso lasciarla aperta perchè ho più plc con cui parlare e quindi devo risettare la comunicazione ogni volta che cambio plc...
    E sono tutti collegati alla medesima porta COM?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da alka
    E sono tutti collegati alla medesima porta COM?
    Confermo la domanda ...

  6. #6
    si certo sono tutti collegati alla stessa COM!
    scusami se ho 40 macchine devo avere 40 seriali? con win 2k non ho mai avuto problemi di questo genere!

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da Luke(BI)
    si certo sono tutti collegati alla stessa COM!
    Non userei la parola "certo", in quanto la tua soluzione non è senz'altro quella più sensata e ovvia.

    Originariamente inviato da Luke(BI)
    scusami se ho 40 macchine devo avere 40 seriali? con win 2k non ho mai avuto problemi di questo genere!
    Ovviamente, se si adotta una soluzione rischiosa, non è detto che la panacea la si debba trovare in una soluzione altrettanto assurda come quella di avere una seriale per ogni PLC.

    E' naturale che se vi sono più dispositivi sulla stessa linea, l'invio di richieste sul canale può stuzzicare la risposta da parte di più di uno di questi dispositivi, visto che tutti vengono interpellati, e la questione si drammatizza se vanno tutti alla stessa velocità, al punto che potrebbe tranquillamente verificarsi un "corto" nel caso di connessioni simultanee.

    Questo non significa che debba esserci una seriale per ogni dispositivo.

    Sarebbe sufficiente collegare alla porta seriale (una sola) un accentratore, un punto centrale con il quale, in base ad un comando diretto, si vada a selezionare il PLC dei tanti collegati al controllore centrale con cui si vuole comunicare, ed effettuare la richiesta.

    La connessione seriale è una connessione principalmente punto-punto, non è a stella: se più elementi rispondono ad una richiesta inoltrata sulla linea dal PC, può essere un guazzabuglio.

    Ad ogni modo, dubito che sia cambiato qualcosa in merito alla gestione delle porte seriali da parte del sistema operativo, visto che le porte seriali stesse non hanno subito modifiche e non sono soggette ad evoluzioni: sono le stesse, tali e quali, da anni.

    Sono certo di poche cose: non mi fiderei a realizzare un'architettura di connessione di più PLC senza un interprete intermedio, o comunque se decidessi di farlo mi aspetterei sorprese, uguali a quella che hai riscontrato, e sono più portato a pensare che tu sia stato fortunato nel caso in cui non si siano verificati problemi.

    Infine, non essendo stato pubblicato del codice, è difficile risalire a qualsiasi altra natura del problema o fare ulteriori indagini in proposito.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    grazie alka della risposta che anche se non mi ha detto nulla di nuovo cerca altre soluzioni ad un architettura che funziona da 10 anni e che solo ad oggi con i nuovi pc barcolla... ovviamente il sistema ha un interprete e se il messaggio è per un plc arriva solo a quel plc e non viene processato dagli altri, in più il plc non invia nulla dalla seriale è sempre il programma che va a scansionare la sua memoria, esaminando così una macchina per volta evitando eventuali problemi da te descritti... vista però la scarsità di argomenti che ho trovato in rete penso che io stia cercando la risposta al livello sbagliato cioè non è un problema software ma è un problema hardware! vedrò di verificare con i miei fornitori grazie cmq per l'interessamento

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.