Files
ant-vision-inspector/plc/plc_client.py
2026-06-10 16:18:41 +09:00

47 lines
1.2 KiB
Python

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