Development๐ฉ๐ป๐ฆณ/C#(10)
-
C# mes ํ๋ก์ ํธ ๋ฐฑ์๋ ๊ตฌํ ์ ๋ฆฌ ๋ฐ ์ถ๊ฐ ๊ฐ์ด๋ ( -3- )
https://www.notion.so/WorkManagementSystem-ea38095ae6a846c791f91a82aee003b4?pvs=43. ๊ณ ๊ธ ๋์์ธ ํจํด๊ณผ ํ ์คํธ ๊ธฐ๋ฒ๊ณ ๊ธ ๋์์ธ ํจํด์ ์ ์ฉ1. ๋ฆฌํฌ์งํ ๋ฆฌ ํจํด (Repository Pattern)csharp์ฝ๋ ๋ณต์ฌ// IWorkInstructionRepository.cspublic interface IWorkInstructionRepository{ Task> GetWorkInstructionsAsync(); Task GetWorkInstructionByTaskNameAsync(string taskName); Task AddWorkInstructionAsync(WorkInstruction workInstruction); ..
2024.07.06 -
C# mes ํ๋ก์ ํธ ๋ฐฑ์๋ ๊ตฌํ ์ ๋ฆฌ ๋ฐ ์ถ๊ฐ ๊ฐ์ด๋ ( -2- )
( ์ฒซ๋ฒ์งธ ํ๋ก์ ํธ์์ API ๊ตฌํ๋ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฐ๋๊น์ง ํด๋ดค์ผ๋ฉฐ ๋ค์ ํ๋ก์ ํธ์ ๊ฐ์ด๋๋ฅผ ์ข ๋ ๊ฒฌ๊ณ ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํด ๋จ์ต๋๋ค ) 10. ์๋น์ค ๋ฐ ์ปจํธ๋กค๋ฌ ๊ตฌํ: ์ค๋ฅ ํด๊ฒฐ์๋ก : ์ง๋ ํฌ์คํ ์์ **WorkInstructionService**์ **WorkInstructionController**๋ฅผ ํตํด ์์ ์ง์์์ CRUD ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์ด ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์ฃผ์ ์ค๋ฅ์ ๊ทธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ค๋ฅ๋ฅผ ์ ์ํ๊ฒ ํด๊ฒฐํ๊ณ , ์์คํ ์ ์์ ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.์ฃผ์ ์ค๋ฅ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ1. CS1061 ์ค๋ฅ: ํด๋์ค์ ์ ์๋์ง ์์ ๋ฉ์๋ ํธ์ถ์ค๋ฅ ์ค๋ช :CS1061 ์ค๋ฅ๋ ํด๋์ค์ ํธ์ถ๋ ๋ฉ์๋๊ฐ ์ ์๋์ด ์์ง ์์ ๋ ๋ฐ..
2024.07.06 -
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