Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

SCULi가 립헬(Liebherr)의 값비싼 건설 기계를 묵묵히 감독하는 방법


Recommended Posts

이안 바커 (Ian Barker)"This Is How SCULi Silently Oversees Liebherr’s Sumptuous Construction Machines" 을 번역했습니다. (원문 작성: 2023년 2월, 최종 번역: 2024년 2월)

오늘의 기업용 대형 애플리케이션에 대한 글은, 오랫동안 운영되고 있는 대규모 윈도우 개발 프로젝트에 대한 내용이다. 이 기고에서 Didier Cabalé 씨는  'SCULi'에 대해 이야기한다. 'SCULi'는 립헬(Liebherr, 독일 건설 장비 제조 업체)의 다양한 제품들에 대한 유지보수 문제를 진단하는 중추라고 한다. 립헬의 제품들은 건설, 해양, 광업 산업에서 사용된다. SCULi는 온전히 델파이로 작성되었다. 17년 전에 첫 선을 보였다. 그리고, 지금까지 성공적으로 발전해 오고 있다. 그동안, 윈도우 운영 체제는 다양한 변화가 있었으며, RAD 스튜디오 자체 역시 진화했다. 이것이 델파이가 하는 일이다. 묵묵히, 견고하게, 안정적으로 계속 잘 실행되는 것. 델파이가 아닌 다른 무엇으로도 해낼 수 없다고 본다. 6.000명 이상의 사용자가 매일 립헬 안밖에서 SCULi를 사용하고 있다.

목차


기업용 개발 시스템인 SCULi란?

"SCULi"는  “Service Client Universal”의 약자다. 이것은 립헬의 다양한 제품들을 개발, 제작, 서비스하는데 사용된다. 건설기계, 해상 크레인, 광업용 장비 등이 그 대상이다. 이 시스템을 통해 립헬 전자 장치 또는 ECU(Electronic Control Unit)에 문제가 없는지 진단하고 유지 보수 작업을 정기적으로 실행한다.

SCULi는 '단순한' 진단 도구가 아니라 통합 시스템이다. 그 안에서는 다양한 서비스가 제공된다. 이 서비스들은 기능이 될 수도 있고, 통신 프로토콜이 될 수 있다. 그리고 이른바 확장팩들을 통해 통합된다.

SCULi의 기능들은?

다양한 기능들이 있다 (너무 많아서 모두 나열하지는 않겠다):

- 엔진 용:

spacer.png

퀵뷰 대시보드

 

기업용 개발 시스템인 SCULi의 기타 대시보드들

spacer.png

spacer.png

  • 펌프 코드(표시 안 됨)
  • 에러 메모리
  • 실린더 차단

spacer.png

  • 클릭 테스트(표시 안 됨)
  • 누출(Bleeding)
  • 압축 테스트
  • DPF 필터 유지보수
  • 수십 가지 그래픽 도구들이 엔진의 전반적인 스키마를 관련 주요 변수들을 사용해 표현

엔진 컨트롤러용 및 기계 컨트롤러용:

spacer.png

변수 편집기

spacer.png

메시지 분석기

spacer.png

메시지 탐색기

spacer.png

오실로스코프(Oscilloscope)

 

기계 컨트롤러들 용:

spacer.png

터미널 에뮬레이터

  • 모듈 정보(표시 안 됨)
  • 파일 전송
  • 모니터 에뮬레이터

spacer.png

SCOTTi 및 마법사 에뮬레이터

spacer.png

코드 생성기

"Extensions(확장팩들)"는 SCULi 프로그램의 일부인 라이브러리들이다. 이것들은 기능적 벽돌(특정 기능을 수행하는 시스템 내의 모듈식 구성요소)들과도 같다. 이 확장팩들이 다루는 것들:

  • "엔진" 유형 제어기들에 대한 특정 연결
  • "기계" 유형 제어기들에 대한 특정 연결
  • 제어기에서 추출되는 메시지들
  • 메시지 데이터베이스 찾아오기 및 표현하기
  • 제어기의 특정 인터페이스 및 모니터
  • 프로그램의 리소스들 (예: 그림)
  • 이 애플리케이션의 프레임워크
  • Liuid: (모든 기계나 엔진을 위한) 자체 제작 식별 시스템
  • 이 애플리케이션의 이벤트 브로커

전세계 6.000명 이상의 사용자가 립헬 안밖에서 SCULi를 사용하고 있다.

직접 제어 및 원격 제어 모두 가능하다.

 

기업용 개발 시스템인 SCULi의 아키텍처는?

대상 시스템은 윈도우 7에서 윈도우 11까지다.

라이선스 시스템은 설정 가능한 Marx 동글(dongle)을 기반으로 했었다. 지금은 접근 관리 시스템을 기반으로 한다. 접근하려면 인증서가 저장된 하드웨어 동글과 라이선스 파일이 있어야 한다. 이렇게 만들어진 라이선스 시스템은 기능을 활성화 또는 비활성화한다. 그 기준은 대상 ECU의 식별자 패턴 (LiUIP)에 대한 사용자의 등급이다.

 

마이크로소프트 COM이 기업용 개발 시스템인 SCULi 안에서 담담하는 부분은?

COM 아키텍처를 사용하면, 확장팩들을 메인 애플리케이션 백본으로부터 따로 분리할 수 있다. 이 방법은 몇 가지 장점이 있다:

  • (여러 립헬 계열사들 사이에서) 분산 개발이 가능하다.
    spacer.png
  • 통합 테스트가 가능하다.
  • (스크립트를 통해) SCULi에 명령할 수 있다.

 

COM을 어떻게 델파이에 통합했는가?

델파이는 .tlb 편집기를 제공한다:

spacer.png

...그리고  *TLB.pas 인터페이스 소스 파일로 변환한다. 이 소스 파일은 프로젝트 안에서 전반적으로 사용된다.

spacer.png

 

SCULi는 어떻게 ECU 하드웨어와 통신하는가?

2014년 이전에는, SCULi와 ECU 간의 통신 계층이 프레임 워크 확장팩의 일부였다. ECU 종류 따라 서로 다른 다양한 통신 프로토콜들이 사용되어야 했다.

2014년 이후에는, ECU와의 통신이 외부 전문 계층인 MCom에게 위임된다.

  • 로깅 및 오류 추적 시스템: SmartInspect 및 EurekaLog
  • 변환: POEdit 및 DXGetText.
  • 설정: Inno Setup으로 구축
  • 프로젝트 규모: 최대 1,000개 유닛 파일
     

SCULi를 위해 델파이를 선택한 이유는?

SCULi 프로젝트는 2006년에 시작되었다. 당시에 델파이가 강력하고 빠른 Win32 애플리케이션을 구축하는 데 가장 적합하다고 평가되었다.
또한 델파이는 당시 (우리가 따르고자 했던) COM 기반 아키텍처에 맞춰 개발하는 데에도 가장 적합한 후보였다.

게다가, 광범위한 써드파티 라이브러리를 제공했다. 그것들을 우리에게 필요한 모든 기능 스펙트럼을 커버했다. 2009년에는, 프로젝트 전체를 델파이 2009로 마이그레이션 했다.

 

어떤 써드파티 라이브러리들을 사용했나?

다음과 같은 써드파티 라이브러리를 사용했다.

  • DCPCrypt2
  • DISQLite3
  • GDIPlus
  • Indy10
  • JCL + JVCL
  • Python for Delphi
  • RE (Regular Expression, 정규 표현식)
  • TeeChart-Pro
  • TMS
  • TurboPower
  • Virtual TreeView
  • wPDF
  • XML Parser (출처: destructor.de)

 

기업용 개발 시스템인 SCULi에서 그 밖에 우리가 알아야 할 것들은?

2023년 현재, SCULi 첫 출시 후 17년이 지났는데, 델파이는 여전히 Win32 애플리케이션을 구축하는 데 있어 시장의 다른 개발 도구와 비교할 수 없이 유리하다. 그 이유는 만들어지는 바이너리가 매우 컴팩트하고 속도가 빠를 뿐만 아니라, 컴포넌트 도구 세트가 유연하면서도 강력하기 때문이다. 델파이 2009에서 델파이의 그 다음 버전으로 마이그레이션한 뒤에는 개발자의 생산성이 훨씬 더 향상되었다 (언어가 많이 강화되었기 때문이다). 게다가 WIn32 플랫폼용으로만 개발한다는 한계를 뛰어 넘어서, 안드로이드, 리눅스, 맥OS, iOS용으로 개발할 수 있다.

 

이 글은 기업용 대형 애플리케이션에 대한 기고 경연 대회(Enterprise Article challenge)에 제출된 것이다. 만약 여러분도 델파이, C++빌더 또는 RAD 스튜디오를 사용하여 만든 훌륭한 엔터프라이즈 제품과 프로젝트에 대해 이야기하고 싶은 성공 사례가 있다면 연락을 주기 바란다.

한국 개발자는 데브기어의 델파이 사례 기고 행사에 참여하세요!

이 댓글 링크
다른 사이트에 공유하기

  • 2주 후...

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.