객체 지향 엔지니어링 플랫폼을 사용하면 고도로 구조화된 모듈식 기계 개념을 신속하게 구현할 수 있다. 이는 특히 점점 복잡해지고 모듈식 하드웨어를 따라잡아야 하는 경우에 주요 이점이다. SIGMATEK(시그마테크)의 올인원 엔지니어링 도구 LASAL도 적은 코드로 작동하고 그래픽 표현으로 명확성을 제공한다. (SPS-magazine 2020년 8월호 발췌, 서보스타 기사제공)
확실히 몇 줄의 코드가 있는 간단한 응용 프로그램에는 객체지향 접근 방식이 필요하지 않다. 기계 제조업체도 기존 프로그래밍으로 목표를 달성할 수 있기 때문이다. 그러나 애플리케이션이 더 복잡하고 스마트해지면 객체지향 프로그래밍(OOP)이 올바른 선택이다. 특히 다양한 기능과 이러한 기계를 지능형 기계 네트워크에 통합해야 하는 요구 사항이 있는 시리즈 기계의 경우, 객체 지향 프로그래밍 개념은 애플리케이션의 모듈성, 구조 및 단순한 재사용성을 의미한다. 이를 통해 소프트웨어는 하드웨어의 모듈성과 확장성에 보조를 맞출 수 있다. 한편, 객체 지향 프로그래밍 방법은 기계 구축에도 적용되었다. 특히 젊은 세대의 자동화 엔지니어에게 OOP는 이미 교육의 일부였다. 이 현대적인 프로그래밍 방법에 대한 경험이 있고 기능과 인터페이스에서 기계 소프트웨어를 객체지향적으로 생각하는 수많은 소프트웨어 설계자가 이미 있다.
로우 코드 – 적은 프로그래밍
20년 동안 SIGMATEK은 이미 객체 지향을 사용해 왔다. IEC 61131-3에 따른 올인원 엔지니어링 도구 LASAL은 처음부터 객체 지향적이며 사용자 프로그래밍 노력을 절약하는 로우 코드(Low Code) 플랫폼으로도 개발되었다. LASAL에서와 같이 객체 지향이 그래픽 표현으로 구현된다면 소프트웨어 프로젝트의 명확성과 유지보수성이 엄청나게 증가한다. 그리고 이것은 오늘날 기계 제작자에게 중요한 부가 가치이다. 왜냐하면 오늘날 대부분의 부가 가치를 생성하는 것은 일반적으로 소프트웨어를 통해 이루어지기 때문이다. 응용 프로그램은 또한 서비스 도구를 포함하여 제어, 시각화, 모션 및 안전과 같은 LASAL을 사용하여 일관되게 개발할 수 있다. OOP는 머신 빌더에게 새로운 가능성과 방향을 제시하지만 애플리케이션 개발에는 다른 접근 방식이 필요하다. 전체 프로젝트를 기반으로 소프트웨어 개발자는 기계에 필요한 기능과 이러한 기능이 연결되는 방식을 고려한다
하향식 설계를 사용하면 작업이 분해되고 시각적으로 시뮬레이션된다. 즉, 어떤 기계 구성 요소가 서로 통신 하고 데이터를 교환하는지 등이다. 객체와 인터페이스는 네트워크에서 정의되고 표시된다. SIGMATEK의 혁신 관리자인 Franz Aschl은 “LASAL 네트워크에서 응용 프로그램의 기능을 이해하는데 코드 줄은 필요하지 않다.”라고 설명한다.
툴킷 시스템의 소프트웨어
기능과 통신 인터페이스가 정의되면 개발은 상향식에서 시작된다. 광범위한 LASAL 라이브러리의 도움으로, 매개변수와 인터페이스가 제공되는 몇 번의 클릭을 통해 기계의 기본 기능을 조립할 수 있으며 소프트웨어 설계자는 이미 애플리케이션을 테스트할 수 있다. 다양한 LASAL 라이브러리에는 10,000개 이상의 클래스가 포함돼 있다.
최신 탬플릿과 테스트를 거쳐 바로 사용할 수 있는 소프트웨어 기능별 추가 기능 및 주제 기반 패키지와 같은 구성 요소도 사용할 수 있다. 예를 들면 컨트롤러, 레시피 관리, 알람 시스템, 안전, 데이터 분석뿐 아니라, 다축 제어 또는 델타 로봇 시운전과 같은 복잡한 모션 기능도 포함된다. Franz Aschl은 “최근에 통신용 라이브러리가 크게 성장하여 TCP/IP에서 OPC UA 클라이언트, 서버 및 MQTT를 통해 SSL 암호화로 확장되었다.”라고 말한다. 네트워킹에 대한 수요가 증가하고 있다. 예를 들어 카메라 시스템이나 제3자 제어를 통해 수평적으로 그리고 ERP, MES 및 클라우드와 같은 상위 시스템에서 수직적으로 네트워킹에 대한 수요가 증가하고 있다. 사전 정의된 소프트웨어 구성요소를 사용하여 기본 기능에 대한 개발 작업을 최대 70%까지 줄일 수 있다. 애플리케이션 엔지니어는 기계 고유의 혁신적인 기능 구현에 집중할 수 있다.
가능한 최고의 투명도
LASAL은 작업이 매우 구조화되어야 하므로 개발팀에도 이상적이다. Franz Aschl은 “모든 프로그래머는 엉성하게 구현된 프로그래밍의 딜레마를 알고 있다. 여기서 변수는 프로젝트 전체에 걸쳐 쓰여져 프로그램 변경의 영향을 실제로 예측할 수 없다.”라고 말한다. OOP를 사용하면 완전히 다르다. 개체가 외부와 격리되어 원치 않는 영향을 받지 않는다.
변수는 해당 방법만을 통해서만 조작할 수 있다. 명확한 인터페이스가 미리 정의되어 있어 적용할 수 있다고 Franz Aschl은 말한다. “모든 통신 인터페이스가 있는 네트워크에서 캡슐화된 개체의 시각적 표현은 고유하며 로우 코드 원칙뿐만 아니라 최대 투명성을 제공한다. 객체의 그래픽 표시를 통해 텍스트 편집기는 다른 객체 지향 도구와 달리 마지막에만 사용된다.”라고 Franz Aschl은 설명한다. 소프트웨어 엔지니어는 ST(구조화된 텍스트), IEC 61131-3 또는 C에 따른 명령어 목록(IL), 래더 다이어그램(LD). 반복적인 기능을 인수함으로써, LASAL과 같은 최신 엔지니어링 도구는 사용자를 위한 객체 지향 프로그래밍 사용을 단순화한다. 예를 들어, 코드 클래스를 선언하기 위해 변수 또는 인터페이스가 백그라운드에서 자동으로 생성된다.
Aschl은 “변수를 시각화할 수 있을 뿐만 아니라 글로벌 WAN 네트워크를 통해 회사 전반에 제공할 수 있으므로 개발 중에 어떤 인터페이스가 내부적으로 작동하거나 볼 수 있는지 결정된다.”라고 말한다.
LASAL 네트워크이 애플리케이션 보기 기계 기능이 그래픽으로 표시된다. 어떤 객체가 다른 객체와 연결되어 데이터를 교환하는지 한 눈에 볼 수 있다.
라이브 비주얼 디버깅
LASAL에서 구성 요소의 실제 동작은 온라인 모드에서 실시간으로 볼 수 있다. 상세보기에서 선택적 슬롯 및 버스 연결이 표시되고, 현재 값 및 구성 요소 속성을 읽거나 구성할 수 있다, 또한 LASAL 프로젝트의 하드웨어 순서는 실제 제어 하드웨어 구성과 비교할 수 있다. 차이가 그래픽으로 표시되고 제품을 개별적으로 수락하거나 제거할 수 있다. 모든 프로세스의 시뮬레이션 및 시각화를 위한 편리한 도구를 통해 완벽한 테스트 환경을 디버깅까지 확장하고 프로젝트 및 버전의 중앙 관리를 포함하여 소프트웨어의 투명성과 품질을 높일 수 있다. “LASAL에서는 라이브 비주얼 디버깅도 가능하다. 이것은 실제 값이 프로그램 코드에서 볼 수 있을 뿐만 아니라 그래픽 개체 이미지에도 있음을 의미한다. 시간이 많이 절약된다.“라고 말한다.
혁명 대신 진화
Franz Aschl은 “객체지향을 믿지 않는 사람은 과거에 갇혀 있는 것이다.”라고 말한다. 객체는 기계 기능에 해당하며, 입증된 기계 구성 요소와 마찬가지로 항상 재사용할 수 있다. “코드는 그래픽으로 준비되어 있으며 명확한 인터페이스 제공한다. 이 구조와 로우 코드 접근 방식을 통해 코드는 몇 년이 지난 후에도 쉽게 읽을 수 있고 쉽게 적응할 수 있다. 코드는 지속 가능하고 명확하게 유지 관리할 수 있다. 비용 외에도 시간과 신경을 절약할 수 있다. 응용 프로그램 자체에는 최신 객체 지향을 사용하여, 시리즈 기계 제작자는 오늘과 내일 소프트웨어를 쉽게 얻을 수 있다.” 라고 Aschl은 요약해서 말한다.
Ingrid Traintinger,
Manager Marketing Communication, Sigmatek GmbH & C