Sensor Connections: PNP versus NPN and Sourcing versus Sinking 산업자동화에는 24V용 센서가 주로 사용되며, NPN, PNP 두가지 타입이 있습니다. 두가지 타입의 센서는 PLC의 DI(Discrete Input) 모듈의 두가지 타입인 소스방식과 싱크방식에 맞춰서 사용해야 합니다. Transistor Effects ON-OFF 형태의 신호를 다루는 전자장치(예를 들어, 입력센서)는 트랜지스터를 내장하고 있습니다. 트랜지스터는 반도체 재질의 소형 릴레이이며, 전류를 흐르거나 차단하는 스위치와 같은 역할을 합니다. 트랜지스터는 약한 신호를 감지후 신호를 증폭하는 역할도 하게 됩니다. 증폭된 신호는 PLC의 입력모듈 또는 기타 장치들로 전달될 수 있습니다. 트랜지스터는 NPN(sourcing), PNP(sinking) 두가지 타입이 있습니다. "P", "N"은 반도체 물질의 종류를 의미하며, "PNP", "NPN"은 이 물질들의 배열순서를 의미합니다. 트랜지스터는 base, collector, emitter로 구성된 3개의 핀을 가지고 있습니다. PNP versus NPN Switching 산업용 3선식 센서는 대부분 아래와 같은 선으로 구성되어 있습니다. * +24 Vdc * 0 Vdc * 신호선 +24 Vdc, 0 Vdc 선은 센서의 구동에 필요한 전원공급용이며, NPN, PNP타입은 신호선이 어떻게 구동될 것인지 결정하게 됩니다. PNP 타입의 센서는 emitter에 +24 Vdc가 인가되고, collector에 sinking 타입 PLC 모듈과 연결됩니다. 센서가 특정한 물체를 감지하면 base에 전류를 흐르게 하여 emitter-collector간 전류가 흐르게 됩니다. 즉, 신호선쪽으로 +24 Vdc가 인가되고, PLC의 sink 타입 입력모듈 단자를 통해 포토커플러(빛을 이용하여 전류를 흐르게 하는 스위치. 입력모듈이 입력을 확인...
Understanding Flow Controls: Meter-In vs Meter-Out 에어실린더에 작용하는 힘은 압력조절기(pressure regulator)에 의해 결정됩니다. 그리고 피스톤이 움직이는 속도는 속도제어(flow control) 밸브를 통해 이루어집니다. 실린더의 각 포트마다 속도제어 밸브가 설치되어 인출과 인입 속도를 제어하게 됩니다. 아래는 속도제어 밸브의 구조입니다. 위 그림에 대한 기호는 아래와 같이 표기됩니다. 미터아웃(Meter-Out) 방식의 실린더 속도제어 아래 그림은 미터아웃 방식에 대한 도식입니다. 미터인(Meter-In) 방식의 실린더 속도제어 아래 그림은 미터인 방식에 대한 도식입니다. 끝.
Difference Between an NPN and a PNP Transistor 위 그림에서 기호는 아래 의미입니다. B: BASE C: COLLECTOR E: EMITTER NPN, PNP 둘다 BJT(bipolar junction transistor: 접합형 트랜지스터)입니다. 전류를 이용하여 제어가 되며, 전류를 증폭하는 기능이 있습니다. base에 전류가 흐르면, emitter와 collector 사이에는 더 많은 전류가 흐르게 됩니다. 즉, base는 emitter-collector 간 전류를 흐르게 하는 스위치 역할과 더불어 전류 증폭기 역할을 하게 됩니다. 이는 NPN, PNP 구분에 상관없이 동일한 특성입니다. NPN, PNP 트랜지스터의 차이는, 트랜지스터 핀에 전원이 인가되는 방법의 차이에 기인합니다. NPN 트랜지스터는 collector와 base에 양전압을 연결합니다. NPN 트랜지스터의 base에 양전압이 인가되면 emitter 방향으로 전류가 공급(sourcing, 소스)가 되면서 collector-emitter간 연결이 만들어지고, 전류도 흐르게 됩니다. 다시 정리하자면, base에 임계전압인 0.7V이상의 전압이 인가되면 전류는 base에서 emitter로 흐르게 되고, 덩달아 collector-emitter간에 흐르는 전류도 점차 증가하게 되는 형태입니다. PNP 트랜지스터는 emitter에 양전압을 연결하고, base에 음전압(또는, emitter에 인가된 전압보다 낮은 전압)을 연결합니다. PNP 트랜지스터는 base에 음전압이 인가되면 base에서 ground 방향으로 전류가 빠지면서(sink, 싱크) emitter-collector간 연결이 만들어지고 전류가 흐르게 됩니다. NPN, PNP 트랜지스터는 emitter-collector간 전류의 방향이 다르기 때문에, 위 그림에서 확인할 수 있듯이 부하(load)가 연결되는 위치 또한 다르게 됩니다. 끝.
PLC 아날로그 입출력 개념 및 결선 아날로그 신호가 PLC로 들어오면 우선 A/D 컨버터(Analog-Digital Converter)를 거치게 됩니다. A/D 컨버터는 아날로그 형태의 신호를 PLC에서 처리 가능하도록 디지털 형태로 변환시켜 줍니다. PLC에서 다루는 아날로그 신호는 아래와 같은 형태가 있습니다. - 전압(Voltage) - 전류(Current) - 저항(Resistance) 신호의 형태에 따라 신호가 취급되는 값의 범위가 있습니다. 가장 흔히 사용되는 형태는 전류 형태이며 4-20mA 값을 주로 사용합니다. A/D 컨버터가 아날로그 값을 디지털로 변환할 때 사용되는 bit수를 분해능이라 합니다. 일반적으로는 16bit 길이가 사용됩니다. 다시말해 4-20mA 사이의 16mA를 16bit로 쪼개어 표현한다는 의미입니다. 따라서 분해능에 사용된 bit수가 많을수록 더 세밀한 단위를 취급할 수 있습니다. 아래 그림은 4-20mA 출력을 가지는 온도 트랜스미터(temperature transmitter)의 예입니다. 온도 트랜스미터와 온도센서가 연결되어 있습니다. 온도 정보는 트랜스미터에서 섭씨 0~100도로 계량화(calibrated) 됩니다. 즉, 섭씨 0도는 4mA, 섭씨 100도는 20mA가 되는 것입니다. 위 그림에서 온도 정보는 PLC로 바로 들어오지 않고 트랜스미터를 거쳤습니다. 온도 정보를 PLC가 바로 해석하기 보다는 트랜스미터에서 해석하여 전압이나 전류 형태로 변환하여 PLC의 전압/전류 아날로그 카드로 연결됩니다. 만약 트랜스미터가 없다면, 온도센서의 정보를 해석하기 위해 PLC에는 온도입력 모듈이 별도로 필요하게 됩니다. 전압/전류 아날로그 입력카드를 사용하면, 온도센서가 아니더라도 다양한 형태의 아날로그 데이터를 트랜스미터 전압/전류 형태로 취급할 수 있으므로, 좀 더 유현한 구조가 됩니다. 아날로그 입력 모듈의 결선법은 입력 신호가 전압인지, 전류인지에 따라 다릅니다. 전압/전류은 저항과 연...
센서를 선정할 때 NPN 출력을 선정할지 PNP 출력을 선정할 지 결정해야 할 때가 있습니다. 매번 헷갈리는 이 내용을 다시 정리해 봅니다. (1) NPN 출력 형식은 부하(load)가 전원의 +와 센서의 출력선 사이에 위치하게 됩니다. - 예를들어, PLC 입력측 COMMON에 DC24V 전원의 +단자를 연결하고 센서의 출력선을 PLC 입력단자와 연결한다고 보면 됩니다. 즉, 센서가 NPN 출력이면, 센서가 감지될 때 출력선으로 0V 선이 연결된다고 볼 수 있습니다. (2) PNP 출력 형식은 부하(load)가 센서의 출력선과 전원의 -단자 사이에 위치하게 됩니다. - 예를들어, PLC 입력측 COMMON에 DC24V 전원의 -단자를 연결하고 센서의 출력선을 PLC 입력단자와 연결한다고 보면 됩니다. 즉, 센서가 PNP 출력이면, 센서가 감지될 때 출력선으로 +24V 선이 연결된다고 볼 수 있습니다. 자주 사용되는 OMRON E2E-X 시리즈의 DC 3선식 NPN/PNP 배선도는 아래와 같습니다. (1) NPN OUTPUT NPN OUTPUT 센서를 사용하기 위해서는 PLC의 입력 배선은 소스 타입입니다. (2) PNP OUTPUT PNP OUTPUT 센서를 사용하기 위해서는 PLC의 입력 배선은 싱크 타입입니다. 끝.
전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상) 전류(A)와 전압(V)를 알고 있는 경우, 전압원이 종류에 따라 전력(kW)을 어떻게 계산하는지 보겠습니다. DC amps to kilowatts calculation (직류) 직류는 단순히 전류와 전압을 곱하고 1000으로 나누면 kW 단위의 전력을 구할 수 있습니다. P (kW) = I (A) × V (V) / 1000 AC single phase amps to kilowatts calculation (교류 단상) 교류 단상의 경우 역률(Power Factor)를 곱한 뒤, 전류와 RMS 전압을 곱하고, 1000으로 나누면 kW 단위의 전력을 구할 수 있습니다. P (kW) = PF × I (A) × V (V) / 1000 AC three phase amps to kilowatts calculation (교류 삼상) Calculation with line to line voltage (상간 전압 이용시) 교류 삼상의 상간 전압을 이용하여 전력을 구하는 경우, √3과 역률(Power Factor)을 곱하고, 위상 전류(phase current)와 두 활선 사이의 RMS 전압을 곱합니다. 그리고 1000으로 나누어 kW 단위의 전력을 구합니다. P (kW) = √3 × PF × I (A) × V L-L(V) / 1000 Calculation with line to neutral voltage (활선-중립선 이용시) 교류 삼상의 활선-중립선 전압을 이용하여 전력을 구하는 경우, 3과 역률(Power Factor)을 곱하고, 위상 전류(phase current)와 두 활선 사이의 RMS 전압을 곱합니다. 그리고 1000으로 나누어 kW 단위의 전력을 구합니다. P (kW) = 3 × PF × I (A) × V L-N(V) / 1000 끝.
한국거래소(KRX) 데이터 API 입문 가이드 안녕하세요! 오늘은 한국거래소(KRX)에서 제공하는 공식 데이터 API에 대해 알아보려고 합니다. 주식, 지수, 채권 등 다양한 금융 데이터를 손쉽게 가져올 수 있는 KRX Open API 활용법과 사용 절차, 그리고 간단한 파이썬 예제까지 모두 정리했으니, 금융 데이터 분석이나 자동화 작업에 관심 있는 분들은 꼭 참고해 보세요. 1. KRX 데이터 API란? 한국거래소는 자사 금융 데이터를 누구나 활용할 수 있도록 KRX 정보데이터시스템 이라는 포털을 운영 중입니다. 이곳에서는 주식 시세 지수 정보 채권 및 파생상품 시세 ETF/ETN 거래 정보 공매도 현황 등 다양한 금융 데이터를 API 형태로 제공합니다. 즉, 개발자나 데이터 분석가가 직접 데이터를 요청해서 받을 수 있는 RESTful API 서비스라고 생각하시면 됩니다. 2. 주요 제공 데이터 종류 KRX Open API에서는 다음과 같은 데이터를 제공합니다. 주식 관련 데이터: 일별 시세, 종목 기본정보, 투자자별 매매동향 지수 데이터: KOSPI, KOSDAQ, KRX100 등의 지수 시세 채권 및 파생상품: 채권지수, 파생상품지수 시세 ETF/ETN: 상장된 ETF 및 ETN 거래정보 공매도 정보: 일별 공매도 거래량 및 잔고 기타: ELW, DLS/DLF, 배출권, 해외 연계시장 시세 등 3. API 사용 방법 1) 회원가입 및 로그인 우선 KRX 정보데이터시스템 에 접속해 회원 가입 및 로그인을 진행합니다. 2) API 인증키 신청 로그인 후 마이페이지에서 ‘API 인증키 신청’을 통해 인증키를 발급받습니다. 3) 데이터 서비스 이용 신청 원하는 데이터 서비스에 대해 추가 이용 신청을 해야 합니다. 예를 들어 ‘KOSPI 일별 시세 정보’를 사용하려면 해당 서비스에 별도로 신청해야 합니다. 4) API 호출 발급받은 인증키와 필요...
위 그림에서 (a)는 전압분배(Voltage Divider), (b)는 가변저항(Potential Divider)입니다. 전압분배는 고정된 두개의 저항으로 구성됩니다. 가변저항은 전압분배와 구조적으로 비슷하나 하나의 저항을 특정 지점을 기준으로 둘로 나누게 되며, 이 특정 지점은 임의로 조절 가능한 구조로 되어 있습니다. 위 그림에서 전압분배나 가변저항 모두 두 저항 사이에 Vd 포인트가 위치하고, 저항 R1, R2 크기를 조절할 수 있느냐 없느냐가 차이점입니다. 전압분배와 가변저항 둘 모두, 직렬로 연결된 두 저항의 크기에 따라 인가되는 공급 전압이 달라지는 원리를 이용하며, 공급전원을 원하는 크기로 출력하기 위해서 사용합니다. 아래 그림은 동일한 저항값을 가지는 R1, R2가 직렬로 연결되어 있는 회로입니다. Vin은 총 전압이고, R1, R2에 나누어 인가됩니다. 결론적으로 Vout은 Vin과 다른 전압을 가지게 됩니다. 각 저항 R1, R2에 얼마의 전압이 인가될지는 두 저항의 상대적인 크기와 총 저항의 크기로 결정됩니다. 그 공식은 아래와 같습니다. 아래 회로를 봅시다. Vin이 5V이고 R1 is 1KΩ and R2 is 10KΩ인 경우 Vout에 인가되는 전압은 얼마일까요? 가변저항은 다양한 저항값을 가진 제품들이 있습니다. 예를 들어 10KΩ 가변저항의 경우 0Ω에서 최대 10KΩ까지 저항값을 변경할 수 있습니다. 그럼 아두이노와 가변저항을 이용하여 LED의 밝기를 조절해 보겠습니다. 우선 가변저항은 아래와 같은 구조를 가집니다. 3개의 핀으로 구성되어 있고, Vref-Ground 핀을 통해서 공급전원을 인가하면 ouput 쪽으로 가변저항에 의해 조정된 출력전압이 인가됩니다. 우선, 아두이노 우노와 220옴 저항, LED를 이용하여 위와 같은 회로를 구성합니다. 그리고 아두이노 IDE를 이용하여 아래와 같이 코드를 입력합니다. const int ledPin = 9; //pin 9의 PWM 기능을 이용합니다. ...
사각형의 넓이 왜 가로 곱하기 세로 (밑변 곱하기 높이)인가? 우리는 사각형의 가로와 세로의 길이를 곱하여 넓이를 구하는 것을 알고 있습니다. 그런데 사각형의 가로와 세로를 곱하면 넓이가 되는 것을 어떻게 증명할까요? 우선 기하학 측면에서 살펴 보겠습니다. 우선 정사각형의 넓이 구하는 방법에 대한 증명에서 출발합니다. 아래 그림을 보겠습니다. 사각형 \(□ABCD\) 변의 길이 \(L\)로 이루어진 정사각형입니다. 사각형 \(□EFGH\)은 변의 길이가 \(1\)인 정사각형입니다. 그리고 사각형 \(□EFGH\)는 넓이에 대한 공리(Axioms of Area)에 의해 넓이가 \(1\)이 됩니다. 그리고 변 \(AB\), \(EF\)의 비는 아래와 같습니다. \(AB:EF=L:1\) 그리고 " Similar Polygons are composed of Similar Triangles " 정리에 의해서 사각형 \(□ABCD\)와 \(□EFGH\)의 넓이 비는 아래와 같이 정리됩니다. \(□ABCD:□EFGH=(AB:EF)^2\) \(\frac{□ABCD}{□EFGH}=(\frac{L}{1})^2=L^2\) 결과적으로, 사각형 \(□ABCD\)의 넓이는 \(L^2\)가 되고, 이는 한 변의 길이의 제곱을 의미합니다. 이제 직사각형의 넓이 공식에 대한 증명을 보겠습니다. 위 그림에 직사각형 \(□ABCD\)가 있습니다. 변 \(CD\)와 동일한 길이를 한 변으로 하는 정사각형 \(□CDEF\), 변 \(BC\)와 동일한 길이를 한 변으로 하는 정사각형 \(□BCHI\)를 붙입니다. 그러면 직사각형 \(□CDEF\)와 \(□BCHI\)는 합동입니다. \(AB = a\)로 두고 \(BI = b\)로 두면 정사각형 \(□AIGE\)의 넓이는 아래와 같이 전개됩니다. \((a + b)^2 = a^2 + □ABCD 넓이 + □BCHI 넓이 + b^2\) \((a + b)^2 = a^2 + 2 \times □ABCD 넓이 + b^2\...
PLC 래더를 작성하다 보면 가끔, 조건에 따라 특정 프로그램 영역을 통째로 우회시켜야 하는 경우가 있습니다. 예를 들어, 장비가 수동모드인 경우 자동모드용 래더가 있는 곳을 통째로 미사용으로 처리할 수가 있습니다. 물론 이러한 기능을 구현하는 여러 방법이 있지만, MC/MCR 명령은 태생적으로 이러한 목적을 위해 존재하는 명령어이므로, 이를 활용하는 방법을 알아보겠습니다. 우선 아래는 MC/MCR이 적용된 래더 일부입니다. N0은 네스팅 0번을 의미하며, M100은 임의의 코일입니다. N0은 네스팅(중첩구조)가 아니라면 반복사용이 가능하지만 M100은 코일중첩 대상이므로 반복사용되지 않도록 유의합니다. 위 래더에서 X000이 ON되면 점선으로 표기된 영역에 해당하는 래더는 활성화가 됩니다. 만약 X000이 OFF되면 점선 영역내 일반 타이머, OUT 명령으로 구동되는 코일은 OFF 상태가 됩니다. 적산 타이머나, 카운터, SET/RST 명령으로 구동되는 디바이스는 상태를 유지합니다. 네스팅 구조가 아니면 N0는 아래와 같은 형태로 반복 사용하면 됩니다. 필자 경험상 네스팅 구조까지는 잘 사용되지 않으므로, 위 내용 정도만 알아도 충분할 것입니다. 끝.
댓글
댓글 쓰기