모든다해 IP66 금속 검출기

IP66 금속 검출기, TCP 통신으로 불량품 자동 추적 시스템 구축 현장에서 사용 중인 모든다해 IP66 금속 검출기는 식품이나 산업 라인의 제품 중 금속 이물질을 검출하는 장비입니다. 이번 작업에서는 해당 금속검출기의 TCP 통신 기능을 활용하여 불량품 수집 및 로그 분석 시스템을 구현하였습니다. 장비에 부착된 컨베이어 벨트 상에서 제품이 검출되면, 시스템은 양품/불량 판정 데이터를 실시간으로 전송합니다. 이…

Keithley 계측기 TCP 통신: C#을 활용한 제어 가이드

Keithley 계측기는 정밀한 전류, 전압 측정을 지원하는 장비로, LAN을 통한 TCP/IP 통신으로 원격 제어가 가능합니다. 본 글에서는 C#으로 Keithley 장비에 SCPI 명령어를 전송하고 응답을 받는 기본 통신 구조를 소개합니다. 1. Keithley TCP 통신 기본 개념 장비는 TCP 서버 역할, PC는 클라이언트 기본 포트는 5025 통신 방식은 소켓 기반, 명령어는 SCPI (IEEE488.2) 사용 2. 장비 설정…

오랜만에 글을 작성합니다.

현재 저는 WIndows, Android 앱을 주로 개발을 하고 있습니다. 물론 웹도 어느정도 개발을 진행을 하고 있습니다. 그 사이에 많은 변화를 겪어 왔고, 블로그에 글을 작성할 내용은 넘쳐 나지만 공개를 하지 못하고 있는 상태입니다. 블로그에 글을 작성한다는것은 제 나름대로 정리를 하기 위한 공간이기도 하지만 제 나름의 표준을 만들기 위해서 인데, 어느것 하나 실제로 개발을 하여서 현장에서…

웹 Context 메뉴

// Context Menu List 렌더링 function renderContextMenuList( list ){ // List Element 생성 const ctxMenuList = document.createElement('ul'); // List Item 생성 list.forEach(function( item ){ // Item Element 생성 const ctxMenuItem = document.createElement('li'); const ctxMenuItem_a = document.createElement('a'); const ctxMenuItem_a_text = document.createTextNode(item.label); // 클릭 이벤트 설정 if( item.onClick ){ ctxMenuItem.addEventListener( 'click', item.onClick, false ); } // Item…

회사 동일 다수 DB 관리

회사 동일 다수 DB 관리
DB 가 분리되어 있지만 모두 동일한 DB 일 경우에 컬럼을 동일하게 변경하기 위해서 필요함.먼저 대상이 되는 DB를 수집후 테이블 명을 보고 컬럼을 변경을 할수 있습니다. 각 DB에서 테이블 정보를 수집도 가능합니다. 테이블을 추가 할 경우 다수의 DB에서 동일한 작업이 필요할 경우에 추가를 진행하면은 동시에 다수를 작업을 합니다. 테이블을 한곳에 만들어 두거나 혹은 특정 DB에서 필요한…

Windows WSL2 자동 시작 설정

파워쉘 프로그램 코드 If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { $arguments = "& '" + $myinvocation.mycommand.definition + "'" Start-Process powershell -Verb runAs -ArgumentList $arguments Break } $remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '" $found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'; if ( $found ) { $remoteport = $matches[0]; } else { Write-Output "The Script Exited, the…

Groupby 에 대해서 Count 하기

MySQL에서 Count를 하다 보니 SELECT에서 GroupBy 를 하면은 정확한 Count가 나오지 않는 문제가 있어서 찾아 보니 찾은 SQL 입니다. SELECT IFNULL(COUNT(S.컬럼), ' ') AS cnt FROM ( SELECT 컬럼 FROM 테이블 WHERE 컬럼='1' GROUP BY 컬럼) AS S; 별다른 형태가 없이 보통 사용하는 SELECT에서 한번 더 SELECT 를 감싸니 쉽게 해결이 되었습니다. 기록을 하지 않으면은…

폰터 어썸 유료를 내 서버에서 서비스하자

※ 자기 서버가 있어야 가능한 기능 입니다. (트래픽주의) 홈페이지를 만들다 보면 사용자에게 주기가 애매한 소스들이 있습니다. 웹이라는 한계성 때문에 어떻게는 사용자가 내용을 알수가 있지만 최대한 주기 싫은 소스에 대해서 내 서버에서 운영을 할 수 있도록 만들어야 하는데 CrossDomain 위반으로 URL Domain이 다를경우에 문제가 생길때가 있습니다. AddType application/font-woff2 .woff2 일단 폰터어썸이 woff2 확장자를 처리를 해야 합니다.…

WebServer에서 사용률 체크하기

홈페이지를 만들고 나서 사용률이 저조하면은 상당히 힘이 빠지는 일입니다. 더욱이 정부에서 사용을 하라고 하는데 제작을 할때는 사람들이 요구사항이 상당히 많이 발생하고 좀 더 자기에게 유리하게 만들기 위해서 시간과 노력을 투자 하지만 일단 정부에서 대금이 지급되고 나서는 시들해지기 마련입니다. 하지만 정부도 바보가 아닌 이상 몇년간 사용을 해야 하는데 사람들이 일이 늘어나서 사용하지 않는다는것을 알고 있어서 조금은…

HTML를 PDF로 만들기

웹브라우저에서 HTML를 그대로 PDF로 만들기 위해서 찾아 보게 되었습니다. 위 사진은 웹페이지 그대로 화면은 캡쳐한 부분입니다. 해당 화면을 가지고 그대로 PDF로 만들어야 하는 상태 입니다. background로 제작을 하면 되지만 고객이 일단 화면에 먼저 보여지기를 원해서 View를 만들고 그다음에 PDF로 제작을 해야 되는 조건이 붙었습니다. 이렇게 VIew 에서 PDF로 다운 받아서 그대로 확인을 할 수 있도록…