Procon MODMUX MM8VO
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 2
- Uppdaterad
- 2013-08-27
- Skapad
- 2013-08-27
- Kategori
- IO enheter, Modbus
- Visningar
- 2382
Beskrivning
Drivrutin till Procon IO modul
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_MM8VO NAMED "PROCON_MM8VO" TYPEID 21102
IS
%
% Typdefinition för PROCON MOD-MUX modul MM8VO till ABELKO Webmaster Pro.
%
% Denna modul har 8 0-10 V spänningsutgå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
%
PARAMETER
Id :"Address"INT;
ao1 :"Spänning 1"["V"];
ao2 :"Spänning 2"["V"];
ao3 :"Spänning 3"["V"];
ao4 :"Spänning 4"["V"];
ao5 :"Spänning 5"["V"];
ao6 :"Spänning 6"["V"];
ao7 :"Spänning 7"["V"];
ao8 :"Spänning 8"["V"];
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] := HEX(00); %
DATA[3] := HEX(01);
DATA[4] := HEX(00);
DATA[5] := HEX(08);
DATA[6] := HEX(10);
DATA[7] <- RWORD(
IF ao1 >= 10 THEN tmp:=4096; ELSE tmp := ao1*409.6; ENDIF;
DATA := tmp;
);
DATA[9] <- RWORD(
IF ao2 >= 10 THEN tmp:=4096; ELSE tmp := ao2*409.6; ENDIF;
DATA := tmp;
);
DATA[11] <- RWORD(
IF ao3 >= 10 THEN tmp:=4096; ELSE tmp := ao3*409.6; ENDIF;
DATA := tmp;
);
DATA[13] <- RWORD(
IF ao4 >= 10 THEN tmp:=4096; ELSE tmp := ao4*409.6; ENDIF;
DATA := tmp;
);
DATA[15] <- RWORD(
IF ao5 >= 10 THEN tmp:=4096; ELSE tmp := ao5*409.6; ENDIF;
DATA := tmp;
);
DATA[17] <- RWORD(
IF ao6 >= 10 THEN tmp:=4096; ELSE tmp := ao6*409.6; ENDIF;
DATA := tmp;
);
DATA[19] <- RWORD(
IF ao7 >= 10 THEN tmp:=4096; ELSE tmp := ao7*409.6; ENDIF;
DATA := tmp;
);
DATA[21] <- RWORD(
IF ao8 >= 10 THEN tmp:=4096; ELSE tmp := ao8*409.6; ENDIF;
DATA := tmp;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(10);
DATA[2] = HEX(00);
DATA[3] = HEX(01);
DATA[4] = HEX(00);
DATA[5] = HEX(08);
TIMEOUT 500
END;
END;
IS
%
% Typdefinition för PROCON MOD-MUX modul MM8VO till ABELKO Webmaster Pro.
%
% Denna modul har 8 0-10 V spänningsutgå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
%
PARAMETER
Id :"Address"INT;
ao1 :"Spänning 1"["V"];
ao2 :"Spänning 2"["V"];
ao3 :"Spänning 3"["V"];
ao4 :"Spänning 4"["V"];
ao5 :"Spänning 5"["V"];
ao6 :"Spänning 6"["V"];
ao7 :"Spänning 7"["V"];
ao8 :"Spänning 8"["V"];
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] := HEX(00); %
DATA[3] := HEX(01);
DATA[4] := HEX(00);
DATA[5] := HEX(08);
DATA[6] := HEX(10);
DATA[7] <- RWORD(
IF ao1 >= 10 THEN tmp:=4096; ELSE tmp := ao1*409.6; ENDIF;
DATA := tmp;
);
DATA[9] <- RWORD(
IF ao2 >= 10 THEN tmp:=4096; ELSE tmp := ao2*409.6; ENDIF;
DATA := tmp;
);
DATA[11] <- RWORD(
IF ao3 >= 10 THEN tmp:=4096; ELSE tmp := ao3*409.6; ENDIF;
DATA := tmp;
);
DATA[13] <- RWORD(
IF ao4 >= 10 THEN tmp:=4096; ELSE tmp := ao4*409.6; ENDIF;
DATA := tmp;
);
DATA[15] <- RWORD(
IF ao5 >= 10 THEN tmp:=4096; ELSE tmp := ao5*409.6; ENDIF;
DATA := tmp;
);
DATA[17] <- RWORD(
IF ao6 >= 10 THEN tmp:=4096; ELSE tmp := ao6*409.6; ENDIF;
DATA := tmp;
);
DATA[19] <- RWORD(
IF ao7 >= 10 THEN tmp:=4096; ELSE tmp := ao7*409.6; ENDIF;
DATA := tmp;
);
DATA[21] <- RWORD(
IF ao8 >= 10 THEN tmp:=4096; ELSE tmp := ao8*409.6; ENDIF;
DATA := tmp;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(10);
DATA[2] = HEX(00);
DATA[3] = HEX(01);
DATA[4] = HEX(00);
DATA[5] = HEX(08);
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.