Arduino Com ScadaBR

download Arduino Com ScadaBR

of 3

Transcript of Arduino Com ScadaBR

  • 8/11/2019 Arduino Com ScadaBR

    1/3

    Arduino com ScadaBR

    Contedo

    1Pr requisitos

    2 Preparao Bsica

    3 Preparando o Arduino para comunicao Modbus

    4 Configurando no ScadaBR

    Pr requisitos

    - Software do Arduino 1.0 instalado no PC

    - Software ScadaBR mais recente instalado no PC

    - Conhecimentos bsicos do Arduino (portas, pinos, etc)- Conhecimento sobre carregar/baixar programas para o Arduino- Conhecimento sobre como utilizar bibliotecas e "arquivos .h" para um projeto mais organizado- Conhecimento bsico sobre o protocolo Modbus

    - Conhecimento bsico sobre o ScadaBR - usurios iniciantes devero estudar emhttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/iniciando-scadabr

    Preparao Bsica

    Foi desenvolvido um pequeno programa para posicionar o servomotor. Testado e tudo OK -arduino, serial, servomotor operando etc.Este passo para ter certeza que no h nenhum problema, antes de partir para acomunicao propriamente dita. Recomendamos que vc tambm execute um teste simplesantes de comear.

    Preparando o Arduino para comunicao Modbus

    O Programa utilizado est em anexo nesta pgina, veja link para download mais abaixo.

    Foi usado o software Arduino Modbus RTU - veja emhttp://sites.google.com/site/jpmzometa/arduino-mbrt/arduino-modbus-slaveMuito bom o trabalho desses caras, inclusive com contribuies de pessoas que j estavamusando antes com o Mango M2M, vale a pena dar uma conferida.

    Neste exemplo escolhemos baixar o arquivo .pde que mais fcil, mas se vc quiser maiororganizao, use o tar.gz e estude como fazer import das bibliotecas corretamente.

    Aps o upgrade do Arduino 1.0, existe uma correo a fazer. O comando:Serial.print(query[i], BYTE);

    foi ento trocado por:Serial.write(byte(query[i]));

    Preste muita ateno nestes trechos de cdigo a seguir, pois aqui vc define o endereo do

    https://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Pr-requisitoshttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Pr-requisitoshttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Pr-requisitoshttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Prepara-o-B-sicahttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Prepara-o-B-sicahttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Prepara-o-B-sicahttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Preparando-o-Arduino-para-comunica-o-Modbushttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Preparando-o-Arduino-para-comunica-o-Modbushttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Preparando-o-Arduino-para-comunica-o-Modbushttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Configurando-no-ScadaBRhttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Configurando-no-ScadaBRhttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Configurando-no-ScadaBRhttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Configurando-no-ScadaBRhttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Preparando-o-Arduino-para-comunica-o-Modbushttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Prepara-o-B-sicahttps://sites.google.com/a/certi.org.br/certi_scadabr/home/minicursos/arduino#TOC-Pr-requisitos
  • 8/11/2019 Arduino Com ScadaBR

    2/3

    slave, a quantidade de registradores, e as definies de porta serial.

    /* Modbus RTU common parameters, the Master MUST use the sameparameters */enum {MB_SLAVE = 1, /* modbus slave id */

    };/* slave registers example */enum {MB_REG0,MB_REG1,MB_REG2,MB_REG3,MB_REGS /* total number of registers on slave */};

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

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

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

    /* your code goes here */}

    Aqui no loop exatamente onde precisa ser adicionado o seu programa principal.

    A cada loop, ser verificado pelo comando update_mb_slavese houve um pedido de um

    Master Modbus (no nosso caso o Master ser o ScadaBR).

    Se o Arduino receber um pedido de "write", ele atualizar o valor da varivel regs (que um

    array com os registradores) ficando o valor disponvel para o restante do programa.Se o Arduino receber um pedido de "read", ento ele responder com o contedo atual do item

    especfico no array regs.

    Por isso se vc quer "disponibilizar" o valor de um sensor, varivel interna etc. para o ScadaBR,

    lembre-se se salvar a mesma no registrador correspondente (ou seja, regs[0], regs[1]etc.)

    ao final do loop.

    Neste exemplo convencionamos que o valor escrito no registrador zero, ser a posio doservomotor, e foi programada a funo loop() correspondente.

    Agora basta fazer "Upload" do programa para o equipamento, usando o software do Arduino, eaps a transferncia automaticamente j estar disponvel como um Slave Modbus RTU, namesma porta serial do Arduino.

    Configurando no ScadaBR

  • 8/11/2019 Arduino Com ScadaBR

    3/3

    Agora que o Arduino j est conversando como um Slave, basta cadastrar o datasource e odatapoint Modbus para ele(para mais detalhes sobre configurao de modbus, veja no manual do ScadaBR, ou procurar"scadabr modbus" no youtube).