Oggetto: POU per controlli impliciti
È possibile aggiungere queste POU speciali a un'applicazione per fornire loro funzioni di monitoraggio implicite. In fase di esecuzione, queste funzioni controllano i limiti degli array o dei tipi di sottointervallo, la validità degli indirizzi dei puntatori e la divisione per zero. Nota: questa opzione può essere disabilitata per i dispositivi che sono già dotati di questo tipo di blocchi di monitoraggio da una speciale libreria implicita.
Il Aggiungi POU per controlli impliciti finestra di dialogo in cui è possibile selezionare un tipo di funzione di monitoraggio (vedere la tabella seguente). A seconda della funzione di monitoraggio, è necessario modificare il codice di implementazione o crearlo da zero.
comando viene utilizzato per aggiungerlo all'applicazione. Il comando apre ilPer evitare inclusioni multiple, le funzioni di monitoraggio che sono già state inserite sono disabilitate nel Aggiungi POU per controlli impliciti dialogo.
Per ulteriori informazioni, vedere: Utilizzare i blocchi predefiniti per i controlli impliciti
Importante
Per ottenere la funzionalità per le funzioni di monitoraggio, non modificare la parte della dichiarazione. Tuttavia, è consentito aggiungere variabili locali.
Dopo aver rimosso una funzione di monitoraggio implicita (esempio: Check Bounds
) dal progetto, è possibile solo un download, non una modifica online. Viene visualizzato un messaggio corrispondente.
Suggerimento
Per impostazione predefinita, CODESYS non esegue controlli impliciti per i blocchi funzione dalle librerie utilizzate nell'applicazione. Tuttavia, puoi estendere il controllo alle biblioteche aprendo il Proprietà finestra di dialogo dell'applicazione e specificando la definizione del compilatore checks_in_libs
nel Definisce il compilatore campo sul Costruire scheda. Questa definizione riguarda le librerie di implementazione (*.library
) solo, biblioteche non protette (*.compiled-library
).
È possibile utilizzare l'attributo "no_check" per disattivare il controllo per POU speciali nel progetto.
Funzione di monitoraggio | Tipo |
---|---|
Assegni vincolati Gestione appropriata delle violazioni vincolate; tale gestione include l'impostazione di flag o la modifica degli indici di campo | |
Controlli di divisione: Monitora il valore del divisore per evitare la divisione per zero | |
Controlli di portata: Monitora il limite dell'intervallo di un tipo di sottointervallo in modalità runtime Valido per i tipi di dati | |
Controlli della gamma L: Monitora il limite dell'intervallo di un tipo di sottointervallo in modalità runtime Valido per i tipi di dati | |
Controlli del puntatore Sei responsabile della compilazione completa di questa funzione con il codice di implementazione. Vedere la pagina della guida per "POU 'CheckPointer'". La funzione dovrebbe monitorare se il puntatore passato fa riferimento o meno a un indirizzo di memoria valido e se l'orientamento dell'area di memoria referenziata corrisponde o meno al tipo di variabile a cui fa riferimento il puntatore. Se entrambe le condizioni sono soddisfatte, viene restituito il puntatore. Se no, allora |