OVH Cloud OVH Cloud

Communication "OPC" avec "Windev 7.5"

13 réponses
Avatar
Winger
Bonjour,

Je suis à la recherche d'un "Active X" ou de tout autre moyen de communiquer
avec un automate par un driver OPC. Est-ce que Windev 7.5 a quelque chose
de prévu pour cela ou s'il faut acheter un composant externe ? J'aimerais
également savoir si quelqu'un a déjà essayé de communiquer avec un automate
et si oui, de quelle façon ?

Merci !!!

10 réponses

1 2
Avatar
MSY
Ben voyons, tu sais pas ca !!!


"Winger" a écrit dans le message de
news:1fYbb.63560$
Bonjour,

Je suis à la recherche d'un "Active X" ou de tout autre moyen de


communiquer
avec un automate par un driver OPC. Est-ce que Windev 7.5 a quelque chose
de prévu pour cela ou s'il faut acheter un composant externe ? J'aimerais
également savoir si quelqu'un a déjà essayé de communiquer avec un


automate
et si oui, de quelle façon ?

Merci !!!




Avatar
Fabrice Burghgraeve
salut .

"MSY" a écrit dans le message de
news:OI%bb.33594$
Ben voyons, tu sais pas ca !!!




(...)
communiquer
> avec un automate par un driver OPC. Est-ce que Windev 7.5 a quelque


chose
(...)

Excuse mon ignorance, mais des automates j'en connecte toutes les semaines,
mais je ne sais pas non plus ce qu'est un driver OPC...


--
Fabrice Burghgraeve
Computer & Services

(enlevez le _pas_de_spam_ pour me répondre en privé)
Avatar
Dominique \QNX\ Lecocq -www.binact.com-
Salut Fabrice..
> > avec un automate par un driver OPC. Est-ce que Windev 7.5 a quelque
chose
(...)

Excuse mon ignorance, mais des automates j'en connecte toutes les


semaines,

C'est bien .... quellle marque?

mais je ne sais pas non plus ce qu'est un driver OPC...


Ben là ...
OPC = OLE for Process Control
cela permet des échanges standardisés entre des applis, devices,
automates, supervisions etc...
l'interet de la chose est :
son universalité dans le monde industriel (j'entends par monde
industriel : industrie de fabrication, cimenterie, usine chimique,
acierie, enfin l'industrie lourde et celle que je connais le mieux)
sa standardisation et facilité d'échange
son support par MS et un groupe de travail "indépendant" (opc foundation)
regroupant les plus grand constructeurs de matos type API
ou systèmes d'acqui.
ici tu trouveras ton bonheur avec des infos plus "valides" que les miennes
http://www.opceurope.org/

par exemple :
je souhaite connecté un API contenant 1000 variables à surveiller.
via OPC et un support réseau, je crée une table coté API et une table de
variable coté PC (via en général un outils de conf) je déploie un ActiveX
ou j'utilise une DLL et chaque fois qu'une variable change coté API,
la variable est mise à jour coté PC.
résultat :
tu as gagné de nombreuses heures de mise au point de récup de variable
(parsing) par rapport à une merde de modbus par exemple.

Maintenant la réalité sur le terrain est un peu différente:
bon nombre d'API support mal ou pas à 100% la "norme"
mais le résultat final est "globalement très positif".

Maintenant pour répondre au Monsieur qui pose la question,
s'il connaisait mieux WDXXXXX il saurait que bien sur, comme
bon nombre de produit "non-spécialisé automatisme" WDXXXX
n'intégre pas ce genre d'outils. Il faut acquérir un composant tiers
(il faut bien que nous aussi on vive...)
et dans ce cas google est ton ami ....
je conseille au monsieur aussi de faire de nombreux essais avant de
se lancer...
il faut qualifier :
le soft,
le composant
l'API

sans essais poussés point de salut...
car ce qui semble marcher au labo, risque de te peter
à la gueule en prod.
<buissness>
si le monsieur le désire, il peut me contacter et nous nous
ferons un plaisir de lui faire une étude chiffrée et une qualification.
</buissness>

Dominique "QNX" Lecocq
www.binact.com
Avatar
Fabrice Burghgraeve
Salut...

"Dominique "QNX" Lecocq -www.binact.com-" a écrit dans le
message de news:bkv21v$sva$
Salut Fabrice..
> > > avec un automate par un driver OPC. Est-ce que Windev 7.5 a quelque
> chose
> (...)
>
> Excuse mon ignorance, mais des automates j'en connecte toutes les
semaines,

C'est bien .... quellle marque?



Hier un Roche.
Mardi prochain un Kone.

Sinon, de toutes les marques d'automates d'analyse debiologie medicale comme
par exemple :
Coulter, DIAMED, DIAGAST, ABBOT, MENARINI, ABX, HITACHI, Biomerieux,
Instrumentation laboratory, Bayer, Helena, Pharmacia, etc etc etc j'en
oublie plein...

ca va ou tu veux des preuves ? ;-)


> mais je ne sais pas non plus ce qu'est un driver OPC...



Ben là ...
OPC = OLE for Process Control
cela permet des échanges standardisés entre des applis, devices,
automates, supervisions etc...
l'interet de la chose est :
son universalité dans le monde industriel (j'entends par monde
industriel : industrie de fabrication, cimenterie, usine chimique,
acierie, enfin l'industrie lourde et celle que je connais le mieux)



Ah ben je suis dans le monde de la biologie... plutot des PMEs que des
industries...

sa standardisation et facilité d'échange
son support par MS et un groupe de travail "indépendant" (opc foundation)
regroupant les plus grand constructeurs de matos type API
ou systèmes d'acqui.



Ah ben voila...
pour l'instant, on est sous UNIX...
donc MS .
C'est pour ca que je connais pas OPC.
(Maintenant, je sais que ca existe grace a toi...)

ici tu trouveras ton bonheur avec des infos plus "valides" que les miennes
http://www.opceurope.org/



merci... Je vais jeter un oeil ca peut etre interessant...


par exemple :
je souhaite connecté un API contenant 1000 variables à surveiller.



tu parles du mini-API de biomerieux ?
y'a pas mille variables...
le nombre de molecules est limite a 999 par le protocole, et meme pas 300
sont utilisees...
Donc on ne doit pas parler de la meme chose quand on parle d'API.

via OPC et un support réseau, je crée une table coté API et une table de
variable coté PC (via en général un outils de conf) je déploie un ActiveX
ou j'utilise une DLL et chaque fois qu'une variable change coté API,
la variable est mise à jour coté PC.
résultat :
tu as gagné de nombreuses heures de mise au point de récup de variable
(parsing) par rapport à une merde de modbus par exemple.



voila voila.... DLL, activeX, PC...
C'est du windows tout ca...

Et puis bon... support reseau... Moi j'veux bien...
Mais pour l'instant on a encore des clients qui n'ont pas de reseau, donc on
a des liaisons serie, et meme si tous nos clients etaient en reseau, il
n'existe a l'heure actuelle (dans notre domaine) que tres peu d'automates
dotes d'ne interface reseau... Et tous ont une interface serie...

A part ca, j'implemente chaque protocole de communication moi-meme pour
l'instant.

Je perds du temps au debut, c'est vrai, mais au moins il n'y a pas une
couche supplementaire entre mon programme et l'automate, donc on a plus de
maitrise... Et apres, une fois que le programme de connexion est bien
ficele, c'est rarement complique de l'installer chez un autre client...
Et quand une variable change sur l'automate (nouvelle analyse, changement de
technique), les clients les plus degourdis font la modif de parametrage eux
meme, et les autres nous appelent et on les aide a parametrer ca en 5 min
parce que le programme est prevu pour...


Maintenant la réalité sur le terrain est un peu différente:
bon nombre d'API support mal ou pas à 100% la "norme"
mais le résultat final est "globalement très positif".



Ah ben voila on y arrive.
Deja qu'en ayant les protocoles fournis par les constructeurs, c'est pas
toujours evident parce que quelque fois il y a des omissions ou des
erreurs... (du style qui m'est deja arrive : un champs numerique, mais c'est
pas note dans le protocole qu'il peut recevoir "<100" qui n'est pas
numerique... Ou le bon protocole, mais de la generation precedente
d'automate...)

Alors si en plus il y a un "machin" au milieu sur lequel t'as aucun
controle... misere le jour ou la connexion est interrompue...
Ca fait 3 interlocuteurs qui se renvoient la balle plutot que 2...


Maintenant pour répondre au Monsieur qui pose la question,
s'il connaisait mieux WDXXXXX il saurait que bien sur, comme
bon nombre de produit "non-spécialisé automatisme" WDXXXX
n'intégre pas ce genre d'outils. Il faut acquérir un composant tiers
(il faut bien que nous aussi on vive...)



ou le faire soi meme...
Franchement, j'aurais ete plus qu'etonne si dans windev chaque protocole de
chaque automate que je dois connecter, plus tous les protocoles futurs meme
pas encore inventes soient deja implementes...
C'est tout betement impossible : il y en a trop...

Par contre, il y a souvre et slit et secrit :)
Qu'est-ce qu'il faut de plus pour faire une connexion d'automate en serie ??
:)

et pour les automates en reseau, je suppose que ca doit marcher avec
socketcree etc :)
ou ftp :)
(on en a des qu'on peut connecter comme ca : on leur mets un serveur ftp a
dispo, sur lequel on pose les fichiers de demandes, et on recupere les
fichiers de resultat... Je vais faire un truc du style dans les jours qui
viennent...)

et dans ce cas google est ton ami ....
je conseille au monsieur aussi de faire de nombreux essais avant de
se lancer...
il faut qualifier :
le soft,
le composant
l'API

sans essais poussés point de salut...
car ce qui semble marcher au labo, risque de te peter
à la gueule en prod.



:-) pour moi la prod c'est dans des labos alors :-)
(ouah quel bon mot je vais l'envoyer a tele Z)

Donc tu voies, au final, le temps que tu gagnes a ne pas developper,
tu le perds a tester ce que t'as pas developpe toi meme alors...
ou est le gain ? (sauf si t'as pas la competence ou le temps necessaire pour
implementer un malheureux protocole de communication...)
En plus les standards..... Moi c'que j'en pense....
Par exemple, pas mal des automates ont un protocole de communication au
format ASTM.
C'est un standard americain...
Ben franchement, si t'arrive a piloter un des automates avec le programme
d'un autre, meme si tous les deux sont en ASTM, t'es costaud... (sauf dans
la meme gamme, des fois ca marche, et encore...)

Parce que c'est standard, mais c'est jamais pareil...
(pas les memes champs, les memes champs mais qui servent pas a la meme
chose, etc etc... et quand les differrences ne sont pas au niveau
presentation du message, elles sont au niveau protocole...)

Enfin bon, chacun voit midi a sa porte, le domaine dans lequel tu travailles
est certainement tres different du mien,
donc ce qui est vrai pour moi est peut-etre faux pour toi et inversement...
(par exemple, les protocoles de tes automates sont peut-etre tres tres
compliques par rapport a ceux des miens...)

<buissness>
si le monsieur le désire, il peut me contacter et nous nous
ferons un plaisir de lui faire une étude chiffrée et une qualification.
</buissness>

Dominique "QNX" Lecocq
www.binact.com




A+

--
Fabrice Burghgraeve
Computer & Services

(enlevez le _pas_de_spam_ pour me répondre en privé)
Avatar
Romain Petit
"Fabrice Burghgraeve"
a écrit:

> C'est bien .... quellle marque?



Hier un Roche.
Mardi prochain un Kone.



Salut,
moi hier, c'était un STA-R et un STA-C de chez Stago.
Petite anecdote au passage, Stago utilise Hyperfile DOS pour le Sta-C...

Ah ben je suis dans le monde de la biologie... plutot des PMEs que des
industries...



Oui, même le plus gros labo d'analyses en France est un nain comparé aux
labos allemands ou japonais...

> par exemple :
> je souhaite connecté un API contenant 1000 variables à surveiller.



tu parles du mini-API de biomerieux ?


[...]
Donc on ne doit pas parler de la meme chose quand on parle d'API.



Je ne pense pas que Dominique sache ce qu'est une galerie API, je pense
qu'il parlait plutôt d'un Automate Programmable Industriel (API)...
http://www-ipst.u-strasbg.fr/pat/autom/moe-gr-4.htm


Et puis bon... support reseau... Moi j'veux bien...
Mais pour l'instant on a encore des clients qui n'ont pas de reseau, donc on
a des liaisons serie,



Bigre ! Ca me rappelle les "réseaux" PGP V4 en cascade...
(mais eux avaient une bonne raison : le coût d'une carte réseau...)

et meme si tous nos clients etaient en reseau, il
n'existe a l'heure actuelle (dans notre domaine) que tres peu d'automates
dotes d'ne interface reseau... Et tous ont une interface serie...



On en voit quand même de plus en plus, souvent aussi pour le transfert
d'images ou de courbes mais c'est vrai que c'est encore rare et surtout
ça ne concerne que les nouvelles générations d'automates.

A part ca, j'implemente chaque protocole de communication moi-meme pour
l'instant.



Il n'y a pas vraiment d'autres moyens...
Sauf peut-être avec Kermit (mais c'est finalement aussi facile à
implémenter en C soit même).

Ah ben voila on y arrive.
Deja qu'en ayant les protocoles fournis par les constructeurs, c'est pas
toujours evident parce que quelque fois il y a des omissions ou des
erreurs...



C'est vrai.
Ca m'hallucine à chaque fois de voir qu'on travaille dans un domaine, la
santé, où une erreur peut avoir des conséquences dramatiques (un
résultat d'analyse faux) et de constater qu'on nous fourni rarement des
documentations exhaustives, mises à jour et pertinentes.
Sans parler de ces automates (mêmes récents!) qui dialoguent par le port
série avec 2000 octects à chaque trame, sans contrôle de N° trame ni de
checksum !!!
Les plus sérieux sont sans conteste les ricains (la FDA est très
exigeante en matière de logiciel dans le domaine de la santé).
Quand on voit qu'en France, on se contente de préconisations agrémentées
d'un résumé des textes législatifs, rédigés par une association...
http://www.sfil.asso.fr/sfil/pages/fr/32.htm

Alors si en plus il y a un "machin" au milieu sur lequel t'as aucun
controle... misere le jour ou la connexion est interrompue...
Ca fait 3 interlocuteurs qui se renvoient la balle plutot que 2...



Ca m'arrive souvent.
Heureusement, la traçabilité que je met en place dans mes programmes me
permet toujours de prouver qu'à mon niveau tout est Ok (en général :-).

En plus les standards..... Moi c'que j'en pense....
Par exemple, pas mal des automates ont un protocole de communication au
format ASTM.
C'est un standard americain...
Ben franchement, si t'arrive a piloter un des automates avec le programme
d'un autre, meme si tous les deux sont en ASTM, t'es costaud... (sauf dans
la meme gamme, des fois ca marche, et encore...)



Hum, si le programme est bien conçu dès le départ, tu peux y arriver.
Pour les rares connexions que j'ai développées avec Windev (je développe
le plus souvent en C, pour notre système embarqué), j'ai pu récupérer
99% du code de l'un pour faire l'autre et changé quelques paramètres
(Kryptor, Vitros ECI, Autodelfia et Helena Platinum).

Parce que c'est standard, mais c'est jamais pareil...
(pas les memes champs, les memes champs mais qui servent pas a la meme
chose, etc etc...



Facile à implémenter en paramètre dans ton driver.

et quand les differrences ne sont pas au niveau
presentation du message, elles sont au niveau protocole...)



Ca c'est effectivement plus embetant qu'un simple champ mais ce n'est
pas incontournable.
Je ne peux pas encore en parler en détails mais nous avons un projet de
"driver universel" pour automate de biologie, en Java, que j'espère bien
pouvoir faire publier en Open source...

A+

--
Romain Petit
Avatar
Fabrice Burghgraeve
salut :)

"Romain Petit" a écrit dans le message de
news:
"Fabrice Burghgraeve"


(...)
> Et puis bon... support reseau... Moi j'veux bien...
> Mais pour l'instant on a encore des clients qui n'ont pas de reseau,


donc on
> a des liaisons serie,

Bigre ! Ca me rappelle les "réseaux" PGP V4 en cascade...
(mais eux avaient une bonne raison : le coût d'une carte réseau...)



Ben si ca tenait qu'a nous, tu te doutes bien ... ;)
Mais les clients ont toujours une bonne raison aussi,
du style "ah ouais mais il y a 10 ans, vous m'avez fait cabler comme ca, et
maintenant vous me dites qu'il faut recabler pour passer en reseau ?"


> et meme si tous nos clients etaient en reseau, il
> n'existe a l'heure actuelle (dans notre domaine) que tres peu


d'automates
> dotes d'ne interface reseau... Et tous ont une interface serie...

On en voit quand même de plus en plus, souvent aussi pour le transfert
d'images ou de courbes mais c'est vrai que c'est encore rare et surtout
ça ne concerne que les nouvelles générations d'automates.



C'est vrai qu'il y en a de plus en plus...
Mais bon, d'ici a ce que les clients changent d'un coup leurs automates...
Sinon, il y a une solution que tu connais bien ;-)
mettre sur le reseau un petit boitier avec un port serie et un port reseau,
qui fait le lien entre les deux...
(Ce qui a l'inconvenient de rajouter une "couche"... Mais si t'as la
maitrise dessus ca va)


> A part ca, j'implemente chaque protocole de communication moi-meme pour
> l'instant.

Il n'y a pas vraiment d'autres moyens...
Sauf peut-être avec Kermit (mais c'est finalement aussi facile à
implémenter en C soit même).



eh eh c'est moi qui te l'ai dit :)
Mais meme avec kermit, c'est pas toujours pareil.
y'a des automates qui ont besoin d'un serveur de fichier kermit pour
communiquer...
(j'en ai rencontre un seul comme ca pour l'instant, les autres etant en
kermit "classique")

(...)
s parler de ces automates (mêmes récents!) qui dialoguent par le port
série avec 2000 octects à chaque trame, sans contrôle de N° trame ni de
checksum !!!



J'ai connu pire :)
l'automate qui envoie le mauvais checksum...
J'te raconte pas la misere pour faire dire aux gars de l'automate que, non
c'est pas mon programme qui deconne.
Que d'accord la connexion a deja ete faite avec un concurrent, mais que
alors il a pas teste le checksum...

(euh en windev il existe scalculCRC16() ... ah j'ai cru que je raccrocherai
jamais au sujet :) )

Les plus sérieux sont sans conteste les ricains (la FDA est très
exigeante en matière de logiciel dans le domaine de la santé).



Sur.
Sans prendre parti ni juger la partie technique d'un automate, les connexion
axsym( abbot) sont parmi les plus agreables que j'ai eu a faire, dans la
mesure ou les messages de l'automate sont tres clair...
(quoique j'ai deja eu des coup de fils : "j'ai un probleme de connexion :
l'automate il dit "impossible de lire le code barre"")

Quand on voit qu'en France, on se contente de préconisations agrémentées
d'un résumé des textes législatifs, rédigés par une association...
http://www.sfil.asso.fr/sfil/pages/fr/32.htm




Oui enfin bon on est pas dans le flou artistique quand meme...
Il y a des lois qui regissent pas mal de choses, et quand la DRASS passe
dans les labos, j't'assure qu'ils rigolent pas...
Des fois, il y aurait meme trop de lois a mon gout, qui changent trop
souvent...(style pour les groupes... 3 changements de legislation en 2 ans
et c'est peut etre pas fini)

De toute facon, d'une maniere generale, la France est largement a la traine
dans tout ce qui est informatique...
Quand on pense qu'il y a peu de temps, il etait *illegal* de transmettre des
donnes cryptees...
Ca a pas aide au developpement de l'informatique et d'internet.
Pourtant, on est a l'ere de la communication...
(75 % seulement de la population a acces a l'ADSL... J'habite une
agglomeration de 120 000 habitants, et y'a pas chez moi...)

(...)
Ca m'arrive souvent.
Heureusement, la traçabilité que je met en place dans mes programmes me
permet toujours de prouver qu'à mon niveau tout est Ok (en général :-).



pareil :) (en general aussi ;-) )


> En plus les standards..... Moi c'que j'en pense....
> Par exemple, pas mal des automates ont un protocole de communication au
> format ASTM.
> C'est un standard americain...
> Ben franchement, si t'arrive a piloter un des automates avec le


programme
> d'un autre, meme si tous les deux sont en ASTM, t'es costaud... (sauf


dans
> la meme gamme, des fois ca marche, et encore...)

Hum, si le programme est bien conçu dès le départ, tu peux y arriver.
Pour les rares connexions que j'ai développées avec Windev (je développe
le plus souvent en C, pour notre système embarqué), j'ai pu récupérer
99% du code de l'un pour faire l'autre et changé quelques paramètres
(Kryptor, Vitros ECI, Autodelfia et Helena Platinum).



Bon j'vais dire que t'es costaud ca va te faire plaisir :)
Plus serieusement, j'ai un peu exagere, mais a peine... parce qu'il y a
toujours des differences.
style flags d'alarmes qui ne sont pas les memes, quand ils ne sont pas dans
un autre record...
(tu parlais du STAGO...)
Donc c'est vrai qu'on pourrait s'arranger pour avoir un "driver ASTM" qui
marcherait sur plusieurs connexion, mais je ne pense pas que ce soit bcp
plus rapide de creer le fichier de description pour aller avec le driver
universel, que de reutiliser les fonctions C deja ecrites pour les
"recombiner"...
(Je ne re-ecris pas completement le code a chaque fois que je fais un
nouveau programme de connexion heureusement)

Du coup, c'est rigolo quand un certain concurrent justifie le prix de ses
connexions par le fait qu'il doive mettre 5 ingenieurs pendant 1 semaine
pour ecrire le programme :)
j'espere qu'il les paye pas plus de 500 euros par mois :)


> Parce que c'est standard, mais c'est jamais pareil...
> (pas les memes champs, les memes champs mais qui servent pas a la meme
> chose, etc etc...

Facile à implémenter en paramètre dans ton driver.



meurf...
dans certains cas oui...
pour les automates comme par exemple l'electra si je me souviens bien, c'est
de l'ASTM, mais le message est decoupe en blocs de 512 plus ou moins
n'importe ou dans le message...
pour le STAGO, les flags d'alarme sont dans le manufacturer record.
pour l'helena, t'as des resultats dans le result record, d'autres dans le
comment record...
Puis pour certains automates, il faut faire des ajustements du resultat
(arrondi a 100 de la formule, ou encore toutes les transformations du
TP/INR/temps du patient quand le TP est > 100 %...
Bon et puis les tubes qui viennent de l'exterieur...
Et puis les exigences particulieres du client, style, pour telle analyse, ne
pas prendre les resultats positifs...

Pour faire un driver universel qui gere tous ces cas...
Alors qu'un petit programme bien specifique pour chaque automate, mais
suffisament souple pour s'adapter a chaque client sans le re-ecrire...

(...)

Je ne peux pas encore en parler en détails mais nous avons un projet de
"driver universel" pour automate de biologie, en Java, que j'espère bien
pouvoir faire publier en Open source...



Bon courage pour ton projet...

C'est pas gentil, ca va faire mal a une connaissance commune ;-)


A+

--
Romain Petit


Avatar
Romain Petit
"Fabrice Burghgraeve" a écrit:

salut :)



Salut,

[...]
Donc c'est vrai qu'on pourrait s'arranger pour avoir un "driver ASTM" qui
marcherait sur plusieurs connexion, mais je ne pense pas que ce soit bcp
plus rapide de creer le fichier de description pour aller avec le driver
universel, que de reutiliser les fonctions C deja ecrites pour les
"recombiner"...
(Je ne re-ecris pas completement le code a chaque fois que je fais un
nouveau programme de connexion heureusement)



Oui oui, c'est évident mais en se penchant un peu plus sur la POO (et
sur Java en particulier), on se surprend à considérer le copier-coller
comme une technique disons...beaucoup moins élégante.

Du coup, c'est rigolo quand un certain concurrent justifie le prix de ses
connexions par le fait qu'il doive mettre 5 ingenieurs pendant 1 semaine
pour ecrire le programme :)
j'espere qu'il les paye pas plus de 500 euros par mois :)



5 ? Tu rigoles, il faut au moins 8 personnes :
- 1 ingénieur qui lit la doc et qui traduit en français
- 1 ingénieur qui fait l'analyse fonctionnelle du protocole, couche
physique
- 1 ingénieur qui fait l'analyse fonctionnelle du protocole, couche
logicielle
- 1 ingénieur qui code le driver, couche physique,
- 1 ingénieur qui code le driver, couche logicielle
- 1 ingénieur qui teste et débogue
- 1 technico-commercial qui installe le driver chez le client
- 1 technicien Hot-Line qui prend le coup de fil du technico-commercial
qui ne comprend pas pourquoi la nouvelle version du driver ne s'installe
pas...

meurf...
dans certains cas oui...
pour les automates comme par exemple l'electra si je me souviens bien, c'est
de l'ASTM, mais le message est decoupe en blocs de 512 plus ou moins
n'importe ou dans le message...



Oui, c'est de l'ASTM avec gestion de l'ETB.
On acquitte tout puis on traite le message logique après...

pour le STAGO, les flags d'alarme sont dans le manufacturer record.
pour l'helena, t'as des resultats dans le result record, d'autres dans le
comment record...
Puis pour certains automates, il faut faire des ajustements du resultat
(arrondi a 100 de la formule, ou encore toutes les transformations du
TP/INR/temps du patient quand le TP est > 100 %...
Bon et puis les tubes qui viennent de l'exterieur...
Et puis les exigences particulieres du client, style, pour telle analyse, ne
pas prendre les resultats positifs...

Pour faire un driver universel qui gere tous ces cas...



Attention je ne parle pas d'un seul programme où tout est prévu dès le
départ, je parle d'un programme modulable à souhait, où seule la partie
spécifique pour un driver va varier (un peu comme des plugins) tout en
conservant des méthodes et caractéristiques communes à d'autres drivers.

Alors qu'un petit programme bien specifique pour chaque automate, mais
suffisament souple pour s'adapter a chaque client sans le re-ecrire...



Oui, c'est ce que je pratique encore à ce jour mais notre stagiaire
(balaise en Java) nous a pondu un si beau bijou qu'il nous tarde de le
mettre en production...

Bon courage pour ton projet...



Merci,
S'il passe en Open Source, j'espère bien que tu y participeras :-)

C'est pas gentil, ca va faire mal a une connaissance commune ;-)



A qui tu fais allusion ?

--
Romain Petit
Avatar
Alex Jaime
Quelques remarques : En fait, destiné uniquement aux informaticiens qui font
de la connexion
d'automates d'analyses médicales

Fabrice Burghgraeve à dit

Excuse mon ignorance, mais des automates j'en connecte toutes les




semaines,
mais je ne sais pas non plus ce qu'est un driver OPC...





c'est le toutes les semaines qui me choque
surtout quand je lis la suite

Déjà qu'en ayant les protocoles fournis par les constructeurs, c'est pas
toujours évident parce que quelque fois il y a des omissions ou des
erreurs... (du style qui m'est déjà arrive : un champ numérique, mais




c'est
pas note dans le protocole qu'il peut recevoir "<100" qui n'est pas
numérique... Ou le bon protocole, mais de la génération précédente
d'automate...)





c'est pas toujours évident :
à part 2 cas ou les fabriquant ne voulaient pas me fournir le protocole
(Car ils voulaient que j'utilise leur logiciel (des noms : AT+ d'HAMILTON
et le PG96
de Pharmacia ), je n'ai jamais eu de réel problème,
( et même comme cela on peut s'en sortir en traçant le port de com )

En passant : c'est quoi l'automate qui fournissait un mauvais checksum ???

qu'il peut recevoir "<100"
pour certaines personnes "<100" est numérique, bien que cela soit une
erreur

?? Pour quelqu'un qui connecte des automates toutes les semaines ! ça c'est
du courant dans
les connexions d'automate d'analyse médicales

de plus il dit plus loin

Sans prendre parti ni juger la partie technique d'un automate, les




connexions
axsym(abbot) sont parmi les plus agréables que j'ai eu à faire





alors que l'AXSYM est spécialiste pour envoyé des < à ...
il y à même des automates qui en fonction de la calibration envoi des < qui
change
un jour <10 et après calibration <12

On peut avoir pire résultat à 0 pour un résultat élève ou un résultat bas
Le STA ( R et Compact ) de STAGO Diagnostics il faut récupérer le code
d'erreur
pour déterminer si >TMax ou <Tmin
Les automates qui envoient des résultats à blanc, Advantage (Nichols ) et
Liason (DiaSorin)
normal ils sont issus du même fabricant (stratec )
Il y a d'autres cas tordus, il ne me vienne pas pour l'instant à l'esprit,
mais tout cela est facilement gérable.

même avec ces cas qui passe pour tordu on s'en sort facilement à condition
que le logiciel
qui va récupérer ces résultats soit assez puissant

ce qui ne doit pas être le cas car vu le message ci dessous :

Puis pour certains automates, il faut faire des ajustements du résultat
(arrondi à 100 de la formule ou encore toutes les transformations du
TP/INR/temps du patient quand le TP est > 100 %...
Bon et puis les tubes qui viennent de l'extérieur...
Et puis les exigences particulières du client, style, pour telle analyse,




ne
pas prendre les résultats positifs...





Il y même des systèmes qui sont obligé de faire les calculs dans les
drivers automate (Sorry Romain, j'espère
que vous ne faite plus comme cela dans vos systèmes embarqués )
( Au début j'ai aussi fait ça, mais j'était rouge de honte )

D'autres cas :
mettre un résultat Positif Négatif Douteux en fonction d'une
valeur numérique (Liason de DiaSorin)
des calculs inter analyses (calcul du LDL à partir du HDL et CHOL
le calcul des Urines 24 heure par rapport à la diurèse etc etc etc
... )
Les redosages ( Qui se gèrent différemment en fonctions des
automates )
Les redosages automatiques.
La génération d'autre Test en fonction du résultat d'un test etc
etc ... )
Les épreuves fonctionnelles (Analyse à temps)
Les codes natures.
j'en oublie sûrement

Tout cela est toujours gérable si le logiciel de connexion et le logiciel
qui va réceptionner les résultats, sont puissant


Alors si en plus il y a un "machin" au milieu sur lequel t'as aucun
contrôle... misère le jour ou la connexion est interrompue...
Ca fait 3 interlocuteurs qui se renvoient la balle plutôt que 2...





Des machins au milieu ???? ( Le seul cas que je connaisse est le cas du
logiciel des
profils protéiques entre l'automate et le logiciel de connexion )

Ca fait 3 interlocuteurs qui se renvoient la balle plutôt que 2...
comme dit Romain des traces pour prouver que l'on n'est pas en cause et ne
pas renvoyer la
balle chez l'autre avant d'être sure que l'on n'est pas en cause
Un truc qui est pas mal est de dire au client : je veux bien faire
l'investigation si le
problème n'est pas chez moi vous aurez une facture de ma part et bien
mettre une clause dans
les contrat de maintenance pour ce cas.

Par contre, il y a souvre et slit et secrit :)
Qu'est-ce qu'il faut de plus pour faire une connexion d'automate en série




??
:)





rien cela suffit

et pour les automates en réseau, je suppose que ca doit marcher avec
socketcree etc :)
ou ftp :)
(on en a des qu'on peut connecter comme ca : on leur mets un serveur ftp




a
dispo, sur lequel on pose les fichiers de demandes, et on récupère les
fichiers de résultat... Je vais faire un truc du style dans les jours qui
viennent...)





le quotidien des connexions
vous avez oublier KERMIT

Ben franchement, si t'arrive à piloter un des automates avec le programme
d'un autre, même si tous les deux sont en ASTM, t'es costaud...



J'en déduit que je suis costaud...
Et PGP encore plus costaud (moi j'ai quand même quelques exe différents avec
quelques paramètres
dans le fichier ini)
mais PGP n'en à qu'un seul, par contre PGP à tellement de paramètres, que je
prends moins
de temps pour modifier une source que PGP à configurer sont ASTM, le seul
avantage est que PGP
envoi sur site des techniciens non-programmeur.


Parce que c'est standard, mais c'est jamais pareil...
(pas les mêmes champs, les mêmes champs mais qui servent pas a la même
chose, etc etc... et quand les différences ne sont pas au niveau
présentation du message, elles sont au niveau protocole...)






ASTM est un standard tellement ouvert que l'on peut y faire n'importe quoi.
Il prévoie trop de cas, coupure de trame avec ETB, tout dans un seul
enregistrement logique
ou un enregistrement logique par type de message H P O R C Q M L , il
prévoie même de travailler
avec d'autre séparateur, c'est d'ailleurs pour cela que dans
l'enregistrement H on met les
séparateur que l'on va utilise, il prévoit d'avoir une seule ligne O avec
tous les tests ou une ligne O
par test idem pour les R et j'en oublie.
Il prévoit communication série, RS232 , RS485 ( c'est pourquoi il y a dans
le message H l'émetteur et le Récepteur ) réseau ...
Et ne parlons pas des emplacements des champs dans les trames
De plus malgré que cela soit un standard, on se permet (et je me permet )
même de faire des
chose qui ne sont pas dans le standard ( Kryptor ( Brahms anciennement
CisBio ) à qui on peut envoyer des valeurs antérieures dans des sous
séparateur du tests dans le segment O alors qu'il faudrait les envoyer dans
des segments R avec un flag type de résultats = ValAnt )
en gros la seule chose de standard c'est le message logique (
<STX>[DATA]<ETX>CHECKSUM<CR> )
et encore il y a le cas <ETB>

Romain à dit (un petit Salut au Passage )


Bigre ! Ca me rappelle les "réseaux" PGP V4 en cascade...
(mais eux avaient une bonne raison : le coût d'une carte réseau...)





Petit Rappel PGP a fêté sont 20 eme anniversaire l'année dernière, et à
l'époque leur réseau RS485 était une avance technologique par rapport à tout
ce qui se faisait, de plus cela marchait très bien avec le prix des cartes
très faible. Maintenant une carte réseaux ce n'est pas cher, mais à
l'époque cela coûtait une fortune
Ca fait plus de 7 ans que je suis parti de chez PGP et ils fonctionnaient
déjà avec des cartes réseau
depuis un an.
( C'est pas pour leur jeter des fleurs, je pense que leur politique avec V5
( LMP ) n'est pas bonne )

Sauf peut-être avec Kermit (mais c'est finalement aussi facile à
implémenter en C soit même).





Pourquoi réécrire le monde, il suffit d'utiliser un KERMIT existant et le
lancer à partir de
Windev. ( Bien sur c'est plus ennuyeux à partir de tes systèmes embarqués
(pour ne pas les nommés )
en passant tes systèmes embarqués peuvent-il connecter un automate en
réseau NFS maintenant et utilisé le 2eme port de com ?? )
Peut être n'utilises-tu plus ceux que j'ai connu mais ceux d'Intertecnica
???


Ca m'hallucine à chaque fois de voir qu'on travaille dans un domaine, la
santé, où une erreur peut avoir des conséquences dramatiques (un
résultat d'analyse faux) et de constater qu'on nous fourni rarement des
documentations exhaustives, mises à jour et pertinentes.





D'abord une connexion cela se teste et se valide.
De plus cela servirait à quoi un biologiste (humour)
( si le logiciel qui gère ensuite la validation est bien foutu on peut
minimiser ces problèmes,
valeurs antérieures d'ou Delta Check, limite de cohérences etc etc
... )
Il faut savoir qu'il y à encore dans tous les labos et cela sans
exception des saisies de résultats manuel , comme risque, c'est encore pire
qu'un protocole foireux
Dans certains cas avec des protocole foireux je suis arrivé en examinant
les structure des trames à mettre des gardes fou , par exemples trame
toujours de même longueur , vérifié la longueur , trames avec structure
reconnaissable dont on vérifie la structure. En général on connecte des
automate récent, ( A part M.Burghgraeve qui connecte des vieux KONE ( ne
m'en veuillez pas c'est de l'humour ) les protocoles deviennent convenable ,
dans ma bibliothèque de connexion réaliser, il n'y a qu' un appareil de VS
( SR60) qui travaille sans checksum
Encore une petite remarque savez vous que même avec un checksum on peut
décoder une erreur , les checksum sont basé sur des sommes des caractères
de la chaîne lue , généralement le checksum est un chiffre entre 0 et 255
0x00 et 0xFF , donc 256 possibilités , si on perd des caractères on a une
chance ( plutôt mal chance ) sur 256 de tombé sur la même somme)


Fabrice Burghgraeve

C'est pas gentil, ca va faire mal a une connaissance commune ;-)





Romain

A qui tu fais allusion ?





Il doit parler de PGP ?


Fabrice Burghgraeve

Du coup, c'est rigolo quand un certain concurrent justifie le prix de ses
connexions par le fait qu'il doive mettre 5 ingénieurs pendant 1 semaine
pour écrire le programme :)





Par contre la je ne vois pas (c'est pas PGP ) car ce n'est pas une
argumentation PGP
eux c'est cher car ils disent qu'ils savent tout faire (bien que je
puisse les mettre en
défaut sur pas mal de points ) qu'ils sont les meilleurs et qu'il annonce
2000 laboratoires
connecté. avec plus de 4000 connexions ( Il comptent peut être comme PC
Soft )
Moi j'en suis a 35 laboratoire , 127 connexions en service ( + 7
connexion qui ne sont plus en service
(remplacement d'automates). dont plus de 50 cette année ( et aucune à
LYON ( remarque pour Romain ) )
Peut être Bayer ( TAD ) ou Roche (MPL) ????

Autre chose certain fournisseur ( Bayer pour ne pas le nommé ) facture le
développement d'une connexion au premier client , ce n'est pas normal (Pour
cela la politique de PGP est bonne, la connexion d'un automate jamais
connecter est au même prix qu'une connexion existante, après il aura des
automates plus rentable que d'autre car fortement diffusé et d'autre que
l'on développera que pour un cas unique, si on fait la balance la politique
est bonne, c'est pourquoi c'est aussi la mienne )

En Résumé

C'est bien que les connexions d'automates soient compliquées, si non je
devrais me recycler
Le jour au les fabricant d'automate se mettrons d'accord sur des
protocoles réellement standard et intégrerons dans leur logiciel automates
les fonctionnalité nécessaire, on ira pointé au chômage, mais ce jour
arrivera qu'en j'aurai pris ma retraite au soleil.


Alex Jaime
ADC Software
Avatar
Romain PETIT
"Alex Jaime" a utilisé son clavier pour écrire :
Quelques remarques : En fait, destiné uniquement aux informaticiens qui font
de la connexion
d'automates d'analyses médicales



Ben on est au moins 3, il faut qu'on ouvre
fr.comp.developpement.connexion.automates.LABM !!

Il y même des systèmes qui sont obligé de faire les calculs dans les
drivers automate (Sorry Romain, j'espère
que vous ne faite plus comme cela dans vos systèmes embarqués )
( Au début j'ai aussi fait ça, mais j'était rouge de honte )



Bien sûr que si ! Et heureusement sinon il faudrait que je me mette au
RPG !!
Mais c'est vrai que ce genre de calcul est de plus en plus délégué à un
programme de validation technique sous micro ...

Des machins au milieu ???? ( Le seul cas que je connaisse est le cas du
logiciel des
profils protéiques entre l'automate et le logiciel de connexion )



Ne me parle pas de cette daube infâme.

Romain à dit (un petit Salut au Passage )
Sauf peut-être avec Kermit (mais c'est finalement aussi facile à
implémenter en C soit même).







Pourquoi réécrire le monde, il suffit d'utiliser un KERMIT existant et le
lancer à partir de Windev.



D'une part parce ce genre de logiciel n'est pas forcément libre de
droit (il y a souvent des conditions pour une utilisation commerciale,
et à ce propos je me demande si Ortho a l'autorisation d'utiliser
kermit95 dans ses configurations ITM-Autovue-Mitis....)
D'autre part parce que ce protocole est facile à implémenter et que ses
spécifications sont publiques.

( Bien sur c'est plus ennuyeux à partir de tes systèmes embarqués
(pour ne pas les nommés )



Une fois qu'il a été écrit sur de bonnes bases en C, c'est un pur
bonheur ce protocole.

en passant tes systèmes embarqués peuvent-il connecter un automate en
réseau NFS maintenant et utilisé le 2eme port de com ?? )



Non, mais tout sera possible prochainement, on va bientôt passer à la
2ème génération, en Java.

Peut être n'utilises-tu plus ceux que j'ai connu mais ceux d'Intertecnica
???



Non, on aime bien maîtriser tout...

Ca m'hallucine à chaque fois de voir qu'on travaille dans un domaine, la
santé, où une erreur peut avoir des conséquences dramatiques (un
résultat d'analyse faux) et de constater qu'on nous fourni rarement des
documentations exhaustives, mises à jour et pertinentes.







D'abord une connexion cela se teste et se valide.



A partir du moment où un fabricant te donne une spécification d'un
protocole, il n'est pas normal que cette documentation ne soit pas à
jour ou soit erronée, c'est ce que je voulais dire.

Il faut savoir qu'il y à encore dans tous les labos et cela sans
exception des saisies de résultats manuel , comme risque, c'est encore pire
qu'un protocole foireux



Pas d'accord du tout.
Un résultat manuel erroné est toujours sous une responsabilité humaine
et on retrouve (si le labo est sérieux) toujours pourquoi, quand cela
s'est produit et comment pallier ce genre de déficience (double-saisie
en aveugle, limites de cohérences...).
Un automate qui rend des résultats faux pourra non seulement te rendre
des centaines de résultats faux avant que tu ne te rendes compte du
problème ou bien il te sera très difficile de détecter et reproduire
les conditions qui ont conduit à rendre ce résultat foireux, c'est pire
qu'une erreur de saisie manuelle.

Dans certains cas avec des protocole foireux je suis arrivé en examinant
les structure des trames à mettre des gardes fou , par exemples trame
toujours de même longueur , vérifié la longueur , trames avec structure
reconnaissable dont on vérifie la structure. En général on connecte des
automate récent, ( A part M.Burghgraeve qui connecte des vieux KONE ( ne
m'en veuillez pas c'est de l'humour ) les protocoles deviennent convenable ,
dans ma bibliothèque de connexion réaliser, il n'y a qu' un appareil de VS
( SR60) qui travaille sans checksum



Hyrys, Phoresis (tous les Sebia ?), de nombreux Sysmex, les "machins"
monodirectionnels qui envoient sur le port série comme ils impriment
(IMX, CLA...), certains Menarini (ha8140)...

C'est pas gentil, ca va faire mal a une connaissance commune ;-)


A qui tu fais allusion ?


Il doit parler de PGP ?



Non, on parlait des SNI et des Javalin de Dawning (et du distributeur
français).
http://www.dawning.com/products/javalin/javalin.html

Moi j'en suis a 35 laboratoire , 127 connexions en service ( + 7
connexion qui ne sont plus en service
(remplacement d'automates). dont plus de 50 cette année



Pas mal. J'espère que cela t'as permis de changer de voiture :-)

( et aucune à
LYON ( remarque pour Romain ) )



Pourtant ce n'est pas notre concurrence qui doit te poser un
problème...

Autre chose certain fournisseur ( Bayer pour ne pas le nommé ) facture le
développement d'une connexion au premier client , ce n'est pas normal (Pour
cela la politique de PGP est bonne, la connexion d'un automate jamais
connecter est au même prix qu'une connexion existante, après il aura des
automates plus rentable que d'autre car fortement diffusé et d'autre que
l'on développera que pour un cas unique, si on fait la balance la politique
est bonne, c'est pourquoi c'est aussi la mienne )



C'est aussi la notre.
Mais peut être que notre projet va bouleverser les choses à ce sujet...
Tu ne t'es pas encore mis à Java ?

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Alex Jaime
Salut Romain


"Alex Jaime" a utilisé son clavier pour écrire :





Erreur j'utilise la reconnaissance vocale (rire)


Ben on est au moins 3, il faut qu'on ouvre
fr.comp.developpement.connexion.automates.LABM !!





l'idée n'est pas mauvaise car on est que 3 en Windev mais tout langage
confondu
on doit être pas mal ( ADC Software ,PGP , BAYER , Roche , BIG
informatique , Burghgraeve et
tous les éditeurs de LIMS qui connectent les automates en direct )
on pourrait réellement faire un newsgroup pour s'entraider, même faire un
groupe de pression
au près des fournisseurs d'automates pour qu'ils nous pondent des
protocoles convenables.
il y juste un problème on est tous concurrent, donc certain ont des
réticences a donné leur info
j'ai un moment demandé une info à PGP qui me la refuser.

Hyrys, Phoresis (tous les Sebia ?), de nombreux Sysmex, les "machins"
cmonodirectionnels qui envoient sur le port série comme ils impriment
(IMX, CLA...), certains Menarini (ha8140)...





Pour le Menarini (ha8140)...
exacte il était passé dans les mailles de mon filet

Pour les Sysmex c'est un des cas que j'avais signalé , les trames
on une longueur fixe , donc on peut contrôler la longueur pour voir si
on à une perte de caractère

Par contre pour l'Hyris on ne doit pas travailler avec la même version
car le mien à un checksum
De plus le logiciel Hyris est écrit en Windev
Le protocole permet même la réception des courbes d'électrophorese (
normal )
mais même mieux le fichier BMP du Gel
( j'ai un moment espérer que Sebia oublie sur le micro l'analyse, pour que
je puisse
récupérer plus facilement les courbes et les gels , pas eu de chance )

Pour le reste , ils ne font pas partie des connexions encore réalisées par
ADC Software

Pas mal. J'espère que cela t'as permis de changer de voiture :-)





J'ai toujours ma vielle Golf de 320.000 Km , qui roule encore très bien
malgré qu'en deux occasions la Police française m'ait fait remarquer que
c'était une poubelle , mais elle croupit dans mon garage dans l'attente
que mon fils trouve le temps de passer son permis ( ce garçon est encore
plus débordé que moi )
Je roule depuis 8 mois avec une de ces grosses berlines allemandes, (
normal 50 connexions, a peu de
chose pret au même prix que les openbox le calcul est vite fait ) elle à
déjà 42.000 KM,
maintenant si la police m'arrête ce n'est pas pour l'état du véhicule
mais
pour les excès de vitesse. ( Maudit Sarcossi )

En passant j'ai un employé depuis le 15 septembre ( cela te fera plaisir
il est lyonnais, (Donc
bien que je ne passe pratiquement jamais à Lyon, ma filiale française s'y
trouve )
de plus apparemment les Lyonnais ne sont pas mauvais en programmation ( je
n'en doutais pas ) )


Tu ne t'es pas encore mis à Java ?





Java !! , je n'ai même pas le temps de migré mes applications en 7.5,
bien que je pense qu'il y
des fonctionnalités qui m'intéressent, en autre la nouvelle base avec des
index dignes de
ce nom, la suppression de la limite à la grandeur de la base de donnée et
d'autres ...( A Nantes ma base
de traçabilité fait 1,9 Giga, j'ai du écrire en catastrophe une fonction
de nettoyage avant que cela se plante ) Il eut un
moment ou j'avais le temps, mais comme la consultation de cette base
était avec Webdev 1.5 je ne
pouvais pas, maintenant il y a Webdev 7 ( Encore des sous à débourser, en
plus Webdev 1.5 ne
me satisfait pas entièrement, je n'ai pas eu le temps de me pencher sur
la version 7 si elle
résolvais les reproches que j'avais contre la 1.5 ) En gros j'attends
avec impatience le passage
de Hyperfile en client Serveur ( je crois que j'ai lu dans ce NewsGroup
des rumeurs concernant
le fait que PC Soft le prévoie ) cela me permettra de revendre ma Clef
Webdev et le Moteur de
déploiement ( Si je trouve quelqu'un qui en veut )
Actuellement j'utilise WD 7.5 que pour des petits applicatif, pour
utiliser certaine
fonctionnalités plus pratique qu'en version 5.5. ( En autre l'impression
des codes barre dans
les états , bien qu'il y ait des bug quand on les fait pivoter de 90
dégréé)

En gros quand ont est indépendant on privilégie, les entrée d'argent,
les essais de nouveautés, c'est quand on à des trous, et pour le moment
je n'en ai pas.

A+

Alex
1 2