Procon MM8AO via MOD-MUX modul
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 1
- Uppdaterad
- 2013-08-28
- Skapad
- 2013-08-28
- Kategori
- IO enheter, Modbus
- Visningar
- 2347
Beskrivning
Typdefinition för PROCON MOD-MUX modul MM8AO
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Typdefinition för PROCON MOD-MUX modul MM8AO till ABELKO Webmaster Pro.
%
% Denna modul har 8 0-20 mA strömutgångar.
%
% 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
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2012-05-02 Inital version
%
DEVICETYPE PROCON_MM8AO NAMED "PROCON_MM8AO" TYPEID 21103 IS
PARAMETER
Id :"Address"INT;
ao1 :"Ström 1"["mA"];
ao2 :"Ström 2"["mA"];
ao3 :"Ström 3"["mA"];
ao4 :"Ström 4"["mA"];
ao5 :"Ström 5"["mA"];
ao6 :"Ström 6"["mA"];
ao7 :"Ström 7"["mA"];
ao8 :"Ström 8"["mA"];
PUBLIC
PRIVATE
tmp;
BAUDRATE 19200;
CHECKSUM MODBUS SWAPPED;
TELEGRAM WriteOutputs NAMED "Write Outputs" IS
QUESTION
DATA[0] := BYTE(Id);
DATA[1] := HEX(10); % kommando 16(10h)
DATA[2] := RWORD(1); % Start address register 40002 (-1)
DATA[4] := RWORD(8); % Number of registers
DATA[6] := BYTE(16); % Number of bytes
DATA[7] <- RWORD(
IF ao1 >= 20 THEN tmp:=4095; ELSE tmp := ao1*204.75; ENDIF;
DATA := tmp;
);
DATA[9] <- RWORD(
IF ao2 >= 20 THEN tmp:=4095; ELSE tmp := ao2*204.75; ENDIF;
DATA := tmp;
);
DATA[11] <- RWORD(
IF ao3 >= 20 THEN tmp:=4095; ELSE tmp := ao3*204.75; ENDIF;
DATA := tmp;
);
DATA[13] <- RWORD(
IF ao4 >= 20 THEN tmp:=4095; ELSE tmp := ao4*204.75; ENDIF;
DATA := tmp;
);
DATA[15] <- RWORD(
IF ao5 >= 20 THEN tmp:=4095; ELSE tmp := ao5*204.75; ENDIF;
DATA := tmp;
);
DATA[17] <- RWORD(
IF ao6 >= 20 THEN tmp:=4095; ELSE tmp := ao6*204.75; ENDIF;
DATA := tmp;
);
DATA[19] <- RWORD(
IF ao7 >= 20 THEN tmp:=4095; ELSE tmp := ao7*204.75; ENDIF;
DATA := tmp;
);
DATA[21] <- RWORD(
IF ao8 >= 20 THEN tmp:=4095; ELSE tmp := ao8*204.75; ENDIF;
DATA := tmp;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(10);
DATA[2] = RWORD(1); % Start address register 40002 (-1)
DATA[4] = RWORD(8); % Number of registers
TIMEOUT 500
END;
END;
% Typdefinition för PROCON MOD-MUX modul MM8AO till ABELKO Webmaster Pro.
%
% Denna modul har 8 0-20 mA strömutgångar.
%
% 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
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2012-05-02 Inital version
%
DEVICETYPE PROCON_MM8AO NAMED "PROCON_MM8AO" TYPEID 21103 IS
PARAMETER
Id :"Address"INT;
ao1 :"Ström 1"["mA"];
ao2 :"Ström 2"["mA"];
ao3 :"Ström 3"["mA"];
ao4 :"Ström 4"["mA"];
ao5 :"Ström 5"["mA"];
ao6 :"Ström 6"["mA"];
ao7 :"Ström 7"["mA"];
ao8 :"Ström 8"["mA"];
PUBLIC
PRIVATE
tmp;
BAUDRATE 19200;
CHECKSUM MODBUS SWAPPED;
TELEGRAM WriteOutputs NAMED "Write Outputs" IS
QUESTION
DATA[0] := BYTE(Id);
DATA[1] := HEX(10); % kommando 16(10h)
DATA[2] := RWORD(1); % Start address register 40002 (-1)
DATA[4] := RWORD(8); % Number of registers
DATA[6] := BYTE(16); % Number of bytes
DATA[7] <- RWORD(
IF ao1 >= 20 THEN tmp:=4095; ELSE tmp := ao1*204.75; ENDIF;
DATA := tmp;
);
DATA[9] <- RWORD(
IF ao2 >= 20 THEN tmp:=4095; ELSE tmp := ao2*204.75; ENDIF;
DATA := tmp;
);
DATA[11] <- RWORD(
IF ao3 >= 20 THEN tmp:=4095; ELSE tmp := ao3*204.75; ENDIF;
DATA := tmp;
);
DATA[13] <- RWORD(
IF ao4 >= 20 THEN tmp:=4095; ELSE tmp := ao4*204.75; ENDIF;
DATA := tmp;
);
DATA[15] <- RWORD(
IF ao5 >= 20 THEN tmp:=4095; ELSE tmp := ao5*204.75; ENDIF;
DATA := tmp;
);
DATA[17] <- RWORD(
IF ao6 >= 20 THEN tmp:=4095; ELSE tmp := ao6*204.75; ENDIF;
DATA := tmp;
);
DATA[19] <- RWORD(
IF ao7 >= 20 THEN tmp:=4095; ELSE tmp := ao7*204.75; ENDIF;
DATA := tmp;
);
DATA[21] <- RWORD(
IF ao8 >= 20 THEN tmp:=4095; ELSE tmp := ao8*204.75; ENDIF;
DATA := tmp;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(10);
DATA[2] = RWORD(1); % Start address register 40002 (-1)
DATA[4] = RWORD(8); % Number of registers
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.