Development๐ฉ๐ป๐ฆณ(27)
-
C# mes ํ๋ก์ ํธ ๋ฐฑ์๋ ๊ตฌํ ์ ๋ฆฌ ( -1- )
ํ๋ก์ ํธ ๋ง์ง๋ง ๊ตฌํ ์ฌํญ์ด๋ฉฐ API ์ฐ๋ ๋ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฐ๋์ com์ ์ด์ฉํ ํต์ ์ฐํ ๋ฐฉ๋ฒ์ ์ฐ๊ธฐ ์ด์ ๋ฒ์ ์์ ๊ตฌํํ์ต๋๋ค1. ํ๋ก์ ํธ ๊ฐ์ ๋ฐ ์ด๊ธฐ ์ค์ ์๋ ํ์ธ์! ์ค๋์ ์ ๊ฐ ์ต๊ทผ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๊ฒช์๋ ๋ฐฑ์๋ ๊ด๋ จ ๊ตฌํ ์ฌํญ๊ณผ ์๋ฌ ํด๊ฒฐ ๊ณผ์ ์ ๊ณต์ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์ ์๋ฆฌ์ฆ ์ค ์ฒซ ๋ฒ์งธ๋ก, ํ๋ก์ ํธ ๊ฐ์์ ์ด๊ธฐ ์ค์ ์ ๋ํด ๋ค๋ฃฐ ์์ ์ ๋๋ค. ์ด ๊ณผ์ ์์ ๋ฐ์ํ ๋ฌธ์ ๋ค๊ณผ ๊ทธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํ๊ฒ ์ต๋๋ค.ํ๋ก์ ํธ ๊ฐ์: ์ด๋ฒ ํ๋ก์ ํธ๋ ์์ ์ง์์ ๊ด๋ฆฌ ์์คํ ์ ๊ตฌ์ถํ๋ ๊ฒ์ด ๋ชฉํ์์ต๋๋ค. ์ด ์์คํ ์ ๋ค์ํ ์์ ์ง์์๋ฅผ ์์ฑ, ์กฐํ, ์์ , ์ญ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ฐฑ์๋๋ ASP.NET Core์ Entity Framework Core๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ..
2024.07.05 -
winDowsForms App + plc ํตํฉ ์์ฐ ๋ฐ ํ์ง ๊ด๋ฆฌ ์์คํ ํ๋ก์ ํธ ์์
๊ธฐ๊ฐ์ : 06.19 ~ 7์ 10์ผ๊น์ง ์ฃผ์ ์ฃผ์๊ธฐ๋ฅ๊ณต์ ๊ด๋ฆฌ ์์คํ ๊ธฐ์ค์ ๋ณด, ๊ณตํต์ฝ๋, ๊ณต์ ๊ทธ๋ฃน, ๋จ์๊ณต์ , ์์ฐ๋ณด๊ณ ์ฐฝ๊ณ ๊ด๋ฆฌ ์์คํ ์ฃผ๋ฌธ ์์ง, ์ฐฝ๊ณ ๊ด๋ฆฌ, ์ค๋น๊ด๋ฆฌ, ํ๋ฐฐ ์ ์, ํ๋ฐฐ ์ถ์ ํ์ง ๊ด๋ฆฌ ์์คํ ๊ฒ์ฌ๊ธฐ์ค, ๋ถ๋๊ฒ์ฌ, ๋ถ๋๋ด์ญ, ๋ถ๋ํํฉ, ํด๋ ์์ฒญ๊ตฌ์์ฐ ๊ด๋ฆฌ ์์คํ ์์ ์ง์, ์์ ์ค์ , ์๋ณ๊ทผํ, ๊ณํ ๋ฐ ์ค์ , ๋ฌธ์ ๊ด๋ฆฌ ํ๋ก์ ํธ ํํธ ๊ตฌ์ฑ์์์ฐ ๊ด๋ฆฌ ์์คํ : ์์ ์ง์, ์์ ์ค์ , ์๋ณ๊ทผํ, ๊ณํ ๋ฐ ์ค์ , ๋ฌธ์ ๊ด๋ฆฌํํธ๋ก ์ง์ ๋์๋ค ์ด๊ธฐ ๊ธฐํ ๋ฐ ์ค์ผ์ค๋ฌ ์์ฑ์ ๋ด๊ฐ ๋งก์์ ์งํํ์๋ค. ๊ตฌํ์ฌํญ์ ๋ํ ์ ๋ฐ์ ์ธ ํฐํ์ ์ด๋ฌํ๋ค.์ด ์ค ์ ์ญ์์ผ์ผํ ์งํ๋ค์ ์ ์ญ์ํค๊ณ ์งํํ๊ธฐ๋ก ํ๋ค ํ๋ก ํธ์๋ ํํธ์ ์ง์คํ๊ณ ๋ฐฑ์๋ ๋ถ๋ถ์ ๊ตฌํ์ ์ํ๊ฑฐ๋ ์ฌ์์ ๋ฎ์ถ๋ ๋ฐฉ์์ผ๋ก ์ฒซ ํ๋ก์ ํธ ๊ตฌํ ์์ค์ ..
2024.06.21 -
Arduino์ ๋ธ๋ ๋๋ณด๋๋ก ์์ํ๋ ์ ์๊ณตํ ๊ธฐ์ด: ํ๋ก๊ทธ๋๋ฐ ์ ์ ํ์ํ ์๋ฐ์
๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ:๊ฐ์ด๋ฐ ๊ฒ์์ IC๋ ATmega328P ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ ๋๋ค. Arduino UNO์ ๋ ์ญํ ์ ํฉ๋๋ค.USB ํฌํธ:์ผ์ชฝ ์์ ์์นํ๋ฉฐ, ์ปดํจํฐ์์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ก ์ฝ๋๋ฅผ ์ ๋ก๋ํ๊ณ ์ง๋ ฌ ํต์ ์ ์ํ ํฌํธ์ ๋๋ค.์ ์ ์ญ:์ผ์ชฝ ํ๋จ์ ๊ฒ์์ ๋ฐฐ๋ด ์ญ์ ์ธ๋ถ ์ ์ ๊ณต๊ธ ์ฅ์น(7-12V DC)๋ก Arduino ๋ณด๋์ ์ ์์ ๊ณต๊ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.๋์งํธ I/O ํ:๋ณด๋์ ์ค๋ฅธ์ชฝ ์๋จ์ ์์นํ 0-13๋ฒ ํ์ ๋์งํธ ์ ๋ ฅ/์ถ๋ ฅ ์์ ์ ์ฌ์ฉ๋ฉ๋๋ค.์๋ ๋ก๊ทธ ์ ๋ ฅ ํ:๋ณด๋์ ์ค๋ฅธ์ชฝ ํ๋จ์ ์์นํ A0์์ A5๊น์ง์ ํ์ ์๋ ๋ก๊ทธ ์ผ์ ๊ฐ์ ์ฝ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.์ ์ ํ:VIN, 5V, 3.3V, GND ํ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ ์ผ์ ๋ฐ ๊ธฐํ ๋ถํ์ ์ ์์ ๊ณต๊ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.๋ฆฌ์ ๋ฒํผ:์ผ์ชฝ ์๋จ์ ..
2024.06.14 -
Mitsubishi PLC์ C# WinForms ์ฐ๋ ๊ฐ์ด๋ ( Guide to Integrating Mitsubishi PLC with C# WinForms )
1. ActUtlType ๊ฐ์ฒด ์ด๊ธฐํ ๋ฐ ์ค์ ๋จผ์ , PLC์์ ํต์ ์ ์ํด ActUtlType ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํํ๊ณ ๋ก์ง์ปฌ ์คํ ์ด์ ๋ฒํธ๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.csharp์ฝ๋ ๋ณต์ฌprivate ActUtlType plc;public Form1(){ InitializeComponent(); plc = new ActUtlType(); plc.ActLogicalStationNumber = 1; // ๋ก์ง์ปฌ ์คํ ์ด์ ๋ฒํธ ์ค์ }2. PLC ์ฐ๊ฒฐ (Open Port)PLC์ ์ฐ๊ฒฐํ๋ ๋ฉ์ปค๋์ฆ์ btnOpenPort_Click ์ด๋ฒคํธ ํธ๋ค๋ฌ์์ ๊ตฌํ๋ฉ๋๋ค. ์ด ๋ฉ์๋๋ ActUtlType ๊ฐ์ฒด์ Open ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ PLC์์ ์ฐ๊ฒฐ์ ์๋ํฉ๋๋ค.csharp์ฝ๋ ๋ณต์ฌprivate void btnOpen..
2024.06.14 -
2์ฐจ์ ๋ฐฐ์ด์ ํ์ฉํ ๋คํ์ ํ์ ์ํธ ๊ตฌํ ๋ฐฉ๋ฒ (C#)(Implementing Multi-Tab Patient Encryption Using 2D Arrays in C#)
[์์ 3] 2์ฐจ์ ๋ฐฐ์ด์ ์ด์ฉํ ๋คํ์ ํ์ ์ํธ ๊ตฌํ.zip๊ตฌํํ Vigenere ์ํธํ ํ๋ก๊ทธ๋จ์ ๋ํ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ ์ฃผ์ ๋ถ๋ถ์ ์ฝ๋ ๋ฉ์ปค๋์ฆ๊ณผ ์ฃผ์ ๊ตฌํ ๋ผ์ธ, ์ฐ์ ์ฐ์ฐ์, ํจ์๋ค์ ํ๋ฆ์ ์์ธํ ์ค๋ช ํ๊ฒ ์ต๋๋ค.์ ์ฒด ์ฝ๋ ๊ตฌ์กฐVigenere ์ํธํ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์๋ก๋ถํฐ ํ๋ฌธ๊ณผ ํค์๋๋ฅผ ์ ๋ ฅ๋ฐ์ Vigenere ํ๋ฅผ ์ด์ฉํด ์ํธํ๋ ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ Windows Forms๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋์์ผ๋ฉฐ, ์ฃผ์ ๋ก์ง์ Form1 ํด๋์ค์ ์ด๋ฒคํธ ํธ๋ค๋ฌ์์ ์ฒ๋ฆฌ๋ฉ๋๋ค.์ฃผ์ ์ฝ๋ ๋ฆฌ๋ทฐVigenere ํ ์ด๋ธcsharp์ฝ๋ ๋ณต์ฌ// Vigenere ํ ์ด๋ธ ์์ฑString[,] Vigenere_Table = new String[26, 26];for (int i = 0; i ..
2024.06.14 -
C#์ ์ด์ฉํ ์๋ํ ๋ณด์์ ์ํ ๊ฐ๋จํ ์ํธํ ๊ธฐ๋ฒ(Enhancing Automation Security with Simple Encryption Techniques)
์ํธํ์ ํ์์ฑ ๋ฐ ์ฉ๋ ( Necessity and purpose of encryption ) ๊ณต์ ์๋ํ์์ ์ํธํ ๋ฐ ๋ฐ์ดํฐ ์๊ธฐ ๊ธฐ์ ์ ๋ฐ์ดํฐ ๋ณดํธ, ์์ ํ ํต์ , ํ๋ก์ธ์ค ๋ณด์ ๋ฑ ๋ค์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.1. ๋ฐ์ดํฐ ๋ณดํธ ๋ฐ ๊ธฐ๋ฐ์ฑ ์ ์ง์์ฐ ๋ฐ์ดํฐ ๋ณดํธ: ์์ฐ๋, ๊ณต์ ์๊ฐ, ํ์ง ๊ฒ์ฌ ๊ฒฐ๊ณผ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋ณดํธ.๊ธฐ๊ณ ๊ฐ ์์ ํ ํต์ : ๊ธฐ๊ณ ๊ฐ ํต์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋์ฒญ ๋ฐฉ์ง.2. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ฐ ์ธ์ฆ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ: ๋ฐ์ดํฐ ์ ์ก ์ค ๋ณ์กฐ ์ฌ๋ถ ํ์ธ.์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ์ ๊ทผ ์ ์ด: ์ฌ์ฉ์ ์ธ์ฆ ์ ์ํธํ๋ ํ ํฐ ์ฌ์ฉ.3. ํ๋ก์ธ์ค ๋ณด์ ๋ฐ ์ด์ ๊ฐ์งํ๋ก์ธ์ค ๋ณด์ ๊ฐํ: ์ํธํ๋ ๋ช ๋ น์ด๋ก ํน์ ํ๋ก์ธ์ค ๋ณดํธ.์ด์ ๊ฐ์ง ์์คํ : ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ํตํด ๋น์ ์ ํ๋ ํ์ง.4. ๊ณต๊ธ๋ง..
2024.06.12