Help with ModBus RTU Master-Slave: SimpleModbus [SOLVED]

SLAVE: SimpleModbusSlaveExample

#include <SimpleModbusSlave.h>

#define  ledPin  13 // onboard led

Nothing special.

// Using the enum instruction allows for an easy method for adding and 
// removing registers. Doing it this way saves you #defining the size 
// of your slaves register array each time you want to add more registers
// and at a glimpse informs you of your slaves register layout.

//////////////// registers of your slave ///////////////////
enum 
{     
  // just add or remove registers and your good to go...
  // The first register starts at address 0
  ADC0,     
  ADC1,        
  ADC2,
  ADC3,
  ADC4,
  ADC5,  
  LED_STATE,
  TOTAL_ERRORS,
  // leave this one
  HOLDING_REGS_SIZE 
  // total number of registers for function 3 and 16 share the same register array
};

Very similar part of the code like packets in the master code. I do not understand, why nr. of "registers" isn't same as nr. of "packets". Again this "registers" probably contains informations about slave device, informations that we want to send to the master device.

unsigned int holdingRegs[HOLDING_REGS_SIZE]; // function 3 and 16 register array

void setup()
{
  /* parameters(long baudrate, 
                unsigned char ID, 
                unsigned char transmit enable pin, 
                unsigned int holding registers size,
                unsigned int* holding register array)
  */
  
  modbus_configure(9600, 1, 2, HOLDING_REGS_SIZE, holdingRegs);    
  
  pinMode(ledPin, OUTPUT);
}

holdingRegs is an array of all "registers". Not sure what to do with this.

void loop()
{
  // modbus_update() is the only method used in loop(). It returns the total error
  // count since the slave started. You don't have to use it but it's useful
  // for fault finding by the modbus master.
  
  holdingRegs[TOTAL_ERRORS] = modbus_update();
  
  for (byte i = 0; i < 6; i++)
  {
    holdingRegs[i] = analogRead(i);
    delayMicroseconds(500);	     
  }
  
  // read the LED_STATE register value and set the onboard LED 
  // function 16 and one whole register is used 0000h == OFF
  // and anything except zero is ON
  digitalWrite(ledPin, holdingRegs[LED_STATE]);
}

Here we write analog values from analog inputs to "registers" ADC0-ADC5?
Here we have again modbus_update. I think this is command to send respond to the master or?

Final words and questions:
I would love to here some answeres, explanations from guys who knows Modbus well. If someone is successfully established modbus connection between arduinos please respond here in this thread. If someone can help me with tip on how to write sketch, please post your solution down in reply.

All I want to do for now is successfully connect 2 arduinos with modbus protocol and send some data from one to another.

This is a long post, so I hope this thread wont die soon. I hope this thread would be in help ti other programmers too. I have searched all the arduino forum and haven't found my answeres so I created a new topic.

Some usefull links for newbies:
Modbus protocol explained
SimpleModbus library

Thank you for your time!
Jakob