Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1824 connectés 

  FORUM HardWare.fr
  Windows & Software
  Win 7

  Port série COM : initialisation ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Port série COM : initialisation ?

n°3301434
aseries
fan d'asus
Posté le 02-03-2018 à 12:38:54  profilanswer
 

Salut à tous!
 
J'ai un script qui envoie des données sur le port COM. J'ai aussi un logiciel du commerce qui l'utilise. Quand je lance en premier mon script, l'imprimante me sort des ((C. Quand je fais echo texte > COM1 dans le terminal, c'est idem. Si je lance le logiciel commercial ça imprime bien, et le script fonctionne bien aussi.
 
Quelle est la solution ? Sachant que le script est en PHP sous WAMPSERVER mais ce n'est pas lui le coupable puisque echo dans le terminal fait la même chose.
 
Je précise : démarrage système avec imprimante allumée, ou éteinte : pareil.


---------------
fan d'asus
mood
Publicité
Posté le 02-03-2018 à 12:38:54  profilanswer
 

n°3301504
nex84
Dura lex, sed lex
Posté le 02-03-2018 à 16:04:41  profilanswer
 

J'ai rien compris.
 
Il y a quoi sur le port COM (RS232 j'imagine ?) l'imprimante ?
Tes scripts fonctionnaient avant ?
Ils font que des "echo" redirigés sur le port COM ? avec quel protocole ?


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Quand on ne sait pas, on ne fait pas ou on ne se plaint pas !
n°3301574
aseries
fan d'asus
Posté le 03-03-2018 à 11:21:34  profilanswer
 

Excuse-moi de mon manque de précision.

 

J'ai actuellement une imprimante matricielle série RS 232 connectée sur un port série qui se nomme COM1 sur l'ordinateur. Elle est la seule à pouvoir imprimer sur des supports professionnels que j'utilise, et elle fonctionne toujours très bien. Windows 7 la reconnait très bien.

 

Depuis plusieurs années j'utilise un ordinateur avec un port série COM1 implanté sur la carte mère, et doté d'un logiciel commercial qui imprime de manière native sur le port COM sans aucun réglage, et surtout sans aucun driver. Ce logiciel reconnait le port COM comme COM1 sans aucune manip de ma part, et imprime très bien dessus. Il est à noter que le fait d'éteindre ou même de débrancher l'imprimante n'a aucune influence, il ne fait donc que reconnaitre le port, sans dialoguer avec l'imprimante, en tout cas je le suppose : si je lance l'impression avec l'imprimante éteinte et déconnectée, le logiciel n'affiche strictement aucune erreur. Quand je reconnecte l'imprimante et la rallume, je peux lancer une autre impression, aucun autre message d'erreur, et l'impression se déroule très bien.

 

J'ai voulu essayer un script écrit en PHP pour certaines raisons, entre autres le fait que le logicel commercial n'autorise pas autant de réglages que je souhaiterais, et que j'aimerais maintenant changer. J'ai installé WAMP qui permet d'émuler une installation Apache (serveur Web) et installé le script pour qu'il envoie des commandes sur le port série. Le résultat est que l'imprimante n'imprime que des signes abscons. Aucune erreur PHP.

 

D'autre part. Si je fais le test d'envoyer un signal via le terminal CMD (la commande :

 

echo Test > COM1

 

), l'imprimante sort également des signes abscons. Je n'avais pas fait ce test avant, parce que jamais je n'en avais eu besoin...

 

Si chronologiquement, je lance le logiciel commercial sus cité, et que je lance une impression, tout se passe normalement.

 

Puis, à partir de ce moment, si je lance le script, tout fonctionne bien ! Si je lance la commande echo via CMD, l'imprimante imprimera "Test" comme elle aurait dû le faire avant.

 

--

 

Pour en avoir le coeur net, j'ai acheté un convertisseur USB série que j'ai installé sur mon ordinateur. A part le numéro de port qui change, tout le comportement reste strictement identique. Le port COM série de la carte mère est donc certainement en bon état.

 

--

 

Est-ce que le problème vient du fait que le logiciel commercial initialiserait le port série, ce que ne fait pas le script en PHP, ni la commande echo via CMD ?

  


**
Précision 1: le logiciel est réglé pour envoyer à 9600 bauds, 8 bits sans parité, contrôle DTS DSR. Quand j'allume l'imprimante avec le bouton FF appuyé, l'imprimante me sort ces mêmes réglages.

 

Précision 2: j'ai installé le convertisseur USB série sur mon ordinateur portable. J'ai mis une version de démo du logiciel commercial ainsi que le script. Tout le comportement que j'ai décrit ci avant est identique. Cet ordinateur est sous windows 10.

 

J'ai tenté sur un ordinateur sous XP : l'imprimante ne fonctionne pas du tout, dans aucun des cas. Aucun message d'erreur. Mais ce n'est pas grave, je ne compte pas l'utiliser, cet ordinateur est bien trop lent, je n'ai fait cela que pour les tests.

 

Précision 3: j'ai étudié le script en PHP, il envoie des commandes en ESC étant donné que mon imprimante est compatible avec le standard ESC (les commandes commencent par escape). Mis à part le fait que le script est donné pour une imprimante donnée et que la mienne gère la couleur différemment, et que donc j'ai adapté les commandes, le script fonctionne bien après que j'ai imprimé avec le logiciel commercial. Donc ça ne vient probablement pas du script. Ou alors celui-ci est incomplet. Pourtant, il envoie bien une commande d'initialisation (ESC @) au tout début d'impression comme l'indique la doc de l'imprimante.

Message cité 1 fois
Message édité par aseries le 03-03-2018 à 11:34:32

---------------
fan d'asus
n°3301790
nex84
Dura lex, sed lex
Posté le 05-03-2018 à 09:47:45  profilanswer
 

aseries a écrit :


Est-ce que le problème vient du fait que le logiciel commercial initialiserait le port série, ce que ne fait pas le script en PHP, ni la commande echo via CMD ?


Oui je pense que tu as un début de piste.
 
Je pense que le logiciel envoie certaines commandes d'initialisation vers l'imprimante.
Commandes qui ne sont plus nécessaires par la suite pour imprimer avec.
 
A moins de trouver ces commandes dans la doc de l'imprimant et être capable de les envoyer avec ton script php, tu es coincé.
Sachant que probablement ces commandes sont des suites de bits bien déterminés.
Est-ce que ton script php règle la connexion avec les paramêtres que tu as cité ? (même si je doute qu'il n'y ait que ca)


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Quand on ne sait pas, on ne fait pas ou on ne se plaint pas !
n°3301836
dims
if it ain't brocken, mod it !
Posté le 05-03-2018 à 18:02:53  profilanswer
 

si non documenté, tu met un autre Pc en écoute a la place de l'imprimante et tu regarde ce qui est transmis a l'initialisation.
a part ça.... je vois pas.


Message édité par dims le 05-03-2018 à 18:03:09
n°3302272
aseries
fan d'asus
Posté le 09-03-2018 à 08:14:14  profilanswer
 

Bonjour,

 

Je vous remercie de vos réponses. Mettre un autre Pc en écoute me paraît très bien mais. Comment fait-on? Je sais relier deux Pc en null modem pour faire un mini réseau mais c'est après que j'ignore. Et en plus j'ai plus de câble null modem depuis que j'ai un switch gigabit :/ Je sais même pas si ça se fabrique encore.

 

Editions fautes de frappe.


Message édité par aseries le 09-03-2018 à 08:15:44

---------------
fan d'asus
n°3303065
aseries
fan d'asus
Posté le 16-03-2018 à 10:12:39  profilanswer
 

Up ;)


---------------
fan d'asus

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win 7

  Port série COM : initialisation ?

 

Sujets relatifs
pertes de données suite a une initialisationCOM Surrogate / DllHost.exe bug w10
Comment connaître un port utilisé mais qui est filtréPerte port USB après tentative d'installation drivers
Impossible d'installer un win 7 ou 10 sur Dell Vostro 14 serie 5000Scan port étrange
Adaptateur USB port série sous Windows 10Supression port COM
Plus de sujets relatifs à : Port série COM : initialisation ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR