Procon MODMUX MM6RTDB
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 2
- Uppdaterad
- 2013-08-27
- Skapad
- 2013-08-27
- Kategori
- IO enheter, Modbus
- Visningar
- 2320
Beskrivning
Drivrutin till Procon MODMUX MM6RTDB io enhet
Bruksanvisning
Ladda in typdefinitionen enligt beskrivningen i manualen kapitel 18.2.
Datablad för modulerna hittar man på Procons hemsida: http://www.proconel.com/
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
DEVICETYPE PROCON_MM6RTDB NAMED "PROCON_MM6RTDB" TYPEID 21101
IS
%
% Typdefinition för PROCON MOD-MUX modul MM6RTDB till ABELKO Webmaster Pro.
%
% Denna modul har 6 ingångar för PT1000 temperaturgivare.
%
% Hur man installerar typdefinitionerna och driftsätter modulerna finns
% beskrivet i användarmanualen, kapitel 18.7.
%
% Datablad för modulerna hittar man på Procons hemsida:
% http://www.proconel.com/modmux.htm
%
% Modified: 101111 Version number added to parameters.
% No check of version numbres.
%
PARAMETER
Id :"Address"INT;
PUBLIC
ver1 : "S/W version"INT;
ver2 : "Module type"INT;
temp1 : "Temperatur 1"["°C"]DEC2;
temp2 : "Temperatur 2"["°C"]DEC2;
temp3 : "Temperatur 3"["°C"]DEC2;
temp4 : "Temperatur 4"["°C"]DEC2;
temp5 : "Temperatur 5"["°C"]DEC2;
temp6 : "Temperatur 6"["°C"]DEC2;
PRIVATE
Exp;
BAUDRATE 19200;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read NAMED "Read" IS
QUESTION
DATA[0] := BYTE(Id);
DATA[1] := HEX(04); % Command 4 Input registers
DATA[2] := HEX(00); % Start address
DATA[3] := HEX(00);
DATA[4] := HEX(00); % Number of bytes
DATA[5] := HEX(07);
ANSWER SIZE 19
DATA[0] = BYTE(Id);
DATA[1] = HEX(04);
DATA[2] = HEX(0E); % Number of data bytes
DATA[3] -> BYTE(ver1 := DATA;); % Sotware version
DATA[4] -> BYTE(ver2 := DATA;); % Module type
DATA[5] -> RWORD(IF (DATA>=32768) THEN temp1:=(DATA-65536)/10; ELSE temp1 := DATA/10;ENDIF;);
DATA[7] -> RWORD(IF (DATA>=32768) THEN temp2:=(DATA-65536)/10; ELSE temp2 := DATA/10;ENDIF;);
DATA[9] -> RWORD(IF (DATA>=32768) THEN temp3:=(DATA-65536)/10; ELSE temp3 := DATA/10;ENDIF;);
DATA[11] -> RWORD(IF (DATA>=32768) THEN temp4:=(DATA-65536)/10; ELSE temp4 := DATA/10;ENDIF;);
DATA[13] -> RWORD(IF (DATA>=32768) THEN temp5:=(DATA-65536)/10; ELSE temp5 := DATA/10;ENDIF;);
DATA[15] -> RWORD(IF (DATA>=32768) THEN temp6:=(DATA-65536)/10; ELSE temp6 := DATA/10;ENDIF;);
TIMEOUT 500
END;
END;
IS
%
% Typdefinition för PROCON MOD-MUX modul MM6RTDB till ABELKO Webmaster Pro.
%
% Denna modul har 6 ingångar för PT1000 temperaturgivare.
%
% Hur man installerar typdefinitionerna och driftsätter modulerna finns
% beskrivet i användarmanualen, kapitel 18.7.
%
% Datablad för modulerna hittar man på Procons hemsida:
% http://www.proconel.com/modmux.htm
%
% Modified: 101111 Version number added to parameters.
% No check of version numbres.
%
PARAMETER
Id :"Address"INT;
PUBLIC
ver1 : "S/W version"INT;
ver2 : "Module type"INT;
temp1 : "Temperatur 1"["°C"]DEC2;
temp2 : "Temperatur 2"["°C"]DEC2;
temp3 : "Temperatur 3"["°C"]DEC2;
temp4 : "Temperatur 4"["°C"]DEC2;
temp5 : "Temperatur 5"["°C"]DEC2;
temp6 : "Temperatur 6"["°C"]DEC2;
PRIVATE
Exp;
BAUDRATE 19200;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read NAMED "Read" IS
QUESTION
DATA[0] := BYTE(Id);
DATA[1] := HEX(04); % Command 4 Input registers
DATA[2] := HEX(00); % Start address
DATA[3] := HEX(00);
DATA[4] := HEX(00); % Number of bytes
DATA[5] := HEX(07);
ANSWER SIZE 19
DATA[0] = BYTE(Id);
DATA[1] = HEX(04);
DATA[2] = HEX(0E); % Number of data bytes
DATA[3] -> BYTE(ver1 := DATA;); % Sotware version
DATA[4] -> BYTE(ver2 := DATA;); % Module type
DATA[5] -> RWORD(IF (DATA>=32768) THEN temp1:=(DATA-65536)/10; ELSE temp1 := DATA/10;ENDIF;);
DATA[7] -> RWORD(IF (DATA>=32768) THEN temp2:=(DATA-65536)/10; ELSE temp2 := DATA/10;ENDIF;);
DATA[9] -> RWORD(IF (DATA>=32768) THEN temp3:=(DATA-65536)/10; ELSE temp3 := DATA/10;ENDIF;);
DATA[11] -> RWORD(IF (DATA>=32768) THEN temp4:=(DATA-65536)/10; ELSE temp4 := DATA/10;ENDIF;);
DATA[13] -> RWORD(IF (DATA>=32768) THEN temp5:=(DATA-65536)/10; ELSE temp5 := DATA/10;ENDIF;);
DATA[15] -> RWORD(IF (DATA>=32768) THEN temp6:=(DATA-65536)/10; ELSE temp6 := DATA/10;ENDIF;);
TIMEOUT 500
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.