Auftragsverwaltung
Nicht nur Standard Abläufe wie Angebot-Auftrag-Lieferschein-Rechnung können erstellt werden, über frei Konfigurierbare Auftragstypen können viele Prozesse im Unternehmen abgebildet werden.
mehr

image01

Multiprojektverwaltung
mit der Aufgaben weder Nutzer noch Projektgebunden sind. Termine und Abhängigkeiten können über mehrere Projekte hinweg gesetzt werden.
mehr

image01

Dokumentenmanagement
Dateien und Verzeichnisse können an jedem Element verwaltet werden. Alte Dateistände, Datenbankweite Verknüpfungen, Sepzielle Aktionen sind möglich.
mehr

image01

Nachrichtenverwaltung
e-Mail, RSS Feeds,SMS u.ä. können hier verwaltet werden.
mehr

image01

Unit:Tinkerforge (uses tinkerforge;)



Mit der Tinkerforge unit (dll basiert) können Sie auf Tinkerforge Komponenten zugreifen. Tinkerforge ist ein Baukasten aus kleinen Komponenten über die man Automationslösungen aufbauen kann.

tinkerforge.jpg

In ihr Script können Sie die Erweiterung mit

uses tinkerforge; 

einbinden.

Master Brick/Daemon finden

function TfConnect(Host : PChar;Port : Integer) : Boolean;
function TfDisconnect : Boolean;
function TfEnumerate : Integer;
function TfGetDeviceList : pchar;
Mit TfConnect('localhost',4223) können Sie sich zum Brick Daemon verbinden. Diese Funktion gibt True zurück wenn dies erfolgreich war.TfDisconnect sollte immer zum aufräumen aufgerufen werden. Auch wenn nie eine Verbindung zustande kam.

LCD Bricklet

procedure TfLCDBackLightOn;
procedure TfLCDBackLightOff;
procedure TfLCDWrite(x,y : Integer;text : string);
procedure TfLCDClear;
function TfLCDButtonPressed(Button : byte) : Boolean;

Die LCD Bricklets können alle über die selben Erweiterungsfunktionen angesteuert werden.

VoltageCurrent Bricklet

function TfGetVoltageById(id : Integer) : LongInt;
function TfGetVoltage(Position : char) : LongInt;
function TfGetCurrentById(id : Integer) : LongInt;
function TfGetCurrent(Position : char) : LongInt;
function TfGetPowerById(id : Integer) : LongInt;
function TfGetPower(Position : char) : LongInt;

Das VoltageCurrent Bricklet kann jewails über 2 Wege angesprochen werden.TfGetVoltage/Current/Power erwarten dei Position des Bricklets am MasterBrick (A,B,C,D) als Übergabeparameter. Sollte es egal sein wo das Bricklet angeschlossen ist (z.b. es gibt nur eins) kann man z.b. TfGetVoltageById(0) benutzen.

Relais Bricklets

function TfSetRelais(Position : pchar;Relais : Integer;SwitchOn : Boolean) : Boolean;stdcall;

Color Bricklet

function TfGetColorById(id : Integer) : Cardinal;stdcall;
function TfGetColor(position : pchar) : Cardinal;stdcall;


Beispiel:

uses tinkerforge;
var
Bricks : Integer;
avalue : string;
begin
if TfConnect('localhost',4223) then
begin
Bricks := TfEnumerate;
writeln(IntToStr(Bricks));
TfLCDBackLightOn;
TfLCDWrite(0,3,'Exit');
while not TfLCDButtonPressed(0) do
begin
if length(IntToStr(TfGetVoltage('D'))) TfLCDWrite(0,0,' ');
aValue := IntToStr(TfGetVoltage('D'));
TfLCDWrite(0,0,aValue+' mV');
end;
TfLCDClear;
end;
TfDisconnect;
end.