User Tools

Site Tools


struktura:marklar-driver-modbus:labjack

LabJack

Komunikace se zarizenim od spolecnosti LabJack probiha rovnez pres protocol Modbus. LabJack je mozno pripojit k PC bud prostrednictvim USB nebo Ethernetu. Pouzivame vyhradne pripojeni pres Ethernet, i kdyz Marklar pripojeni pres USB by nemelo zaskocit. Stejne jako v pripade Eurothermu, komunikace je Modbus over TCP/IP a jedine zarizeni od LabJacku, nami pouzivane, je LabJack T7.

Ke komuniaci se vyuzivaji knihovny distribuovane primo spolecnosti LabJack. Jedna se o knihovny lna.jar a ljm.jar. Tyto knihovny se mi nepodarilo dohledat v zadnem repozitari a proto jsou u Beryho na serveru.

Connection je reprezentovano tridou LabjackT7Connection, ktera dedi od tridy StringAddrConnection. K dedeni viz Instrument. Trida poskytuje nasledujici hlavni metody

public LabjackT7Connection(String labjackType, String connectionType, String addr, StringAddrDevice device);
public synchronized double readDoubleFromStringAddr(String address)
public synchronized double writeDoubleToStringAddr(String address, double value)

Narozdil od Eurothermu, ktery se po pripojeni nemusi nijak konfigurovat, je treba LabJack pri pripojeni patricne nakonfiguovat (napr. mu nakonfigurovat citac). To se efektne udela tak, ze dana aplikace si od LabjackT7Connection oddedi a overridne metodu connect()

public class PlastLabJackT7Connection extends LabjackT7Connection {
 
  public PlastLabJackT7Connection(String labjackType, String connectionType, String addr, StringAddrDevice device) {
    super(labjackType, connectionType, addr, device);
  }
 
  @Override
  public void connect() throws ConnectException, Exception {
    super.connect();
 
    // configure LabJack counter, CIO2
    LJM.eWriteName(this.getHandle(), "DIO18_EF_ENABLE", 0);
    LJM.eWriteName(this.getHandle(), "DIO18_EF_INDEX", 7);
    LJM.eWriteName(this.getHandle(), "DIO18_EF_ENABLE", 1);
  }
 
}
struktura/marklar-driver-modbus/labjack.txt · Last modified: 2016/07/21 14:06 by jlochman