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

  • $75.95


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) {
    unsigned char i, index;
    char tx_buffer[11];
    unsigned int checksum;
    
    //  Open Serial Port and Initialize
    //  fd = serialOpen("/dev/ttyAMA0", 19200);     // for RPi < 3
    
     fd = serialOpen("/dev/ttyS0", 19200);            // for RPi 3
     
     if(fd < 0)
     {
        printf("Error opening Serial Port \nn");
        return;
    }
    
    index = 0;   
    tx_buffer[index++] = MODBUS_ID_RELAY;    // MODBUS ID for slave relay module
    tx_buffer[index++] = 15;              // Function 15 = write multiple coils
    tx_buffer[index++] = 0;                // Start Address High Byte
    tx_buffer[index++] = 0;                // Start Address Low Byte
    tx_buffer[index++] = 0;                // Qty Coils High Byte
    tx_buffer[index++] = 8;                // Qty Coils Low Byte
    tx_buffer[index++] = 1;                // Byte Count
    tx_buffer[index++] = Relay_Status;   // Data Byte (8 Coils)   
    checksum = MB_crc16(tx_buffer,index);   
    // Checksum Low Byte, High Byte,    Sent Little Endian
    tx_buffer[index++] = (unsigned char)(checksum & 0x00ff);            
    tx_buffer[index++] = (unsigned char)((checksum >> 8) & 0x00ff);       
    digitalWrite(DIR_RS485, HIGH);                // Set RS485 to TX
    delay(5);                                    // Allow lines to settle

   
    for(i=0; i<index; i++) {
        serialPutchar(fd, tx_buffer[i]);
    }
            
    delay(50);                                    // Allow last byte stop bit
    digitalWrite(DIR_RS485, LOW);                // Set RS485 to RX   
    serialClose(fd);
}        

Save