pvbrowser manual
Zurück Inhalt Vor

Modbus

In "qt designer" können Sie die Text Eigenschaften tool_tip und whats_this eingeben. Diese Eigenschaften sind in jeder Maske und jedem Slot lesbar. Nehmen Wir an, Sie haben die folgenden Texte in das tool_tip Feld in "qt designer" geschrieben.

 static const char *toolTip[] = {
 "",
 "",
 "Byte(0,0)",
 "Short(0,0)",
 "Bit(0,0)",
 "",
 ""};

Nun können Sie diese Texte interpretieren und den Modbus auslesen. Für einfache Visualisierungen brauchen Sie nun keine manuelle Programmierung mehr. Alles wird innerhalb von "qt designer" spezifiziert. Wenn Sie die Maus über die Datenpunkte am Bildschirm bewegen, werden diese Texte in einem kleinen popup Fenster angezeigt.

static int slotNullEvent(PARAM *p, DATA *d)
{
  if(p == NULL || d == NULL) return -1;
  int val,offset,number;

  for(int id=1; id<ID_END_OF_WIDGETS; id++)
  {
    if     (strncmp(toolTip[id],"Bit(",4)==0)
    {
      sscanf(toolTip[id],"Bit(%d,%d)",&offset,&number);
      val = modbus.readBit(offset,number);
      pvPrintf(p,id,"%d",val);
    }
    else if(strncmp(toolTip[id],"Byte(",5)==0)
    {
      sscanf(toolTip[id],"Byte(%d,%d)",&offset,&number);
      val = modbus.readByte(offset,number);
      pvPrintf(p,id,"%d",val);
    }
    else if(strncmp(toolTip[id],"Short(",6)==0)
    {
      sscanf(toolTip[id],"Short(%d,%d)",&offset,&number);
      val = modbus.readShort(offset,number);
      pvPrintf(p,id,"%d",val);
    }
  }
  return 0;
}

Zurück Inhalt Vor