Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Falcon SDK et Delphi
#1
Bonjour,

Quelqu'un a t'il déjà utilisé le SDK de Falcon avec Delphi ?

Merci d'avance
Thierry
mon blog : Appartement EIB/KNX
Répondre
#2
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.
Répondre
#3
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 :
  1. Copie la DLL signée Falcon dans ton dossier Documents.
  2. Lance l'Invite de commandes (CMD) en mode administrateur.
  3. Va dans le répertoire : C:\Windows\Microsoft.NET\Framework64\v4.0.30319
  4. Exécute la commande suivante pour enregistrer la DLL :
    regasm C:\Users\USERNAME\Documents\Debug\KNXlib.dll /tlb:KNXlib.tlb /codebase
  5. 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
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)