Beruflich Dokumente
Kultur Dokumente
Ejemplo escenarios
Esta sección proporciona ejemplos de secuencias de comandos que realizan una amplia gama
de tareas prácticas.
notas
Si está viendo esta línea, puede copiar código de ejemplo y pegarlo en sus propios
scripts.
La pantalla, Script_examples.htm, contiene scripts de ejemplo. Se encuentra en
<carpeta de instalación> \ Honeywell \ Experion PKS \ Client \ HMIWeb Display
Builder \ ejemplos, donde <carpeta de instalación> es la ubicación donde está
instalado Experion.
Solución
Agrega una alfanumérica (o indicador) a la pantalla y lo configura de la siguiente manera:
Sobre el Datos pestaña, especifique la ID de punto y conjunto de parámetros a
AlarmValue.
En la ficha Detalles, establezca Mostrar como a Estado descriptor.
Sobre el comportamientos pestaña, seleccione placa frontal.
Se escribe una secuencia de comandos que simula un clic (en funcionamiento normal,
haga clic en el alfanumérica sería llamar a la placa frontal) cuando se produce la
condición de alarma. Cuando se le concede el guión a onUpdate caso del alfanumérica.
Guiones
Este script simula un evento OnClick cuando se produce el evento de alarma especificado.
OnUpdate alpha002 sub
Si alpha002.value "PV HiHigh" Entonces
alpha002.click
End If
End Sub
Guión
¿Quieres información sobre herramientas de un objeto para reflejar el estado de una bomba.
Solución
Se escribe un guión que cambia la propiedad título del objeto cada vez que el estado de la
bomba está abierta.
Guiones
onchange alpha00l sub
Si alpha00l.value "abierto" Entonces
shape00l.title "bomba está abierta"
Más
shape00l.title "bomba está
cerrada" End If
end sub
observaciones
Puede crear una información sobre herramientas de varias líneas mediante la
inserción de Chr (TO) entre cada línea, por ejemplo:
shape00l.title "El estado de esta bomba es:" & Chr (l0) y "CERRADO"
Solución
Añadir la tendencia a la pantalla y ocultar la leyenda. Añadir un botón a la pantalla y
adjuntar una secuencia de comandos para evento onclick del botón.
Guiones
Sub pushbutton00l onclick
trend00l.Legend.PointID (l) "sinusoidal"
trend00l.Legend.Parameter (l) "pv"
end sub
Solución
Se coloca la tendencia en una pantalla y configurar la tendencia por lo que está ligado a
las propiedades personalizadas del sistema.
Usted escribe guiones para los botones que especifican qué parámetros de puntos se
asignan a las propiedades personalizadas (y, por tanto, a la carta).
Guiones
El guión de cada botón especifica los puntos apropiados. Esta secuencia de comandos
especifica los puntos como 'POINTANA1' y 'POINTANA2'.
Sub pushbutton00l onclick
'Prevenir la forma que se
actualiza', ya que cada propiedad
personalizada se cambia
shape00l.autoReloadContent falsa
'establecer las propiedades
personalizadas
displayDataRepository.PutValue "Pointl", "POINTANAl"
displayDataRepository.PutValue "Paraml", "PV"
displayDataRepository.PutValue "Point2", "POINTANA2"
displayDataRepository.PutValue "Param2", "PV"
'Aplicar los cambios a la forma
shape00l.ReloadContent
End Sub
observaciones
El gráfico se pone a cero cada vez que la pantalla que se active o se actualiza. (Si
no se especifica valores predeterminados de las propiedades personalizadas, el
gráfico quedará vacío hasta que el operador hace clic en un botón).
Escenario Número
Es necesario comprobar si el valor de un parámetro de punto es NaN.
Solución
Escribir un guión utilizando los métodos de ayuda previstas.
Guiones
Para un elemento de visualización tal como un alfanumérico:
Si alpha00l.IsElementNaN cierto
entonces 'Código que se ejecuta si
NaN
.
.
Más
'Código que se ejecuta lo contrario
.
.
Terminara si
observaciones
Es posible hacer una comparación de cadenas directamente en la propiedad Value
(o propiedad DataValue de datos de scripts), pero se prefieren los métodos de
ayuda anteriores, ya que seguirán dando resultados correctos incluso si la
representación de cadena de NaN cambios.
Solución
Se utiliza un botón para controlar la visualización de la información. El script comprueba
primero el nivel de seguridad actual mediante la lectura del valor de
window.external.SecurityLevel.
Si el nivel actual no es gerente, se solicita al usuario que la contraseña de nivel de
administrador. Esto se realiza mediante el comando
window.external.executeoperatorcommand ( "PSW").
Guiones
Esta secuencia de comandos se agrega al evento onclick del botón.
cmdDetails Sub onclick
'0 LVL l
'L LVL 2
'2 Operador
'3 Supervisor
'4 Engineer
'5 Representante
Nivel Dim
'Variable de nivel se encuentren en el
nivel carga de la página
window.external.SecurityLevel'
Comprobación de la existencia del modo
de administrador.
Si el nivel 5 A continuación,
'Información del gestor de ventanas en la zona del mensaje.
window.external.MessageZoneText "Administrador de sesión On"
'Información del gestor de sólo
visualización. alpha5.style.visibility
"visible"
.
.
Más
window.external.MessageZoneText "insuficiente acreditación de
seguridad. Por favor, inicie sesión como un administrador."
window.external.executeoperatorcommand (
"PSW") End if
End Sub
observaciones
Alternativa formas de mostrar la información del gestor de sólo incluyen un
cuadro de mensaje y una ventana emergente.
Este escenario supone la seguridad basada en la estación. Si usted tiene la seguridad
basada en operador y el usuario no tiene acceso a nivel de administrador, un mensaje
apropiado podría ser: 'Usted no tiene suficiente autorización de seguridad'.
de aplicación
¿Quieres crear una herramienta de apoyo a la formación, escrito en Visual Basic, que
presenta los operadores en formación con una serie de diagramas de flujo interactivos que
deben trabajar a través. Para mejorar la facilidad de uso, la herramienta de soporte instruye
a la estación para visualizar la pantalla adecuada en las diversas etapas en un
procedimiento.
Solución
En primer lugar, inicio un nuevo proyecto de Visual Basic como un EXE estándar. A
continuación, crear dos botones de comando llamados, cmdStart y cmdPage8O. El botón
cmdStart comienza la estación y el botón cmdPage8O accede a la pantalla sea necesario
(página 80).
Guiones
El código para la parte general del proyecto.
objStationApp pública Como
opción explícita de objetos
forma dinámica
¿Quieres crear una forma dinámica para representar una bomba. También desea que
el OFA rectángulo de color para cambiar cuando el valor actual del punto de estado
asociada cambia de estado.
Solución
Cuando se crea la forma, además de definir una propiedad personalizada, también:
Agregar la propiedad personalizada a la pestaña de secuencias de comandos de datos
del rectángulo.
Escribir una secuencia de comandos para el rectángulo que controla su color en
función del valor de la propiedad personalizada.
Cada vez que se inserta la forma en un display, se asigna la propiedad personalizada
a la unapunto en el ppropriate efecto, la propiedad personalizada representa el punto. En
consecuencia, cuando el PV del punto cambia, también lo hace el color del rectángulo.
La creación de un
escenario de control de
jogging
¿Quieres un control 'footing' para una válvula motorizada. (Un control que activa da el
control exacto del usuario sobre la posición de la válvula.)
Solución
Se agrega un botón y escribir guiones para su onMouseDown y onMouseUp eventos para
que el motor funciona mientras el botón izquierdo del ratón se mantiene presionado.
Agrega el parámetro SP del punto de control de la válvula (llamado 'ValveControl') a la
pestaña de secuencias de comandos de datos del botón, de manera que se puede escribir en el
parámetro.
Guiones
Este script está asociado a eventos onMouseDown del botón.
pushbutton00l.DataValue ( "ValveControl.SP")
l pushbutton00l.fillColor vbGreen
pushbutton00l.DataValue ( "ValveControl.SP")
0 pushbutton00l.fillColor vbRed
Guión
Usted tiene un objeto que representa una puerta de seguridad y desea que 'slide' abierto /
cerrado cuando se emite un comando de apertura / cierre. (El cuadro combinado se utiliza
para emitir el comando.)
La puerta en su posición abierta
Solución
Se crea la animación moviendo el objeto de puerta en pequeños pasos a intervalos de 100
ms. (El tamaño del paso y el intervalo de determinar la 'suavidad' de la animación.)
Se inicia un temporizador en el evento onchange del cuadro combinado. Cada vez
que un temporizador activa el evento, la función gateTimer mueve la puerta en la
dirección apropiada hasta que es abierta o cerrada.
Guiones
La siguiente secuencia de comandos se une al evento onchange del cuadro combinado.
Esto crea un temporizador de 100 ms, que controla la velocidad de la animación.
Basado en el estado actual del cuadro combinado, ya sea en o una O se escribe en la variable
blnGateState.
Sub onchange cboGateControl
intTimerID window.setInterval ( "gateTimer ()", L00)
Si cboGateControl.value "On" entonces
blnGateState l
Más
blnGateState 0
End If
imgGate.style.pixelLeft imgGate.style.pixelLeft - 50
Else
window.clearInterval (intTimerId)
imgGate.style.pixelLeft 26
End If
End If
End Function
secuencia de forma
Usted tiene un ventilador que está controlado por los botones Start y Stop en una pantalla, y
desea animar el ventilador.
La siguiente figura muestra el ventilador y botones en la pantalla.
Solución
Se utiliza la secuencia siguiente forma con algunos scripts para crear una animación.
La primera (izquierda) forma representa el estado 'off', y los otros cuatro formas se utilizan
en la animación para el estado 'on'.
Estas formas son imágenes de mapa de bits que se crearon en un programa de dibujo y
luego pegar en el archivo de formas. La creación de las formas de esta manera hace que
sea más fácil para producir un efecto más realista.
Propina:
animaciones no se ejecutan en HMIWeb Display constructor. Se pueden ver sólo
en la estación.
Guiones
La siguiente secuencia de comandos se une al evento onclick del botón Inicio. Esto
crea un temporizador de 200 ms, que controla la velocidad de la animación.
Sub cmdStartBtn onclick ()
intTimerID window.setInterval ( "mifuncion ()", 200)
End Sub
observaciones
Al insertar la forma, usted no tiene que especificar el número de formas, porque esto
es controlado por el script.
En este tema se muestra cómo crear un botón que, al hacer clic, lleva a cabo una 'una vez-
off' scan de todos los parámetros que tienen un período de exploración que no sea cero, en
un controlador especificado. Lo más habitual es usar esto para mirar a los valores de
configuración en un controlador. Otro uso podría ser cuando un operador, preocupado por la
frescura de los datos en los controladores basados en excepciones, quiere una actualización
en vivo desde el controlador en lugar de confiar en los paquetes basados en excepciones.
Prerrequisitos
Se ha creado una visualización personalizada y ha añadido objetos
alfanuméricos con los parámetros que desea analizar en el controlador.
La pestaña Propiedades de Pantalla HMIWeb Builder es visible (CTRL + R).
En este tema se muestra cómo crear una casilla de verificación para colocar en una pantalla
que, cuando se selecciona, realiza una exploración periódica o exploración acelerada
(dependiendo de la configuración), por un período de dos minutos, de todos los parámetros
que tienen un no-cero exploración período, en un controlador especificado. Una vez que el
período de dos minutos expira, la velocidad de barrido devuelve el período de exploración
configurado (CSP), si es que existe, y la casilla de verificación se borra automáticamente.
Ver Escenario # 5 en el tema titulado "escenarios de exploración dinámicas" en la
configuración de la estación Cuide para más información.
Prerrequisitos
Se ha creado una visualización personalizada y ha añadido objetos
alfanuméricos con los parámetros que desea analizar en el controlador.
La pestaña Propiedades de Pantalla HMIWeb Builder es visible (CTRL + R).
Safeview particular,
Atención:
Este ejemplo sólo es aplicable si se utiliza la estación junto con Safeview
Si desea añadir varios botones de la pantalla, cada uno de los cuales obliga a una pantalla
tendencia particular a aparecer en la ventana 'TrendWindow'. (Esta ventana se define en el
archivo de configuración del espacio de trabajo.)
Solución
Se utiliza la función de VBScript GetObject para crear una referencia a Safeview. (La
función GetObject requiere identificador de programa único de Safeview, que es
Honeywell.Workspace.Client).
Después de haber creado una referencia a Safeview, a continuación, puede controlar a
través de su modelo de objetos. (Para más detalles, véase Cuide del usuario Safeview).
En este ejemplo, IsManagerActive utiliza para comprobar si Safeview se está ejecutando, y
luego usar el método SetOutputFocus para establecer la siguiente ventana para recibir una
pantalla. Finalmente, se llama a la pantalla.
Guiones
Cuando se le concede a este script evento onclick de cada botón. (Cada script especificará
una pantalla diferente.)
Sub Pushbutton00l onclick
tenue sview
conjunto sview GetObject ( "", "Honeywell.Workspace.Client")
Si sview.IsManagerActive cierto
bResult entonces tenue
bResult sview.SetOutputFocus ( "TrendWindow")
Terminara si
window.external.CurrentPage "trend00l.htm"
End Sub
observaciones
Para obtener detalles sobre la función GetObject, consulte la ayuda de VBScript.
Guión
¿Quieres acceder a la pantalla anterior cuando el usuario hace clic en algún lugar de
la pantalla.
Solución
Se utiliza el evento onMouseDown para detectar qué botón se hizo clic. Cuando se activa
el evento, el valor de window.external.button se comprueba (un valor de 2 indica que se
hizo clic en el botón derecho).
Si este es el caso, se solicita LRN 21 (el programa de servidor de pantalla) con 2t parámetro
(el comando atrás página ').
Guiones
El script está asociado al evento onMouseDown para la página.
Si window.event.button 2 Entonces
window.external.requestserverlrn 2L, 2L,
0
Terminara si
observaciones
No se puede utilizar el evento onclick.
aplicación
¿Quieres crear una aplicación visible, aparte que responde a los eventos disparados por la
estación. Esta aplicación se invoca desde una pantalla.
Solución
Escribir un EXE de ActiveX de Visual Basic que se invoca dentro de la estación a través de
guiones de la página.
Guiones
El código de la sección general del módulo de clase para los pasos 3, 4 y 6 en la preparación
del control ActiveX se muestra a continuación para un archivo EXE ActiveX que contiene
una forma llamada UIForm.
Option Explicit
Dim WithEvents m objStation Como Station.Application2
'************************************************* ***
'Este método debe existir en este módulo de usar la estación Public Sub
SetStationObject (ByRef objStation Como Station.Application2)
Establecer m objStation objStation
Establecer UIForm.objStation objStation
End Sub
'************************************************* ***
********************************************** ******
' Este método debe existir en este módulo para cargar el
formulario a través de la escritura pública Sub Load ()
UIForm.Visible True
End Sub
'************************************************* ***
Una vez que su EXE es compilado se puede escribir el guión página que crea y lo carga.
Establecer MyControl CreateObject (
"MyControl.clsMyControl") MyControl.SetStationObject
(window.external) MyControl.Load ()
Guión
¿Quieres un operador para poder enviar una pantalla en particular a una estación específica
dentro de la consola haciendo clic en un alfanumérica en la pantalla.
Solución
Se agrega una secuencia de comandos para el alfanumérica para el evento onclick para
solicitar LRN 21.
Guiones
Sub alpha00l onclick
2l window.external.RequestTask, L5, l, "CSTN02-l", 0, 0
window.external.RequestTask 2l, l, "BoilerPageCallup.htm", 0, 0, 0
End Sub
observaciones
Se podría cambiar la secuencia de comandos para enviar la indicación actual de la
siguiente manera:
Guión
Tiene una pantalla que es difícil de usar, ya que muestra demasiada información. Desea
simplificar la pantalla ocultando información no crítica a menos que específicamente
solicitado por el usuario.
Solución
Se utiliza un botón para cambiar la visibilidad de algunos objetos dentro de un grupo. (Por
ejemplo, caracteres alfanuméricos que contienen información que no sea crítico aparecen
cuando se hace clic en el botón una vez y desaparecen cuando se hace clic en un segundo
tiempo).
Guiones
La secuencia de comandos para el evento onclick del botón. Controla la visibilidad de los
objetos secundarios relevantes. (Un objeto, alfa5, se utiliza para comprobar si los objetos
son visibles.)
Sub cmdPushbutton onclick
Si imgGroupl.all ( "alfa5"). Style.visibility "visible" Entonces
imgGroupl.all ( "alfa5"). Style.visibility "oculta" imgGroupl.all (
"alfa6"). Style.visibility "oculta" imgGroupl.all ( "alfa7").
style.visibility "oculta"
.
.
Más
imgGroupl.all ( "alpha5"). style.visibility
"visible" imgGroupl.all ( "alfa6").
style.visibility "visible" imgGroupl.all (
"alfa7"). style.visibility "visible"
.
.
End If
End Sub
Guión
Quieres una aplicación para comenzar cuando el usuario hace clic en un botón.
Solución
En este ejemplo se inicia Microsoft Word utilizando el comando CreateObject. (El
comando CreateObject requiere nombre y el tipo del objeto. En el caso de Microsoft
Word, se trata de la Palabra y de la aplicación.)
Después de haber comenzado la Palabra, su modelo de objetos se puede acceder a
través de la variable, msword. En este ejemplo, la propiedad visible se establece en
true para mostrar la aplicación.
Guiones
Este script se une al evento onclick del botón.
Sub msword cmdNotepad
onclick Dim
Establecer msword CreateObject (
"Word.Application") msword.visible verdadera
End Sub
un escenario de bomba
Desea utilizar un botón para iniciar una bomba. También desea que el usuario confirme la
acción antes de arrancar la bomba.
Solución
Se agrega el parámetro que controla la bomba a la pestaña de secuencias de comandos de
datos del botón de modo que la secuencia de comandos se puede acceder a él en este
ejemplo, se agrega el OP de un punto de estado de llamada 'poista218'.
Guiones
Cuando se le concede a este script evento onclick del botón. (Este script configurar un
temporizador. Tal como se especifica en la descripción del método GetResponse3, sólo se
debe utilizar el método dentro de una subrutina temporizador.)
Sub pushbutton00l onclick
m iTimerID window.setInterval ( "timerHandler ()", l000)
End Sub
Guión
¿Quieres color de un objeto para indicar el valor actual del parámetro PV de un punto de
Honeywell 2017 629
Ejemplo
estado.
Solución
Agrega el parámetro PV del punto de pestaña Script datos del objeto de manera que la
secuencia de comandos se puede acceder al parámetro.
Guiones
Cuando se le concede la siguiente secuencia de comandos para OnDataChange caso del
objeto. En este ejemplo, el punto se llama "poista85", y tiene dos valores: O y t.
onchange rect00l sub
Si rect00l.DataValue ( "poista85.PV") 0
rect00l.fillColor vbRed
Más
rect00l.fillColor vbGreen
End if
End sub
escenario 1
Desea que el puntero del ratón para cambiar a un símbolo de la mano sobre todos los
objetos de botón. La página que contiene un gran número de objetos, muchos de los
cuales son secuencias de comandos de manera casi idéntica y que desea evitar tener que
escribir el mismo guión para cada objeto pulsador.
Solución
En lugar de secuencias de comandos del onmouseover y onmouseout eventos para todos los
pulsadores en la página de la escritura de estos eventos en el objeto de página. En el
controlador de eventos, comprobar el ID del objeto de disparar el evento y, si se indica que
el objeto es un botón, cambiar el puntero del ratón en consecuencia.
Guiones
La secuencia de comandos para el evento onmouseover de la página.
onmouseover el subdirectorio
Si (Izquierda (window.event.srcElement.id, l0) "botón") Entonces
window.event.srcElement.style.cursor "mano"
End If
End Sub
onmouseout el subdirectorio
Si (Izquierda (window.event.srcElement.id, l0) "botón") Entonces
window.event.srcElement.style.cursor "auto"
End If
End Sub
escenario 2
En la situación donde co-existen varios elementos de visualización en la misma página de
visualización, cada uno con su propio elemento de scripting, tal como con animación, que
es más eficiente para crear y utilizar un controlador de eventos común, utilizando una
variable booleana nivel página a la bandera cuando es el momento de iniciar el scripting
animación página.
Solución
El uso de la subrutina AlmTypeCheck en las placas frontales del sistema analógico es un
ejemplo de cómo se implementa el concepto de secuencias de comandos comunes nivel
de página.
Guiones
En este ejemplo, una variable global bPageComplete se define y se inicializa como falso.
Cada vez que se ejecuta AlmTypeCheck, primero se comprueba bPageComplete y sólo
sigue funcionando si se ha establecido en true. Por ejemplo:
<Script language VBScript Defer>
tenue bPageComplete
bPageComplete falsa
sub AlmTypeCheck ()
si bPageComplete false
entonces sub salida
terminara si
'Código para
comprobar' alarma de
tipo aquí.
sub final
</ Script>
Llamar AlmTypeCheck ()
</ Script>
(oTarget) en
curriculum vitae
error siguiente
Honeywell 2017 633
Ejemplo
Más
oTarget.value oTarget.value + l
End If
sub final
'--------------------------------------
El siguiente script está asociado al objeto StatusData y se llevará a cabo en una acción
onUpdate:
Sub onUpdate StatusData
Si (me.value l) A continuación,
si (no IsNull (group00l.parentElement.getAttribute ( "iTimerID")))
entonces window.clearInterval (group00l.parentElement.iTimerID)
group00l.parentElement.setAttribute "iTimerID", null
terminara si
StatusTarget.title AlarmData.parentnode.parentnode.GetCustomProperty (
"valor", "EquipmentLabel")
Y "Estado del ventilador es" & Data.DataValue ( "Status.ValueParam")
End Sub
Si me.value "l"
Entonces
Housing.title AlarmData.parentnode.parentnode.GetCustomProperty (
"valor", "EquipmentLabel")
Y "ha sido mandado" y Data.DataValue ( "Start.ValueParam") &
"y está en alarma"
Más
Housing.title AlarmData.parentnode.parentnode.GetCustomProperty (
"valor", "EquipmentLabel")
Y "ha sido mandado" y Data.DataValue ( "Start.ValueParam") y
"y su estatus es" & Data.DataValue ( "Status.ValueParam")
End If
End Sub