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 :

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
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 :/