Paso a paso para la resolución de problemas de RS485
Solución de problemas de RS485, paso a paso:
Asegúrate de que el controlador está alimentado entre 12-24 Vdc.
Comunicación Half Duplex: Asegúrate de que conecta el pin A+ de su controlador Industrial Shields con el pin A+ del otro dispositivo RS485. Y el pin B- de tu controlador Industrial Shields con el pin B- del otro dispositivo RS485.
- Comunicación Full Duplex: Asegúrate de que conecta el pin A+ de su controlador Industrial Shields con el pin Y+ del otro dispositivo RS485. Y el pin B- de tu controlador Industrial Shields con el pin Z- del otro dispositivo RS485.Conexiones adecuadas:
Industrial Shields Unit (Half Duplex) | RS485 Device (Half Duplex) |
A+ | A+ |
B- | B- |
Industrial Shields Unit (Full Duplex) | RS485 Device (Full Duplex) |
A+ | Y+ |
B- | Z- |
Configuración adecuada de los interruptores y puentes para utilizar el puerto RS-485.
M-Duino Family
Para el protocolo de comunicación RS-485, sólo hay 1 interruptor que afecta a esta comunicación. El protocolo RS-485 estará siempre activado, el único interruptor que afecta es el llamado "FD rs-485 HD". Este interruptor permite elegir entre RS-485 Half Duplex (Posición ON) o RS-485 Full Duplex (Posición OFF).
Ardbox Family
Para habilitar el Hardware Serial RS-485 la configuración total del Ardbox Analog HF será:
ZONA TOP
SWITCH | MODE |
I0.3 | OFF |
RS485 HS | ON |
I0.2 | OFF |
RS485 HS | ON |
Nota: Con esta configuración, I0.2 e I0.3 están desactivados.
ZONA IZQUIERDA
SWITCH | MODE |
DE-RS485 | ON |
D10 / A0.2 - Q0.2 | OFF |
RE-RS485 | ON |
D11 / A0.1 - Q1.1 | OFF |
SDA - D2 / I0.0 | - |
SCL - D3 / Q0.6 | - |
Nota: Para habilitar el protocolo de comunicación RS-485 es necesario que los interruptores de la zona izquierda estén configurados como se muestra en la tabla. Los marcados con "-" significan que no afectan a la configuración del protocolo RS-485.
Configuración de los puentes
Para habilitar el Hardware Serial RS-485 la configuración total del Ardbox Analog HF será:
Para habilitar el Hardware Serial RS-485 la configuración total del Ardbox Relay HF será:
Configuración de los interruptores Ardbox Relay HF
Nota: Para habilitar el protocolo RS-485 la ZONA SUPERIOR debe estar configurada como se muestra en la tabla. Aunque el nombre del conmutador sólo se refiere al RS-485 también es el mismo para el RS-232.
Nota: El H/F puede configurarse como ON u OFF. Si se deseas utilizar el RS-485 Half Duplex (A+, B-) debe estar en ON. Si se deseas utilizar el RS-485 Full Duplex (A+, B-, Y+, Z-) debe estar en OFF.
El interruptor RE-RS485 y DE-RS485 debe ponerse en modo ON. Al estar estos pines en ON, los otros 2 (I0.4, I0.5) deben estar en OFF. Estando en modo OFF están completamente deshabilitados. Los interruptores marcados como " - " no interfieren con el protocolo de comunicación RS-485.
Configuración de los puentes Ardbox Relay HF
Nota: La zona de puentes 2 no tiene ningún efecto sobre el protocolo RS-485 pero nos permite tener disponibles I0.2 e I0.3.
Instalación de placas de blindaje industrial
*Atención no utilices librerías antiguas como MDuino.h o Ardbox.h, estas librerías están obsoletas y pueden causar problemas de mapeo a tu controlador.
Familia M-Duino:
El Arduino Mega 2560 Rev3 es el controlador del M-Duino y el RS-485 se controla con el Serial0 del Arduino Mega 2560 Rev3. Si por alguna razón no estás usando nuestras placas asegúrate de que estás usando Serial0 para controlar el RS-485.
Ardbox Analog HF w/HW RS232:
Si usas el hardware serial Ardbox Analog HF w/HW RS232 solo tienes que incluir la librería RS485.h en tu sketch y seleccionar la placa correcta ARDBOX Analog HF w/HW RS485. Usa el objeto RS485 para escribir y leer valores a través de tu puerto serie RS485. Vea el siguiente ejemplo de código de cómo usar el objeto RS485.
Ardbox Relay HF w/HW RS232:
Si usas el Ardbox Relay HF w/HW RS485 (hardware serial) solo tienes que incluir la librería RS485.h en tu sketch y seleccionar la placa correcta ARDBOX Relay HF w/HW RS485. Utiliza el objeto RS485 para escribir y leer valores a través de tu puerto serie RS485. Vea el siguiente ejemplo de código de cómo usar el objeto RS485.
Ejemplo de software:
Para verificar que la recepción y la transmisión funcionan, hemos hecho este programa que en la misma placa recibimos o transmitimos un byte. Para ello utilizamos la configuración FULLDUPLEX. En este ejemplo solo enviamos un byte por el Serial, lo recibimos, lo imprimimos y lo enviamos por el RS485. Luego, recibimos el mismo byte y lo imprimimos.
#include <RS485.h>
void setup() {
// Begin Serial port
Serial.begin(9600);
// Begin RS485 port
RS485.begin(9600, FULLDUPLEX);
}
void loop() {
//Send one byte for the serial, receive this byte by rs485
if (Serial.available()){
read_from_serial();
}
if (RS485.available()){
read_from_rs485();
}
}
static void read_from_serial(void){
char tx = Serial.read(); //Read byte
if (tx != '\n') Serial.println(tx); //Print the byte
RS485.write(tx); //Transmit by rs485
}
static void read_from_rs485(void){
char rx = RS485.read(); //Receive the same byte
if (rx != '\n') {
Serial.println(rx); //Print the byte
}
}
Serial.println(rx); //Print the byte
}
}
Guía de solución de problemas de RS485