Recebendo TAG utilizando ABMicro850.dll

Estou utilizando o driver do Micro850 da Rockwell. Ao inserir uma TAG de comunicação com o meso nome da variável global no meu CLP, o Elipse não consgeue retornar o valor contido nela.

Segue o LOG de conexão:

25/06/2020 11:58:49.980 (0F5C) DRIVER Driver name: Driver Allen-Bradley Micro850 v1.0.7 (IOKitLib v2.0.110)
25/06/2020 11:58:49.980 (0F5C) DRIVER IOKitLib version 2.0.110 of Aug 21 2019 16:41:27
25/06/2020 11:58:49.980 (0F5C) DRIVER drvStartComm(0,0,0,0)
25/06/2020 11:58:49.980 (0F5C) DRIVER Current configuration (49 parameters):
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.BackupIP = ‘’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.BackupIP2 = ‘’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.BackupIP3 = ‘’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.IPFilter = ‘’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.ListenIP = ‘’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.MainIP = ‘10.0.13.18’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.MainPort = 44818
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.PingTimeoutMs = 4000
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.PingTries = 1
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Ethernet.Transport = ‘TCP’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.GiveUpTries = 1
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Log.Enable = 1
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Log.Filename = ‘C:\eeLogs\MICRO850_%DATE%.log’
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.RecoverEnable = 1
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.RecoverPeriodSec = 20
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Serial.Baudrate = 9600
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Serial.DataBits = 8
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Serial.Port = 1
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.TimeoutMs = 1000
25/06/2020 11:58:49.980 (0F5C) DRIVER - IO.Type = ‘Ethernet’
25/06/2020 11:58:49.980 (0F5C) DRIVER - 29 parameters with value = 0 were omitted
25/06/2020 11:58:49.980 (1434) IOKIT INITIALIZING…
25/06/2020 11:58:49.980 (1434) SOCKET Winsock initialized: version=2.2, highVersion=2.2
25/06/2020 11:58:49.980 (1434) IOKIT INITIALIZED!
25/06/2020 11:58:49.980 (1434) IOKIT Request handler enabled
25/06/2020 11:58:49.980 (1434) IOKIT CONNECTING…
25/06/2020 11:58:49.980 (1434) SOCKET connecting socket to ‘10.0.13.18’ on port 44818…
25/06/2020 11:58:49.983 (1434) SOCKET socket connected to ‘10.0.13.18’ on port 44818 (local port 49401)!
25/06/2020 11:58:49.983 (1434) IOKIT CONNECTED!
25/06/2020 11:59:14.503 (0F5C) TAG Tag(0.0.0.0).Validate = SUCCESS (type=10;flags=9)
25/06/2020 11:59:14.503 (0F5C) DRIVER Empty Item Parameter
25/06/2020 11:59:14.503 (0F5C) TAG <== (0.000) Tag(0.0.0.0).ReadValue = ERROR (hr=80004005)
25/06/2020 11:59:15.603 (0F5C) DRIVER Empty Item Parameter
25/06/2020 11:59:15.603 (0F5C) TAG <== (0.000) Tag(0.0.0.0).ReadValue = ERROR (hr=80004005)
25/06/2020 11:59:16.603 (0F5C) DRIVER Empty Item Parameter
25/06/2020 11:59:16.603 (0F5C) TAG <== (0.000) Tag(0.0.0.0).ReadValue = ERROR (hr=80004005)
25/06/2020 11:59:17.603 (0F5C) DRIVER Empty Item Parameter
25/06/2020 11:59:17.603 (0F5C) TAG <== (0.000) Tag(0.0.0.0).ReadValue = ERROR (hr=80004005)
25/06/2020 11:59:18.603 (0F5C) DRIVER Empty Item Parameter
25/06/2020 11:59:18.603 (0F5C) TAG <== (0.000) Tag(0.0.0.0).ReadValue = ERROR (hr=80004005)

Maurício,

O driver Allen-Bradley Micro850 funciona com endereçamento simbólico através do parâmetro Item. De acordo com o log, o parâmetro está vazio.

Obrigado @pgustavo . Consegui.

Esse parâmetro (ParamItem) aceita concatenação de variáveis?

Exemplo: para a Tag1 preciso concatenar o valor de duas variáveis globais (DadosRTC.Year e DadosRTC.Month).

Sei que é possível ter uma TAG concatenada mas não lembro se fiz diretamente através do parâmetro ou de outra forma.

Não. Essa concatenação você deve fazer no objeto desejado. Por exemplo, na propriedade Value de um Display ou de um Tag Interno.

Consegui @pgustavo, porém não estou conseguindo retornar o valor da TAG pela variável Value.

Exemplo: Driver1.CV_IO_X1_DI_01.Value está retornando nulo ou 0;

Estou utilizando o último driver disponível no site. Quando testo pelo driver antigo, ele me retorna o valor corretamente.

Há alguma configuração que preciso setar neste novo driver para que consiga utilizar a variável padrão Value para retornar o valor atual? Poderá ser compatibilidade do driver com minha versão? Não achei nada sobre isso na documentação do novo driver.

Driver que não funciona:
Driver Allen-Bradley Micro850 v1.0.7 (IOKitLib v2.0.110)

Driver que funciona:
Driver Allen Bradley Micro850 v1.0.0 [BETA Sep 8 2015 15:53:37] (IOKitLib v2.0.49)

E3 Studio: v4.7.308

Você está utilizando o E3 com licença ou no modo Demo?

@pgustavo com licença.

A licença do driver Micro850 programada na sua hardkey não é compatível com as últimas versões do driver. Uma atualização foi enviada para o seu e-mail.

Resolvido @pgustavo. Obrigado!

1 Like