전체 글
-
2장. 변수와 데이터 타입DEV/C 2026. 1. 21. 15:43
모든 대부분 언어는 변수라는게 있다. 변수라는건 값을 저장하는 상자이다. 현실에서 비유하자면 상자에 물건을 담는데상자의 이름은 age이고 상자안의 내용물은 20이라고 가정하자. int age = 20; 여기서 int는 데이터 타입이고 age라는 상자안에 20이라는 물건이 들어 있다. 마지막에 ; 는 세미콜론으로 c언어의 문법이라고 생각하면 된다. 문장을 마칠때 쓰는 . 이다 왜 변수를 써야 하나?변수 없이 계산한다면:printf("나이: %d\n", 25);printf("내년 나이: %d\n", 25 + 1);printf("10년 후 나이: %d\n", 25 + 10);25를 30으로 바꾸려면? → 모든 25를 찾아서 바꿔야 함변수 사용하면:int age = 25; // 여기 한 곳만 바꾸면 됨!pri..
-
1장. Visual studio code에서 C언어 시작하기DEV/C 2026. 1. 20. 16:26
개인적으로 처음 시작할땐 Visual studio로 시작하는게 정석이라고 생각했다. 설치만 하면 컴파일러, 디버거 모든게 한번에 설치 되고 복잡한 설정없이 바로 시작 가능하기때문에 편하지만Visual studio code를 추천하는 이유는 우선 1. 가볍다(필요한 것만 설치 해서)2. 크로스 플랫폼이다(비쥬얼 스튜디오는 Windows에 최적화 되어 있다)3. 확장성이 더 좋다4. Git 연동이 좀더 직관적이다.5. 무료다(Visual studio도 무료이긴 하다)6. 요즘은 현업에서 VSC를 더 많이 쓰는 기분이다 라는 이유로 조금 불편하더라도 Visual studio code에 익숙해지자. 우리에게 필요한 것은 두가지. Visual studio code와 MinGW64이다. Visual studio ..
-
0장. 시작하기 전에DEV/C 2026. 1. 20. 15:35
C언어 강의를 시작해보자. 개발을 처음 접하는 감자들을 위한 강의이다 C언어란 무엇인가?C언어는 1972년 데니스 리치(Dennis Ritchie)가 개발한 절차적 프로그래밍 언어다. 이런거 알면 유식해 보일 수 있는 장점이 있다. 임베디드 시스템부터 운영체제까지 광범위하게 사용되며, 하드웨어에 가까운 저수준 프로그래밍 언어이다 절차적 프로그래밍 언어? 저수준? 이라는 말이 책이나 강의를 본다면 거의 항상 나오는 말일텐데 이게 무슨말일까?절차적이란 말은 말그대로 위에서 아래로 순서대로 실행된다는 것이다. 양말을 신는다옷을 입는다신발을 신는다현관문을 연다나간다 위 언어는 한글이고 명령을 순서대로 실시한다면 결국 옷을 입고 집밖을 나가게 되는 것이다. 그럼 다른언어는 절차적 언어가 아니라는건가? 라는 질문을..
-
8. OPC UA Information modeling 심화Smart factory 2026. 1. 20. 05:53
이전까지는 OPC UA에 기초중의 기초를 배워봤다. 이제 진짜 공장에서 쓰는 복잡한 시스템 모델링을 배워보자. 기본 VS 심화 모델링 차이 기본 (지금까지 배운 것)공장├── 온도센서1 (Float = 25.5)├── 압력센서1 (Float = 1.2) └── 모터1 (Int = 100)심화 (실제 공장)공장 ├── 생산라인1 (ProductionLine Type)│ ├── 스테이션1 (ProcessingStation Type)│ │ ├── 온도제어기 (TemperatureController Type)│ │ │ ├── 현재온도 (Temperature)│ │ │ ├── 목표온도 (Temperature)│ │ │ ├── PID파라미터 (PIDSettings)│ ..
-
7. OPC UA Services(서비스)Smart factory 2026. 1. 20. 05:01
OPC UA에서 Client와 Server가 실제로 어떻게 대화를 할까? Client가 server에게 "~해줘" 라고 요청할 수 있는 명령어 목록이 있는데 이를 Services라고 한다. 주요 Service 카테고리들1. Session Services (세션 서비스)연결 관리를 위한 서비스들CreateSessionClient: "안녕, 연결하고 싶어"Server: "좋아, 세션 ID는 12345야"ActivateSessionClient: "인증서랑 비밀번호 확인해줘"Server: "인증 완료, 이제 사용할 수 있어"CloseSessionClient: "연결 끊을게, 안녕"Server: "알겠어, 세션 종료했어"2. View Services (조회 서비스)Address Space 구조를 탐색하는 서비스..
-
6. OPC UA NamespaceSmart factory 2026. 1. 20. 04:08
공장이 커지면 같은 이름의 장비가 여러개 있을 수 있다. 이를 해결 하기 위실생활 예시문제 상황:김해공장: "온도센서1"부산공장: "온도센서1" 대구공장: "온도센서1"어떤 온도센서1인지 헷갈린다!해결책 - 주소 체계:경남 김해시 김해공장 온도센서1부산 강서구 부산공장 온도센서1 대구 달서구 대구공장 온도센서1OPC UA Namespace 체계Namespace Index각 회사/시스템마다 고유 번호를 부여:ns=0: OPC Foundation 표준 (기본)ns=1: 우리 회사 전체ns=2: A 라인 장비들ns=3: B 라인 장비들 ns=4: 삼성 PLCns=5: 지멘스 센서들Namespace URI더 정확한 구분을 위해 웹사이트 주소 같은 형태 사용:"http://opcfoundation.org/U..
-
5. OPC UA Information Model(정보 모델)Smart factory 2026. 1. 20. 03:12
이전장에서 데이터 타입을 알아봤고 이제 OPC UA가 데이터를 어떻게 구조화 하는지 알아보자.Address Space란 뭔가?Address Space는 OPC UA Server가 자신의 모든 정보를 정리해놓은 "큰 서랍장"이다.Node라는 개념Address Space 안의 모든 것들을 Node라고 부른다. Node는 "정보 조각" 하나하나를 뜻한다. 예시:온도센서1 = Node현재온도 값 = Node 압력센서1 = Node모터상태 = Node Node의 종류들1. Object Node (객체 노드)실제 장비나 시스템을 나타냄공장├── 1호라인 (Object)│ ├── 온도센서1 (Object)│ └── 압력센서1 (Object)└── 2호라인 (Object) └── 모터1 (Object)..