pvbrowser manual
Back Content

Modbus

Можете да въведете текстовите характеристики tool_tip и whats_this в "qt designer". Те съществуват във всяка маска или slot. Нека приемем, че сте въвели следните низове в характеристиката tool_tip през "qt designer".

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

Сега можете да използвате този slot, за да чете стойности през Modbus. Не е нужно да програмирате ръчно за елементарни визуализации. Всичко е настроено през "qt designer". Когато минете над информационните точки в pvbrowser клиента, toolTip-ът ще се покаже в малък изскачащ прозорец.

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++)
  {
    val = 0;
    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;
}

Back Content