Objetos de chamadas a partir de uma tela para outra

Buenas tardes amigos de ELIPSE
Estoy trabajando en 2 CUADROS DISTINTOS como se muestra a continuación:

*El cuadro con nombre “Portada” contiene a PANTALLA 1.
*El cuadro con nombre “Cuadro2” contiene 3 pantallas, entre ellas a PANTALLA 2.
*Se tienen Textos Superpuestos en PANTALLA 2,.
**Lo que se necesita es que al hacer Clic en cada botón de PANTALLA 1,
PANTALLA 2 muestre la presentación indicada a continuación:

*** Al momento de editar el Script del botón “SE Mina SHG” NO tengo opción a elegir el Texto ubicado en la PANTALLA 2

¿Haría falta algún Script adicional para que la tarea se ejecute con éxito?
Atento a sus comentarios.
Saludos.

1 Like

@Roger, bom dia.

A solução para isto é atribuir um argumento (Arg) ao clicar um botão para o evento OnPreShow da tela. Neste exemplo pode usar um único Display que receba toda a informação necessária. Veja:

No evento OnPreShow da Pantalla2 pode-se selecionar umas das duas opções a seguir:

i - Opção 1: No script dos botões, atribuir valor à propriedade “Parâmetro” (exemplo: 0 para a Mina Shougang, 1 para San Nicolás e 2 para Marcona) e colocar o script no evento OnPreShow da tela conforme abaixo. Um único Display seria suficiente para o trabalho:

Sub Pantalla2_OnPreShow(Arg)
’ Seleciona o nome do texto do topo da tela
Select Case Arg
Case 0
Item(“Texto1”).Value = “Scada Eléctrico/ SE Mina Shougang”
Case 1
Item(“Texto1”).Value = “Scada Eléctrico/ SE San Nicolás”
Case 2
Item(“Texto1”).Value = “Scada Eléctrico/ SE Marcona”
End Select

End Sub

ii - Opção 2: No script dos botões, atribuir valor à propriedade “Parâmetro” (exemplo: 0 para a Mina Shougang, 1 para San Nicolás e 2 para Marcona), criar um TagInterno no Viewer e colocar o script no evento OnPreShow da tela conforme abaixo. Fazer associação por Tabela do Display com o TagInterno do Viewer, conforme imagem.

Sub TelaMenu2_OnPreShow(Arg)
’ Armazena o valor do Arg
Application.Item(“AuxTela”).Value = Arg

End Sub

Obs.: Não irá precisar de mais de um Display para os testes.

1 Like

Buenas tardes @Fernando;
1.- Acabo de leer la solución pero veo que no es necesario agregar algun Script en los botones de Pantalla1, ¿es esto conforme?

Algun Scipt para ejecutar nos Casos 0,1,2 en Pantalla2

2.- Cambiando de tema deseo agregar un BOTON en mi pantalla de SCADA que me permita abrir la siguiente pantalla:


¿cómo ligar esta pantalla en mi nuevo botón?

Atento a tus comentarios, espero me puedas apoyar.
Gracias

1 Like

Estimado @Fernando,
a qué te refieres cuando dices: atribuir valor à propriedade "Parâmetro"
te refieres a estas propiedades?:

Nota: No encuentro la propiedad "Parámetro"

1 Like

Item 1: Refere-se ao Parâmetro (argumento ou Arg) passado neste local marcado

Item 2: Não tem como abrir o WatchWindow através de um botão em Runtime. Para testes, deve ser utilizado apenas no Studio com a aplicação rodando.

1 Like

Estimado @Fernando buen día,
Gracias por la información brindada.

Respecto al Item 2, ¿existe alguna manera de poder observar las señales “tags” en RUNTIME?, ¿Alguna forma de ver los tags en forma tabular desde la aplicación SCADA?
Atento a tus comentarios
Saludos.

1 Like

@Roger, boa tarde.

Para verificar em Runtime, deve-se associar em algo, por exemplo em displays.

O WatchWindow é utilizado para o desenvolvimento mesmo.

1 Like

Estimado @Fernando gracias por el apoyo.
Tengo otra consulta,
¿Cómo hacer para mostrar el mi aplicativo SCADA en múltiples monitores?
¿Elipse tiene alguna herramienta para lograr esto?
Mi aplicativo SCADA contiene 4 SUBESTACIONES, lo que se quiere es mostrar cada SUBESTACIÓN en un monitor distinto.
Espero me puedas apoyar con el tema.
Saludos atentos.

1 Like

@Roger, bom dia.

Caso esteja abrindo um único Viewer que contém as 4 subestações, então deve-se seguir este KB ou este.

Caso esteja acessando um Viewer de cada subestação (totalizando 4 Viewers abertos no mesmo local), então deve-se colocar um script no OnStartRunning do Viewer que verifique o nome da máquina e, dependendo deste valor, abra o Viewer numa posição pré-determinada.

1 Like

Buen día estimado @Fernando
Tengo una Consulta:
¿Cuál es el Script adecuado para habilitar el Scroll de la pantalla mediante código?

Espero puedas apoyarme.
Saludos atentos.

1 Like

@Roger, boa tarde.

Em ambas as opções consegue habilitar a rolagem da tela. Entretanto, utilizando o método OpenScreen, deve-se levar em consideração a seguinte expressão:

Exemplo:

  • Desabilitada:

Application.Item(“NomeDoQuadroOuDivisor”).OpenScreen(“NomeDaTela?4?0”), Arg

  • Habilitada:

Application.Item(“NomeDoQuadroOuDivisor”).OpenScreen(“NomeDaTela?4?1”), Arg

1 Like

Buenas tardes estimado @Fernando
Tengo esta ecuación en un texto:

Sub Texto48_LC1()
IF Screen.Item(“Texto49”).Value = 0 then
value = 0
ELSE
value =
((CT_SAN_NICOLAS.[Barra-1].Terminal1.MVR014005ME.Value^2 + CT_SAN_NICOLAS.[Barra-1].Terminal1.MWG014005ME.Value^2)^(1/2))/((CT_SAN_NICOLAS.[Barra-1].Terminal1.VLL014001ME.Value)^(1/3))
end if
End Sub

El problema es que el resultado muestra varios decimales. ¿De que forma puedo elegir la cantidad de decimales a mostrar en el texto?

Espero tu pronta respuesta,
Saludos cordiales.

Estimado @Fernando
Ya solucionamos el problema del item anterior, gracias de todas maneras.
Saludos cordiales.

Estimado @Fernando Buen dia;
Tengo una consulta:

Necesito que al abrir mi pantalla, éste muestre en principio la parte inferior, ¿Qué debo hacer?

Alguna modificación en los Scripts?

Espero puedas apoyarme con la pregunta,
atento a tus comentarios.
Saludos

@Roger, boa tarde.

Não entendi a pergunta. A imagem não está completa.

Se puder, insira-a novamente.

Sds

@Fernando
Tengo habilitado un SCROLL en la pantalla pero necesito que al abrir la pantalla muestre la parte final (rojo) como indica la imagen:

¿habrá que hacer algún cambio en el Script?

Atento a sus comentarios.

@Roger,

Obrigado pela resposta.

Não encontrei uma forma de fazer isto, então acredito não ser possível posicionar o scroll no E3, atualmente.

Sds.

buenas tardes estimado @Fernando;
Tengo un consulta;
1.- ¿Es posible implementar el botón de “INICIO DE SESION” en el “VIEWER”?

¿Cuál sería el procedimiento?
Atento a tus comentarios
Saludos.

@Roger, bom dia.

Se o que entendi está correto, a intenção é poder “Ligar/Desligar” o driver em Runtime, correto?

Sendo este o caso, veja um exemplo:

  • Criar um ToggleButton na aplicação e no evento Change colocar o seguinte script:

    Sub ToggleButton1_Change()
    ’ Cria o tag IO.WorkOnline
    Application.GetObject(“Driver1”).Write -1, 0, 0, 4, Value
    End Sub

Caso não seja esta a intenção, por favor, detalhar.

Sds.

@Fernando Gracias por la respuesta, fue un éxio.

Tengo una pregunta mas;
Se requiere instalar el software ELIPSE en PC2 y ejecutar el VIEWER en PC1

¿Cómo seria la configuración para que ésto ocurra?

Atentos tus coemtarios
Saludos.