Inställningar i INI filen

Alla inställningar för programmet finns i INI filen JDrouter.ini som ligger i samma katalog som programmet. Denna fil kan redigeras med en texteditor, tex Anteckningar (Notepad.exe). Dock för att nya inställningar skall börja gälla, måste programmet startas om. Det finns även möjlighet att ändra vissa inställningar under drift via Telnet kommandon.

Globala inställningar

Följande inställningar påverkar hela programmet.

Config=Port
Timing=Timing-sträng
Logtype=LogNr

Port För syntax, se Inställning för en kommunikationsport (A- eller B-sidan)
Det är via denna port som man kan ge kommandon enligt Telnet kommandon. Som standard är denna inställd på 'TCP @23', dvs. Telnetporten 23 öppnas på alla datorn gränssnitt.
Vill man spärra för användning så kan man t.ex. istället ange 'TCP @23 127.0.0.1' eller lämna inställningen tom. Dock måste då ändock 'Config=' finnas i INI filen. Annars tror programmet att det inte finns någon INI fil och skapar då en sådan. Dvs. utför det som står under punkt 2 på sidan Installera programmet

Timing-sträng Bara för den mycket avancerade användaren!
Som standard anges här 'MMT:3', vilket betyder att programmet skapar en MultiMediaTimer med upplösningen 3 ms. Samt att programmet väntar 3 ms mellan successiva läsningar på en port. Detta påverkar alla program på datorn, datorn får en minsta tidsupplösning på 3 ms, istället för ca 10 eller 15 ms som standard i Windows. Dock sätter de flesta SCADA system redan ner denna tid till 1 ms, och det är den som väljer kortaste tiden som "vinner", så i slutändan blir det ingen skillnad för datorn. Dock används tiden även för hur länge JDrouter vilar mellan successiva läsningar av en port. Ju kortare tid du anger, ju snabbare respons ger programmet. Du kan ställa in tiden mellan 1 och 15 ms.
Man kan här även ändra programmets (processens) basprioritet (P:X), där X kan vara I(Idle), N(Normal), H(High) eller R(Realtime).
Också trådens prioritet kan ställas in (T:Y), där Y kan vara I(Idle), L(Lowest), B(BelowNormal), N(Normal), A(AboveNormal), H(Highest) eller T(TimeCritical).
Allt detta görs dock på eget ansvar. T.ex. kan man ändra till 'Timing=MMT:1 P:H T:A' för att få en hög prioritet.

LogNr Loggnivån kan vara 0 till 2, se Loggning av fel och av kommunikation

Slutligen så har alltså dessa globala inställningar normalt följande värden:

Config=TCP @23
Timing=TTM:3
Logtype=0

Kommunikationskanalerna (Channel)

Man kan ha maximalt 99 kommunikationskanaler, de benämns Ch01 till Ch99. En inställningsrad ser ut enligt:

Chxx=A-Port, B-Port, Option, Kommentar

A-Port och B-Port se Inställning för en kommunikationsport (A- eller B-sidan).

Option ett 32 bitars possitivt heltal.
Talet kan anges i decimal form (0-4294967295), hexadecimal form (0x0-0xFFFFFFFF) eller oktal form (0-037777777777).
De olika bitarna används för olika saker, och skall summeras för sammansatt funktion.

Bit 0 och 1 används för nivå på loggning av portens data flöde, enligt:
0=Logga inte data, 1=Logga data i hexadecimal form, 2=Logga data i Ascii form.
För mer info se Loggning av fel och av kommunikation

Bit 2 (summeringsvärde 4), om satt så öppnas inte B-Porten förrän A-Porten är öppen.
OBS! Denna funktion är inte implementerad ännu!

Bit 3 (summeringsvärde 8), om satt så öppnas inte A-Porten förrän B-Porten är öppen.
OBS! Denna funktion är inte implementerad ännu!

Bit 4-31 används för närvarande inte.

Kommentar är en valfri kommentar för kommunikationskanalen.

Några exempel (jämför bild på Startsidan):

Ch01=TCP @127.0.0.1:10001, TCP hus1.se:502, 5, SCADA slinga 1 till Modbus PLC i hus1 (Port öppnas med SCADA samt Hex loggning)
Ch02=TCP @127.0.0.1:10002, UDP hus2.dyndns.com:10001, 0, SCADA slinga 2 till UDP server i hus med dynamisk IP
Ch03=vCOM10, TCP 220.122.4.56:502, 0, SCADA slinga 3 (via virtuell COM port) till Modbus slinga i hus13
Ch04=
Ch05=TCP @503, TCP @502, 0, Här knyter vi i hopp en PLC med en operatörspanel
Ch99=COM1 7E1 1200, UDP @122.78.4.45:23, 2, Här knyter vi vår lokala skrivare till Telnetporten på närverkskort 122.78.4.45

Inställning för en kommunikationsport (A- eller B-sidan)

Man kan göra rätt så många inställningar, därför beskrivs de nedan efter typ.

Serieport Syntax: COMx [bPs] [baud]
x är serieportens nummer och kan vara mellan 1 och 255.
b är antalet databitar och kan vara mellan 5 och 8.
P är paritet och kan vara N(none), O(odd), E(even), M(mark) eller S(space).
s är antalet stoppbitar och kan vara 1, 1.5 eller 2.
baude är baudraten och kan vara mellan 110 och 256000.
Det måste vara ett blanktecken mellan COMx och bPs, samt ett mellan bPs och baud, men det får inte vara något blanktecken inemellan bPs. Dessutom kan bPs och/eller baud utelämnas, de blir då som standard 8N1 respektive 9600.

Virtuel Serieport Syntax: vCOMx [bPs] [baud]
Virtuella serieportar anges med ett v framför COM, annars samma inställningar som för serieport. Ofta behöver man dock inte ange bPs eller baud, eftersom det ju inte rör sig om en fysisk port.

TCP Server Syntax: TCP @[LocIPadr:]LocPort [RmtIPadr]
LocIPadr Anger vilket gränssnitt/nätverkkort som skall användas. Man kan även ange 127.0.0.1 för 'localhost'. Denna parameter behöver inte anges, då öppnas serverporten på alla gränssnitt (IPadr=0.0.0.0). Anger man inte denna parameter så skall inte heller kolon tecknet : innan LocPort anges. Anges denna IPadr så måste den anges med ett korrekt IP-adress, dvs URL/DNS är inte tillåtet här.
LocPort Anger serverport 1-65535. Denna parameter måste anges.
RmtIPadr Anger vilka som får ansluta till denna server. Denna parameter behöver inte anges, då får vem som helst ansluta. IPadr kan anges som en IP-adress (t.ex. 212.97.132.130) eller som en URL (t.ex. dircks.se).

TCP Client Syntax: TCP [@LocIPadr] RmtIPadr:RmtPort
LocIPadr Anger vilket gränssnitt/nätverkkort som skall användas. Denna parameter behöver inte anges, då öppnas anslutningen på standard gränsnitet. Anges denna IPadr så måste den anges med ett korrekt IP-adress, dvs URL/DNS är inte tillåtet här.
RmtIPadr Anger vilken server som vi skall ansluta till. Denna parameter måste anges, och får vara som en IP-adress (t.ex. 212.97.132.130) eller som en URL (t.ex. dircks.se).
LocPort Anger vilken serverport 1-65535 som vi skall ansluta till. Denna parameter måste anges.

UDP Client/Server Syntax: UDP @LocIPadr:LocPort RmtIPadr:RmtPort
Inställningar enligt TCP Cilent och TCP server, med det tillägget att här kan vi ange alla fyra parametrarna. Dvs. när vi använder UDP så kan vi vara både Client och Server samtidigt! Som tidigare gäller att anger man ingen IPadr så skall inte heller kolon tecknet : innan Port anges. Samt att anger man ingen LocIPadr och ingen LocPort så skall inte heller @ tecknet vara med.
Man måste dock minst ange en LocPort ELLER en RmtIPAdr:RmtPort, annars blir det ingen anslutning.

OBS! Ytterligare en sak att tänka på, när man har både A-sidan och B-sidan som server, är att båda klienterna måste ansluta innan någon kommunikation kan ske. Detta är ju naturligt när man använder TCP men kan lätt glömmas när man använder UDP. Båda UDP klienterna måste alltså skicka lite data först, innan de kan ta emot data!