Combobox - Selecionar Valor com Base Leitura Driver

Pessoal,

Estou com um problema aqui com o ComboBox e não consegui resolver. Tenho um combo onde devo ler o valor do PLC e setá-lo de acordo com valor lido.

Aí tentei fazer isso no OnPreShow da tela. Porém, as vezes é como se o valor lido pelo drive não viesse.

Vejam o script:

Sub TelaParametrosEquipamentos_OnPreShow(Arg)

Param103 = Application.GetObject(“DriverSiemensMProt.TAGS_ROTATIVO.FR01_PAR_103”).Value

Item(“CBTrocaMotoresArAjuste”).Clear()
Item(“CBTrocaMotoresArAjuste”).AddItem “Habilitada”
Item(“CBTrocaMotoresArAjuste”).AddItem “Desabilitada”

If (Param103 = 256) Then
Item(“CBTrocaMotoresArAjuste”).Value = “Habilitada”
ElseIf (Param103 = 512) Then
Item(“CBTrocaMotoresArAjuste”).Value = “Desabilitada”
End If

End Sub

=========================

Alguma ideia de como eu poderia fazer para “garantir” essa leitura? Depois se eu mudar de tela e voltar, o script funciona. Muito estranho.

Obrigado.

Flavio,

A comunicação está funcionando? Pelos displays, parece que não.

Oi Paulo!

Está sim. Comunicação ativa com o PLC. Vou pegar outro print quando acessar lá novamente.

Alguma ideia do que possa ser?

Flavio,

Eu reproduzi o mesmo comportamento aqui e resolvi utilizando uma associação por tabela na propriedade Value do ComboBox, conforme ilustração abaixo.

Captura%20de%20tela%202021-11-26%20141436

Paulo,

Testei aqui e funcionou corretamente agora. Muito obrigado.

1 Like