Python(17)
-
OPC UA 서버의 ns(네임스페이스)를 알 수 없는 상황 ( feat. python )
1. 상황 개요 스마트팩토리 프로젝트에서 데이터를 수집하는 과정은 전체 시스템의 효율성과 성능을 향상시키는 핵심 분석 요소이다. 이 데이터는 공정 모니터링, 예측 유지보수, 품질 관리 등 다양한 목적으로 사용되고 활용이 된다. 하지만, 네임스페이스를 관리하지 않아, 수집에 어려움이 있는 경우가 있다. 이러한 경우를 해결하는 방안을 이번 글에서 제시하겠다. 나는 주로 python를 활용해서 문제를 해결해 나간다. 2. 도전 상황: 네임 스페이스 미확인 개발자가 특정 PLC의 TAG ID(태그 식별자) 목록만 전달받는 경우가 종종 있다. 이런 경우 OPC UA 서버 내 어떤 네임 스페이스를 몰라서 수집을 못 할 수 있다. 이런 경우 해결 방법을 제시하겠다. 3. 발생 원인 이러한 상황은 주로 프로젝트 초기 ..
2024.03.27 -
OPC UA에서 데이터 읽어 오기 ( feat. Python )
Python은 다양한 라이브러리와 간결한 문법으로 인해 산업 자동화 시스템에서 OPC UA 클라이언트 개발에 널리 사용된다. opcua 라이브러리는 Python에서 OPC UA 서버와의 통신을 쉽게 구현할 수 있도록 해준다. 오늘은 관련 예제를 정리할 예정이다. 0. 설치 먼저, 필요한 라이브러리를 설치해야 한다.. opcua 라이브러리가 설치되어 있지 않다면, 다음 명령어를 사용하여 설치하면 된다. pip install opcua 1. 기본 데이터 읽기 opc 서버에서 하나의 값은 한번 가지고 오는 방법이다. from opcua import Client server_url = "opc.tcp://localhost:4840" client = Client(server_url) try: client.conn..
2024.03.22 -
Streamlit을 활용한 아이리스 데이터 시각화와 머신러닝 분석 ( 상관관계 분석 포함 )
Streamlit은 파이썬으로 데이터 과학 및 머신러닝 모델을 웹 애플리케이션으로 변환하기 위한 간단하고 빠른 방법을 제공합니다. 이 블로그 글에서는 Streamlit의 기능과 장점에 대해 알아보고, 관련 샘플 코드를 제공하겠습니다. 1. Streamlit 소개 Streamlit은 파이썬으로 작성된 간단한 코드로 데이터 시각화 및 웹 애플리케이션을 빠르게 만들 수 있는 오픈 소스 라이브러리입니다. 주요 특징은 다음과 같습니다. 간단한 문법: Streamlit은 사용자 친화적인 문법을 제공하여 개발자가 빠르게 웹 애플리케이션을 구축할 수 있습니다. 자동 재로딩: 코드를 수정할 때마다 자동으로 애플리케이션이 다시로드되어 빠른 개발을 돕습니다. 다양한 컴포넌트: 텍스트, 그래프, 위젯 등 다양한 컴포넌트를 제..
2024.03.04 -
Object of type datetime is not JSON serializable
해당 에러는 주로 아래와 같은 상황에서 나타난다. import datetime import json data = {'time' : datetime.datetime.now()} json.dumps(data) 해당 에러는 datetime 데이터를 직렬화 하지 못해서 생기는 에러이다. json.dumps(data) 뒤에 옵션을 하나만 주면 되는데, 항상 그 옵션을 잊어버려 정리한다. 1. 옵션을 직접 만들어서 사용하기 import json from datetime import datetime # datetime 객체를 문자열로 변환하는 함수 def datetime_to_string(obj): if isinstance(obj, datetime): return obj.__str__() # JSON 직렬화 data..
2023.07.14 -
[Python] AttributeError: module 'lib' has no attribute 'SSL_CTX_set_ecdh_auto' 에러 해결 방법
pymongo에서 mongodb connection를 했는데, 아래와 같은 에러가 났다. AttributeError: module 'lib' has no attribute 'SSL_CTX_set_ecdh_auto' 원래, python에서 lib 에러가 잘 나지 않는데, 처음 보는 에러였다. 주로 클라우드에서 작업을 해, 내 로컬 PC 세팅이 오래 되긴 했다. 한시간 정도 삽질하다 내용을 공유한다. 해당 에러가 나는 사람은 아마 아무도 없겠지만, 또 다시 에러가 날 수 있으니 정리해놔야 겠다. 에러 해결 방법은 아래와 같다. 먼저pyopenssl를 지워준다. pip uninstall pyopenssl 그 다음 다시 pyopenssl를 설치해준다. 아마 pyopenssl 버전이 낮거나, 꼬여서 그런거 같다...
2023.06.19 -
Python pip Install 패키지 만들기
해당 작업을 위해선 먼저 PIP 를 가입해야 한다. 가입 링크는 다음과 같다. 가입은 쉬우니 알아서 하길 바란다. https://pypi.org/project/pip/ pip The PyPA recommended tool for installing Python packages. pypi.org 파이썬 pip install 패키지 만들기 전에 먼저 pip으로 일부 패키지를 먼저 선행해주어야 한다. pip install setuptools pip install wheel pip install twine 해당 패키지가 설치가 되면, pip 패키지를 만들 준비가 완료되고, 본격적으로 패키지를 만들면 된다. 그리고 폴더를 만든다. 해당 폴더에 아래와 같은 2개의 파일 1개의 폴더를 만든다. 해당 파일에서는 REA..
2023.05.03