Hot
-
C#
EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 렛츠 고우
조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 .단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.co..
-
카테고리 없음
정보처리기사 : 프로그램 설계도의 하나인 NS Chart에 대해 설명해줘
NS Chart는 구조적 프로그램 설계 방법론 중 하나로서, 프로그램을 구성하는 각 모듈과 서브루틴 간의 관계를 시각적으로 표현하는 데 사용됩니다. NS Chart는 흐름도와 구조도의 장점을 결합한 것으로, 모듈과 서브루틴 간의 제어 및 데이터 흐름을 그래픽으로 표현합니다. 이를 위해 NS Chart는 모듈과 서브루틴을 네모 상자로 표현하고, 이들 간의 연결을 화살표로 표현합니다. 또한 조건 분기와 반복문 등의 제어 구조를 그래픽으로 나타내어 프로그램의 구조를 이해하기 쉽게 만듭니다. NS Chart는 구조적 프로그래밍을 위한 도구로, 구조적 프로그래밍의 개념과 방법을 쉽게 이해하고 적용할 수 있도록 도와줍니다. 따라서 소프트웨어 개발 프로젝트에서 프로그램 설계를 담당하는 엔지니어들은 NS Chart를 ..
-
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 위의 수식을 다 넣어주면 이처럼 목표를 잘 잡는걸 볼 수 있다.
-
Blender
블렌더 Blender로 리얼한 불과 연기 만드는 방법 구체적으로 알려드립니다.
Blender Tool을 사용하여 연기 제작 방법 https://pepepien.tistory.com/312 블렌더 #K 단축키 모음 블렌더를 하면서 유용한 단축키들을 모아봤습니다. 공부하면서 메모했던 것을 다시 다듬었지만.. 아직 블린이라서 잘못된 부분이 있을 수 있습니다. 추가할 점이 있다면 언제든지 댓글 부탁드 pepepien.tistory.com 시스템 요구 사항 지원 플랫폼 : 윈도우 XP이상, 맥 OSX 10.6이상 그리고 리눅스 CPU : 32Bit 듀얼 코어 2GHz 이상 RAM : 2GB 이상 그래픽 카드 : CUDA, OpenGL를 지원하는 그래픽 카드 / 256MB이상 최소 권장 최적 CPU 32Bit듀얼코어 2GHz 64Bit 쿼드코어 64Bit 옥타코어 RAM 2GB 8GB 16G..
최신 글
-
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 통신 대기마다 스레드가 점유될 수 있어 부담이 커진다.그래서 이번 대화에서는 동기 소켓 통신..