본문 바로가기

개발이야기44

자동화 장비의 시퀀스 디버깅의 핵심은 시나리오이다. ✔ 자동화 장비의 시퀀스 디버깅: 문제 발생의 조건 시퀀스 파악 자동화 장비는 제조업에서부터 의료, 물류, 서비스 산업에 이르기까지 다양한 분야에서 중요한 역할을 하고 있다. 이런 장비는 수많은 작동 시퀀스와 변수에 의해 제어되며, 때로는 예상치 못한 문제가 발생하기도 한다. 이때, 문제의 원인을 정확히 파악하기 위해서는 해당 문제가 발생할 수 있는 조건의 시퀀스, 즉 '시나리오'를 철저히 조사하는 것이 중요하다. ✔ 시나리오: 조건의 시퀀스 시나리오는 일련의 조건과 상황, 그리고 그들이 연속적으로 발생하는 순서를 의미한다. 예를 들어, 자동화 장비가 특정 작업 중에 오류를 발생시킨다면, 그 오류가 발생하기 직전의 모든 조건과 상황, 그리고 각각의 시퀀스 간의 현재 상태를 정밀하게 파악하는 것이 필요하다.. 2023. 10. 4.
자동화 장비 PLC 제어의 단점 PLC는 오랫동안 자동화 장비 제어를 위해 사용되어 왔고 , 지금도 산업 현장에서 가장 많이 사용하는 자동화 장비 제어기이지만 전통적인 PLC 제어기나 개발 방식은 몇가지 단점이 있는 것도 사실이다. 복잡한 제어를 하기 어려운 구조 (래더 다이어그램) PLC (Programmable Logic Controller)는 주로 래더 다이어그램을 사용하여 프로그래밍된다. 래더 다이어그램은 전기 회로도를 기반으로 한 시각적 프로그래밍 방법이다. 이는 간단한 제어 작업에 적합하지만, 복잡한 제어 로직을 구현하기에는 한계가 있다. ​ ​ 제어 축 수에 따라 추가적인 HW 모듈 필요 PLC는 제어할 축의 수가 많아질수록 추가적인 하드웨어 모듈이 필요하다. 이는 비용과 설치 공간을 증가시킨다. ​ ​ 제한된 기능으로 복.. 2023. 8. 28.
C++,C# 같은 범용 개발 언어를 이용한 PC제어의 단점 PC기반 자동화 장비를 제어할 때 대뿐 C++ , C# 같은 범용 개발 언어와 Visual Studio로 개발 작업을 하고 있지만 , 사실 범용 언어를 이용한 자동화 장비 제어는 여러가지 문제점이 많이 있다. 또한 이러한 문제점들로 인해 장비를 개발하고 제작하는 기업들은 제어 소프트웨어 개발자를 채용하고 관리하는데 커다란 어려움에 처해 있다. ​ 경험있는 숙련된 개발자가 필요 C++와 C#은 높은 수준의 추상화와 복잡한 구조를 가진 언어들이기 때문에, 이러한 언어들을 효과적으로 사용하려면 상당한 경험과 지식이 필요하다. 이는 개발자의 학습 곡선이 높고, 초보자에게는 특히 어려울 수 있다. 따라서, 개발팀에 경험있는 숙련된 개발자가 필요하다. 개발 기간이 오래 걸림 C++와 C#은 상대적으로 낮은 수준의 .. 2023. 8. 27.
자동화 장비 제어를 PLC로 해야하나 PC로 해야하나? 자동화 장비를 만들어야 하는데, 어떤 제어기로 개발을 해야 할까요? PLC제어와 PC 제어의 논쟁은 항상 뜨거운것 같습니다. 다만 이런 논쟁을 하는 사람들이 정말 제대로 PLC제어와 PC제어를 잘 모르고 하는 소리가 많은데요 , 이것은 어떤 사람이라도 모든 자동화 장비를 경험해 볼 수가 없기 때문에, 단지 자신이 일하고 경험했던 라인, 공장 , 회사의 제한된 경험을 가지고 일반화하여 얘기하기 때문입니다. PLC로만 제어하는 라인에서 10년 이상 일했던 개발자라면 장비 제어는 당연히 PLC로 해야지 , 안정성도 떨어지고 버그도 많은 PC로 어떻게 제어를 하냐 할테고, 반도체 라인에서 PC제어만 10년 이상 개발하던 제어 담당자는 자동화 장비는 PC로 제어해야지 통신도 잘 못하고 대용량 데이터 저장도 잘 안.. 2023. 8. 26.
가성비 개발: 초기 개발 목표와 중요한 고려 사항 초기 개발 단계에서는 사용자 편의성을 50% 만족시킬 목표로 꼭 필요한 기능만 빠르게 개발하는 것이 중요합니다. 이렇게 50% 만족도를 위한 개발은 가성비가 가장 좋다고 할 수 있습니다. 시간이 충분하다면, 80%까지 개발 가성비는 괜찮다고 볼 수 있습니다. 하지만, 처음부터 100% 완벽한 기능을 목표로 개발할 때에는 다음과 같은 문제점들이 발생할 수 있습니다. 📌 너무 많고 난이도 높은 기능 개발 이슈로 인해 시작도 못함 (예: Designer) 📌 개발 기간이 너무 길어짐 (예: XScript에 모든 문법을 지원하려 했다면?) 📌 개발이 될 때까지 사용자는 불편한 상태에 방치 (예: VisionTool 편집기) 📌 사용자의 피드백 없이 개발자 혼자만의 생각으로 전혀 편리하지 않은 기능으로 개발 📌 .. 2023. 5. 12.