ou
Avec la fonction de vérification du projet, plusieurs vérifications de projet peuvent être effectuées à l'aide d'un assistant. L'assistant de vérification de projet vous guidera tout au long du processus de vérification de votre projet par rapport aux règles courantes d'étude et de conception de KNX.
Ceci est un test hors ligne. ETS ne se connectera pas au bus.
La vérification du projet peut être invoquée via les 3 points verticaux de la barre d'outils.
Il y a 5 niveaux différents qui sont vérifiés dans un projet.
- Vérification de produit
- Vérification d’adresse de groupe
- Vérification de topologie
- Vérification des informations produit
- Vérifie les projets importés à partir des versions antérieures de ETS
Vérification de participant
Qu'est ce qui est vérifié dans les participants ?
- Si au moins un objet de groupe des participants est associé à une adresse de groupe
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| device.ActiveComObjectInstances.Count > 0 | Un objet de groupe actif est-il associé à une adresse de groupe ? | Attention : L'appareil "{device.DisplayName}" n'a pas d'objet de groupe associé à une adresse de groupe. |
- Si tous les identifiants de l'appareil sont compatibles avec les plug-ins ETS3
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| device.Description.length > 80 ? | Erreur : La longueur de la description est supérieure à 80 caractères. Cela pourrait causer des problèmes avec les plug-ins ETS3. | |
| device.Name.length > 50 ? | Erreur : La longueur du nom est supérieure à 50 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| foreach comObject.Description.length > 80 ? | Erreur : La longueur de la description est supérieure à 80 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. |
Vérification d’adresse de groupe
Qu'est ce qui est vérifié dans les adresses de groupe ?
- Si toutes les adresses de groupe sont utilisées (liées avec au moins un objet de groupe)
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| L'adresse du groupe est associée à un segment PL | pour chaque connecteur de l'adresse du groupe dont le drapeau d'acquittement du connecteur est activé, le nombre d'appelants du groupe est calculé. À cette fin, l'adresse de domaine du segment parent (connector.ParentDevice.Segment) est enregistrée et la valeur est incrémentée s'il existe un autre connecteur dont l'indicateur d'acquittement est activé. Si la valeur est supérieure à 1, une entrée de rapport est créée. | Pour l'adresse de groupe "{groupAddress.DisplayName}", il y a trop d'appareils associés qui envoient le télégramme LL-Ack. |
| groupAddress.ObjectSize != null | groupAddress.Connectors.Count < 2 | Un seul objet de groupe est lié à l'adresse de groupe "{groupAddress.DisplayName}" |
| groupAddress.ObjectSize != null | groupAddress.Connectors.Count < 1 | Aucun objet du groupe n'est lié à l'adresse du groupe "{groupAddress.DisplayName}" |
| groupAddress.ObjectSize == null | Aucun objet du groupe n'est lié à l'adresse du groupe "{groupAddress.DisplayName}" |
- Si les adresses de groupe étendues sont liées aux périphériques à plug-in
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| GroupAddress.Address >0x7FFF and groupAddress.Connectors.Count > 0 and groupAddress.Connector.ParentDevice.HasDownloadPlugin |
Attention : L'objet de l'appareil {connector.ParentComObjectInstance.Number} est associé à l'adresse de groupe de 16 bits {groupAddress.AddressString} {groupAddress.Name}. |
- Si tous les identifiants d'adresse de groupe sont compatibles avec les plug-ins ETS3
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
|
groupAddress.Description.length > 80 ? groupRange.Description.length > 80 ? |
Erreur : La longueur de la description est supérieure à 80 caractères. Cela pourrait causer des problèmes avec les plug-ins ETS3. | |
|
groupAddress.Name.length > 50 ? groupRange.Name.length > 50 ? |
Erreur : La longueur du nom est supérieure à 50 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. |
Vérification de topologie
Qu'est ce qui est vérifié pour la topologie ?
- Compare le besoin actuel en courant du participant et le courant fourni par les alimentations TP
- Si la propriété de consommation d'énergie du participant est disponible sur les appareils, elle est utilisée; sinon, une moyenne de 10mA est utilisée
- Si la propriété actuelle de l'appareil est disponible sur les alimentations, elle est utilisée; sinon, une moyenne de 320mA est utilisée
- L'alimentation et les selfs sont comptabilisés dans les segments TP
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| line.MainSegment.IsTpSegment et line.Devices.Any() |
pour chaque ligne, le nombre d'alimentations est calculé. Si powerSupplyCount == 0, un message d'information est créé. |
Info : Pas d'alimentation prévue pour la ligne "{line.DisplayName}" |
| line.MainSegment.IsTpSegment et line.Devices.Any() | pour chaque ligne, le nombre d'alimentations est calculé. Si le powerSupplyCount > 2, un message d'erreur est créé. | Erreur : Plus de 2 alimentations projetées pour la ligne "{line.DisplayName}" |
| line.MainSegment.IsTpSegment et line.Devices.Any() | Pour chaque ligne, le nombre d'alimentations et de selfs est calculé. Si powerSupplyCount != chokeCount, un message d'avertissement est créé. | Attention : Le nombre de selfs sur la ligne "{line.DisplayName}" ne correspond pas au nombre d'alimentations. |
- S'il y a des coupleurs manquants dans les segments principaux
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| Plus d'une ligne avec un segment principal et des dispositifs TP |
si aucun coupleur n'est présent dans line.MainSegment, un message d'erreur est affiché |
Erreur : La ligne "{line.DisplayName}" n'a pas de coupleur de ligne |
| Plus d'un !area.MainLine.MainSegment.IsIpSegment et area.MainLine.Devices.Any() | si aucun coupleur n'est présent area.MainLine.MainSegment, un message d'erreur est affiché | Erreur : La zone "{area.DisplayName}" n'a pas de coupleur de zone. |
| line.MainSegment.IsPlSegment || line.MainSegment.IsRfSegment |
line.MainSegment.IsPlSegment : Vérifie si le périphérique existe avec la version de masque 0x1900. Si ce n'est pas le cas, un message d'erreur s'affiche line.MainSegment.IsRfSegment : Vérifie si le périphérique existe avec la version de masque 0x2920. Si ce n'est pas le cas, un message d'erreur s'affiche. |
Erreur : Si line.IsMainLine La zone "{area.DisplayName}" n'a pas de coupleur de média dans la ligne principale {line.DisplayName}. autrement : La ligne "{line.DisplayName}" n'a pas de coupleur de média. |
- S'il y a des coupleurs de segment manquants dans les sous-segments
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| s'il existe un répéteur TP (sans fonction de coupleur de segments) | Avertissement : La ligne "{segment.DisplayName}" est couplée via un répéteur sans capacité de filtrage. Envisagez de le remplacer par un coupleur de segment pour réduire le trafic de bus. | |
| s'il existe un coupleur de média ancien (sans fonction de coupleur de segment) | Attention : La ligne "{segment.DisplayName}" est couplée via un coupleur de média qui pourrait s'attendre à être implémenté comme coupleur sur la ligne principale ou la zone et ne pourrait pas être préparé à un couplage de segment. Vérifiez la documentation de l'appareil. |
|
| aucun coupleur détecté | Erreur : La ligne "{segment.DisplayName}" n'a pas de coupleur de segment. |
- Si la colonne vertébrale doit être IP
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
|
Il est vérifié s'il existe une ligne avec line.Address == 0 && Line.ParentArea.Address == 0, sinon un message d'erreur est créé. |
Avertissement : Aucune ligne réseau n'est présente. Il est recommandé de créer une ligne réseau et de lui attribuer la valeur "IP" |
|
|
S'il existe une ligne réseau, il vérifie également s'il existe un périphérique avec une adresse == 0 et une version de masque == 0x091a. comme un coupleur de ce type avec ApplicationProgramIpConfig == ApplicationProgramIpConfig.Custom et un autre coupleur avec ApplicationProgramIpConfig != ApplicationProgramIpConfig.Custom. Si oui, un message d'erreur est créé. |
Attention : La ligne réseau n'est pas de type "IP", bien qu'il n'existe dans le projet que des routeurs IP avec gestion personnalisée. Il est recommandé de définir la ligne réseau sur "IP |
- Si les conditions requises pour les topologies avec des routeurs KNX/IP sont remplies : Cette vérification ne concerne que les routeurs KNX/IP existants.
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| Il existe un périphérique avec adresse == 0, device.IsCoupler et device.MaskVersion == 0x091a dans line.Devices. |
la ligne n'est pas une ligne principale : pour un routeur IP x.y.0, il ne doit pas exister de routeur x.0.0 |
Erreur : Un coupleur de zone existe alors qu'un coupleur de ligne de type 'IP' (routeur KNX/IP) existe sous ce coupleur de zone. Ceci n'est pas autorisé |
| Il existe un périphérique avec adresse == 0, device.IsCoupler et device.MaskVersion == 0x091a dans line.Devices. | la ligne n'est pas une ligne principale : pour le routeur x.y.0 IP, le type de support de la ligne principale doit être IP s'il existe. | Erreur : Un coupleur de ligne de type 'IP' (routeur KNX/IP) existe sous une ligne principale qui n'a pas le type de support 'IP'. Le type de support de la ligne principale doit être réglé sur "IP" si un routeur KNX/IP est configuré dessous |
| Il existe un périphérique avec adresse == 0, device.IsCoupler et device.MaskVersion == 0x091a dans line.Devices. | line.Address != 0 : pour x.y.0 routeur IP avec y != 0, aucun autre routeur non IP x.y.0 ne doit exister. | Erreur : Dans la même zone, des coupleurs de ligne de type 'IP' (routeurs KNX/IP) et des coupleurs non-IP sont mélangés. Ceci n'est pas autorisé |
| Il existe un périphérique avec adresse == 0, device.IsCoupler et device.MaskVersion == 0x091a dans line.Devices. | Pour le routeur IP x.y.0 ou le routeur IP x.0.0, le type de support de la ligne de réseau doit être IP s'il existe | Erreur :Un coupleur de type 'IP' (routeur KNX/IP) existe et la ligne de réseau (0.0) n'a pas le type de support 'IP'. Le type de support de la ligne réseau doit être réglé sur "IP" si un routeur KNX/IP est configuré |
| Il existe un périphérique avec adresse == 0, device.IsCoupler et device.MaskVersion == 0x091a dans line.Devices. | Si installation.BackboneLine.MainSegment.IsTpSegment et qu'il y a line.MainSegment.IsIpSegment, un message d'erreur est créé. | Erreur : Le type de support de la ligne {line.DisplayName} ne doit pas être IP, car la ligne réseau est de type TP |
| Il existe un périphérique avec adresse == 0, device.IsCoupler et device.MaskVersion == 0x091a dans line.Devices. | Vérifie s'il y a des lignes IP sous la ligne principale de TP | Erreur : Le type de support de la ligne {0} ne doit pas être IP, car la ligne principale est de type TP. |
- Si tous les identifiants de topologie sont compatibles avec les plug-ins ETS3
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| line.Name.length > 50 ? | Erreur : La longueur du nom est supérieure à 50 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| area.Name.length > 50 ? | Erreur : La longueur du nom est supérieure à 50 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| buildingPart.Name.length > 50 ? | Erreur : La longueur du nom est supérieure à 50 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| trade.Name.length > 50 ? | Erreur : La longueur du nom est supérieure à 50 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| line.Description.length > 80 ? | Erreur : La longueur de la description est supérieure à 80 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| area.Description.length > 80 ? | Erreur : La longueur de la description est supérieure à 80 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| buildingPart.Description.length > 80 ? | Erreur : La longueur de la description est supérieure à 80 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| trade.Description.length > 80 ? | Erreur : La longueur de la description est supérieure à 80 caractères. Cela peut entraîner des problèmes au niveau des plug-ins ETS3. | |
| buildingPart.Number.Length > 20 ? | Erreur : La longueur du numéro est supérieure à 20 caractères. Cela pourrait causer des problèmes avec les plug-ins ETS3. | |
| commerce.Numéro.Longueur > 20 ? | Erreur : La longueur du numéro est supérieure à 20 caractères. Cela pourrait causer des problèmes avec les plug-ins ETS3. |
Vérification des informations produit
Dans certains cas, une mise à jour d'une entrée de produit KNX est disponible, contenant des améliorations ou des corrections de bugs pour la même version du produit. Avec l'aide de cette vérification, une liste qui montre tous ces participants peut être imprimée. La liste contient également les 'empreintes digitales' des participants (ceux-ci peuvent être utilisés par les fabricants pour distinguer entre plusieurs variantes d'un appareil, même lorsque la version est la même).
Vérifie les projets importés à partir des versions antérieures de ETS
Qu'est ce qui est vérifié pour les projets importés de versions antérieures d'ETS?
- Si toutes les adresses de l'appareil sont valides
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| device.Address != null et device.line != null | device.Address < 0 || device.Address > 255 | Erreur : L'adresse "{device.Address}" de "{device.DisplayName}" est hors des limites. |
| device.Address != null et device.line != null | L'adresse est unique dans la ligne | Erreur : L'adresse "{device.Address}" n'est pas unique. |
| device.Address != null et device.line != null | !device.Hardware.HasIndividualAddress | Erreur : Le participant "{device.DisplayName}" ne doit pas avoir d'adresse, mais a l'adresse "{device.Address}" |
| device.Address != null et device.line != null | device.Address == 0 && !device.IsCoupler | Erreur : L'adresse 0 est réservée aux coupleurs |
| device.Address == null || device.Line == null | device.Hardware.HasIndividualAddress | Erreur : "{device.DisplayName}" n'a pas d'adresse |
- Si les adresses des zones et des lignes sont valides
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
| area.Address > 15 | Erreur : L'adresse "{area.Address}" de "{area.Name}" est hors des limites. | |
| Le projet a-t-il une zone ayant la même adresse ? | Erreur : L'adresse "{area.Address}" n'est pas unique |
- Si les plages de groupe sont valides
| Prérequis | Contrôle | Rapport d'entrée en cas d'échec du contrôle |
|---|---|---|
|
L'adresse du groupe (adresse de la plage de groupes) est-elle valide ?
|
Erreur : L'adresse "{groupAddress.Address}" de "{groupAddress.DisplayName}" est hors des limites. ou L'adresse "{groupRange.Address}" de "{groupRange.DisplayName}" est hors des limites. |
|
| Le projet a-t-il une groupAddress / group Range avec la même adresse ? |
Erreur : L'adresse "{groupAddress.Address}" n'est pas unique. ou L'adresse "{groupRange.Address}" n'est pas unique. |
|
| Style de groupe à trois niveaux : Le groupe a-t-il adressé l'adresse 0/0/0 ? | Erreur : L'adresse de groupe 0/0/0 n'est pas valide. |
- Nombre de répéteurs hérités
Le résultat est affiché dans la même fenêtre et peut être sauvegardé, copié vers le presse papier et imprimé.
Toutes les vérifications peuvent être désactivées globalement, et les étapes individuelles des vérifications peuvent être désactivées dans l'onglet respectif.