Circurator CVM MINI power analyzer
Detaljer
Beskrivning
The CVM-MINI panel analyzer is a programmable measuring instrument; it offers a series of options for using it, which may be selected from configuration menus on the instrument itself. Before starting the analyzer carefully read sections: power supply, connection and setting and select the most suitable form of operation in order to obtain
the required data.
Bruksanvisning
No special instruction needed.
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for CIRCUTOR CVM-MINI settings
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Author: Ove Jansson, ABELKO AB Luleå
% History: 2011-04-05 initial version
%
DEVICETYPE CircutorRead1 NAMED "Circutor Reg1-20" TYPEID 21410 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "L1_Voltage_phase" ["V"]; % x10
V2 : "L1_Current" ["mA"];
V3 : "L1_Active_power" ["w"];
V4 : "L1_Reactive_Power" ["w"];
V5 : "L1_Power_factor" [""]; % x100
V6 : "L2_Voltage_phase" ["V"]; % x10
V7 : "L2_Current" ["mA"];
V8 : "L2_Active_power" ["w"];
V9 : "L2_Reactive_Power" ["w"];
V10 : "L2_Power_factor" [""]; % x100
V11 : "L3_Voltage_phase" ["V"]; % x10
V12 : "L3_Current" ["mA"];
V13 : "L3_Active_power" ["w"];
V14 : "L3_Reactive_Power" ["w"];
V15 : "L3_Power_factor" [""]; % x100
V16 : "Active_power_III" ["w"];
V17 : "Inductive_power_III" ["w"];
V18 : "Capacitive_power_III" ["w"];
V19 : "Cos_psi_III" [""]; % x100
V20 : "Power_factor_III" [""]; % x100
PRIVATE
Tmp1;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM AnalogInput1 NAMED "Läs Reg 1-20" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(0); % OBS!! Register adress = Modbusadress in spec
DATA[4] := RWORD(40); % Number of registers
ANSWER SIZE 85 % antal register *2 + 5
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(80); % Byte count
DATA[3] -> RWORD(Tmp1 := DATA*65536;);
DATA[5] -> RWORD(V1 := (Tmp1 + DATA) / 10;); % V1 : "L1_Voltage_phase" ["V"]; % x10
DATA[7] -> RWORD(Tmp1 := DATA*65536;);
DATA[9] -> RWORD(V2 := (Tmp1 + DATA);); % V2 : "L1_Current" ["mA"];
DATA[11] -> RWORD(Tmp1 := DATA*65536;);
DATA[13] -> RWORD(V3 := (Tmp1 + DATA);); % V3 : "L1_Active_power" ["w"];
DATA[15] -> RWORD(Tmp1 := DATA*65536;);
DATA[17] -> RWORD(V4 := (Tmp1 + DATA);); % V4 : "L1_Reactive_Power" ["w"];
DATA[19] -> RWORD(Tmp1 := DATA*65536;);
DATA[21] -> RWORD(V5 := (Tmp1 + (DATA)) / 100;); % V5 : "L1_Power_factor" [""]; % x100
DATA[23] -> RWORD(Tmp1 := DATA*65536;);
DATA[25] -> RWORD(V6 := (Tmp1 + (DATA)) / 10;); % V6 : "L2_Voltage_phase" ["V"]; % x10
DATA[27] -> RWORD(Tmp1 := DATA*65536;);
DATA[29] -> RWORD(V7 := (Tmp1 + (DATA));); % V7 : "L2_Current" ["mA"];
DATA[31] -> RWORD(Tmp1 := DATA*65536;);
DATA[33] -> RWORD(V8 := (Tmp1 + (DATA));); % V8 : "L2_Active_power" ["w"];
DATA[35] -> RWORD(Tmp1 := DATA*65536;);
DATA[37] -> RWORD(V9 := (Tmp1 + (DATA));); % V9 : "L2_Reactive_Power" ["w"];
DATA[39] -> RWORD(Tmp1 := DATA*65536;);
DATA[41] -> RWORD(V10 := (Tmp1 + (DATA)) / 100;); % V10 : "L2_Power_factor" [""]; % x100
DATA[43] -> RWORD(Tmp1 := DATA*65536;);
DATA[45] -> RWORD(V11 := Tmp1 + (DATA);); % V11 : "L3_Voltage_phase" ["V"]; % x10
DATA[47] -> RWORD(Tmp1 := DATA*65536;);
DATA[49] -> RWORD(V12 := Tmp1 + (DATA);); % V12 : "L3_Current" ["mA"];
DATA[51] -> RWORD(Tmp1 := DATA*65536;);
DATA[53] -> RWORD(V13 := Tmp1 + (DATA);); % V13 : "L3_Active_power" ["w"];
DATA[55] -> RWORD(Tmp1 := DATA*65536;);
DATA[57] -> RWORD(V14 := Tmp1 + (DATA);); % V14 : "L3_Reactive_Power" ["w"];
DATA[59] -> RWORD(Tmp1 := DATA*65536;);
DATA[61] -> RWORD(V15 := (Tmp1 + (DATA)) / 100;); % V15 : "L3_Power_factor" [""]; % x100
DATA[63] -> RWORD(Tmp1 := DATA*65536;);
DATA[65] -> RWORD(V16 := Tmp1 + (DATA);); % V16 : "Active_power_III" ["w"];
DATA[67] -> RWORD(Tmp1 := DATA*65536;);
DATA[69] -> RWORD(V17 := Tmp1 + (DATA);); % V17 : "Inductive_power_III" ["w"];
DATA[71] -> RWORD(Tmp1 := DATA*65536;);
DATA[73] -> RWORD(V18 := Tmp1 + (DATA);); % V18 : "Capacitive_power_III" ["w"];
DATA[75] -> RWORD(Tmp1 := DATA*65536;);
DATA[77] -> RWORD(V19 := (Tmp1 + (DATA)) / 100;); % V19 : "Cos_psi_III" [""]; % x100
DATA[79] -> RWORD(Tmp1 := DATA*65536;);
DATA[81] -> RWORD(V20 := (Tmp1 + (DATA)) / 100;); % V20 : "Power_factor_III" [""]; % x100
TIMEOUT 2000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for CIRCUTOR CVM-MINI settings
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Author: Ove Jansson, ABELKO AB Luleå
% History: 2011-04-05 initial version
%
DEVICETYPE CircutorRead2 NAMED "Circutor Reg21-40" TYPEID 21411 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Frequency" ["Hz"]; % x10 28
V2 : "Voltage_line_L1-L2" ["V"]; % x10 2a
V3 : "Voltage_line_L2-L3" ["V"]; % x10 2c
V4 : "Voltage_line_L3-L1" ["V"]; % x10 2e
V5 : "Percent_THD_V_L1" ["%"]; % x10 30
V6 : "Percent_THD_V_L2" ["%"]; % x10 32
V7 : "Percent_THD_V_L3" ["%"]; % x10 34
V8 : "Percent_THD_A_L1" ["%"]; % x10 36
V9 : "Percent_THD_A_L2" ["%"]; % x10 38
V10 : "Percent_THD_A_L3" ["%"]; % x10 3a
V11 : "Active_energy" ["wh"]; % 3c
V12 : "Induct_reactive_energy" ["wh"]; % 3e
V13 : "Capac_reactive_energy" ["wh"]; % 40
V14 : "Apparent_Power_III" ["w"]; % 42
V15 : "Maximum_demand" [""]; % w/VA/mA 44
V16 : "3p_current_Avg" ["mA"]; % 46
V17 : "Neutral_current" ["mA"]; % 48
V18 : "L1_Apparent_power" ["mA"]; % 4a
V19 : "L2_Apparent_power" ["mA"]; % 4c
V20 : "L3_Apparent_power" ["mA"]; % 4e
PRIVATE
Tmp2;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM AnalogInput2 NAMED "Läs Reg 21-40" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(40); % OBS!! Register adress = Modbusadress in spec
DATA[4] := RWORD(40); % Number of registers
ANSWER SIZE 85 % antal register (2 per värde) *2 + 5
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(80); % Byte count
DATA[3] -> RWORD(Tmp2 := DATA*65536;);
DATA[5] -> RWORD(V1 := (Tmp2 + (DATA)) / 10;); % V1 : "Frequency" ["Hz"]; x10
DATA[7] -> RWORD(Tmp2 := DATA*65536;);
DATA[9] -> RWORD(V2 := (Tmp2 + (DATA)) / 10;); % V2 : "Voltage_line_L1-L2" ["V"]; x10
DATA[11] -> RWORD(Tmp2 := DATA*65536;);
DATA[13] -> RWORD(V3 := (Tmp2 + (DATA)) / 10;); % V3 : "Voltage_line_L2-L3" ["V"]; x10
DATA[15] -> RWORD(Tmp2 := DATA*65536;);
DATA[17] -> RWORD(V4 := (Tmp2 + (DATA)) / 10;); % V4 : "Voltage_line_L3-L1" ["V"]; x10
DATA[19] -> RWORD(Tmp2 := DATA*65536;);
DATA[21] -> RWORD(V5 := (Tmp2 + (DATA)) / 10;); % V5 : "Percent_THD_V_L1" ["%"]; x10
DATA[23] -> RWORD(Tmp2 := DATA*65536;);
DATA[25] -> RWORD(V6 := (Tmp2 + (DATA)) / 10;); % V6 : "Percent_THD_V_L2" ["%"]; x10
DATA[27] -> RWORD(Tmp2 := DATA*65536;);
DATA[29] -> RWORD(V7 := (Tmp2 + (DATA)) / 10;); % V7 : "Percent_THD_V_L3" ["%"]; x10
DATA[31] -> RWORD(Tmp2 := DATA*65536;);
DATA[33] -> RWORD(V8 := (Tmp2 + (DATA)) / 10;); % V8 : "Percent_THD_A_L1" ["%"]; x10
DATA[35] -> RWORD(Tmp2 := DATA*65536;);
DATA[37] -> RWORD(V9 := (Tmp2 + (DATA)) / 10;); % V9 : "Percent_THD_A_L2" ["%"]; x10
DATA[39] -> RWORD(Tmp2 := DATA*65536;);
DATA[41] -> RWORD(V10 := (Tmp2 + (DATA)) / 10;); % V10 : "Percent_THD_A_L3" ["%"]; x10
DATA[43] -> RWORD(Tmp2 := DATA*65536;);
DATA[45] -> RWORD(V11 := Tmp2 + (DATA);); % V11 : "Active_energy" ["wh"];
DATA[47] -> RWORD(Tmp2 := DATA*65536;);
DATA[49] -> RWORD(V12 := Tmp2 + (DATA);); % V12 : "Induct_reactive_energy" ["wh"];
DATA[51] -> RWORD(Tmp2 := DATA*65536;);
DATA[53] -> RWORD(V13 := Tmp2 + (DATA);); % V13 : "Capac_reactive_energy" ["wh"];
DATA[55] -> RWORD(Tmp2 := DATA*65536;);
DATA[57] -> RWORD(V14 := Tmp2 + (DATA);); % V14 : "Apparent_Power_III" ["w"];
DATA[59] -> RWORD(Tmp2 := DATA*65536;);
DATA[61] -> RWORD(V15 := Tmp2 + (DATA);); % V15 : "Maximum_demand" [""]; w/VA/mA
DATA[63] -> RWORD(Tmp2 := DATA*65536;);
DATA[65] -> RWORD(V16 := Tmp2 + (DATA);); % V16 : "3p_current_Avg" ["mA"];
DATA[67] -> RWORD(Tmp2 := DATA*65536;);
DATA[69] -> RWORD(V17 := Tmp2 + (DATA);); % V17 : "Neutral_current" ["mA"];
DATA[71] -> RWORD(Tmp2 := DATA*65536;);
DATA[73] -> RWORD(V18 := Tmp2 + (DATA);); % V18 : "L1_Apparent_power" ["°w"]; % 4a
DATA[75] -> RWORD(Tmp2 := DATA*65536;);
DATA[77] -> RWORD(V19 := Tmp2 + (DATA);); % V19 : "L2_Apparent_power" ["mA"]; % 4c
DATA[79] -> RWORD(Tmp2 := DATA*65536;);
DATA[81] -> RWORD(V20 := Tmp2 + (DATA);); % V20 : "L3_Apparent_power" ["mA"]; % 4e
TIMEOUT 2000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for CIRCUTOR CVM-MINI settings
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Author: Ove Jansson, ABELKO AB Luleå
% History: 2011-04-05 initial version
%
DEVICETYPE CircutorRead3 NAMED "Circutor Reg41-48" TYPEID 21412 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Temperature" ["°C"]; % x10 50
V2 : "Maximum_demand_A2" ["mA"]; % 52
V3 : "Maximum_demand_A3" ["mA"]; % 54
V4 : "Apparent_energy" ["wh"]; % 56
V5 : "Active_energy_gen" ["wh"]; % 58
V6 : "Induct_energy_gen" ["wh"]; % 5a
V7 : "Capacitiv_energy_gen" ["wh"]; % 5c
V8 : "Apparent_energy_gen" ["wh"]; % 5e
PRIVATE
Tmp3;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM AnalogInput3 NAMED "Läs Reg 41-48" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(80); % OBS!! Register adress = Modbusadress in spec
DATA[4] := RWORD(16); % Number of registers
ANSWER SIZE 21 % antal register *2 + 5
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(32); % Byte count
DATA[3] -> RWORD(Tmp3 := DATA*65536;);
DATA[5] -> RWORD(Tmp3 := Tmp3 + DATA; IF Tmp3 > 2147483647 THEN V1 := (Tmp3-4294967296) / 10; ELSE V1 := Tmp3 / 10; ENDIF;); % V18 : "Temperature" ["°C"]; x10
DATA[7] -> RWORD(Tmp3 := DATA*65536;);
DATA[9] -> RWORD(V2 := Tmp3 + DATA;); % V2 : "Maximum_demand_A2" ["mA"]; 52
DATA[11] -> RWORD(Tmp3 := DATA*65536;);
DATA[13] -> RWORD(V3 := Tmp3 + DATA;); % V3 : "Maximum_demand_A3" ["mA"];
DATA[15] -> RWORD(Tmp3 := DATA*65536;);
DATA[17] -> RWORD(V4 := Tmp3 + DATA;); % V4 : "Apparent_energy" ["wh"];
DATA[19] -> RWORD(Tmp3 := DATA*65536;);
DATA[21] -> RWORD(V5 := Tmp3 + DATA;); % V5 : "Active_energy_gen" ["wh"];
DATA[23] -> RWORD(Tmp3 := DATA*65536;);
DATA[25] -> RWORD(V6 := Tmp3 + DATA;); % V6 : "Induct_energy_gen" ["wh"];
DATA[27] -> RWORD(Tmp3 := DATA*65536;);
DATA[29] -> RWORD(V7 := Tmp3 + DATA;); % V7 : "Capacitiv_energy_gen" ["wh"];
DATA[31] -> RWORD(Tmp3 := DATA*65536;);
DATA[33] -> RWORD(V8 := Tmp3 + DATA;); % V8 : "Apparent_energy_gen" ["wh"];
TIMEOUT 2000
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.