Bonjour,
J'espère que vous aller pouvoir m'aider :/
Voilà, j'ai un problème au niveau de Simulink lorsque je veut compiler un programme pour faire une interface sous ControlDesk,
Mon programme contient un bloc embbeded avec une fonction me rapportant l'heure du système et qui me génère un signal commandant le reset d'une intégrale à une heure spécifique chaque jour.
Le problème est que Matlab ne veut pas compiler ce bloc fonction à cause des fonctions "now" et "datevec" (j'ai aussi essayé avec la fonction "clock"), voici mon bloc fonction :
J'ai cru comprendre que Matlab ne compilait pas certaine fonctions pour ControlDesk et qu'il fallait écrire le code de la fonction mais "clock" ou "now" n’exécute pas vraiment des instructions Matlab :/
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 function Signal = fcn %Le bloc n'a pas d'entrée et une unique sortie "Signal" eml.extrinsic('now'); %Retourne la date et l'heure sous forme "serial date number" eml.extrinsic('datevec'); %Convertit le format "serial date number" en vecteur Y = 0; M = 0; D = 0;%Initialisation des valeurs des variables H = 0; MN = 0; S = 0; [Y, M, D, H, MN, S] = datevec(now);% On attribue les variable au vecteur temps if H==00 % Si l'heure est "0" = minuit if MN==00 %Si les minutes sont à 0 if S==0 % si les secondes sont à 0 Signal=1; %La sortie du bloc "Signal" vaut 1 else Signal=0;%Sinon la sortie du bloc "Signal" vaut 0 end else Signal=0; end else Signal=0; end end
Partager