| |
Membre enregistré 9 messages |
|
Posté le 17 avril 2014 - 10:46 |
Bonjour, J'ai importé un assemblage dotnet dans WinDev qui permet de faire communiquer une application Windows avec un automate Siemens.
J'ai un problème avec le code en WinDev:
tabMyDB32 est un tableau de 256 octets Myclient est un objet S7Client dynamique Myclient = allouer S7Client Myclient = allouer un objet S7Client // il y a une erreur au niveau de l'allocation mémoire MyClient.ConnectTo(SAI_ipautomate,0,2) MyClient.DBRead(32, 0, 16, tabMyDB32) libérer Myclient
Merci |
| |
| |
| | | |
|
| | |
| |
Posté le 17 avril 2014 - 11:38 |
Bonjour
pourquoi as tu DEUX allocations successives pour la même variable ? Quel est le prototype du constructeur ?
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
NOUVEAU: WXShowroom.com est disponible : Montrez vos projets ! Plus d'information sur http://fabriceharari.com
On 4/17/2014 2:46 AM, bouba wrote:
Bonjour, J'ai importé un assemblage dotnet dans WinDev qui permet de faire communiquer une application Windows avec un automate Siemens.
J'ai un problème avec le code en WinDev:
tabMyDB32 est un tableau de 256 octets Myclient est un objet S7Client dynamique Myclient = allouer S7Client Myclient = allouer un objet S7Client // il y a une erreur au niveau de l'allocation mémoire MyClient.ConnectTo(SAI_ipautomate,0,2) MyClient.DBRead(32, 0, 16, tabMyDB32) libérer Myclient
Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
Posté le 17 avril 2014 - 14:04 |
Rebonjour,merci de la réponse j'ai oublié d'enlever la 2e allocation en effet
Revoici le code: tabMyDB32 est un tableau de 256 octets Myclient est un objet S7Client dynamique Myclient = allouer un objet S7Client // il y a une erreur au niveau de l'allocation mémoire MyClient.ConnectTo("10.0.0.21",0,2) MyClient.DBRead(32, 0, 16, tabMyDB32) libérer Myclient
Le constructeur est:
public S7Client() { Client = Cli_Create(); }
J'essaie de traduire le programme C# suivant en WinDev :
Using Snap7; byte[] MyDB32 = new byte[256]; static S7Client MyClient; static void SymplyGet() { MyClient = new S7Client(); MyClient.ConnectTo(“10.0.0.21”,0,2); MyClient.DBRead(32, 0, 16, MyDB32); MyClient = null; }
Merci |
| |
| |
| | | |
|
| | |
| |
Posté le 17 avril 2014 - 15:17 |
Rebonjour
est ce qu'il ne manque pas les parenthèse à ton allocation ?
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
NOUVEAU: WXShowroom.com est disponible : Montrez vos projets ! Plus d'information sur http://fabriceharari.com
On 4/17/2014 6:04 AM, bouba wrote:
Rebonjour,merci de la réponse j'ai oublié d'enlever la 2e allocation en effet
Revoici le code: tabMyDB32 est un tableau de 256 octets Myclient est un objet S7Client dynamique Myclient = allouer un objet S7Client // il y a une erreur au niveau de l'allocation mémoire MyClient.ConnectTo("10.0.0.21",0,2) MyClient.DBRead(32, 0, 16, tabMyDB32) libérer Myclient
Le constructeur est:
public S7Client() { Client = Cli_Create(); }
J'essaie de traduire le programme C# suivant en WinDev :
Using Snap7; byte[] MyDB32 = new byte[256]; static S7Client MyClient; static void SymplyGet() { MyClient = new S7Client(); MyClient.ConnectTo(“10.0.0.21”,0,2); MyClient.DBRead(32, 0, 16, MyDB32); MyClient = null; }
Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
Posté le 17 avril 2014 - 22:04 |
j'ai essayer avec les parenthèses mais ça marche pas non plus Je pense que c'est un problème d'importation et d'exécution de la DLL dotnet.C'est un DLL que j'ai télécharger ici https://sourceforge.net/projects/snap7/files/
Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 18 avril 2014 - 02:27 |
hello Bouba, attention, si tu utilises le wrapper snap7.net.dll et la dll snap7.dll qui se trouve dans le répertoire examples\dot.net\winbin du fichier zip cela ne fonctionnera pas si tu compiles ou testes en 32 bits. Il semblerait que la dll snap7.dll qui se trouve dans le répertoire examples\dot.net\winbin soit la version 64 bits. Il faut que tu prennes la dll snap7.dll qui se trouve dans le répertoire release\windows\win32 du fichier zip.
Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Posté le 18 avril 2014 - 05:00 |
Le 17/04/2014 20:04, bouba a écrit :
Egalement ... j'ai essayé avec une DLL interne que nous avons créé... pas mois mais un collègue de travail. Le résultat ... n'accepte pas le Framework net 4.0 seulement 3.5 et pire le premier démarrage marche crosso modo ... on revient dessus plante méchamment... et chaque fois avec un message autre. On compile la Dll pour un exécutable... là aucun problème c'est vraiment l'intégration de l'assemblage.net dans le projet qui créé des problèmes et il n'y a que quelques fonctions. La Windev a raté le coche... la même dll dans un autre langage marche parfaitement... donc .... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
Posté le 18 avril 2014 - 11:27 |
Bonjour,
Effectivement fallait importer la DLL version 32 bits. ça compile maintenant. J'essaie maintenant de récupérer la variable tabMyDB32 et l'afficher dans un label.Je lis un octet du DB32 à partir de la position 0 et je le stocke dans tabMyDB32
tabMyDB32 est un tableau de 18 octets Myclient est un S7Client dynamique Myclient= allouer objet S7Client() Myclient.ConnectTo("10.0.0.21",0,2) LIB_db1..Valeur=Myclient.DBRead(32, 0, 1, tabMyDB32) //affichage du retour de la fonction LIB_db2..Valeur=tabMyDB32 //affichage de la valeur de tabMyDB32 libérer Myclient
Apparemment il y'a pas de connexion avec l'automate.La fonction retourne un nombre bizzard et tabMyDB32 n'affiche rien. Je suis encore bloqué
Merci de votre aide |
| |
| |
| | | |
|
| | |
| |
Posté le 15 avril 2016 - 16:57 |
Bonjour,
J'ai le même problème que vous et je n'arrive pas a m'en sortir. Pouvez-vous m'indiquer votre installation (Windows 7, Framework installé, ...)?
Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 84 messages Popularité : +2 (2 votes) |
|
Posté le 12 décembre 2016 - 22:22 |
Bonjour Bouba,
J'aimerais utiliser la dernière version de snap7 pour communiquer avec un automate siemens. J'ai bien importer l'assemblage dotnet. Mais je ne sais pas comment faire pour l'utiliser. Etant novice dans ce domaine, pouvez vous m'aider ?
Cordialement
-- DB |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 84 messages Popularité : +2 (2 votes) |
|
Posté le 12 décembre 2016 - 23:01 |
Bonjour,
J'aimerais utiliser la dernière version de snap7 pour communiquer avec un automate siemens. J'ai bien importer l'assemblage dotnet. Mais je ne sais pas comment faire pour l'utiliser. Etant novice dans ce domaine, pouvez vous m'aider ?
Cordialement
-- DB |
| |
| |
| | | |
|
| | |
| |
Posté le 03 février 2019 - 16:43 |
Bonjour Bouba, Je souhaite créer une supervision à l’aide de Windev et un automate Siemens S7-1200. Avez-vous un exemple de code pour pouvoir y parvenir ? Vous remerciant par avance,
Cordialement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 7 messages Popularité : +1 (1 vote) |
|
Posté le 11 février 2020 - 22:29 |
comment peut tu importer l'assemblage dans windev sans problème ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 84 messages Popularité : +2 (2 votes) |
|
Posté le 16 avril 2020 - 10:43 |
Bonjour, j'aimerais faire communiquer une appli windev avec un S7-1200. Avez-vous réussi ? Pouvez-vous me guider avec snap7 si c'est le cas ? comment importer la dll ? Merci par avance
Cordialement
-- DB |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 84 messages Popularité : +2 (2 votes) |
|
Posté le 16 avril 2020 - 11:44 |
-Bonjour, quelqu'un pourrait m'aider pour faire communiquer une appli windev avec un s7-1200 ? Help !!! Il semble qu'il faut utiliser snap7. J'aimerais de l'aide car dans le dossier snap7 je ne sais pas quel dll prendre Merci à vous tous de m'aider Prenez soin de vous
-- DB |
| |
| |
| | | |
|
| | |