Iris _

Pixsys Forum

everybody's effort for the same goal

LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scripts

Post Reply
user6876
Posts: 20
Joined: 15/10/2013, 10:34

LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scripts

Post by user6876 »

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?
Pixsys tecnico 1
Moderatore
Posts: 1716
Joined: 29/10/2010, 10:09
Contact:

Re: LOGICLAB / MOVICON: Problemi con Esecuzione di Basic Scr

Post by Pixsys tecnico 1 »

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
user6876
Posts: 20
Joined: 15/10/2013, 10:34

Re: LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scrip

Post by user6876 »

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?
Pixsys tecnico 6
Moderatore
Posts: 1208
Joined: 12/09/2016, 14:49

Re: LOGICLAB/MOVICON: Problemi con Esecuzione di Basic Scrip

Post by Pixsys tecnico 6 »

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