Salve,
sto cercando di capire se passare l'interfaccia grafica della mia applicazione (attualmente sviluppata con PageLab) su Movicon.
Ho creato alcune pagine che replicano quelle del progetto originale e ho provato a riscrivere le funzionalità come erano fatte sul progetto originale dove sono presenti alcuni tasti che settano banalmente una variabile alla pressione, e, altri tasti che eseguono una procedura.
Ho visto che in Movicon, l'analogo della procedura di PageLab è un Basic Script.
Durante la simulazione, quando tocco il tasto che deve eseguire il basic script, vedo una finestra pop up con il seguente messaggio d'errore: Errore di Automazione ActiveX.
L'errore viene indicato nella riga 2 del seguente script:
Sub Main()
If (GetVariableValue("OFFROT") Is False) Then
Dim bRet As Boolean
bRet = SetVariableValue("FAST", False)
bRet = SetVariableValue("OFFROT", False)
bRet = SetVariableValue("OFFTRA", False)
bRet = SetVariableValue("STATO", 2)
bRet = SetVariableValue("Disattiva", True)
bRet = SetVariableValue("Attiva", False)
bRet = SetVariableValue("LAV_STATUS", True)
bRet = SetVariableValue("FAST_ACTIVE", True)
ElseIf (GetVariableValue("OFFROT") Is True) Then
bRet = SetVariableValue("FAST", False)
bRet = SetVariableValue("OFFROT", False)
bRet = SetVariableValue("OFFTRA", False)
bRet = SetVariableValue("STATO", 2)
bRet = SetVariableValue("Disattiva", True)
bRet = SetVariableValue("Attiva", False)
bRet = SetVariableValue("LAV_STATUS", True)
bRet = SetVariableValue("FAST_ACTIVE", True)
bRet = SetVariableValue("TW_TRA_CTR_QCKSTP", False)
bRet = SetVariableValue("TW_ROT_CTR_QCKSTP", False)
End If
End Sub
Controllando la documentazione MoviCon, lo script sembra scritto con una semantica corretta, però non riesco a capire il motivo dell'errore.
Ovviamente, il driver e l'importazione delle variabili da LogicLab è stata eseguita passo passo seguendo il tutorial ed il tutorial di esempio.
Avete qualche suggerimento o consiglio?
LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scripts
-
- Posts: 20
- Joined: 15/10/2013, 10:34
-
- Moderatore
- Posts: 1716
- Joined: 29/10/2010, 10:09
- Contact:
Re: LOGICLAB / MOVICON: Problemi con Esecuzione di Basic Scr
Salve,
se deve settare una variabile ad un certo valore, o comunque eseguire funzioni/comandi così semplici, può seguire questo semplice metodo:
1- selezione l'oggetto
2- nel campo "Esecuzione/Tipo di Comandi", selezionare "Esegui Comandi"
3- nel campo "Comandi su rilascio" premere il pulsantino con i puntini " … "
4- dalla finestra che appare premere "Nuovo comando"
da qui appaiono una serie di comandi, divisi in schede a seconda del tipo/argomento inerente
5- dalla scehda "Variabile" impsotare:
Tag: variabile di desitinazione dell'azione
Azione: l'azione da eseguire
Valore: valore numerico associato all'azione
se deve settare una variabile ad un certo valore, o comunque eseguire funzioni/comandi così semplici, può seguire questo semplice metodo:
1- selezione l'oggetto
2- nel campo "Esecuzione/Tipo di Comandi", selezionare "Esegui Comandi"
3- nel campo "Comandi su rilascio" premere il pulsantino con i puntini " … "
4- dalla finestra che appare premere "Nuovo comando"
da qui appaiono una serie di comandi, divisi in schede a seconda del tipo/argomento inerente
5- dalla scehda "Variabile" impsotare:
Tag: variabile di desitinazione dell'azione
Azione: l'azione da eseguire
Valore: valore numerico associato all'azione
-
- Posts: 20
- Joined: 15/10/2013, 10:34
Re: LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scrip
Due dubbi:
1. Avendo più variabili da settare in modo condizionato, devo eseguire impostare più azioni sullo stesso evento di rilascio del tasto?
2. La condizione (la struttura if then else) come va impostata?
1. Avendo più variabili da settare in modo condizionato, devo eseguire impostare più azioni sullo stesso evento di rilascio del tasto?
2. La condizione (la struttura if then else) come va impostata?
-
- Moderatore
- Posts: 1208
- Joined: 12/09/2016, 14:49
Re: LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scrip
Buongiorno,
le rispondo per punti:
1. Come ha accennato deve eseguire più azioni sullo stesso evento di rilascio del pulsante. Movicon le permette di dare più comandi in sequenza per ogni evento.
2. Per replicare il controllo di flusso potrebbe pensare di rendere visibile l'oggetto di interesse mediante proprietà "Visibilità" associata al valore "TRUE" o "FALSE" della variabile oggetto di controllo (OFFROT). Potrebbe sovrapporre due oggetti che eseguono i comandi in sequenza come descritto sul punto 1, solo che un oggetto sarà visibile per OFFROT=true e un'altro per OFFROT=false. Ovviamente la serie di comandi sarà diversificata per ogni oggetto in base a quello che voleva ottenere col suo basic script.
Cordiali Saluti.
le rispondo per punti:
1. Come ha accennato deve eseguire più azioni sullo stesso evento di rilascio del pulsante. Movicon le permette di dare più comandi in sequenza per ogni evento.
2. Per replicare il controllo di flusso potrebbe pensare di rendere visibile l'oggetto di interesse mediante proprietà "Visibilità" associata al valore "TRUE" o "FALSE" della variabile oggetto di controllo (OFFROT). Potrebbe sovrapporre due oggetti che eseguono i comandi in sequenza come descritto sul punto 1, solo che un oggetto sarà visibile per OFFROT=true e un'altro per OFFROT=false. Ovviamente la serie di comandi sarà diversificata per ogni oggetto in base a quello che voleva ottenere col suo basic script.
Cordiali Saluti.