Qual o papel do driver?
Primeiro vamos às definições. O que significa a palavra driver no mundo da tecnologia? Respondendo à pergunta, de acordo com o dicionário: é um “arquivo que contém as funções a serem integradas a um sistema operacional para controlar um determinado periférico”. Sendo assim, o driver é um software que irá traduzir os comandos enviados através do computador para o dispositivo/aparelho (hardware). Da mesma forma os comandos vindos do dispositivo/controlador são traduzidos para o computador.
Drivers para controladores
Os dispositivos chamados periféricos como impressora, mouse, teclado, etc precisam de drivers, da mesma forma que os controladores, microcontroladores para qualquer tipo de automação. Neste caso os drivers devem ser utilizados dentro do sistema scada (ou supervisório) que irá administrar toda a comunicação e controlar os aparelhos por meio de sua aplicação.
Os scripts de comunicação para controladores devem seguir o protocolo de comunicação utilizado pelo aparelho a ser utilizado. Isto quer dizer que cada aparelho tem um formato de comunicação envio e recebimento de bytes. Alguns dos protocolos mais utilizados são:
- MODBUS – Modcom/Schneider
- DF1 – Rockwell
- Ethernet/IP – Rockwell
- Mewtocol – Panasonic
- Canbus (bytes e meio físico – exige conversor) – Genérico
- Profibus (bytes e meio físico – exige conversor) – Siemens
- MPI – Siemens
- PPI – Siemens
Para saber mais sobre protocolos de comunicação e seus conceitos básicos consulte o post Arquitetura e Protocolos de Internet.
Como desenvolver drivers?
No LAquis é possivel desenvolver os seus próprios drivers, de acordo com a sua aplicação. Existe sim uma grande quantidade de drivers prontos para uso, dentre eles: MODBUS, PLC, NOVUS, ADAM, etc. Mas além disto, os drivers são abertos e você pode modificá-los ou criá-los do zero.
Isso é possível por um aplicativo junto à instalação do LAquis, chamado EditorLdriver. Basicamente, você pode definir o envio dos bytes pelo símbolo > e o recebimento pelo símbolo <.
Vamos ao exemplo de um trecho de código do driver MODBUS RTU:
>Canal 3 (WORDI)endereco 0 1 {CRC16}
<Canal 3 2 (WORDI)*Valor {CRC16}
Palavra Chave Significado
(WORD) 2 bytes sem sinal
{CRC16} resultado de um cálculo sobre os bytes do telegrama, verificação de coerência (CRC) em 16 bits
*colocando a letra I no final do tipo os bytes serão invertidos. (Exemplo (WORDI)Param1)
Saiba mais fazendo o download do LAquis e consulte a documentação.