Aller au contenu

pb de prog avec knowledge


Messages recommandés

Posté(e)

Bonjour

Je dois programmer un paramètre de cinématique pour contrôler la vitesse de rotation d’une pièce.

Le problème vient du fait que mon code n’est pas accepter par catia.

Pouvez vous m’aider à corriger cette erreur ?

Le seul exemple que j’ai fait était pour une vitesse constante.

Merci d’avance.

 

 

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` <90deg then

Mécanisme.1\KINTime` /(1s*1s*25920deg)`

end if

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >90deg and if `Mécanisme.1\Commandes\Commande.bras\Angle`<270 then

Mécanisme.1\KINTime` /(1s*2160deg+90deg)`

end if

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >270deg then

Mécanisme.1\KINTime` /(1s*1s*-25920deg+2160deg*1s+270deg)`

end if/*Règle créé(e) par Florian 24/11/2005*/

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` <90deg then

Mécanisme.1\KINTime` /(1s*1s*25920deg)`

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >90deg and if `Mécanisme.1\Commandes\Commande.bras\Angle`<270 then

Mécanisme.1\KINTime` /(1s*2160deg+90deg)`

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >270deg then

Mécanisme.1\KINTime` /(1s*1s*-25920deg+2160deg*1s+270deg)`

 

Le texte

http://img463.imageshack.us/img463/8650/ennonc3yn.jpg

 

Un pb avec le premier "then"

http://img174.imageshack.us/img174/6068/pb13rb.jpg

 

Un pb avec le M de Mecanisme alors que ce mot à été generé en cliquant sur le paramétre.

http://img361.imageshack.us/img361/4271/pb22lz.jpg

 

 

 

[Edité le 24/11/2005 par topfrunix2]

Posté(e)

Salut topfrunix2,

 

ton problème ne vient pas exactement du "M", mais de tout le nom de ton paramètre !!

 

en effet, tes paramètres ne sont pas renommés et ils utilisent des caratères spéciaux: é \

c'est pour cela que catia utlise des ` pour tes noms:

exemple:

 

`tété\chouette.1`

 

corrige les noms avec ce caractère ou renommes-les (ce que je te conseille !!)

 

dans ton cas cela donne pour la ligne 4:

 

`Mécanisme.1\KINTime` /(1s*1s*25920deg)

 

Amicalement

 

Gawel

 

 

Posté(e)

Merci pour la reponse.

Je vais tester. Par contre quel est le pb avec le "then" ?

 

 

tout compte fait j'ai pas reussit la modif car ça ne fonctionne tjrs pas...

 

[Edité le 24/11/2005 par topfrunix2]

Posté(e)

Je viens de voir cette suptilitée...

Il faut des "{" "}" ou c'est pas obligatoire ?

 

Et derniere question (normalement) est-ce que ma formule est valable :

(1) Mécanisme.1\KINTime` /(1s*1s*-25920deg+2160deg*1s+270deg

Sans parler de la mise en forme car c'est l'ancienne , ni des valeurs mais de la forme globale.

 

En effet je suis sur de la formule : Mécanisme.1\KINTime` /(1s*2160deg+90deg) (enfin à peut pres car j'ai traité un exemple à vitese constante mais sans decalage angulaire).

Par contre je suis pas sur pour (1) qu'il faut mettre s*s+s*deg*deg pour une equation de vitesse acceleré dans catia. Je suis sur que ma question est pas clair mais c'est pour avoir une forme correcte...

Posté(e)

J'ai tenté de modifier le code, car le "then" n'existe pas et il faut des {}.

J'ai un probleme à la ligne 3 mais je ne le voit pas. Je pense qu'il faut des expressions avec "=" afin de reversé une variable pour le kintime mais je ne sais pas comment faire...

Si qq à une idée je suis preneur.

 

 

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` <90deg

{

`Mécanisme.1\KINTime` /(1s*1s*25920deg)

}

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >90deg and `Mécanisme.1\Commandes\Commande.bras\Angle` <270deg

{

`Mécanisme.1\KINTime` /(1s*2160deg+90deg)

}

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >270deg

{

`Mécanisme.1\KINTime` /(1s*1s*-25920deg+2160deg*1s+270deg)

}

Posté(e)

Ah oui oui oui!!! carrément fait l'impasse là-dessus ! ça fait longtemps que je n'ai pas fait de knowledge, ça se voit.....

oui il faut des accolades au début et à la fin de ton calcul, c'est une condition obligatoire.

 

par contre, pour ta formule, ça ne va pas marcher, car tes unités ne sont pas homogènes.

Mécanisme.1\KINTime est de quel type d'unités exactement ? car tout ce que tu ajoutes après n'est pas de la même unité, donc cela ne peut pas marcher normalement. tu écris cela comme une équation; je ne connais pas le module de cinématique, mais cela m'étonnerait que catia accepte cela.

 

Pour catia, Mécanisme.1\KINTime est d'une unité bien spéciale et non pas d'une somme d'unités, est-ce que je suis à peu près clair dans mes explications ??

 

Amicalement

 

Gawel

Posté(e)

Je vois pas comment mettre l'equation.

Pour les unités je sais que si j'ecrit dans l'editeur de relation (ou formule, enfin le "f") Mécanisme.1\KINTime` /(1s*2160deg) ça passe. Apres je sais pas si j'ai le droit de rajouter un angle pour effectuer un decalage. Je ne sais pas non plus comment mettre les equation de vitesse avec acceleration car les unités changes (il y a du second degré).

 

Dans le peut de document que j'ai, les infos sont :

KINTime=paramètre de temps de la simulation

teta=angle caractérisant la liaison d'entrée.

 

Pour N=3600 tours/mn; T=60/3600sec=1/60=0.0167sec

N=3600tours/mn=21600 degrés par sec d'ou : teta=KINTime/1sec*21600deg.

 

J'ai essayé de ma baser sur cet exemple pour faire mon travail mais je n'y arrive pas...

Posté(e)

à mon avis, il te faut d'autres paramètres. Mécanisme.1\KINTime correspond à un type de paramètre, càd l'accélération si je ne me trompe pas; lorsque tu veux ajouter un décalage angulaire, il te faut d' autres paramètres pour le faire, mais qui eux n'ont pas le même type d'unité, c'est à dire qu'ils correspondent à un autre dégré dans l'équation.

 

faudrait que je regarde comment cela fonctionne, c'est pas évident

 

Amicalement

 

Gawel

Posté(e)

J'ai tenté autre chose. Ca à l'avantage de parraitre logique.

Je me pose une question de savoir si les equation restent valables.

Catia ne me dit pas qu'il y a un probleme avec des unités non homogene, mais il me met un message d'erreur : "La relation Règle.2 ne peut etre activée car elle provoquerait une boucle 'due à la relation Règle.2"

Comment dois-je corriger ce pb ?

Voici mon code :

if `Mécanisme.1\Commandes\Commande.bras\Angle` <90deg

{

`Mécanisme.1\Commandes\Commande.bras\Angle` =`Mécanisme.1\KINTime`*`Mécanisme.1\KINTime` /(1s*1s)*25920deg

}

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >90deg and `Mécanisme.1\Commandes\Commande.bras\Angle` <270deg

{

`Mécanisme.1\Commandes\Commande.bras\Angle` =`Mécanisme.1\KINTime` /(1s)*2160deg+90deg

}

 

if `Mécanisme.1\Commandes\Commande.bras\Angle` >270deg

{

`Mécanisme.1\Commandes\Commande.bras\Angle` =`Mécanisme.1\KINTime`*`Mécanisme.1\KINTime` /(1s*1s)*(-25920deg)+(`Mécanisme.1\KINTime`/1s)*2160deg+270deg

}

Posté(e)

Quand il y a une boucle, c'est que 2 relations rentrent en conflit. Ta règle pilote un ou des paramètres; mais, tu dois avoir aussi une formule de calcul qui pilote aussi un de ces paramètres (ou une autre règle). Tu dois choisir laquelle est la "maitresse"; c'est pour cela que catia t'affiche ce message et par défaut choisit pour toi (il prend bien sur par défaut la dernière relation écrite), sinon il ne sait pas ce qu'il faut faire et tourne en boucle et donc plantage.

 

Pas simple le knowledge !.... mais ça vient vite quand tu connais les règles de base.

 

 

Amicalement

 

Gawel

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité