IMSE ExM28

Detaljer

Typ
Drivrutin
Upplaggd av
Daniel Carlson, Abelko Innovation
Version
9
Uppdaterad
2016-05-13
Skapad
2015-01-15
Kategori
AEACom, IO enheter
Visningar
5384

Beskrivning

Typdefinition för Abelkos expansionsmodul ExM28 som ingår IMSE-familjen. Detta skript används då modulen kopplas på en AeA-combuss.
Modulen har 8 universalingångar, 8 digitala ingångar, 6 analoga utgångar och 6 digitala reläutgångar.

Bruksanvisning

Manual

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 IMSE ExM28
%
% History: 2016-05-13 DC Munit added for counters and frequency
%
AEADEVICE EXP_M28 NAMED "ExM28" TYPEID 64002 IS
  % Type definition
  PARAMETER
    %%%%%%%%%%%%%%%%%%%%%%%
    % Communication timeout
    ComTimeout: "Com timeout" [""]   INT
      | (sv)   "Kommunikationstimeout"
      | (en)   "Communication timeout"
      | (MENU) "YES";
    
    %%%%%%%%%%%%%%%%
    % Reset counters
    DI1_CounterReset :"DI1 Reset counter" [""] INT
      | (sv)   "DI1 Nollställ räknare"
      | (en)   "DI1 Reset counter"
      | (NODE) "DI1";
      
    DI2_CounterReset :"DI2 Reset counter" [""] INT
      | (sv)   "DI2 Nollställ räknare"
      | (en)   "DI2 Reset counter"
      | (NODE) "DI2";
      
    DI3_CounterReset :"DI3 Reset counter" [""] INT
      | (sv)   "DI3 Nollställ räknare"
      | (en)   "DI3 Reset counter"
      | (NODE) "DI3";
      
    DI4_CounterReset :"DI4 Reset counter" [""] INT
      | (sv)   "DI4 Nollställ räknare"
      | (en)   "DI4 Reset counter"
      | (NODE) "DI4";
      
    DI5_CounterReset :"DI5 Reset counter" [""] INT
      | (sv)   "DI5 Nollställ räknare"
      | (en)   "DI5 Reset counter"
      | (NODE) "DI5";
      
    DI6_CounterReset :"DI6 Reset counter" [""] INT
      | (sv)   "DI6 Nollställ räknare"
      | (en)   "DI6 Reset counter"
      | (NODE) "DI6";
      
    DI7_CounterReset :"DI7 Reset counter" [""] INT
      | (sv)   "DI7 Nollställ räknare"
      | (en)   "DI7 Reset counter"
      | (NODE) "DI7";
      
    DI8_CounterReset :"DI8 Reset counter" [""] INT
      | (sv)   "DI8 Nollställ räknare"
      | (en)   "DI8 Reset counter"
      | (NODE) "DI8";

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Reset counter overflow flag
    DI1_OverflowFlagReset :"DI1 Reset overflow flag" [""] INT
      | (sv)   "DI1 Nollställ fullindikering"
      | (en)   "DI1 Reset overflow flag"
      | (NODE) "DI1";
      
    DI2_OverflowFlagReset :"DI2 Reset overflow flag" [""] INT
      | (sv)   "DI2 Nollställ fullindikering"
      | (en)   "DI2 Reset overflow flag"
      | (NODE) "DI2";
      
    DI3_OverflowFlagReset :"DI3 Reset overflow flag" [""] INT
      | (sv)   "DI3 Nollställ fullindikering"
      | (en)   "DI3 Reset overflow flag"
      | (NODE) "DI3";
      
    DI4_OverflowFlagReset :"DI4 Reset overflow flag" [""] INT
      | (sv)   "DI4 Nollställ fullindikering"
      | (en)   "DI4 Reset overflow flag"
      | (NODE) "DI4";
      
    DI5_OverflowFlagReset :"DI5 Reset overflow flag" [""] INT
      | (sv)   "DI5 Nollställ fullindikering"
      | (en)   "DI5 Reset overflow flag"
      | (NODE) "DI5";
      
    DI6_OverflowFlagReset :"DI6 Reset overflow flag" [""] INT
      | (sv)   "DI6 Nollställ fullindikering"
      | (en)   "DI6 Reset overflow flag"
      | (NODE) "DI6";
      
    DI7_OverflowFlagReset :"DI7 Reset overflow flag" [""] INT
      | (sv)   "DI7 Nollställ fullindikering"
      | (en)   "DI7 Reset overflow flag"
      | (NODE) "DI7";
      
    DI8_OverflowFlagReset :"DI8 Reset overflow flag" [""] INT
      | (sv)   "DI8 Nollställ fullindikering"
      | (en)   "DI8 Reset overflow flag"
      | (NODE) "DI8";
    
    %%%%%%%%%%%%%%%%
    % Flank Settings
    DI1_FlankSettings: "DI1 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI1 Flankinställning"
      | (en)   "DI1 Flank setting"
      | (NODE) "DI1"
      | (MENU) "YES";
      
    DI2_FlankSettings: "DI2 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI2 Flankinställning"
      | (en)   "DI2 Flank setting"
      | (NODE) "DI2"
      | (MENU) "YES";
      
    DI3_FlankSettings: "DI3 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI3 Flankinställning"
      | (en)   "DI3 Flank setting"
      | (NODE) "DI3"
      | (MENU) "YES";
      
    DI4_FlankSettings: "DI4 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI4 Flankinställning"
      | (en)   "DI4 Flank setting"
      | (NODE) "DI4"
      | (MENU) "YES";
    
    DI5_FlankSettings: "DI5 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI5 Flankinställning"
      | (en)   "DI5 Flank setting"
      | (NODE) "DI5"
      | (MENU) "YES";
      
    DI6_FlankSettings: "DI6 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI6 Flankinställning"
      | (en)   "DI6 Flank setting"
      | (NODE) "DI6"
      | (MENU) "YES";
      
    DI7_FlankSettings: "DI7 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI7 Flankinställning"
      | (en)   "DI7 Flank setting"
      | (NODE) "DI7"
      | (MENU) "YES";
      
    DI8_FlankSettings: "DI8 Pulse edge" ["Positiv,Negativ,Båda"]   ENUM
      | (sv)   "DI8 Flankinställning"
      | (en)   "DI8 Flank setting"
      | (NODE) "DI8"
      | (MENU) "YES";
      
    %%%%%%%%%%%%%%
    % Trip voltage
    DI_TripVoltage: "DI Trip voltage" ["10V,4V"] ENUM
      | (sv)   "DI Omslagsspänning"
      | (en)   "DI Trip voltage"
      | (MENU) "YES";
      
    %%%%%%%%%%%%%%%%
    % Digital output
    DO1: "DO1" [""] INT
      | (sv)   "DO1"
      | (en)   "DO1"
      | (NODE) "DO1";
      
    DO2: "DO2" [""] INT
      | (sv)   "DO2"
      | (en)   "DO2"
      | (NODE) "DO2";
      
    DO3: "DO3" [""] INT
      | (sv)   "DO3"
      | (en)   "DO3"
      | (NODE) "DO3";
      
    DO4: "DO4" [""] INT
      | (sv)   "DO4"
      | (en)   "DO4"
      | (NODE) "DO4";
      
    DO5: "DO5" [""] INT
      | (sv)   "DO5"
      | (en)   "DO5"
      | (NODE) "DO5";
      
    DO6: "DO6" [""] INT
      | (sv)   "DO6"
      | (en)   "DO6"
      | (NODE) "DO6";
      
    %%%%%%%%%%%%%%%%%%%%%%
    % Universal input type
    UI1_Type: "UI1_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI1 Typ av mätning"
      | (en)   "UI1 Measurement type"
      | (NODE) "UI1"
      | (MENU) "YES";
      
    UI2_Type: "UI2_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI2 Typ av mätning"
      | (en)   "UI2 Measurement type"
      | (NODE) "UI2"
      | (MENU) "YES";
      
    UI3_Type: "UI3_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI3 Typ av mätning"
      | (en)   "UI3 Measurement type"
      | (NODE) "UI3"
      | (MENU) "YES";
      
    UI4_Type: "UI4_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI4 Typ av mätning"
      | (en)   "UI4 Measurement type"
      | (NODE) "UI4"
      | (MENU) "YES";
      
    UI5_Type: "UI5_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI5 Typ av mätning"
      | (en)   "UI5 Measurement type"
      | (NODE) "UI5"
      | (MENU) "YES";
      
    UI6_Type: "UI6_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI6 Typ av mätning"
      | (en)   "UI6 Measurement type"
      | (NODE) "UI6"
      | (MENU) "YES";
      
    UI7_Type: "UI7_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI7 Typ av mätning"
      | (en)   "UI7 Measurement type"
      | (NODE) "UI7"
      | (MENU) "YES";
      
    UI8_Type: "UI8_Type" ["Ohm,Volt,mA,DI"] ENUM
      | (sv)   "UI8 Typ av mätning"
      | (en)   "UI8 Measurement type"
      | (NODE) "UI8"
      | (MENU) "YES";
    
    %%%%%%%%%%%%%%%%
    % Resistor Range
    UI1_Range :     "UI1_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI1 Mätområde" 
      | (en) "UI1 Measurement range"
      | (NODE) "UI1"
      | (MENU) "COND, UI1_Type, =, 0";      
      
    UI2_Range :     "UI2_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI2 Mätområde" 
      | (en) "UI2 Measurement range"
      | (NODE) "UI2"
      | (MENU) "COND, UI2_Type, =, 0";      
      
    UI3_Range :     "UI3_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI3 Mätområde" 
      | (en) "UI3 Measurement range"
      | (NODE) "UI3"
      | (MENU) "COND, UI3_Type, =, 0";      
      
    UI4_Range :     "UI4_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI4 Mätområde" 
      | (en) "UI4 Measurement range"
      | (NODE) "UI4"
      | (MENU) "COND, UI4_Type, =, 0";      
      
    UI5_Range :     "UI5_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI5 Mätområde" 
      | (en) "UI5 Measurement range"
      | (NODE) "UI5"
      | (MENU) "COND, UI5_Type, =, 0";      
      
    UI6_Range :     "UI6_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI6 Mätområde" 
      | (en) "UI6 Measurement range"
      | (NODE) "UI6"
      | (MENU) "COND, UI6_Type, =, 0";      
      
    UI7_Range :     "UI7_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI7 Mätområde" 
      | (en) "UI7 Measurement range"
      | (NODE) "UI7"
      | (MENU) "COND, UI7_Type, =, 0";      
      
    UI8_Range :     "UI8_Range " ["Auto,250,2500,25000,250000"] ENUM 
      | (sv) "UI8 Mätområde" 
      | (en) "UI8 Measurement range"
      | (NODE) "UI8"
      | (MENU) "COND, UI8_Type, =, 0";
          
    %%%%%%%%%%%%%%%
    % Analog output
    AO1: "AO1" ["V"] DEC2
      | (sv)   "AO1"
      | (en)   "AO1"
      | (NODE) "AO1";
      
    AO2: "AO2" ["V"] DEC2
      | (sv)   "AO2"
      | (en)   "AO2"
      | (NODE) "AO2";
      
    AO3: "AO3" ["V"] DEC2
      | (sv)   "AO3"
      | (en)   "AO3"
      | (NODE) "AO3";
      
    AO4: "AO4" ["V"] DEC2
      | (sv)   "AO4"
      | (en)   "AO4"
      | (NODE) "AO4";
      
    AO5: "AO5" ["V"] DEC2
      | (sv)   "AO5"
      | (en)   "AO5"
      | (NODE) "AO5";
      
    AO6: "AO6" ["V"] DEC2
      | (sv)   "AO6"
      | (en)   "AO6"
      | (NODE) "AO6";
            
  PUBLIC
    %%%%%%%%%%%%%%%%%%%%%%%
    % Cable sequence number
    CSN: "CSN" [""]   INT
      | (sv)   "Kabelsekvensnummer"
      | (en)   "Cable sequence number"
      | (MENU) "YES";

    %%%%%%%%%%%%%%%
    % Digital input
    DI1  :"DI1" [""] INT
      | (sv)   "DI1"
      | (en)   "DI1"
      | (NODE) "DI1";
      
    DI2  :"DI2" [""] INT
      | (sv)   "DI2"
      | (en)   "DI2"
      | (NODE) "DI2";
      
    DI3  :"DI3" [""] INT
      | (sv)   "DI3"
      | (en)   "DI3"
      | (NODE) "DI3";
      
    DI4  :"DI4" [""] INT
      | (sv)   "DI4"
      | (en)   "DI4"
      | (NODE) "DI4";
      
    DI5  :"DI5" [""] INT
      | (sv)   "DI5"
      | (en)   "DI5"
      | (NODE) "DI5";
      
    DI6  :"DI6" [""] INT
      | (sv)   "DI6"
      | (en)   "DI6"
      | (NODE) "DI6";
      
    DI7  :"DI7" [""] INT
      | (sv)   "DI7"
      | (en)   "DI7"
      | (NODE) "DI7";
      
    DI8  :"DI8" [""] INT
      | (sv)   "DI8"
      | (en)   "DI8"
      | (NODE) "DI8";
      
    %%%%%%%%%%%
    % Frequency
    DI1_Freq   :"DI1 Frequency"  ["Hz"] DEC2
      | (sv)    "DI1 Frekvens"
      | (en)    "DI1 Frequency"
      | (NODE)  "DI1"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI2_Freq   :"DI2 Frequency"  ["Hz"] DEC2
      | (sv)    "DI2 Frekvens"
      | (en)    "DI2 Frequency"
      | (NODE)  "DI2"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI3_Freq   :"DI3 Frequency"  ["Hz"] DEC2
      | (sv)    "DI3 Frekvens"
      | (en)    "DI3 Frequency"
      | (NODE)  "DI3"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI4_Freq   :"DI4 Frequency"  ["Hz"] DEC2
      | (sv)    "DI4 Frekvens"
      | (en)    "DI4 Frequency"
      | (NODE)  "DI4"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI5_Freq   :"DI5 Frequency"  ["Hz"] DEC2
      | (sv)    "DI5 Frekvens"
      | (en)    "DI5 Frequency"
      | (NODE)  "DI5"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI6_Freq   :"DI6 Frequency"  ["Hz"] DEC2
      | (sv)    "DI6 Frekvens"
      | (en)    "DI6 Frequency"
      | (NODE)  "DI6"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI7_Freq   :"DI7 Frequency"  ["Hz"] DEC2
      | (sv)    "DI7 Frekvens"
      | (en)    "DI7 Frequency"
      | (NODE)  "DI7"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    DI8_Freq   :"DI8 Frequency"  ["Hz"] DEC2
      | (sv)    "DI8 Frekvens"
      | (en)    "DI8 Frequency"
      | (NODE)  "DI8"
      | (MUNIT) "Hertz"
      | (RANGE) "0-200";

      
    %%%%%%%%%
    % Counter
    DI1_Counter  :"DI1 Counter" [""]   INT
      | (sv)    "DI1 Räknare"
      | (en)    "DI1 Counter"
      | (NODE)  "DI1"
      | (MUNIT) "pulses";

      
    DI2_Counter  :"DI2 Counter" [""]   INT
      | (sv)    "DI2 Räknare"
      | (en)    "DI2 Counter"
      | (NODE)  "DI2"
      | (MUNIT) "pulses";

      
    DI3_Counter  :"DI3 Counter" [""]   INT
      | (sv)    "DI3 Räknare"
      | (en)    "DI3 Counter"
      | (NODE)  "DI3"
      | (MUNIT) "pulses";

      
    DI4_Counter  :"DI4 Counter" [""]   INT
      | (sv)    "DI4 Räknare"
      | (en)    "DI4 Counter"
      | (NODE)  "DI4"
      | (MUNIT) "pulses";

      
    DI5_Counter  :"DI5 Counter" [""]   INT
      | (sv)    "DI5 Räknare"
      | (en)    "DI5 Counter"
      | (NODE)  "DI5"
      | (MUNIT) "pulses";

      
    DI6_Counter  :"DI6 Counter" [""]   INT
      | (sv)    "DI6 Räknare"
      | (en)    "DI6 Counter"
      | (NODE)  "DI6"
      | (MUNIT) "pulses";

      
    DI7_Counter  :"DI7 Counter" [""]   INT
      | (sv)    "DI7 Räknare"
      | (en)    "DI7 Counter"
      | (NODE)  "DI7"
      | (MUNIT) "pulses";

      
    DI8_Counter  :"DI8 Counter" [""]   INT
      | (sv)    "DI8 Räknare"
      | (en)    "DI8 Counter"
      | (NODE)  "DI8"
      | (MUNIT) "pulses";

    
    %%%%%%%%%%%%%%%%%%
    % Counter overflow
    DI1_Overflow :"DI1 Counter Overflow" [""] INT
      | (sv)   "DI1 Räknare full"
      | (en)   "DI1 Counter overflow"
      | (NODE) "DI1";
      
    DI2_Overflow :"DI2 Counter Overflow" [""] INT
      | (sv)   "DI2 Räknare full"
      | (en)   "DI2 Counter overflow"
      | (NODE) "DI2";
      
    DI3_Overflow :"DI3 Counter Overflow" [""] INT
      | (sv)   "DI3 Räknare full"
      | (en)   "DI3 Counter overflow"
      | (NODE) "DI3";
      
    DI4_Overflow :"DI4 Counter Overflow" [""] INT
      | (sv)   "DI4 Räknare full"
      | (en)   "DI4 Counter overflow"
      | (NODE) "DI4";
      
    DI5_Overflow :"DI5 Counter Overflow" [""] INT
      | (sv)   "DI5 Räknare full"
      | (en)   "DI5 Counter overflow"
      | (NODE) "DI5";
      
    DI6_Overflow :"DI6 Counter Overflow" [""] INT
      | (sv)   "DI6 Räknare full"
      | (en)   "DI6 Counter overflow"
      | (NODE) "DI6";
      
    DI7_Overflow :"DI7 Counter Overflow" [""] INT
      | (sv)   "DI7 Räknare full"
      | (en)   "DI7 Counter overflow"
      | (NODE) "DI7";
      
    DI8_Overflow :"DI8 Counter Overflow" [""] INT
      | (sv)   "DI8 Räknare full"
      | (en)   "DI8 Counter overflow"
      | (NODE) "DI8";
      
    %%%%%%%%%%%%%%%
    % Short circuit
    DI_ShortCirc: "DI Short Circuit" [""] INT 
      | (sv)   "DI Kortslutning"
      | (en)   "DI Short circuit"
      | (MENU) "YES";
      
    %%%%%%%%%%%%%
    % DO Override
    DO1_Overridden : "DO1 Manually overriden" [""] INT
      | (sv)   "DO1 Manuelt styrd"
      | (en)   "DO1 Manually overriden"
      | (NODE) "DO1";
      
    DO2_Overridden : "DO2 Manually overriden" [""] INT
      | (sv)   "DO2 Manuelt styrd"
      | (en)   "DO2 Manually overriden"
      | (NODE) "DO2";
      
    DO3_Overridden : "DO3 Manually overriden" [""] INT
      | (sv)   "DO3 Manuelt styrd"
      | (en)   "DO3 Manually overriden"
      | (NODE) "DO3";
      
    DO4_Overridden : "DO4 Manually overriden" [""] INT
      | (sv)   "DO4 Manuelt styrd"
      | (en)   "DO4 Manually overriden"
      | (NODE) "DO4";
   
    DO5_Overridden : "DO5 Manually overriden" [""] INT
      | (sv)   "DO5 Manuelt styrd"
      | (en)   "DO5 Manually overriden"
      | (NODE) "DO5";
      
    DO6_Overridden : "DO6 Manually overriden" [""] INT
      | (sv)   "DO6 Manuelt styrd"
      | (en)   "DO6 Manually overriden"
      | (NODE) "DO6";
    
    %%%%%%%%%%%%%%%%%%%%%%%
    % Universal input value
    UI1 : "UI1" [""] DEC2
      | (sv)   "UI1"
      | (en)   "UI1"
      | (NODE) "UI1"
  | (MUNIT) "IOC, UI1_Type"
  | (RANGE) "IOC, UI1_Type, SRV, UI1_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI2 : "UI2" [""] DEC2
      | (sv)   "UI2"
      | (en)   "UI2"
      | (NODE) "UI2"
  | (MUNIT) "IOC, UI2_Type"
  | (RANGE) "IOC, UI2_Type, SRV, UI2_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI3 : "UI3" [""] DEC2
      | (sv)   "UI3"
      | (en)   "UI3"
      | (NODE) "UI3"
  | (MUNIT) "IOC, UI3_Type"
  | (RANGE) "IOC, UI3_Type, SRV, UI3_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI4 : "UI4" [""] DEC2
      | (sv)   "UI4"
      | (en)   "UI4"
      | (NODE) "UI4"
  | (MUNIT) "IOC, UI4_Type"
  | (RANGE) "IOC, UI4_Type, SRV, UI4_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI5 : "UI5" [""] DEC2
      | (sv)   "UI5"
      | (en)   "UI5"
      | (NODE) "UI5"
  | (MUNIT) "IOC, UI5_Type"
  | (RANGE) "IOC, UI5_Type, SRV, UI5_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI6 : "UI6" [""] DEC2
      | (sv)   "UI6"
      | (en)   "UI6"
      | (NODE) "UI6"
  | (MUNIT) "IOC, UI6_Type"
  | (RANGE) "IOC, UI6_Type, SRV, UI6_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI7 : "UI7" [""] DEC2
      | (sv)   "UI7"
      | (en)   "UI7"
      | (NODE) "UI7"
  | (MUNIT) "IOC, UI7_Type"
  | (RANGE) "IOC, UI7_Type, SRV, UI7_Range, R, 0-10, R, 0-20, R, 0/1";
      
    UI8 : "UI8" [""] DEC2
      | (sv)   "UI8"
      | (en)   "UI8"
      | (NODE) "UI8"
  | (MUNIT) "IOC, UI8_Type"
  | (RANGE) "IOC, UI8_Type, SRV, UI8_Range, R, 0-10, R, 0-20, R, 0/1";
   
    %%%%%%%%%%%%%%%%%%%%%%%%
    % Universal input status
    UI1_Status : "UI1 Status" [""] INT
      | (sv)   "UI1 Status"
      | (en)   "UI1 Status"
      | (NODE) "UI1";
      
    UI2_Status : "UI2 Status" [""] INT
      | (sv)   "UI2 Status"
      | (en)   "UI2 Status"
      | (NODE) "UI2";
      
    UI3_Status : "UI3 Status" [""] INT
      | (sv)   "UI3 Status"
      | (en)   "UI3 Status"
      | (NODE) "UI3";
      
    UI4_Status : "UI4 Status" [""] INT
      | (sv)   "UI4 Status"
      | (en)   "UI4 Status"
      | (NODE) "UI4";
      
    UI5_Status : "UI5 Status" [""] INT
      | (sv)   "UI5 Status"
      | (en)   "UI5 Status"
      | (NODE) "UI5";
      
    UI6_Status : "UI6 Status" [""] INT
      | (sv)   "UI6 Status"
      | (en)   "UI6 Status"
      | (NODE) "UI6";
      
    UI7_Status : "UI7 Status" [""] INT
      | (sv)   "UI7 Status"
      | (en)   "UI7 Status"
      | (NODE) "UI7";
      
    UI8_Status : "UI8 Status" [""] INT
      | (sv)   "UI8 Status"
      | (en)   "UI8 Status"
      | (NODE) "UI8";
      
    %%%%%%%%%%%%%
    % AO Override
    AO1_Overridden : "AO1 Manually overriden" [""] DEC2
      | (sv)   "AO1 Manuelt styrd"
      | (en)   "AO1 Manually overriden"
      | (NODE) "AO1";
      
    AO2_Overridden : "AO2 Manually overriden" [""] DEC2
      | (sv)   "AO2 Manuelt styrd"
      | (en)   "AO2 Manually overriden"
      | (NODE) "AO2";
      
    AO3_Overridden : "AO3 Manually overriden" [""] DEC2
      | (sv)   "AO3 Manuelt styrd"
      | (en)   "AO3 Manually overriden"
      | (NODE) "AO3";
      
    AO4_Overridden : "AO4 Manually overriden" [""] DEC2
      | (sv)   "AO4 Manuelt styrd"
      | (en)   "AO4 Manually overriden"
      | (NODE) "AO4";
      
    AO5_Overridden : "AO5 Manually overriden" [""] DEC2
      | (sv)   "AO5 Manuelt styrd"
      | (en)   "AO5 Manually overriden"
      | (NODE) "AO5";
      
    AO6_Overridden : "AO6 Manually overriden" [""] DEC2
      | (sv)   "AO6 Manuelt styrd"
      | (en)   "AO6 Manually overriden"
      | (NODE) "AO6";
  
  PRIVATE
    
  MESSAGE MAXSIZE 152
    DATA[0]  -> BYTE(CSN := DATA;);

    DATA[1]  -> BYTE(DI1 := DATA;);
    DATA[2]  -> BYTE(DI2 := DATA;);
    DATA[3]  -> BYTE(DI3 := DATA;);
    DATA[4]  -> BYTE(DI4 := DATA;);
    DATA[5]  -> BYTE(DI5 := DATA;);
    DATA[6]  -> BYTE(DI6 := DATA;);
    DATA[7]  -> BYTE(DI7 := DATA;);
    DATA[8]  -> BYTE(DI8 := DATA;);

    DATA[9]  -> FLOAT(DI1_Freq := DATA;);
    DATA[13] -> FLOAT(DI2_Freq := DATA;);
    DATA[17] -> FLOAT(DI3_Freq := DATA;);
    DATA[21] -> FLOAT(DI4_Freq := DATA;);
    DATA[25] -> FLOAT(DI5_Freq := DATA;);
    DATA[29] -> FLOAT(DI6_Freq := DATA;);
    DATA[33] -> FLOAT(DI7_Freq := DATA;);
    DATA[37] -> FLOAT(DI8_Freq := DATA;);

    DATA[41] -> WORD32(DI1_Counter := DATA;);
    DATA[45] -> WORD32(DI2_Counter := DATA;);
    DATA[49] -> WORD32(DI3_Counter := DATA;);
    DATA[53] -> WORD32(DI4_Counter := DATA;);
    DATA[57] -> WORD32(DI5_Counter := DATA;);
    DATA[61] -> WORD32(DI6_Counter := DATA;);
    DATA[65] -> WORD32(DI7_Counter := DATA;);
    DATA[69] -> WORD32(DI8_Counter := DATA;);
    
    DATA[73] -> BYTE(DI1_Overflow := DATA;);
    DATA[74] -> BYTE(DI2_Overflow := DATA;);
    DATA[75] -> BYTE(DI3_Overflow := DATA;);
    DATA[76] -> BYTE(DI4_Overflow := DATA;);
    DATA[77] -> BYTE(DI5_Overflow := DATA;);
    DATA[78] -> BYTE(DI6_Overflow := DATA;);
    DATA[79] -> BYTE(DI7_Overflow := DATA;);
    DATA[80] -> BYTE(DI8_Overflow := DATA;);

    DATA[81] -> BYTE(DI_ShortCirc := DATA;);

    DATA[82] -> BYTE(DO1_Overridden := DATA;);
    DATA[83] -> BYTE(DO2_Overridden := DATA;);
    DATA[84] -> BYTE(DO3_Overridden := DATA;);
    DATA[85] -> BYTE(DO4_Overridden := DATA;);
    DATA[86] -> BYTE(DO5_Overridden := DATA;);
    DATA[87] -> BYTE(DO6_Overridden := DATA;);
    
    DATA[88]  -> FLOAT(UI1 := DATA;);
    DATA[92]  -> FLOAT(UI2 := DATA;);
    DATA[96]  -> FLOAT(UI3 := DATA;);
    DATA[100] -> FLOAT(UI4 := DATA;);
    DATA[104] -> FLOAT(UI5 := DATA;);
    DATA[108] -> FLOAT(UI6 := DATA;);
    DATA[112] -> FLOAT(UI7 := DATA;);
    DATA[116] -> FLOAT(UI8 := DATA;);
    
    DATA[120] -> BYTE(UI1_Status := DATA;);
    DATA[121] -> BYTE(UI2_Status := DATA;);
    DATA[122] -> BYTE(UI3_Status := DATA;);
    DATA[123] -> BYTE(UI4_Status := DATA;);
    DATA[124] -> BYTE(UI5_Status := DATA;);
    DATA[125] -> BYTE(UI6_Status := DATA;);
    DATA[126] -> BYTE(UI7_Status := DATA;);
    DATA[127] -> BYTE(UI8_Status := DATA;);
    
    DATA[128] -> FLOAT(AO1_Overridden := DATA;);
    DATA[132] -> FLOAT(AO2_Overridden := DATA;);
    DATA[136] -> FLOAT(AO3_Overridden := DATA;);
    DATA[140] -> FLOAT(AO4_Overridden := DATA;);
    DATA[144] -> FLOAT(AO5_Overridden := DATA;);
    DATA[148] -> FLOAT(AO6_Overridden := DATA;);
      
  ACKNOWLEDGE
    DATA[0]  := BYTE(ComTimeout);

    DATA[1]  := BYTE(DI1_CounterReset + DI1_OverflowFlagReset*2 + DI1_FlankSettings*4);
    DATA[2]  := BYTE(DI2_CounterReset + DI2_OverflowFlagReset*2 + DI2_FlankSettings*4);
    DATA[3]  := BYTE(DI3_CounterReset + DI3_OverflowFlagReset*2 + DI3_FlankSettings*4);
    DATA[4]  := BYTE(DI4_CounterReset + DI4_OverflowFlagReset*2 + DI4_FlankSettings*4);
    DATA[5]  := BYTE(DI5_CounterReset + DI5_OverflowFlagReset*2 + DI5_FlankSettings*4);
    DATA[6]  := BYTE(DI6_CounterReset + DI6_OverflowFlagReset*2 + DI6_FlankSettings*4);
    DATA[7]  := BYTE(DI7_CounterReset + DI7_OverflowFlagReset*2 + DI7_FlankSettings*4);
    DATA[8]  := BYTE(DI8_CounterReset + DI8_OverflowFlagReset*2 + DI8_FlankSettings*4);

    DATA[9]  := BYTE(DI_TripVoltage);

    DATA[10] := BYTE(DO1);
    DATA[11] := BYTE(DO2);
    DATA[12] := BYTE(DO3);
    DATA[13] := BYTE(DO4);
    DATA[14] := BYTE(DO5);
    DATA[15] := BYTE(DO6);
    
    DATA[16] := BYTE(UI1_Type*64 + UI1_Range);
    DATA[17] := BYTE(UI2_Type*64 + UI2_Range);
    DATA[18] := BYTE(UI3_Type*64 + UI3_Range);
    DATA[19] := BYTE(UI4_Type*64 + UI4_Range);
    DATA[20] := BYTE(UI5_Type*64 + UI5_Range);
    DATA[21] := BYTE(UI6_Type*64 + UI6_Range);
    DATA[22] := BYTE(UI7_Type*64 + UI7_Range);
    DATA[23] := BYTE(UI8_Type*64 + UI8_Range);
    
    DATA[24] := FLOAT(AO1);
    DATA[28] := FLOAT(AO2);
    DATA[32] := FLOAT(AO3);
    DATA[36] := FLOAT(AO4);
    DATA[40] := FLOAT(AO5);
    DATA[44] := FLOAT(AO6);
  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.