Messages : 25
Sujets : 10
Inscription : Jul 2016
Bonjour,
Quelqu'un a t'il déjà utilisé le SDK de Falcon avec Delphi ?
Merci d'avance
Thierry
Messages : 10
Sujets : 3
Inscription : Nov 2024
Bonjour Thierry,
J'ai présenté sur le forum un wrapper C# pour WinDev 28. Grâce à cette méthode, j'ai également réussi à écrire un code en Delphi qui se connecte au bus et effectue diverses opérations de commutation.
Je vais bientôt fournir plus de détails.
Messages : 10
Sujets : 3
Inscription : Nov 2024
17/11/2024, 15:29:48
(Modification du message : 17/11/2024, 15:44:43 par Smart Guido 73.)
Bonjour Thierry,
J'ai créé un petit projet exemple en Delphi qui montre comment cela fonctionne globalement. Cela devrait déjà beaucoup t'aider. Si tu as des questions, n'hésite pas à me contacter.
Pour pouvoir utiliser la DLL signée Falcon SDK, il est nécessaire de l'enregistrer. Voici les étapes à suivre :
- Copie la DLL signée Falcon dans ton dossier Documents.
- Lance l'Invite de commandes (CMD) en mode administrateur.
- Va dans le répertoire : C:\Windows\Microsoft.NET\Framework64\v4.0.30319
- Exécute la commande suivante pour enregistrer la DLL :
regasm C:\Users\USERNAME\Documents\Debug\KNXlib.dll /tlb:KNXlib.tlb /codebase
- Il se peut qu'il faille désactiver la fonction "Accès aux dossiers surveillés" dans les paramètres de sécurité Windows.
Les commandes sont identiques à celles de WinDev, mais la gestion des Assemblies .NET dans Delphi est un peu différente. Je vais maintenant reprendre quelques exemples de mon code source pour illustrer les commandes disponibles :
Connectez-vous à la passerelle IP :
MyKNXDotNet := CreateOleObject('KNXlib.KnxController');
MyKNXDotNet.Connect('192.168.178.42', 3671, False)
Connectez-vous à la passerelle IP sécurisée :
MyKNXDotNet := CreateOleObject('KNXlib.KnxController');
MyKNXDotNet.ConnectSecure('192.168.178.150', 3671, False, '1.1.243', 'file.knxkeys', 'password')
Envoyer DPT1 :
MyKNXDotNet.WriteBool('1/0/0' , True)
Envoyer DPT9.1 :
MyKNXDotNet.WriteValueToDPT(Groupaddress, value as string, DPTupper value, DPTlower value)
MyKNXDotNet.WriteValueToDPT('11/7/4', '20.5', 9, 1)
A lire :
MyKNXDotNet.ReadValueAsync('11/7/4')
Envoi DPT5.1 :
MyKNXDotNet.WriteValueToDPT('6/0/9', '90', 5, 1)
Envoi DPT5.4 :
MyKNXDotNet.WriteValueToDPT('6/0/9', '240', 5, 4)
Lire DPT9.1 :
MyKNXDotNet.ReadValue('11/7/4', 9, 1)
Envoyer la date actuelle :
MyKNXDotNet.WriteDate('11/5/0')
Envoyer l'heure actuelle :
MyKNXDotNet.WriteTime('11/5/1')
Envoyer la date actuelle en tant que DPT16 :
MyKNXDotNet.WriteTimeAsText('11/6/1')
Voici le lien de téléchargement :
https://www.knx-board.org/download.php?f...rapper.zip
Cordialement,
Guido