Lufft väderstation WSx
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 2
- Uppdaterad
- 2016-08-30
- Skapad
- 2016-08-30
- Kategori
- Energioptimering, Kyla, Mätare, Modbus, Värme, Ventilation
- Visningar
- 3780
Beskrivning
Observera att vilka värden som finns varierar med modell på väderstation.
Bruksanvisning
Denna drivrutin är avsedd för IMSE Ultra/IPX3
Juridisk information
Alla skript tillhandahålls i befintligt skick och all användning sker på eget ansvar. Felaktig använding kan leda till skadad eller förstörd utrustning.
Skript kod
% Skapad med Modbus Creator
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
%
% OBS! Vilka värden som finns varierar beroende på modell
%
DEVICETYPE WSx NAMED "Vädestation WSx" TYPEID 15235 IS
PARAMETER
Id : "Adress" [""]INT;
PUBLIC
V1 : "Local altitude" ["m"]INT;
V2 : "Deviation" ["°"]DEC1;
V3 : "Averaging Interval TFF" ["min"];
V4 : "Averaging Interval Air Pressure" ["min"];
V5 : "Averaging Interval Wind" ["min"];
V6 : "Averaging Interval Global Radiation" ["min"];
V7 : "Heating Mode" [""]INT; % 0=auto, 1=mode 1, 2=Off, 3= Eco 1
V8 : "Device status" [""]INT;
V9 : "Sensor status 1" [""]INT;
V10 : "Sensor status 2" [""]INT;
V11 : "Sensor status 3" [""]INT;
V12 : "Sensor status 4" [""]INT;
V13 : "Sensor status 5" [""]INT;
V14 : "Sensor status 6" [""]INT;
V15 : "Relative Humidity (act)" ["%"]DEC1;
V16 : "Relative Humidity (min)" ["%"]DEC1;
V17 : "Relative Humidity (max)" ["%"]DEC1;
V18 : "Relative Humidity (avg)" ["%"]DEC1;
V19 : "Rel air pressure (act)" ["hPa"]DEC1;
V20 : "Rel air pressure (min)" ["hPa"]DEC1;
V21 : "Rel air pressure (max)" ["hPa"]DEC1;
V22 : "Rel air pressure (avg)" ["hPa"]DEC1;
V23 : "Wind direction (act)" ["°"]DEC1;
V24 : "Wind direction (min)" ["°"]DEC1;
V25 : "Wind direction (max)" ["°"]DEC1;
V26 : "Wind direction (vct)" ["°"]DEC1;
V27 : "Wind direction fast" ["°"]DEC1;
V28 : "Wind direction compass corr" ["°"]DEC1;
V29 : "Compass" ["°"]DEC1;
V30 : "Precipation type" [""]INT;
V31 : "Wind measurement quality" ["%"]INT;
V32 : "Global radiation (act)" ["W/m2"]DEC1;
V33 : "Global radiation (min)" ["W/m2"]DEC1;
V34 : "Global radiation (max)" ["W/m2"]DEC1;
V35 : "Global radiation (avg)" ["W/m2"]DEC1;
V36 : "Air temperature (act)" ["°C"]DEC1;
V37 : "Air temperature (min)" ["°C"]DEC1;
V38 : "Air temperature (max)" ["°C"]DEC1;
V39 : "Air Temperature (avg)" ["°C"]DEC1;
V40 : "Dew Point (act)" ["°C"]DEC1;
V41 : "Dew Point (min)" ["°C"]DEC1;
V42 : "Dew Point (max)" ["°C"]DEC1;
V43 : "Dew Point (avg)" ["°C"]DEC1;
V44 : "Wind chill temperature" ["°C"]DEC1;
V45 : "Heating temperature wind" ["°C"]DEC1;
V46 : "Heating temperature RS2" ["°C"]DEC1;
V47 : "Wind speed (act)" ["m/s"]DEC1;
V48 : "Wind speed (min)" ["m/s"]DEC1;
V49 : "Wind speed (max)" ["m/s"]DEC1;
V50 : "Wind speed (avg)" ["m/s"]DEC1;
V51 : "Wind speed (vct)" ["m/s"]DEC1;
V52 : "Wind speed fast" ["m/s"]DEC1;
V53 : "Precipitation abs" ["mm"]DEC2;
V54 : "Precipitation diff" ["mm"]DEC2;
V55 : "Precipitation" ["mm/h"]DEC2;
V56 : "Absolute Humidity (act)" ["g/m3"]DEC1;
V57 : "Absolute Humidity (min)" ["g/m3"]DEC1;
V58 : "Absolute Humidity (max)" ["g/m3"]DEC1;
V59 : "Absolute Humidity (avg)" ["g/m3"]DEC1;
V60 : "Mixing Ratio (act)" ["g/kg"]DEC1;
V61 : "Mixing Ratio (min)" ["g/kg"]DEC1;
V62 : "Mixing Ratio (max)" ["g/kg"]DEC1;
V63 : "Mixing Ratio (avg)" ["g/kg"]DEC1;
V64 : "Abs Air Pressure (act)" ["hPa"]DEC1;
V65 : "Abs Air Pressure (min)" ["hPa"]DEC1;
V66 : "Abs Air Pressure (max)" ["hPa"]DEC1;
V67 : "Abs Air Pressure (avg)" ["hPa"]DEC1;
V68 : "Wet bulb temperature" ["°C"]DEC1;
V69 : "Specific enthalpy (act)" ["kJ/kg"]DEC3;
V70 : "Air Density (act)" ["kg/m3"]INT;
V71 : "Leaf Wetness (act)" ["mV"]INT;
V72 : "Leaf Wetness (min)" ["mV"]INT;
V73 : "Leaf Wetness (max)" ["mV"]INT;
V74 : "Leaf Wetness (avg)" ["mV"]INT;
V75 : "Leaf wetness state (act)" [""]INT;
V76 : "External temperature (act)" ["°C"]DEC1;
V77 : "Wind Value Quality (fast)" [""]INT;
PRIVATE
BAUDRATE 19200;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadHolding NAMED "ReadHolding" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(03); % Modbus kommando för att läsa register kod 03
DATA[2] := RWORD(0); % Start address
DATA[4] := RWORD(7); % Antal register att läsa
ANSWER SIZE 19 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(14); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
DATA[5] -> RWORD(IF (DATA>=32768) THEN V2:=(DATA-65536)/10; ELSE V2:=DATA/10; ENDIF;);
DATA[7] -> RWORD(V3 := DATA;);
DATA[9] -> RWORD(V4 := DATA;);
DATA[11] -> RWORD(V5 := DATA;);
DATA[13] -> RWORD(V6 := DATA;);
DATA[15] -> RWORD(V7 := DATA;);
TIMEOUT 300
END;
TELEGRAM ReadInput NAMED "ReadInput" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(04); % Modbus kommando för att läsa register kod 04
DATA[2] := RWORD(1); % Start address
DATA[4] := RWORD(109); % Antal register att läsa
ANSWER SIZE 223 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(04);
DATA[2] = BYTE(218); % Antal Bytes
DATA[3] -> RWORD(V8 := DATA;);
DATA[5] -> RWORD(V9 := DATA;);
DATA[7] -> RWORD(V10 := DATA;);
DATA[9] -> RWORD(V11 := DATA;);
DATA[11] -> RWORD(V12 := DATA;);
DATA[13] -> RWORD(V13 := DATA;);
DATA[15] -> RWORD(V14 := DATA;);
DATA[21] -> RWORD(IF (DATA>=32768) THEN V15:=(DATA-65536)/10; ELSE V15:=DATA/10; ENDIF;);
DATA[23] -> RWORD(IF (DATA>=32768) THEN V16:=(DATA-65536)/10; ELSE V16:=DATA/10; ENDIF;);
DATA[25] -> RWORD(IF (DATA>=32768) THEN V17:=(DATA-65536)/10; ELSE V17:=DATA/10; ENDIF;);
DATA[27] -> RWORD(IF (DATA>=32768) THEN V18:=(DATA-65536)/10; ELSE V18:=DATA/10; ENDIF;);
DATA[29] -> RWORD(IF (DATA>=32768) THEN V19:=(DATA-65536)/10; ELSE V19:=DATA/10; ENDIF;);
DATA[31] -> RWORD(IF (DATA>=32768) THEN V20:=(DATA-65536)/10; ELSE V20:=DATA/10; ENDIF;);
DATA[33] -> RWORD(IF (DATA>=32768) THEN V21:=(DATA-65536)/10; ELSE V21:=DATA/10; ENDIF;);
DATA[35] -> RWORD(IF (DATA>=32768) THEN V22:=(DATA-65536)/10; ELSE V22:=DATA/10; ENDIF;);
DATA[37] -> RWORD(IF (DATA>=32768) THEN V23:=(DATA-65536)/10; ELSE V23:=DATA/10; ENDIF;);
DATA[39] -> RWORD(IF (DATA>=32768) THEN V24:=(DATA-65536)/10; ELSE V24:=DATA/10; ENDIF;);
DATA[41] -> RWORD(IF (DATA>=32768) THEN V25:=(DATA-65536)/10; ELSE V25:=DATA/10; ENDIF;);
DATA[43] -> RWORD(IF (DATA>=32768) THEN V26:=(DATA-65536)/10; ELSE V26:=DATA/10; ENDIF;);
DATA[45] -> RWORD(IF (DATA>=32768) THEN V27:=(DATA-65536)/10; ELSE V27:=DATA/10; ENDIF;);
DATA[47] -> RWORD(IF (DATA>=32768) THEN V28:=(DATA-65536)/10; ELSE V28:=DATA/10; ENDIF;);
DATA[49] -> RWORD(IF (DATA>=32768) THEN V29:=(DATA-65536)/10; ELSE V29:=DATA/10; ENDIF;);
DATA[51] -> RWORD(V30 := DATA;);
DATA[53] -> RWORD(V31 := DATA;);
DATA[55] -> RWORD(IF (DATA>=32768) THEN V32:=(DATA-65536)/10; ELSE V32:=DATA/10; ENDIF;);
DATA[57] -> RWORD(IF (DATA>=32768) THEN V33:=(DATA-65536)/10; ELSE V33:=DATA/10; ENDIF;);
DATA[59] -> RWORD(IF (DATA>=32768) THEN V34:=(DATA-65536)/10; ELSE V34:=DATA/10; ENDIF;);
DATA[61] -> RWORD(IF (DATA>=32768) THEN V35:=(DATA-65536)/10; ELSE V35:=DATA/10; ENDIF;);
DATA[63] -> RWORD(IF (DATA>=32768) THEN V36:=(DATA-65536)/10; ELSE V36:=DATA/10; ENDIF;);
DATA[65] -> RWORD(IF (DATA>=32768) THEN V37:=(DATA-65536)/10; ELSE V37:=DATA/10; ENDIF;);
DATA[67] -> RWORD(IF (DATA>=32768) THEN V38:=(DATA-65536)/10; ELSE V38:=DATA/10; ENDIF;);
DATA[69] -> RWORD(IF (DATA>=32768) THEN V39:=(DATA-65536)/10; ELSE V39:=DATA/10; ENDIF;);
DATA[71] -> RWORD(IF (DATA>=32768) THEN V40:=(DATA-65536)/10; ELSE V40:=DATA/10; ENDIF;);
DATA[73] -> RWORD(IF (DATA>=32768) THEN V41:=(DATA-65536)/10; ELSE V41:=DATA/10; ENDIF;);
DATA[75] -> RWORD(IF (DATA>=32768) THEN V42:=(DATA-65536)/10; ELSE V42:=DATA/10; ENDIF;);
DATA[77] -> RWORD(IF (DATA>=32768) THEN V43:=(DATA-65536)/10; ELSE V43:=DATA/10; ENDIF;);
DATA[79] -> RWORD(IF (DATA>=32768) THEN V44:=(DATA-65536)/10; ELSE V44:=DATA/10; ENDIF;);
DATA[81] -> RWORD(IF (DATA>=32768) THEN V45:=(DATA-65536)/10; ELSE V45:=DATA/10; ENDIF;);
DATA[83] -> RWORD(IF (DATA>=32768) THEN V46:=(DATA-65536)/10; ELSE V46:=DATA/10; ENDIF;);
DATA[85] -> RWORD(IF (DATA>=32768) THEN V47:=(DATA-65536)/10; ELSE V47:=DATA/10; ENDIF;);
DATA[87] -> RWORD(IF (DATA>=32768) THEN V48:=(DATA-65536)/10; ELSE V48:=DATA/10; ENDIF;);
DATA[89] -> RWORD(IF (DATA>=32768) THEN V49:=(DATA-65536)/10; ELSE V49:=DATA/10; ENDIF;);
DATA[91] -> RWORD(IF (DATA>=32768) THEN V50:=(DATA-65536)/10; ELSE V50:=DATA/10; ENDIF;);
DATA[93] -> RWORD(IF (DATA>=32768) THEN V51:=(DATA-65536)/10; ELSE V51:=DATA/10; ENDIF;);
DATA[95] -> RWORD(IF (DATA>=32768) THEN V52:=(DATA-65536)/10; ELSE V52:=DATA/10; ENDIF;);
DATA[97] -> RWORD(IF (DATA>=32768) THEN V53:=(DATA-65536)/100; ELSE V53:=DATA/100; ENDIF;);
DATA[99] -> RWORD(IF (DATA>=32768) THEN V54:=(DATA-65536)/100; ELSE V54:=DATA/100; ENDIF;);
DATA[101] -> RWORD(IF (DATA>=32768) THEN V55:=(DATA-65536)/100; ELSE V55:=DATA/100; ENDIF;);
DATA[143] -> RWORD(IF (DATA>=32768) THEN V56:=(DATA-65536)/10; ELSE V56:=DATA/10; ENDIF;);
DATA[145] -> RWORD(IF (DATA>=32768) THEN V57:=(DATA-65536)/10; ELSE V57:=DATA/10; ENDIF;);
DATA[147] -> RWORD(IF (DATA>=32768) THEN V58:=(DATA-65536)/10; ELSE V58:=DATA/10; ENDIF;);
DATA[149] -> RWORD(IF (DATA>=32768) THEN V59:=(DATA-65536)/10; ELSE V59:=DATA/10; ENDIF;);
DATA[151] -> RWORD(IF (DATA>=32768) THEN V60:=(DATA-65536)/10; ELSE V60:=DATA/10; ENDIF;);
DATA[153] -> RWORD(IF (DATA>=32768) THEN V61:=(DATA-65536)/10; ELSE V61:=DATA/10; ENDIF;);
DATA[155] -> RWORD(IF (DATA>=32768) THEN V62:=(DATA-65536)/10; ELSE V62:=DATA/10; ENDIF;);
DATA[157] -> RWORD(IF (DATA>=32768) THEN V63:=(DATA-65536)/10; ELSE V63:=DATA/10; ENDIF;);
DATA[159] -> RWORD(IF (DATA>=32768) THEN V64:=(DATA-65536)/10; ELSE V64:=DATA/10; ENDIF;);
DATA[161] -> RWORD(IF (DATA>=32768) THEN V65:=(DATA-65536)/10; ELSE V65:=DATA/10; ENDIF;);
DATA[163] -> RWORD(IF (DATA>=32768) THEN V66:=(DATA-65536)/10; ELSE V66:=DATA/10; ENDIF;);
DATA[165] -> RWORD(IF (DATA>=32768) THEN V67:=(DATA-65536)/10; ELSE V67:=DATA/10; ENDIF;);
DATA[197] -> RWORD(IF (DATA>=32768) THEN V68:=(DATA-65536)/10; ELSE V68:=DATA/10; ENDIF;);
DATA[201] -> RWORD(IF (DATA>=32768) THEN V69:=(DATA-65536)/1000; ELSE V69:=DATA/1000; ENDIF;);
DATA[203] -> RWORD(IF (DATA>=32768) THEN V70:=(DATA-65536); ELSE V70:=DATA; ENDIF;);
DATA[205] -> RWORD(IF (DATA>=32768) THEN V71:=(DATA-65536); ELSE V71:=DATA; ENDIF;);
DATA[207] -> RWORD(IF (DATA>=32768) THEN V72:=(DATA-65536); ELSE V72:=DATA; ENDIF;);
DATA[209] -> RWORD(IF (DATA>=32768) THEN V73:=(DATA-65536); ELSE V73:=DATA; ENDIF;);
DATA[211] -> RWORD(IF (DATA>=32768) THEN V74:=(DATA-65536); ELSE V74:=DATA; ENDIF;);
DATA[213] -> RWORD(IF (DATA>=32768) THEN V75:=(DATA-65536); ELSE V75:=DATA; ENDIF;);
DATA[215] -> RWORD(IF (DATA>=32768) THEN V76:=(DATA-65536)/10; ELSE V76:=DATA/10; ENDIF;);
DATA[219] -> RWORD(V77 := DATA;);
TIMEOUT 300
END;
END;
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
%
% OBS! Vilka värden som finns varierar beroende på modell
%
DEVICETYPE WSx NAMED "Vädestation WSx" TYPEID 15235 IS
PARAMETER
Id : "Adress" [""]INT;
PUBLIC
V1 : "Local altitude" ["m"]INT;
V2 : "Deviation" ["°"]DEC1;
V3 : "Averaging Interval TFF" ["min"];
V4 : "Averaging Interval Air Pressure" ["min"];
V5 : "Averaging Interval Wind" ["min"];
V6 : "Averaging Interval Global Radiation" ["min"];
V7 : "Heating Mode" [""]INT; % 0=auto, 1=mode 1, 2=Off, 3= Eco 1
V8 : "Device status" [""]INT;
V9 : "Sensor status 1" [""]INT;
V10 : "Sensor status 2" [""]INT;
V11 : "Sensor status 3" [""]INT;
V12 : "Sensor status 4" [""]INT;
V13 : "Sensor status 5" [""]INT;
V14 : "Sensor status 6" [""]INT;
V15 : "Relative Humidity (act)" ["%"]DEC1;
V16 : "Relative Humidity (min)" ["%"]DEC1;
V17 : "Relative Humidity (max)" ["%"]DEC1;
V18 : "Relative Humidity (avg)" ["%"]DEC1;
V19 : "Rel air pressure (act)" ["hPa"]DEC1;
V20 : "Rel air pressure (min)" ["hPa"]DEC1;
V21 : "Rel air pressure (max)" ["hPa"]DEC1;
V22 : "Rel air pressure (avg)" ["hPa"]DEC1;
V23 : "Wind direction (act)" ["°"]DEC1;
V24 : "Wind direction (min)" ["°"]DEC1;
V25 : "Wind direction (max)" ["°"]DEC1;
V26 : "Wind direction (vct)" ["°"]DEC1;
V27 : "Wind direction fast" ["°"]DEC1;
V28 : "Wind direction compass corr" ["°"]DEC1;
V29 : "Compass" ["°"]DEC1;
V30 : "Precipation type" [""]INT;
V31 : "Wind measurement quality" ["%"]INT;
V32 : "Global radiation (act)" ["W/m2"]DEC1;
V33 : "Global radiation (min)" ["W/m2"]DEC1;
V34 : "Global radiation (max)" ["W/m2"]DEC1;
V35 : "Global radiation (avg)" ["W/m2"]DEC1;
V36 : "Air temperature (act)" ["°C"]DEC1;
V37 : "Air temperature (min)" ["°C"]DEC1;
V38 : "Air temperature (max)" ["°C"]DEC1;
V39 : "Air Temperature (avg)" ["°C"]DEC1;
V40 : "Dew Point (act)" ["°C"]DEC1;
V41 : "Dew Point (min)" ["°C"]DEC1;
V42 : "Dew Point (max)" ["°C"]DEC1;
V43 : "Dew Point (avg)" ["°C"]DEC1;
V44 : "Wind chill temperature" ["°C"]DEC1;
V45 : "Heating temperature wind" ["°C"]DEC1;
V46 : "Heating temperature RS2" ["°C"]DEC1;
V47 : "Wind speed (act)" ["m/s"]DEC1;
V48 : "Wind speed (min)" ["m/s"]DEC1;
V49 : "Wind speed (max)" ["m/s"]DEC1;
V50 : "Wind speed (avg)" ["m/s"]DEC1;
V51 : "Wind speed (vct)" ["m/s"]DEC1;
V52 : "Wind speed fast" ["m/s"]DEC1;
V53 : "Precipitation abs" ["mm"]DEC2;
V54 : "Precipitation diff" ["mm"]DEC2;
V55 : "Precipitation" ["mm/h"]DEC2;
V56 : "Absolute Humidity (act)" ["g/m3"]DEC1;
V57 : "Absolute Humidity (min)" ["g/m3"]DEC1;
V58 : "Absolute Humidity (max)" ["g/m3"]DEC1;
V59 : "Absolute Humidity (avg)" ["g/m3"]DEC1;
V60 : "Mixing Ratio (act)" ["g/kg"]DEC1;
V61 : "Mixing Ratio (min)" ["g/kg"]DEC1;
V62 : "Mixing Ratio (max)" ["g/kg"]DEC1;
V63 : "Mixing Ratio (avg)" ["g/kg"]DEC1;
V64 : "Abs Air Pressure (act)" ["hPa"]DEC1;
V65 : "Abs Air Pressure (min)" ["hPa"]DEC1;
V66 : "Abs Air Pressure (max)" ["hPa"]DEC1;
V67 : "Abs Air Pressure (avg)" ["hPa"]DEC1;
V68 : "Wet bulb temperature" ["°C"]DEC1;
V69 : "Specific enthalpy (act)" ["kJ/kg"]DEC3;
V70 : "Air Density (act)" ["kg/m3"]INT;
V71 : "Leaf Wetness (act)" ["mV"]INT;
V72 : "Leaf Wetness (min)" ["mV"]INT;
V73 : "Leaf Wetness (max)" ["mV"]INT;
V74 : "Leaf Wetness (avg)" ["mV"]INT;
V75 : "Leaf wetness state (act)" [""]INT;
V76 : "External temperature (act)" ["°C"]DEC1;
V77 : "Wind Value Quality (fast)" [""]INT;
PRIVATE
BAUDRATE 19200;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadHolding NAMED "ReadHolding" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(03); % Modbus kommando för att läsa register kod 03
DATA[2] := RWORD(0); % Start address
DATA[4] := RWORD(7); % Antal register att läsa
ANSWER SIZE 19 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(14); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
DATA[5] -> RWORD(IF (DATA>=32768) THEN V2:=(DATA-65536)/10; ELSE V2:=DATA/10; ENDIF;);
DATA[7] -> RWORD(V3 := DATA;);
DATA[9] -> RWORD(V4 := DATA;);
DATA[11] -> RWORD(V5 := DATA;);
DATA[13] -> RWORD(V6 := DATA;);
DATA[15] -> RWORD(V7 := DATA;);
TIMEOUT 300
END;
TELEGRAM ReadInput NAMED "ReadInput" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(04); % Modbus kommando för att läsa register kod 04
DATA[2] := RWORD(1); % Start address
DATA[4] := RWORD(109); % Antal register att läsa
ANSWER SIZE 223 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(04);
DATA[2] = BYTE(218); % Antal Bytes
DATA[3] -> RWORD(V8 := DATA;);
DATA[5] -> RWORD(V9 := DATA;);
DATA[7] -> RWORD(V10 := DATA;);
DATA[9] -> RWORD(V11 := DATA;);
DATA[11] -> RWORD(V12 := DATA;);
DATA[13] -> RWORD(V13 := DATA;);
DATA[15] -> RWORD(V14 := DATA;);
DATA[21] -> RWORD(IF (DATA>=32768) THEN V15:=(DATA-65536)/10; ELSE V15:=DATA/10; ENDIF;);
DATA[23] -> RWORD(IF (DATA>=32768) THEN V16:=(DATA-65536)/10; ELSE V16:=DATA/10; ENDIF;);
DATA[25] -> RWORD(IF (DATA>=32768) THEN V17:=(DATA-65536)/10; ELSE V17:=DATA/10; ENDIF;);
DATA[27] -> RWORD(IF (DATA>=32768) THEN V18:=(DATA-65536)/10; ELSE V18:=DATA/10; ENDIF;);
DATA[29] -> RWORD(IF (DATA>=32768) THEN V19:=(DATA-65536)/10; ELSE V19:=DATA/10; ENDIF;);
DATA[31] -> RWORD(IF (DATA>=32768) THEN V20:=(DATA-65536)/10; ELSE V20:=DATA/10; ENDIF;);
DATA[33] -> RWORD(IF (DATA>=32768) THEN V21:=(DATA-65536)/10; ELSE V21:=DATA/10; ENDIF;);
DATA[35] -> RWORD(IF (DATA>=32768) THEN V22:=(DATA-65536)/10; ELSE V22:=DATA/10; ENDIF;);
DATA[37] -> RWORD(IF (DATA>=32768) THEN V23:=(DATA-65536)/10; ELSE V23:=DATA/10; ENDIF;);
DATA[39] -> RWORD(IF (DATA>=32768) THEN V24:=(DATA-65536)/10; ELSE V24:=DATA/10; ENDIF;);
DATA[41] -> RWORD(IF (DATA>=32768) THEN V25:=(DATA-65536)/10; ELSE V25:=DATA/10; ENDIF;);
DATA[43] -> RWORD(IF (DATA>=32768) THEN V26:=(DATA-65536)/10; ELSE V26:=DATA/10; ENDIF;);
DATA[45] -> RWORD(IF (DATA>=32768) THEN V27:=(DATA-65536)/10; ELSE V27:=DATA/10; ENDIF;);
DATA[47] -> RWORD(IF (DATA>=32768) THEN V28:=(DATA-65536)/10; ELSE V28:=DATA/10; ENDIF;);
DATA[49] -> RWORD(IF (DATA>=32768) THEN V29:=(DATA-65536)/10; ELSE V29:=DATA/10; ENDIF;);
DATA[51] -> RWORD(V30 := DATA;);
DATA[53] -> RWORD(V31 := DATA;);
DATA[55] -> RWORD(IF (DATA>=32768) THEN V32:=(DATA-65536)/10; ELSE V32:=DATA/10; ENDIF;);
DATA[57] -> RWORD(IF (DATA>=32768) THEN V33:=(DATA-65536)/10; ELSE V33:=DATA/10; ENDIF;);
DATA[59] -> RWORD(IF (DATA>=32768) THEN V34:=(DATA-65536)/10; ELSE V34:=DATA/10; ENDIF;);
DATA[61] -> RWORD(IF (DATA>=32768) THEN V35:=(DATA-65536)/10; ELSE V35:=DATA/10; ENDIF;);
DATA[63] -> RWORD(IF (DATA>=32768) THEN V36:=(DATA-65536)/10; ELSE V36:=DATA/10; ENDIF;);
DATA[65] -> RWORD(IF (DATA>=32768) THEN V37:=(DATA-65536)/10; ELSE V37:=DATA/10; ENDIF;);
DATA[67] -> RWORD(IF (DATA>=32768) THEN V38:=(DATA-65536)/10; ELSE V38:=DATA/10; ENDIF;);
DATA[69] -> RWORD(IF (DATA>=32768) THEN V39:=(DATA-65536)/10; ELSE V39:=DATA/10; ENDIF;);
DATA[71] -> RWORD(IF (DATA>=32768) THEN V40:=(DATA-65536)/10; ELSE V40:=DATA/10; ENDIF;);
DATA[73] -> RWORD(IF (DATA>=32768) THEN V41:=(DATA-65536)/10; ELSE V41:=DATA/10; ENDIF;);
DATA[75] -> RWORD(IF (DATA>=32768) THEN V42:=(DATA-65536)/10; ELSE V42:=DATA/10; ENDIF;);
DATA[77] -> RWORD(IF (DATA>=32768) THEN V43:=(DATA-65536)/10; ELSE V43:=DATA/10; ENDIF;);
DATA[79] -> RWORD(IF (DATA>=32768) THEN V44:=(DATA-65536)/10; ELSE V44:=DATA/10; ENDIF;);
DATA[81] -> RWORD(IF (DATA>=32768) THEN V45:=(DATA-65536)/10; ELSE V45:=DATA/10; ENDIF;);
DATA[83] -> RWORD(IF (DATA>=32768) THEN V46:=(DATA-65536)/10; ELSE V46:=DATA/10; ENDIF;);
DATA[85] -> RWORD(IF (DATA>=32768) THEN V47:=(DATA-65536)/10; ELSE V47:=DATA/10; ENDIF;);
DATA[87] -> RWORD(IF (DATA>=32768) THEN V48:=(DATA-65536)/10; ELSE V48:=DATA/10; ENDIF;);
DATA[89] -> RWORD(IF (DATA>=32768) THEN V49:=(DATA-65536)/10; ELSE V49:=DATA/10; ENDIF;);
DATA[91] -> RWORD(IF (DATA>=32768) THEN V50:=(DATA-65536)/10; ELSE V50:=DATA/10; ENDIF;);
DATA[93] -> RWORD(IF (DATA>=32768) THEN V51:=(DATA-65536)/10; ELSE V51:=DATA/10; ENDIF;);
DATA[95] -> RWORD(IF (DATA>=32768) THEN V52:=(DATA-65536)/10; ELSE V52:=DATA/10; ENDIF;);
DATA[97] -> RWORD(IF (DATA>=32768) THEN V53:=(DATA-65536)/100; ELSE V53:=DATA/100; ENDIF;);
DATA[99] -> RWORD(IF (DATA>=32768) THEN V54:=(DATA-65536)/100; ELSE V54:=DATA/100; ENDIF;);
DATA[101] -> RWORD(IF (DATA>=32768) THEN V55:=(DATA-65536)/100; ELSE V55:=DATA/100; ENDIF;);
DATA[143] -> RWORD(IF (DATA>=32768) THEN V56:=(DATA-65536)/10; ELSE V56:=DATA/10; ENDIF;);
DATA[145] -> RWORD(IF (DATA>=32768) THEN V57:=(DATA-65536)/10; ELSE V57:=DATA/10; ENDIF;);
DATA[147] -> RWORD(IF (DATA>=32768) THEN V58:=(DATA-65536)/10; ELSE V58:=DATA/10; ENDIF;);
DATA[149] -> RWORD(IF (DATA>=32768) THEN V59:=(DATA-65536)/10; ELSE V59:=DATA/10; ENDIF;);
DATA[151] -> RWORD(IF (DATA>=32768) THEN V60:=(DATA-65536)/10; ELSE V60:=DATA/10; ENDIF;);
DATA[153] -> RWORD(IF (DATA>=32768) THEN V61:=(DATA-65536)/10; ELSE V61:=DATA/10; ENDIF;);
DATA[155] -> RWORD(IF (DATA>=32768) THEN V62:=(DATA-65536)/10; ELSE V62:=DATA/10; ENDIF;);
DATA[157] -> RWORD(IF (DATA>=32768) THEN V63:=(DATA-65536)/10; ELSE V63:=DATA/10; ENDIF;);
DATA[159] -> RWORD(IF (DATA>=32768) THEN V64:=(DATA-65536)/10; ELSE V64:=DATA/10; ENDIF;);
DATA[161] -> RWORD(IF (DATA>=32768) THEN V65:=(DATA-65536)/10; ELSE V65:=DATA/10; ENDIF;);
DATA[163] -> RWORD(IF (DATA>=32768) THEN V66:=(DATA-65536)/10; ELSE V66:=DATA/10; ENDIF;);
DATA[165] -> RWORD(IF (DATA>=32768) THEN V67:=(DATA-65536)/10; ELSE V67:=DATA/10; ENDIF;);
DATA[197] -> RWORD(IF (DATA>=32768) THEN V68:=(DATA-65536)/10; ELSE V68:=DATA/10; ENDIF;);
DATA[201] -> RWORD(IF (DATA>=32768) THEN V69:=(DATA-65536)/1000; ELSE V69:=DATA/1000; ENDIF;);
DATA[203] -> RWORD(IF (DATA>=32768) THEN V70:=(DATA-65536); ELSE V70:=DATA; ENDIF;);
DATA[205] -> RWORD(IF (DATA>=32768) THEN V71:=(DATA-65536); ELSE V71:=DATA; ENDIF;);
DATA[207] -> RWORD(IF (DATA>=32768) THEN V72:=(DATA-65536); ELSE V72:=DATA; ENDIF;);
DATA[209] -> RWORD(IF (DATA>=32768) THEN V73:=(DATA-65536); ELSE V73:=DATA; ENDIF;);
DATA[211] -> RWORD(IF (DATA>=32768) THEN V74:=(DATA-65536); ELSE V74:=DATA; ENDIF;);
DATA[213] -> RWORD(IF (DATA>=32768) THEN V75:=(DATA-65536); ELSE V75:=DATA; ENDIF;);
DATA[215] -> RWORD(IF (DATA>=32768) THEN V76:=(DATA-65536)/10; ELSE V76:=DATA/10; ENDIF;);
DATA[219] -> RWORD(V77 := DATA;);
TIMEOUT 300
END;
END;
Användarnas noteringar
Du måste vara inloggad för att göra en notering. Bli medlem eller logga in. Vi använder en moderator som godkänner noteringarna innan de visas.