[(주)북스 | 이노소프트]/SW개발정보8 C# 설비 알람 로그 CSV 만들기: 필드 이스케이프와 엑셀 수식 위험 점검 설비 알람 로그를 CSV로 저장해 엑셀에서 열었는데 열이 밀리거나 한 셀에 여러 줄이 들어간 적 있으신가요? 알람 메시지에 쉼표, 큰따옴표, 줄바꿈이 있으면 단순히 문자열을 콤마로 연결한 파일은 쉽게 깨집니다. 오늘은 C#에서 설비 이벤트 로그 한 행을 안전하게 만드는 기본 구조를 살펴봅니다. CSV 문법에 맞춘 따옴표 처리는 스프레드시트 수식 실행 위험을 해결하지 않으므로 두 문제를 따로 다루겠습니다. 먼저 로그 필드를 고정하세요현장 추적에 필요한 최소 필드를 먼저 정합니다. 예를 들어 이벤트 발생 시각(UTC), 장치 ID, 알람 코드, 메시지, 상태 값과 단위를 기록할 수 있습니다. 모든 행에 같은 순서와 필드 수를 유지하고, 헤더를 함께 저장하세요. 비밀번호, 인증 토큰, 불필요한 개인정보는 로그.. 2026. 10. 18. C# WinForms 설비 통신 중 화면 멈춤 방지: async·await와 취소 처리 설비 제어 프로그램에서 PLC나 장치 응답을 기다리는 동안 버튼과 화면이 멈춰 보인다면, 통신 작업이 UI 스레드를 점유하는지 먼저 확인해 보세요. 단순히 작업을 백그라운드로 옮기는 것보다, 통신 라이브러리가 비동기 API를 제공하는지와 취소·시간 초과를 지원하는지를 함께 살피는 편이 안전합니다.이 예제는 WinForms 화면에서 비동기 흐름을 익히기 위한 시뮬레이션입니다. 실제 PLC 주소, 출력 신호, 모션 명령은 포함하지 않습니다. 현장 적용 전에는 장치 매뉴얼, 통신 시간 초과, 인터록과 안전 절차를 별도로 검증해야 합니다.왜 화면이 멈출까요?WinForms는 기본적으로 UI 스레드에서 이벤트와 화면 갱신을 처리합니다. 버튼 이벤트 안에서 Thread.Sleep, 오래 걸리는 동기 통신, Task.. 2026. 10. 17. 머신비전 검사 오검출 줄이는 조명·노출·트리거 점검 순서 머신비전 검사에서 간헐적인 오검출이 생기면 알고리즘부터 바꾸기 쉽습니다. 하지만 먼저 확인할 것은 카메라에 들어오는 빛이 매번 같은 조건인지입니다. 조명, 노출, 트리거가 흔들리면 같은 제품도 서로 다른 영상으로 보이고, 판정 기준을 안정적으로 맞추기 어렵습니다. 이번 글에서는 현장에서 원인을 좁혀 가는 기본 점검 순서를 정리합니다. 특정 카메라나 조명 제품에 종속되지 않는 일반 절차이며, 실제 장비의 입력·출력 신호와 허용 노출 범위는 제조사 문서 및 현장 안전 기준에 맞춰 확인해야 합니다. 1. 먼저 검사 대상과 결함을 정의합니다무엇을 검출할지 한 문장으로 정합니다. 예를 들어 외곽 치수, 표면 흠집, 인쇄 누락, 투명 부품의 균열은 필요한 대비가 각각 다릅니다. 양품과 불량 샘플을 준비하고, 결함 .. 2026. 10. 16. 설비 제어와 빅데이터 분석: PC 기반 제어의 우수성 현대의 산업 환경은 빠르게 변화하고 있으며, 이러한 변화는 설비 제어 시스템과 데이터 분석 기술에 큰 영향을 미치고 있습니다. 특히, PC 기반의 설비 제어 시스템은 효율성과 유연성을 제공하여 기업이 경쟁력을 유지하는 데 중요한 역할을 하고 있습니다. 이번에는 설비 제어와 빅데이터 분석의 관계를 살펴보고, PC 기반 제어 시스템과의 관계를 보도록 하겠습니다. 1. 설비 제어란 무엇인가?설비 제어는 산업 현장에서 기계 및 장치를 자동으로 조작하고 관리하는 과정을 말합니다. 이는 생산 공정에서 발생할 수 있는 다양한 변수를 실시간으로 모니터링하고 조정하여 최적의 성능을 유지하도록 돕습니다. 전통적인 방식에서 벗어나 현대에는 PLC(Programmable Logic Controller)나 SCADA(Sup.. 2025. 3. 5. VisualStudio C# 오프라인(로컬 레이아웃) 설치 만들기 1. Visual Studio 다운로드http://www.visualstudio.com 에 접속하여 Visual Studio Community 등을 다운로드 받습니다.VisualStudioSetup.exe 파일이 다운로드 됩니다. 2. 오프라인 설치 만들기명령 프롬프트(cmd)를 실행하여 다음의 명령으로 오프라인 설치 파일을 다운로드 할 수 있습니다.모든 언어의 설치 파일로 인해 용량이 큽니다. (50GB 초초과)/> VisualStudioSetup.exe --layout .\VS2022offline --lang ko-KR모두 다운로드 후, 설치 시에는 아래 명령어를 사용합니다. (인터넷 연결없이 설치함을 알림)/> .\VS2022offline\VisualStudioSetup.exe --noWeb --.. 2025. 3. 3. 실행파일(exe) 분석/디컴파일/리버스엔지니어링 설비 업체분의 연락이 왔습니다. 몇 가지 통화상 질의를 이어가다 업체를 방문하기로 합니다.PLC와 카메라 등이 연결된 소프트웨어 프로그램으로 잘 구동중에 있었습니다.문제는 여기서 발생합니다. 담당자 분은 프로그램의 기능 업데이트를 하고자 합니다. 하지만 소프트웨어 프로그램의 소스코드가 없습니다. 없다면 어쩔 수 없이 프로그램을 새로 만들면 됩니다... 하지만....더 큰 문제는 PLC의 Map Address (또는 통신 프로토콜) 문서가 존재하지 않는다는 것입니다. 이런 문제가 발생하는 경우를 종종 보게 되는 것 같습니다. 소스 코드는 소프트웨어 개발업체의 자산이자 창작물임은 명확하지만 이렇게 관리를 하지 않는 업체라면 차라리 설비에 소스 코드를 남겨두거나 제공을 하는 것이 어떨까 하는 생각을 합니다.저.. 2024. 12. 13. Hunting, Overshooting, Undershooting, Dropout, Outlier 일반적인 경우 온도 설정에서 사용되는 용어이지만, 여러 타입의 디바이스 센서 데이터를 입력받는 경우 데이터의 흐름을 명칭으로 규정하기 어렵기 때문에 현업에서 사용되고 있습니다. Set Point (설정값,설정치) : 90을 출력으로 지정했다라고 생각하면 됩니다. Hunting (헌팅) : 센서 값이 Set Point로 수렴해 가며 출렁이는 현상 Overshooting (오버슈팅) : 특정 위치에서 설정치보다 많이 큰 값이 나타나는 현상 Undershooting (언더슈팅) : 특정 위치에서 설정치보다 많이 작은 값이 나타나는 현상. Dropout (누락,탈락) : 노이즈, 통신 불량 등으로 인해 데이터를 수신하지 못하여 누락 발생. Outlier (이상점,이상치) : 관측범위를 많이 벗어난 아주 작거나 .. 2022. 8. 12. [ASCII] 아스키 코드 테이블 (The ASCII Code Table by Innosoft) 아스키 코드 테이블을 만들었습니다. ^^통신 프로그램 개발시 거의 필수로 찾아보게 되는 자료인데 포맷도 각각이고 설명도 없는 것 등이 많아 많은 내용을 포함하여 만들었습니다. 내용수정불가 다운로드 및 배포는 자유입니다 ^^~ 2021. 1. 23. 이전 1 다음