Bonjour à tous
je souhaite généraliser des boucles if qui relient automatiquement des blocs logiques sur simulink.
j'arrive à relier automaiquement 1 bloc, 2 blocs, trois blocs mais je ne sais pas comment faire pour n blocs.
Code pour relier 2 blocks :Code pour relier 3 blocks
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if nbre2bloclogic>1 openFcn=get_param('ex/Logical Operator','PortHandles') opefc=openFcn.Inport; tailleopecfc=length(opefc); end if nbre2bloclogic>1 openFcn1=get_param('ex/Logical Operator1','PortHandles') opefc1=openFcn1.Outport; add_line_by_handle(opefc1,opefc(nbre2bloclogic+nbre2blocconst)) %add_line_by_handle(opefc1,opefc(5)) endetc mais problème pour plusieurs blocs logiques non définis dès le départ je suis un peu mal.
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 if nbre2bloclogic>1 openFcn=get_param('ex/Logical Operator','PortHandles') opefc=openFcn.Inport; tailleopecfc=length(opefc); end if nbre2bloclogic>1 openFcn1=get_param('ex/Logical Operator1','PortHandles') opefc1=openFcn1.Outport; add_line_by_handle(opefc1,opefc(nbre2bloclogic+nbre2blocconst)) %add_line_by_handle(opefc1,opefc(5)) end % if nbre2bloclogic>1 openFcn2=get_param('ex/Logical Operator2','PortHandles') opefc2=openFcn2.Outport; add_line_by_handle(opefc2,opefc(nbre2bloclogic+nbre2blocconst+1)) %add_line_by_handle(opefc2,opefc(6)) end
Si vous avez des idées n' hésitez pas en m'en faire part
merci d'avance
Partager