Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Automation
Automation Forum d'entraide sur l'automatisme, la robotique et l'informatique industrielle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 18h47   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 13
Points : 4
Points : 4
Par défaut OPC Automation Problème

Salut tout le monde. J'ai un problème. J'ai fait un script en php pour aller lire sur opcserver. Tout fonctionne très bien quand c'est sur le localhost, mais dès que je vien pour mettre un nom de pc ( Node optionnel a la fonction Connect) plus rien ne va. Je sais que l'ordinateur est accessible car je me connect dessus par un autre logiciel de test. Comme je vous ai déjà dit tout fonctionne en localhost. Voici mon code

-----PHP-----

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$Server;
 
$Server = new COM("OPC.Automation");
$Server->Connect("PhoenixContact.AX-Server.21" , "172.16.158.70");
 
$Server->OPCGroups->Add( "MyGroup"); 
$Server->OPCGroups(1)->OpcItems->AddItem( "TestResource.poids_60", 1);
$Server->OPCGroups(1)->OpcItems->AddItem( "TestResource.poids_40", 1);
$Server->OPCGroups(1)->OpcItems->AddItem( "TestResource.poids_total_silos", 1);
$Server->OPCGroups(1)->OpcItems(1)->Read(2);
$Server->OPCGroups(1)->OpcItems(2)->Read(2);
$Server->OPCGroups(1)->OpcItems(3)->Read(2);
 
echo "Silo 60 : " . round($Server->OPCGroups(1)->OpcItems(1)->value , 2);
echo "<br>";
echo "Silo 40 : " . round($Server->OPCGroups(1)->OpcItems(2)->value , 2);
echo "<br>";
echo "Total Silo : " . round($Server->OPCGroups(1)->OpcItems(3)->value , 2);
 
-----PHP-----


Comme je l'ai deja dit la fonction connect fonctionne très bien si je retire le "172.16.158.70"...

Si vous avez des suggestion...

Merci
babbu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 20h24   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 779
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 779
Points : 16 855
Points : 16 855
Envoyer un message via Skype™ à bbil
B'soir..

quand tu dis l'accès marche avec d'autre logiciel, tu parle d'un autre client OPC .?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 20h42   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 13
Points : 4
Points : 4
Je refait exactement le meme code en vbs avec createobject et tout fonctionne.

Je ne comprend pas pourquoi le code ne fonctionne pas sous Php avec la fonction COM.

En fait la création de l'objet fonctionne, c'est lorsque je call la fonction qui me donne une erreur. J'ai esseiller de mettre 3 parametre ( la fonction en prend que 2 ) et il me donne pas la meme erreur ( il me dit que j'ai pas le bon nombre d'arguments ).

Voici l'erreur


Citation:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Unknown<br/><b>Description:</b> Unknown' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\test.php:6 Stack trace: #0 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\test.php(6): com->Connect('PhoenixContact....', '172.16.158.70') #1 {main} thrown in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\test.php on line 6
babbu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 14h13   #4
Invité de passage
 
Inscription : juillet 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 13
Points : 4
Points : 4
Bon j'ai trouver mon problème. C'est en fait que apache partait en services et non avec l'utilisateur auquel j'étais connecter. Je suis à mon emplois et on est sur réseau Novel. En gros de la grosse sécuritée pour pas grand chose. Mais l'ordinateur auquel je me connectais ne devais pas accepter l'utilisateur auquel apache étais parti ( en fait je ne sais meme pas c'est quoi l'utilisateur qui démare les services ... ). J'avais meme quelque problème lorsque je me connectais sur le localhost ( dépassais le délais de 30 sec de php ... ). J'ai donc parti le service manuellement ( httpd.exe ) de apache mais à partir de l'utilisateur auquel j'étais connecter et boum, tout fonctionne à merveille. Vive les réseau de grosse corporation, ou les administrateur réseau sont dans un autre ville, province ou pays ( dans mon cas ).

En conclusion : Toujours penser à l'utilisateur qui part le programme si vous etes dans un gros domaine avec utilisateur si votre programme est en service.

Merci pareille de votre aide
babbu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 11h58   #5
Invité régulier
 
Inscription : mars 2010
Messages : 42
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 42
Points : 8
Points : 8
Salut ,

Je remonte le topic ....

Ou trouver l'objet COM OPC ??

J'ai juste trouvé une dll , qui n'a pas l'air compatible...

Code :
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `OPCDAAuto': Syntaxe incorrecte ' in C:\Program Files (x86)\EasyPHP-5.3.1\www\testopc.php:4 Stack trace: #0 C:\Program Files (x86)\EasyPHP-5.3.1\www\testopc.php(4): com->com('OPCDAAuto') #1 {main} thrown in C:\Program Files (x86)\EasyPHP-5.3.1\www\testopc.php on line 4
Merci
kelvir est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h25.


 
 
 
 
Partenaires

Hébergement Web