본문 바로가기

전체 글295

Servo 서보 모터 2 _ ZP명령어 명령어니까 코일이 아니므로 내가 원하는 곳으로 기동을 한다 Un -> U7 (U어드레스인데 7)기동번호가 전에 G에서 하던거랑 똑같다S : 데이터레지스터의 선두번호예를 들어 (S)를 내가 D100라고 정했다면 D101 이 완료 스테이터스, D102 기동번호(D) 는 명령완료. 한 스캔 On하는 비트 디바이스로 M 이다ZP로 내가 원하는 위치 갔을 때 M100이 한 스캔 ON도착을 했는데 문제가 있으면 100도 살고 101도 산다 m100 이 완료 신호다m0가 살았다는게 원점을 잡았다는 것재기동 하는 방법 : 재기동 버튼 누르면 ZP를 해서 D3에 이미 마지막 목적지가 들어있으니까 축정지 Y74 하고 재기동은 ZP로 다른 초기화 방법A 공급 / B 가공 =====티칭위치를 서보에 알려주는거조그 기동으로 .. 2026. 6. 9.
PLC 특수 기능과 연산 보호되어 있는 글 입니다. 2026. 6. 2.
깃허브 Slack Webhook 추가하기 GitHub Event → GitHub Actions → Slack Webhook → Slack 채널 설정 방법 1단계 — 기존 Webhook Delete (있으면)GitHub 레포 → Settings → Webhooks → Delete webhook2단계 — GitHub Secret 등록레포 → Settings → Secrets and variables → Actions → New repository secretName: SLACK_WEBHOOK_URLValue: https://hooks.slack.com/services/- 3단계 — 워크플로우 파일 생성레포에 .github/workflows/slack-notify.yml 파일 추가:name: Slack Notifyon: push: pull_re.. 2026. 5. 19.
파이썬 자료구조 & 반복 문법 정리 1. 파이썬의 기본 자료구조 4가지파이썬에는 데이터를 담는 4가지 핵심 자료구조가 있어요.이름 기호 순서 변경 가능? 중복 허용?list (리스트)[ ]OOOtuple (튜플)( )O❌Odict (딕셔너리){key: value}O (3.7+)Okey는 ❌set (집합){ }❌O❌2. List (리스트)가장 많이 쓰는 자료구조. 순서 있고 변경 가능.fruits = ["사과", "바나나", "포도"]fruits[0] # "사과"fruits[0] = "딸기" # 변경 가능fruits.append("키위") # 추가fruits.remove("바나나") # 삭제len(fruits) # 길이언제 써? 순서가 중요하고 값을 자주 바꿔야 할 때.3. Tuple .. 2026. 4. 27.
로컬 데이터 저장 방식 로컬 데이터 저장 방식은 별도의 DBMS 설치 없이,프로그램 내부 또는 로컬 파일을 이용하여 데이터를 저장하고 관리하는 방법을 의미한다. 로컬 데이터 저장 방식은 크게 다음과 같이 구분할 수 있다. 1. 메모리 기반 저장 방식프로그램 실행 중 메모리에 데이터를 저장하는 방식 - Dictionary, List 등의 자료구조 사용- 프로그램 종료 시 데이터 소멸- 매우 빠른 처리 속도, 구현이 간단함 - 영속성 없음 (데이터 유지 불가)- 실제 DB 환경과 차이 존재2. 파일 기반 저장 방식파일을 이용하여 데이터를 저장하는 방식구분특징장점단점CSV행(Row) 기반 데이터 저장엑셀과 호환 가능간단한 구조사람이 읽기 쉬움구조 표현 제한검색확장성 부족JSONKey-Value 구조 데이터 저장구조 표현 가능API.. 2026. 4. 19.
Designer 미리보기 호환 리팩터링 가이드 Designer 미리보기 호환 리팩터링 가이드Visual Studio WinForms Designer 미리보기가 정상 동작하고, 도구상자·속성창으로 편집 가능하도록 코드를 재구성1. 문제 정의증상MainForm.cs 를 Designer 로 열면 panel1, panel2 만 보이고 실제 UI가 전혀 렌더링되지 않음각 *Panel.cs 를 Designer 로 열면 빈 회색 캔버스만 나타남도구상자에서 컨트롤을 드래그해도 추가되지 않거나 추가해도 즉시 사라짐속성창에서 컨트롤 속성을 바꿀 수 없음원인Visual Studio WinForms Designer 는 다음 원칙으로 동작합니다..Designer.cs 파일의 InitializeComponent() 메서드를 파싱해서 컨트롤 트리를 복원이 메서드에 들어 있는 .. 2026. 4. 18.
UI 쓰레드 마샬링 Invoke / BeginInvoke 윈도우 프로그래밍 UI동작 이해윈도우에서 UI는 메시지 펌프(Message Pump)라고 불리는 방식으로 동작한다.운영체제는 메시지 큐에 들어온 메시지를 하나씩 처리하면서 UI를 갱신한다.예를 들어 창이 처음 뜨거나 화면을 갱신해야하는 경우,WM_PAINT 이벤트(메시지)가 발생하여 화면을 다시 그리게 된다. 화면에 선을 하나 그린다고 가정했을 때,필요한 시점에 다시 그리기 메시지(WM_PAINT)를 보내 화면을 갱신한다.이 과정에서 수 많은 메시지가 발생하며 이 메시지들이 UI 동작을 구성한다. .NET 프레임워크는 윈도우 메시지를 처리하는 과정에서 이벤트를 발생시켜 개발자 코드를 실행할 수 있도록 한다. 모든 프로그램은 기본적으로 하나의 메인 스레드(UI 스레드)로 시작된다.폼을 화면에 그리는 작업과.. 2026. 4. 8.
병렬 프로그래밍 문법(3): Thread 동기화 - lock, interLock, Monitor 클래스 스레드 동기화스레드 동기화는 멀티스레드 환경에서 발생하는 문제를 해결하기 위한 메커니즘으로,여러 스레드가 공유 자원에 동시에 접근할 때 발생하는 문제를 해결한다. 스레드 동기화가 필요한 이유두개 이상의 스레드가 공유된 자원에 동시에 접근하려고 할 때 발생하는 문제를 레이스 컨디션(Race Condition)이라고 한다. 예를 들어 하나의 변수에 두개의 스레드가 접근하여 수정을 했을 때,메서드를 2번 호출했기에 2배의 결과가 나와야할 것 같지만 실제로는 일정하지 않게 나온다.using System;using System.Threading;class Program{ static Thread t1, t2; static int num; static void Main() { n.. 2026. 4. 8.
병렬 프로그래밍 문법(2): ThreadPool Thread 동작 방식스레드는 실행 방식에 따라 두 가지 형태로 나눌 수 있다. 1) 상시 실행스레드가 생성된 이후 종료되지 않고 오랜 시간 유지되는 방식이다.주로 무한 루프 형태로 동작하며, 지속적으로 작업을 수행한다.일반적인 애플리케이션에서는 사용이 제한적이다. 2) 일회성 실행특정 작업을 수행한 후 바로 종료되는 방식이다.스레드는 운영체제(OS)의 커널 자원으로 관리되므로 스레드를 생성하고 종료하는 과정은 비용이 크다.자주 생성/삭제할 경우 성능 저하가 발생할 수 있다. 스레드 풀 (ThreadPool)위와 같은 문제를 해결하기 위해 ThreaPool을 사용한다.ThreaPool은 미리 생성된 스레드를 재사용하여 스레드 생성/삭제 비용을 줄이는 방식이다. 재사용할 스레드가 없으면 새로운 스레드를 생.. 2026. 4. 8.