Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2006, 05:48
kakarot
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 21 años, 3 meses
Puntos: 0
Modbus y visual c#

Buenas

Pues me gustaria saber(si es posible) si alguien alguna vez ha utiilzado el protocolo modbus con visual c# ya que no me entero como funciona.

Se q para "enviar" se utiilzan los presets, por lo q yo tengo una funcion:

public void enviar()
{
conectar();
TM.Read(this.PrnIdTipo);
//se tiene que cambiar el 4999 por el 99 que corresponde a la
//posición del semaforo.
//int nDataStart=5000;
this.PrnIdEstado=0;
try
{
Modbus.PresetSingleRegister(this.PrnSlave,99,0,(sh ort)GeneralConstants.mbREAL_NORMAL);
Modbus.PresetMultipleRegisters(this.PrnSlave,TM.Pr nDataStart,this.PrnValores,this.PrnsValoresInt,(sh ort)GeneralConstants.mbREAL_NORMAL);
Modbus.PresetSingleRegister(this.PrnSlave,99,1,(sh ort)GeneralConstants.mbREAL_NORMAL);
}
catch
{
MessageBox.Show("Error de comunicacion");
this.PrnIdEstado=2;
}
Modbus.CloseConnection();
if (this.PrnIdMensaje==0)
{
this.Insert();
}
else this.Update();
}

Pero exactamente que hago con eso?¿, pq yo pongo el modbus en slave, y el programa como master, pero cada vez q me entra en el try, lee la primera linea y me salta al catch, sabeis pq?¿

Luego si yo tengo una orden que quiero enviar, q por ejemplo la posicion 99 indica el tipo, la 100 el nº de registros, la 101 el primer registro....., eso como puedo hacer para que se "grave" en los registros holidings(supongo q es alli) para que pueda ver los valores?¿

Muchas gracias