Alguém conhece o scadabr e sabe como usa-lo, caso conheça por favor entre em contato pois preciso de algumas informações.

Uma delas é o protocolo modbus pois queria saber como comunicar um sensor,atuador,etc como o supervisor por meio de um microcontrolador ou coisa paracida, me parece que para poder acionar ou receber informações o supervisorio precisa de um clp (que é caro) ou por um microcontrolador?

se alguém tiver informações sobre como usar e implementar ou pelo menos mostrar o caminho das pedras já agradeço.

adriano

Exibições: 97581

Responder esta

Respostas a este tópico

lá no datasource muda a faixa de registro pra holding....

pois o status está coil, se não colocar holding o scadabr nao vai ler nunca...

essa sketch do jpmzometa foi badeado nas funções 3,6,16 e são todas holding, e praticamente funciona pra tudo.

Não funcionou tambem... testei diversas outras soluções e também não funcionou...

Mudei de estratégia...comecei do começo...

estou conectando via USB e controlar apenas o led do pino 13...

* meu hardware é apenas o arduino uno conectado via USB no pc

* criei um data source modbus serial conforme segue:

* segue parte do meu sketch segue abaixo ele liga e desliga o led 13 a cada 5 segundos... quero monitorar este led no scadaBr...

////////////////////////////////////////////////////////////////////////////////////

/* Modbus RTU common parameters, the Master MUST use the same parameters */
enum {
        MB_SLAVE = 1,    /* modbus slave id */
};
/* slave registers example */
enum {        
        MB_PINO_13,    /* Controle do Led no pino 13 (desliga=0 liga=1) */
        MB_REGS         /* total number of registers on slave */
};

int regs[MB_REGS];    /* this is the slave's modbus data map */
int ledPin13 = 13;

void setup()
{
        /* Modbus setup example, the master must use the same COM parameters */
        /* 115200 bps, 8N1, two-device network */
        configure_mb_slave(9600, 'n', 0);
}


void loop()
{
        /* This is all for the Modbus slave */
    update_mb_slave(MB_SLAVE, regs, MB_REGS);

    /* your code goes here */
        switch(regs[MB_PINO_13]) {
          case 1:
                digitalWrite(ledPin13, HIGH);
                break;        
          default: /* apagado */
                digitalWrite(ledPin13, LOW);
        }
        if ( regs[MB_PINO_13]  == 0){
           regs[MB_PINO_13]  = 1;
           delay(5000);
        } else {
           regs[MB_PINO_13]  = 0;
           delay(5000);
        }
        
}

////////////////////////////////////////////////////////////////////////////////////

porém no scadaBr ocorre o seguinte erro:

Informação21:14:22: 'TESTE13': MB_PINO_13: com.serotonin.messaging.TimeoutException: request=com.serotonin.modbus4j.serial.rtu.RtuMessageRequest@c1b9b03
Informação21:13:04: 'TESTE13': com.serotonin.modbus4j.exception.ModbusTransportException: com.serotonin.messaging.TimeoutException: request=com.serotonin.modbus4j.serial.rtu.RtuMessageRequest@77feb2ea

já tentei diversas soluções e não consegui de nenhuma maneira configurar uma comunicação modbus serial...

Se alguem tiver alguma dica e puder me ajudar fico muito agradecido...

Abraço a todos

Joca

O bom é dominar o basico e depois evoluir assim fica mais facil, lá no datapoint ainda se encontra coil e vc tem que mudar pra holding

lá simultaneidade coloque escravo, se tudo der certo isto deve funcionar

pelo que vi só estes dois por enquanto....tb lembr-se de trocar no seu sketch o que configura para RS485 que normalmente fica em zero para comunicação pelo USB, mas de repente ta em 2(que é comunicação pelo RS485) e assim pode nao comunicar

o valor de Txpin tem que ser igual a zero para comunicação pelo USB como na figura acima

vai com paciencia que vai, no nosso caso passamos sete meses pra ter essa rede funcionando de  repene vc leva bem menos tempo rsrsrsrs

Cada um levou o tempo que precisou, alguns mais outros bem menos, não se preocupe...

O mais importante é o aprendizado, pois é melhor errar e ir aprendendo com os erros do que acertar de primeira mas sem realmente saber como a coisa toda funciona.

Na verdade, se deixar Txpin em dois também funciona normal com RS232 ou USB.

Onde se  precisa tomar atenção é quando for usar o RS485, sempre carregando Txpin com o valor do número do pino digital que será ligado ao Enable do conversor TTL/RS485, que nos exemplos do post normalmente foi o pino 2.

 

Bom dia amigos!!!

Consegui fazer funcionar via USB... havia um erro na lib modbus que estava usando... foi só corrigir que tudo funcionou perfeitamente...  Agora vou tentar via RS485..

Queria agradecer a todos pelo auxílio e atenção dispensada...

Joca

O prazer é todo nosso de ter mais um feliz usuário scadabr, agora te falo que a experiência com o RS485 ainda vai te levar mais longe (pelo menos 1200 metros a frente rsrsrs), e  podendo colocar muitos mais escravos (até 32 nós, mas ainda não testamos, estamos as vias deste teste), a rede RS485 é uma rede estavel e confiavel, além de barata, aonde vc pode fazer diversos projetos de pequenos a grande porte. Ai sua imaginação é o teu guia.

Logo teremos grandes novidades, pois agora entraremos em uma nova fase e avaçaremos mais mais em nossas integrações.

Pessoal, se ao invés de conectar o scadabr em uma rede rs485, mas sim, em um módulo zigbee via rs232, e a rede fosse só arduinos com zigbee, a configuração do scadabr e a programão dos arduinos seriam as mesmas?

Nesse caso eu ia usar apenas o módulo zigbee para comunicação e não as I/O dos mesmos.

Obrigado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço