Vai al contenuto
PLC Forum


Opensynoptic Movicon - Come Aprire Un Sinottico Da Script?


Messaggi consigliati

Inserito:

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??

Inserita:

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

Inserita:

dimenticavo...

se usi la funzione OpenSynoptic("Synoptic1", 1)

"Synoptic1" è il nome del sinottico da aprire

,1 è il numero dell' id del sinottico

ciao

Inserita:

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..

Inserita:

se lo script è nelle risorse basic scripts devi usare

[_SysVar_:ScreenToLoad]=2
[_SysVar_:StrobeLoadScreen]=True

ciao

Inserita:

non va nemmeno nell'altra maniera..

Inserita: (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: da ricspr
Inserita:

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

Inserita: (modificato)

Public Sub Click()
[_SysVar_:ScreenToLoad]=2
[_SysVar_:StrobeLoadScreen]=True
End 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: da virgolanera
Inserita:

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

Inserita:

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".

Inserita:

Non conoscevo l'opzione "Precarica sinottici allo startup".. E' proprio quello che mi serviva.. grazie mille

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...