Advertisement
tanfy88

Untitled

Mar 12th, 2018
2,360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SCL 1.78 KB | None | 0 0
  1. #valore := 0;           // Inizializza le variabili #valore e #stato a 0
  2. #stato := 0;
  3.  
  4. IF (#acquisizione <> 16#7FFF) THEN              // Se non c'è stato errore di acquisizione
  5.     #valore := #a * INT_TO_REAL(WORD_TO_INT(#acquisizione)) + #b;       (* Converte in reale (da WORD a INT, da INT a REAL)
  6.                                                                            il valore acquisito, lo moltiplica per #a e vi
  7.                                                                            somma #b *)
  8.     IF (#valore > #soglia_sup) THEN             // Se il valore reale è maggiore della soglia superiore
  9.         #stato := 2#10000010;                   (* Allora setta il bit 1 di superamento soglia superiore e il bit 7 di
  10.                                                    presenza di un errore*)
  11.        
  12.     ELSIF (#valore < #soglia_inf) THEN          // Altrimenti se il valore reale è minore della soglia inferiore
  13.         #stato := 2#10000100;                   (* Allora setta il bit 2 di superamento soglia inferiore e il bit 7 di
  14.                                                    presenza di un errore*)
  15.        
  16.     ELSE                                        // Se invece non ci sono stati errori o superamenti di soglie allora
  17.         #stato := 2#00000000;                   // Restta tutti bit di errore
  18.     END_IF;
  19. ELSE                                            // Se si è verificato un errore nell'acquisizione allora
  20.     #stato := 2#10000001;
  21.     #valore := DWORD_TO_REAL(16#FFFF);      (* Allora setta il bit 0 di "errore" nell'acquisizione e il bit 7 di
  22.                                                    presenza di un errore, mentre carica in uscita il valore esadecimale
  23.                                                    (convertito in reale) FFFF *)
  24. END_IF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement