Bonjour,
je développe actuellement une bibliothèque dans le domaine hydraulique (un peu plus complexe que celle présente de base dans simscape)
Un des seuls composants que je n'arrive pas à simuler est une vanne contrôlable parfaite.
Cette vanne aurait comme input un signal booléen (1 ou 0), aucune perte de charge engendrée
Le problème est que je n'arrive pas à créer un élément qui si l'ouverture est = 1, p == 0 sinon q == 0 (simscape n'autorise pas de définir une variable seulement si une condition est remplie, ce qui est mon cas)
Voici les composant que j'aimerai creer, mais qui n'est pas possible de faire :
Ce code renvoie les erreurs suivantes (comme expliqué)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 component vanne_parfaite % Vanne Parfaite nodes A = myHydraulic.hydraulic; % A:left B = myHydraulic.hydraulic; % B:right end inputs ouv = {1, '1'}; %O:left end variables q = { 0, 'm^3/s' }; % Debit volumique à travers l'élément p = { 0, 'Pa' }; % Pression différentielle end branches q : A.q -> B.q; % Debit en A = Débit en B end equations q == if ge(ouv,{1,'1'}), 0 end p == if le(ouv,{0,'1'}), 0 end p == A.p - B.p; % Conservation de la pression end end
Si quelqu'un à une solution à ce problème, une piste ou un conseil, je suis tout ouïe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Line: 24 Column: 32 Illegal use of if expression. An else branch is required for if expression in equations section. Line: 25 Column: 32 Illegal use of if expression. An else branch is required for if expression in equations section.
Cordialement,
S.Colaux
Partager