PIC - modbuss

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PIC - modbuss

Mensagempor verd » 03 Ago 2009 09:27

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??
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor RobL » 03 Ago 2009 09:41

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.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor verd » 03 Ago 2009 09:58

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??
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor verd » 03 Ago 2009 10:04

estou vendo na net que o master é o supervisório da comunicação, teria como eu desenvolver o master como hardware?
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor RobL » 03 Ago 2009 10:08

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.
Editado pela última vez por RobL em 03 Ago 2009 10:13, em um total de 1 vez.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor RobL » 03 Ago 2009 10:11

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.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor KILB » 03 Ago 2009 13:39

Da uma avaliada nesta página!


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




Valeu


Kilb


PS. Da pra traduzir no Google :D
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Mensagempor verd » 03 Ago 2009 13:44

Neste master com dataloger eu precisaria de 2 usart´s para fazer esta troca de informações??
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor RobL » 03 Ago 2009 14:46

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.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Beto_s » 03 Ago 2009 17:44

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
Beto_s
Bit
 
Mensagens: 43
Registrado em: 06 Set 2007 23:36

Mensagempor verd » 04 Ago 2009 08:10

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!!
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor fabim » 04 Ago 2009 08:22

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor verd » 04 Ago 2009 17:29

Valeu fabim!!
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor Beto_s » 05 Ago 2009 00:27

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
Beto_s
Bit
 
Mensagens: 43
Registrado em: 06 Set 2007 23:36

Mensagempor KILB » 05 Ago 2009 06:42

Fabim,

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

Brigadão

Valeu


mcspv1@gmail.com
VENDO BRASILIA 78 - AZUL CALCINHA - RODA GAIUCHA, PNEU TALA LARGA E TOCA FITA RODSTAR, TRATAR NO BUTECO
KILB
Byte
 
Mensagens: 103
Registrado em: 17 Fev 2007 21:52

Próximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x