Tutorial de WinCC OA. Parte 3. Guiones globales (guiones de control)

El comportamiento de la válvula programado en la sección anterior ... es ilógico. En el controlador para hacer clic en el botón "Abrir" o "Cerrar", establecemos directamente el valor del elemento llamado Posición. Dado que en el propio DPT, ya tenemos los comandos "Abrir" y "Cerrar".

Tipo de punto de datos "Flap"
Tipo de punto de datos "Flap"

, - , , , . workshop , .

«» «».

Script para presionar el botón "Abrir"
«Open»

main(mapping event)
{
  dpSet("System1:Flap1.Commands.Open", 1, "System1:Flap1.Commands.Close", 0);
}
Script modificado del botón "Abrir"
«Open»

, DPE, , , . «» «», « » (, , , ).

«Close»

, Para

Pulsando el botón "Abrir"
«Open»
Pulsando el botón "Cerrar"
«Close»

, , . open close .

gedi Scripts, Add New CTRL Script

, Model

. . - WinCC OA, dpConnect, . .

  1. dpConnect . , , .

  2. callback .

WinCC OA. «» dpGet , , .

, dpConnect . — callback- ( OnOpen_CB), — , . , , - main Model :

main()
{
	dpConnect("OnOpen_CB", "System1:Flap1.Commands.Open");
}

callback-. — ( string) «» ( «» ). .

void OnOpen_CB(string dp1, bool bNewValue)
{
;
}

, . «» «», , 90. «», — 0.

void OnOpen_CB(string dp1, bool bNewValue)
{
	if (bNewValue) {
		dpSet("System1:Flap1.Inputs.Position", 90);
	} else {
		dpSet("System1:Flap1.Inputs.Position", 0);
	}
}

- . «» Control Manager. , (Control), . Control. . , , ?

Lista existente de gerentes

WinCC OA Append new manager, Control. (Start mode) (manual), . . 2. 2? 1 . . . , ui 1 ctrl 1, ui ( ctrl) . «-num 2». , . :

Propiedades del administrador de control para la simulación de válvulas
Control

Manager Start ( ). , 2.

El script de simulación se lanzó con éxito

.

Pulsando el botón Abrir se visualiza la apertura
Open
El botón Cerrar hace que se cierre
Close

, Control Manager (, main) . main() callback , , dpConnect ( ). , , control- . - .

El propio administrador de control crea su propio proceso independiente al inicio. Su función principal se ejecuta en un hilo (hilo) separado. La función de devolución de llamada (en nuestro caso OnOpen_CB) también se lanza en un hilo separado. Después de la ejecución, la función principal deja de funcionar, pero la devolución de llamada continúa en la memoria de la PC (en su propio hilo) y se llama cuando cambia la variable "firmada".




All Articles