Bom dia!
Preciso de ajuda para fazer meu TCC não conheço quase nada de microcontroladores e não estou conseguindo criar um protocolo para enviar um bit para o ScadaBr.
O que preciso é um protocolo em RS-485 onde eu aciono uma tecla de um circuito e ele envia para o scada o valor da tecla.Se apertar a tecla 1 envia o ‘1’ para o scada,será em RS-485 porque terei varias placas.
Desde já agradeço a atenção.
Boa tarde Alexsandro,
Cara, você terá que partir pelos seguintes pontos:
-
Você sabe implementar o codigo em RS-485 para os PIC Slave ? se sim, ja tem 50% do caminho pronto, pois você pode usar não modbus, mas o protocolo serial ASCII do ScadaBR para fazer essa comunicação, (no caso de Leitura), se tiver que escrever dados no PIC, ai realmente te indico o protocolo Modbus, pois para escrever em protocolo ASCII também estou apanhando feio do ScadaBR.
-
Tera de implementar a logica Modbus dentro do PIC de forma que você consiga trabalhar com Holding registers pelo ScadaBR, dessa maneira você consegue ler e escrever dados no PIC, tem algum material na internet para protocolo Modbus como segue os links abaixo:
http://shahrulnizam.com/pic-lesson-modbus/
Tem também livro para comprar que explicam passo a passo de como fazer, claro que, não estou fazendo propaganda dos livros, mas geralmente os livros indicados pela Cerne são bons.
http://www.clubedosautores.com.br/book/33947--MODBUS_para_PIC
Estou também desenvolvendo aplicações com protocolo Modbus para PIC 18F, assim que conseguir mais informações eu posto aqui, espero ter ajudado.
Abraços,
Marcel Martine
Em ASCII seria mais fácil, bastando enviar um ou mais carácter em intervalo de tempo de um 1 em 1 segundo por exemplo.
Ex de programa:
Delay_MS 1000
IF PORTA.0 = 1
SEROUT “1”
ELSE
SEROUT “0”
ENDIF
Para o Modbus não tem exemplo simples, tem que implementar toda a função, mas a lógica não é tão complicada, veja neste site com exemplos:
Você teria algum exemplo completo do ASCII?Me parece mais simple pois a unica coisa que vou enviar será o numero de peças produzidas e o codigo de parada quando este existir, o pic não receberá dados do mestre ele só envia,minha duvida é se não vai dar comflito se dois escravos enviarem os dados juntos.
Tera que usar a opção de “comando” em ASCII no ScadaBR, assim só vai responder quando o DataSource pedir atualização, de outra forma teria conflito como observou.
Ficaria assim o codico:
//PIC 1//
comando = SerialIN // Recebe dados
IF comando = 1
IF PORTA.0 = 1
SEROUT “1”
ELSE
SEROUT “0”
ENDIF
ENDIF
//PIC 2//
comando = SerialIN
IF comando = 2
IF PORTA.0 = 1
SEROUT “1”
ELSE
SEROUT “0”
ENDIF
ENDIF
Basta adaptar para seu compilador
Olá graça e paz a todos,
Pessoal pretendo criar ou tornar uma imagem com ‘‘vida’’ animado, para representar por exemplo um termômetro onde possa ser possível visualizar na tela do supervisório o valor da temperatura lida em tempo real, conto com a vossa ajuda.
Grato,
Magno Bindá
Olá Magno,
O ScadaBR já possui um termômetro em sua biblioteca de componentes. Mas se quiser inserir novos componentes, no forum temos diversas informações de como criá-los.
Att.
boa tarde pessoal, sou novo aqui no forum por isso pesso desculpas por algum incoveniente ok ,
é o seguinte, eu tenho 2 entradas analogicas no pic uma para temperatura e outra para tensao , gostaria de visualizar no scadabr , uma leitura somente eu ja consigo, mas nao consigo ter os dados das 2 ao mesmo tempo
podem me dar uma ajuda com isso ?
estou comunicando via serial em ascii
obrigado !
Oi Daniel,
só um link responde sua pergunta
http://www.regular-expressions.info/tutorial.html
Regex é a solução.
Abs
senhores me desculpa mas esse link acima nao me respondeu em nada .....
preciso de ler 2 leituras analogicas no scadabr
fico no aguardo .