402 lines
9.3 KiB
Python
402 lines
9.3 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Zones Configuration for PLC Generation System
|
|
==============================================
|
|
|
|
MCM01 zone configuration with start/stop values based on first equipment line only:
|
|
|
|
Start and stop values use only the FIRST equipment line in each zone:
|
|
|
|
MCM01: Master zone (no direct equipment)
|
|
01-01: UL1_1 TO UL1_13 (first line of: UL1_1 TO UL1_13, UL2_1 TO UL2_10, UL3_1 TO UL3_9, PS1_1 TO PS1_4)
|
|
01-02: UL2_1 TO UL2_10
|
|
01-03: UL3_1 TO UL3_9
|
|
01-04: PS1_1 TO PS1_4
|
|
01-05: PS1_5
|
|
01-06: UL4_1 TO UL4_13 (first line of: UL4_1 TO UL4_13, UL5_1 TO UL5_10, UL6_1 TO UL6_9, PS2_1 TO PS2_4)
|
|
01-07: UL5_1 TO UL5_10
|
|
01-08: UL6_1 TO UL6_9
|
|
01-09: PS2_1 TO PS2_4
|
|
01-10: PS2_5 TO PS2_6
|
|
01-11: UL7_1 TO UL7_13 (first line of: UL7_1 TO UL7_13, UL8_1 TO UL8_9, UL9_1 TO UL9_11, PS3_1 TO PS3_3)
|
|
01-12: UL8_1 TO UL8_9
|
|
01-13: UL9_1 TO UL9_11
|
|
01-14: PS3_1 TO PS3_3
|
|
01-15: PS3_8 TO PS3_12
|
|
01-16: UL10_1 TO UL10_10
|
|
01-17: UL11_1 TO UL11_13 (first line of: UL11_1 TO UL11_13, UL10_1 TO UL10_10, UL12_1 TO UL12_10, PS4_1 TO PS4_5)
|
|
01-18: UL12_1 TO UL12_10
|
|
01-19: PS4_1 TO PS4_5
|
|
01-20: PS4_11 TO PS4_14
|
|
01-21: PS3_4 TO PS3_7
|
|
|
|
MCM04 zone configuration with start/stop values based on first equipment line only:
|
|
|
|
MCM04: Master zone (no direct equipment)
|
|
04-01: ULC7_1 TO ULC7_3 (first line of: ULC7_1 TO ULC7_3, ULC8_1 TO ULC8_3, PS10_1 TO PS10_3)
|
|
04-02: PS10_1 TO PS10_3 (first line of: PS10_1 TO PS10_3, PS11_1 TO PS11_2)
|
|
04-03: PS10_5
|
|
04-04: ULC5_1 TO ULC5_3 (first line of: ULC5_1 TO ULC5_3, ULC6_1 TO ULC6_3, PS11_1 TO PS11_4)
|
|
04-05: PS11_6 TO PS11_7
|
|
04-06: PS11_8 TO PS11_9
|
|
04-07: PS11_11
|
|
04-08: PRS3_5 TO PRS3_6
|
|
04-09: PRS4_1 TO PRS4_2 (first line of: PRS4_1 TO PRS4_2, PS11_3)
|
|
FL1014: FL1014 Unit Operation (incl. FL1014_EX)
|
|
FL1018: FL1018 Unit Operation (incl. FL1018_EX)
|
|
FL1022: FL1022 Unit Operation (incl. FL1022_EX)
|
|
FL1026: FL1026 Unit Operation (incl. FL1026_EX)
|
|
FL1034: FL1034 Unit Operation (incl. FL1034_EX)
|
|
FL1038: FL1038 Unit Operation (incl. FL1038_EX)
|
|
FL3012: FL3012 Unit Operation (incl. FL3012_EX)
|
|
FL3016: FL3016 Unit Operation (incl. FL3016_EX)
|
|
FL3020: FL3020 Unit Operation (incl. FL3020_EX)
|
|
FL3024: FL3024 Unit Operation (incl. FL3024_EX)
|
|
"""
|
|
|
|
# MCM01 zones configuration - Updated with comprehensive zone structure
|
|
MCM01_ZONES = [
|
|
{
|
|
'name': 'MCM01',
|
|
'start': '',
|
|
'stop': '',
|
|
'interlock': ''
|
|
},
|
|
# Main zones with first equipment line only
|
|
{
|
|
'name': '01-01',
|
|
'start': 'UL1_1',
|
|
'stop': 'UL1_13',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-06',
|
|
'start': 'UL4_1',
|
|
'stop': 'UL4_13',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-11',
|
|
'start': 'UL7_1',
|
|
'stop': 'UL7_13',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-17',
|
|
'start': 'UL11_1',
|
|
'stop': 'UL11_13',
|
|
'interlock': 'MCM01'
|
|
},
|
|
# Individual zones with their specific equipment ranges
|
|
{
|
|
'name': '01-02',
|
|
'start': 'UL2_1',
|
|
'stop': 'UL2_10',
|
|
'interlock': '01-01'
|
|
},
|
|
{
|
|
'name': '01-03',
|
|
'start': 'UL3_1',
|
|
'stop': 'UL3_9',
|
|
'interlock': '01-01'
|
|
},
|
|
{
|
|
'name': '01-04',
|
|
'start': 'PS1_1',
|
|
'stop': 'PS1_4',
|
|
'interlock': '01-01'
|
|
},
|
|
{
|
|
'name': '01-07',
|
|
'start': 'UL5_1',
|
|
'stop': 'UL5_10',
|
|
'interlock': '01-06'
|
|
},
|
|
{
|
|
'name': '01-08',
|
|
'start': 'UL6_1',
|
|
'stop': 'UL6_9',
|
|
'interlock': '01-06'
|
|
},
|
|
{
|
|
'name': '01-09',
|
|
'start': 'PS2_1',
|
|
'stop': 'PS2_4',
|
|
'interlock': '01-06'
|
|
},
|
|
{
|
|
'name': '01-12',
|
|
'start': 'UL8_1',
|
|
'stop': 'UL8_9',
|
|
'interlock': '01-11'
|
|
},
|
|
{
|
|
'name': '01-13',
|
|
'start': 'UL9_1',
|
|
'stop': 'UL9_11',
|
|
'interlock': '01-11'
|
|
},
|
|
{
|
|
'name': '01-14',
|
|
'start': 'PS3_1',
|
|
'stop': 'PS3_3',
|
|
'interlock': '01-11'
|
|
},
|
|
{
|
|
'name': '01-16',
|
|
'start': 'UL10_1',
|
|
'stop': 'UL10_10',
|
|
'interlock': '01-17'
|
|
},
|
|
{
|
|
'name': '01-18',
|
|
'start': 'UL12_1',
|
|
'stop': 'UL12_10',
|
|
'interlock': '01-17'
|
|
},
|
|
{
|
|
'name': '01-19',
|
|
'start': 'PS4_1',
|
|
'stop': 'PS4_5',
|
|
'interlock': '01-17'
|
|
},
|
|
# Independent zones with their own equipment
|
|
{
|
|
'name': '01-05',
|
|
'start': 'PS1_5',
|
|
'stop': 'PS1_5',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-10',
|
|
'start': 'PS2_5',
|
|
'stop': 'PS2_6',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-15',
|
|
'start': 'PS3_8',
|
|
'stop': 'PS3_12',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-20',
|
|
'start': 'PS4_11',
|
|
'stop': 'PS4_14',
|
|
'interlock': 'MCM01'
|
|
},
|
|
{
|
|
'name': '01-21',
|
|
'start': 'PS3_4',
|
|
'stop': 'PS3_7',
|
|
'interlock': 'MCM01'
|
|
}
|
|
]
|
|
|
|
# MCM04 zones configuration - Updated with comprehensive E-Stop zone structure
|
|
MCM04_ZONES = [
|
|
{
|
|
'name': 'MCM04',
|
|
'start': '',
|
|
'stop': '',
|
|
'interlock': ''
|
|
},
|
|
# Main E-Stop zones with equipment ranges
|
|
{
|
|
'name': '04-01',
|
|
'start': 'ULC7_1',
|
|
'stop': 'ULC7_3',
|
|
'interlock': '04-02'
|
|
},
|
|
{
|
|
'name': '04-02',
|
|
'start': 'PS10_1',
|
|
'stop': 'PS10_3',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': '04-03',
|
|
'start': 'PS10_5',
|
|
'stop': 'PS10_5',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': '04-04',
|
|
'start': 'ULC5_1',
|
|
'stop': 'ULC5_3',
|
|
'interlock': '04-02'
|
|
},
|
|
{
|
|
'name': '04-05',
|
|
'start': 'PS11_6',
|
|
'stop': 'PS11_7',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': '04-06',
|
|
'start': 'PS11_8',
|
|
'stop': 'PS11_9',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': '04-07',
|
|
'start': 'PS11_11',
|
|
'stop': 'PS11_11',
|
|
'interlock': '04-09'
|
|
},
|
|
{
|
|
'name': '04-08',
|
|
'start': 'PRS3_5',
|
|
'stop': 'PRS3_6',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': '04-09',
|
|
'start': 'PRS4_1',
|
|
'stop': 'PRS4_2',
|
|
'interlock': 'MCM04'
|
|
},
|
|
# Safety Relay zones - Unit operations
|
|
{
|
|
'name': 'FL1014',
|
|
'start': 'FL1014_2_VFD1',
|
|
'stop': 'FL1014_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL1018',
|
|
'start': 'FL1018_2_VFD1',
|
|
'stop': 'FL1018_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL1022',
|
|
'start': 'FL1022_2_VFD1',
|
|
'stop': 'FL1022_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL1026',
|
|
'start': 'FL1026_2_VFD1',
|
|
'stop': 'FL1026_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL1034',
|
|
'start': 'FL1034_2_VFD1',
|
|
'stop': 'FL1034_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL1038',
|
|
'start': 'FL1038_2_VFD1',
|
|
'stop': 'FL1038_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL3012',
|
|
'start': 'FL3012_2_VFD1',
|
|
'stop': 'FL3012_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL3016',
|
|
'start': 'FL3016_2_VFD1',
|
|
'stop': 'FL3016_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL3020',
|
|
'start': 'FL3020_2_VFD1',
|
|
'stop': 'FL3020_4_EX1',
|
|
'interlock': 'MCM04'
|
|
},
|
|
{
|
|
'name': 'FL3024',
|
|
'start': 'FL3024_2_VFD1',
|
|
'stop': 'FL3024_4_EX1',
|
|
'interlock': 'MCM04'
|
|
}
|
|
]
|
|
|
|
MCM05_ZONES = [
|
|
{
|
|
'name': 'MCM05',
|
|
'start': '',
|
|
'stop': '',
|
|
'interlock': ''
|
|
},
|
|
# Safety Relay zones - Unit operations
|
|
{
|
|
'name': 'FL2074',
|
|
'start': 'FL2074_2_VFD1',
|
|
'stop': 'FL2074_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL2078',
|
|
'start': 'FL2078_2_VFD1',
|
|
'stop': 'FL2078_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL2086',
|
|
'start': 'FL2086_2_VFD1',
|
|
'stop': 'FL2086_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL2090',
|
|
'start': 'FL2090_2_VFD1',
|
|
'stop': 'FL2090_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL2094',
|
|
'start': 'FL2094_2_VFD1',
|
|
'stop': 'FL2094_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL4082',
|
|
'start': 'FL4082_2_VFD1',
|
|
'stop': 'FL4082_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL4078',
|
|
'start': 'FL4078_2_VFD1',
|
|
'stop': 'FL4078_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL4074',
|
|
'start': 'FL4074_2_VFD1',
|
|
'stop': 'FL4074_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL4070',
|
|
'start': 'FL4070_2_VFD1',
|
|
'stop': 'FL4070_4_EX1',
|
|
'interlock': 'MCM05'
|
|
},
|
|
{
|
|
'name': 'FL4066',
|
|
'start': 'FL4066_2_VFD1',
|
|
'stop': 'FL4066_4_EX1',
|
|
'interlock': 'MCM05'
|
|
}
|
|
]
|
|
# Default zones configuration
|
|
DEFAULT_ZONES = MCM01_ZONES
|
|
|
|
# Main zones configuration mapping
|
|
ZONES_CONFIGS = {
|
|
'MCM01': MCM01_ZONES,
|
|
'MCM04': MCM04_ZONES,
|
|
'MCM05': MCM05_ZONES
|
|
}
|
|
|
|
# Export for backward compatibility
|
|
__all__ = ['MCM01_ZONES', 'MCM04_ZONES', 'MCM05_ZONES', 'DEFAULT_ZONES', 'ZONES_CONFIGS'] |