No idea
This commit is contained in:
parent
64446c2f16
commit
d51d597e87
5
.cursorignore
Normal file
5
.cursorignore
Normal file
@ -0,0 +1,5 @@
|
||||
MTN6 Equipment Manifest REV6(Conveyor List).csv
|
||||
pdfs/
|
||||
node_modules/
|
||||
pycache/
|
||||
cloned_repo/
|
||||
440
app.py
440
app.py
@ -2,9 +2,10 @@ import os
|
||||
import threading
|
||||
import time
|
||||
import json
|
||||
from flask import Flask, render_template, jsonify, Response
|
||||
import git
|
||||
from find_missing_units import calculate_progress # Import the refactored function
|
||||
import csv
|
||||
import re
|
||||
from flask import Flask, render_template, jsonify, Response
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
@ -14,60 +15,320 @@ REPO_DIR = "./cloned_repo" # Directory to clone the repo into
|
||||
BRANCH = "main"
|
||||
CSV_FILENAME = "MTN6 Equipment Manifest REV6(Conveyor List).csv"
|
||||
VIEWS_DIR_RELATIVE = "MTN6_SCADA/com.inductiveautomation.perspective/views/Detailed-Views"
|
||||
CHECK_INTERVAL_SECONDS = 60 # Check repo more frequently now, maybe every minute?
|
||||
TEXT_OUTPUT_FOLDER = "./extracted_texts" # Added: Directory with .txt files
|
||||
CHECK_INTERVAL_SECONDS = 60
|
||||
|
||||
# --- Column Names from CSV (Adjust if necessary) ---
|
||||
CSV_ALIAS_COL = 'Alias'
|
||||
CSV_PANEL_COL = 'Control Panel'
|
||||
CSV_EQ_TYPE_COL = 'Equipment Type' # Optional, for details modal
|
||||
CSV_CONV_TYPE_COL = 'Type of Conveyor' # Optional, for details modal
|
||||
|
||||
# --- Global state ---
|
||||
last_commit_hash = None
|
||||
progress_data = { "overall": {"total_csv": 0, "missing": 0, "found_json": 0, "percentage": 0}, "panels": {} }
|
||||
# New detailed progress data structure
|
||||
progress_data = {
|
||||
"overall": {
|
||||
"total_csv": 0, "found_both": 0, "found_scada_only": 0, "found_drawing_only": 0, "missing_both": 0,
|
||||
"percentage_found_both": 0,
|
||||
"missing_list": [], "found_scada_only_list": [], "found_drawing_only_list": [], "found_both_list": []
|
||||
},
|
||||
"panels": {} # Populated dynamically
|
||||
}
|
||||
status_message = "Initializing..."
|
||||
repo_lock = threading.Lock() # Lock for accessing repo and shared data
|
||||
data_updated_event = threading.Event() # Event to signal data updates
|
||||
|
||||
# --- Helper Functions ---
|
||||
|
||||
def get_repo_path():
|
||||
return os.path.abspath(REPO_DIR)
|
||||
|
||||
def get_csv_path():
|
||||
# Construct absolute path based on the script's directory
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
return os.path.join(script_dir, CSV_FILENAME)
|
||||
|
||||
def get_views_dir_path():
|
||||
return os.path.join(get_repo_path(), VIEWS_DIR_RELATIVE)
|
||||
|
||||
def get_text_output_dir_path():
|
||||
# Construct absolute path based on the script's directory
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
return os.path.join(script_dir, TEXT_OUTPUT_FOLDER)
|
||||
|
||||
def normalize(text):
|
||||
"""Normalize string for comparison: lowercase, treat '-' and '_' the same, remove all whitespace."""
|
||||
if not isinstance(text, str):
|
||||
return ""
|
||||
text = text.lower() # Convert to lowercase
|
||||
text = text.replace('-', '_') # Replace hyphens with underscores
|
||||
text = re.sub(r'\s+', '', text) # Remove ALL whitespace characters (including newlines)
|
||||
return text
|
||||
|
||||
def read_manifest(csv_filepath):
|
||||
"""Reads the manifest CSV into a list of dictionaries."""
|
||||
manifest_items = []
|
||||
required_cols = {CSV_ALIAS_COL, CSV_PANEL_COL}
|
||||
optional_cols = {CSV_EQ_TYPE_COL, CSV_CONV_TYPE_COL}
|
||||
try:
|
||||
with open(csv_filepath, mode='r', newline='', encoding='utf-8') as infile:
|
||||
reader = csv.DictReader(infile)
|
||||
headers = set(h.strip() for h in reader.fieldnames) # Handle potential whitespace in headers
|
||||
|
||||
# Check for required columns
|
||||
missing_required = required_cols - headers
|
||||
if missing_required:
|
||||
print(f"Error: Missing required columns in CSV '{csv_filepath}': {', '.join(missing_required)}")
|
||||
print(f"Available columns: {', '.join(headers)}")
|
||||
return None
|
||||
|
||||
for row in reader:
|
||||
alias = row.get(CSV_ALIAS_COL, "").strip()
|
||||
panel = row.get(CSV_PANEL_COL, "").strip()
|
||||
if alias and panel: # Only add if Alias and Control Panel are present
|
||||
item = {
|
||||
"alias": alias,
|
||||
"normalized_alias": normalize(alias),
|
||||
"control_panel": panel,
|
||||
"expected_drawing_filename": f"{panel}.txt", # Assuming .txt file matches panel name
|
||||
# Add optional data if columns exist
|
||||
"equipment_type": row.get(CSV_EQ_TYPE_COL, "").strip() if CSV_EQ_TYPE_COL in headers else "N/A",
|
||||
"conveyor_type": row.get(CSV_CONV_TYPE_COL, "").strip() if CSV_CONV_TYPE_COL in headers else "N/A",
|
||||
# Status fields to be filled later
|
||||
"found_scada": False,
|
||||
"found_drawing": False
|
||||
}
|
||||
manifest_items.append(item)
|
||||
elif alias and not panel:
|
||||
print(f"Warning: Alias '{alias}' found in CSV but is missing its '{CSV_PANEL_COL}'. Skipping.")
|
||||
|
||||
except FileNotFoundError:
|
||||
print(f"Error: Manifest file not found at {csv_filepath}")
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Error reading CSV file {csv_filepath}: {e}")
|
||||
return None
|
||||
print(f"Read {len(manifest_items)} valid items from manifest.")
|
||||
return manifest_items
|
||||
|
||||
def check_scada(manifest_data, views_dir):
|
||||
"""Checks for aliases in SCADA JSON view files."""
|
||||
if not manifest_data: return
|
||||
print(f"Starting SCADA check in directory: {views_dir}...")
|
||||
found_count = 0
|
||||
processed_files = 0
|
||||
|
||||
# Create a quick lookup map of normalized_alias -> list of manifest items (handles duplicate aliases)
|
||||
alias_map = {}
|
||||
for item in manifest_data:
|
||||
na = item['normalized_alias']
|
||||
if na not in alias_map:
|
||||
alias_map[na] = []
|
||||
alias_map[na].append(item)
|
||||
|
||||
try:
|
||||
for root, _, files in os.walk(views_dir):
|
||||
for filename in files:
|
||||
if filename == 'view.json':
|
||||
filepath = os.path.join(root, filename)
|
||||
processed_files += 1
|
||||
try:
|
||||
with open(filepath, 'r', encoding='utf-8') as f:
|
||||
# Read the whole file, normalize it for substring search
|
||||
content = f.read()
|
||||
normalized_content = normalize(content)
|
||||
|
||||
# Check manifest aliases against this file's normalized content
|
||||
for norm_alias, items in alias_map.items():
|
||||
if norm_alias in normalized_content:
|
||||
for item in items:
|
||||
if not item['found_scada']: # Update only if not already found elsewhere
|
||||
item['found_scada'] = True
|
||||
found_count += 1 # Count unique aliases found
|
||||
except Exception as e:
|
||||
print(f" Warning: Could not read or process JSON file {filepath}: {e}")
|
||||
except Exception as e:
|
||||
print(f"Error walking SCADA views directory {views_dir}: {e}")
|
||||
|
||||
print(f"SCADA check finished. Processed {processed_files} view.json files. Found {found_count} manifest aliases.")
|
||||
|
||||
|
||||
def check_drawings(manifest_data, text_output_dir):
|
||||
"""Checks for aliases in extracted drawing text files, one file per panel."""
|
||||
if not manifest_data: return
|
||||
print(f"Starting Drawings check in directory: {text_output_dir}...")
|
||||
found_count = 0
|
||||
file_cache = {} # Cache normalized content of processed text files
|
||||
|
||||
for item in manifest_data:
|
||||
normalized_alias = item['normalized_alias']
|
||||
txt_filename = item['expected_drawing_filename']
|
||||
txt_filepath = os.path.join(text_output_dir, txt_filename)
|
||||
|
||||
try:
|
||||
# Check cache first
|
||||
if txt_filepath in file_cache:
|
||||
normalized_content = file_cache[txt_filepath]
|
||||
# Read and cache if not already processed
|
||||
elif os.path.exists(txt_filepath):
|
||||
with open(txt_filepath, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
normalized_content = normalize(content)
|
||||
file_cache[txt_filepath] = normalized_content # Cache it
|
||||
else:
|
||||
# File doesn't exist, mark as not found in cache to avoid re-checking
|
||||
file_cache[txt_filepath] = None
|
||||
# print(f" Info: Expected drawing text file not found: {txt_filepath}")
|
||||
continue # Cannot find alias if file doesn't exist
|
||||
|
||||
# Perform check if file content exists
|
||||
if normalized_content is not None and normalized_alias in normalized_content:
|
||||
if not item['found_drawing']: # Avoid double counting if alias appears multiple times in manifest
|
||||
item['found_drawing'] = True
|
||||
found_count += 1
|
||||
|
||||
except Exception as e:
|
||||
print(f" Warning: Could not read or process text file {txt_filepath}: {e}")
|
||||
file_cache[txt_filepath] = None # Mark as failed in cache
|
||||
|
||||
print(f"Drawings check finished. Processed {len(file_cache)} unique text files. Found {found_count} manifest aliases.")
|
||||
|
||||
|
||||
def calculate_combined_progress(manifest_data):
|
||||
"""Calculates the combined progress based on scada/drawing status."""
|
||||
print("Calculating combined progress statistics...")
|
||||
results = {
|
||||
"overall": {
|
||||
"total_csv": 0, "found_both": 0, "found_scada_only": 0, "found_drawing_only": 0, "missing_both": 0,
|
||||
"percentage_found_both": 0,
|
||||
"missing_list": [], "found_scada_only_list": [], "found_drawing_only_list": [], "found_both_list": []
|
||||
},
|
||||
"panels": {}
|
||||
}
|
||||
if not manifest_data:
|
||||
print("Warning: No manifest data to calculate progress from.")
|
||||
return results
|
||||
|
||||
results["overall"]["total_csv"] = len(manifest_data)
|
||||
|
||||
for item in manifest_data:
|
||||
panel = item['control_panel']
|
||||
|
||||
# Initialize panel data if not present
|
||||
if panel not in results["panels"]:
|
||||
results["panels"][panel] = {
|
||||
"total": 0, "found_both": 0, "found_scada_only": 0, "found_drawing_only": 0, "missing_both": 0,
|
||||
"percentage_found_both": 0,
|
||||
"missing_list": [], "found_scada_only_list": [], "found_drawing_only_list": [], "found_both_list": []
|
||||
}
|
||||
|
||||
results["panels"][panel]["total"] += 1
|
||||
|
||||
# Categorize and add to lists
|
||||
item_detail = {k: v for k, v in item.items() if k not in ['normalized_alias']} # Don't need normalized in output
|
||||
|
||||
if item['found_scada'] and item['found_drawing']:
|
||||
results["overall"]["found_both"] += 1
|
||||
results["panels"][panel]["found_both"] += 1
|
||||
results["overall"]["found_both_list"].append(item_detail)
|
||||
results["panels"][panel]["found_both_list"].append(item_detail)
|
||||
elif item['found_scada'] and not item['found_drawing']:
|
||||
results["overall"]["found_scada_only"] += 1
|
||||
results["panels"][panel]["found_scada_only"] += 1
|
||||
results["overall"]["found_scada_only_list"].append(item_detail)
|
||||
results["panels"][panel]["found_scada_only_list"].append(item_detail)
|
||||
elif not item['found_scada'] and item['found_drawing']:
|
||||
results["overall"]["found_drawing_only"] += 1
|
||||
results["panels"][panel]["found_drawing_only"] += 1
|
||||
results["overall"]["found_drawing_only_list"].append(item_detail)
|
||||
results["panels"][panel]["found_drawing_only_list"].append(item_detail)
|
||||
else: # Missing both
|
||||
results["overall"]["missing_both"] += 1
|
||||
results["panels"][panel]["missing_both"] += 1
|
||||
results["overall"]["missing_list"].append(item_detail)
|
||||
results["panels"][panel]["missing_list"].append(item_detail)
|
||||
|
||||
# Calculate percentages
|
||||
if results["overall"]["total_csv"] > 0:
|
||||
results["overall"]["percentage_found_both"] = round(
|
||||
(results["overall"]["found_both"] / results["overall"]["total_csv"]) * 100, 1
|
||||
)
|
||||
for panel_data in results["panels"].values():
|
||||
if panel_data["total"] > 0:
|
||||
panel_data["percentage_found_both"] = round(
|
||||
(panel_data["found_both"] / panel_data["total"]) * 100, 1
|
||||
)
|
||||
|
||||
print("Combined progress calculation finished.")
|
||||
# print(json.dumps(results, indent=2)) # DEBUG: Print structure
|
||||
return results
|
||||
|
||||
|
||||
# --- Core Logic ---
|
||||
|
||||
def update_progress_data():
|
||||
"""Reads manifest, runs both checks, combines results, and updates global state."""
|
||||
global progress_data, status_message
|
||||
csv_path = get_csv_path()
|
||||
views_dir = get_views_dir_path()
|
||||
text_dir = get_text_output_dir_path()
|
||||
current_status = ""
|
||||
new_data_calculated = None
|
||||
|
||||
if not os.path.exists(csv_path):
|
||||
current_status = f"Error: CSV file not found at {csv_path}"
|
||||
elif not os.path.exists(views_dir):
|
||||
current_status = f"Error: Views directory not found at {views_dir}"
|
||||
# 1. Read Manifest
|
||||
status_message = "Reading manifest file..."
|
||||
print(f"Reading manifest: {csv_path}")
|
||||
manifest_data = read_manifest(csv_path)
|
||||
if manifest_data is None:
|
||||
current_status = f"Error: Failed to read or process manifest file {csv_path}"
|
||||
print(current_status)
|
||||
status_message = current_status
|
||||
data_updated_event.set(); data_updated_event.clear()
|
||||
return # Cannot proceed without manifest
|
||||
|
||||
# 2. Check SCADA (JSON files)
|
||||
status_message = "Checking SCADA views..."
|
||||
if not os.path.exists(views_dir):
|
||||
current_status = f"Warning: SCADA Views directory not found at {views_dir}. Skipping SCADA check."
|
||||
print(current_status)
|
||||
# Mark all as not found in SCADA? Or just skip update? Skipping update is safer.
|
||||
else:
|
||||
print(f"Running analysis: CSV='{csv_path}', Views='{views_dir}'")
|
||||
current_status = "Calculating progress..."
|
||||
try:
|
||||
new_data_calculated = calculate_progress(csv_path, views_dir)
|
||||
if new_data_calculated:
|
||||
current_status = f"Progress updated successfully at {time.strftime('%Y-%m-%d %H:%M:%S')}"
|
||||
else:
|
||||
current_status = "Error: Failed to calculate progress (script returned None)."
|
||||
except Exception as e:
|
||||
current_status = f"Error running analysis script: {e}"
|
||||
new_data_calculated = None # Ensure no partial data update
|
||||
|
||||
# Update global state ONLY AFTER calculation (inside lock if modifying multiple related vars)
|
||||
# In this case, modifying status and potentially progress_data
|
||||
print(current_status)
|
||||
status_message = current_status # Update status regardless of success/failure
|
||||
check_scada(manifest_data, views_dir)
|
||||
|
||||
# 3. Check Drawings (TXT files)
|
||||
status_message = "Checking drawing text files..."
|
||||
if not os.path.exists(text_dir):
|
||||
current_status = f"Warning: Extracted Text directory not found at {text_dir}. Skipping Drawings check."
|
||||
print(current_status)
|
||||
# Mark all as not found in Drawings? Or skip? Skipping update.
|
||||
else:
|
||||
check_drawings(manifest_data, text_dir)
|
||||
|
||||
# 4. Calculate Combined Progress
|
||||
status_message = "Calculating combined progress..."
|
||||
try:
|
||||
new_data_calculated = calculate_combined_progress(manifest_data)
|
||||
if new_data_calculated:
|
||||
current_status = f"Analysis complete at {time.strftime('%Y-%m-%d %H:%M:%S')}"
|
||||
else:
|
||||
# This case shouldn't happen if manifest_data was valid
|
||||
current_status = "Error: Failed to calculate combined progress."
|
||||
except Exception as e:
|
||||
current_status = f"Error during progress calculation: {e}"
|
||||
print(f"Detailed Calculation Error: {e}", exc_info=True) # Log stack trace
|
||||
new_data_calculated = None # Ensure no partial data update
|
||||
|
||||
# Update global state
|
||||
print(current_status)
|
||||
status_message = current_status # Update status regardless of calculation success/failure
|
||||
if new_data_calculated is not None:
|
||||
progress_data = new_data_calculated
|
||||
|
||||
# Signal that an update attempt finished (even if it failed, status changed)
|
||||
|
||||
# Signal that an update attempt finished
|
||||
data_updated_event.set()
|
||||
data_updated_event.clear() # Reset event for next update
|
||||
data_updated_event.clear()
|
||||
|
||||
# --- Git Repo Handling (Modified slightly to use updated status messages) ---
|
||||
|
||||
def check_and_update_repo():
|
||||
global last_commit_hash, status_message
|
||||
@ -81,6 +342,8 @@ def check_and_update_repo():
|
||||
if not repo_existed:
|
||||
print(f"Cloning repository {REPO_URL} into {repo_path}...")
|
||||
status_message = f"Cloning repository {REPO_URL}..."
|
||||
# Signal status change during long operation
|
||||
data_updated_event.set(); data_updated_event.clear()
|
||||
git.Repo.clone_from(REPO_URL, repo_path, branch=BRANCH)
|
||||
repo = git.Repo(repo_path)
|
||||
last_commit_hash = repo.head.commit.hexsha
|
||||
@ -94,17 +357,19 @@ def check_and_update_repo():
|
||||
if last_commit_hash is None: last_commit_hash = current_local_commit
|
||||
origin = repo.remotes.origin
|
||||
fetch_info = origin.fetch()
|
||||
|
||||
|
||||
# Check if fetch actually brought new data for the target branch
|
||||
fetched_new_commits = any(info.flags & info.NEW_HEAD for info in fetch_info if info.name == f'origin/{BRANCH}')
|
||||
|
||||
current_remote_commit = repo.commit(f'origin/{BRANCH}').hexsha
|
||||
# fetched_new_commits = any(info.flags & info.NEW_HEAD for info in fetch_info if info.name == f'origin/{BRANCH}') # More precise check if needed
|
||||
|
||||
current_remote_commit = repo.commit(f'origin/{BRANCH}').hexsha
|
||||
|
||||
print(f"Local commit: {current_local_commit}, Remote commit: {current_remote_commit}")
|
||||
|
||||
if current_local_commit != current_remote_commit:
|
||||
print("New commit detected! Pulling changes...")
|
||||
status_message = "Pulling updates..."
|
||||
# Signal status change during potentially long operation
|
||||
data_updated_event.set(); data_updated_event.clear()
|
||||
try:
|
||||
pull_info = origin.pull()
|
||||
new_commit_hash = repo.head.commit.hexsha
|
||||
@ -115,20 +380,21 @@ def check_and_update_repo():
|
||||
status_message = f"Error pulling repository: {e}"
|
||||
print(status_message)
|
||||
# Revert hash if pull failed
|
||||
last_commit_hash = current_local_commit
|
||||
last_commit_hash = current_local_commit
|
||||
else:
|
||||
print("No new commits detected.")
|
||||
# No code change, but update status if needed
|
||||
# Update status if it wasn't an error before
|
||||
if not status_message.startswith("Error"):
|
||||
status_message = f"Checked at {time.strftime('%Y-%m-%d %H:%M:%S')}. No changes."
|
||||
status_message = f"Checked repo at {time.strftime('%Y-%m-%d %H:%M:%S')}. No changes."
|
||||
|
||||
# Run analysis IF the repo was updated (cloned or pulled)
|
||||
if did_update:
|
||||
# Status will be updated within update_progress_data
|
||||
update_progress_data()
|
||||
# If no git update, but status changed (e.g., to "No changes"), signal SSE
|
||||
elif initial_hash == last_commit_hash:
|
||||
# If no git update, signal any status change (e.g., "No changes" or error)
|
||||
else:
|
||||
data_updated_event.set() # Signal status change event
|
||||
data_updated_event.clear()
|
||||
data_updated_event.clear()
|
||||
|
||||
except git.GitCommandError as e:
|
||||
status_message = f"Git command error: {e}"
|
||||
@ -138,7 +404,7 @@ def check_and_update_repo():
|
||||
if os.path.exists(os.path.join(repo_path, ".git")):
|
||||
repo = git.Repo(repo_path)
|
||||
# Use previous hash if available, else try to read current
|
||||
if last_commit_hash is None: last_commit_hash = repo.head.commit.hexsha
|
||||
if last_commit_hash is None: last_commit_hash = repo.head.commit.hexsha
|
||||
except Exception:
|
||||
if last_commit_hash is None: last_commit_hash = "Error reading commit"
|
||||
data_updated_event.set() # Signal error status change
|
||||
@ -149,17 +415,26 @@ def check_and_update_repo():
|
||||
if last_commit_hash is None: last_commit_hash = "Error checking repo"
|
||||
data_updated_event.set() # Signal error status change
|
||||
data_updated_event.clear()
|
||||
# Return true if analysis was run, false otherwise
|
||||
return did_update
|
||||
|
||||
# Return true if analysis was run (because repo changed), false otherwise
|
||||
return did_update
|
||||
|
||||
def periodic_repo_check():
|
||||
"""Runs the check_and_update_repo function periodically."""
|
||||
while True:
|
||||
print(f"\nStarting periodic repository check (Interval: {CHECK_INTERVAL_SECONDS}s)...")
|
||||
check_and_update_repo()
|
||||
repo_changed = check_and_update_repo()
|
||||
# If repo didn't change, analysis wasn't triggered, but we might want to run it anyway?
|
||||
# For now, analysis only runs if repo changes or on initial startup.
|
||||
# If you want analysis *every* interval regardless of git changes, add a call here:
|
||||
# if not repo_changed:
|
||||
# print("Repo unchanged, triggering analysis anyway...")
|
||||
# update_progress_data()
|
||||
print(f"Check finished. Sleeping...")
|
||||
time.sleep(CHECK_INTERVAL_SECONDS)
|
||||
|
||||
# --- Flask Routes (Largely unchanged, rely on updated global state) ---
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return render_template('index.html')
|
||||
@ -167,63 +442,73 @@ def index():
|
||||
@app.route('/stream')
|
||||
def stream():
|
||||
def event_stream():
|
||||
last_sent_hash = None
|
||||
|
||||
last_sent_hash_to_client = None # Track hash sent to *this specific client*
|
||||
|
||||
# Send initial state immediately on connection
|
||||
with repo_lock:
|
||||
current_hash = last_commit_hash
|
||||
current_status = status_message
|
||||
current_progress = progress_data
|
||||
|
||||
current_global_hash = last_commit_hash
|
||||
current_global_status = status_message
|
||||
current_global_progress = progress_data
|
||||
|
||||
initial_payload = json.dumps({
|
||||
"status": current_status,
|
||||
"progress": current_progress,
|
||||
"last_commit": current_hash
|
||||
"status": current_global_status,
|
||||
"progress": current_global_progress,
|
||||
"last_commit": current_global_hash
|
||||
})
|
||||
yield f"data: {initial_payload}\n\n"
|
||||
last_sent_hash = current_hash # Record that we sent the initial state
|
||||
print(f"Sent initial state to new client (Hash: {last_sent_hash})")
|
||||
last_sent_hash_to_client = current_global_hash # Record that we sent the initial state for this client
|
||||
print(f"Sent initial state to new client (Hash: {last_sent_hash_to_client})")
|
||||
|
||||
# Now wait for subsequent updates
|
||||
# Now wait for subsequent updates signaled by the event
|
||||
while True:
|
||||
data_updated_event.wait()
|
||||
|
||||
with repo_lock: # Re-acquire lock to check latest state
|
||||
current_hash = last_commit_hash
|
||||
current_status = status_message
|
||||
current_progress = progress_data
|
||||
|
||||
# Only send if commit hash has changed since last send *to this client*
|
||||
if current_hash != last_sent_hash:
|
||||
print(f"Hash changed ({last_sent_hash} -> {current_hash}). Sending update to client.")
|
||||
data_updated_event.wait() # Wait for background thread to signal completion
|
||||
|
||||
with repo_lock: # Re-acquire lock to get the latest state
|
||||
current_global_hash = last_commit_hash
|
||||
current_global_status = status_message
|
||||
current_global_progress = progress_data
|
||||
|
||||
# Send update to the client IF the data is different from what they last received
|
||||
# Check hash first as primary indicator of change in underlying data
|
||||
if current_global_hash != last_sent_hash_to_client:
|
||||
print(f"Data updated (Hash changed: {last_sent_hash_to_client} -> {current_global_hash}). Sending update to client.")
|
||||
data_payload = json.dumps({
|
||||
"status": current_status,
|
||||
"progress": current_progress,
|
||||
"last_commit": current_hash
|
||||
"status": current_global_status,
|
||||
"progress": current_global_progress,
|
||||
"last_commit": current_global_hash
|
||||
})
|
||||
yield f"data: {data_payload}\n\n"
|
||||
last_sent_hash = current_hash
|
||||
last_sent_hash_to_client = current_global_hash # Update the hash sent to this client
|
||||
else:
|
||||
# If only status changed without hash change, we could optionally send just status
|
||||
# For now, we don't send anything if hash is same as last sent to this client
|
||||
print(f"Data updated event triggered, but hash {current_hash} unchanged for this client.")
|
||||
# If hash is the same, maybe only the status message changed (e.g., error occurred)
|
||||
# Option: Send update only if status is different from last sent status?
|
||||
# For simplicity now, we only send if hash differs. Client UI shows last known status.
|
||||
print(f"Data updated event triggered, but hash {current_global_hash} unchanged for this client. Status: '{current_global_status}'")
|
||||
|
||||
|
||||
return Response(event_stream(), mimetype="text/event-stream")
|
||||
|
||||
# --- Main Execution ---
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Ensure repo directory exists
|
||||
# Ensure repo and text directories exist (optional for text dir if PDFs are pre-processed)
|
||||
if not os.path.exists(REPO_DIR):
|
||||
os.makedirs(REPO_DIR)
|
||||
if not os.path.exists(TEXT_OUTPUT_FOLDER):
|
||||
print(f"Warning: Text output folder '{TEXT_OUTPUT_FOLDER}' not found. Drawing check might fail unless PDF extraction runs first or files are manually placed.")
|
||||
# os.makedirs(TEXT_OUTPUT_FOLDER) # Optionally create it
|
||||
|
||||
# Perform initial check/clone and data load
|
||||
print("Performing initial repository check and data load...")
|
||||
# Run check_and_update_repo which calls update_progress_data if needed
|
||||
initial_update_done = check_and_update_repo()
|
||||
# If repo existed and was up-to-date, run analysis explicitly
|
||||
# Run check_and_update_repo which calls update_progress_data if repo updated
|
||||
initial_update_done = check_and_update_repo()
|
||||
# If repo existed and was up-to-date on first check, analysis wasn't run yet. Run it now.
|
||||
if not initial_update_done:
|
||||
print("Repository present and up-to-date. Running initial analysis...")
|
||||
# No need for lock here as background thread isn't running yet
|
||||
update_progress_data()
|
||||
update_progress_data() # Run the full analysis
|
||||
else:
|
||||
print("Initial analysis was triggered by repo clone/pull.")
|
||||
|
||||
# Start the background thread for periodic checks
|
||||
print("Starting background repository check thread...")
|
||||
@ -232,4 +517,5 @@ if __name__ == '__main__':
|
||||
|
||||
# Run the Flask app
|
||||
print("Starting Flask server on port 5050...")
|
||||
app.run(host='0.0.0.0', port=5050, debug=False, threaded=True) # Use threaded=True for SSE
|
||||
# Use threaded=True for SSE background sending, debug=False for production/stability
|
||||
app.run(host='0.0.0.0', port=5050, debug=False, threaded=True)
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 2f481e88f5729e35f5b88299e2aa4097a8bb9292
|
||||
Subproject commit c8aa36809970e0557f46ee80b7f7cf3735efb487
|
||||
475
extracted_texts/MTN6_SYSDL-MCM01.txt
Normal file
475
extracted_texts/MTN6_SYSDL-MCM01.txt
Normal file
@ -0,0 +1,475 @@
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375ST 1.5kW 1.4375
|
||||
PALLET STAGING
|
||||
PALLET STAGING
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR40
|
||||
10T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR40
|
||||
10T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
TRAILER DIMENSIONS
|
||||
TRAILER DIMENSIONS
|
||||
EL. 2'-6"
|
||||
EL. 2'-6"EL. 2'-6"
|
||||
EL. 5'-2"TYP. (2) PLCS
|
||||
EL. 6'-4"TYP. (2) PLCS
|
||||
EL. 13'-1"EL. 3'-1" (PLTF)TYP. (4) PLCS
|
||||
EL. 2'-6"
|
||||
EL. 5'-2"TYP. (2) PLCS
|
||||
EL. 6'-4"TYP. (2) PLCS
|
||||
EL. 13'-1"EL. 3'-1" (PLTF)TYP. (3) PLCS
|
||||
UL1_3_VFD15HP280 FPM UL1_4_VFD15HP280 FPMUL1_5_VFD13HP420 FPMUL1_6_VFD13HP420 FPMUL1_7_VFD13HP420 FPM
|
||||
UL1_8_VFD13HP420 FPM UL1_9_VFD15HP280 FPM UL1_10A_VFD13HP280 FPMUL1_10B_VFD13HP280 FPM
|
||||
UL1_11_VFD12HP280 FPMUL1_12_VFD12HP280 FPMUL1_13_VFD15HP280 FPM
|
||||
UL2_3_VFD13HP280 FPM UL2_4_VFD15HP280 FPM
|
||||
UL2_5_VFD13HP280 FPMUL2_6_VFD13HP420 FPMUL2_7_VFD13HP420 FPMUL2_8_VFD13HP420 FPMUL2_9_VFD13HP420 FPMUL2_10_VFD13HP420 FPM
|
||||
UL3_1_VFD12HP120 FPM
|
||||
UL3_2_VFD17.5HP280 FPMUL3_3_VFD13HP280 FPMUL3_4_VFD12HP280 FPMUL3_5_VFD13HP420 FPMUL3_6_VFD13HP420 FPMUL3_7_VFD13HP420 FPMUL3_8_VFD13HP420 FPMUL3_9_VFD13HP420 FPM
|
||||
UL4_3_VFD13HP280 FPM UL4_4_VFD15HP280 FPM
|
||||
UL4_9_VFD13HP280 FPM
|
||||
UL5_3_VFD13HP280 FPM UL5_4_VFD15HP280 FPM
|
||||
UL3_3_ENC1
|
||||
UL3_5_ENC1UL3_6_ENC1UL3_7_ENC1UL3_8_ENC1UL2_9_ENC1UL2_8_ENC1UL2_7_ENC1UL2_6_ENC1
|
||||
UL2_5_ENC1
|
||||
UL1_5_ENC1UL1_6_ENC1UL1_7_ENC1
|
||||
UL5_3_ENC1 UL5_4_ENC1
|
||||
UL4_3_ENC1 UL4_4_ENC1
|
||||
UL3_2_ENC1
|
||||
UL3_4_ENC1UL2_3_ENC1 UL2_4_ENC1
|
||||
UL1_3_ENC1 UL1_4_ENC1 UL1_9_ENC1
|
||||
UL1_5_TPE1UL1_6_TPE1UL1_7_TPE1
|
||||
UL1_9_TPE3
|
||||
UL1_9_TPE1
|
||||
UL1_9_TPE2
|
||||
UL1_9_TPE4
|
||||
UL1_9_TPE5
|
||||
UL1_11_TPE1UL1_11_TPE2
|
||||
UL1_12_TPE1
|
||||
UL4_9_TPE1
|
||||
UL4_9_TPE2
|
||||
UL4_9_TPE3
|
||||
UL4_9_TPE4
|
||||
UL4_9_TPE5
|
||||
UL5_3_TPE2UL4_3_TPE2
|
||||
UL3_1_TPE1
|
||||
UL2_3_TPE2UL1_3_TPE2
|
||||
UL1_4_TPE1UL2_4_TPE1 UL5_4_TPE1
|
||||
UL3_4_TPE1
|
||||
UL3_4_TPE2UL3_5_TPE1UL3_6_TPE1UL3_7_TPE1UL3_8_TPE1UL2_9_TPE1UL2_8_TPE1
|
||||
UL2_7_TPE1UL2_6_TPE2UL2_6_TPE1
|
||||
EPCUL5_4_EPC2
|
||||
EPCUL5_4_EPC1
|
||||
EPCUL4_4_EPC2
|
||||
EPCUL4_4_EPC1
|
||||
EPCUL3_2_EPC2
|
||||
EPCUL3_2_EPC1EPCUL2_4_EPC2
|
||||
EPCUL2_4_EPC1
|
||||
EPCUL1_4_EPC2
|
||||
EPCUL1_4_EPC1
|
||||
RBBGUL5_4_S2
|
||||
RBBGUL5_4_S1RBBGUL4_4_S2
|
||||
RBBGUL4_4_S1
|
||||
RBBGUL3_2_S2
|
||||
RBBGUL2_4_S2RBBGUL3_2_S1
|
||||
RBBGUL2_4_S1RBBGUL1_4_S2
|
||||
RBBGUL1_4_S1
|
||||
EPCUL4_9_EPC2
|
||||
EPCUL4_9_EPC1
|
||||
RBBGUL4_9_S2
|
||||
RBBGUL4_9_S1A
|
||||
EPCUL1_9_EPC2
|
||||
EPCUL1_9_EPC1
|
||||
RBBGUL1_9_S2
|
||||
RBBGUL1_9_S1A
|
||||
RBB
|
||||
RBBGPS1_1_S2
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
EPCUL3_1_EPC2EPCUL3_1_EPC1
|
||||
RGUL3_1_SS1
|
||||
WUL1_9_JR1
|
||||
WUL1_9_JR2
|
||||
WUL4_9_JR2
|
||||
WUL4_9_JR1
|
||||
UL7_3_VFD15HP280 FPMUL7_4_VFD15HP280 FPM
|
||||
UL9_3_VFD15HP280 FPM
|
||||
UL9_4_VFD15HP280 FPM
|
||||
UL11_3_VFD15HP280 FPM
|
||||
UL11_11A_VFD13HP280 FPMUL11_11B_VFD13HP280 FPMUL11_12_VFD12HP280 FPMUL11_13_VFD12HP280 FPM
|
||||
UL11_14_VFD15HP280 FPM
|
||||
UL12_3_VFD15HP280 FPM
|
||||
UL7_3_TPE2
|
||||
UL11_9_ENC1UL11_12_ENC1UL11_13_ENC1
|
||||
UL7_4_ENC1UL7_3_ENC1
|
||||
EPCUL11_9_EPC1
|
||||
EPCUL11_10_EPC1
|
||||
RBBGUL11_9_S1A
|
||||
RBBGUL11_10_S1
|
||||
BB
|
||||
GPS3_1_S2
|
||||
RBBGPS4_1_S2
|
||||
RA
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
WUL11_9_JR1
|
||||
V
|
||||
PS2_3_VFD15HP300 FPM
|
||||
PS1_1_VFD12HP300 FPMPS1_2_VFD12HP300 FPM
|
||||
PS2_4_VFD13HP300 FPM PS2_5_VFD17.5HP300 FPMPS2_6_VFD13HP300 FPM
|
||||
PS1_4_VFD17.5HP300 FPMPS1_3_VFD12HP300 FPM
|
||||
PS1_5_VFD15HP300 FPM
|
||||
EPCPS1_1_EP2EPCPS1_1_EPC1RBBGPS1_1_S1
|
||||
EPCPS2_6_EPC2RBBGPS2_6_S2
|
||||
EPCPS1_5_EPC1
|
||||
RBBGPS1_5_S1
|
||||
PS1_2_TPE1
|
||||
PS1_4_TPE1
|
||||
PS1_4_TPE2
|
||||
PS2_5_TPE1
|
||||
PS2_5_TPE2
|
||||
BBA
|
||||
PS1_2_TPE2 EPCPS1_5_EPC2
|
||||
RBBGPS1_5_S2
|
||||
STOP THE EPC AT 8'-3"
|
||||
EPCPS2_6_EPC1PS2_6_TPE1PS1_5_TPE1
|
||||
PS2_3_JPE1
|
||||
RBBGPS2_6_S1
|
||||
PS4_1_VFD12HP300 FPMPS4_2_VFD13HP300 FPMPS4_3_VFD12HP220 FPMPS4_4_VFD13HP220 FPMPS4_5_VFD15HP300 FPM PS4_6_VFD17.5HP300 FPM PS4_7_VFD17.5HP300 FPM PS4_8_VFD15HP300 FPM
|
||||
PS3_1_VFD12HP300 FPMPS3_2_VFD13HP300 FPM
|
||||
PS3_3_VFD13HP300 FPMPS3_4_VFD12HP300 FPM PS3_5_VFD15HP300 FPM PS3_6_VFD15HP300 FPM PS3_7_VFD110HP300 FPM
|
||||
PS4_9_VFD13HP300 FPM
|
||||
PS3_8_VFD13HP300 FPMPS3_9_VFD15HP300 FPMPS3_10_VFD15HP300 FPM
|
||||
PS4_11_VFD15HP300 FPMPS4_12_VFD13HP300 FPM
|
||||
PS3_11_VFD13HP300 FPMPS3_12_VFD13HP300 FPM
|
||||
PS4_13_VFD13HP300 FPMPS4_14_VFD13HP300 FPM
|
||||
EPCPS4_1_EPC2EPCPS4_1_EPC1RBBGPS4_1_S1
|
||||
EPCPS3_1_EPC1EPCPS3_1_EPC2RBBGPS3_1_S1
|
||||
EPCPS4_14_EPC1R
|
||||
EPCPS3_12_EPC1RBBGPS3_12_S1
|
||||
PS4_2_TPE1
|
||||
PS3_1_TPE1
|
||||
PS3_5_TPE1
|
||||
PS3_5_TPE2 PS3_9_TPE1
|
||||
PS4_14_TPE1
|
||||
PS3_12_TPE1
|
||||
BBAWPS3_3_JR1PS3_3_JPE1
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
EPCPS3_12_EPC2
|
||||
RBBGPS3_12_S2A
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
EPCPS4_14_EPC2
|
||||
BBA
|
||||
BBA
|
||||
BBGPS4_14_S1A
|
||||
RBBGPS4_14_S2BBA
|
||||
WPS4_8_JR1
|
||||
WPS4_13_JR1
|
||||
WPS3_7_JR1
|
||||
WPS2_3_JR1RBB
|
||||
STOP THE EPC AT 8'-3"
|
||||
EPCUL2_3_EPC2
|
||||
EPCUL2_3_EPC1
|
||||
RBB
|
||||
STOP THE EPC AT 8'-3"
|
||||
EPCUL1_3_EPC2
|
||||
EPCUL1_3_EPC1
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
STOP THE EPC AT 8'-3"
|
||||
ST 1.5kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
V
|
||||
PS3_2_TPE1
|
||||
EPCUL4_3_EPC2
|
||||
EPCUL4_3_EPC1
|
||||
RBBEPCUL5_3_EPC2
|
||||
EPCUL5_3_EPC1
|
||||
EPCUL7_1_EPC2
|
||||
EPCUL7_1_EPC1
|
||||
GUL2_3_S2
|
||||
GUL1_3_S2
|
||||
UL3_2_TPE2
|
||||
GUL5_3_S2
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
UL1_3_TPE1UL2_3_TPE1
|
||||
UL2_3_LPE1
|
||||
UL2_3_LPE2UL4_3_TPE1
|
||||
UL4_3_LPE1
|
||||
UL4_3_LPE2UL5_3_TPE1
|
||||
UL5_3_LPE2
|
||||
UL5_3_LPE1
|
||||
UL2_3_FIO1
|
||||
UL1_3_FIO1
|
||||
UL3_2_TPE1UL3_2_LPE2
|
||||
UL3_2_LPE1
|
||||
UL3_2_FIO1
|
||||
UL4_3_FIO1
|
||||
UL5_3_FIO1
|
||||
UL6_2_FIO1
|
||||
UL7_3_FIO1
|
||||
UL8_2_FIO1
|
||||
UL9_3_FIO1
|
||||
UL10_2_FIO1
|
||||
UL11_3_FIO1
|
||||
UL12_3_FIO1
|
||||
RBBGUL1_3_S1
|
||||
RBBGUL2_3_S1
|
||||
UL1_3_LPE1
|
||||
UL1_3_DPE2
|
||||
UL1_8_ENC1UL1_8_TPE1
|
||||
RBB
|
||||
RBBGUL4_3_S2
|
||||
RBBGUL4_3_S1 UL4_5_VFD13HP420 FPMUL4_6_VFD13HP420 FPMUL4_7_VFD13HP420 FPM
|
||||
UL4_8_VFD13HP420 FPM
|
||||
UL4_5_ENC1UL4_6_ENC1UL4_7_ENC1UL4_5_TPE1UL4_6_TPE1UL4_7_TPE1
|
||||
UL4_4_TPE1
|
||||
UL4_8_ENC1UL4_8_TPE1 UL4_10A_VFD13HP280 FPMUL4_10B_VFD13HP280 FPM
|
||||
UL4_11_VFD12HP280 FPMUL4_12_VFD12HP280 FPMUL4_13_VFD15HP280 FPM
|
||||
UL4_11_TPE1UL4_11_TPE2
|
||||
UL4_12_TPE1RBBGPS2_1_S2EPCPS2_1_EP2EPCPS2_1_EPC1RBBGPS2_1_S1PS2_2_TPE1PS2_1_VFD12HP300 FPMPS2_2_VFD12HP300 FPMPS2_2_TPE2
|
||||
RBBGUL5_3_S1
|
||||
UL5_5_VFD13HP280 FPMUL5_6_VFD13HP420 FPMUL5_7_VFD13HP420 FPMUL5_8_VFD13HP420 FPMUL5_9_VFD13HP420 FPMUL5_10_VFD13HP420 FPMUL5_9_ENC1UL5_8_ENC1UL5_7_ENC1UL5_6_ENC1
|
||||
UL5_5_ENC1
|
||||
UL5_9_TPE1UL5_8_TPE1
|
||||
UL5_7_TPE1UL5_6_TPE2UL5_6_TPE1
|
||||
UL6_1_VFD12HP120 FPM UL6_2_VFD17.5HP280 FPM
|
||||
UL6_3_VFD13HP280 FPM
|
||||
UL6_4_VFD12HP280 FPMUL6_5_VFD13HP420 FPMUL6_6_VFD13HP420 FPMUL6_7_VFD13HP420 FPMUL6_8_VFD13HP420 FPMUL6_9_VFD13HP420 FPM
|
||||
UL6_3_ENC1
|
||||
UL6_5_ENC1UL6_6_ENC1UL6_7_ENC1UL6_8_ENC1
|
||||
UL6_2_ENC1
|
||||
UL6_4_ENC1
|
||||
UL6_1_TPE1 UL6_4_TPE1
|
||||
UL6_4_TPE2UL6_5_TPE1UL6_6_TPE1UL6_7_TPE1UL6_8_TPE1
|
||||
EPCUL6_2_EPC2
|
||||
EPCUL6_2_EPC1
|
||||
RBBGUL6_2_S2RBBGUL6_2_S1
|
||||
RBBEPCUL6_1_EPC2EPCUL6_1_EPC1
|
||||
RGUL6_1_SS1
|
||||
UL6_2_TPE2
|
||||
UL6_2_TPE1UL6_2_LPE2
|
||||
UL6_2_LPE1RBB
|
||||
UL12_DPM1MCM01
|
||||
UL11_DPM1MCM01
|
||||
UL10_DPM1MCM01
|
||||
UL9_DPM1MCM01
|
||||
UL8_DPM1MCM01
|
||||
UL7_DPM1MCM01
|
||||
UL6_DPM1MCM01
|
||||
UL5_DPM1MCM01
|
||||
UL4_DPM1MCM01
|
||||
UL3_DPM1MCM01
|
||||
UL2_DPM1MCM01
|
||||
UL1_DPM1MCM01
|
||||
PS1_DPM1MCM01
|
||||
PS3_DPM1MCM01 PS3_DPM2MCM01
|
||||
MCM01
|
||||
RBBGUL7_3_S2UL7_3_TPE1
|
||||
UL7_3_LPE2
|
||||
UL7_3_LPE1RBBGUL7_3_S1 UL7_9_VFD13HP280 FPM
|
||||
UL7_9_TPE2
|
||||
UL7_9_TPE4
|
||||
UL7_9_TPE5EPCUL7_4_EPC2
|
||||
EPCUL7_4_EPC1
|
||||
RBBGUL7_4_S2
|
||||
RBBGUL7_4_S1
|
||||
EPCUL7_9_EPC2
|
||||
EPCUL7_9_EPC1
|
||||
RBBGUL7_9_S2
|
||||
RBBGUL7_9_S1A
|
||||
WUL7_9_JR2
|
||||
WUL7_9_JR1
|
||||
UL7_5_VFD13HP420 FPMUL7_6_VFD13HP420 FPMUL7_7_VFD13HP420 FPM
|
||||
UL7_8_VFD13HP420 FPM
|
||||
UL7_5_ENC1UL7_6_ENC1UL7_7_ENC1UL7_5_TPE1UL7_6_TPE1UL7_7_TPE1
|
||||
UL7_4_TPE1
|
||||
UL7_8_ENC1UL7_8_TPE1 UL7_10A_VFD13HP280 FPMUL7_10B_VFD13HP280 FPM
|
||||
UL7_11_VFD12HP280 FPMUL7_12_VFD12HP280 FPM
|
||||
UL7_13_VFD15HP280 FPM
|
||||
UL7_11_TPE1UL7_11_TPE2
|
||||
UL7_12_TPE1
|
||||
UL7_9_TPE1
|
||||
PS3_6_TPE1
|
||||
PS3_7_JPE1
|
||||
PS3_9_TPE2
|
||||
PS3_10_JPE1
|
||||
PS3_12_TPE2
|
||||
UL8_1_VFD12HP120 FPM
|
||||
UL8_1_TPE1
|
||||
RBBEPCUL8_1_EPC2EPCUL8_1_EPC1
|
||||
RGUL8_1_SS1
|
||||
UL8_2_TPE1UL8_2_LPE2
|
||||
UL8_2_LPE1RBB
|
||||
UL8_3_VFD15HP280 FPMUL8_3_ENC1
|
||||
UL8_3_TPE1
|
||||
EPCUL8_3_EPC2RBBGUL8_3_S2
|
||||
RBBGUL8_3_S1
|
||||
UL8_4_VFD13HP280 FPMUL8_5_VFD13HP420 FPMUL8_6_VFD13HP420 FPMUL8_7_VFD13HP420 FPMUL8_8_VFD13HP420 FPMUL8_9_VFD13HP420 FPMUL8_8_ENC1UL8_7_ENC1UL8_6_ENC1
|
||||
UL8_5_ENC1
|
||||
UL8_4_ENC1
|
||||
UL8_8_TPE1UL8_7_TPE1
|
||||
UL8_6_TPE1UL8_5_TPE2UL8_5_TPE1
|
||||
UL8_2_VFD17.5HP120 FPM
|
||||
EPCUL8_3_EPC1
|
||||
EPCUL9_1_EPC2
|
||||
EPCUL9_1_EPC1
|
||||
RBBGUL9_3_S2UL9_3_TPE1
|
||||
UL9_3_LPE2
|
||||
UL9_3_LPE1RBBGUL9_3_S1 UL9_3_ENC1
|
||||
UL9_5_VFD12HP280 FPM
|
||||
UL9_6_VFD12HP280 FPMUL9_7_VFD13HP420 FPMUL9_8_VFD13HP420 FPMUL9_9_VFD13HP420 FPMUL9_10_VFD13HP420 FPMUL9_11_VFD12HP420 FPM
|
||||
UL9_5_ENC1
|
||||
UL9_7_ENC1UL9_8_ENC1UL9_9_ENC1UL9_10_ENC1
|
||||
UL9_6_ENC1
|
||||
UL9_6_TPE1
|
||||
UL9_6_TPE2UL9_7_TPE1UL9_8_TPE1UL9_9_TPE1UL9_10_TPE1
|
||||
EPCUL9_4_EPC2
|
||||
EPCUL9_4_EPC1
|
||||
RBBGUL9_4_S2RBBGUL9_4_S1UL9_4_ENC1
|
||||
UL8_2_TPE2
|
||||
UL9_3_TPE2
|
||||
UL9_4_TPE1
|
||||
UL10_1_VFD12HP120 FPM
|
||||
UL10_1_TPE1
|
||||
RBBEPCUL10_1_EPC2EPCUL10_1_EPC1
|
||||
RGUL10_1_SS1
|
||||
UL10_2_TPE1
|
||||
UL10_2_LPE2
|
||||
UL10_2_LPE1RBB
|
||||
UL10_2_VFD17.5HP120 FPM EPCUL10_3_EPC2RBBGUL10_3_S2RBBGUL10_3_S1EPCUL10_3_EPC1
|
||||
UL10_2_TPE2UL10_3_VFD12HP120 FPMUL10_4_VFD13HP420 FPMUL10_5_VFD13HP420 FPMUL10_6_VFD13HP420 FPMUL10_7_VFD13HP420 FPM
|
||||
UL10_4_ENC1UL10_5_ENC1UL10_6_ENC1UL10_4_TPE1UL10_5_TPE1UL10_6_TPE1
|
||||
UL10_3_TPE1
|
||||
UL10_7_ENC1UL10_7_TPE1UL10_8_VFD13HP420 FPMUL10_9_VFD13HP420 FPM
|
||||
UL10_10_VFD12HP420 FPM
|
||||
UL10_8_ENC1
|
||||
UL10_9_TPE1UL10_9_TPE2UL10_9_ENC1
|
||||
EPCUL11_1_EPC2EPCUL11_1_EPC1
|
||||
RBBG
|
||||
UL11_3_S2
|
||||
UL11_3_TPE1UL11_3_LPE2
|
||||
UL11_3_LPE1RBBGUL11_3_S1 UL11_3_ENC1UL11_3_TPE2
|
||||
EPCUL11_4_EPC2
|
||||
EPCUL11_4_EPC1
|
||||
RBBGUL11_4_S2RBBGUL11_4_S1
|
||||
UL11_8_VFD13HP300 FPM
|
||||
UL11_5_ENC1UL11_6_ENC1UL11_7_ENC1
|
||||
UL11_5_TPE1UL11_6_TPE1UL11_7_TPE1UL11_4_TPE1
|
||||
UL11_8_ENC1UL11_8_TPE1
|
||||
UL11_7_VFD13HP300 FPMUL11_6_VFD13HP300 FPMUL11_5_VFD13HP300 FPMUL11_4_VFD15HP420 FPM
|
||||
UL11_9_TPE1UL11_9_TPE2
|
||||
UL11_9_TPE3UL11_9_VFD13HP300 FPMUL11_10_VFD15HP280 FPM
|
||||
UL11_10_ENC1
|
||||
UL11_10_TPE1
|
||||
UL11_10_TPE2
|
||||
UL11_12_TPE1
|
||||
UL11_12_TPE2
|
||||
UL11_13_TPE1
|
||||
EPCUL12_3_EPC2
|
||||
EPCUL12_3_EPC1
|
||||
RBBG
|
||||
UL12_3_S2UL12_3_TPE1UL12_3_LPE2
|
||||
UL12_3_LPE1RBBGUL12_3_S1
|
||||
UL12_3_TPE2UL12_3_ENC1
|
||||
UL12_4_VFD15HP280 FPMUL12_4_ENC1
|
||||
UL12_4_TPE1
|
||||
EPCUL12_4_EPC2
|
||||
EPCUL12_4_EPC1
|
||||
RBBGUL12_4_S2
|
||||
RBBGUL12_4_S1
|
||||
UL12_5_VFD12HP280 FPMUL12_6_VFD13HP420 FPMUL12_8_VFD13HP420 FPM
|
||||
UL12_9_VFD13HP420 FPMUL12_10_VFD12HP420 FPMUL12_9_ENC1UL12_8_ENC1UL12_7_ENC1UL12_6_ENC1
|
||||
UL12_5_ENC1
|
||||
UL12_9_TPE1UL12_8_TPE1UL12_7_TPE1UL12_6_TPE2UL12_6_TPE1UL12_7_VFD13HP420 FPM
|
||||
UL11_14_TPE1
|
||||
PS4_2_JPE1
|
||||
PS4_4_TPE1PS4_4_TPE2
|
||||
BBA
|
||||
WPS4_2_JR1
|
||||
PS4_5_TPE1 PS4_6_TPE1 PS4_7_TPE1 PS4_8_JPE1
|
||||
PS4_10_TPE1
|
||||
PS4_10_VFD110HP300 FPM
|
||||
PS4_10_TPE2
|
||||
PS4_11_TPE1
|
||||
PS4_12_JPE1
|
||||
MCM01
|
||||
401
extracted_texts/MTN6_SYSDL-MCM02.txt
Normal file
401
extracted_texts/MTN6_SYSDL-MCM02.txt
Normal file
@ -0,0 +1,401 @@
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR40
|
||||
10T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR40
|
||||
10T
|
||||
S7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR40
|
||||
10T
|
||||
S7000
|
||||
SQR4010TS7000
|
||||
SQR4010T
|
||||
S7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000 SQR4010TS7000
|
||||
SQR4010TS7000
|
||||
SQR40
|
||||
10T
|
||||
S7000
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
PS5_12_TPE2
|
||||
UL16_3_TPE2 UL17_4_TPE1
|
||||
UL16_2_TPE2UL16_3_TPE1UL15_4_TPE1
|
||||
UL15_3_TPE2
|
||||
UL14_3_TPE2
|
||||
UL13_10_TPE2
|
||||
UL13_11_TPE1
|
||||
UL21_16_TPE1
|
||||
UL21_15_TPE2
|
||||
UL21_11_ENC1
|
||||
UL18_10_ENC1
|
||||
UL18_3_ENC1
|
||||
UL17_3_ENC1 UL17_4_ENC1
|
||||
UL16_2_ENC1
|
||||
UL15_3_ENC1 UL15_4_ENC1
|
||||
UL15_6_ENC1
|
||||
UL13_8_ENC1
|
||||
UL14_3_ENC1
|
||||
UL21_13_TPE1
|
||||
UL21_13_TPE2
|
||||
UL13_8_TPE5
|
||||
UL13_8_TPE4
|
||||
UL13_8_TPE3
|
||||
UL13_8_TPE2
|
||||
UL13_8_TPE1
|
||||
UL18_12_TPE2
|
||||
PS5_8_JPE1
|
||||
UL21_11_TPE2
|
||||
UL21_11_TPE3
|
||||
UL21_11_TPE4
|
||||
UL16_4_TPE1
|
||||
UL17_5_TPE1UL17_7_TPE1UL17_7_TPE2UL17_8_TPE1UL17_9_TPE1
|
||||
UL16_6_TPE1
|
||||
UL15_6_TPE1
|
||||
UL18_10_TPE1
|
||||
UL18_10_TPE2UL18_10_TPE3
|
||||
UL18_10_TPE4PS5_10_TPE1
|
||||
UL13_10_ENC1UL13_11_ENC1
|
||||
UL18_14_ENC1UL18_15_ENC1
|
||||
UL21_15_ENC1UL21_16_ENC1UL21_13_ENC1UL16_4_ENC1
|
||||
UL17_5_ENC1UL17_6_ENC1
|
||||
UL17_7_ENC1UL17_8_ENC1UL17_9_ENC1
|
||||
UL16_5_ENC1 UL21_12_ENC1
|
||||
UL15_11_ENC1
|
||||
EPCUL17_4_EPC2
|
||||
EPCUL17_4_EPC1
|
||||
EPCUL16_2_EPC2
|
||||
EPCUL16_2_EPC1
|
||||
EPCUL15_4_EPC2
|
||||
EPCUL15_4_EPC1
|
||||
RBBGUL17_4_S2
|
||||
RBBGUL17_4_S1RBBGUL16_2_S2
|
||||
RBBGUL16_2_S1RBBGUL15_4_S2
|
||||
RBBGUL15_4_S1
|
||||
EPC
|
||||
UL21_11_EPC1
|
||||
EPCUL21_11_EPC2
|
||||
RBBGUL21_11_S1A
|
||||
RBBGUL21_11_S2
|
||||
EPCUL21_13_EPC1RBBGUL21_13_S1
|
||||
EPCUL21_13_EPC2RBBGUL21_13_S2
|
||||
EPC
|
||||
UL18_10_EPC1RBBGUL18_10_S1A
|
||||
EPCUL18_10_EPC2RBBGUL18_10_S2
|
||||
EPCUL13_8_EPC2
|
||||
EPCUL13_8_EPC1
|
||||
RBBGUL13_8_S2
|
||||
RBBGUL13_8_S1A
|
||||
BBGPS7_1_S2
|
||||
BBGPS6_1_S2
|
||||
BBGPS5_1_S2
|
||||
RA
|
||||
RA
|
||||
RA
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
RBB
|
||||
STOP THE EPC AT 8'-3"
|
||||
WUL13_8_JR2
|
||||
WUL13_8_JR1
|
||||
WUL18_10_JR3
|
||||
W
|
||||
UL18_10_JR1
|
||||
WUL21_11_JR1
|
||||
V
|
||||
PS5_1_VFD12HP300 FPMPS5_2_VFD13HP300 FPM
|
||||
PS6_1_VFD12HP300 FPMPS6_2_VFD13HP300 FPM
|
||||
PS7_1_VFD12HP300 FPMPS7_2_VFD13HP300 FPM
|
||||
PS5_3_VFD13HP300 FPM
|
||||
PS5_4_VFD13HP300 FPM
|
||||
PS5_5_VFD15HP300 FPM PS5_6_VFD15HP300 FPMPS5_7_VFD110HP300 FPM
|
||||
PS5_8_VFD15HP300 FPM
|
||||
PS5_9_VFD13HP300 FPM
|
||||
PS5_10_VFD110HP300 FPM
|
||||
PS5_11_VFD12HP300 FPMPS5_12_VFD110HP300 FPMPS5_13_VFD13HP300 FPM
|
||||
PS6_5_VFD15HP300 FPM
|
||||
PS6_7_VFD17.5HP300 FPM
|
||||
PS6_9_VFD13HP300 FPM
|
||||
PS6_10_VFD110HP300 FPM
|
||||
PS6_11_VFD13HP300 FPMPS6_12_VFD110HP300 FPMPS6_13_VFD13HP300 FPM
|
||||
PS7_3_VFD12HP300 FPMPS7_4_VFD13HP300 FPMPS7_5_VFD17.5HP300 FPM
|
||||
PS7_6_VFD17.5HP300 FPM
|
||||
PS7_7_VFD110HP300 FPM PS7_8_VFD110HP300 FPM PS7_9_VFD17.5HP300 FPM PS7_10_VFD13HP300 FPM
|
||||
PS7_14_VFD17.5HP300 FPM
|
||||
PS5_4_TPE1PS5_4_TPE2 PS5_5_JPE1
|
||||
PS5_7_TPE1
|
||||
UL18_10_TPE5
|
||||
PS5_10_JPE1PS5_12_TPE1
|
||||
PS5_13_TPE1PS6_12_TPE2
|
||||
PS6_8_JPE1
|
||||
UL21_15_TPE1
|
||||
PS6_4_TPE1
|
||||
PS7_14_TPE2
|
||||
EPCPS5_1_EPC1EPCPS5_1_EPC2
|
||||
RBBGPS5_1_S1
|
||||
EPCPS6_1_EPC1EPCPS6_1_EPC2
|
||||
RBBGPS6_1_S1
|
||||
EPCPS7_1_EPC1EPCPS7_1_EPC2
|
||||
RBBGPS7_1_S1
|
||||
EPCPS5_13_EPC1
|
||||
EPCPS6_13_EPC2
|
||||
EPCPS7_14_EPC1
|
||||
RBB
|
||||
PS5_2_JPE1 BBA
|
||||
WPS5_6_JR1
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
BBA
|
||||
WPS7_13_JR1 EPCPS7_14_EPC2
|
||||
RBB
|
||||
EPCPS7_9_EPC1
|
||||
RBBGPS7_9_S2EPCPS7_9_EPC2
|
||||
RBBGPS7_9_S1
|
||||
WPS5_9_JR1
|
||||
BBA
|
||||
WPS6_8_JR1
|
||||
BBA
|
||||
WPS5_9_JR2
|
||||
W
|
||||
PS6_9_JR1
|
||||
W
|
||||
UL21_5_JR1
|
||||
BBA
|
||||
WPS6_11_JR1
|
||||
EPCPS5_13_EPC2
|
||||
EPCPS6_13_EPC1RBB
|
||||
W
|
||||
PS5_10_JR1
|
||||
BBA
|
||||
WPS5_11_JR1
|
||||
RBB
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-180-P4.0
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-180-P4.0
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
V
|
||||
UL13_10_TPE1
|
||||
UL13_2_FIO1
|
||||
UL14_3_FIO1
|
||||
UL15_3_FIO1
|
||||
UL16_2_FIO1
|
||||
UL17_3_FIO1
|
||||
UL18_3_FIO1
|
||||
UL19_2_FIO1
|
||||
PS7_DPM3MCM02
|
||||
PS5_DPM1MCM02
|
||||
UL13_DPM1MCM02
|
||||
UL14_DPM1MCM02
|
||||
UL15_DPM1MCM02
|
||||
PS6_DPM1MCM02
|
||||
PS7_DPM1MCM02 PS7_DPM2MCM02
|
||||
UL16_DPM1MCM02
|
||||
UL18_DPM1MCM02
|
||||
UL19_DPM1MCM02
|
||||
UL20_DPM1MCM02
|
||||
MCM02
|
||||
UL17_DPM1MCM02
|
||||
UL21_DPM1MCM02
|
||||
UL13_1_VFD12HP120 FPM
|
||||
UL13_1_TPE1
|
||||
RBBEPCUL13_1_EPC2EPCUL13_1_EPC1
|
||||
RGUL13_1_SS1
|
||||
UL13_2_TPE1UL13_2_LPE2
|
||||
UL13_2_LPE1RBB
|
||||
EPCUL13_4_EPC2
|
||||
EPCUL13_4_EPC1
|
||||
RBBGUL13_4_S2
|
||||
RBBGUL13_4_S1UL13_4_VFD13HP300 FPMUL13_5_VFD13HP300 FPMUL13_6_VFD3HP300 FPM
|
||||
UL13_7_VFD13HP300 FPM
|
||||
UL13_4_ENC1UL13_5_ENC1UL13_6_ENC1UL13_4_TPE1UL13_5_TPE1UL13_6_TPE1
|
||||
UL13_3_TPE1
|
||||
UL13_7_ENC1UL13_7_TPE1UL13_3_VFD13HP280 FPMUL13_2_VFD17.5HP280 FPM UL13_8_VFD15HP280 FPMUL13_9A_VFD13HP300 FPMUL13_9B_VFD13HP300 FPMUL13_10_VFD12HP280 FPMUL13_11_VFD12HP280 FPMUL13_12_VFD15HP280 FPM
|
||||
PS5_2_TPE1
|
||||
RGPS5_13_SS1
|
||||
PS5_12_FIO1
|
||||
EPCUL14_3_EPC2
|
||||
EPCUL14_3_EPC1
|
||||
UL14_3_TPE1
|
||||
UL14_3_LPE1
|
||||
UL14_3_LPE2RBBGUL14_3_S2
|
||||
RBBGUL14_3_S1
|
||||
RBB
|
||||
UL14_3_VFD15HP280 FPM UL14_4_VFD15HP280 FPM
|
||||
UL14_5_VFD13HP280 FPMUL14_6_VFD13HP420 FPMUL14_8_VFD13HP420 FPMUL14_9_VFD13HP420 FPMUL14_10_VFD13HP420 FPMUL14_9_ENC1UL14_8_ENC1UL14_7_ENC1UL14_6_ENC1UL14_4_ENC1
|
||||
UL14_4_TPE1UL14_9_TPE1
|
||||
UL14_8_TPE1
|
||||
UL14_7_TPE2UL14_7_TPE1UL14_5_TPE1
|
||||
EPCUL14_4_EPC2
|
||||
EPCUL14_4_EPC1
|
||||
RBBGUL14_4_S2
|
||||
RBBGUL14_4_S1
|
||||
UL14_5_ENC1
|
||||
EPCUL15_3_EPC2
|
||||
EPCUL15_3_EPC1
|
||||
UL15_3_TPE1
|
||||
UL15_3_LPE1
|
||||
UL15_3_LPE2RBBGUL15_3_S2
|
||||
RBBGUL15_3_S1UL15_3_VFD15HP280 FPM UL15_4_VFD15HP280 FPM
|
||||
UL15_5_VFD12HP280 FPMUL15_5_ENC1
|
||||
UL15_6_VFD13HP420 FPMUL15_7_VFD13HP420 FPMUL15_8_VFD13HP420 FPMUL15_9_VFD13HP420 FPMUL15_10_VFD13HP420 FPMUL15_11_VFD12HP420 FPM
|
||||
UL15_6_TPE2UL15_7_ENC1UL15_7_TPE1UL15_8_TPE1UL15_9_TPE1
|
||||
UL15_10_TPE1
|
||||
UL15_8_ENC1UL15_9_ENC1UL15_10_ENC1
|
||||
UL16_1_VFD12HP120 FPM
|
||||
UL16_1_TPE1
|
||||
RBBEPCUL16_1_EPC2EPCUL16_1_EPC1
|
||||
RGUL16_1_SS1
|
||||
UL16_2_TPE1UL16_2_LPE2
|
||||
UL16_2_LPE1RBB UL16_2_VFD17.5HP280 FPMUL16_3_VFD13HP280 FPM
|
||||
UL16_4_VFD13HP280 FPMUL16_5_VFD12HP280 FPM
|
||||
UL16_6_ENC1UL16_7_ENC1UL16_8_ENC1UL16_6_TPE2UL16_7_TPE1UL16_8_TPE1UL16_6_VFD13HP280 FPMUL16_7_VFD13HP280 FPMUL16_8_VFD13HP280 FPMUL16_9_VFD12HP280 FPM
|
||||
EPCUL17_3_EPC2
|
||||
EPCUL17_3_EPC1
|
||||
UL17_3_TPE1
|
||||
UL17_3_LPE1
|
||||
UL17_3_LPE2RBBGUL17_3_S2
|
||||
RBBGUL17_3_S1UL17_3_VFD15HP120 FPM UL17_4_VFD15HP280 FPM
|
||||
UL17_5_VFD13HP420 FPMUL17_6_VFD12HP280 FPMUL17_7_VFD13HP420 FPMUL17_8_VFD13HP420 FPM
|
||||
UL17_10_VFD12HP420 FPMUL17_9_VFD13HP420 FPM
|
||||
EPCUL18_3_EPC2
|
||||
EPCUL18_3_EPC1
|
||||
UL18_3_TPE1
|
||||
UL18_3_LPE1
|
||||
UL18_3_LPE2RBBGUL18_3_S2
|
||||
RBBGUL18_3_S1UL18_3_VFD15HP120 FPM
|
||||
UL18_3_TPE2 UL18_4_TPE1
|
||||
UL18_4_ENC1
|
||||
UL18_5_TPE1UL18_5_ENC1
|
||||
EPCUL18_4_EPC2
|
||||
EPCUL18_4_EPC1
|
||||
RBBGUL18_4_S2
|
||||
RBBGUL18_4_S1UL18_4_VFD15HP280 FPM
|
||||
UL18_5_VFD13HP420 FPMUL18_6_VFD15HP280 FPMUL18_6_ENC1UL18_7_TPE1UL18_7_ENC1UL18_7_TPE2UL18_8_TPE1UL18_9_TPE1
|
||||
UL18_8_ENC1UL18_9_ENC1
|
||||
UL18_7_VFD13HP280 FPMUL18_8_VFD13HP280 FPMUL18_9_VFD13HP280 FPM
|
||||
WUL18_10_JR2
|
||||
UL18_10_VFD15HP280 FPM
|
||||
UL18_12_TPE1
|
||||
UL18_11_VFD15HP280 FPMUL18_12_VFD13HP280 FPM
|
||||
UL18_12_ENC1
|
||||
UL18_11_ENC1UL18_13A_VFD13HP280 FPMUL18_13B_VFD13HP280 FPM
|
||||
UL18_14_TPE1
|
||||
UL18_14_TPE2
|
||||
UL18_15_TPE1
|
||||
UL18_14_VFD12HP280 FPMUL18_15_VFD12HP280 FPMUL18_16_VFD15HP280 FPM
|
||||
UL19_1_VFD12HP120 FPM
|
||||
UL19_1_TPE1
|
||||
RBBEPCUL19_1_EPC2EPCUL19_1_EPC1
|
||||
RGUL19_1_SS1
|
||||
UL19_2_TPE1UL19_2_LPE2
|
||||
UL19_2_LPE1RBB
|
||||
UL20_3_ENC1UL20_3_FIO1EPCUL20_3_EPC2
|
||||
EPCUL20_3_EPC1
|
||||
UL20_3_TPE1
|
||||
UL20_3_LPE1
|
||||
UL20_3_LPE2RBBGUL20_3_S2
|
||||
RBBGUL20_3_S1UL20_3_VFD15HP120 FPM
|
||||
UL20_3_TPE2
|
||||
UL21_3_ENC1UL21_3_FIO1EPCUL21_3_EPC2
|
||||
EPCUL21_3_EPC1
|
||||
UL21_3_TPE1
|
||||
UL21_3_LPE1
|
||||
UL21_3_LPE2RBBGUL21_3_S2
|
||||
RBBGUL21_3_S1UL21_3_VFD15HP120 FPM
|
||||
UL21_3_TPE2
|
||||
UL19_2_ENC1EPCUL19_2_EPC2
|
||||
EPCUL19_2_EPC1
|
||||
RBBGUL19_2_S2
|
||||
RBBGUL19_2_S1UL19_2_VFD17.5HP280 FPMUL19_2_TPE2
|
||||
UL19_3_VFD12HP280 FPMUL19_3_ENC1
|
||||
UL19_4_TPE1
|
||||
UL19_4_TPE2
|
||||
UL19_4_ENC1UL19_4_VFD12HP280 FPMUL19_5_ENC1UL19_6_ENC1UL19_7_ENC1UL19_8_ENC1UL19_5_TPE1UL19_6_TPE1UL19_7_TPE1UL19_8_TPE1UL19_9_VFD12HP420 FPMUL19_8_VFD13HP420 FPM
|
||||
UL19_7_VFD13HP420 FPMUL19_6_VFD13HP420 FPMUL19_5_VFD13HP420 FPM
|
||||
UL20_4_ENC1EPCUL20_4_EPC2
|
||||
EPCUL20_4_EPC1
|
||||
RBBGUL20_4_S2
|
||||
RBBGUL20_4_S1UL20_4_VFD15HP280 FPMUL20_44_TPE1
|
||||
UL20_5_VFD12HP280 FPMUL20_5_ENC1
|
||||
UL20_6_TPE1UL20_6_ENC1
|
||||
UL20_11_VFD12HP420 FPMUL20_10_VFD13HP420 FPMUL20_9_VFD13HP420 FPM
|
||||
UL20_7_VFD13HP420 FPMUL20_8_VFD13HP420 FPM
|
||||
UL20_6_VFD13HP420 FPM
|
||||
UL20_6_TPE2UL20_7_TPE1UL20_8_TPE1UL20_9_TPE1UL20_10_TPE1
|
||||
UL20_7_ENC1UL20_8_ENC1UL20_9_ENC1UL20_10_ENC1
|
||||
UL21_4_ENC1EPCUL21_4_EPC2
|
||||
EPCUL21_4_EPC1
|
||||
RBBGUL21_4_S2
|
||||
RBBGUL21_4_S1UL21_4_VFD15HP280 FPMUL21_4_TPE1UL21_6_TPE1
|
||||
UL21_5_VFD15HP280 FPM
|
||||
UL21_5_ENC1UL21_6_ENC1UL21_7_ENC1UL21_8_ENC1UL21_9_ENC1UL21_10_ENC1
|
||||
UL21_6_TPE2UL21_7_TPE1UL21_8_TPE1UL21_9_TPE1UL21_10_TPE1UL21_11_TPE1
|
||||
UL21_6_VFD13HP300 FPMUL21_7_VFD13HP300 FPMUL21_8_VFD13HP300 FPMUL21_9_VFD13HP300 FPMUL21_10_VFD13HP300 FPM
|
||||
WUL21_11_JR2
|
||||
UL21_11_VFD17.5HP280 FPM
|
||||
UL21_11_TPE5
|
||||
UL21_12_VFD15HP280 FPM UL21_13_VFD12HP280 FPMUL21_14A_VFD13HP280 FPMUL21_14B_VFD13HP280 FPMUL21_15_VFD12HP280 FPM
|
||||
UL21_16_VFD12HP280 FPM
|
||||
UL21_17_VFD15HP280 FPMPS6_2_JPE1PS6_2_TPE1
|
||||
PS6_3_VFD12HP300 FPM
|
||||
PS6_4_TPE2
|
||||
PS6_4_VFD13HP300 FPM PS6_6_VFD15HP300 FPM
|
||||
PS6_5_JPE1
|
||||
PS6_7_TPE1BBA
|
||||
WPS6_6_JR1
|
||||
PS6_8_VFD15HP300 FPMPS6_10_TPE1
|
||||
PS6_10_JPE1PS6_12_TPE1
|
||||
RGPS6_13_SS1
|
||||
PS7_2_TPE1PS7_2_JPE1PS7_4_TPE1PS7_4_TPE2 PS7_5_TPE1 PS7_6_TPE1 PS7_7_TPE1 PS7_8_TPE1 PS7_9_TPE1PS7_10_JPE1BBA
|
||||
WPS7_11_JR1
|
||||
PS7_11_VFD13HP300 FPM
|
||||
PS7_12_TPE1
|
||||
PS7_12_VFD13HP300 FPM
|
||||
PS7_12_JPE1PS7_13_VFD13HP300 FPMPS7_14_TPE1
|
||||
RGPS7_14_SS1PS7_14_FIO1
|
||||
BBA
|
||||
MCM02
|
||||
181
extracted_texts/MTN6_SYSDL-MCM03.txt
Normal file
181
extracted_texts/MTN6_SYSDL-MCM03.txt
Normal file
@ -0,0 +1,181 @@
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
UL1_14_VFD13HP420 FPMUL1_15_VFD13HP420 FPMUL1_16_VFD13HP420 FPMUL1_17_VFD13HP420 FPM
|
||||
UL1_18_VFD15HP420 FPM
|
||||
UL1_19_VFD13HP420 FPM
|
||||
UL1_20_VFD12HP420 FPM
|
||||
UL1_18_ENC1
|
||||
UL1_14_TPE1
|
||||
UL1_15_TPE1
|
||||
UL1_16_TPE1
|
||||
UL1_17_TPE1
|
||||
UL1_19_TPE2UL1_19_TPE1EPCUL1_14_EPC1
|
||||
EPCUL1_14_EPC2
|
||||
BBGUL1_14_S1RA
|
||||
UL7_14_VFD13HP420 FPMUL7_15_VFD13HP420 FPMUL7_16_VFD13HP420 FPM
|
||||
UL7_17_VFD13HP420 FPM
|
||||
UL7_18_VFD15HP420 FPM
|
||||
UL7_19_VFD13HP420 FPM
|
||||
UL7_20_VFD13HP420 FPM
|
||||
UL11_15_VFD13HP420 FPMUL11_16_VFD13HP420 FPMUL11_17_VFD13HP420 FPMUL11_18_VFD13HP420 FPM
|
||||
UL11_19_VFD15HP420 FPM
|
||||
UL11_20_VFD13HP420 FPM
|
||||
UL11_21_VFD13HP420 FPM
|
||||
EPCUL7_14_EPC1
|
||||
EPCUL7_14_EPC2
|
||||
EPCUL11_15_EPC1
|
||||
EPCXXXX_EPC1
|
||||
RBBGUL7_14_S2
|
||||
BBGUL11_15_S1RA
|
||||
RBBGUL1_14_S2A
|
||||
RBBGUL11_15_S2
|
||||
RBBGUL7_14_S1
|
||||
A
|
||||
NCP1_1_VFD7.5HP300 FPM
|
||||
NCP1_2_VFD17.5HP300 FPM
|
||||
NCP1_3_VFD17.5HP300 FPM
|
||||
NCP1_4_VFD15HP300 FPM
|
||||
NCP1_5_VFD17.5HP350 FPM NCP1_6_VFD15HP350 FPM NCP1_7_VFD17.5HP350 FPM NCP1_8_VFD17.5HP350 FPM
|
||||
NCP_005_ENW1
|
||||
EPCNCP1_1_EPC1RBB
|
||||
EPCNCP1_1_EPC2
|
||||
RBBA
|
||||
A
|
||||
EPCNCP1_2_EPC1
|
||||
RBB
|
||||
EPCNCP1_2_EPC2
|
||||
RBB
|
||||
A
|
||||
EPCNCP1_3_EPC1RBB
|
||||
EPCNCP1_3_EPC2
|
||||
RBB
|
||||
WNCP1_3_JR3ABB
|
||||
EPCNCP1_8_EPC1
|
||||
EPCNCP1_8_EPC2
|
||||
V
|
||||
GNCP1_1_S2
|
||||
GNCP1_1_S1
|
||||
GNCP1_2_S2GNCP1_2_S1
|
||||
GNCP1_3_S2GNCP1_3_S1
|
||||
NCP1_1_ENC1
|
||||
NCP1_2_ENC1
|
||||
NCP1_3_ENC1
|
||||
NCP1_1_TPE1
|
||||
NCP1_5_TPE1 NCP1_5_TPE2NCP1_6_TPE1
|
||||
UL13_DPM2MCM03
|
||||
UL1_DPM2MCM03
|
||||
UL7_DPM2MCM03
|
||||
MCM03
|
||||
NCP_DPM1MCM03
|
||||
UL4_14_VFD12HP420 FPMUL4_15_VFD13HP420 FPMUL4_16_VFD13HP420 FPMUL4_17_VFD13HP420 FPM
|
||||
UL4_18_VFD15HP420 FPM
|
||||
UL4_19_VFD13HP420 FPM
|
||||
UL4_20_VFD12HP420 FPM
|
||||
UL4_18_ENC1
|
||||
UL4_14_TPE1
|
||||
UL4_15_TPE1
|
||||
UL4_16_TPE1
|
||||
UL4_17_TPE1
|
||||
UL4_19_TPE2UL4_19_TPE1BBGUL4_14_S1RA
|
||||
RBBGUL4_14_S2A
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
ST 1.5kW 1.4375
|
||||
UL13_13_TPE1
|
||||
UL13_13_ENC1
|
||||
EPCUL21_18_EPC1
|
||||
EPCUL21_18_EPC2
|
||||
EPCUL18_17_EPC1
|
||||
EPCUL18_17_EPC2
|
||||
EPCUL13_13_EPC1
|
||||
EPCUL13_13_EPC2
|
||||
RBBGUL21_18_S2
|
||||
RBBGUL18_17_S2
|
||||
RBBGUL13_13_S2
|
||||
A
|
||||
A
|
||||
RBBGUL18_17_S1
|
||||
RBBGUL21_18_S1
|
||||
ARBBGUL13_13_S1
|
||||
EPCUL4_14_EPC2
|
||||
EPCUL4_14_EPC1
|
||||
UL7_18_ENC1
|
||||
UL7_14_TPE1
|
||||
UL7_15_TPE1
|
||||
UL7_16_TPE1
|
||||
UL7_17_TPE1
|
||||
UL7_19_TPE2UL7_19_TPE1
|
||||
UL11_15_TPE1
|
||||
UL11_16_TPE1
|
||||
UL11_17_TPE1
|
||||
UL11_18_TPE1
|
||||
UL11_19_ENC1
|
||||
UL11_20_TPE2UL11_20_TPE1
|
||||
UL13_13_VFD13HP420 FPM
|
||||
UL1_14_ENC1UL1_15_ENC1UL1_16_ENC1UL1_17_ENC1
|
||||
UL1_19_ENC1
|
||||
UL4_14_ENC1UL4_15_ENC1UL4_16_ENC1UL4_17_ENC1
|
||||
UL4_19_ENC1
|
||||
UL7_14_ENC1UL7_15_ENC1UL7_16_ENC1UL7_17_ENC1
|
||||
UL7_19_ENC1
|
||||
UL11_15_ENC1UL11_16_ENC1UL11_17_ENC1UL11_18_ENC1
|
||||
UL11_20_ENC1
|
||||
UL13_14_VFD13HP420 FPMUL13_15_VFD13HP420 FPMUL13_16_VFD13HP420 FPMUL13_17_VFD15HP420 FPM
|
||||
UL13_18_VFD13HP420 FPM
|
||||
UL13_19_VFD12HP420 FPM
|
||||
UL13_14_TPE1
|
||||
UL13_15_TPE1
|
||||
UL13_16_TPE1
|
||||
UL13_18_TPE2
|
||||
UL13_18_TPE1UL13_18_ENC1
|
||||
UL13_14_ENC1UL13_15_ENC1UL13_16_ENC1
|
||||
UL13_17_ENC1
|
||||
UL18_17_TPE1
|
||||
UL18_17_ENC1UL18_17_VFD13HP420 FPMUL18_18_VFD13HP420 FPMUL18_19_VFD13HP420 FPMUL18_20_VFD13HP420 FPMUL18_21_VFD15HP420 FPM
|
||||
UL18_18_TPE1
|
||||
UL18_19_TPE1
|
||||
UL18_20_TPE1
|
||||
UL18_18_ENC1UL18_19_ENC1UL18_20_ENC1
|
||||
UL18_21_ENC1
|
||||
UL18_22_VFD13HP420 FPM
|
||||
UL18_23_VFD12HP420 FPMUL18_22_TPE2
|
||||
UL18_22_TPE1UL18_22_ENC1
|
||||
UL21_18_TPE1
|
||||
UL21_18_ENC1
|
||||
UL21_18_VFD13HP420 FPMUL21_19_VFD13HP420 FPMUL21_20_VFD13HP420 FPMUL21_21_VFD13HP420 FPMUL21_22_VFD15HP420 FPM
|
||||
UL21_19_TPE1
|
||||
UL21_20_TPE1
|
||||
UL21_21_TPE1
|
||||
UL21_19_ENC1UL21_20_ENC1UL21_21_ENC1
|
||||
UL21_22_ENC1
|
||||
UL21_23_VFD13HP420 FPM
|
||||
UL21_24_VFD12HP420 FPMUL21_23_TPE2
|
||||
UL21_23_TPE1UL21_23_ENC1
|
||||
NCP1_1_TPE2
|
||||
NCP1_1_TPE3
|
||||
NCP1_1_TPE4
|
||||
WNCP1_1_JR1BBA
|
||||
NCP1_1_TPE5
|
||||
NCP1_2_TPE1
|
||||
NCP1_2_TPE2
|
||||
NCP1_2_TPE3
|
||||
NCP1_2_TPE4
|
||||
WNCP1_2_JR1BBA
|
||||
NCP1_2_TPE5
|
||||
WNCP1_3_JR1BBA
|
||||
WNCP1_3_JR2BBA
|
||||
NCP1_3_TPE1
|
||||
NCP1_3_TPE2
|
||||
NCP1_3_TPE3
|
||||
NCP1_3_TPE4
|
||||
NCP1_3_TPE5
|
||||
NCP1_3_TPE6
|
||||
NCP1_3_TPE7
|
||||
NCP1_7_TPE1 RBB
|
||||
RBB
|
||||
GNCP1_8_S1
|
||||
GNCP1_8_S2
|
||||
NCP1_8_TPE1NCP1_8_FIO1
|
||||
MCM03
|
||||
587
extracted_texts/MTN6_SYSDL-MCM04.txt
Normal file
587
extracted_texts/MTN6_SYSDL-MCM04.txt
Normal file
@ -0,0 +1,587 @@
|
||||
2'-1.5" EL
|
||||
2'-3" EL
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
ERSCERSCERSCERSCERSCERSCERSCERSCERSCERSCERSCERSCERSCERSCERSC MDR POWER SUPPLY80AMDR POWER SUPPLY80A
|
||||
V
|
||||
11'-2" EL
|
||||
1'-4" EL
|
||||
FL_DPM1MCM04
|
||||
FL_DPM2MCM04
|
||||
ULGLB_DPM1MCM04
|
||||
ULGLC_DPM1MCM04
|
||||
MCM04
|
||||
PRS1_DPM1MCM04
|
||||
CH_DPM2MCM04
|
||||
FL1038_2_PE1ABBB
|
||||
FL1038_1CH_PE1
|
||||
FL1038_2_PE2
|
||||
FL1038_2_VFD15HP350FPM
|
||||
FL1038_3CH_PE1BBBWFL1038_2_JR2WFL1038_2_JR1
|
||||
WFL1038_1_JR1
|
||||
ULC8_3_VFD12HP80FPMULC7_3_VFD12HP80FPMULC6_3_VFD12HP80FPMULC5_3_VFD12HP80FPM
|
||||
PS10_1_VFD15HP150FPMPS10_2_VFD115HP200FPM
|
||||
PS10_5_VFD115HP240FPM
|
||||
PS11_1_VFD15HP150FPMPS11_2_VFD15HP200FPMPS11_3_VFD110HP240FPM
|
||||
PS11_4_VFD110HP240FPM
|
||||
PS11_6_VFD110HP240FPM PS11_7_VFD120HP240FPM PS11_8_VFD115HP240FPM PS11_9_VFD115HP240FPM
|
||||
PS11_11_VFD115HP240FPMULC8_3_JPE2ULC7_3_JPE2ULC6_3_JPE2ULC5_3_JPE2
|
||||
PS10_1_JPE2
|
||||
PS10_1_JPE1PS10_1_JPE3PS11_1_JPE1
|
||||
PS11_1_JPE2
|
||||
PS11_1_JPE3PS10_3_JPE1 PS11_2_JPE1
|
||||
PS10_5CH2_FPE1PS10_5CH2_JPE1
|
||||
PS10_5CH5_FPE2
|
||||
PS10_6CH_FPE1
|
||||
PS10_5_JPE4
|
||||
PS10_5_JPE5
|
||||
PS10_5_JPE3
|
||||
PS10_5_JPE2
|
||||
PS10_5_JPE1
|
||||
PS11_3_JPE2
|
||||
PS11_4_JPE1
|
||||
PS11_11_JPE1
|
||||
PS11_11_JPE2
|
||||
PS11_11_JPE3
|
||||
PS11_11_JPE4
|
||||
PS11_11_JPE5
|
||||
PS11_11CH1_JPE1
|
||||
EPCULC5_3_EPC1
|
||||
EPCULC5_3_EPC2
|
||||
EPCULC6_3_EPC1
|
||||
EPCULC7_3_EPC1
|
||||
EPCULC7_3_EPC2
|
||||
EPCULC8_3_EPC1
|
||||
EPCPS10_1_EPC1EPCPS11_1_EPC1
|
||||
EPCPS10_5_EPC1
|
||||
EPCPS11_11_EPC1
|
||||
WPS10_1_JR1
|
||||
WULC8_3_JR1
|
||||
WULC7_3_JR1
|
||||
WULC6_3_JR1
|
||||
WULC5_3_JR1W
|
||||
PS11_1_JR2
|
||||
PS11_9_JPE1
|
||||
WPS11_11_JR1
|
||||
WPS11_11_JR2
|
||||
WPS10_5_JR1
|
||||
WPS10_5_JR2ABB
|
||||
ABB
|
||||
ABBR
|
||||
GPS10_3_JR1
|
||||
GPS11_11_S1
|
||||
RABB RABB RABB RABB
|
||||
ABBABBR ABBR
|
||||
ABBR
|
||||
ABB
|
||||
ABB
|
||||
PS11_1_FIO1PS10_1_FIO2
|
||||
PS10_5_FIO1
|
||||
PS10_5_FIO3
|
||||
PS11_11_FIO1
|
||||
PS10_5DIV1_LS1LSPS10_5DIV1_LS2LS
|
||||
PS10_5DIV2_LS1LSPS10_5DIV2_LS2LS
|
||||
PS10_5DIV3_LS1LSPS10_5DIV3_LS2LS
|
||||
PS10_5DIV5_LS1LSPS10_5DIV5_LS2LS
|
||||
PS11_11DIV1_LS1LSPS11_11DIV1_LS2LS
|
||||
PS11_11DIV2_LS1LSPS11_11DIV2_LS2LS
|
||||
PS11_11DIV3_LS1LSPS11_11DIV3_LS2LS
|
||||
PS11_11DIV4_LS1LSPS11_11DIV4_LS2LS
|
||||
PS11_11DIV5_LS1LSPS11_11DIV5_LS2LS
|
||||
PS11_11DIV6_LS1LSPS11_11DIV6_LS2LS
|
||||
SOLPS10_5DIV5_SOL1SOLPS10_5DIV5_SOL2
|
||||
SOLPS10_5DIV3_SOL1SOLPS10_5DIV3_SOL2
|
||||
SOLPS10_5DIV2_SOL1SOLPS10_5DIV2_SOL2SOLPS10_5DIV1_SOL1SOLPS10_5DIV1_SOL2
|
||||
SOLPS11_11DIV1_SOL1SOLPS11_11DIV1_SOL2
|
||||
SOLPS11_11DIV2_SOL1SOLPS11_11DIV2_SOL2
|
||||
SOLPS11_11DIV3_SOL1SOLPS11_11DIV3_SOL2
|
||||
SOLPS11_11DIV4_SOL1SOLPS11_11DIV4_SOL2
|
||||
SOLPS11_11DIV5_SOL1SOLPS11_11DIV5_SOL2
|
||||
SOLPS11_11DIV6_SOL1SOLPS11_11DIV6_SOL2
|
||||
PS10_5CH2_FPE2PS10_5CH1_JPE1PS10_5CH1_FPE1PS10_5CH1_FPE2
|
||||
PS10_5CH5_FPE1PS10_5CH5_JPE1
|
||||
PS10_1_JPE4
|
||||
PS11_11CH1_FPE1PS11_11CH1_FPE2PS11_11CH2_JPE1
|
||||
PS11_12CH_FPE1ULC8_3_JPE1ULC7_3_JPE1ULC6_3_JPE1
|
||||
ULC5_3_JPE1
|
||||
PS11_1_JPE4
|
||||
PRS3_2B_VFD12HP120 FPMPRS3_3B_VFD13HP120 FPM
|
||||
PRS3_2A_VFD12HP120 FPMPRS3_3A_VFD12HP120 FPM
|
||||
PRS3_5_VFD12HP120 FPM
|
||||
ERSCPRS3_6_ERSC1ERSCPRS3_6_ERSC2ERSCPRS3_6_ERSC3ERSCPRS3_6_ERSC4ERSCPRS3_6_ERSC5ERSCPRS3_6_ERSC6ERSCPRS3_6_ERSC7ERSCPRS3_6_ERSC8ERSCPRS3_6_ERSC9ERSCPRS3_6_ERSC10ERSCPRS3_6_ERSC11ERSCPRS3_6_ERSC12ERSCPRS3_6_ERSC13ERSCPRS3_6_ERSC14ERSCPRS3_6_ERSC15 MDR POWER SUPPLYPRS3_6_PSU140AMDR POWER SUPPLYPRS3_6_PSU240A
|
||||
PRS3_6_PE1PRS3_6_PE2PRS3_6_PE3PRS3_6_PE4PRS3_6_PE5PRS3_6_PE6PRS3_6_PE7PRS3_6_PE8PRS3_6_PE9PRS3_6_PE10PRS3_6_PE11PRS3_6_PE12PRS3_6_PE13PRS3_6_PE14PRS3_6_PE15PRS3_6_PE16PRS3_6_PE17PRS3_6_PE18PRS3_6_PE19PRS3_6_PE20PRS3_6_PE21PRS3_6_PE22PRS3_6_PE23PRS3_6_PE24PRS3_6_PE25PRS3_6_PE26PRS3_6_PE27PRS3_6_PE28PRS3_6_PE29PRS3_6_PE30
|
||||
PRS3_2B_JPE1 PRS3_2A_JPE1
|
||||
PRS3_1BCH_JPE1 PRS3_1ACH_JPE1
|
||||
PRS3_5_JPE1
|
||||
PRS3_3B_JPE1PRS3_3B_JPE2PRS3_3A_JPE2 PRS3_3A_JPE1
|
||||
PRS3_5_JPE2
|
||||
PRS4_1_JPE1PRS4_2_JPE1 EPCPRS3_5_EPC1
|
||||
EPCPRS3_5_EPC2
|
||||
EPCPRS4_1_EPC2
|
||||
EPCPRS4_1_EPC1
|
||||
EPCPRS4_2_EPC1
|
||||
EPCPRS4_2_EPC2
|
||||
GPRS4_2_S2ABBRGPRS4_1_S2GPRS4_1_S1
|
||||
GPRS4_2_S1
|
||||
GPRS3_5_S1GPRS3_5_S2
|
||||
BBR
|
||||
BBR
|
||||
ABBR BBR
|
||||
ABB ABB
|
||||
WPRS3_3B_JR1
|
||||
WPRS3_3A_JR1WPRS3_2B_JR1
|
||||
WPRS3_1BCH_JR1 WPRS3_1ACH_JR1
|
||||
WPRS3_2A_JR1
|
||||
ABB
|
||||
ABB
|
||||
ABB
|
||||
ABB
|
||||
BABB
|
||||
PRS3_4CH_FPE1
|
||||
PRS3_4CH_FPE2B B
|
||||
BB
|
||||
GBBAB
|
||||
GBBABGBBAB
|
||||
GBBABGBBAB
|
||||
GBBAB
|
||||
GPS11_11CH1_S1
|
||||
GPS11_11CH2_S1
|
||||
GPS11_11CH3_S1
|
||||
GPS11_11CH4_S1
|
||||
GPS11_11CH5_S1
|
||||
GPS11_11CH6_S1
|
||||
GPS10_5CH2_S1
|
||||
GPS10_5CH1_S1
|
||||
GPS10_5CH5_S1
|
||||
GPS10_5CH3_S1
|
||||
GBBAB
|
||||
GBBAB
|
||||
GBBAB
|
||||
GBBAB
|
||||
PS10_1_ENC1PS10_2_ENC1
|
||||
PS10_5_ENC1
|
||||
PS11_3_ENC1
|
||||
PS11_6_ENC1 PS11_7_ENC1 PS11_8_ENC1 PS11_9_ENC1
|
||||
PS11_11_ENC1
|
||||
EPCPS11_7_EPC2
|
||||
EPCPS11_7_EPC1
|
||||
BBR
|
||||
BBR
|
||||
G
|
||||
PS11_7_S2
|
||||
GPS11_7_S1
|
||||
ULC8_3_ENC1ULC7_3_ENC1ULC6_3_ENC1ULC5_3_ENC1
|
||||
PRS4_2_ENC1
|
||||
PRS4_1_ENC1
|
||||
PS10_5_PS1PS
|
||||
PS11_11_PS1PS
|
||||
PS10_5CH3_JPE1PS10_5CH3_FPE1PS10_5CH3_FPE2
|
||||
PS11_11CH2_FPE1PS11_11CH2_FPE2
|
||||
EPCPS11_8_EPC1BBR
|
||||
G
|
||||
PRS4_2_JPE2PS11_3_JPE1
|
||||
EPCPS11_4_EPC2
|
||||
EPCPS11_4_EPC1EPCPS11_3_EPC1
|
||||
EPCPS11_3_EPC2
|
||||
ABBR
|
||||
BBR
|
||||
BBR
|
||||
GPS11_3_S1ABBR
|
||||
GPS11_3_S2
|
||||
PS11_2_ENC1PS10_3_VFD115HP240FPMPS10_3_ENC1 PS11_1_ENC1
|
||||
PS11_4_ENC1
|
||||
PS11_11_JPE6WPS11_11_JR3ABB
|
||||
PRS4_1_VFD17.5HP120FPM
|
||||
PRS4_2_VFD15HP120FPM
|
||||
RGULC5_3_SS1RGULC5_3_SS2
|
||||
PS11_1_FIO2
|
||||
RGULC6_3_SS2
|
||||
PS10_1_FIO1
|
||||
RGPS10_1_SS1
|
||||
PS10_2_TPE
|
||||
PS10_5_FIO2
|
||||
PS10_5_FIO4PS10_5_FIO5
|
||||
WPS11_1_JR1
|
||||
PS11_3_FIO1
|
||||
GPS11_4_S2
|
||||
GPS11_4_S1
|
||||
PS11_4_FIO1
|
||||
PS11_7_FIO1
|
||||
PS11_11_FIO2
|
||||
PS11_11_FIO3
|
||||
PS11_11_FIO4
|
||||
PS11_11_FIO5
|
||||
PS11_11_FIO6
|
||||
PRS3_2B_FIO1 PRS3_2A_FIOM1
|
||||
PRS3_4CH_FIO1
|
||||
PRS4_2_FIO1
|
||||
WPRS4_2_JR1
|
||||
RGULC7_3_SS1
|
||||
RGULC7_3_SS2RGULC8_3_SS1
|
||||
PS10_5_TPE1
|
||||
PS11_6_TPE1
|
||||
PS11_6_TPE2
|
||||
PS11_7_TPE1
|
||||
PS11_8_TPE1 PS11_11_TPE1
|
||||
PS11_11CH3_JPE1PS11_11CH3_FPE1PS11_11CH3_FPE2PS11_11CH4_JPE1PS11_11CH4_FPE1PS11_11CH4_FPE2
|
||||
PS11_11CH5_JPE1PS11_11CH5_FPE1PS11_11CH5_FPE2PS11_11CH6_JPE1PS11_11CH6_FPE1PS11_11CH6_FPE2
|
||||
GDTC_NCH1_EN1
|
||||
CH_DPM1_FIOM1
|
||||
GDTC_NCH2_EN1
|
||||
GDTC_NCH3_EN1
|
||||
GDTC_NCH4_EN1CH_DPM1MCM04
|
||||
GDTC_NCH5_EN1
|
||||
CH_DPM1_FIOM2
|
||||
GDTC_NCH6_EN1
|
||||
GDTC_NCH7_EN1
|
||||
GDTC_NCH8_EN1
|
||||
GDTC_NCH9_EN1
|
||||
CH_DPM1_FIOM3
|
||||
GDTC_NCH10_EN1
|
||||
GDTC_NCH11_EN1
|
||||
GDTC_NCH12_EN1
|
||||
GDTC_NCH13_EN1
|
||||
CH_DPM1_FIOM4
|
||||
GDTC_NCH14_EN1
|
||||
GDTC_NCH15_EN1
|
||||
GDTC_NCH16_EN1
|
||||
CH_DPM1_FIOM5
|
||||
GDTC_NCH17_EN1
|
||||
FL1034_2_PE1ABBBFL1034_1CH_PE1
|
||||
FL1034_2_PE2
|
||||
FL1034_2_VFD15HP350FPM
|
||||
FL1034_3CH_PE1BBBWFL1034_2_JR2WFL1034_2_JR1
|
||||
WFL1034_1_JR1FL1026_2_PE1ABBB
|
||||
FL1026_1CH_PE1
|
||||
FL1026_2_PE2FL1026_3CH_PE1BBBWFL1026_2_JR2WFL1026_2_JR1
|
||||
WFL1026_1_JR1FL1022_2_PE1
|
||||
ABBB
|
||||
FL1022_1CH_PE1
|
||||
FL1022_2_PE2FL1022_3CH_PE1BBBWFL1022_2_JR2WFL1022_2_JR1
|
||||
WFL1022_1_JR1FL1018_2_PE1ABBB
|
||||
FL1018_1CH_PE1
|
||||
FL1018_2_PE2FL1018_3CH_PE1BBBWFL1018_2_JR2WFL1018_2_JR1
|
||||
WFL1018_1_JR1
|
||||
FL1014_2_PE1ABBB
|
||||
FL1014_1CH_PE1
|
||||
FL1014_2_PE2FL1014_3CH_PE1BBBWFL1014_2_JR2WFL1014_2_JR1
|
||||
WFL1014_1_JR1 FL3012_2_PE1
|
||||
ABBB
|
||||
FL3012_1CH_PE1
|
||||
FL3012_2_PE2FL3012_3CH_PE1BBBWFL3012_2_JR2WFL3012_2_JR1
|
||||
WFL3012_1_JR1FL3016_2_PE1
|
||||
ABBB
|
||||
FL3016_1CH_PE1
|
||||
FL3016_2_PE2FL3016_3CH_PE1BBBWFL3016_2_JR2WFL3016_2_JR1
|
||||
WFL3016_1_JR1FL3020_2_PE1
|
||||
ABBB
|
||||
FL3020_1CH_PE1
|
||||
FL3020_2_PE2FL3020_3CH_PE1BBBWFL3020_2_JR2WFL3020_2_JR1
|
||||
WFL3020_1_JR1FL3024_2_PE1
|
||||
ABBB
|
||||
FL3024_1CH_PE1
|
||||
FL3024_2_PE2FL3024_3CH_PE1BBBWFL3024_2_JR2WFL3024_2_JR1
|
||||
WFL3024_1_JR1
|
||||
FL1026_2_VFD15HP350FPMFL1022_2_VFD15HP350FPMFL1018_2_VFD15HP350FPMFL1014_2_VFD15HP350FPM FL3012_2_VFD15HP350FPMFL3016_2_VFD15HP350FPMFL3020_2_VFD15HP350FPMFL3024_2_VFD15HP350FPM
|
||||
CH_DPM2_FIOM2CH_DPM2_FIOM1
|
||||
CH_DPM2_FIOM4CH_DPM2_FIOM3CH_DPM2_FIOM6CH_DPM2_FIOM5
|
||||
BBGABBBGBBBGBBBGB BBGBBBGBBBGB BBGBBBGBBBGB BBGBBBGB BBGBBBGAB BBGAB BBGAB BBGAB
|
||||
BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB
|
||||
CH_DPM3MCM04 CH_DPM4MCM04 CH_DPM5MCM04 CH_DPM6MCM04
|
||||
PB_NCH1_FIOH1PB_NCH3_FIOH1PB_NCH5_FIOH1PB_NCH7_FIOH1PB_NCH9_FIOH1PB_NCH10_FIOH1PB_NCH11_FIOH1PB_NCH12_FIOH1PB_NCH13_FIOH1PB_NCH14_FIOH1PB_NCH15_FIOH1PB_NCH16_FIOH1PB_NCH18_FIOH1PB_NCH20_FIOH1
|
||||
CH_DPM3_FIOM2CH_DPM3_FIOM1CH_DPM3_FIOM4CH_DPM3_FIOM3CH_DPM3_FIOM6CH_DPM3_FIOM5CH_DPM3_FIOM8CH_DPM3_FIOM7
|
||||
PB_NCH21_FIOH1PB_NCH24_FIOH1PB_NCH25_FIOH1PB_NCH26_FIOH1PB_NCH27_FIOH1PB_NCH28_FIOH1PB_NCH29_FIOH1PB_NCH31_FIOH1PB_NCH33_FIOH1PB_NCH35_FIOH1PB_NCH37_FIOH1PB_NCH39_FIOH1PB_NCH41_FIOH1PB_NCH43_FIOH1PB_NCH45_FIOH1PB_NCH46_FIOH1PB_NCH48_FIOH1PB_NCH50_FIOH1PB_NCH52_FIOH1PB_NCH54_FIOH1PB_NCH56_FIOH1PB_NCH58_FIOH1PB_NCH60_FIOH1
|
||||
CH_DPM4_FIOM1CH_DPM4_FIOM3CH_DPM4_FIOM2CH_DPM4_FIOM5CH_DPM4_FIOM4CH_DPM4_FIOM7CH_DPM4_FIOM6CH_DPM5_FIOM2CH_DPM5_FIOM1CH_DPM5_FIOM4CH_DPM5_FIOM3CH_DPM5_FIOM6CH_DPM5_FIOM5CH_DPM5_FIOM8CH_DPM5_FIOM7CH_DPM6_FIOM2CH_DPM6_FIOM1CH_DPM6_FIOM4CH_DPM6_FIOM3CH_DPM6_FIOM6CH_DPM6_FIOM5CH_DPM6_FIOM8CH_DPM6_FIOM7
|
||||
BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGABBBGBBBGBBBGB BBGBBBGBBBGB BBGB BBGB BBGB BBGB BBGB BBGBBBGBBBGB BBGB BBGBBBGB BBGB BBGB BBGB BBGB BBGB BBGB BBGBBBGB BBGBBBGBBBGB BBGBBBGB BBGB BBGBBBGB BBGBBBGB BBGBBBGBBBGB BBGBBBGB BBGB
|
||||
GDTC_NCH18_EN1
|
||||
GDTC_NCH19_EN1
|
||||
GDTC_NCH20_EN1
|
||||
GDTC_NCH21_EN1
|
||||
GDTC_NCH22_EN1
|
||||
GDTC_NCH23_EN1
|
||||
GDTC_NCH24_EN1
|
||||
GDTC_NCH25_EN1
|
||||
GDTC_NCH26_EN1
|
||||
GDTC_NCH27_EN1
|
||||
GDTC_NCH28_EN1
|
||||
GDTC_NCH29_EN1
|
||||
GDTC_NCH30_EN1
|
||||
GDTC_NCH31_EN1
|
||||
GDTC_NCH32_EN1
|
||||
GDTC_NCH33_EN1
|
||||
GDTC_NCH34_EN1
|
||||
GDTC_NCH35_EN1
|
||||
GDTC_NCH36_EN1
|
||||
GDTC_NCH37_EN1
|
||||
GDTC_NCH38_EN1
|
||||
GDTC_NCH39_EN1
|
||||
GDTC_CH40_EN1
|
||||
GDTC_CH41_EN1
|
||||
GDTC_CH42_EN1
|
||||
GDTC_CH43_EN1
|
||||
GDTC_CH44_EN1
|
||||
GDTC_CH45_EN1
|
||||
GDTC_CH46_EN1
|
||||
GDTC_CH47_EN1
|
||||
GDTC_CH48_EN1
|
||||
GDTC_CH49_EN1
|
||||
GDTC_CH50_EN1
|
||||
GDTC_NCH51_EN1
|
||||
GDTC_NCH52_EN1
|
||||
GDTC_NCH53_EN1
|
||||
GDTC_NCH54_EN1
|
||||
GDTC_NCH55_EN1
|
||||
GDTC_NCH56_EN1
|
||||
GDTC_NCH57_EN1
|
||||
GDTC_NCH58_EN1
|
||||
GDTC_NCH59_EN1
|
||||
GDTC_NCH60_EN1
|
||||
GDTC_NCH61_EN1
|
||||
GDTC_NCH62_EN1
|
||||
GDTC_NCH63_EN1
|
||||
GDTC_NCH64_EN1
|
||||
GDTC_NCH65_EN1
|
||||
GDTC_NCH66_EN1
|
||||
GDTC_NCH67_EN1
|
||||
GDTC_NCH68_EN1
|
||||
GDTC_NCH69_EN1
|
||||
GDTC_NCH70_EN1
|
||||
GDTC_NCH71_EN1
|
||||
GDTC_NCH72_EN1
|
||||
GDTC_NCH73_EN1
|
||||
GDTC_NCH74_EN1
|
||||
GDTC_NCH75_EN1
|
||||
GDTC_NCH76_EN1
|
||||
PB_NCH1_PE1
|
||||
PB_NCH1_PE2
|
||||
BBGABBBGB
|
||||
WPB_NCH1_PKGREL_PB1SOLPB_NCH1_PKGREL_SOL1
|
||||
PB_NCH2_PE1
|
||||
PB_NCH2_PE2
|
||||
WPB_NCH2_PKGREL_PB1SOLPB_NCH2_PKGREL_SOL1
|
||||
PB_NCH3_PE1
|
||||
PB_NCH3_PE2
|
||||
WPB_NCH3_PKGREL_PB1SOLPB_NCH3_PKGREL_SOL1
|
||||
PB_NCH4_PE1
|
||||
PB_NCH4_PE2
|
||||
WPB_NCH4_PKGREL_PB1SOLPB_NCH4_PKGREL_SOL1
|
||||
PB_NCH5_PE1
|
||||
PB_NCH5_PE2
|
||||
WPB_NCH5_PKGREL_PB1SOLPB_NCH5_PKGREL_SOL1
|
||||
PB_NCH6_PE1
|
||||
PB_NCH6_PE2
|
||||
WPB_NCH6_PKGREL_PB1SOLPB_NCH6_PKGREL_SOL1
|
||||
PB_NCH7_PE1
|
||||
PB_NCH7_PE2
|
||||
WPB_NCH7_PKGREL_PB1SOLPB_NCH7_PKGREL_SOL1
|
||||
PB_NCH8_PE1
|
||||
PB_NCH8_PE2
|
||||
WPB_NCH8_PKGREL_PB1SOLPB_NCH8_PKGREL_SOL1
|
||||
PB_NCH9_PE1
|
||||
PB_NCH9_PE2
|
||||
WPB_NCH9_PKGREL_PB1SOLPB_NCH9_PKGREL_SOL1
|
||||
PB_NCH10_PE1
|
||||
PB_NCH10_PE2
|
||||
WPB_NCH10_PKGREL_PB1SOLPB_NCH10_PKGREL_SOL1
|
||||
PB_NCH11_PE1
|
||||
PB_NCH11_PE2
|
||||
WPB_NCH11_PKGREL_PB1SOLPB_NCH11_PKGREL_SOL1
|
||||
PB_NCH12_PE1
|
||||
PB_NCH12_PE2
|
||||
WPB_NCH12_PKGREL_PB1SOLPB_NCH12_PKGREL_SOL1
|
||||
PB_NCH13_PE1
|
||||
PB_NCH13_PE2
|
||||
WPB_NCH13_PKGREL_PB1SOLPB_NCH13_PKGREL_SOL1
|
||||
PB_NCH14_PE1
|
||||
PB_NCH14_PE2
|
||||
WPB_NCH14_PKGREL_PB1SOLPB_NCH14_PKGREL_SOL1
|
||||
PB_NCH15_PE1
|
||||
PB_NCH15_PE2
|
||||
WPB_NCH15_PKGREL_PB1SOLPB_NCH15_PKGREL_SOL1
|
||||
PB_NCH16_PE1
|
||||
PB_NCH16_PE2
|
||||
WPB_NCH16_PKGREL_PB1SOLPB_NCH16_PKGREL_SOL1
|
||||
PB_NCH17_PE1
|
||||
PB_NCH17_PE2
|
||||
WPB_NCH17_PKGREL_PB1SOLPB_NCH17_PKGREL_SOL1
|
||||
PB_NCH18_PE1
|
||||
PB_NCH18_PE2
|
||||
WPB_NCH18_PKGREL_PB1SOLPB_NCH18_PKGREL_SOL1
|
||||
PB_NCH19_PE1
|
||||
PB_NCH19_PE2
|
||||
WPB_NCH19_PKGREL_PB1SOLPB_NCH19_PKGREL_SOL1
|
||||
PB_NCH20_PE1
|
||||
PB_NCH20_PE2
|
||||
WPB_NCH20_PKGREL_PB1SOLPB_NCH20_PKGREL_SOL1
|
||||
PB_NCH21_PE1
|
||||
PB_NCH21_PE2
|
||||
WPB_NCH21_PKGREL_PB1SOLPB_NCH21_PKGREL_SOL1
|
||||
PB_NCH22_PE1
|
||||
PB_NCH22_PE2
|
||||
WPB_NCH22_PKGREL_PB1SOLPB_NCH22_PKGREL_SOL1
|
||||
PB_NCH23_PE1
|
||||
PB_NCH23_PE2
|
||||
WPB_NCH23_PKGREL_PB1SOLPB_NCH23_PKGREL_SOL1
|
||||
PB_NCH24_PE1
|
||||
PB_NCH24_PE2
|
||||
WPB_NCH24_PKGREL_PB1SOLPB_NCH24_PKGREL_SOL1
|
||||
PB_NCH25_PE1
|
||||
PB_NCH25_PE2
|
||||
WPB_NCH25_PKGREL_PB1SOLPB_NCH25_PKGREL_SOL1
|
||||
PB_NCH26_PE1
|
||||
PB_NCH26_PE2
|
||||
WPB_NCH26_PKGREL_PB1SOLPB_NCH26_PKGREL_SOL1
|
||||
PB_NCH27_PE1
|
||||
PB_NCH27_PE2
|
||||
WPB_NCH27_PKGREL_PB1SOLPB_NCH27_PKGREL_SOL1
|
||||
PB_NCH28_PE1
|
||||
PB_NCH28_PE2
|
||||
WPB_NCH28_PKGREL_PB1SOLPB_NCH28_PKGREL_SOL1
|
||||
PB_NCH29_PE1
|
||||
PB_NCH29_PE2
|
||||
WPB_NCH29_PKGREL_PB1SOLPB_NCH29_PKGREL_SOL1
|
||||
PB_NCH30_PE1
|
||||
PB_NCH30_PE2
|
||||
WPB_NCH30_PKGREL_PB1SOLPB_NCH30_PKGREL_SOL1
|
||||
PB_NCH31_PE1
|
||||
PB_NCH31_PE2
|
||||
WPB_NCH31_PKGREL_PB1SOLPB_NCH31_PKGREL_SOL1
|
||||
PB_NCH32_PE1
|
||||
PB_NCH32_PE2
|
||||
WPB_NCH32_PKGREL_PB1SOLPB_NCH32_PKGREL_SOL1
|
||||
PB_NCH33_PE1
|
||||
PB_NCH33_PE2
|
||||
WPB_NCH33_PKGREL_PB1SOLPB_NCH33_PKGREL_SOL1
|
||||
PB_NCH34_PE1
|
||||
PB_NCH34_PE2
|
||||
WPB_NCH34_PKGREL_PB1SOLPB_NCH34_PKGREL_SOL1
|
||||
PB_NCH35_PE1
|
||||
PB_NCH35_PE2
|
||||
WPB_NCH35_PKGREL_PB1SOLPB_NCH35_PKGREL_SOL1
|
||||
PB_NCH36_PE1
|
||||
PB_NCH36_PE2
|
||||
WPB_NCH36_PKGREL_PB1SOLPB_NCH36_PKGREL_SOL1
|
||||
PB_NCH37_PE1
|
||||
PB_NCH37_PE2
|
||||
WPB_NCH37_PKGREL_PB1SOLPB_NCH37_PKGREL_SOL1
|
||||
PB_NCH38_PE1
|
||||
PB_NCH38_PE2
|
||||
WPB_NCH38_PKGREL_PB1SOLPB_NCH38_PKGREL_SOL1
|
||||
PB_NCH39_PE1
|
||||
PB_NCH39_PE2
|
||||
WPB_NCH39_PKGREL_PB1SOLPB_NCH39_PKGREL_SOL1
|
||||
PB_NCH40_PE1
|
||||
PB_NCH40_PE2
|
||||
WPB_NCH40_PKGREL_PB1SOLPB_NCH40_PKGREL_SOL1
|
||||
PB_NCH41_PE1
|
||||
PB_NCH41_PE2
|
||||
WPB_NCH41_PKGREL_PB1SOLPB_NCH41_PKGREL_SOL1
|
||||
PB_NCH42_PE1
|
||||
PB_NCH42_PE2
|
||||
WPB_NCH42_PKGREL_PB1SOLPB_NCH42_PKGREL_SOL1
|
||||
PB_NCH43_PE1
|
||||
PB_NCH43_PE2
|
||||
WPB_NCH43_PKGREL_PB1SOLPB_NCH43_PKGREL_SOL1
|
||||
PB_NCH44_PE1
|
||||
PB_NCH44_PE2
|
||||
WPB_NCH44_PKGREL_PB1SOLPB_NCH44_PKGREL_SOL1
|
||||
PB_NCH45_PE1
|
||||
PB_NCH45_PE2
|
||||
WPB_NCH45_PKGREL_PB1SOLPB_NCH45_PKGREL_SOL1
|
||||
PB_NCH46_PE1
|
||||
PB_NCH46_PE2
|
||||
WPB_NCH46_PKGREL_PB1SOLPB_NCH46_PKGREL_SOL1
|
||||
PB_NCH47_PE1
|
||||
PB_NCH47_PE2
|
||||
WPB_NCH47_PKGREL_PB1SOLPB_NCH47_PKGREL_SOL1
|
||||
PB_NCH48_PE1
|
||||
PB_NCH48_PE2
|
||||
WPB_NCH48_PKGREL_PB1SOLPB_NCH48_PKGREL_SOL1
|
||||
PB_NCH49_PE1
|
||||
PB_NCH49_PE2
|
||||
WPB_NCH49_PKGREL_PB1SOLPB_NCH49_PKGREL_SOL1
|
||||
PB_NCH50_PE1
|
||||
PB_NCH50_PE2
|
||||
WPB_NCH50_PKGREL_PB1SOLPB_NCH50_PKGREL_SOL1
|
||||
PB_NCH51_PE1
|
||||
PB_NCH51_PE2
|
||||
WPB_NCH51_PKGREL_PB1SOLPB_NCH51_PKGREL_SOL1
|
||||
PB_NCH52_PE1
|
||||
PB_NCH52_PE2
|
||||
WPB_NCH52_PKGREL_PB1SOLPB_NCH52_PKGREL_SOL1
|
||||
PB_NCH53_PE1
|
||||
PB_NCH53_PE2
|
||||
WPB_NCH53_PKGREL_PB1SOLPB_NCH53_PKGREL_SOL1
|
||||
PB_NCH54_PE1
|
||||
PB_NCH54_PE2
|
||||
WPB_NCH54_PKGREL_PB1SOLPB_NCH54_PKGREL_SOL1
|
||||
PB_NCH55_PE1
|
||||
PB_NCH55_PE2
|
||||
WPB_NCH55_PKGREL_PB1SOLPB_NCH55_PKGREL_SOL1
|
||||
PB_NCH56_PE1
|
||||
PB_NCH56_PE2
|
||||
WPB_NCH56_PKGREL_PB1SOLPB_NCH56_PKGREL_SOL1
|
||||
PB_NCH57_PE1
|
||||
PB_NCH57_PE2
|
||||
WPB_NCH57_PKGREL_PB1SOLPB_NCH57_PKGREL_SOL1
|
||||
PB_NCH58_PE1
|
||||
PB_NCH58_PE2
|
||||
WPB_NCH58_PKGREL_PB1SOLPB_NCH58_PKGREL_SOL1
|
||||
PB_NCH59_PE1
|
||||
PB_NCH59_PE2
|
||||
WPB_NCH59_PKGREL_PB1SOLPB_NCH59_PKGREL_SOL1
|
||||
PB_NCH60_PE1
|
||||
PB_NCH60_PE2
|
||||
WPB_NCH60_PKGREL_PB1SOLPB_NCH60_PKGREL_SOL1
|
||||
PB_NCH61_PE1
|
||||
PB_NCH61_PE2
|
||||
WPB_NCH61_PKGREL_PB1SOLPB_NCH61_PKGREL_SOL1
|
||||
BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGAB BBGABBBGBBBGB BBGBBBGBBBGB BBGB BBGB BBGB BBGBBBGB BBGBBBGB BBGBBBGBBBGB BBGB BBGB BBGB BBGBBBGBBBGB BBGBBBGBBBGB BBGBBBGBBBGB BBGBBBGB BBGBBBGBBBGB BBGBBBGBBBGB BBGBBBGBBBGB BBGBBBGBBBGB
|
||||
806
extracted_texts/MTN6_SYSDL-MCM05.txt
Normal file
806
extracted_texts/MTN6_SYSDL-MCM05.txt
Normal file
@ -0,0 +1,806 @@
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
PRS1_2A_VFD13HP120 FPMPRS1_2B_VFD13HP120 FPM
|
||||
PRS1_3_VFD17.5HP120 FPM
|
||||
PRS1_4_VFD13HP120 FPMPRS1_6_VFD12HP120 FPMPRS2_1_VFD17.5HP120 FPM
|
||||
PRS1_2A_JPE1
|
||||
EPCPRS1_6_EPC1
|
||||
EPCPRS1_6_EPC2
|
||||
EPCPRS2_1_EPC1
|
||||
EPCPRS2_1_EPC2GPRS2_1_S1
|
||||
GPRS2_1_S2BBR
|
||||
ABBWPRS1_2A_JR2
|
||||
ABBWPRS1_3_JR1
|
||||
ABBWPRS1_4_JR1GPRS1_6_S1BBR
|
||||
GPRS1_6_S2BBR
|
||||
11'-3" EL
|
||||
9'-1" EL
|
||||
ULC1_3_VFD12HP80FPMULC2_3_VFD12HP80FPMULC3_3_VFD12HP80FPMULC4_3_VFD12HP80FPM
|
||||
PS8_1_VFD17.5HP140-200 FPM
|
||||
PS8_2_VFD110HP180-240 FPM
|
||||
PS8_4_VFD115HP240 FPM PS8_5_VFD115HP240 FPM
|
||||
PS9_2_VFD17.5HP240 FPM
|
||||
PS8_8_VFD17.5HP220-330 FPM
|
||||
PS8_9_VFD115HP240 FPM
|
||||
PS8_11_VFD110HP240 FPM
|
||||
PS8_11_DIV1_LS1LSPS8_11_DIV1_LS2LSSOLPS8_11_DIV1_SOL1SOLPS8_11_DIV1_SOL2
|
||||
PS8_11_DIV2_LS1LSPS8_11_DIV2_LS2LSSOLPS8_11_DIV2_SOL1SOLPS8_11_DIV2_SOL2
|
||||
PS8_5_JPE1
|
||||
PS8_11_JPE1
|
||||
PS8_2_JPE1
|
||||
PS8_1_JPE6
|
||||
PS8_11_FIO1
|
||||
WPS8_11_JR1ABB
|
||||
WPS8_11_JR2
|
||||
WPS8_9_JR1ABBPS8_5_SIO1
|
||||
ABB
|
||||
WPS8_1_JR2ABB RABB EPCULC1_3_EPC1
|
||||
EPCULC1_3_EPC2
|
||||
EPCULC2_3_EPC1
|
||||
EPCULC3_3_EPC1
|
||||
EPCULC4_3_EPC1
|
||||
EPCPS8_2_EPC1
|
||||
EPCPS8_1_EPC1
|
||||
EPCPS8_11_EPC1
|
||||
GPS8_11_S1ABBR
|
||||
EPCPS8_5_EPC2ABBR
|
||||
GPS8_5_S2
|
||||
ABBR
|
||||
EPCPS8_4_EPC1
|
||||
EPCPS8_4_EPC2
|
||||
BB
|
||||
BBR
|
||||
ARGPS8_4_S1
|
||||
GPS8_4_S2 EPCPS8_5_EPC1GPS8_5_S1ABBR
|
||||
PS8_1_FIO1PS8_1_FIO2
|
||||
BB
|
||||
PS8_12CH_FPE1
|
||||
GBBAB
|
||||
EPCPS8_2_EPC2
|
||||
ULC1_3_JPE1
|
||||
B
|
||||
EPCPS9_2_EPC1
|
||||
GPS9_2_S1
|
||||
PS8-12CH-PS1PS
|
||||
PS8_11_CH1_JPE1PS8_11_CH1_FPE1GPS8_11_CH1_S1
|
||||
VV
|
||||
FL_DPM3MCM05
|
||||
FL_DPM4MCM05
|
||||
ULGLA_DPM1MCM05
|
||||
PRS2_DPM1MCM05
|
||||
CH_DPM7MCM05 CH_DPM8MCM05 CH_DPM10MCM05 CH_DPM11MCM05
|
||||
R
|
||||
GPS8_2_S2
|
||||
GPS8_2_S1BBR
|
||||
PS8_4_SIO1 PS8_6_FIO1
|
||||
PS8_6_VFD15HP240 FPM
|
||||
PS8_8_TPE1PS8_8_TPE2 PS8_9_SIO1PS8_9_JPE1
|
||||
PS8_11_TPE1
|
||||
PS8_11_CH1_FPE2PS8_11_JPE2PS8_11_CH2_JPE1PS8_11_CH2_FPE1PS8_11_CH2_FPE2
|
||||
GPS8_11_CH2_S1GBBAB PS8_11_FIO2
|
||||
PS8_11_DIV3_LS1LSPS8_11_DIV3_LS2LSSOLPS8_11_DIV3_SOL1SOLPS8_11_DIV3_SOL2
|
||||
PS8_11_DIV4_LS1LSPS8_11_DIV4_LS2LSSOLPS8_11_DIV4_SOL1SOLPS8_11_DIV4_SOL2
|
||||
PS8_11_FIO3GBBABPS8_11_CH3_JPE1PS8_11_CH3_FPE1GPS8_11_CH3_S1
|
||||
PS8_11_CH3_FPE2PS8_11_JPE4PS8_11_CH4_JPE1PS8_11_CH4_FPE1PS8_11_CH4_FPE2
|
||||
GPS8_11_CH4_S1GBBAB PS8_11_FIO4
|
||||
PS8_11_JPE3
|
||||
ABPS8_11_JPE5PS8_11_FIO5
|
||||
EPCPS9_2_EPC2BBRGPS9_2_S2PS9_1CH_JPE1
|
||||
PS9_2_TPE1
|
||||
PS9_3_VFD17.5HP190-270 FPM
|
||||
WPS9_3_JR1ABB
|
||||
PS9_3_FIO1 EPCPS9_3_EPC1ABBRB PS9-3-PS1PS
|
||||
GPS9_3_S1
|
||||
PS9_3_JPE1
|
||||
GBBAB
|
||||
GBBAB
|
||||
GPS9_3CH2_S1
|
||||
GPS9_3CH1_S1
|
||||
PS9_3CH2_JPE1PS9_3CH2_FPE1PS9_3CH2_FPE2
|
||||
PS9_3CH1_JPE1PS9_3CH1_FPE1PS9_3CH1_FPE2
|
||||
GBBAB
|
||||
GBBAB
|
||||
GPS9_3CH4_S1
|
||||
GPS9_3CH6_S1
|
||||
PS9_3CH4_JPE1PS9_3CH4_FPE1PS9_3CH4_FPE2PS9_3CH3_JPE1PS9_3CH6_FPE1PS9_3CH6_FPE2
|
||||
PS9_3DIV1_LS1LSPS9_3DIV1_LS2LSSOLPS9_3DIV1_SOL1SOLPS9_3DIV1_SOL2
|
||||
PS9_3DIV2_LS1LSPS9_3DIV2_LS2LSSOLPS9_3DIV2_SOL1SOLPS9_3DIV2_SOL2
|
||||
PS9_3DIV3_LS1LSPS9_3DIV3_LS2LSSOLPS9_3DIV3_SOL1SOLPS9_3DIV3_SOL2
|
||||
PS9_3DIV4_LS1LSPS9_3DIV4_LS2LSSOLPS9_3DIV4_SOL1SOLPS9_3DIV4_SOL2
|
||||
PS9_3_FIO2PS9_3_JPE3
|
||||
PS9_3_FIO3PS9_3_JPE4
|
||||
PS9_3_FIO4
|
||||
PS9_3_JPE5PS9_4CH_FPE1
|
||||
RGULC1_3_SS1
|
||||
ULC1_3_ENC1
|
||||
PS8_1_ENC1
|
||||
PS8_2_ENC1
|
||||
PS8_4_ENC1 PS8_5_ENC1 PS8_8_ENC1 PS8_9_ENC1
|
||||
PS8_11_ENC1PS9_2_ENC1
|
||||
ULC1_3_JPE2
|
||||
RGULC1_3_SS2ULC2_3_JPE1ULC3_3_JPE1ULC4_3_JPE1
|
||||
ULC2_3_ENC1ULC3_3_ENC1ULC4_3_ENC1RABBULC2_3_JPE2RABBULC3_3_JPE2RABBULC4_3_JPE2
|
||||
WULC1_3_JR1
|
||||
WULC2_3_JR1
|
||||
WULC3_3_JR1
|
||||
WULC4_3_JR1
|
||||
RGULC2_3_SS1RGULC3_3_SS1RGULC4_3_SS1
|
||||
PS8_1_FIO3PS8_1_FIO4PS8_1_FIO5
|
||||
RGPS8_1_SS1
|
||||
PS8_1_JPE2PS8_1_JPE1PS8_1_JPE3PS8_1_JPE4PS8_1_JPE5
|
||||
WPS8_1_JR1ABB
|
||||
PRS1_1ACH_JPE1
|
||||
WPRS1_2A_JR1ABBB
|
||||
PRS1_2A_FIO1
|
||||
ABBRPRS2_1_JPE1
|
||||
PRS1_2A_JPE2
|
||||
PRS1_1BCH_JPE1ABBBPRS1_2B_JPE1
|
||||
WPRS1_2B_JR1PRS1_2B_FIO1PRS1_2B_JPE2ABBWPRS1_2B_JR2PRS1_3_FIO1
|
||||
PRS1_3_JPE1
|
||||
PRS1_4_FIO1
|
||||
PRS1_3_JPE2
|
||||
PRS1_4_JPE1PRS1_4_JPE2PRS1_5CH_JPE1PRS1_5CH_FPE1PRS1_6_TPE1
|
||||
PRS1_6_TPE2
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
TRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASHTRASH
|
||||
PALLETSTAGINGAREA
|
||||
PROBLEM SOLV.CART 80/20
|
||||
PROB. SOLV. CART
|
||||
TRASH
|
||||
ERSCPRS1-7-ERSC1
|
||||
MDR POWER SUPPLYPRS1-7-PS180AMDR POWER SUPPLYPRS1-7-PS280A
|
||||
PRS1_7_PE1PRS1_7_PE2PRS1_7_PE3PRS1_7_PE4PRS1_7_PE5PRS1_7_PE6PRS1_7_PE7PRS1_7_PE8PRS1_7_PE9PRS1_7_PE10PRS1_7_PE11PRS1_7_PE12PRS1_7_PE13PRS1_7_PE14PRS1_7_PE15PRS1_7_PE16PRS1_7_PE17PRS1_7_PE18PRS1_7_PE19PRS1_7_PE20PRS1_7_PE21PRS1_7_PE22PRS1_7_PE23PRS1_7_PE24PRS1_7_PE25PRS1_7_PE26PRS1_7_PE27
|
||||
ERSCPRS1-7-ERSC2
|
||||
ERSCPRS1-7-ERSC3
|
||||
ERSCPRS1-7-ERSC4
|
||||
ERSCPRS1-7-ERSC5
|
||||
ERSCPRS1-7-ERSC6
|
||||
ERSCPRS1-7-ERSC7
|
||||
ERSCPRS1-7-ERSC8
|
||||
ERSCPRS1-7-ERSC9
|
||||
ERSCPRS1-7-ERSC10
|
||||
ERSCPRS1-7-ERSC11
|
||||
ERSCPRS1-7-ERSC12
|
||||
ERSCPRS1-7-ERSC13
|
||||
ERSCPRS1-7-ERSC14
|
||||
GDTC_SCH1_EN1
|
||||
GDTC_SCH2_EN1BBGABBBGB
|
||||
FL2074_2_PE1ABBB
|
||||
FL2074_1CH_PE1
|
||||
FL2074_2_PE2
|
||||
FL2074_2_VFD15HP350FPM
|
||||
FL2074_3CH_PE1BBBWFL2074_2_JR2
|
||||
WFL2074_2_JR1
|
||||
FL2078_2_PE1ABBB
|
||||
FL2078_1CH_PE1
|
||||
FL2078_2_PE2
|
||||
FL2078_2_VFD15HP350FPM
|
||||
FL2078_3CH_PE1BBBWFL2078_2_JR2
|
||||
WFL2078_2_JR1
|
||||
FL2086_2_PE1ABBB
|
||||
FL2086_1CH_PE1
|
||||
FL2086_2_PE2
|
||||
FL2086_2_VFD15HP350FPM
|
||||
FL2086_3CH_PE1BBBWFL2086_2_JR2
|
||||
WFL2086_2_JR1
|
||||
FL2090_2_PE1ABBB
|
||||
FL2090_1CH_PE1
|
||||
FL2090_2_PE2
|
||||
FL2090_2_VFD15HP350FPM
|
||||
FL2090_3CH_PE1BBBWFL2090_2_JR2
|
||||
WFL2090_2_JR1
|
||||
FL2094_2_PE1ABBB
|
||||
FL2094_1CH_PE1
|
||||
FL2094_2_PE2
|
||||
FL2094_2_VFD15HP350FPM
|
||||
FL2094_3CH_PE1BBBWFL2094_2_JR2
|
||||
WFL2094_2_JR1
|
||||
FL4082_2_PE1ABBB
|
||||
FL4082_1CH_PE1
|
||||
FL4082_2_PE2
|
||||
FL4082_2_VFD15HP350FPM
|
||||
FL4082_3CH_PE1BBBWFL4082_2_JR2
|
||||
WFL4082_2_JR1
|
||||
FL4078_2_PE1ABBB
|
||||
FL4078_1CH_PE1
|
||||
FL4078_2_PE2
|
||||
FL4078_2_VFD15HP350FPM
|
||||
FL4078_3CH_PE1BBBWFL4078_2_JR2
|
||||
WFL4078_2_JR1
|
||||
FL4074_2_PE1ABBB
|
||||
FL4074_1CH_PE1
|
||||
FL4074_2_PE2
|
||||
FL4074_2_VFD15HP350FPM
|
||||
FL4074_3CH_PE1BBBWFL4074_2_JR2
|
||||
WFL4074_2_JR1
|
||||
FL4070_2_PE1ABBB
|
||||
FL4070_1CH_PE1
|
||||
FL4070_2_PE2
|
||||
FL4070_2_VFD15HP350FPM
|
||||
FL4070_3CH_PE1BBBWFL4070_2_JR2
|
||||
WFL4070_2_JR1
|
||||
FL4066_2_PE1ABBB
|
||||
FL4066_1CH_PE1
|
||||
FL4066_2_PE2
|
||||
FL4066_2_VFD15HP350FPM
|
||||
FL4066_3CH_PE1BBBWFL4066_2_JR2
|
||||
WFL4066_2_JR1
|
||||
CH_DPM9MCM05 CH_DPM12MCM05CH_DPM7_FIOM2CH_DPM7_FIOM1CH_DPM7_FIOM4CH_DPM7_FIOM3CH_DPM7_FIOM6CH_DPM7_FIOM5CH_DPM7_FIOM8CH_DPM7_FIOM7CH_DPM8_FIOM2CH_DPM8_FIOM1CH_DPM8_FIOM4CH_DPM8_FIOM3CH_DPM8_FIOM6CH_DPM8_FIOM5CH_DPM8_FIOM8CH_DPM8_FIOM7CH_DPM9_FIOM2CH_DPM9_FIOM1CH_DPM9_FIOM4CH_DPM9_FIOM3CH_DPM9_FIOM5CH_DPM9_FIOM6 CH_DPM10_FIOM2CH_DPM10_FIOM1CH_DPM10_FIOM4CH_DPM10_FIOM3CH_DPM10_FIOM6CH_DPM10_FIOM5CH_DPM10_FIOM8CH_DPM10_FIOM7CH_DPM11_FIOM2CH_DPM11_FIOM1CH_DPM11_FIOM4CH_DPM11_FIOM3CH_DPM11_FIOM6CH_DPM11_FIOM5CH_DPM11_FIOM8CH_DPM11_FIOM7CH_DPM12_FIOM2CH_DPM12_FIOM1CH_DPM12_FIOM4CH_DPM12_FIOM3
|
||||
GDTC_SCH3_EN1BBGB
|
||||
GDTC_SCH4_EN1BBGB
|
||||
GDTC_SCH5_EN1BBGAB
|
||||
GDTC_SCH6_EN1BBGB
|
||||
GDTC_SCH7_EN1BBGB
|
||||
GDTC_SCH8_EN1BBGB
|
||||
GDTC_SCH10_EN1BBGB
|
||||
GDTC_SCH11_EN1BBGB
|
||||
GDTC_SCH12_EN1BBGB
|
||||
GDTC_SCH14_EN1BBGB
|
||||
GDTC_SCH15_EN1BBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GBBGB
|
||||
GDTC_SCH41_EN1BBGB
|
||||
GDTC_SCH42_EN1BBGB
|
||||
GDTC_SCH45_EN1BBGB
|
||||
GDTC_SCH48_EN1BBGB
|
||||
GDTC_SCH50_EN1BBGB
|
||||
GDTC_SCH51_EN1BBGB
|
||||
GDTC_SCH52_EN1BBGB
|
||||
GDTC_SCH54_EN1BBGB
|
||||
GDTC_SCH55_EN1BBGB
|
||||
GDTC_SCH57_EN1BBGB
|
||||
GDTC_SCH58_EN1BBGB
|
||||
GDTC_SCH60_EN1BBGB
|
||||
GDTC_SCH61_EN1BBGB
|
||||
GDTC_SCH63_EN1BBGB
|
||||
GDTC_SCH64_EN1BBGB
|
||||
GDTC_SCH65_EN1BBGB
|
||||
GDTC_SCH67_EN1BBGB
|
||||
GDTC_SCH68_EN1BBGB
|
||||
GDTC_SCH69_EN1BBGB
|
||||
GDTC_SCH9_EN1BBGAB
|
||||
GDTC_SCH13_EN1BBGAB
|
||||
GDTC_SCH16_EN1BBGAB BBGAB
|
||||
G G G G GBBGAB BBGAB BBGAB BBGAB BBGAB
|
||||
G
|
||||
GDTC_SCH40_EN1BBGAB
|
||||
GDTC_SCH43_EN1BBGAB
|
||||
GDTC_SCH46_EN1BBGAB
|
||||
GDTC_SCH49_EN1BBGAB
|
||||
GDTC_SCH44_EN1BBGB
|
||||
GDTC_SCH47_EN1BBGB
|
||||
GDTC_SCH53_EN1BBGAB
|
||||
GDTC_SCH56_EN1BBGAB
|
||||
GDTC_SCH59_EN1BBGAB
|
||||
GDTC_SCH62_EN1BBGAB
|
||||
GDTC_SCH66_EN1BBGAB
|
||||
PB_SCH1_FIOH1
|
||||
PB_SCH1_PE1
|
||||
PB_SCH1_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH1_PKGREL_PB1
|
||||
SOLPB_SCH1_PKGREL_SOL1
|
||||
BBGB
|
||||
PB_SCH2_PE1
|
||||
PB_SCH2_PE2
|
||||
SOL
|
||||
PB_SCH2_PKGREL_SOL1
|
||||
WPB_SCH2_PKGREL_PB1
|
||||
PB_SCH3_FIOH1PB_SCH5_FIOH1PB_SCH7_FIOH1PB_SCH9_FIOH1PB_SCH11_FIOH1PB_SCH13_FIOH1PB_SCH15_FIOH1PB_SCH17_FIOH1PB_SCH18_FIOH1PB_SCH20_FIOH1PB_SCH22_FIOH1PB_SCH24_FIOH1PB_SCH26_FIOH1PB_SCH28_FIOH1PB_SCH30_FIOH1PB_SCH32_FIOH1PB_SCH33_FIOH1PB_SCH35_FIOH1PB_SCH36_FIOH1PB_SCH38_FIOH1PB_SCH39_FIOH1PB_SCH40_FIOH1PB_SCH41_FIOH1 PB_SCH42_FIOH1PB_SCH43_FIOH1PB_SCH44_FIOH1PB_SCH45_FIOH1PB_SCH46_FIOH1PB_SCH48_FIOH1PB_SCH50_FIOH1PB_SCH52_FIOH1PB_SCH54_FIOH1PB_SCH56_FIOH1PB_SCH58_FIOH1PB_SCH60_FIOH1PB_SCH62_FIOH1PB_SCH63_FIOH1PB_SCH65_FIOH1PB_SCH67_FIOH1PB_SCH69_FIOH1PB_SCH71_FIOH1PB_SCH73_FIOH1PB_SCH75_FIOH1
|
||||
BBGB
|
||||
PB_SCH3_PE1
|
||||
PB_SCH3_PE2
|
||||
SOLPB_SCH3_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH3_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH4_PE1
|
||||
PB_SCH4_PE2
|
||||
SOL
|
||||
PB_SCH4_PKGREL_SOL1
|
||||
WPB_SCH4_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH6_PE1
|
||||
PB_SCH6_PE2
|
||||
SOL
|
||||
PB_SCH6_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH6_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH7_PE1
|
||||
PB_SCH7_PE2
|
||||
SOLPB_SCH7_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH7_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH8_PE1
|
||||
PB_SCH8_PE2
|
||||
SOLPB_SCH8_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH8_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH10_PE1
|
||||
PB_SCH10_PE2
|
||||
SOLPB_SCH10_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH10_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH11_PE1
|
||||
PB_SCH11_PE2
|
||||
SOLPB_SCH11_PKGREL_SOL1
|
||||
WPB_SCH11_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH12_PE1
|
||||
PB_SCH12_PE2
|
||||
SOLPB_SCH12_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH12_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH14_PE1
|
||||
PB_SCH14_PE2
|
||||
SOLPB_SCH14_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH14_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH15_PE1
|
||||
PB_SCH15_PE2
|
||||
SOL
|
||||
PB_SCH15_PKGREL_SOL1
|
||||
WPB_SCH15_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH16_PE1
|
||||
PB_SCH16_PE2
|
||||
SOLPB_SCH16_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH16_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH18_PE1
|
||||
PB_SCH18_PE2
|
||||
SOLPB_SCH18_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH18_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH19_PE1
|
||||
PB_SCH19_PE2
|
||||
SOLPB_SCH19_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH19_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH21_PE1
|
||||
PB_SCH21_PE2
|
||||
SOLPB_SCH21_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH21_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH22_PE1
|
||||
PB_SCH22_PE2
|
||||
SOLPB_SCH22_PKGREL_SOL1
|
||||
WPB_SCH22_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH23_PE1
|
||||
PB_SCH23_PE2
|
||||
SOLPB_SCH23_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH23_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH25_PE1
|
||||
PB_SCH25_PE2
|
||||
SOLPB_SCH25_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH25_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH26_PE1
|
||||
PB_SCH26_PE2
|
||||
SOLPB_SCH26_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH26_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH27_PE1
|
||||
PB_SCH27_PE2
|
||||
SOLPB_SCH27_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH27_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH29_PE1
|
||||
PB_SCH29_PE2
|
||||
SOLPB_SCH29_PKGREL_SOL1
|
||||
WPB_SCH29_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH30_PE1
|
||||
PB_SCH30_PE2
|
||||
SOLPB_SCH30_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH30_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH31_PE1
|
||||
PB_SCH31_PE2
|
||||
SOLPB_SCH31_PKGREL_SOL1
|
||||
WPB_SCH31_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH33_PE1
|
||||
PB_SCH33_PE2
|
||||
SOLPB_SCH33_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH33_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH34_PE1
|
||||
PB_SCH34_PE2
|
||||
SOLPB_SCH34_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH34_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH36_PE1
|
||||
PB_SCH36_PE2
|
||||
SOL
|
||||
PB_SCH36_PKGREL_SOL1
|
||||
WPB_SCH36_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH37_PE1
|
||||
PB_SCH37_PE2
|
||||
SOLPB_SCH37_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH37_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH39_PE1
|
||||
PB_SCH39_PE2
|
||||
SOLPB_SCH39_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH39_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH41_PE1
|
||||
PB_SCH41_PE2
|
||||
SOLPB_SCH41_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH41_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH43_PE1
|
||||
PB_SCH43_PE2
|
||||
SOLPB_SCH43_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH43_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH45_PE1
|
||||
PB_SCH45_PE2
|
||||
SOLPB_SCH45_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH45_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH47_PE1
|
||||
PB_SCH47_PE2
|
||||
SOL
|
||||
PB_SCH47_PKGREL_SOL1
|
||||
WPB_SCH47_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH49_PE1
|
||||
PB_SCH49_PE2
|
||||
SOL
|
||||
PB_SCH49_PKGREL_SOL1
|
||||
WPB_SCH49_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH50_PE1
|
||||
PB_SCH50_PE2
|
||||
SOLPB_SCH50_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH50_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH51_PE1
|
||||
PB_SCH51_PE2
|
||||
SOL
|
||||
PB_SCH51_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH51_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH53_PE1
|
||||
PB_SCH53_PE2
|
||||
SOLPB_SCH53_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH53_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH54_PE1
|
||||
PB_SCH54_PE2
|
||||
SOLPB_SCH54_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH54_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH55_PE1
|
||||
PB_SCH55_PE2
|
||||
SOLPB_SCH55_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH55_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH57_PE1
|
||||
PB_SCH57_PE2
|
||||
SOLPB_SCH57_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH57_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH58_PE1
|
||||
PB_SCH58_PE2
|
||||
SOLPB_SCH58_PKGREL_SOL1
|
||||
WPB_SCH58_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH59_PE1
|
||||
PB_SCH59_PE2
|
||||
SOLPB_SCH59_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH59_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH61_PE1
|
||||
PB_SCH61_PE2
|
||||
SOLPB_SCH61_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH61_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH62_PE1
|
||||
PB_SCH62_PE2
|
||||
SOL
|
||||
PB_SCH62_PKGREL_SOL1
|
||||
WPB_SCH62_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH64_PE1
|
||||
PB_SCH64_PE2
|
||||
SOLPB_SCH64_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH64_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH65_PE1
|
||||
PB_SCH65_PE2
|
||||
SOL
|
||||
PB_SCH65_PKGREL_SOL1
|
||||
WPB_SCH65_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH66_PE1
|
||||
PB_SCH66_PE2
|
||||
SOLPB_SCH66_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH66_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH68_PE1
|
||||
PB_SCH68_PE2
|
||||
SOLPB_SCH68_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH68_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH69_PE1
|
||||
PB_SCH69_PE2
|
||||
SOL
|
||||
PB_SCH69_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH69_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH70_PE1
|
||||
PB_SCH70_PE2
|
||||
SOLPB_SCH70_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH70_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH72_PE1
|
||||
PB_SCH72_PE2
|
||||
SOLPB_SCH72_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH72_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH73_PE1
|
||||
PB_SCH73_PE2
|
||||
SOLPB_SCH73_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH73_PKGREL_PB1
|
||||
BBGB
|
||||
PB_SCH75_PE1
|
||||
PB_SCH75_PE2
|
||||
SOLPB_SCH75_PKGREL_SOL1
|
||||
W
|
||||
PB_SCH75_PKGREL_PB1
|
||||
PB_SCH5_PE1
|
||||
PB_SCH5_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH5_PKGREL_PB1
|
||||
SOLPB_SCH5_PKGREL_SOL1
|
||||
PB_SCH9_PE1
|
||||
PB_SCH9_PE2
|
||||
BBGAB
|
||||
WPB_SCH9_PKGREL_PB1
|
||||
SOLPB_SCH9_PKGREL_SOL1
|
||||
PB_SCH13_PE1
|
||||
PB_SCH13_PE2
|
||||
BBGAB
|
||||
WPB_SCH13_PKGREL_PB1
|
||||
SOLPB_SCH13_PKGREL_SOL1
|
||||
PB_SCH17_PE1
|
||||
PB_SCH17_PE2
|
||||
BBGAB
|
||||
WPB_SCH17_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH17_PKGREL_SOL1
|
||||
PB_SCH20_PE1
|
||||
PB_SCH20_PE2
|
||||
BBGAB
|
||||
WPB_SCH20_PKGREL_PB1
|
||||
SOLPB_SCH20_PKGREL_SOL1
|
||||
PB_SCH24_PE1
|
||||
PB_SCH24_PE2
|
||||
BBGAB
|
||||
WPB_SCH24_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH24_PKGREL_SOL1
|
||||
PB_SCH28_PE1
|
||||
PB_SCH28_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH28_PKGREL_PB1
|
||||
SOLPB_SCH28_PKGREL_SOL1
|
||||
PB_SCH32_PE1
|
||||
PB_SCH32_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH32_PKGREL_PB1
|
||||
SOLPB_SCH32_PKGREL_SOL1
|
||||
PB_SCH35_PE1
|
||||
PB_SCH35_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH35_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH35_PKGREL_SOL1
|
||||
PB_SCH38_PE1
|
||||
PB_SCH38_PE2
|
||||
BBGAB
|
||||
WPB_SCH38_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH38_PKGREL_SOL1
|
||||
PB_SCH40_PE1
|
||||
PB_SCH40_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH40_PKGREL_PB1
|
||||
SOLPB_SCH40_PKGREL_SOL1
|
||||
PB_SCH42_PE1
|
||||
PB_SCH42_PE2
|
||||
BBGAB
|
||||
WPB_SCH42_PKGREL_PB1
|
||||
SOLPB_SCH42_PKGREL_SOL1
|
||||
PB_SCH44_PE1
|
||||
PB_SCH44_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH44_PKGREL_PB1
|
||||
SOLPB_SCH44_PKGREL_SOL1
|
||||
PB_SCH46_PE1
|
||||
PB_SCH46_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH46_PKGREL_PB1
|
||||
SOLPB_SCH46_PKGREL_SOL1
|
||||
PB_SCH48_PE1
|
||||
PB_SCH48_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH48_PKGREL_PB1
|
||||
SOLPB_SCH48_PKGREL_SOL1
|
||||
PB_SCH52_PE1
|
||||
PB_SCH52_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH52_PKGREL_PB1
|
||||
SOLPB_SCH52_PKGREL_SOL1
|
||||
PB_SCH56_PE1
|
||||
PB_SCH56_PE2
|
||||
BBGAB
|
||||
WPB_SCH56_PKGREL_PB1
|
||||
SOLPB_SCH56_PKGREL_SOL1
|
||||
PB_SCH60_PE1
|
||||
PB_SCH60_PE2
|
||||
BBGAB
|
||||
WPB_SCH60_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH60_PKGREL_SOL1
|
||||
PB_SCH63_PE1
|
||||
PB_SCH63_PE2
|
||||
BBGAB
|
||||
WPB_SCH63_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH63_PKGREL_SOL1
|
||||
PB_SCH67_PE1
|
||||
PB_SCH67_PE2
|
||||
BBGAB
|
||||
WPB_SCH67_PKGREL_PB1
|
||||
SOL
|
||||
PB_SCH67_PKGREL_SOL1
|
||||
PB_SCH71_PE1
|
||||
PB_SCH71_PE2
|
||||
BBGAB
|
||||
W
|
||||
PB_SCH71_PKGREL_PB1
|
||||
SOLPB_SCH71_PKGREL_SOL1
|
||||
PB_SCH74_PE1
|
||||
PB_SCH74_PE2
|
||||
BBGAB
|
||||
WPB_SCH74_PKGREL_PB1
|
||||
SOLPB_SCH74_PKGREL_SOL1
|
||||
MCM05
|
||||
MCM05
|
||||
387
extracted_texts/MTN6_SYSDL-MCM06.txt
Normal file
387
extracted_texts/MTN6_SYSDL-MCM06.txt
Normal file
@ -0,0 +1,387 @@
|
||||
ST 4.0kW 1.4375
|
||||
CL
|
||||
ST 1.5kW 1.4375
|
||||
12'-11"
|
||||
12'-11"
|
||||
S02-101CH2S02-101CH4S02-101CH6S02-101CH8S02-101CH10S02-101CH12S02-101CH14S02-101CH16S02-101CH18S02-101CH20S02-101CH22S02-101CH24S02-101CH26S02-101CH28S02-101CH30
|
||||
S02-101CH1S02-101CH3S02-101CH5S02-101CH7S02-101CH9S02-101CH11S02-101CH13S02-101CH15S02-101CH17S02-101CH19S02-101CH21S02-101CH23S02-101CH25S02-101CH27S02-101CH29
|
||||
NCS2-050-CH2NCS2-050-CH4NCS2-050-CH6NCS2-050-CH8NCS2-050-CH10NCS2-050-CH12NCS2-050-CH14NCS2-050-CH16NCS2-050-CH18NCS2-050-CH20NCS2-050-CH22NCS2-050-CH24NCS2-050-CH26NCS2-050-CH28NCS2-050-CH30
|
||||
NCS2-050-CH1NCS2-050-CH3NCS2-050-CH5NCS2-050-CH7NCS2-050-CH9NCS2-050-CH11NCS2-050-CH13NCS2-050-CH15NCS2-050-CH17NCS2-050-CH19NCS2-050-CH21NCS2-050-CH23NCS2-050-CH25NCS2-050-CH27NCS2-050-CH29
|
||||
NCP1_9_VFD12HP350 FPM
|
||||
NCP1_10B_VFD12HP350 FPMNCP1_10A_VFD12HP350 FPM
|
||||
NCP1_11_VFD12HP350 FPMNCP1_12_VFD12HP350 FPMNCP1_13_VFD12HP350 FPM
|
||||
NCP1_14A_VFD12HP350 FPMNCP1_14B_VFD12HP350 FPMNCP1_14C_VFD12HP350 FPM
|
||||
NCP1_15_VFD17.5HP350 FPM
|
||||
NCP1_16_VFD15HP350 FPMNCP1_17_VFD12HP350 FPMNCP1_18A_VFD12HP350 FPM
|
||||
NCP1_19_VFD12HP350 FPM
|
||||
NCP1_20_VFD15HP300 FPM
|
||||
NCS1_1_VFD12HP300 FPMNCS1_2_VFD12HP300 FPMNCS1_3_VFD15HP300 FPM
|
||||
NCS1_4_VFD12HP300 FPM
|
||||
NCS1_5B_VFD12HP300 FPMNCS1_5A_VFD12HP300 FPM
|
||||
NCS1_6_VFD12HP240 FPMNCS1_7_VFD12HP240 FPMNCS1_8_VFD12HP240 FPMNCS1_9_VFD12HP240 FPMS02_1_VFD130HP250 FPM
|
||||
NCP1_21_VFD17.5HP300 FPM
|
||||
NCP2_1_VFD15HP300 FPMNCS2_2_VFD12HP300 FPM
|
||||
NCS2_3A_VFD12HP300 FPM
|
||||
NCS2_4_VFD12HP240 FPMNCS2_5_VFD12HP240 FPMNCS2_6_VFD12HP240 FPMNCS2_7_VFD12HP240 FPM
|
||||
WGS02_102CH_ER1
|
||||
S02_102CH_PE1
|
||||
S02_102CH_PE2
|
||||
SNDRCV
|
||||
S02_1_LRPE1
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_1_LRPE2
|
||||
MCM06
|
||||
RBB
|
||||
EPCNCP1_9_EPC2RBB
|
||||
EPCNCP1_15_EPC1RBB
|
||||
EPCNCP1_15_EPC2ABB
|
||||
NCP1_20_PE1(INFEED PRODUCT SENSOR)
|
||||
NCP1_20_PE3(OUTFEED PRODUCT SENSOR)
|
||||
NCP1_20_PE2(IDLE DEBRIS SENSOR)
|
||||
NCP1_20_PE4(DRIVE END DEBRIS/SPROCKET ENGAGEMENT SENSOR)
|
||||
NCP1_20_APS1APSNCP1_20_SOL1SOLNCP1_20_SOL2SOL
|
||||
EPCNCP1_21_EPC1RBB
|
||||
RGNCP1_21_SS1
|
||||
EPCNCP1_21_EPC2
|
||||
RG NCP1_21_SS2RBB
|
||||
EPCNCS1_4_EPC4RBB
|
||||
EPCNCS1_4_EPC2RBB
|
||||
WNCP1_16_JR1ABB
|
||||
WNCS1_3_JR1ABB
|
||||
EPCNCS2_2_EPC2RBB
|
||||
EPCNCS2_2_EPC1RBBRGNCS2_2_SS1
|
||||
BBBGBBBG
|
||||
WS02_1_JR2
|
||||
A
|
||||
WS02_1_JR1
|
||||
S02_1_JPE1S02_1CH_JPE1
|
||||
HBBBA
|
||||
EPCNCS1_4_EPC3
|
||||
EPCNCS1_4_EPC1
|
||||
WNCP1_16_JR2R
|
||||
GNCP1_9_S1
|
||||
GNCP1_9_S2
|
||||
GNCP1_15_S1
|
||||
GNCP1_15_S2
|
||||
GNCS1_4_S1
|
||||
GNCS1_4_S2EPCS02_1_EPC2
|
||||
EPCS02_1_EPC1
|
||||
NCP1_11_ENC1NCP1_12_ENC1NCP1-13-ENC1 NCP1_15_ENC1
|
||||
NCP1_17_ENC1
|
||||
NCP1_19_ENC1
|
||||
NCS1_2_ENC1
|
||||
NCS1_4_ENC1NCS1_6_ENC1NCS1_7_ENC1NCS1_8_ENC1NCS1_9_ENC1
|
||||
NCS2_7_ENC1NCS2_6_ENC1NCS2_5_ENC1NCS2_4_ENC1NCS2_2_ENC1
|
||||
NCP1_21_ENC1
|
||||
NCP1_15_JPE1
|
||||
NCP1_17_TPE1
|
||||
NCS1_1_TPE1
|
||||
NCS1_4_TPE1
|
||||
NCS2_2_TPE1
|
||||
NCP1_21_TPE1
|
||||
NCP1_9_TPE1NCP_11_TPE1
|
||||
V
|
||||
ST 4.0kW 1.4375
|
||||
CL
|
||||
ST 1.5kW 1.4375
|
||||
S02-101CH2S02-101CH4S02-101CH6S02-101CH8S02-101CH10S02-101CH12S02-101CH14S02-101CH16S02-101CH18S02-101CH20S02-101CH22S02-101CH24S02-101CH26S02-101CH28S02-101CH30
|
||||
S02-101CH1S02-101CH3S02-101CH5S02-101CH7S02-101CH9S02-101CH11S02-101CH13S02-101CH15S02-101CH17S02-101CH19S02-101CH21S02-101CH23S02-101CH25S02-101CH27S02-101CH29
|
||||
NCS2-050-CH2NCS2-050-CH4NCS2-050-CH6NCS2-050-CH8NCS2-050-CH10NCS2-050-CH12NCS2-050-CH14NCS2-050-CH16NCS2-050-CH18NCS2-050-CH20NCS2-050-CH22NCS2-050-CH24NCS2-050-CH26NCS2-050-CH28NCS2-050-CH30
|
||||
NCS2-050-CH1NCS2-050-CH3NCS2-050-CH5NCS2-050-CH7NCS2-050-CH9NCS2-050-CH11NCS2-050-CH13NCS2-050-CH15NCS2-050-CH17NCS2-050-CH19NCS2-050-CH21NCS2-050-CH23NCS2-050-CH25NCS2-050-CH27NCS2-050-CH29
|
||||
EPCNCP1_9_EPC1
|
||||
RGNCS2_2_SS2
|
||||
NCS2_DPM1MCM06
|
||||
NCS1_DPM1MCM06
|
||||
NCP_DPM3MCM06
|
||||
NCP_DPM2MCM06NCP_11_TPE2NCP1_12_TPE1NCP1_13_TPE1NCP1_15_TPE1
|
||||
NCP1_14D_VFD12HP350 FPM
|
||||
NCP1_17_TPE2
|
||||
NCP1_18B_VFD12HP350 FPMNCP1_19_TPE1
|
||||
NCP1_19_TPE2
|
||||
NCS1_2_JPE1
|
||||
NCS1_4_TPE2
|
||||
NCS1_6_TPE1NCS1_6_TPE2NCS1_7_TPE1NCS1_8_TPE1NCS1_9_TPE1S02_104CH_FIOH1
|
||||
S02_1_FIO1S02_104CH_PE1
|
||||
S02_104CH_PE2
|
||||
S02_106CH_PE1
|
||||
S02_106CH_PE2
|
||||
S02_108CH_PE1
|
||||
S02_108CH_PE2
|
||||
S02_110CH_PE1
|
||||
S02_110CH_PE2
|
||||
S02_112CH_PE1
|
||||
S02_112CH_PE2
|
||||
S02_114CH_PE1
|
||||
S02_114CH_PE2
|
||||
S02_116CH_PE1
|
||||
S02_116CH_PE2
|
||||
S02_118CH_PE1
|
||||
S02_118CH_PE2
|
||||
S02_120CH_PE1
|
||||
S02_120CH_PE2
|
||||
S02_122CH_PE1
|
||||
S02_122CH_PE2
|
||||
S02_124CH_PE1
|
||||
S02_124CH_PE2
|
||||
S02_126CH_PE1
|
||||
S02_126CH_PE2
|
||||
S02_128CH_PE1
|
||||
S02_128CH_PE2
|
||||
S02_130CH_PE1
|
||||
S02_130CH_PE2
|
||||
S02_101CH_PE1
|
||||
S02_101CH_PE2BBBGA
|
||||
WGS02_101CH_ER1
|
||||
S02_103CH_FIOH1S02_103CH_PE1
|
||||
S02_103CH_PE2
|
||||
S02_105CH_PE1
|
||||
S02_105CH_PE2
|
||||
S02_107CH_PE1
|
||||
S02_107CH_PE2
|
||||
S02_109CH_PE1
|
||||
S02_109CH_PE2
|
||||
S02_111CH_PE1
|
||||
S02_111CH_PE2
|
||||
S02_113CH_PE1
|
||||
S02_113CH_PE2
|
||||
S02_115CH_PE1
|
||||
S02_115CH_PE2
|
||||
S02_117CH_PE1
|
||||
S02_117CH_PE2
|
||||
S02_119CH_PE1
|
||||
S02_119CH_PE2
|
||||
S02_121CH_PE1
|
||||
S02_121CH_PE2
|
||||
S02_123CH_PE1
|
||||
S02_123CH_PE2
|
||||
S02_125CH_PE1
|
||||
S02_125CH_PE2
|
||||
S02_127CH_PE1
|
||||
S02_127CH_PE2
|
||||
S02_129CH_PE1
|
||||
S02_129CH_PE2 BBBG
|
||||
WGS02_103CH_ER1WGS02_105CH_ER1WGS02_107CH_ER1WGS02_109CH_ER1WGS02_111CH_ER1WGS02_113CH_ER1WGS02_115CH_ER1WGS02_117CH_ER1WGS02_119CH_ER1WGS02_121CH_ER1WGS02_123CH_ER1WGS02_125CH_ER1WGS02_127CH_ER1WGS02_129CH_ER1
|
||||
WGS02_104CH_ER1WGS02_106CH_ER1WGS02_108CH_ER1WGS02_110CH_ER1WGS02_112CH_ER1WGS02_114CH_ER1WGS02_116CH_ER1WGS02_118CH_ER1WGS02_120CH_ER1WGS02_122CH_ER1WGS02_124CH_ER1WGS02_126CH_ER1WGS02_128CH_ER1WGS02_130CH_ER1
|
||||
SNDRCV
|
||||
S02_1_LRPE3
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_1_LRPE4
|
||||
MCM06
|
||||
WS02_1_JR4WS02_1_JR3
|
||||
SNDRCV
|
||||
S02_1_LRPE5
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_1_LRPE6
|
||||
MCM06
|
||||
WS02_1_JR6WS02_1_JR5
|
||||
SNDRCV
|
||||
S02_1_LRPE7
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_1_LRPE8
|
||||
MCM06
|
||||
WS02_1_JR8WS02_1_JR7
|
||||
SNDRCV
|
||||
S02_1_LRPE9
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_1_LRPE10
|
||||
MCM06
|
||||
WS02_1_JR10WS02_1_JR9
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
S02_108CH_FIOH1
|
||||
S02_107CH_FIOH1
|
||||
S02_112CH_FIOH1
|
||||
S02_111CH_FIOH1
|
||||
S02_116CH_FIOH1
|
||||
S02_115CH_FIOH1
|
||||
S02_120CH_FIOH1
|
||||
S02_119CH_FIOH1
|
||||
S02_124CH_FIOH1
|
||||
S02_123CH_FIOH1
|
||||
S02_128CH_FIOH1
|
||||
S02_127CH_FIOH1
|
||||
S02_1_FIO2S02_1_FIO3S02_1_FIO4S02_1_FIO5S02_1_FIO6S02_1_FIO7S02_1_FIO8
|
||||
S02_129CH_FIOH1
|
||||
S02_2_VFD130HP250 FPM
|
||||
WGS02_202CH_ER1
|
||||
S02_202CH_PE1
|
||||
S02_202CH_PE2
|
||||
SNDRCV
|
||||
S02_2_LRPE1
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_2_LRPE2
|
||||
MCM06
|
||||
BBBGBBBG
|
||||
WS02_2_JR2
|
||||
A
|
||||
WS02_2_JR1
|
||||
S02_2_JPE1S02_2CH_JPE1
|
||||
HBBBA
|
||||
NCS2_050_PE1
|
||||
EPCS02_2_EPC2
|
||||
EPCS02_2_EPC1S02_204CH_FIOH1
|
||||
S02_2_FIO1S02_204CH_PE1
|
||||
S02_204CH_PE2
|
||||
S02_206CH_PE1
|
||||
S02_206CH_PE2
|
||||
S02_208CH_PE1
|
||||
S02_208CH_PE2
|
||||
S02_210CH_PE1
|
||||
S02_210CH_PE2
|
||||
S02_212CH_PE1
|
||||
S02_212CH_PE2
|
||||
S02_214CH_PE1
|
||||
S02_214CH_PE2
|
||||
S02_216CH_PE1
|
||||
S02_216CH_PE2
|
||||
S02_218CH_PE1
|
||||
S02_218CH_PE2
|
||||
S02_220CH_PE1
|
||||
S02_220CH_PE2
|
||||
S02_222CH_PE1
|
||||
S02_222CH_PE2
|
||||
S02_224CH_PE1
|
||||
S02_224CH_PE2
|
||||
S02_226CH_PE1
|
||||
S02_226CH_PE2
|
||||
S02_228CH_PE1
|
||||
S02_228CH_PE2
|
||||
S02_230CH_PE1
|
||||
S02_230CH_PE2
|
||||
S02_201CH_PE1
|
||||
S02_201CH_PE2BBBGA
|
||||
WGS02_201CH_ER1
|
||||
S02_203CH_FIOH1S02_203CH_PE1
|
||||
S02_203CH_PE2
|
||||
S02_205CH_PE1
|
||||
S02_205CH_PE2
|
||||
S02_207CH_PE1
|
||||
S02_207CH_PE2
|
||||
S02_209CH_PE1
|
||||
S02_209CH_PE2
|
||||
S02_211CH_PE1
|
||||
S02_211CH_PE2
|
||||
S02_213CH_PE1
|
||||
S02_213CH_PE2
|
||||
S02_215CH_PE1
|
||||
S02_215CH_PE2
|
||||
S02_217CH_PE1
|
||||
S02_217CH_PE2
|
||||
S02_219CH_PE1
|
||||
S02_219CH_PE2
|
||||
S02_221CH_PE1
|
||||
S02_221CH_PE2
|
||||
S02_223CH_PE1
|
||||
S02_223CH_PE2
|
||||
S02_225CH_PE1
|
||||
S02_225CH_PE2
|
||||
S02_227CH_PE1
|
||||
S02_227CH_PE2
|
||||
S02_229CH_PE1
|
||||
S02_229CH_PE2 BBBG
|
||||
WGS02_203CH_ER1WGS02_205CH_ER1WGS02_207CH_ER1WGS02_209CH_ER1WGS02_211CH_ER1WGS02_213CH_ER1WGS02_215CH_ER1WGS02_217CH_ER1WGS02_219CH_ER1WGS02_221CH_ER1WGS02_223CH_ER1WGS02_225CH_ER1WGS02_227CH_ER1WGS02_229CH_ER1
|
||||
WGS02_204CH_ER1WGS02_206CH_ER1WGS02_208CH_ER1WGS02_210CH_ER1WGS02_212CH_ER1WGS02_214CH_ER1WGS02_216CH_ER1WGS02_218CH_ER1WGS02_220CH_ER1WGS02_222CH_ER1WGS02_224CH_ER1WGS02_226CH_ER1WGS02_228CH_ER1WGS02_230CH_ER1
|
||||
SNDRCV
|
||||
S02_2_LRPE3
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_2_LRPE4
|
||||
MCM06
|
||||
WS02_2_JR4WS02_2_JR3
|
||||
SNDRCV
|
||||
S02_2_LRPE5
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_2_LRPE6
|
||||
MCM06
|
||||
WS02_2_JR6WS02_2_JR5
|
||||
SNDRCV
|
||||
S02_2_LRPE7
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_2_LRPE8
|
||||
MCM06
|
||||
WS02_2_JR8WS02_2_JR7
|
||||
SNDRCV
|
||||
S02_2_LRPE9
|
||||
MCM06
|
||||
SNDRCV
|
||||
S02_2_LRPE10
|
||||
MCM06
|
||||
WS02_2_JR10WS02_2_JR9
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBGA
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
BBBG
|
||||
S02_208CH_FIOH1
|
||||
S02_207CH_FIOH1
|
||||
S02_212CH_FIOH1
|
||||
S02_211CH_FIOH1
|
||||
S02_216CH_FIOH1
|
||||
S02_215CH_FIOH1
|
||||
S02_220CH_FIOH1
|
||||
S02_219CH_FIOH1
|
||||
S02_224CH_FIOH1
|
||||
S02_223CH_FIOH1
|
||||
S02_228CH_FIOH1
|
||||
S02_227CH_FIOH1
|
||||
S02_2_FIO2S02_2_FIO3S02_2_FIO4S02_2_FIO5S02_2_FIO6S02_2_FIO7S02_2_FIO8
|
||||
S02_229CH_FIOH1
|
||||
NCP1_21_JPE1
|
||||
NCS2_2_TPE2
|
||||
NCS2_3B_VFD12HP300 FPMNCS2_4_TPE1NCS2_4_TPE2NCS2_5_TPE1NCS2_6_TPE1
|
||||
NCS2_7_TPE1
|
||||
MCM06
|
||||
MCM06
|
||||
449
extracted_texts/MTN6_SYSDL-MCM07.txt
Normal file
449
extracted_texts/MTN6_SYSDL-MCM07.txt
Normal file
@ -0,0 +1,449 @@
|
||||
BYAB_2_VFD15HP550 FPM BYAB_3_VFD15HP550 FPM
|
||||
BYAB_4_VFD13HP500 FPM
|
||||
BYAB_5_VFD15HP450 FPMBYAB_6_VFD13HP400 FPM
|
||||
BYAB_7_VFD17.5HP350 FPMBYAB_8_VFD15HP300 FPMBYAB_9_VFD12HP300 FPM
|
||||
BYAB_10_VFD13HP300 FPM
|
||||
BYAB_11_VFD13HP300 FPM
|
||||
BYAB_12_VFD17.5HP300 FPMBYAB_13_VFD110HP300 FPMBYAB_14_VFD110HP300 FPMBYAB_15_VFD13HP300 FPM
|
||||
BYAD_2_VFD13HP550 FPM BYAD_3_VFD17.5HP500 FPMBYAD_4_VFD15HP450 FPM
|
||||
BYAD_5_VFD17.5HP400 FPM
|
||||
BYAD_6_VFD13HP350 FPM BYAD_7_VFD110HP300 FPM
|
||||
BYAD_8_VFD110HP300 FPMBYAD_9_VFD13HP300 FPM
|
||||
BYAC_2_VFD13HP550 FPM BYAC_3_VFD17.5HP500 FPMBYAC_4_VFD15HP450 FPM
|
||||
BYAC_5_VFD15HP400 FPM
|
||||
BYAC_6_VFD13HP350 FPMBYAC_7_VFD110HP300 FPMBYAC_8_VFD110HP300 FPMBYAC_9_VFD13HP300 FPM
|
||||
BYAC_10_VFD15HP300 FPMBYAC_11_VFD13HP300 FPM
|
||||
ABB
|
||||
BYAC_2_JPE1
|
||||
SNDRCV
|
||||
BYA_LRPE1
|
||||
MCM07
|
||||
BYAD_2_JPE1
|
||||
BYAB_2_JPE1
|
||||
BYAC_2_TPE1 BYAC_3_JPE1
|
||||
BYAC_5_TPE1
|
||||
BYAC_5_JPE1BYAC_7_TPE1BYAC_7_TPE2
|
||||
BYAC_8_TPE1BYAC_9_TPE1
|
||||
BYAC_11_TPE1
|
||||
BYAD_3_JPE1
|
||||
BYAB_2_JPE2
|
||||
BYAD_2_TPE1
|
||||
BYAB_6_TPE1BYAB_6_TPE2
|
||||
BYAB_7_TPE1BYAB_8_JPE1
|
||||
BYAB_12_TPE1BYAB_12_TPE2BYAB_13_TPE1
|
||||
BYAB_14_TPE1BYAB_15_TPE1
|
||||
BYAB_10_TPE1
|
||||
BYAB_10_JPE1
|
||||
BYAB_4_TPE1
|
||||
BYAB_4_JPE1
|
||||
BYAD_5_TPE1
|
||||
BYAD_5_JPE1BYAD_7_TPE1 BYAD_7_TPE2
|
||||
BYAD_8_TPE1BYAD_9_TPE1
|
||||
EPCBYAB_15_EPC1RBB
|
||||
EPCBYAB_15_EPC2RBB
|
||||
R
|
||||
G
|
||||
BYAB_2_S1RBBGBYAB_2_S2
|
||||
ABBR
|
||||
ABBR
|
||||
RBB
|
||||
RBB
|
||||
EPCBYAD_9_EPC1RBBGBYAD_9_S1
|
||||
EPCBYAD_9_EPC2RBBGBYAD_9_S2
|
||||
EPCBYAC_11_EPC1
|
||||
ABBGBYAC_11_S2EPCBYAC_11_EPC2
|
||||
RBBGBYAC_11_S1
|
||||
GBYAC_2_S1
|
||||
GBYAD_2_S2
|
||||
GBYAC_2_S2
|
||||
G
|
||||
BYAD_2_S1
|
||||
V
|
||||
BYBD_2_VFD13HP550 FPM BYBD_3_VFD110HP550 FPM BYBD_4_VFD110HP450 FPM
|
||||
BYBD_5_VFD110HP400 FPM BYBD_6_VFD15HP350 FPM BYBD_7_VFD17.5HP300 FPM
|
||||
BYBD_8_VFD13HP300 FPM
|
||||
BYBD_9_VFD12HP300 FPM
|
||||
BYBD_10_VFD110HP300 FPM
|
||||
BYBD_11_VFD13HP300 FPM
|
||||
BYBD_12_VFD110HP300 FPM
|
||||
BYBD_13_VFD110HP300 FPM
|
||||
BYBD_14_VFD12HP300 FPM
|
||||
BYBC_2_VFD13HP550 FPM BYBC_3_VFD110HP500 FPM BYBC_4_VFD17.5HP450 FPM
|
||||
BYBC_5_VFD15HP400 FPM
|
||||
BYBC_6_VFD13HP350 FPM
|
||||
BYBC_7_VFD13HP300 FPM BYBC_8_VFD110HP300 FPM
|
||||
BYBC_9_VFD110HP300 FPMBYBC_10_VFD12HP300 FPM
|
||||
BYBA_2_VFD13HP550 FPM BYBA_4_VFD17.5HP450 FPM
|
||||
BYBA_5_VFD13HP400 FPM
|
||||
BYBA_9_VFD110HP300 FPM BYBA_10_VFD17.5HP300 FPMBYBA_11_VFD12HP300 FPMBYBA_12_VFD13HP300 FPM
|
||||
BYBA_13_VFD12HP300 FPM
|
||||
BYBA_14_VFD13HP300 FPMBYBA_15_VFD12HP300 FPM
|
||||
BYBC_2_JPE1
|
||||
BYBD_2_JPE1
|
||||
BYBC_2_TPE1
|
||||
BYBD_2_TPE1 BYBD_3_TPE1
|
||||
BYBC_3_TPE1
|
||||
BYBA_4_JPE1
|
||||
BYBC_4_JPE1
|
||||
BYBD_4_TPE1 BYBD_5_TPE1 BYBD_6_TPE1
|
||||
BYBD_7_JPE1
|
||||
BYBD_12_TPE1 BYBD_12_TPE2
|
||||
BYBD_13_TPE1BYBD_14_TPE1
|
||||
BYBA_10_TPE1
|
||||
BYBC_9_TPE1BYBC_10_TPE1BYBC_8_TPE1 BYBC_8_TPE2
|
||||
BYBA_10_JPE1BYBA_15_TPE1BYBA_15_TPE2
|
||||
BYBA_13_TPE1
|
||||
BYBC_6_JPE1
|
||||
BYBC_6_TPE1
|
||||
BYBD_9_TPE1
|
||||
BYBD_10_JPE1 EPCBYBD_14_EPC1RBBGBYBD_14_S1
|
||||
EPCBYBD_14_EPC2RBBGBYBD_14_S2
|
||||
EPCBYBC_10_EPC1RBB
|
||||
GBYBC_10_S1
|
||||
EPCBYBC_10_EPC2RBBGBYBC_10_S2
|
||||
EPCBYBA_15_EPC2
|
||||
EPCBYBA_15_EPC1BB
|
||||
GBYBA_15_S2RBB
|
||||
BYCD_2_VFD15HP400 FPMBYCD_3_VFD15HP380 FPMBYCD_4_VFD12HP450 FPM
|
||||
BYCD_5_VFD15HP400 FPM
|
||||
BYCD_6_VFD13HP400 FPMBYCD_7_VFD12HP300 FPM
|
||||
BYCD_8_VFD17.5HP300 FPM BYCD_9_VFD110HP300 FPM BYCD_10_VFD110HP300 FPM BYCD_11_VFD17.5HP300 FPMBYCD_12_VFD12HP300 FPM
|
||||
BYCB_2_VFD13HP550 FPMBYCB_3_VFD15HP500 FPM
|
||||
BYCB_4_VFD13HP450 FPM
|
||||
BYCB_5_VFD15HP400 FPM
|
||||
BYCB_6_VFD15HP350 FPMBYCB_7_VFD110HP300 FPMBYCB_8_VFD110HP300 FPM
|
||||
BYCB_9_VFD15HP300 FPMBYCB_10_VFD12HP300 FPM
|
||||
BYCA_2_VFD13HP550 FPMBYCA_3_VFD15HP500 FPM
|
||||
BYCA_4_VFD15HP450 FPM
|
||||
BYCA_5_VFD15HP400 FPM
|
||||
BYCA_6_VFD110HP350 FPM
|
||||
BYCA_7_VFD12HP300 FPMBYCA_8_VFD15HP300 FPMBYCA_9_VFD12HP300 FPM
|
||||
BYCD_2_JPE1
|
||||
SND RCVBYC_LRPE1MCM07
|
||||
BYCB_2_TPE1BYCB_3_JPE1
|
||||
BYCD_2_JPE2
|
||||
BYCD_7_TPE1
|
||||
BYCB_7_TPE1
|
||||
BYCA_5_TPE1
|
||||
BYCA_9_TPE2
|
||||
EPCBYCD_12_EPC1RBBGBYCD_12_S1
|
||||
EPCBYCD_12_EPC2RBBGBYCD_12_S2
|
||||
EPCBYCB_10_EPC1RBBGBYCB_10_S1
|
||||
EPCBYCB_10_EPC2RBBGBYCB_10_S2
|
||||
EPCBYCA_9_EPC1RBBGBYCA_9_S1
|
||||
EPCBYCA_9_EPC2RBBGBYCA_9_S2
|
||||
BYDB_2_VFD13HP550 FPM
|
||||
BYDB_3_VFD17.5HP500 FPMBYDB_4_VFD110HP450 FPMBYDB_5_VFD13HP400 FPMBYDB_6_VFD17.5HP350 FPMBYDB_7_VFD17.5HP300 FPMBYDB_8_VFD15HP300 FPMBYDB_9_VFD13HP300 FPMBYDB_10_VFD15HP300 FPM
|
||||
BYDB_11_VFD15HP300 FPM
|
||||
BYDB_12_VFD15HP300 FPMBYDB_13_VFD110HP300 FPMBYDB_14_VFD110HP300 FPMBYDB_15_VFD15HP300 FPMBYDB_16_VFD13HP300 FPM
|
||||
BYDA_2_VFD13HP550 FPMBYDA_3_VFD17.5HP500 FPMBYDA_4_VFD110HP450 FPM
|
||||
BYDA_5_VFD15HP400 FPM
|
||||
BYDA_6_VFD110HP350 FPM
|
||||
BYDA_7_VFD13HP300 FPMBYDA_8_VFD110HP300 FPMBYDA_9_VFD13HP300 FPM
|
||||
BYDC_2_VFD13HP550 FPMBYDC_3_VFD17.5HP500 FPMBYDC_4_VFD110HP450 FPM
|
||||
BYDC_5_VFD15HP400 FPM
|
||||
BYDC_6_VFD110HP350 FPM
|
||||
BYDC_7_VFD13HP300 FPM
|
||||
BYDC_8_VFD110HP300 FPMBYDC_9_VFD110HP300 FPM
|
||||
BYDC_10_VFD110HP300 FPMBYDC_11_VFD13HP300 FPM
|
||||
BYDC_12_VFD15HP300 FPMBYDC_13_VFD13HP300 FPM
|
||||
SND RCV
|
||||
BYD_LRPE1
|
||||
MCM07
|
||||
WBYD_JR1BYDB_2_TPE1BYDB_11_TPE1
|
||||
EPCBYDC_13_EPC1
|
||||
ABBGBYDC_13_S2EPCBYDC_13_EPC2
|
||||
RBBGBYDC_13_S1 EPCBYDA_9_EPC1RBBGBYDA_9_S1
|
||||
EPCBYDA_9_EPC2RBBGBYDA_9_S2
|
||||
EPCBYDB_16_EPC1RBBGBYDB_16_S1
|
||||
EPCBYDB_16_EPC2RBBGBYDB_16_S2
|
||||
EPCBYDA_8_EPC1
|
||||
EPCBYDA_8_EPC2ABBGBYDA_8_S2
|
||||
RBBGBYDA_8_S1
|
||||
RR
|
||||
R
|
||||
BBA
|
||||
WBYBA_5_JR1
|
||||
BBA
|
||||
WBYBC_5_JR1
|
||||
BBA
|
||||
WBYBC_7_JR1
|
||||
R
|
||||
BBA
|
||||
WBYCB_6_JR1
|
||||
BBA
|
||||
WBYAB_11_JR1
|
||||
BBA
|
||||
WBYDB_12_JR1
|
||||
BBA
|
||||
WBYCB_4_JR1
|
||||
BBA
|
||||
WBYAB_9_JR1
|
||||
BBA
|
||||
WBYDB_10_JR1
|
||||
BBA
|
||||
WBYCD_6_JR1
|
||||
BBA
|
||||
WBYCD_3_JR1
|
||||
BBA
|
||||
WBYBD_11_JR1
|
||||
BYBD_9_TPE2
|
||||
BBA
|
||||
WBYAD_6_JR1
|
||||
BBA
|
||||
WBYAD_4_JR1
|
||||
BBA
|
||||
WBYAC_4_JR1
|
||||
EPCBYDA_6_EPC2
|
||||
EPCBYDA_6_EPC1
|
||||
EPCBYDB_4_EPC1
|
||||
EPCBYDB_4_EPC2
|
||||
EPCBYDC_6_EPC1
|
||||
EPCBYDC_6_EPC2ABBGBYDA_6_S1R ABBGBYDC_6_S1
|
||||
R
|
||||
BBGBYDB_4_S2R
|
||||
BBGBYDB_4_S1R
|
||||
BBGBYDA_6_S2R BBGBYDC_6_S2R
|
||||
GBYBA_15_S1
|
||||
BBA
|
||||
WBYCA_8_JR1
|
||||
BBA
|
||||
WBYBA_12_JR1
|
||||
BBA
|
||||
WBYBD_8_JR1
|
||||
BBA
|
||||
WBYAB_5_JR1
|
||||
BBA
|
||||
WBYAB_3_JR1
|
||||
BYCD_4_TPE1
|
||||
BYCB_5_JPE1
|
||||
BYCB_5_TPE1
|
||||
BYAC_11_TPE2
|
||||
EPCBYAC_2_EPC1
|
||||
EPCBYAC_2_EPC2EPCBYAD_2_EPC1
|
||||
EPCBYAD_2_EPC2EPCBYAB_2_EPC2EPCBYAB_2_EPC1
|
||||
EPCBYAB_2_EPC4EPCBYAB_2_EPC3
|
||||
EPCBYDA_3_EPC1
|
||||
EPCBYDA_3_EPC2EPCBYDB_3_EPC1
|
||||
EPCBYDB_3_EPC2
|
||||
ABBR
|
||||
RBBGBYBC_3_S2
|
||||
G
|
||||
BYBC_3_S1EPCBYBC_3_EPC1
|
||||
EPCBYBC_3_EPC2ABBR
|
||||
RBBGBYBD_3_S2
|
||||
G
|
||||
BYBD_3_S1EPCBYBD_3_EPC1
|
||||
EPCBYBD_3_EPC2
|
||||
EPCBYCB_3_EPC1
|
||||
EPCBYCB_3_EPC2ABBR
|
||||
RBBGBYCB_3_S2
|
||||
GBYCB_3_S1
|
||||
BBR
|
||||
GBYCD_5_S1RBBGBYCD_5_S2
|
||||
ABBRGBYDA_3_S1
|
||||
ABBR
|
||||
GBYDB_3_S1RBBGBYDA_3_S2
|
||||
RBBGBYDB_3_S2
|
||||
2'-5" EL (PLTF2)TYP.
|
||||
2'-5" EL (PLTF2)
|
||||
11'-0" EL (PLTF1)9'-0" EL (PLTF1)19'-0'' EL (FLOOR)9'-0" EL (PLTF1)6'-8'' EL (PLTF2)2'-9" EL (PLTF2)
|
||||
7'-6" EL (PLTF2)
|
||||
7'-6" EL (PLTF2)2'-9" EL (PLTF2)
|
||||
2'-9" EL (PLTF2)
|
||||
X-SQ-43.1875_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-60-P2.5+
|
||||
ST 1.5kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
TRANSITION CHUTES FROMCROSSBELT TO CONVEYORSURFACE WITH 3'' DROP
|
||||
2'-5" EL (PLTF2)TYP.
|
||||
7'-6" EL (PLTF2)
|
||||
7'-6" EL (PLTF2)
|
||||
7'-6" EL (PLTF2)
|
||||
7'-6" EL (PLTF2)
|
||||
7'-6" EL (PLTF2)
|
||||
8'-8" EL (PLTF2)9'-0" EL (PLTF2)11'-0'' EL (PLTF1)
|
||||
5'-1" EL (PLTF1)2'-9" EL (PLTF2)
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
2'-5" EL(PLTF2)
|
||||
2'-5" EL (PLTF2)TYP. (3) PLCS
|
||||
8'-0" EL (PLTF2)10'-4'' EL (PLTF1)TYP. (3) PLCS
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
8'-0" EL (PLTF2)
|
||||
5'-8" EL (PLTF2)8'-0'' EL (PLTF1)
|
||||
10'-8" EL (PLTF2) 10'-8" EL (PLTF2)
|
||||
8'-0" EL (PLTF2)
|
||||
8'-0" EL (PLTF2)
|
||||
8'-0" EL (PLTF2) 8'-0" EL (PLTF2) 2'-9" EL (PLTF2)
|
||||
8'-0" EL (PLTF2)
|
||||
8'-0" EL (PLTF2)
|
||||
8'-0" EL (PLTF2)
|
||||
8'-0" EL (PLTF2) 8'-0" EL (PLTF2)2'-9" EL (PLTF2) 2'-9" EL (PLTF2)
|
||||
2'-9" EL (PLTF2)
|
||||
2'-9" EL (PLTF2)8'-0" EL (PLTF2) 8'-0" EL (PLTF2)
|
||||
X-SQ-43.1875_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-60-P2.5+
|
||||
ST 1.5kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
TRANSITION CHUTES FROMCROSSBELT TO CONVEYORSURFACE WITH 3'' DROP2'-5" EL(PLTF2)
|
||||
7'-4" EL(PLTF2)
|
||||
6'-3" EL(PLTF2) 10'-8" EL(PLTF2)
|
||||
JSA
|
||||
JSA
|
||||
2'-5" EL(PLTF2)
|
||||
X-SQ-43.1875_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-43.1875_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-96_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
2'-5" EL (PLTF2)TYP.
|
||||
8'-0" EL (PLTF2)TYP.
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
X-SQ-41.5_43-90-P2.5+
|
||||
ST 4.0kW 1.4375
|
||||
3'-6" EL (PLTF3)
|
||||
7'-5" EL (PLTF3)11'-11'' EL (PLTF2)
|
||||
11'-11" EL (PLTF2)
|
||||
8'-8" EL (PLTF2)8'-8" EL (PLTF2)11'-0'' EL (PLTF1)
|
||||
11'-0" EL (PLTF1)
|
||||
11'-0" EL (PLTF1)11'-0" EL (PLTF1)
|
||||
2'-9" EL (PLTF2)5'-4'' EL (PLTF1)2'-9" EL (PLTF2)
|
||||
3'-6" EL (PLTF3)
|
||||
3'-6" EL (PLTF3)
|
||||
3'-6" EL (PLTF3)
|
||||
3'-6" EL (PLTF3)
|
||||
3'-6" EL (PLTF3)8'-0'' EL (PLTF2)8'-0" EL (PLTF2)2'-9" EL (PLTF2)2'-9" EL (PLTF2) 3'-6" EL (PLTF3)8'-0'' EL (PLTF2)
|
||||
2'-9" EL (PLTF2)
|
||||
STOP THE EPC AT 8'-3"
|
||||
STOP THE EPC AT 8'-3"
|
||||
BBA
|
||||
WBYAC_6_JR1
|
||||
BYD1_DPM1MCM07
|
||||
BYD1_DPM2MCM07
|
||||
BYD3_DPM1MCM07
|
||||
BYA1_DPM1MCM07
|
||||
BYA3_DPM1MCM07
|
||||
BYB1_DPM1MCM07
|
||||
BYB2_DPM1MCM07
|
||||
BYB3_DPM1MCM07
|
||||
BYC1_DPM1MCM07
|
||||
BYC3_DPM1MCM07
|
||||
MCM07
|
||||
BYAB_2_FIO1
|
||||
BYAD_2_FIO1
|
||||
BYAC_2_FIO1BYCA_2_FIO1
|
||||
BYCB_2_FIO1
|
||||
GBYAB_15_S2
|
||||
GBYAB_15_S1BYAB_14_FIO1
|
||||
BYAD_8_FIO1
|
||||
BYAC_11_FIO1
|
||||
BYBD_2_FIO1
|
||||
BYBD_14_FIO1
|
||||
BYBC_2_FIO1
|
||||
BYBC_10_FIO1
|
||||
BYBA_2_FIO1BYBA_2_JPE1BYBA_2_TPE1ABBR
|
||||
RBBGBYBA_3_S2
|
||||
G
|
||||
BYBA_3_S1EPCBYBA_3_EPC1
|
||||
EPCBYBA_3_EPC2 BYBA_3_VFD110HP500 FPMBYBA_3_TPE1
|
||||
BYBA_6_TPE1
|
||||
BYBA_6_VFD13HP350 FPM
|
||||
BYBA_6_JPE1
|
||||
BBA
|
||||
WBYBA_7_JR1
|
||||
BYBA_7_VFD13HP300 FPMBYBA_8_TPE1 BYBA_8_VFD110HP300 FPM
|
||||
BYBA_8_TPE2 BYBA_9_TPE1
|
||||
BYBA_13_JPE1BBA
|
||||
WBYBA_14_JR1
|
||||
BYBA_15_FIO1
|
||||
EPCBYCD_5_EPC2
|
||||
EPCBYCD_5_EPC1
|
||||
BYCD_4_TPE2
|
||||
BYCD_5_JPE1
|
||||
BYCD_7_TPE2
|
||||
BYCD_8_TPE1 BYCD_9_TPE1 BYCD_10_TPE1 BYCD_11_TPE1BYCD_12_TPE1BYCD_11_FIO1
|
||||
BYCB_2_JPE1
|
||||
BYCA_2_JPE1
|
||||
BYCB_7_TPE2BYCB_8_TPE1BYCB_9_TPE1BYCB_10_TPE1
|
||||
BYCB_9_FIO1
|
||||
BYCA_2_TPE1
|
||||
EPCBYCA_3_EPC1
|
||||
EPCBYCA_3_EPC2ABBRRBB
|
||||
GBYCA_3_S2
|
||||
GBYCA_3_S1BYCA_3_JPE1
|
||||
BBA
|
||||
WBYCA_4_JR1 BYCA_5_TPE2 BYCA_6_TPE1BYCA_7_JPE1
|
||||
BYCA_9_TPE1
|
||||
SND RCV
|
||||
BYB_LRPE1
|
||||
MCM07
|
||||
WBYB_JR1
|
||||
WBYC_JR1WBYA_JR1
|
||||
BYDB_2_FIO1
|
||||
BYDA_2_FIO1
|
||||
BYDC_2_FIO1BYDC_2_JPE1
|
||||
BYDA_2_JPE1
|
||||
BYDB_2_JPE1
|
||||
BYDB_3_TPE1BYDB_4_TPE1BYDB_5_TPE1BYDB_6_TPE1BYDB_7_TPE1BYDB_8_TPE1BYDB_9_JPE1
|
||||
BYDB_11_JPE1BYDB_13_TPE1BYDB_13_TPE2BYDB_14_TPE1
|
||||
BYDB_15_TPE1BYDB_16_TPE1
|
||||
BYDA_2_TPE1BYDA_3_TPE1BYDA_4_JPE1
|
||||
BYDA_6_TPE1
|
||||
BYDA_6_FIO1
|
||||
BYDA_6_JPE1BYDA_8_TPE1BYDA_8_FIO1BYDA_9_TPE1BYDA_8_TPE2BYDA_8_FIO2
|
||||
EPCBYDC_3_EPC1
|
||||
EPCBYDC_3_EPC2ABBRGBYDC_3_S1RBBGBYDC_3_S2BYDC_2_TPE1BYDC_3_TPE1BYDC_4_JPE1
|
||||
BYDC_6_FIO1
|
||||
BYDC_6_TPE1
|
||||
BYDC_6_JPE1
|
||||
BYDC_8_FIO1
|
||||
BYDC_8_TPE1
|
||||
EPCBYDC_8_EPC1
|
||||
EPCBYDC_8_EPC2ABB
|
||||
GBYDC_8_S2
|
||||
RBBGBYDC_8_S1RBYDC_8_TPE2BYDC_9_TPE1
|
||||
BYDC_10_TPE1BYDC_11_JPE1BYDC_13_TPE1
|
||||
BYDC_13_TPE2
|
||||
MCM07
|
||||
219
pdf_manifest_checker.py
Normal file
219
pdf_manifest_checker.py
Normal file
@ -0,0 +1,219 @@
|
||||
# pdf_manifest_checker.py
|
||||
|
||||
import csv
|
||||
import os
|
||||
from pypdf import PdfReader
|
||||
import sys
|
||||
import re # Import the regex module
|
||||
|
||||
def normalize(text):
|
||||
"""Normalize string for comparison: lowercase, treat '-' and '_' the same, remove all whitespace."""
|
||||
if not isinstance(text, str):
|
||||
return ""
|
||||
text = text.lower() # Convert to lowercase
|
||||
text = text.replace('-', '_') # Replace hyphens with underscores
|
||||
text = re.sub(r'\\s+', '', text) # Remove ALL whitespace characters
|
||||
return text
|
||||
|
||||
def read_aliases_from_manifest(csv_filepath, alias_column_name='Alias'):
|
||||
"""Reads the specified column from a CSV file into a set."""
|
||||
aliases = set()
|
||||
try:
|
||||
with open(csv_filepath, mode='r', newline='', encoding='utf-8') as infile:
|
||||
reader = csv.DictReader(infile)
|
||||
if alias_column_name not in reader.fieldnames:
|
||||
print(f"Error: Column '{alias_column_name}' not found in {csv_filepath}")
|
||||
print(f"Available columns: {', '.join(reader.fieldnames)}")
|
||||
return None
|
||||
for row in reader:
|
||||
alias = row[alias_column_name]
|
||||
if alias: # Add only non-empty aliases
|
||||
aliases.add(alias.strip())
|
||||
except FileNotFoundError:
|
||||
print(f"Error: Manifest file not found at {csv_filepath}")
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Error reading CSV file {csv_filepath}: {e}")
|
||||
return None
|
||||
return aliases
|
||||
|
||||
def extract_text_from_pdfs(pdf_folder, text_output_folder):
|
||||
"""
|
||||
Extracts text from all PDF files in a given folder, saves each to a .txt file,
|
||||
and returns the combined text of all PDFs.
|
||||
Checks for existing .txt files in text_output_folder to avoid reprocessing.
|
||||
"""
|
||||
all_pdf_text = ""
|
||||
if not os.path.isdir(pdf_folder):
|
||||
print(f"Error: PDF folder not found at {pdf_folder}")
|
||||
return None
|
||||
|
||||
# Ensure the output directory for text files exists
|
||||
os.makedirs(text_output_folder, exist_ok=True)
|
||||
print(f"Saving/reading extracted text files to/from: '{text_output_folder}'")
|
||||
|
||||
print(f"\nScanning PDF files in '{pdf_folder}'...")
|
||||
pdf_files_found = False
|
||||
processed_count = 0
|
||||
skipped_count = 0
|
||||
|
||||
for filename in os.listdir(pdf_folder):
|
||||
if filename.lower().endswith('.pdf'):
|
||||
pdf_files_found = True
|
||||
filepath = os.path.join(pdf_folder, filename)
|
||||
txt_filename = os.path.splitext(filename)[0] + '.txt'
|
||||
txt_filepath = os.path.join(text_output_folder, txt_filename)
|
||||
current_pdf_text = ""
|
||||
|
||||
# --- Check for existing .txt file ---
|
||||
if os.path.exists(txt_filepath):
|
||||
try:
|
||||
with open(txt_filepath, 'r', encoding='utf-8') as txt_file:
|
||||
current_pdf_text = txt_file.read()
|
||||
print(f" Skipping PDF processing for {filename}, using existing text from {txt_filename}.")
|
||||
all_pdf_text += current_pdf_text # Add text from file
|
||||
skipped_count += 1
|
||||
continue # Move to the next file in the pdf_folder
|
||||
except Exception as read_e:
|
||||
print(f" Warning: Could not read existing text file {txt_filename}. Will re-process PDF. Error: {read_e}")
|
||||
# --------------------------------------
|
||||
|
||||
# --- Process PDF if .txt doesn't exist or couldn't be read ---
|
||||
print(f" Processing PDF: {filename}...")
|
||||
processed_count += 1
|
||||
try:
|
||||
reader = PdfReader(filepath)
|
||||
for page_num, page in enumerate(reader.pages):
|
||||
try:
|
||||
page_text = page.extract_text()
|
||||
if page_text: # Append only if text was extracted
|
||||
current_pdf_text += page_text + "\n"
|
||||
except Exception as page_e:
|
||||
print(f" Warning: Could not extract text from page {page_num + 1} of {filename}. Error: {page_e}")
|
||||
|
||||
# Save newly extracted text to a corresponding .txt file
|
||||
if current_pdf_text:
|
||||
try:
|
||||
with open(txt_filepath, 'w', encoding='utf-8') as txt_file:
|
||||
txt_file.write(current_pdf_text)
|
||||
print(f" Saved extracted text to {txt_filename}")
|
||||
all_pdf_text += current_pdf_text # Add newly extracted text
|
||||
except Exception as write_e:
|
||||
print(f" Warning: Could not write text file {txt_filename}. Error: {write_e}")
|
||||
# Still add the text to all_pdf_text even if saving failed, so comparison can proceed
|
||||
all_pdf_text += current_pdf_text
|
||||
else:
|
||||
print(f" Warning: No text extracted from {filename}.")
|
||||
|
||||
except Exception as e:
|
||||
print(f" Error processing {filename}. Skipping this file. Error: {e}")
|
||||
# --- End PDF Processing ---
|
||||
|
||||
if not pdf_files_found:
|
||||
print(f"Warning: No PDF files found in the folder '{pdf_folder}'.")
|
||||
return "" # Return empty string if no PDFs found
|
||||
|
||||
print(f"\nPDF processing summary: Processed {processed_count} new PDFs, skipped {skipped_count} (used existing text files).")
|
||||
return all_pdf_text
|
||||
|
||||
def find_missing_aliases(aliases, pdf_text):
|
||||
"""Finds aliases from the set that are not present in the combined PDF text.
|
||||
Uses aggressive normalization (lowercase, - to _, no whitespace) on both
|
||||
the manifest alias and the entire PDF text, then performs a substring check.
|
||||
"""
|
||||
missing = set()
|
||||
if pdf_text is None or aliases is None:
|
||||
print("Error: Missing aliases or PDF text input.")
|
||||
return None # Propagate error state
|
||||
|
||||
# Normalize the entire PDF text blob once using the aggressive method
|
||||
print("Normalizing the combined PDF text...")
|
||||
normalized_pdf_text_blob = normalize(pdf_text)
|
||||
print("Normalization complete.")
|
||||
|
||||
# --- Debugging: Print a snippet of the normalized blob (Optional) ---
|
||||
# print(f"DEBUG: Length of normalized text blob: {len(normalized_pdf_text_blob)}")
|
||||
# snippet_length = 200
|
||||
# if len(normalized_pdf_text_blob) > snippet_length:
|
||||
# print(f"DEBUG: Start of normalized text blob: {normalized_pdf_text_blob[:snippet_length]}...")
|
||||
# else:
|
||||
# print(f"DEBUG: Normalized text blob: {normalized_pdf_text_blob}")
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
print("\nComparing normalized manifest aliases against normalized PDF text blob (substring check)...")
|
||||
for alias in aliases:
|
||||
# Normalize the current alias from the manifest using the same aggressive method
|
||||
normalized_alias_from_manifest = normalize(alias)
|
||||
|
||||
if not normalized_alias_from_manifest:
|
||||
# print(f"Skipping empty or invalid normalized alias derived from: '{alias}'")
|
||||
continue
|
||||
|
||||
# Check if the normalized manifest alias exists as a substring within the normalized text blob
|
||||
if normalized_alias_from_manifest not in normalized_pdf_text_blob:
|
||||
missing.add(alias) # Add the ORIGINAL alias if the substring was not found
|
||||
# --- Debugging: Print missing normalized alias (Optional) ---
|
||||
# print(f" -> Missing (normalized): {normalized_alias_from_manifest} (Original: {alias})")
|
||||
# -----------------------------------------------------------
|
||||
|
||||
return sorted(list(missing)) # Return sorted list for consistent output
|
||||
|
||||
if __name__ == "__main__":
|
||||
# --- Configuration ---
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
default_manifest_path = os.path.join(script_dir, 'MTN6 Equipment Manifest REV6(Conveyor List).csv')
|
||||
default_pdf_folder = os.path.join(script_dir, 'pdfs')
|
||||
default_text_output_folder = os.path.join(script_dir, 'extracted_texts')
|
||||
|
||||
manifest_file_path = default_manifest_path
|
||||
pdf_folder_path = default_pdf_folder
|
||||
text_output_folder_path = default_text_output_folder
|
||||
|
||||
if len(sys.argv) == 3:
|
||||
manifest_file_path = sys.argv[1]
|
||||
pdf_folder_path = sys.argv[2]
|
||||
# If args are provided, still save text relative to script/default location,
|
||||
# or you could add a third argument for the text output path.
|
||||
print("Using command-line paths for Manifest and PDFs.")
|
||||
print(f" Manifest: {manifest_file_path}")
|
||||
print(f" PDF Folder: {pdf_folder_path}")
|
||||
print(f" Text Output Folder: {text_output_folder_path} (Default)")
|
||||
elif len(sys.argv) != 1: # Check if incorrect number of args were given (but not zero extra)
|
||||
print("Usage: python pdf_manifest_checker.py [<path_to_manifest.csv> <path_to_pdf_folder>]")
|
||||
print("If no arguments are provided, default paths will be used.")
|
||||
sys.exit(1) # Exit if incorrect arguments
|
||||
else:
|
||||
# No arguments provided, use defaults
|
||||
print("Using default paths:")
|
||||
print(f" Manifest: {manifest_file_path}")
|
||||
print(f" PDF Folder: {pdf_folder_path}")
|
||||
print(f" Text Output Folder: {text_output_folder_path}")
|
||||
# ---------------------
|
||||
|
||||
aliases_from_manifest = read_aliases_from_manifest(manifest_file_path)
|
||||
|
||||
if aliases_from_manifest is not None:
|
||||
# Pass the output folder path to the extraction function
|
||||
extracted_text = extract_text_from_pdfs(pdf_folder_path, text_output_folder_path)
|
||||
|
||||
if extracted_text is not None:
|
||||
missing_names = find_missing_aliases(aliases_from_manifest, extracted_text)
|
||||
|
||||
if missing_names is not None:
|
||||
print("\n--- Report ---")
|
||||
if not missing_names:
|
||||
print("All aliases from the manifest were found in the combined PDF text.")
|
||||
else:
|
||||
print("The following aliases from the manifest were NOT found in the combined PDF text:")
|
||||
for name in missing_names:
|
||||
print(f"- {name}")
|
||||
print(f"\nTotal aliases in manifest: {len(aliases_from_manifest)}")
|
||||
print(f"Total missing aliases: {len(missing_names)}")
|
||||
else:
|
||||
print("\nComparison could not be completed due to previous errors.")
|
||||
else:
|
||||
print("\nText extraction failed or produced no text. Cannot proceed with comparison.")
|
||||
else:
|
||||
print("\nManifest reading failed. Cannot proceed.")
|
||||
|
||||
print("\nScript finished.")
|
||||
BIN
pdfs/MTN6_SYSDL-MCM01.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM01.pdf
Normal file
Binary file not shown.
BIN
pdfs/MTN6_SYSDL-MCM02.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM02.pdf
Normal file
Binary file not shown.
BIN
pdfs/MTN6_SYSDL-MCM03.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM03.pdf
Normal file
Binary file not shown.
BIN
pdfs/MTN6_SYSDL-MCM04.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM04.pdf
Normal file
Binary file not shown.
BIN
pdfs/MTN6_SYSDL-MCM05.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM05.pdf
Normal file
Binary file not shown.
BIN
pdfs/MTN6_SYSDL-MCM06.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM06.pdf
Normal file
Binary file not shown.
BIN
pdfs/MTN6_SYSDL-MCM07.pdf
Normal file
BIN
pdfs/MTN6_SYSDL-MCM07.pdf
Normal file
Binary file not shown.
@ -3,13 +3,13 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Ignition SCADA Progress Monitor</title>
|
||||
<title>Ignition SCADA & Drawing Progress Monitor</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
<style>
|
||||
body { padding: 20px; padding-bottom: 60px; /* Account for status bar */ }
|
||||
.progress-container, .chart-container {
|
||||
margin-bottom: 25px;
|
||||
.progress-container, .chart-container {
|
||||
margin-bottom: 25px;
|
||||
text-align: center; /* Center chart labels */
|
||||
}
|
||||
.chart-label {
|
||||
@ -28,20 +28,8 @@
|
||||
font-size: 0.9em;
|
||||
z-index: 1000;
|
||||
}
|
||||
/* Style for the overall progress bar */
|
||||
.overall-progress-bar {
|
||||
height: 25px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
.progress-bar-label {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 25px; /* Match overall progress bar height */
|
||||
color: white; /* Or black, depending on bar color */
|
||||
mix-blend-mode: difference; /* Improve visibility */
|
||||
font-weight: bold;
|
||||
}
|
||||
/* Style for the overall progress bar - Removed as using Pie chart */
|
||||
|
||||
/* Style for panel charts */
|
||||
.panel-chart-canvas {
|
||||
max-width: 150px; /* Control pie chart size */
|
||||
@ -55,18 +43,20 @@
|
||||
gap: 20px;
|
||||
}
|
||||
.modal-body table { width: 100%; }
|
||||
.modal-body th, .modal-body td { padding: 5px 10px; border-bottom: 1px solid #eee; }
|
||||
.modal-body th, .modal-body td { padding: 5px 10px; border-bottom: 1px solid #eee; vertical-align: middle; }
|
||||
.modal-body th { background-color: #f8f9fa; text-align: left; }
|
||||
.status-yes { color: green; font-weight: bold; }
|
||||
.status-no { color: red; font-weight: bold; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1 class="mb-4">SCADA Device Placement Progress</h1>
|
||||
<h1 class="mb-4">SCADA & Drawing Device Placement Progress</h1>
|
||||
|
||||
<div id="overall-progress" class="chart-container">
|
||||
<span class="chart-label">Overall Progress</span>
|
||||
<canvas id="overall-chart-canvas" class="panel-chart-canvas" style="max-width: 200px; max-height: 200px;"></canvas>
|
||||
<div id="overall-text" style="font-weight: bold; margin-top: 10px;">0/0 (0%)</div>
|
||||
<div id="overall-text" style="font-weight: bold; margin-top: 10px;">Found Both: 0/0 (0%)</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
@ -85,7 +75,7 @@
|
||||
|
||||
<!-- Bootstrap Modal for Details -->
|
||||
<div class="modal fade" id="detailsModal" tabindex="-1" aria-labelledby="detailsModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-dialog modal-xl">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="detailsModalLabel">Details for Panel: <span></span></h5>
|
||||
@ -96,6 +86,10 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Alias</th>
|
||||
<th>Panel</th>
|
||||
<th>SCADA Status</th>
|
||||
<th>Drawing Status</th>
|
||||
<th>Expected Drawing File</th>
|
||||
<th>Equipment Type</th>
|
||||
<th>Type of Conveyor</th>
|
||||
</tr>
|
||||
@ -114,104 +108,140 @@
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
let chartInstances = {};
|
||||
// Store the *entire* progress object now
|
||||
let progressDetailsData = {};
|
||||
let chartInstances = {};
|
||||
let progressDetailsData = {};
|
||||
let detailsModalInstance = null;
|
||||
|
||||
// --- Chart Click Handler ---
|
||||
// Define labels and colors consistently
|
||||
const chartLabels = ['Found Both', 'SCADA Only', 'Drawing Only', 'Missing Both'];
|
||||
const chartColors = [
|
||||
'rgb(25, 135, 84)', // Green (Found Both)
|
||||
'rgb(13, 202, 240)', // Cyan (SCADA Only)
|
||||
'rgb(255, 193, 7)', // Yellow (Drawing Only)
|
||||
'rgb(220, 53, 69)' // Red (Missing Both)
|
||||
];
|
||||
const listKeys = ['found_both_list', 'found_scada_only_list', 'found_drawing_only_list', 'missing_list'];
|
||||
|
||||
// --- Chart Click Handler (Updated) ---
|
||||
function handleChartClick(event, elements, chart) {
|
||||
if (elements.length > 0) {
|
||||
const clickedElementIndex = elements[0].index;
|
||||
// Check if the clicked chart is the overall chart
|
||||
const isOverallChart = chart.canvas.id === 'overall-chart-canvas';
|
||||
// Determine panelName or use a special key for overall
|
||||
const identifier = isOverallChart ? '__overall__' : chart.canvas.id.replace('chart-', '');
|
||||
|
||||
if (clickedElementIndex === 0) { // Clicked on 'Found' segment
|
||||
showDetailsModal(identifier, 'found');
|
||||
} else if (clickedElementIndex === 1) { // Clicked on 'Missing' segment
|
||||
showDetailsModal(identifier, 'missing');
|
||||
const identifier = isOverallChart ? '__overall__' : chart.canvas.id.replace('chart-', '');
|
||||
|
||||
// Map clicked index to the correct list type/key
|
||||
if (clickedElementIndex >= 0 && clickedElementIndex < listKeys.length) {
|
||||
const listType = listKeys[clickedElementIndex];
|
||||
showDetailsModal(identifier, listType);
|
||||
} else {
|
||||
console.warn("Clicked unknown chart segment index:", clickedElementIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function updateUI(data) {
|
||||
// --- UI Update Function (Heavily Updated) ---
|
||||
function updateUI(data) {
|
||||
console.log("Updating UI with data:", data);
|
||||
progressDetailsData = data.progress;
|
||||
|
||||
// Store the entire progress object
|
||||
progressDetailsData = data.progress;
|
||||
|
||||
// Update status
|
||||
// Update status bar
|
||||
document.getElementById('status-message').textContent = data.status;
|
||||
document.getElementById('last-commit').textContent = data.last_commit || 'N/A';
|
||||
|
||||
// Update overall progress chart
|
||||
const overallData = progressDetailsData.overall; // Use stored data
|
||||
const overallPercentage = overallData.percentage;
|
||||
const overallFound = overallData.total_csv - overallData.missing;
|
||||
const overallMissing = overallData.missing;
|
||||
// --- Update Overall Chart & Text ---
|
||||
const overallData = progressDetailsData.overall;
|
||||
const overallTotal = overallData.total_csv;
|
||||
document.getElementById('overall-text').textContent = `${overallFound}/${overallTotal} (${overallPercentage}%)`;
|
||||
const overallChartData = { labels: ['Found', 'Missing'], datasets: [{ label: 'Overall Aliases', data: [overallFound, overallMissing], backgroundColor: ['rgb(25, 135, 84)', 'rgb(220, 53, 69)'], hoverOffset: 4 }] };
|
||||
|
||||
const overallChartCounts = [
|
||||
overallData.found_both,
|
||||
overallData.found_scada_only,
|
||||
overallData.found_drawing_only,
|
||||
overallData.missing_both
|
||||
];
|
||||
// Update text (showing found both %)
|
||||
document.getElementById('overall-text').textContent = `Found Both: ${overallData.found_both}/${overallTotal} (${overallData.percentage_found_both}%)`;
|
||||
|
||||
const overallChartConfig = {
|
||||
type: 'pie',
|
||||
data: {
|
||||
labels: chartLabels,
|
||||
datasets: [{
|
||||
label: 'Overall Aliases',
|
||||
data: overallChartCounts,
|
||||
backgroundColor: chartColors,
|
||||
hoverOffset: 4
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
onClick: handleChartClick,
|
||||
plugins: {
|
||||
legend: { display: false },
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function(context) {
|
||||
let label = context.label || '';
|
||||
if (label) label += ': ';
|
||||
const value = context.parsed;
|
||||
if (value !== null) label += value;
|
||||
if (overallTotal > 0) {
|
||||
label += ` (${((value / overallTotal) * 100).toFixed(1)}%)`;
|
||||
}
|
||||
return label;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const overallCanvas = document.getElementById('overall-chart-canvas');
|
||||
if (chartInstances['overall']) {
|
||||
chartInstances['overall'].data = overallChartData;
|
||||
chartInstances['overall'].data = overallChartConfig.data;
|
||||
chartInstances['overall'].update();
|
||||
} else if (overallCanvas) {
|
||||
const ctxOverall = overallCanvas.getContext('2d');
|
||||
chartInstances['overall'] = new Chart(ctxOverall, {
|
||||
type: 'pie', data: overallChartData,
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
onClick: handleChartClick, // <-- Add click handler to overall chart
|
||||
plugins: {
|
||||
legend: { display: false },
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function(context) {
|
||||
let label = context.label || '';
|
||||
if (label) label += ': ';
|
||||
if (context.parsed !== null) label += context.parsed;
|
||||
if (overallTotal > 0) { label += ` (${((context.parsed / overallTotal) * 100).toFixed(1)}%)`; }
|
||||
return label;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
chartInstances['overall'] = new Chart(ctxOverall, overallChartConfig);
|
||||
}
|
||||
|
||||
// Update panel charts
|
||||
// --- Update Panel Charts ---
|
||||
const panelsContainer = document.getElementById('panels-progress');
|
||||
const panelsData = progressDetailsData.panels; // Use stored data
|
||||
const panelsData = progressDetailsData.panels;
|
||||
const sortedPanels = Object.keys(panelsData).sort();
|
||||
const currentPanels = new Set(sortedPanels);
|
||||
const existingPanelCharts = new Set(Object.keys(chartInstances).filter(k => k !== 'overall'));
|
||||
const currentPanelsOnPage = new Set(Object.keys(chartInstances).filter(k => k !== 'overall'));
|
||||
const incomingPanels = new Set(sortedPanels);
|
||||
|
||||
existingPanelCharts.forEach(panelName => {
|
||||
if (!currentPanels.has(panelName)) {
|
||||
// Remove charts for panels no longer present
|
||||
currentPanelsOnPage.forEach(panelName => {
|
||||
if (!incomingPanels.has(panelName)) {
|
||||
if(chartInstances[panelName]) { chartInstances[panelName].destroy(); delete chartInstances[panelName]; }
|
||||
const chartElement = document.getElementById(`chart-container-${panelName}`);
|
||||
if (chartElement) chartElement.remove();
|
||||
}
|
||||
});
|
||||
|
||||
// Update or create charts for current panels
|
||||
if (sortedPanels.length === 0) {
|
||||
panelsContainer.innerHTML = '<p>No panel data available yet.</p>';
|
||||
panelsContainer.innerHTML = '<p>No panel data available yet.</p>';
|
||||
} else {
|
||||
// Remove loading message if it exists
|
||||
const loadingMsg = panelsContainer.querySelector('p');
|
||||
if (loadingMsg && loadingMsg.textContent.includes('Loading')) { loadingMsg.remove(); }
|
||||
|
||||
sortedPanels.forEach(panelName => {
|
||||
const panel = panelsData[panelName];
|
||||
const found = panel.total - panel.missing;
|
||||
const missing = panel.missing;
|
||||
const total = panel.total;
|
||||
const panelTotal = panel.total;
|
||||
const panelChartCounts = [
|
||||
panel.found_both,
|
||||
panel.found_scada_only,
|
||||
panel.found_drawing_only,
|
||||
panel.missing_both
|
||||
];
|
||||
|
||||
let chartContainer = document.getElementById(`chart-container-${panelName}`);
|
||||
let canvas = document.getElementById(`chart-${panelName}`);
|
||||
|
||||
// Create container and canvas if they don't exist
|
||||
if (!chartContainer) {
|
||||
chartContainer = document.createElement('div');
|
||||
chartContainer.id = `chart-container-${panelName}`;
|
||||
@ -224,116 +254,125 @@
|
||||
chartContainer.appendChild(label);
|
||||
chartContainer.appendChild(canvas);
|
||||
panelsContainer.appendChild(chartContainer);
|
||||
const loadingMsg = panelsContainer.querySelector('p');
|
||||
if (loadingMsg && loadingMsg.textContent.includes('Loading')) { loadingMsg.remove(); }
|
||||
} else {
|
||||
if (!canvas) {
|
||||
canvas = document.createElement('canvas');
|
||||
canvas.id = `chart-${panelName}`;
|
||||
canvas.className = 'panel-chart-canvas';
|
||||
chartContainer.appendChild(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
const chartData = { labels: ['Found', 'Missing'], datasets: [{ label: 'Aliases', data: [found, missing], backgroundColor: ['rgb(25, 135, 84)', 'rgb(220, 53, 69)'], hoverOffset: 4 }] };
|
||||
|
||||
if (chartInstances[panelName]) {
|
||||
chartInstances[panelName].data = chartData;
|
||||
chartInstances[panelName].update();
|
||||
} else if (canvas) {
|
||||
const ctx = canvas.getContext('2d');
|
||||
chartInstances[panelName] = new Chart(ctx, {
|
||||
type: 'pie',
|
||||
data: chartData,
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
onClick: handleChartClick,
|
||||
plugins: {
|
||||
legend: { display: false },
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function(context) {
|
||||
let label = context.label || '';
|
||||
if (label) label += ': ';
|
||||
if (context.parsed !== null) label += context.parsed;
|
||||
if (total > 0) { label += ` (${((context.parsed / total) * 100).toFixed(1)}%)`; }
|
||||
return label;
|
||||
|
||||
const panelChartConfig = {
|
||||
type: 'pie',
|
||||
data: {
|
||||
labels: chartLabels,
|
||||
datasets: [{
|
||||
label: 'Aliases',
|
||||
data: panelChartCounts,
|
||||
backgroundColor: chartColors,
|
||||
hoverOffset: 4
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
onClick: handleChartClick,
|
||||
plugins: {
|
||||
legend: { display: false },
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function(context) {
|
||||
let label = context.label || '';
|
||||
if (label) label += ': ';
|
||||
const value = context.parsed;
|
||||
if (value !== null) label += value;
|
||||
if (panelTotal > 0) {
|
||||
label += ` (${((value / panelTotal) * 100).toFixed(1)}%)`;
|
||||
}
|
||||
return label;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Update existing chart or create new one
|
||||
if (chartInstances[panelName]) {
|
||||
chartInstances[panelName].data = panelChartConfig.data;
|
||||
chartInstances[panelName].update();
|
||||
} else if (canvas) {
|
||||
const ctx = canvas.getContext('2d');
|
||||
chartInstances[panelName] = new Chart(ctx, panelChartConfig);
|
||||
}
|
||||
});
|
||||
const loadingMsgCheck = panelsContainer.querySelector('p');
|
||||
if (loadingMsgCheck && loadingMsgCheck.textContent.includes('Loading')) {
|
||||
loadingMsgCheck.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Updated function to handle overall chart clicks
|
||||
function showDetailsModal(identifier, listType) {
|
||||
let dataList = null;
|
||||
let panelName = identifier; // Default to identifier being the panel name
|
||||
const listTypeName = (listType === 'found') ? 'Found' : 'Missing';
|
||||
|
||||
// --- Modal Display Function (Heavily Updated) ---
|
||||
function showDetailsModal(identifier, listKey) {
|
||||
let sourceData = null;
|
||||
let panelNameDisplay = ""; // Name to show in the title
|
||||
const listTypeLabel = chartLabels[listKeys.indexOf(listKey)] || "Details"; // Get nice label
|
||||
|
||||
if (identifier === '__overall__') {
|
||||
// Handle overall chart click
|
||||
const overallData = progressDetailsData.overall;
|
||||
dataList = (listType === 'found') ? overallData.found_list : overallData.missing_list;
|
||||
panelName = "Overall"; // Set display name for modal title
|
||||
sourceData = progressDetailsData.overall;
|
||||
panelNameDisplay = "Overall";
|
||||
} else {
|
||||
// Handle panel chart click
|
||||
const panelData = progressDetailsData.panels[identifier]; // Use identifier as panelName
|
||||
if (panelData) {
|
||||
dataList = (listType === 'found') ? panelData.found_list : panelData.missing_list;
|
||||
} else {
|
||||
console.error("Panel data not found for identifier:", identifier);
|
||||
return; // Exit if panel data doesn't exist
|
||||
}
|
||||
sourceData = progressDetailsData.panels[identifier];
|
||||
panelNameDisplay = identifier; // Use panel name from identifier
|
||||
}
|
||||
|
||||
|
||||
if (!sourceData || !sourceData[listKey]) {
|
||||
console.error("Data list not found for:", identifier, listKey);
|
||||
alert(`Could not find data for ${listTypeLabel} in ${panelNameDisplay}.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const dataList = sourceData[listKey];
|
||||
|
||||
if (!dataList || dataList.length === 0) {
|
||||
console.log(`No ${listTypeName} items to show for:`, panelName);
|
||||
alert(`No ${listTypeName} items found for ${panelName}.`);
|
||||
return;
|
||||
console.log(`No items to show for:`, panelNameDisplay, listKey);
|
||||
alert(`No ${listTypeLabel} items found for ${panelNameDisplay}.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const modalTitleElement = document.getElementById('detailsModalLabel');
|
||||
const modalTitleSpan = modalTitleElement.querySelector('span');
|
||||
const modalTableBody = document.querySelector('#detailsModal .modal-body tbody');
|
||||
|
||||
// Update modal title
|
||||
modalTitleElement.childNodes[0].nodeValue = `${listTypeName} Items for ${panelName}: `;
|
||||
modalTitleSpan.textContent = ""; // Clear the span if using the main text
|
||||
// Or, if keeping the span: modalTitleSpan.textContent = panelName;
|
||||
// Update modal title dynamically
|
||||
modalTitleElement.innerHTML = `${listTypeLabel} Items for ${panelNameDisplay} <span class="badge bg-secondary ms-2">${dataList.length}</span>`;
|
||||
|
||||
modalTableBody.innerHTML = ''; // Clear previous entries
|
||||
|
||||
// Populate table rows with detailed info
|
||||
dataList.forEach(item => {
|
||||
const row = document.createElement('tr');
|
||||
const aliasCell = document.createElement('td');
|
||||
aliasCell.textContent = item.alias;
|
||||
row.appendChild(aliasCell);
|
||||
const eqTypeCell = document.createElement('td');
|
||||
eqTypeCell.textContent = item.equipment_type || 'N/A';
|
||||
row.appendChild(eqTypeCell);
|
||||
const convTypeCell = document.createElement('td');
|
||||
convTypeCell.textContent = item.conveyor_type || 'N/A';
|
||||
row.appendChild(convTypeCell);
|
||||
|
||||
row.insertCell().textContent = item.alias;
|
||||
row.insertCell().textContent = item.control_panel;
|
||||
|
||||
// SCADA Status Cell
|
||||
const scadaCell = row.insertCell();
|
||||
scadaCell.innerHTML = item.found_scada
|
||||
? '<span class="status-yes">Yes</span>'
|
||||
: '<span class="status-no">No</span>';
|
||||
|
||||
// Drawing Status Cell
|
||||
const drawingCell = row.insertCell();
|
||||
drawingCell.innerHTML = item.found_drawing
|
||||
? '<span class="status-yes">Yes</span>'
|
||||
: '<span class="status-no">No</span>';
|
||||
|
||||
row.insertCell().textContent = item.expected_drawing_filename || 'N/A';
|
||||
row.insertCell().textContent = item.equipment_type || 'N/A';
|
||||
row.insertCell().textContent = item.conveyor_type || 'N/A';
|
||||
|
||||
modalTableBody.appendChild(row);
|
||||
});
|
||||
|
||||
if (!detailsModalInstance) {
|
||||
|
||||
// Initialize and show modal
|
||||
if (!detailsModalInstance) {
|
||||
detailsModalInstance = new bootstrap.Modal(document.getElementById('detailsModal'));
|
||||
}
|
||||
}
|
||||
detailsModalInstance.show();
|
||||
}
|
||||
|
||||
// --- Connect to SSE stream ---
|
||||
// --- Connect to SSE stream (Unchanged) ---
|
||||
const eventSource = new EventSource("/stream");
|
||||
|
||||
eventSource.onmessage = function(event) {
|
||||
@ -350,19 +389,11 @@
|
||||
eventSource.onerror = function(err) {
|
||||
console.error("EventSource failed:", err);
|
||||
document.getElementById('status-message').textContent = 'Connection to server lost. Retrying...';
|
||||
// Note: browser usually attempts reconnection automatically
|
||||
};
|
||||
|
||||
// Initial fetch remains the same
|
||||
fetch('/stream').then(response => {
|
||||
if (!response.ok) {
|
||||
console.error("Initial fetch failed", response.statusText);
|
||||
document.getElementById('status-message').textContent = 'Failed to fetch initial data.';
|
||||
}
|
||||
}).catch(err => {
|
||||
console.error("Error during initial fetch for stream setup:", err);
|
||||
document.getElementById('status-message').textContent = 'Error setting up data stream.';
|
||||
});
|
||||
|
||||
|
||||
// No need for initial fetch here, SSE stream sends initial state on connect
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
x
Reference in New Issue
Block a user