Marzo 2006. Procedimiento de Pruebas. Comunicacion Serial Modbus entre un Maestro Modbus (PLC o RTU) y un(os) computadores de flujo Echart. Alambrado: RS485 2 Hilos, Half Duplex: Configuración del echart: La terminal 5 en el Echart es el + de la red RS485 La terminal 6 en el Echart es el - de la red RS485 Escriba el numero de esclavo "MODBUS ID" En Modbus Type seleccione"0-rtu" En Parity seleccione 0-None En Baud Rate seleccione 3-9600 En RTS delay seleccione 80 ms En RS232/485 selection; seleccione 1-RS485 Rev 1 1 de 6
Configuración En el "Maestro", PLC o RTU seleccione: MODBUS RTU Data Bits: 8 Stop Bit: 1 Parity: None Baud Rate: 9600 Modbus Address Debera ser igual al Modbus ID en el Echart. ANTES DE CONECTAR EL PLC o RTU: Antes de conectar el PLC al Echart; recomendamos efectuar pruebas de comunicación usando la red RS485; para este propósito; pueden utilizar programas de pruebas disponibles en internet; como por ejemplo MDBUS de Calta Computers (http://www.calta.com/) o bien puede utilizar el Modbus driver disponible en nuestra pagina web ; http://www.dynamicflowcomputers.com/windowssftr4.html#oldechart) Una vez seguro que existe comunicación con el echart; ahora puede conectar el PLC o RTU. Recomendamos leer UNA sola direccion modbus para probar el enlace entre el Maestro y el Echart; por ejemplo para leer una direccion con el PLC Siemens: Steps to read ECHART-GL from PLC 1. Read Pressure. Register Number 9099 (HEX-238B) (See details in Chapter 4) 2. You need add offset to register number if Siemens PLC Modbus is zero based. 3. Add 40000 to register number = 49099 4. The actual query message should be 01 03 23 8B 00 02 BF A5 (ID=1,Function Code=3,Addr=9097, Two Registers, CRC=BF A5) 5. The response message 01 03 04 00 01 1F 1C A2 0A (ID=1,FC=3, 4 Bytes, Data HI=00 01,Data Low=1F 1C, CRC=A2 0A) 6. Data = 00 01 1F 1C (in Hex) = 73500 (2 decimal inferred) Actual Pressure = 73500/100 = 735 7. Be aware of data bytes sequence Echart will send DATA High bytes first. Rev 1 2 de 6
Una Vez que se logra leer una dirección; entonces solo hará falta solicitar la lectura del grupo de direcciones modbus que nos interesan. Si las direcciones Modbus a leer están "salteadas" es conveniente "agrupar" las direcciones según nuestra aplicación; para lo cual en el Echart habra de aprovechar el menú "Modbus Shift " que se encuentra al presionar el Icono "Configure Device" según se se muestra en el ejemplo siguiente: Rev 1 3 de 6
En el siguiente ejemplo se agrupan direcciones de 4 bytes: En el siguiente ejemplo, se "agrupan" direcciones modbus de 4 bytes en registros Modbus de 2 bytes; esto es valido siempre y cuando el valor numérico de la dirección de 4 bytes NO rebase el valor numérico "65000"; se debe tener especial cuidado con los flujos acumulados ya que existe posibilidad que este numero rebase el valor 65000. Rev 1 4 de 6
En este ejemplo se agrupan direcciones Modbus de Punto Flotante. ANOTACIONES IMPORTANTES. -Tenga mucho cuidado con la construcción del conector (DB9 o DB25 u otro) en el PLC; cortos entre las soldaduras o falta de "tierra" pudieran ocasionar fallas en la transmisión y aun peor; sin que exista "diagnostico" -Observe las limitantes que pudieran existir en las peticiones hacia el esclavo dependiendo del numero de "datos" solicitados; por ejemplo la función 16 es de "múltiple escritura" algunos PLC envían mas escrituras de las que pudiera aceptar el esclavo. - El formato del direccionamiento es diferente entre el formato del "maestro: y el "esclavo" por lo que pudiera suceder que SI exista comunicación pero los datos son "indescifrables". - Observa la posibilidad de que este invertido el orden LSB vs MSB -Observe que dependiendo del manejo del Modbus, existe la posibilidad que tenga que solicitar la dirección 40001(por ejemplo) para que obtenga la lectura de la dirección 40000. Rev 1 5 de 6
- Observe las limitantes que pudieran existir en el maestro respecto del tipo de "variables" que puede leer: enteros de 16 bits; solo enteros de 32 bits; flotantes en formato doble de 16 bits; o flotantes en formato de 32 bits; etc. -Es importante notar que el "buffer: del Echart se puede llenar y detener la transmisión debido a que no esta "sincronizado" con el "maestro. Preparado por: ADAN BENITEZ GALLEGOS Tel 011 52 55 5356 35 35 Fax 011 52 55 5356 3885 Email: dynamicfluid@prodigy.net.mx Rev 1 6 de 6