Encoder counts on Wincc

Good day.

I use the following code that responsible for encoder counting and send the reading to WINcc using ARDUINO mega and Ethernet shield .

The encoder counts correctly on serial monitor but no response on Wincc
Could you help in that issue?

#include <SPI.h>
#include <Ethernet.h>

#include "Mudbus.h"

Mudbus Mb;


float asd;

volatile unsigned int temp, counter = 0; //This variable will increase or decrease depending on the rotation of encoder
    
void setup() {
 
  uint8_t mac[]     = { 0x90, 0xA2, 0xDA, 0x00, 0x51, 0x06 };
  uint8_t ip[]      = { 192, 168, 1, 8 };
  uint8_t gateway[] = { 192, 168, 1, 1 };
  uint8_t subnet[]  = { 255, 255, 255, 0 };
  Ethernet.begin(mac, ip, gateway, subnet);

  
  
  
  Serial.begin (9600);

  pinMode(2, INPUT_PULLUP); // internal pullup input pin 2 
  
  pinMode(3, INPUT_PULLUP); // internalเป็น pullup input pin 3
//Setting up interrupt
  //A rising pulse from encodenren activated ai0(). AttachInterrupt 0 is DigitalPin nr 2 on moust Arduino.
  attachInterrupt(0, ai0, RISING);
   
  //B rising pulse from encodenren activated ai1(). AttachInterrupt 1 is DigitalPin nr 3 on moust Arduino.
  attachInterrupt(1, ai1, RISING);
  }
   
  void loop() {
  // Send the value of counter
  if( counter != temp ){
  Serial.println (counter);
  temp = counter;
  asd=temp;
  }
  
     Mb.Run();
     Mb.R[1] = analogRead(asd); 

   
  }

   
  void ai0() {
  // ai0 is activated if DigitalPin nr 2 is going from LOW to HIGH
  // Check pin 3 to determine the direction
  if(digitalRead(3)==LOW) {
  counter++;
  }else{
  counter--;
  }
  }
   
  void ai1() {
  // ai0 is activated if DigitalPin nr 3 is going from LOW to HIGH
  // Check with pin 2 to determine the direction
  if(digitalRead(2)==LOW) {
  counter--;
  }else{
  counter++;
  }
  }

Don't expect people to know what WINcc is.

The way you included mudbus indicates that it might be something that you wrote yourself. If so, show the relevant files as well, else provide a link.

this is the reference.
Wincc is SCADA Siemens.
The encoder code is working good and the communication between Arduino and Wincc is detected via TCPIP.
I think the problem is in mapping of the registers between arduino and wincc