Hat Inserito: 27 giugno 2024 Segnala Inserito: 27 giugno 2024 Buongiorno a tutti, vorrei sapere se è possibile all'interno di un blocco FC (scl) dichiarare una variabile temp di tipo struct che cambia autmaticamente nel momento in cui vado a cambiare una struct di riferimento in un db globale. Praticamente vorrei blindare l'FC, però per fare ciò ho bisogno che appunto una struct all'interno del blocco si aggiorni automaticamente. Ho provato con i dati variant, ma non ho capito se sono io a sbagliare oppure non è possibile fare ciò. Uso tia V19. Spero di essere stato chiaro.
dina_supertramp Inserita: 27 giugno 2024 Segnala Inserita: 27 giugno 2024 (modificato) Ti faccio un esempio pratico: 1) Creati un tipo di dati Es.: "Ricettario" Composto da: 4 bool, 8 interi, 16 reali 2) Crea un DB ES.: DB "Ricetta" Inserisci in questa DB la tua variabile che come tipo sarà "Ricettario" 3) Crea l'FC Crea una variabile d'ingresso nel tuo FC, che come tipo di dato avrà "Ricetta" 4) Dove richiami l'FC dai la variabile di tipo "Ricettario" presente nel DB, in pasto all'ingresso dell'FC anch'esso di tipo "Ricettario" Fatto, hai blindato l'FC, e la tua struttura è l'esatta replica del dato contenuto nel DB esterno Spero di essere stato chiaro, al momento non ho il TIA a disposizione, se riesco più tardi ti faccio qualche screen Modificato: 27 giugno 2024 da dina_supertramp
dina_supertramp Inserita: 27 giugno 2024 Segnala Inserita: 27 giugno 2024 Qui ho creato il tipo di dati "Ricetta" Qui ho creato il DB "Ricettario" che contiene n ricette Qui ho creato l'FC "Impastatrice" che ha in ingresso la ricetta Qui richiamo l'FC ed in base alle condizioni muovo la ricetta per il pane chiaro, oppure quella per il pane scuro La cosa si può rendere ancora più efficiente e chiara usando gli FB ed i DB d'istanza. Questo è uno dei tantissimi modi in cui puoi gestire la cosa, ma come vedi, non richiede istruzioni di sistema o personalizzate che muovano i dati.
Hat Inserita: 27 giugno 2024 Autore Segnala Inserita: 27 giugno 2024 Si, ho capito ciò che intendi e già li uso i tipi di dati per fare cose simili. Mi chiedevo però, più per curiosità che per altro, se fosse possibile fare esattamente ciò che chiedo senza scomodare i tipi di dato. Grazie in ogni caso per la risposta dettagliata.
dina_supertramp Inserita: 27 giugno 2024 Segnala Inserita: 27 giugno 2024 (modificato) 19 minuti fa, Hat ha scritto: Grazie in ogni caso per la risposta dettagliata. Di nulla 19 minuti fa, Hat ha scritto: Mi chiedevo però, più per curiosità che per altro, se fosse possibile fare esattamente ciò che chiedo senza scomodare i tipi di dato. Sinceramente non ho mai provato. Non scomodi nessuno, sono li apposta i tipi di dato 😁 Vorrei fare solo questa osservazione: Per aggiornare una struttura isolata all'interno di un FB/FC (che sia anche un array, insomma un tipo di dati composto), la dovresti dichiarare come IN. Viceversa, se devi aggiornare una struttura esterna, con un'altra proveniente da un blocco FB/FC la dovresti dichiarare come OUT. Poi esistono anche i parametri IN/OUT. Le variabili TEMP sono intese per rimanere dentro i blocchi ed essere scritte da cose dentro i blocchi, non da agenti esterni. Gli agenti esterni scrivono gli IN e leggono gli OUT. Avere un agente esterno che scrive su di una TEMP all'interno di un blocco.....si può fare? Si, ma a questo punto non stai più isolando nulla, perché non stai scrivendo/leggendo un parametro IN-OUT-IN/OUT, ma sta agendo su una variabile temporanea insita nel blocco funzione. L'agente esterno scrive l'IN L'IN scrive il TEMP Il TEMP viene manipolato nell'FC Il TEMP scrive l'OUT L'agente esterno legge l'OUT Modificato: 27 giugno 2024 da dina_supertramp
Hat Inserita: 27 giugno 2024 Autore Segnala Inserita: 27 giugno 2024 Il mio intento però sarebbe solo di usare l'agente esterno per conoscerne la struttura e dichiararne una uguale all'interno dell'FC. Capisco però che la cosa non abbia senso. Era pura curiosità, grazie ancora
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora