[암호화폐 자동매매] pip install ta-lib 설치오류 해결

ta-lib 설치 실패시 참조 사항 https://pypi.org/project/ta-lib/ https://visualstudio.microsoft.com/ko/downloads/?q=build+tools [조치 순서] Windows Download ta-lib-0.4.0-msvc.zip and unzip to C:\ta-lib. This is a 32-bit binary release. If you want to use 64-bit Python, you will need to build a 64-bit version of the library. Some unofficial instructions for building on 64-bit Windows 10 or Windows 11, here for reference: Download and Unzip ta-lib-0.4.0-msvc.zip Move the Unzipped Folder ta-lib to C:\ Download and Install Visual Studio Community (2015 or later) Remember to Select [Visual C++] Feature Build TA-Lib Library From Windows Start Menu, Start [VS2015 x64 Native Tools Command Prompt] Move to C:\ta-lib\c\make\cdr\win32\msvc Build the Library nmake 위 과정을 수행하고 "pip install ta-lib" 수행하면 설치가 됩니다. 핵심은 C++ Build Tools를 설치하고 ta-lib가 의존하는 파일을 컴파일하는 것입니다.

[암호화폐 자동매매] 업비트 OpenAPI를 활용하여 MACD 지표 기반 매매 샘플코드

업비트 OpenAPI를 활용하여 MACD 지표 기반 매매 구현을 위하여 ChatGPT에게 샘플 코드를 요청한 결과 공유. import ccxt import pandas as pd from ta.trend import MACD import time # 업비트 API 키 API_KEY = 'your_access_key' SECRET_KEY = 'your_secret_key' # 업비트 객체 생성 upbit = ccxt.upbit({ 'apiKey': API_KEY, 'secret': SECRET_KEY, }) # 코인 티커 및 기본 설정 symbol = 'KRW-BTC' # 거래할 코인 (예: 비트코인) interval = '1m' # 캔들 간격 (1분봉) amount = 0.001 # 거래 수량 def fetch_ohlcv(symbol, interval): """OHLCV 데이터 가져오기""" ohlcv = upbit.fetch_ohlcv(symbol, timeframe=interval, limit=100) df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume']) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms') # 타임스탬프 변환 return df def calculate_macd(df): """MACD 및 Signal Line 계산""" macd = MACD(df['close&#

[PLC] MELSEC-Q MR-J4-B 서보 브레이크 배선

이미지
MELSEC-Q 서보 시리즈 중 하나인 MR-J4-B의 브레이크 배선 회로도입니다. 우선 ALM A접점은 없는 것으로 간주하겠습니다. (권장사항이나 일반적으로 잘 구성하지 않습니다.) ① 서보 앰프가 구동준비 상태가 되면 DOCOM->MBR 회로를 거쳐 릴레이(RA1)에 전원을 공급하게 됩니다. ② 전원이 인가된 릴레이(RA1)의 A접점이 닫히면서 브레이크용 전원 회로에 전류가 흐릅니다. ③ 모터에 내장된 브레이크 코일에 전원이 인가되어 브레이크가 해제됩니다. 유의사항은 릴레이에 병렬로 연결된 다이오드와 브레이크 코일에 병렬로 연결된 바리스터(서지 앱소버)입니다. 현장에서 접해본 대부분의 제어 판넬에서는 다이오드와 바리스터가 설치된 것을 보지 못했지만, 제가 회로를 구성하는 경우 가급적 설치하고 있습니다. RA1에 해당하는 릴레이는 다이오드가 포함된 릴레이를 구입하거나, MBR 신호를 PLC에서 받아 PLC 트랜지스터 출력으로 일반 릴레이를 동작시키는 방식으로 우회해도 됩니다. (PLC 트랜지스터 출력 모듈에는 다이오드 또는 대응품이 내장되어 있습니다.) 흔히 사용되는 HG-KR 모터 시리즈 기준으로 바리스터는 아래 기술된 것을 사용하면 됩니다. 디바이스마트나 엘레파츠에서 구매 가능합니다. 디바이스마트 : TND10V-221KB 엘레파츠 : TND10V-221KB DOCOM, MBR 연결은 CN3 커넥터를 통해 수행하며 핀 번호는 아래와 같습니다. 브레이크용 DC 파워서플라이와 제어용 DC 파워서플라이는 별도로 구분해서 사용하는 것이 권장사항입니다. 브레이크의 코일에 DC 전원 공급이 끊기는 순간 역기전력에 의해 높은 전압이 발생됩니다. 바리스터는 이 전압을 상쇄시키기 위해 설치하는 것입니다. 만약 바리스터를 설치하지 않는다면, 브레이크용 DC 파워서플라이는 별도로 설치하길 권장합니다. 끝.

[PLC] MELSEC-Q 시리즈 CPU RS-232C 6핀 커넥터 핀맵

이미지
MELSEC-Q 시리즈 CPU 모듈 중에 RS-232C 6핀 포트를 내장하고 있는 제품들이 있습니다. 해당 포트를 통해 MC 프로토콜을 이용한 HMI 연결 등을 수행할 수 있습니다. 우선 GX Works2 소트프웨어 PLC Parameter 항목에서 아래 항목을 체크하여 기능 활성화를 합니다. 커넥터 규격은 Mini-Din 6Pin이며, 일반적으로 PS2 커넥터로 통칭됩니다. 핀맵은 아래와 같습니다. 정품 케이블 모델명은 QC30R2 입니다. 해당 케이블이 가격이 저렴한 편이 아니기 때문에, 아래 그림과 같이 납땜용 커텍터를 사용하여 제작합니다. 구입은 쿠팡, 디바이스마트나 엘레파츠 등에서 할 수 있습니다. [쿠팡] https://link.coupang.com/a/bynEN1 (이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.) [디바이스마트] https://www.devicemart.co.kr/goods/view?no=12532628 [엘레파츠] https://www.eleparts.co.kr/goods/view?no=12411050 M2I HMI 기준으로 배선 예시입니다. 끝.

[전기 기초] 벡터와 스칼라

이미지
스칼라(scalar) - 크기만 가진 물리량 - 스칼라량(scalar quantity) - 시간, 길이, 질량, 온도, 면적, 체적, 일, 에너지, 전력, 밀도, 속력, 저항, 전하량 등 - 기호 A, B, C ... 등을 사용 벡터(vector) - 크기와 방향을 가진 물리량 - 벡터량(vector quantity) - 변위(거리, displacement), 힘, 토크, 모멘트, 속도, 가속도, 전계, 자계 등 - 다음과 같은 기호 사용 끝.

[PLC] 래더 다이어그램과 PLC

이미지
래더 다이어그램과 PLC 래더 다이어그램은 전기적 작동 순서를 나타내는 전통적인 방법이자 현재에도 널리 사용되고 있습니다. 래더 다이어그램은 한 장치의 활성화 또는 켜짐이 미리 결정된 이벤트 순서에 따라 다른 장치를 켜는 방식으로 필드 장치의 상호 연결을 나타냅니다. 아래 그림은 간단한 전기 래더 다이어그램을 보여줍니다. 래더 다이어그램 예시 원래 래더 다이어그램은 기계나 장비를 제어하는 데 사용되는 배선 논리 회로를 나타내기 위해 고안되었습니다. 산업계에서 널리 사용됨에 따라 설계자 및 장비 사용자에게 제어 정보를 전달하는 표준 방법이 되었습니다. 래더 다이어그램은 사용 및 해석이 쉽고 업계에서 널리 수용되었기 때문에 PLC의 프로그래밍 언어가 래더 다이어그램을 모방하는 것은 자연스러운 일이었습니다. PLC의 목적은 기존 래더 다이어그램으로 설계되어 전선과 릴레이로 구성된 시스템을 보다 저렴하고 안정적인 방식으로 대체하는 것입니다. PLC는 소프트웨어 명령어를 사용하여 기존 래더 다이어그램 상 물리적으로 구현해야 하는 유선(wired) 상호 연결을 CPU에 논리적으로 구현합니다.  아래 그림은 위 예시용 래더 다이어그램을 PLC 형식으로 변환하는 과정을 보여줍니다.  물리적 I/O 필드 장치는 입력 및 출력 인터페이스에 연결되는 반면, 래더 프로그램은 PLC 내부에서 물리적 배선과 유사한 방식으로 구현됩니다(즉, 하드배선 대신 PLC CPU 내부에 소프트웨어적으로 배선됨). 앞서 언급했듯이 CPU는 입력 상태를 읽고 프로그램에 따라 출력 인터페이스를 활성화 시키고, 출력 인터페이스에 물리적으로 연결된 실제 출력 장치를 제어합니다. PLC 프로그램에서 명령어들은 참조하는 메모리 주소가 있습니다. 입출력 인터페이스에 할당된 메모리가 있고, PLC 명령어는 해당 메모리 주소를 참조하여 물리적으로 연결된 입출력 장치와 상호작용하게 됩니다. 끝.

[PLC] 릴레이

이미지
릴레이 (Relay) 릴레이의 구조 및 동작에 대해 알아보겠습니다. 릴레이 구조 릴레이 기반 제어 시스템에서 가장 핵심인 릴레이에 대해서 알아보겠습니다. 가장 기본적인 전기기계적(Electromechanical Relay) 범용(General-Purpose) 릴레이를 기반으로 설명하겠습니다. 아래 그림은 릴레이 구조적 개념도이며 코일에 전원이 인가되지 않은 상태를 나타내고 있습니다. 코일에 전원이 인가되지 않으면 스프링 장력에 의해 위 그림의 화살표 방향으로 힘이 작용합니다. 결과적으로 COMMON 접점과 N.C.(Normally Closed) 접점이 연결되게 됩니다. 아래 그림은 코일에 전원이 인가된 경우입니다. 전원이 인가된 코일은 전자석이 되어 금속을 끌어 당기게 되고 위 그림에서 화살표 방향으로 힘이 작용하게 됩니다. 따라서 COMMON 접점과 N.O.(Normally Opened) 접점이 연결이 됩니다. 릴레이를 IEC 기호로 나타내면 아래와 같습니다. A1, A2는 코일의 전원 인가용 점접을 의미합니다. 11은 COMMON 접점, 12는 N.C. 접점, 14는 N.O. 접점을 의미합니다. 제어 릴레이 (Control Relay) 제어 릴레이는 제어용 회로 구성이 주 목적인 릴레이입니다. 저전압 코일을 사용하며 다수의 접점을 내장하는 것이 특징입니다. 접점들은 단일 코일의 동작에 동기화되어 움직이게 됩니다. 즉, 코일에 전원이 비인가 상태인 경우 모든 N.C. 접점이 각 COMMON 접점과 연결되고, 코일에 전원이 인가되면 되면 모든 N.O. 접점이 각 COMMON 접점과 연결되는 형태입니다. 보편적으로 사용되는 제어 릴레이의 정격 전류는 5~10 A, 정격 전압은 220 VAC 또는 24 VDC입니다. 전자 접촉기 (Magnetic Contactor) 전자 접촉기는 좀 더 큰 범위의 전류나 전압을 다루기 위한 릴레이의 한 종류입니다. 현업에서는 통칭 MC라고 합니다. 전자 접촉기 외형은 아래와 같습니다. 위 그림에서 A1, A2는 코일 전원용 접점이