Relay Module 8 SPDT, 10 Amp, RS485, Modbus Interface

Regular price $79.95 USD Sale

Model No: VP-EC-8KO

This is an 8 Point Relay Module, 24 VDC Powered and RS485 Modbus RTU Interface. Great for industrial applications as well as Arduino and Raspberry Pi projects when used with RS485 interfaces. The PIC processor has the ICSP port available making the relay module a development as well.

Specifications:

  • Power: 24 VDC
  • Network: RS485, Jumper selectable 9600 or 19.2K Baud, N81
  • Modbus RTU Protocol
  • Modbus ID: Dipswitch Selectable
  • Relay Output: OMRON G5LE-14 24 VDC, 10 A, SPDT (Single Pole Double Throw)
  • Relays are OMRON Series G5LE - UL,CSA, EN standards approved and conforms to Electrical Appliance and Material Safety Law (300 V max.)
  • Protection: MOV's on contact outputs
  • Relay Test: Jumper to test relay operation, cycles thru relays K1 thru K8 ON
  • 5VDC Switching Power Supply
  • 3.3 VDC Linear Regulator
  • Supports Modbus Function 15 "Write Multiple Relay Coils"
  • Dimensions: 3.4" wide x 6.15" long

Processor:

  • PIC18F45K20
  • c/w ICSP Port
  • Can be used as a development platform for power relay projects

Indicators:

  • Power On: BLUE LED
  • Relay 1 thru 8: RED LED ON
  • Heart Beat: AMBER LED (Flashes to indicate proper operation)
  • RS485: GREEN LED Rx, RED LED Tx.

Options:

  • DIN Rail Enclosure Bud Industries Model: DMB-4774

 

Sample Raspberry Pi 3 "C" Code Function

void VP_EC_8KO_Relay_Output(void)
    {
    char i, index;
    char tx_buffer[11];
    unsigned int checksum;
    
    fd = serialOpen("/dev/ttyS0", 19200); 
     
    if(fd < 0)
    {
        printf("Error opening Serial Port \nn");
        return;
    }
    
    index = 0;   
    tx_buffer[index++] = MODBUS_ID_RELAY;
    tx_buffer[index++] = 15;              
    tx_buffer[index++] = 0;              
    tx_buffer[index++] = 0;              
    tx_buffer[index++] = 0;             
    tx_buffer[index++] = 8;             
    tx_buffer[index++] = 1;              
    tx_buffer[index++] = Relay_Status;   
    checksum = MB_crc16(tx_buffer,index);       
    tx_buffer[index++] = (char)(checksum & 0x00ff);      
    tx_buffer[index++] = (char)((checksum >>8)&0x00ff);  
    digitalWrite(DIR_RS485, HIGH);       
    delay(5);                               

    for(i=0; i<index; i++)
    {
        serialPutchar(fd, tx_buffer[i]);
    }
            
    delay(50);              
    digitalWrite(DIR_RS485, LOW); 
    serialClose(fd);
}