전체 글
-
PLC 기초 1PLC/LS Electic 2022. 2. 7. 15:49
--- PLC (Programable Logic Controller) : 프로그램 로직 제어기 --- 주요 브랜드 LS Eletric(LS산전), 지멘스, 미쯔비시, AB, 파나소닉, 케인스, OMRON 등 많음 우리나라에서는 미쯔비시, 지멘스, LS Electric 많이 사용한다고 함 화자는 LS Electric을 사용함 (I love 국산) --- LS Electric PLC 종류 크게 규모와 프로그램 방식에 따라 나뉨 먼저 규모로 XGT(복잡, 대형)와 XGB(간단, 소형)로 나뉨 그 안에서 프로그램 방식에 따라 국제표준 방식, 명령어? 방식으로 나뉨 그 외로 구형(Glofa, Master-K)도 있지만 단종되었으니 언급하지 않겠으나 아직 인기가 있어 대리점에서는 판매 중이라고 함 아무래도 국제표준..
-
-
C# RGB 출력, YUV420 -> RGB로 출력프로그래밍 언어/C# 2020. 9. 1. 16:17
Raspberry Pi Zero W에 카메라 이미지를 PC에 전송하여 출력하는 것을 작업하고 있다. 그런데.... Raspberry Pi 에서 큰 문제가 생겼다... 자료를 찾아보니 대부분 OpenCV를 사용하여 데이터를 보내길래 OpenCV를 깔아봤는데.... 'Illegal instruction'이라고 에러가 떠서 동작이 안된다. 아무리 삽질을 해봐도 해결 방법을 못 찾았다ㅠㅠ;; 그래서 다른 방법을 찾던 중, 라즈베리 기본 설치 프로그램 중에 raspistill, raspivid, raspiyuv, raspividyuv를 사용해서 데이터를 보낼 방법을 찾았다. 라즈베리에서 카메라 실행은 raspividyuv -w 480 -h 320 -fps 5 -t 0 -l -o tcp://192.168.0.125..
-
C# 이미지 그리기, 출력프로그래밍 언어/C# 2020. 8. 21. 14:16
그림을 출력할때, 다음과 같은 방법이 있다. - 절대 경로 imgTest.Source = new BitmapImage(new Uri(@"C:\Image\test.png", UriKind.Absolute)); - 상대 경로 imgTest.Source = new BitmapImage(new Uri(@"\test.png", UriKind.Relative)); - 상대 경로(리소스) imgTest.Source = new BitmapImage(new Uri(@"\test.png", UriKind.Relative)); imgTest는 이미지 도구상자 이름이다. BitmapImage 2번째 인자는 https://docs.microsoft.com/ko-kr/dotnet/api/system.urikind?view=net..
-
C# NAudio MicroPhone 볼륨 조절프로그래밍 언어/C# 2020. 8. 20. 21:07
private void sourceStream_DataAvailable(object sender, NAudio.Wave.WaveInEventArgs e) { byte[] encoded = e.Buffer; if (reLen + encoded.Length 6) { encoded.CopyTo(recordingStream, reLen); int i; float multiplier = 12.0f; // 볼륨 Gain for (i = 0; i < encoded.Length; i = i + 2) { Int16 sample = BitConverter.ToInt16(encoded, i); sample = (Int16)(sample * multiplier)..
-
Visual Studio 2019 한글 형식(인코딩). 유니코드, EUC-KR프로그래밍 언어/WinApi 2020. 7. 28. 10:17
문자를 입력 받았을 경우, 한글인지 아닌지 판별하기 위하여 작업 도중, WCHAR, char의 한글 형식을 같은 유니코드를 사용하고 있는 줄 알았으나 값이 다르게 나와서 찾아 보았다. 한글의 형식은 컴파일러마다, 운영체제마다 다르다고 한다. Window10, Visual Studio 2019의 환경에서 WCHAR 형은 유니코드를 사용하고 char 형은 EUC-KR을 사용하는 것 같다. ex) //WCHAR eee[20] = TEXT("가나하"); unsigned char eee[20] = "가나하"; unsigned char eee1; unsigned char eee2; eee1 = *((unsigned char*)eee + 0); eee2 = *(((unsigned char*)eee) + 1); Tex..
-
win32api 서브클래싱, 전역클래싱, 슈퍼클래싱프로그래밍 언어/WinApi 2020. 7. 27. 13:23
Tab(탭) 키로 각 차일드 윈도우간 포커스 이동을 하려고 했더니 클래싱을 사용해야할 것 같다. # 서브클래싱 서브클래싱이란 도스의 인터럽트 가로채기와 개념적으로 동일하며 윈도우 프로시저로 전달되는 메시지를 중간에 가로채는 기법이다. 운영체제 -> 서브클래스 프로시저 -> 윈도우 프로시저 서브클래스 프로시저는 메시지를 먼저 받아서 다음의 세가지 방법으로 이 메시지를 처리할 수 있다. ① 통과 : 관심 없는 메시지는 바로 윈도우 프로시저로 넘겨버린다. ② 직접 처리 : 원하는 메시지가 왔을때 중간에 메시지를 처리하고 리턴. 윈도우 프로시저로는 전달되지않는다. ③ 변형 : 메시지를 받아서 원하는 변경 후 윈도우 프로시저로 보낸다. (키입력의 변경등) 새로운 윈도우 프로시저를 생성해서 아래 함수를 통해 변경할..