- Empezar
- Uso del software
- OPC UA
- Objetos gráficos y de diseño
- Sesiones y configuraciones regionales
- Desarrollo de soluciones
- Desarrollo de proyectos con C#
- NetLogic
- Referencia de API de C#
- Ejemplos de aplicación
- Tutorial de UI
- Tutorial del registrador
- Tutorial de alarmas
- Tutorial de OPC UA
- Tutorial de NetLogic
- Referencias de objetos y variables
Desarrollar una lógica de simulador de procesos
Se desarrolla una lógica que simula una tarea de larga ejecución.
Requisitos previos
Establezca el editor de código externo predeterminado. Consulte Establecer el editor de código predeterminado.
- Para desarrollar una lógica de simulador de procesos
- Cree el objeto ProcessVariableSimulator:
- EnVista del proyecto, haga clic con el botón derecho enModeloy seleccione .
- Pase el cursor por encima del objeto, seleccione y escribaProcessVariableSimulator.
- EnPropiedades, agregue cuatro variables. Para ello, seleccione yVariable.
- Para cambiar el nombre de las variables, pase el cursor por encima de cada variable, seleccione y escriba:
- IsRunning
- Message
- Step
- Value
- Junto aIsRunning, seleccioneInt32y seleccioneBoolean.
- Junto aMessage, seleccioneInt32y seleccioneString.
- Desarrolle el script ProcessVariableSimulatorLogic:
- Haga clic con el botón derecho enProcessVariableSimulatory seleccione .
- Pase el cursor por encima de NetLogic, seleccione y escribaProcessVariableSimulatorLogic
- Haga doble clic en NetLogic.Se abre el editor de código externo.
- Reemplace el código existente por el siguiente código:using System.Threading; using UAManagedCore; public class ProcessVariableSimulatorLogic : FTOptix.NetLogic.BaseNetLogic { public override void Start() { var owner = (ProcessVariableSimulator)LogicObject.Owner; valueVariable = owner.ValueVariable; stepVariable = owner.StepVariable; messageVariable = owner.MessageVariable; isRunningVariable = owner.IsRunningVariable; increment = true; periodicTask = new PeriodicTask(IncrementDecrementTask, 500, LogicObject); periodicTask.Start(); longRunningTask = new LongRunningTask(MessageTask, LogicObject); longRunningTask.Start(); } public override void Stop() { periodicTask.Dispose(); periodicTask = null; longRunningTask.Dispose(); longRunningTask = null; } [FTOptix.NetLogic.ExportMethod] public void StartMethod() { periodicTask.Start(); isRunningVariable.Value = true; } [FTOptix.NetLogic.ExportMethod] public void StopMethod() { periodicTask.Cancel(); isRunningVariable.Value = false; } public void IncrementDecrementTask() { int currentValue = valueVariable.Value; int step = stepVariable.Value; if (increment) { currentValue += step; if (currentValue >= 100) { currentValue = 100; increment = false; } } else { currentValue -= step; if (currentValue <= 0) { currentValue = 0; increment = true; } } valueVariable.Value = currentValue; } public void MessageTask() { Thread.Sleep(2000); messageVariable.Value = "PHASE 1"; Thread.Sleep(2000); messageVariable.Value = "PHASE 2"; Thread.Sleep(2000); messageVariable.Value = "PHASE 3"; Thread.Sleep(2000); messageVariable.Value = "PHASE 4"; } private IUAVariable valueVariable; private IUAVariable stepVariable; private IUAVariable messageVariable; private IUAVariable isRunningVariable; private bool increment; private PeriodicTask periodicTask; private LongRunningTask longRunningTask; }
- Guarde el código.
- Convierta el objeto ProcessVariableSimulatorLogic en un tipo de objeto:
- EnVista Tipo, haga doble clic enModelo.
- ArrastreProcessVariableSImulatordesdeVista del proyectoaVista Tipo.
- Cree el objeto ProcessVariableSimulator1 arrastrandoProcessVariableSImulatordesdeVista Tipoa la carpetaModelodeVista del proyecto.
- Configure el objeto ProcessVariableSimulator1:
- EnPropiedades, establezcaIsRunningenVerdadero.
- EstablezcaStepen1
Entregue su opinión