Alterar IP do CLP [RESOLVIDO]

Bom dia, sei fazer a alteração do IP no Elipse E3 dentro do projeto, o que preciso saber é se há possibilidade de criar um botão que acesse o ip na tela do projeto em execução e possa mudar esse ip. O cliente não vai ter acesso as pastas do ambiente de programação, mas seria uma opção interessante(se possível) para caso ele necessite alterar o ip no projeto.

@patricia, bom dia.

Talvez este este artigo lhe ajude.

Sds.

Boa tarde, não obtive sucesso com o artigo.

@patricia, boa tarde.

Por favor, poderia passar mais detalhes?

Conseguiu criar as tags solicitadas no artigo? Testou com a aplicação exemplo?

Se possível, compartilhar a forma que fez para identificarmos possíveis equívocos.

Sds.

Boa tarde, eu não consegui rodar a aplicação exemplo, deu erro de script em um botão, criei as tags solicitadas, mas também dá o erro de script. Uma curiosidade sobre a aplicação exemplo: tenho o campo para preencher o endereço do IP e tenho dois botões com os valores de IP já pré definidos, para clicar. o valor é substituído pelo que eu digitei?

O erro de script ocorre porque, provavelmente, o driver não foi vinculado corretamente.

O mesmo erro? Qual erro?

Não. Aquele setpoint da aplicação exemplo escreve na Tag1 que uma tag de troca de valores com o CLP.

Para utilização da aplicação exemplo, faz da seguinte forma:

  1. Modifica a localização do driver Modbus na propriedade DriverLocation (pode baixar o Driver aqui):
    image

  2. Muda a configuração de IP do driver na aba Ethernet do IOKit:
    image

  3. Abre o Elipse Modbus Simulator e inicia a comunicação:

  4. Inicia a comunicação no E3Studio para verificar se a comunicação está OK:

Estando OK, pare a comunicação.

  1. Copie e cole um dos botões existentes ao lado do setpoint e modifique o script dele para o IP 127.0.0.1:

     Application.GetObject("Driver1.[IO.WorkOnline]").Value = 0
     Application.GetObject("Driver1.[IO.Ethernet.MainIP]").Value = "127.0.0.1"
     Application.GetObject("Driver1.[IO.Ethernet.MainPort]").Value = 502
     Application.GetObject("Driver1.[IO.WorkOnline]").Value = 1
    
  2. Rode a aplicação e clique no botão “IP - 192.168.8.19”. A comunicação deve se perder, pois o simulador comunica através do IP 127.0.0.1, mas o driver foi modificado. Para retornar a comunicação, clica no botão “IP - 127.0.0.1”.

  3. Caso queira modificar para um IP definido por você em Runtime, pode criar um Setpoint e no script pegar o valor deste objeto de tela e passar para a tag:

    SetFocus()
	Application.GetObject("Driver1.[IO.WorkOnline]").Value = 0
	Application.GetObject("Driver1.[IO.Ethernet.MainIP]").Value = Screen.Item("spIP").Value
	Application.GetObject("Driver1.[IO.Ethernet.MainPort]").Value = 502
	Application.GetObject("Driver1.[IO.WorkOnline]").Value = 1

Obs.: “spIP” foi o nome que configurei para o setpoint (propriedade Name).

Por favor, testar.

Sds.

Bom dia, consegui fazer funcionar, mas ainda preciso de uma função que alterne além do ip do clp o ip do driver no elipse durante a runtime, é possível?

@patricia, bom dia.

O driver não modifica o próprio IP, pois o mesmo é o da máquina da aplicação.

O IP que configuramos na aba Ethernet do Driver é o do equipamento que estamos tentando conectar.

Então, caso queira mudar o IP do driver, precisaria modificar o IP da sua máquina.

Sds.

Bom dia, entendi, obrigado.