163 lines
7.9 KiB
Python
163 lines
7.9 KiB
Python
import sqlite3
|
|
|
|
def create_abbreviation_table():
|
|
"""약어 테이블을 생성하고 샘플 데이터를 삽입합니다."""
|
|
conn = sqlite3.connect('fault_codes.db')
|
|
cursor = conn.cursor()
|
|
|
|
# 테이블 생성
|
|
cursor.execute('''
|
|
CREATE TABLE IF NOT EXISTS abbreviations (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
abbreviation TEXT NOT NULL,
|
|
description TEXT NOT NULL
|
|
)
|
|
''')
|
|
|
|
# 기존 데이터 삭제
|
|
cursor.execute("DELETE FROM abbreviations")
|
|
|
|
# 샘플 데이터 삽입
|
|
sample_data = [
|
|
('APS', '공기압력센서(Air Pressure Sensor)'),
|
|
('ATC', '자동 열차 제어(Automatic Train Control)'),
|
|
('ATP', '자동 열차 보호(Automatic Train Protection)'),
|
|
('ATO', '자동 열차 운행(Automatic Train Operation)'),
|
|
('BCP', '제동 제어 유닛(Brake Control Unit)'),
|
|
('CBC', '중앙 버퍼 커플러(Central Buffer Coupler)'),
|
|
('CCU', '중앙 제어 유닛(Central Control Unit)'),
|
|
('CCTV', '폐쇄회로 TV(Closed Circuit Television)'),
|
|
('CO', '컴프레서(Compressor)'),
|
|
('CPU', '중앙 처리 장치(Central Processing Unit)'),
|
|
('CU', '제어 유닛(Control Unit)'),
|
|
('DCDC', 'DC-DC 컨버터(DC-DC Converter)'),
|
|
('DI', '디지털 입력(Digital Input)'),
|
|
('DO', '디지털 출력(Digital Output)'),
|
|
('ELR', '전자식 부하 조절기(Electronic Load Regulator)'),
|
|
('ETCS', '유럽 열차 제어 시스템(European Train Control System)'),
|
|
('HVAC', '냉난방 장치(Heating, Ventilation, Air Conditioning)'),
|
|
('IPS', '무정전 전원 공급 장치(Interruption Power Supply)'),
|
|
('JRU', '법적 기록 장치(Juridical Recording Unit)'),
|
|
('LCD', '액정 디스플레이(Liquid Crystal Display)'),
|
|
('LED', '발광 다이오드(Light Emitting Diode)'),
|
|
('MU', '다중 장치(Multiple Unit)'),
|
|
('PCB', '인쇄 회로 기판(Printed Circuit Board)'),
|
|
('PIS', '승객 정보 시스템(Passenger Information System)'),
|
|
('SIV', '정지형 인버터(Static Inverter)'),
|
|
('TCMS', '열차 제어 관리 시스템(Train Control Management System)'),
|
|
('TFT', '박막 트랜지스터(Thin Film Transistor)'),
|
|
('VCB', '진공 차단기(Vacuum Circuit Breaker)')
|
|
]
|
|
|
|
cursor.executemany("INSERT INTO abbreviations (abbreviation, description) VALUES (?, ?)", sample_data)
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
print("약어 테이블이 생성되었습니다.")
|
|
|
|
def create_drawing_table():
|
|
"""도면 테이블을 생성하고 샘플 데이터를 삽입합니다."""
|
|
conn = sqlite3.connect('fault_codes.db')
|
|
cursor = conn.cursor()
|
|
|
|
# 테이블 생성
|
|
cursor.execute('''
|
|
CREATE TABLE IF NOT EXISTS drawings (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
drawing_code TEXT NOT NULL,
|
|
drawing_name TEXT NOT NULL,
|
|
related_device TEXT,
|
|
drawing_path TEXT
|
|
)
|
|
''')
|
|
|
|
# 기존 데이터 삭제
|
|
cursor.execute("DELETE FROM drawings")
|
|
|
|
# 샘플 데이터 삽입
|
|
sample_data = [
|
|
('DRW-001', '주회로도', 'TCMS', None),
|
|
('DRW-002', '보조전원장치', 'SIV', None),
|
|
('DRW-003', '배터리 충전기', 'Battery Charger', None),
|
|
('DRW-004', '인버터 회로도', 'Inverter', None),
|
|
('DRW-005', '제동장치 회로도', 'Brake System', None),
|
|
('DRW-006', '공기압축기 회로도', 'Compressor', None),
|
|
('DRW-007', '자동문 제어 회로도', 'Door Control', None),
|
|
('DRW-008', '객실 공조장치', 'HVAC', None),
|
|
('DRW-009', '운전실 공조장치', 'Driver HVAC', None),
|
|
('DRW-010', '열차 정보 시스템', 'PIS', None),
|
|
('DRW-011', '승객 안내 시스템', 'PA System', None),
|
|
('DRW-012', '열차 방송 시스템', 'Broadcast System', None),
|
|
('DRW-013', '비상 인터폰', 'Emergency Interphone', None),
|
|
('DRW-014', '차량 연결 장치', 'Coupler System', None),
|
|
('DRW-015', '집전장치', 'Pantograph', None)
|
|
]
|
|
|
|
cursor.executemany("INSERT INTO drawings (drawing_code, drawing_name, related_device, drawing_path) VALUES (?, ?, ?, ?)", sample_data)
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
print("도면 테이블이 생성되었습니다.")
|
|
|
|
def create_signal_table():
|
|
"""신호 테이블을 생성하고 샘플 데이터를 삽입합니다."""
|
|
conn = sqlite3.connect('fault_codes.db')
|
|
cursor = conn.cursor()
|
|
|
|
# 테이블 생성
|
|
cursor.execute('''
|
|
CREATE TABLE IF NOT EXISTS signals (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
signal_code TEXT NOT NULL,
|
|
signal_name TEXT NOT NULL,
|
|
signal_type TEXT NOT NULL,
|
|
description TEXT,
|
|
source TEXT,
|
|
destination TEXT,
|
|
unit TEXT,
|
|
value_range TEXT
|
|
)
|
|
''')
|
|
|
|
# 기존 데이터 삭제
|
|
cursor.execute("DELETE FROM signals")
|
|
|
|
# 샘플 데이터 삽입
|
|
sample_data = [
|
|
('SIG001', '객실 온도', 'AI', '객실 내부 온도', 'HVAC 센서', 'TCMS', '°C', '-10~50'),
|
|
('SIG002', '운전실 온도', 'AI', '운전실 내부 온도', 'HVAC 센서', 'TCMS', '°C', '-10~50'),
|
|
('SIG003', '팬 속도', 'AI', '공조장치 팬 속도', 'HVAC 제어장치', 'TCMS', 'RPM', '0~2000'),
|
|
('SIG004', '문 열림 상태', 'DI', '객실문 열림/닫힘 상태', '문 제어장치', 'TCMS', 'Boolean', '0/1'),
|
|
('SIG005', '비상 브레이크', 'DI', '비상 제동 적용 여부', '제동 제어장치', 'TCMS', 'Boolean', '0/1'),
|
|
('SIG006', '팬토그래프 상태', 'DI', '팬토그래프 접촉 상태', '팬토그래프 제어장치', 'TCMS', 'Boolean', '0/1'),
|
|
('SIG007', '모터 전류', 'AI', '견인 모터 전류', '인버터', 'TCMS', 'A', '0~1000'),
|
|
('SIG008', '배터리 전압', 'AI', '배터리 전압', '배터리 관리 시스템', 'TCMS', 'V', '24~29'),
|
|
('SIG009', '냉각수 온도', 'AI', '견인 모터 냉각수 온도', '냉각 시스템', 'TCMS', '°C', '0~100'),
|
|
('SIG010', '차량 속도', 'AI', '차량 주행 속도', '속도 센서', 'TCMS', 'km/h', '0~120'),
|
|
('SIG011', '팬토그래프 압력', 'AI', '팬토그래프 공기압', '공기압 센서', 'TCMS', 'bar', '0~10'),
|
|
('SIG012', '주 공기통 압력', 'AI', '주 공기통 압력', '공기압 센서', 'TCMS', 'bar', '0~12'),
|
|
('SIG013', '보조 공기통 압력', 'AI', '보조 공기통 압력', '공기압 센서', 'TCMS', 'bar', '0~12'),
|
|
('SIG014', '제동 실린더 압력', 'AI', '제동 실린더 압력', '공기압 센서', 'TCMS', 'bar', '0~5'),
|
|
('SIG015', '비상 경보', 'DO', '비상 경보 상태', 'TCMS', '경보 장치', 'Boolean', '0/1'),
|
|
('SIG016', '객실 조명 상태', 'DO', '객실 조명 켜짐/꺼짐', 'TCMS', '조명 제어장치', 'Boolean', '0/1'),
|
|
('SIG017', '운전실 조명 상태', 'DO', '운전실 조명 켜짐/꺼짐', 'TCMS', '조명 제어장치', 'Boolean', '0/1'),
|
|
('SIG018', '외부 조명 상태', 'DO', '외부 조명 켜짐/꺼짐', 'TCMS', '조명 제어장치', 'Boolean', '0/1'),
|
|
('SIG019', '컴프레서 상태', 'DO', '컴프레서 동작 상태', 'TCMS', '컴프레서 제어장치', 'Boolean', '0/1'),
|
|
('SIG020', '견인 동력 설정', 'AO', '견인 동력 설정 값', 'TCMS', '인버터', '%', '0~100')
|
|
]
|
|
|
|
cursor.executemany("""
|
|
INSERT INTO signals (
|
|
signal_code, signal_name, signal_type, description,
|
|
source, destination, unit, value_range
|
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
""", sample_data)
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
print("신호 테이블이 생성되었습니다.")
|
|
|
|
if __name__ == "__main__":
|
|
create_abbreviation_table()
|
|
create_drawing_table()
|
|
create_signal_table() |