Press "Enter" to skip to content

Drivers for devices and controllers

What is the role of the driver?

First let’s go to the definitions. What does the word driver mean in the technology world? Answering the question, according to the dictionary: it is a “file containing the functions to be integrated into an operating system to control a particular peripheral”. Thus, the driver is software that will translate commands sent through the computer to the device / hardware. Similarly commands from the device / controller are translated into the computer.

Drivers for devices and controllers

Devices called peripherals like printer, mouse, keyboard, etc. need drivers, just like controllers, microcontrollers for any kind of automation. In this case the drivers must be used within the SCADA system that will manage all communication and control the devices through their application.

Communication scripts for controllers must follow the communication protocol used by the device to be used. This means that each device has a communication format for sending and receiving bytes. Some of the most commonly used protocols are:

  • MODBUS – Modcom / Schneider
  • DF1 – Rockwell
  • Ethernet / IP – Rockwell
  • Mewtocol – Panasonic
  • Canbus (bytes and media – requires converter) – Generic
  • Profibus (bytes and media – requires converter) – Siemens
  • MPI – Siemens
  • PPI – Siemens

To learn more about communication protocols and their basics see the post  Internet Architecture and Protocols .

How to develop drivers?

In LAquis it is possible to develop your own drivers, according to your application. There are a lot of ready-to-use drivers, among them: MODBUS, PLC, NOVUS, ADAM, etc. But beyond that, the drivers open and you can modify or create them from scratch.

This is made possible by an application next to the LAquis installation called EditorLdriver. Basically, you can define the sending of bytes by the > symbol and the receiving by the < symbol .

Here’s an example of a MODBUS RTU driver code snippet:

> Channel  3  ( WORDI ) address  0 1  {CRC16}
< Channel  3 2  ( WORDI ) * Value  {CRC16}

Keyword Meaning
(WORD) 2 unsigned bytes
{CRC16} result of telegram byte calculation, 16-bit coherence check (CRC)

* by placing the letter I at the end of the type the bytes will be inverted. (Example (WORDI) Param1)

 

Learn more by downloading LAquis and refer to the documentation.

Question?