USS (RS485) Protocol Micromaster 420

Hi

I have a Siemens MICROMASTER 420 variable frequency drive, I have seen that these use the USS protocol to communicate via RS485, I have tried to establish communication using an Arduino and a MAX485 module but for the moment I have not obtained any response from the MICROMASTER.

The connections are simple:

Arduino powered from the computer.
5V Arduino - > VCC from Max485
GND Arduino -> GND Max485
TX Arduino -> DI Max485
RX Arduino -> RO Max485
D2 Arduino -> DE/RE Max485

GND Arduino -> GND Micromaster 420
A Max485 -> Pin 15 Micromaster 420
B Max485 -> Pin 14 Micromaster 420

Test code:


const int ReDePin =  2;  // HIGH = Driver / LOW = Receptor

byte command [] = { 0X02, //STX
                    0X0E, //LGE
                    0X00, //ADR
                    //PKW
                    0X12,0XBC, //PKE
                    0X00,0X00, //IND
                    0X00,0X00, //PWE1
                    0X00,0X00, //PWE2
                    //PZD
                    0X00,0X00,//STW
                    0X00,0X00, //HSW
                    0XA0 //BCC
                    };


                    

void setup() 
{ 
   Serial.begin(9600,SERIAL_8E1);
   Serial.setTimeout(100);
  
   pinMode(ReDePin, OUTPUT);
} 
 
void loop() 
{ 
   
   digitalWrite(ReDePin, HIGH);
   Serial.write(command,sizeof(command));
   Serial.flush();  
  
   delay(5000); 
 
} 

The test telegrams I have sent are:

byte command [] = {
                     0X02, //STX
                    0X0E, //LGE
                    0X00, //ADR
                    //PKW
                    0X12,0XBC, //PKE
                    0X00,0X00, //IND
                    0X00,0X00,0X00, //PWE1
                    0X00,0X00,0X00, //PWE2
                    0XA4//BCC
                    };

And:

byte command [] = { 0X02, //STX.
                    0X0E, //LGE
                    0X00, //ADR
                    //PKW
                    0X12,0XBC, //PKE
                    0X00,0X00, //IND
                    0X00,0X00,0X00, //PWE1
                    0X00,0X00,0X00, //PWE2
                    //PZD
                    0X00,0X00,//STW
                    0X00,0X00,0X00, //HSW
                    0XA0 //BCC
                    };

Whose PKW corresponds to the reading of the MICROMASTER parameter P0700 (Page 8, USS_protocol_en.pdf )

I see in the MICROMASTER that the number of rejected telegrams (parameter r2025 ) and the character frame errors (parameter r2026) is continuously increasing.

I think the problem may come with the telegram format as it is not clear to me if the PZD field should be included when reading a parameter and if so what values it should take.

If anyone can provide some information, thanks in advance.

Documentation:

USS protocol (uss_24178253_spec_76.pdf): https://support.industry.siemens.com/cs/document/24178253/specification-universal-serial-interface-protocol-uss-protocol?dti=0&lc=en-AO

USS Protocol with MICROMASTER M420 (USS_protocol_en.pdf): https://cache.industry.siemens.com/dl/files/889/5734889/att_848766/v1/USS_protocol_en.pdf

Related threads : Problem with USS protocol (Siemens protocol through RS485)

Best regards.

Post your code properly that will help us help you.