virgolanera Inserito: 2 agosto 2013 Segnala Inserito: 2 agosto 2013 Nel manuale Progea di Movicon, si dice, che per aprire un sinottico è sufficiente utilizzare la funzione OpenSynoptic.. Example: Sub Main ... OpenSynoptic("Synoptic1", 1) … End Sub Cosi faccio, ma quando provo a lanciare lo script mi ritorna un errore con il seguente messaggio "prevista una matrice gia dimensionata" Che vuol dire??? Qualcuno ha mai utilizzato questa funzione??
lelos Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 per aprire un sinittoco di script è semplicissimo: 1° dare un id al sinottico (sotto il nome) 2° per esempio un pulsante sull'evento click: (o un qualsiasi altro evento) Public Sub Click() [_SysVar_:ScreenToLoad]=2 [_SysVar_:StrobeLoadScreen]=True End Sub premento il pulsante si attiva il sinottoco 2 è essenziale dare un id numerco al sinottico ciao
lelos Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 dimenticavo... se usi la funzione OpenSynoptic("Synoptic1", 1) "Synoptic1" è il nome del sinottico da aprire ,1 è il numero dell' id del sinottico ciao
virgolanera Inserita: 2 agosto 2013 Autore Segnala Inserita: 2 agosto 2013 se usi la funzione OpenSynoptic("Synoptic1", 1) "Synoptic1" è il nome del sinottico da aprire ,1 è il numero dell' id del sinottico Si ma a me proprio non funziona la OpenSynoptic.. mi da l'errore che segnalavo prima.. peroverò con l'altra strada..
lelos Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 se lo script è nelle risorse basic scripts devi usare [_SysVar_:ScreenToLoad]=2 [_SysVar_:StrobeLoadScreen]=True ciao
virgolanera Inserita: 2 agosto 2013 Autore Segnala Inserita: 2 agosto 2013 non va nemmeno nell'altra maniera..
ricspr Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 (modificato) Ciao Stavo avendo giusto giusto lo stesso problema io. (che coincidenza!) Ho risolto mettendo lo script in un sinottico (esempio al click di un pulsante) piuttosto che in un "basic script" dove funziona solo con [_SysVar_:ScreenToLoad]=2 [_SysVar_:StrobeLoadScreen]=True mentre nel sinottico va bene anche il OpenSynoptic("Synoptic1", 1) Modificato: 2 agosto 2013 da ricspr
lelos Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 prova con un evento sul pulsante : Public Sub Click() [_SysVar_:ScreenToLoad]=2 [_SysVar_:StrobeLoadScreen]=True End Sub se non funziona controlla se c'è l' ID del sinottico. se non funziona ancora la faccenda è molto strana, non c'è qualche evento che ti riporta al sinottico da cui eri partito? ciao
virgolanera Inserita: 2 agosto 2013 Autore Segnala Inserita: 2 agosto 2013 (modificato) Public Sub Click() [_SysVar_:ScreenToLoad]=2 [_SysVar_:StrobeLoadScreen]=TrueEnd Sub Con un pulsante e in questa maniera funziona. però a me servirebbe una cosa un po diversa.. In realtà, all'avvio del programma, devo far aprire 3 pagine, per far si che rimangano in memoria (sono dei trend).. perche come sai, Movicon, finche una pagina non la apri, non la esegue e non la tiene in memoria.. e questa operazione deve essere fatta automaticamente, senza spingere alcun pulsante.. perche deve essere un operazione trasparente per il cliente.. una volta aperte le 3 pagine, poi posso visualizzare qualsiasi sinottico.. l'importante è che mi siano partite quelle 3 pagine per far si che rimangano in memoria.. Modificato: 2 agosto 2013 da virgolanera
lelos Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 sicuramente userai l'opzione del sinottico mantieni in memoria. se ti va bene puoi aprire le 3 pagine all'accensione del sistema [_SysVar_:ScreenToLoad]=2 (pagina che può essere aperta anche all'accensione attraverso i parametri del progetto) [_SysVar_:StrobeLoadScreen]=True If[_SysVar_:ActiveScreen]=2 Then [_SysVar_:ScreenToLoad]=3 [_SysVar_:StrobeLoadScreen]=True end if If[_SysVar_:ActiveScreen]=3 Then [_SysVar_:ScreenToLoad]=4 [_SysVar_:StrobeLoadScreen]=True end if If[_SysVar_:ActiveScreen]=4 Then [_SysVar_:ScreenToLoad]=5 [_SysVar_:StrobeLoadScreen]=True end if se non funziona và messo in un ciclo per esempio :while end while o messa una pausa tra il cambio schermate la PAGINA 5 sarebbe quella da mostrare le pagine per un attimo saranno visibili oppure nei comandi di avvio del progetto apri un sinottico , attenti una pausa es.2 secondi , poi carichi il sucessivo ,attendi ,ecc,ecc io userei l'automatismo di :esecuzione-comandi di avvio le pagine per un attimo saranno visibili ciao
antodm Inserita: 2 agosto 2013 Segnala Inserita: 2 agosto 2013 Se i sinottici devono solo essere caricati in memoria all'avvio senza visualizzarli puoi usare "Precarica sinottici allo startup" nelle proprietà generali del progetto. In questo modo vengono precaricati in memoria tutti i sinottici in cui hai spuntato l'opzione "mantieni in memoria".
virgolanera Inserita: 5 agosto 2013 Autore Segnala Inserita: 5 agosto 2013 Non conoscevo l'opzione "Precarica sinottici allo startup".. E' proprio quello che mi serviva.. grazie mille
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