tnt6 Inserito: 12 dicembre 2021 Segnala Share Inserito: 12 dicembre 2021 Buonasera Che voi Sappiate, è possibile creare Array a Dimensione Variabile in Sysmac Studio? Come l'istruzione Define del C per intenderci. Grazie Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 12 dicembre 2021 Segnala Share Inserita: 12 dicembre 2021 No, il campo degli array va definito con numeri, non costanti. Non mi pare si possa fare con nessun PLC. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 12 dicembre 2021 Segnala Share Inserita: 12 dicembre 2021 3 minuti fa, Ctec ha scritto: Non mi pare si possa fare con nessun PLC. Se intendi modificare dinamicamente la dimensione di un array, no. Se intendi utilizzare una costante al posto di un numero per dichiarare la dimensione di un array, con Siemens si può fare. Anzi, io lo faccio molto spesso. Usare le costanti per la dimensione dell'array, ti permette di usare le stesse costanti anche all'interno del programma, per rimanere dentro le dimensioni dell'array. Se devo modificare la dimensione dell'array, modifico il valore di una costante, e non devo mettere mano al programma. Ovviamente, devo ricompilare e scaricare la modifica. Ad una funzione si può anche passare un array, come parametro IN/OUT, senza dichiararne la dimensione: myArray[*] Poi ci sono le istruzioni per rilevare quali sono il primo e l'ultimo elemento dell'array che viene passato alla funzione. Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 12 dicembre 2021 Segnala Share Inserita: 12 dicembre 2021 Si, Batta, intendevo dinamicamente (seconda parte della mia frase). Ma nel Sysmac Studio non si può neanche usare costanti nella definizione degli array (prima parte della mia frase). Ho scritto malissimo due risposte in un rigo. Link al commento Condividi su altri siti More sharing options...
Schwoch89 Inserita: 13 dicembre 2021 Segnala Share Inserita: 13 dicembre 2021 Ciao a tutti, in Sysmac Studio è possibile definire array con dimensione variabile soltanto un prametro IN/OUT di una funzione o blocco funzione. Es. ARRAY[*] OF BOOL Questo permette di usare la funzione o blocco funzione con array di dimensioni differenti in base alla necessità. La dimensione della variabile array associata al parametro IN/OU all'interno del Programma dovrà essere una costante. Le funzioni LOWER_BOUND e UPPER_BOUND possono essere utilizzate all'interno del codice programma della funzione e blocco funzione per ottenere l'indice inferiore e superiore della variabile associata al parametro IN/OUT, ad esempio per definire cicli FOR. Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 13 dicembre 2021 Segnala Share Inserita: 13 dicembre 2021 Si, ma non puoi definirlo né in una globale, né in una locale. L'avevo anche segnalato a Omron, ma non mi hanno considerato stavolta. Link al commento Condividi su altri siti More sharing options...
Schwoch89 Inserita: 13 dicembre 2021 Segnala Share Inserita: 13 dicembre 2021 7 ore fa, Ctec ha scritto: Si, ma non puoi definirlo né in una globale, né in una locale. L'avevo anche segnalato a Omron, ma non mi hanno considerato stavolta. Corretto! Sì, condivido che sarebbe una funzionalità interessante! Link al commento Condividi su altri siti More sharing options...
tnt6 Inserita: 23 dicembre 2021 Autore Segnala Share Inserita: 23 dicembre 2021 Purtroppo la funzionalita' ARRAY of BOOL [*] vale solo per lavorare tipi di dato Array a Dimensione Variabile, obbligandoti comunque a passargli come parametro ingresso un array a dimensione fissa. Fosse stato possibile dichiarare una variabile globale con ARRAY OF BOOL[*] sarebbe stato perfetto Link al commento Condividi su altri siti More sharing options...
gremodic Inserita: 8 aprile Segnala Share Inserita: 8 aprile Mi unisco alla discussione per chiedere se è possibile aggiungere una ulteriore funzionalità. Ho capito che con i parametri InOut è possibile con la notazione Array [*] OF BOOL definire in maniera variabile la dimensione dell'array. Volevo chiedervi se era possibile anche rendere "variabile" la tipologia di Array, quindi non specificando che si tratti di Bool Dint REal etc etc Quello che in pratica viene definito in alcune funzioni Sysmac come ANY_ELEMENTARY Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 8 aprile Segnala Share Inserita: 8 aprile 2 minuti fa, gremodic ha scritto: Mi unisco alla discussione per chiedere se è possibile aggiungere una ulteriore funzionalità. Il regolamento vieta gli accodamenti, sempre. Bisogna aprire una nuova discussione anche per argomenti simili. Questa discussione, in particolare, è inattiva da oltre 2 anni!!!! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati