ZedGraph를 이용한 시간별 Value 측정(2)
·
IT/C# Windows Form(.NET Framework)
2025.01.23 - [IT/C# Windows Form(.NET Framework)] - ZedGraph를 사용한 시간별 Value 측정(1)저번 글에 이어서 작성본이다. [Cbx_Color_SelectedIndexChanged]Configuration에서 그래프에서 Line의 색상을 바꿔주는 이벤트이다.세 개의 comboBox가 이 이벤트에 묶여있으며, comboBox의 이름을 switch문으로 구분 한 다음GetColorFromString을 호출하여 comboBox에서 사용자가 선택한 색상으로 반환한다.[Cbx_TimeCycle_SelectedIndexChanged]그래프의 Time Cycle을 변경하는 이벤트이다.comboBox에서 값을 변경하면 호출되고, 변경한 값이 TimeCycle 변수로 ..
ZedGraph를 사용한 시간별 Value 측정(1)
·
IT/C# Windows Form(.NET Framework)
C# WPF ZedGraph를 사용한 그래프를 작성해 볼 것이다.NuGet으로 ZedGraph를 다운받으면 된다.  먼저, 전반적인 UI이다.ZedGraph와 Button, Label을 배치하여 X축은 시간(60초), Y축은 Random클래스를 사용하여 난수를집어넣어 Value값 3개(Data A, B, C)를 표시할 것이다.아래 Panel에는 그래프에 대한 설정을 변경할 수 있는 기능들을 추가해줬다.실시간으로 받아온다했으면서  Time Cycle을 작성한 이유는,1초마다 실시간으로 받아온 Value를 그래프로 표기하게 되면, 이렇게 어지러운 그래프가 생성되기 때문에, TimeCycle로 적당한 주기를 잡아준 후 그래프를 그릴 것이다.변수 선언 부이다.다른 클래스는 다 써봤고, GraphPane은 zed..
PLC - ModBus
·
카테고리 없음
1. 개요ModBus-TCP는 산업용 필드버스 분야에서 자주 사용되는 통신 프로토콜이다.TCP/IP 네트워크 상에서 상위장치와 하위장치간의 인터페이스를 위하여 고안된 방법이다.ModBus-TCP 통신규격에는 마스터(Client)와 슬레이브(Server)의 역할이 나누어져 있다.슬레이브(Server)는 마스터(Client)가 요청하는 데이터에 대해 응답해준다.마스터(Client)와 슬레이브(Server)간의 정상적인 Data 통신을 하기 위해서는 ModBus-TCP 프레임구조에 맞는 데이터 패킷을 전송해야 한다.ModBus-TCP 프레임 구조는 범용 ModBus(RTU, ASCII) 프레임 구조와 상당히 비슷하다. 2. 프레임 구조ModBus-TCP는, ModBus RTU의 프레임에서 CRC를 제외하고 앞..
PLC_Device
·
카테고리 없음
1. 개요PLC 내부에서 사용할 수 있는 전기적 소자, 즉 디바이스에는 4가지 종류의 디바이스가 있다.외부 디바이스 - CPU 외부에서 입력을 받거나 출력을 할 때 사용하는 디바이스(X, Y)내부 디바이스 - CPU 외부로 직접 출력할 수 없으며 CPU내부에서 사용하는 디바이스                          (M, L, B, T, C, W, D, Z, R)비트 디바이스 - ON/OFF 신호만 취급 (X, Y, M, L, B)워드 디바이스 - 데이터 취급(T, C, W, D, Z, R)2. 디바이스 종류X (입력)PLC 입력 유닛에 연결된 입력 장치의 ON/OFF 데이터를 저장하는 입력 디바이스입력 데이터는 PLC CPU의 입력 저장 영역에 저장됨X 디바이스는 프로그램 상에서는 코일로 사용 ..
직렬 통신 / 병렬 통신
·
카테고리 없음
직렬(Serial) 통신하나의 통신선로 위에서 한번(한 CLOCK)에 비트 하나씩 연속해서 전송동시전송은 허용되지 않음.상대적으로 느리지만, 간단하고 장거리에 유용하며 가격도 저렴통신을 하려면 기본적으로 3개의 선이 필요, TxD(송신), RxD(수신), GND동기 통신2개의 디바이스 사이에서 동기를 취하고 그 타이밍에 따라 데이터를 송수신데이터의 교환이 없는 사이도 제어용의 신호가 흐르고 있으므로 상대와의 동기를 유지 가능실 데이터를 송신할 때는 그것을 수신하고 데이터가 없는 때에는 대기 상태를 나타내는 신호 교환이처럼 통신이 확립되면 실 데이터를 송수신한 것에 데이터의 시작과 종료를 나타내는 신호가 존재하지 않기 때문에 전송 속도는 빨라짐비동기 통신1바이트를 8개의 비트로 분리해서 한 번에 1비트씩 ..
OpenFileDialog / SaveFileDialog
·
IT/C# Windows Form(.NET Framework)
OpenFileDialog : 파일을 불러오기 위한 class속성FileName : OpenFileDialog을 부를 때 기본값으로 설정할 파일 이름InitialDirectory : OpenFileDialog을 부를 때 기본값으로 설정할 폴더경로Filter : 파일을 불러올 때 지정한 파일 확장자만 불러오기 위한 속성           지정 방식 : 필터설명|필터 옵션            ex) (*.JPG)|*.JPGTitle : OpenFileDialog을 부를 때 창 왼쪽 상단의 타이틀SaveFileDialog : 파일을 저장하기 위한 class속성은 OpenFileDialog와 거의 같다.using System;using System.Windows.Forms;namespace Test{ pu..
PictureBox
·
IT/C# Windows Form(.NET Framework)
기본적으로 pictureBox Control은 이미지나, 영상을 출력하게 해주는 Control이다. PictureBox의 속성속성기능ImagepictureBox에 출력할 이미지 설정BorderStylepictureBox의 테두리 형식 설정None[default] : 테두리를 만들지 않는다FixedSingle : 테두리를 만든다.Fixed3D : 3차원 모양의 테두리를 만든다.SizepictureBox의 이미지 크기를 설정한다.Width : 가로Height : 세로SizeModepictureBox의 이미지가 표시되는 방식을 나타낸다.Normal[default] : pictureBox의 크기만큼 이미지가 표시StretchImage : 이미지를 확대/축소해서 pictureBox에 꽉 채워 표시AutoSize ..
UserControl(사용자 정의 컨트롤)
·
IT/C# Windows Form(.NET Framework)
UserControlWinform에서 기본적으로 제공하는 Control 외 사용자가 원하는 형태의 Control을 만들어서 사용 가능사용 이유 : Code를 분리해서 가독성을 높여 줄 수 있음.                   Control들의 재사용성이 뛰어남. Delegate(델리게이트)delegate란?대리자를 의미함.함수(메서드)를 참조하기 위한 데이터 형식(데이터형)즉, 델리게이트는 메서드를 참조하기 위한 데이터 형식델리게이트는 시그니처(메서드 형식)가 동일한 하나 이상의 메서드를 참조할 수 있음.델리게이트를 호출하면 참조하고 있는 메소드가 호출됨델리게이트를 사용하여 이벤트가 발생할 때 실행되는 메서드(이벤트 핸들러)를 등록하고 처리할 수 있음.delegate 사용 이유UI 관련 컴포넌트에 여러..