feat: 초기 프로젝트 구조 추가
This commit is contained in:
46
plc/plc_client.py
Normal file
46
plc/plc_client.py
Normal file
@@ -0,0 +1,46 @@
|
||||
from pymelsec import Type3E
|
||||
|
||||
|
||||
class PLCClient:
|
||||
def __init__(self):
|
||||
self.plc = None
|
||||
self._ip = ""
|
||||
self._port = 5010
|
||||
self._connected = False
|
||||
|
||||
def connect(self, ip: str, port: int = 5010) -> bool:
|
||||
try:
|
||||
self._ip = ip
|
||||
self._port = port
|
||||
self.plc = Type3E(host=ip, port=port, plc_type="Q")
|
||||
self.plc.connect(ip, port)
|
||||
self._connected = True
|
||||
print(f"[PLC] 연결 성공: {ip}:{port}")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"[PLC] 연결 실패: {e}")
|
||||
self._connected = False
|
||||
self.plc = None
|
||||
return False
|
||||
|
||||
def disconnect(self):
|
||||
try:
|
||||
if self.plc:
|
||||
self.plc.close()
|
||||
print("[PLC] 연결 해제")
|
||||
except Exception as e:
|
||||
print(f"[PLC] 연결 해제 오류: {e}")
|
||||
finally:
|
||||
self.plc = None
|
||||
self._connected = False
|
||||
|
||||
def is_connected(self) -> bool:
|
||||
return self._connected
|
||||
|
||||
def send_signal(self, signal: str, value=None):
|
||||
"""신호 전송 — 미구현"""
|
||||
pass
|
||||
|
||||
def read_signal(self, address: str):
|
||||
"""신호 읽기 — 미구현"""
|
||||
pass
|
||||
Reference in New Issue
Block a user