Página 1 de 2

PIC - modbuss

MensagemEnviado: 03 Ago 2009 09:27
por verd
Olá pesoal estou desenvolvendo um sistema de medição de temperatura e gostaria de implementar em meu projeto uma comunicação modbus, estou lendo sobre o protocolo mas no momento está muito vago para mim, entendi apenas a teoria, já mexi com modbus em clp´s que já vem com a configuração do protocolo prontas, faz pouco tempo que iniciei com microcontroladores pic, alguem poderia me dar algum inicio para desenvolver este projeto? vou precisar desenvolver um gateway para converter rs232 em modbus??

MensagemEnviado: 03 Ago 2009 09:41
por RobL
O startup é mesmo lendo o protocolo.
Terá que usar um timer para medir tempos entre caracteres (bytes).
Veja exemplo para PIC em :
http://www.modbus.pl/

Basicamente você quer ler um hold register no seu microcontrolador.
Então terá que enviar o endereço do micro, a função leitura de hold register e o endereço deste mas na faixa de endereço do protocolo Modbus, se não me engano iniciando em 4000 (ou por exemplo 4000 2 bytes). Ao receber o endereço 4000 decimal seu micro vai coletar o resultado do seu ADC e transmití-lo de volta conforme o protocolo de resposta.

Nota: Penso que estás confundindo (um engano momentâneo) protocolo (Modbus) com padrão elétrico (RS232).

Modbus é um protocolo desenvolvido para linhas seriais, quaisquer, preferivelmente RS485 para que possa formar uma rede multiponto. Pode trabalhar também com RS232. Não há sentido converter Modbus para RS232. Talvez queira dizer converter RS485 para RS232.

MensagemEnviado: 03 Ago 2009 09:58
por verd
Olá RobL, então estou meio perdido ainda, to confundindo pq meu hardware comunica com o pc via rs232 pensei que teria que utilizar um gateway mas agora entendi que o esquema é outro a comunicação é esta, eu que vou enviar é o protocolo! no caso meu hardware seria o slave certo? e o pc seria o master??

MensagemEnviado: 03 Ago 2009 10:04
por verd
estou vendo na net que o master é o supervisório da comunicação, teria como eu desenvolver o master como hardware?

MensagemEnviado: 03 Ago 2009 10:08
por RobL
Sim, Modbus(por padrão) somente um master seu(s) micro(s) slave(s).
No lado pc terá que ter um programa para enviar e ler o protocolo que poderá chegar via rs232, usb, etc.
No link acima tem um programa(lado pc) para testes e há outros na net.
Há também neste link um hex pronto para pic.

MensagemEnviado: 03 Ago 2009 10:11
por RobL
teria como eu desenvolver o master como hardware?


Sim, em vez do PC usar um microcontrolador como master e outros micros como slave. Por exemplo poderia usar um micro como datalogger sendo o master. Este faria pedidos e receberia respostas de todos os demais slaves.

MensagemEnviado: 03 Ago 2009 13:39
por KILB
Da uma avaliada nesta página!


http://www.fultek.com.tr/PicModbus.html




Valeu


Kilb


PS. Da pra traduzir no Google :D

MensagemEnviado: 03 Ago 2009 13:44
por verd
Neste master com dataloger eu precisaria de 2 usart´s para fazer esta troca de informações??

MensagemEnviado: 03 Ago 2009 14:46
por RobL
Para coletar os dados, dos slaves, bastaria uma uart no master.
Para retirar os dados do datalogger depende de como vai usar. Poderia ser acessado via usb, spi, uart, diretamente em uma porta, etc. Se não for usar a mesma uart simultaneamente com os slaves, um "switch" seja por HW ou SW poderia permitir transferir os dados pela mesma uart.

MensagemEnviado: 03 Ago 2009 17:44
por Beto_s
Verd

Desenvolvi um programa em ASM para comunicar em modbus RTU, com Drive servo da WEG e tambem com controladores da Novus .
Da mais alguns detalhes do teu projeto , que linguagem , qual PIc etc e aí a gente vê o que pode ajudar...

[]s

Beto

MensagemEnviado: 04 Ago 2009 08:10
por verd
Bom dia beto_s! estou realizando uma pequena automação para meu trabalho de conclusão de curso, desenvolvi uma clp microcontrolada com o micro Atmega16, mas mudei de idéia, vou utilizar pic pela quantidade de materiais encontrados na internet! a idéia é a seguinte, uma clp mestre que comunique com seus escravos via protocolo modbus, a clp escravo receberia sinal do sensor no campo e enviaria para a clp mestre que enviaria para um supervisório.

se puder me ajudar passando para mim pelo menos o esqueleto de como eu monto este protocolo eu agradeceria, já estou desesperado, estou aprendendo C para utilizar o ccs que lá existe um modelo de protocolo modbus!!

MensagemEnviado: 04 Ago 2009 08:22
por fabim
Verd.
A biblioteca que eu te mandei ja esta completinha.
Ela tem
8 Coils set
8 Coils Read
8 Ints Write
8 Ints Read
Testes.

Instale o mikroC 8.XX, e rode ele... Ja deixei tudo comentado e explicado, e mais algumas explicações em inglês que eu peguei de exemplos os quais eu estudei para entender os porquês..

Se quiser Debugar.
Lembrando que eu ja mandei o esquema com.
8 ADC´s, 8 led´s, 8 buttons..
Faça o seguinte, instale qualquer virtual COM.
Por exemplo COM1, COM2.
No software que gerencia as COM virtuais, você fecha o laço em loop entre as portas COM1 e COM2.
No proteus, você coloca uma COMPIM e configura por exemplo para COM1, e no supervisório configura para COM2.
O seu supervisorio, vai estar conversando com a MODBUS SLAVE em tempo real que esta rodando no pic simulado no proteus....
Eu desenvolvi esta lib desta forma, funciona 100%..

Como eu dou só a VARA..rs
De uma pesquisada na net, você vai ver que para aumentar o numero de COIL´S por exemplo, basta informar para a CLP pelo pacote que esta la dentro.. e pelo array de informação...
É muito simples.

Agora se você quiser algo mais simples ainda que o PIC, e 100X mais poderozo.

Use este mesmo pacote que eu te passei, convertido para o KEIL.
Use uma LPC2103 com RTOS e a FIFO de 32bytes, com DMA. E coloque o task para cada 250mS por exemplo. Aí Sim tu vai ter um Slave fodastico com tratamento em tempo real...rsrs

Abraços

Fabim

MensagemEnviado: 04 Ago 2009 17:29
por verd
Valeu fabim!!

MensagemEnviado: 05 Ago 2009 00:27
por Beto_s
Verd

Depois do pacotasso que o Fabim te mandou rsrsr deve estar mais fácil ...

Esses arquivos me ajudaram a entender o protocolo .. caso ajude ai vai o link ...

http://www.weg.net/files/products/1-629.pdf

outro

http://www.alfainstrumentos.com.br/manu ... manual.pdf

Beto

MensagemEnviado: 05 Ago 2009 06:42
por KILB
Fabim,

Tirando esse negocio de pacotasso,
:D :oops: :D
ce pode me manda essa biblioteca?

Brigadão

Valeu


mcspv1@gmail.com