Hot
-
C#
EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 렛츠 고우
조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 .단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.co..
-
Linux
리눅스 우분투에서 원도우 원격 접속하기 (rdesktop, remmina)
[rdesktop]https://ko.wikipedia.org/wiki/Rdesktop rdesktop - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wikipedia.orgrdesktop은 마이크로소프트의 원격 데스크톱 프로토콜(RDP)의 클라이언트 소프트웨어 구현체이다. rdesktop은 GNU 일반 공중 사용 허가서(GPL-3.0 이상)의 요건에 종속되는 자유-오픈 소스 소프트웨어이며 리눅스, BSD, 마이크로소프트 윈도우용으로 이용이 가능하다. 2013년 9월 기준으로 rdesktop은 RDP 5 프로토콜의 큰 부분 집합을 구현한다. 현대 버전의 윈도우의 원격 데스크톱 연결과는 달리 rdesktop은 윈도우 NT 4.0 터미널 서버 에디션과 윈도우 2000 서버에 사용되는..
-
Machine vision
Cognex 프로그램 In-sight Explorer 처음 사용 하기 !
실행하면 뜨는 화면 일반적인 엑셀 시트를 닮았다 . Cognex 사에서도 엑셀을 모방하여 만들어 누구나 코딩을 배우지 못한 사람도 손 쉽게 사용 할 수 있도록 만들었다. 한 픽셀 =8 byte 2^8 = 256 Gray level 0~ 255 0 -> 검은색 255-> 희색 1.sheet 에 extractblobs이라고 작성하면 됩니다. 2.sheet에 작성하면 설정 창이 팝업된다. 3.우선 Region으로 영역을 설정해준다. 촬영하는 제품의 범위를 정해주면 된다. 4.영역을 선택 해주고 다시 더블클릭하면 설정창으로 돌아온다. 5.external region = 0 6.Threshold =화이트에서 블랙으로 갈 때 Grey level 120 이상 검출(배경으로 부터 다른 부분을 분리하는 기준) 6-1. ..
-
Machine vision
코그넥스 IN-SIGHT EXPLORER 프로그램 FindPatMaxPattern, EditRegion, TrainPatMaxPattern 문법 사용 해보았습니다.
총 3개의 함수를 일단 사용해야한다. FindPatMaxPattern : 패턴을 찾을 곳을 지정해 준다 . EditRegion : 영역을 변경 시켜 준다. TrainPatMaxPattern : 패턴을 학습시킨다. 3개를 모두 사용해야 한다 . EditRegion은 External Region 영역과 연관이 있음 IN 글자를 잡을거기 때문에 해당 영역을 설정해준다 . TrainPatMaxPattern 위의 수식을 다 넣어주면 이처럼 목표를 잘 잡는걸 볼 수 있다.
-
카테고리 없음
PLC 이더넷 통신 초기 셋팅
1. XG5000 프로그램에서 새프로젝트 생성 2. USB 케이블로 PC 에 연결후 PLC 읽기 3. 접속설정 LSPLC 4. 온라인 탭 -> 읽기 모드읽기 선택 후 해당 알림창이 뜨면 예 클릭 기존 프로그램에 셋팅된 모듈을 제거 하고 실제 PLC 설치된 모듈로 셋팅해준다 모두 선택 이런 경우에 트리 구조중 데이터 메모리를 클릭하여 전부 선택 후 읽기 진행 PC IP 대역과 동일하게 셋팅하기 그리고 우선 다시 PLC 쓰기를 진행해야한다 간소한 셋팅으로 진행 [스톱] 프로그램도 체크 제거 후 확인 버튼 쓰기를 모두 마치고 PLC 전원은 1회 차단 했다가 다시 공급 접속 설정 - LSPLC 에서 Ethernet Module 로 변경 설정 버튼 클릭 IP 찾기 버튼으로도 진행 가능 확인 클릭 후 접속 테스..
-
Machine vision
머신비전 개론 - feat 분해능 이해 안된다고 부끄러워하지 말자 !
머신 비전이란 무엇인가 : 각종 제조 및 생산 장비 또는 공정들을 제어하거나 관련 정보를 얻기 위해서 실제의 영상 정보를 자동으로 취득후 분석하기 위하여 광학계 및 카메라 등을 이용하여 비 접촉으로 검사하는 것을 머신비전이라고 한다 -> 생산 제품들의 품질과 공정 제어를 위한 자동화 검사 시스템 머신비전의 응용 분야 (시험예상) Guidance : 부품의 정확한 위치를 로봇에 전달하여 위치 보정이 가능(위치 보정) /Wafer Processing /Die Processing Inspection: Verify Quality and Assembly -> 제품의 품질 및 조립상태 /특정부품의 유무 판단과 부품의 위치 계산 Gaging : 물체의 크기 또는 거리 직경 등의 계측에 사용합니다. 3개의 점을 통해 ..
최신 글
-
DataBase 업그레이드 할 수 없는 아이템 구하기 -서브쿼리 사용 https://school.programmers.co.kr/learn/courses/30/lessons/273712 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[SQL] 더 이상 업그레이드할 수 없는 아이템 조회하기문제각 아이템들은 업그레이드가 가능하며, 업그레이드한 아이템을 ITEM_TREE 테이블에서 관리하고 있습니다.ITEM_TREE 테이블의 PARENT_ITEM_ID는 해당 아이템으로 업그레이드하기 전 아이템의 ID를 의미합니다.더 이상 업그레이드할 수 없는 아이템의 아이템 ID(ITEM_ID), 아이템명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL문을 작성해야 합니다.결과는 .. -
SW Dev Portfolio CPU 코어와 스레드: 동시성·시분할·병렬 처리 한눈에 이해하기 핵심 개념 정리1. CPU 코어실제로 명령어를 계산하는 물리적인 작업자입니다.1코어: 실제 작업자 1명2코어: 실제 작업자 2명코어가 많을수록 여러 계산을 실제로 동시에 처리하기 유리합니다.2. 하드웨어 스레드CPU가 동시에 받아들일 수 있는 실행 흐름 자리입니다.1코어 1스레드: 실행 흐름 자리 1개1코어 2스레드: 실행 흐름 자리 2개지만, 물리 코어 자원은 공유2코어 2스레드: 각 코어에 실행 흐름 자리 1개씩 존재1코어 2스레드= 직원 1명 + 업무 진행표 2개2코어 2스레드= 직원 2명 + 직원별 업무 진행표 1개3. 소프트웨어 스레드프로그램 내부에서 만든 독립적인 실행 흐름입니다.소프트웨어 스레드 A: 화면 처리소프트웨어 스레드 B: 파일 다운로드소프트웨어 스레드 C: 계산소프트웨어 스레드 D..
-
카테고리 없음 PLC 이더넷 통신 초기 셋팅 1. XG5000 프로그램에서 새프로젝트 생성 2. USB 케이블로 PC 에 연결후 PLC 읽기 3. 접속설정 LSPLC 4. 온라인 탭 -> 읽기 모드읽기 선택 후 해당 알림창이 뜨면 예 클릭 기존 프로그램에 셋팅된 모듈을 제거 하고 실제 PLC 설치된 모듈로 셋팅해준다 모두 선택 이런 경우에 트리 구조중 데이터 메모리를 클릭하여 전부 선택 후 읽기 진행 PC IP 대역과 동일하게 셋팅하기 그리고 우선 다시 PLC 쓰기를 진행해야한다 간소한 셋팅으로 진행 [스톱] 프로그램도 체크 제거 후 확인 버튼 쓰기를 모두 마치고 PLC 전원은 1회 차단 했다가 다시 공급 접속 설정 - LSPLC 에서 Ethernet Module 로 변경 설정 버튼 클릭 IP 찾기 버튼으로도 진행 가능 확인 클릭 후 접속 테스..
-
C# TCP/IP 통신 정리 TCP /IP란 TCP/IP는 인터넷이나 내부 네트워크에서 데이터를 주고받기 위한 대표적인 통신 규칙입니다. 두가지 핵심 프로토콜을 함께 부르는 말입니다. TCP = Transmission Control Protocol ( 전송제어 프로토콜 )IP = Internet Protocol (인터넷 프로토콜 ) TCP = 데이터가 손실 없이 제대로 도착했는지 관리하는 역할IP = 목적지까지 데이터를 보내는 역할 TCP의 역할1. 연결 관리 2. 신뢰성 보장3. 순서 보장4. 재전송5. 흐름 제어 6. 혼잡제어TCP는 단순히 데이터를 보내는것이 아니라상대방과 연결을 맺고 , 데이터 순서를 확보하고 도착여부를 확인하고 손실되면 다시 보내고 상대방이 받을 수 있는 만큼만 보내고 네트워크가 혼잡하면 속도를 줄이고..
-
카테고리 없음 await은 Thread를 막지는 않는다. 하지만 await을 쓴 "현재 메서드의 다음 줄 실행" 은 기다리게 만든다 이 두개는 서로 다른 말이다private async void BTN_Connect_Click(object sender, EventArgs e){ MessageBox.Show("1. 연결 시작"); await PlcScanLoopAsync(plc, token); MessageBox.Show("2. 스캔 루프 종료됨");}1. PlcScanLoopAsync가 시작됨2. PLC 통신 await 지점에서 UI Thread는 풀려남3. 그래서 화면은 멈추지 않음4. 다른 버튼 클릭도 가능함5. 하지만 MessageBox.Show("2. 스캔 루프 종료됨")은 실행 안 됨6. PlcScanLoopAsync가 완전히 끝나야 그 아래 줄이 실행됨Thread는 막히지 않아서 UI 쪽 작업을 한다던지 다른.. -
C# EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 렛츠 고우 조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 .단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.co..
-
SW Dev Portfolio PLC 멀티 통신 비동기 전환 정리 문서 1. 개발 목적기존 프로그램은 단일 PLC와 1:1로 통신하는 구조였다.이후 여러 PLC를 동시에 등록하고 각각 주기적으로 데이터를 읽기 위해 FormMulti 구조를 만들었다.초기 멀티 통신은 PLC마다 Task.Run()을 사용해서 백그라운드 작업을 만들고, 그 안에서 동기 소켓 통신 함수를 호출하는 방식이었다.정리하면 기존 멀티 구조는 다음과 같았다.PLC 1 → Task.Run → 동기 Socket 통신PLC 2 → Task.Run → 동기 Socket 통신PLC 3 → Task.Run → 동기 Socket 통신이 구조는 PLC 수가 적을 때는 괜찮지만, PLC가 100대, 500대처럼 많아지면 각 PLC 통신 대기마다 스레드가 점유될 수 있어 부담이 커진다.그래서 이번 대화에서는 동기 소켓 통신..