이제 Beckhoff의 모든 최신 산업용 PC 플랫폼에서 TwinCAT/BSD를 통해 대체 운영체제를 사용할 수 있다. TwinCAT/BSD는 TwinCAT 런타임과 산업에서 입증된 UNIX 호환 오픈 소스 운영체제인 FreeBSD를 결합한다. Intel Xeon 프로세서까지 두 개의 ARM CPU를 모두 지원하는 확장 가능한 플랫폼은 소형 임베디드 컨트롤러에서 고성능 IPC까지 사용할 수 있다.
TwinCAT/BSD는 장기적으로 Beckhoff의 Windows CE 후속 제품으로 설계되었지만 더 복잡한 운영체제인 Windows 7 및 10의 대안으로 많은 어플리케이션에 적합하다.
Beckhoff TwinnCAT/BSD는 IPC 세계에서 사용자에게 여러 새로운 옵션들을 제공해준다. Windows CE의 후속 운영체제인 TwinCAT/BSD는 고객들에 더 다양한 범위의 기능을 제공할 수 있을 것으로 기대된다. 대규모 운영체제의 대안으로, UNIX 환경의 기능들은 새로운 가능성을 제공할 것이다. 또한 복원 지점과 백업 생성을 위해 Beckhoff에서 제공하는 강력한 ZFS 파일 시스템과 툴은 데이터 무결성과 안정성을 보장한다. 게다가, Windows 시스템과는 비교되는 Docker 컨테이너 사용 옵션, Beckhoff Package Manager를 통한 소프트웨어 설치 및 전체 시스템 업데이트 기능은 추가적인 가치를 제공한다. 표준 데스크톱은 없지만 효율적인 HTML5 웹 브라우저와 HMI를 구현하기 위한 추가 옵션들을 통해 고객은 시각화에 필수적인 요소만 제공받을 수 있기 때문에 시스템이 간소화된다. 그러나 필요한 경우 다양한 소프트웨어 추가 기능으로 시스템을 조정해 고객의 요구를 최적으로 충족시킬 수 있다.
안정적이고 사용하기 쉬운 FreeBSD
TwinCAT/BSD는 Windows CE의 대체 운영체제라는 개념을 넘어 비용 효율적이고, 설치 공간을 많이 차지하지 않는다. 실제로, 대형 운영체제의 특성과 종합적인 TwinCAT 3 기능을 통해, 여러 어플리케이션에 Windows 7 및 Windows 10의 대안을 제시해주기도 한다. TwinCAT/BSD는 FreeBSD 오픈 소스 운영체제를 사용하며, 컴팩트한 크기와 우수한 안정성 및 성능을 자랑한다. 또한, 다양한 기능들이 요구되는 자동화 산업에서 특별한 이점들을 보장하며 Visual Studio에서 TwinCAT 3 XAE의 친숙한 프로그래밍 환경은 그대로 유지된다. 또한, 네트워크를 통해 TwinCAT/BSD 타겟 시스템에 연결하는 컴퓨터는 여전히 Windows 환경을 사용할 수 있다.
FreeBSD는 BSD(Berkeley Software Distribution)를 기반으로 한다. 이 운영체제는 캘리포니아대학교 버클리 캠퍼스(University of California, Berkeley)에서 오리지널 Unix의 기능을 개선하고 확장하기 위해 개발되었다. 이 과정에서, 운영체제가 개발되어 현재는 오리지널 Unix 코드가 거의 포함되지 않으며, 허용도가 높은 BSD 라이선스인 자체 라이선스로 게시되었다. 그 결과 FreeBSD 프로젝트는 우수한 네트워크 특성과 산업 친화적인 라이선싱으로 인해 현재 서버 인프라와 임베디드 시스템에 주로 사용되고 있다. 그러나, 가장 상업적으로 성공한 BSD 시스템은 FreeBSD에서 파생된 소스 코드가 포함된 Apple사의 독점 macOS와 iOS 운영체제라고 할 수 있다.
Ubuntu, Debian 또는 Arch Linux와 같은 수많은 배포판에서 커널 역할을 하는 Linux와는 달리 FreeBSD는 단순 커널이 아닌, 완전한 운영체제다. 두 운영체제는 개발자 커뮤니티라는 측면에서 공통점을 가지고 있고, 대규모 사용자 기반에 의해 지속적으로 개발된다. FreeBSD는 2년마다 선출되는 핵심 팀에 의해 주도되며 FreeBSD 프로젝트의 핵심 목표를 설정하는 역할을 한다. Linux와 FreeBSD는 Unix 아키텍처를 기반으로 하며 FreeBSD 역시 POSIX 표준을 대부분 지원하기 때문에 가장 잘 알려진 Linux 프로그램도 FreeBSD에서 실행된다.
Beckhoff는 기본 운영체제를 선택할 때 신뢰성과 안정성 외에도 TwinCAT을 시스템에 어느정도 통합할 수 있는가를 중요하게 생각한다. 기술적인 관점에서, Linux는 TwinCAT을 위한 선택적인 동반 시스템으로 카피레프트 조항이 있는 GPL 라이선스로 인해 상당한 법적 장애물이 존재한다. GPL 라이선스에는 GPL 라이선스 프로그램을 사용, 배포할 때 조직이 최종 사용자가 소스 코드를 사용할 수 있도록 해야 한다고 명시되어 있다. 또한 카피레프트 조항은 GPL 소프트웨어에서 파생된 소프트웨어도 GPL 라이선스가 적용되도록 보장한다. 따라서 Linux는 TwinCAT과 고객 소프트웨어를 GPL 라이선스로 게시해야 했을 것이다. 반면, 훨씬 더 비즈니스 친화적인 BSD 라이선스의 경우 주요 의무 조항 없이BSD 라이선스 코드 적용 및 배포를 할 수 있다.
오픈소스 소프트웨어인 FreeBSD는 완전한 소스 코드를 제공한다. 따라서 TwinCAT은 FreeBSD 커널에 완벽하게 통합되었으며 특정 조건에서 친숙한 Beckhoff Windows시스템의 고성능 실시간 속성을 개선할 수 있었다. 필요한 경우Beckhoff는 FreeBSD 소스 코드를 추가로 변경할 수 있으며, 이러한 방식으로 시스템을 사용자의 필요에 따라 조정할 수 있다. 이는 Beckhoff가 제3자로부터 완전히 독립적이라는 것을 의미한다. 이를 통해 시스템 자체뿐만 아니라 제품 수명 주기에도 큰 영향을 미칠 수 있으므로 사용자 요구 사항이 최적으로 구현될 수 있다.
TwinCAT/BSD의 속성
TwinCAT/BSD는 기본적으로 ZFS(Z 파일 시스템)를 지원한다. Windows 파일 시스템 NTFS 및 FAT32와 비교해봤을 때, 이 기능은 자동화 산업에 이점을 제공한다. 기존 파일 시스템과 ZFS를 모두 사용하면 파일이 하드 디스크의 파일 블록에 저장된다. 기존 파일 시스템은 파일을 수정할 때 파일 블록을 직접 편집한다. 시스템 충돌이나 전원 장애와 같이 예기치 않은 사고가 발생할 경우, 일반적으로 불완전하거나 손상된 파일만 남게 되므로 더이상 읽을 수 없어 시스템 오류가 발생할 수 있다. ZFS는 copy-on-write(쓰기 시 복사) 원리에 따라 파일을 편집한다. 즉, 해당 데이터 블록이 직접 편집되는 것이 아니라 사전에 사용 가능한 하드 디스크 공간에 복사된다. 그리고 이전 데이터 블록은 그대로 남게되며 쓰기 액세스 중에 예기치 않은 사고가 발생하더라도 데이터 무결성이 유지된다. 따라서 이 시스템은 예상치 못한 정전 및 시스템 고장 상황에서 매우 유용하다.
Copy-on-write 방법의 또 다른 장점은 현저하게 적은 메모리로 기존 메모리 블록을 유지해 스냅샷을 만들 수 있다는 것이다. 스냅샷(저장된 시스템 상태)은 업데이트 또는 소프트웨어 테스트 전에 생성할 수 있다. 예상치 못한 문제가 발생하면 시스템을 이전에 저장된 시스템 상태로 재설정할 수 있다. ZFS는 기본 RAID, 파일 압축 및 모든 데이터 블록에 걸쳐 자동으로 구성된 검사합(Checksum) 외에도 강력한 데이터 무결성 지향 운영체제를 위한 이상적인 기반을 제공한다. 또한 TwinCAT/BSD는 최신 운영체제의 모든 품질을 제공한다. 다른 주목할 만한 속성으로는 현재의 네트워크 기술, 포괄적인 하드웨어 지원 및 최신 Unix 시스템 보안이 있다. 대형 Windows 시스템과 마찬가지로 TwinCAT/BSD는 다중 사용자 시스템이기도 하다. 예를 들어, 효과적인 Unix 권한 관리 기능을 갖춘 TwinCAT/BSD를 통해 다양한 어플리케이션 시나리오를 구상할 수 있다.
Beckhoff는 백업을 생성하고 시스템을 복원하는 프로그램에서 TwinCAT/BSD를 보호하기 위한 툴을 제공한다. 복원 지점을 생성하면 사용자가 정의할 수 있는 초기화 재설정이 가능하다. 이러한 복원 지점은 더 이상 부팅할 수 없는 시스템에서도 액세스할 수 있으므로 이전 시스템 상태를 복원할 수 있다.
TwinCAT/BSD의 강점 중 하나는 리소스 절약 구조이다. 기본 시스템을 위해 오직 300MB만 요구되며, Windows CE와 비슷한 수준이다. 그러나 TwinCAT/BSD의 추가 기능으로 Windows CE를 능가한다. TwinCAT Many-Core Control을 통한 TwinCAT/BSD 멀티 코어 지원은 대형 운영체제의 경우와 마찬가지로 TwinCAT의 잠재력을 극대화한다. 또한, 모든 TwinCAT 런타임 기능의 포팅이 가능해질 예정이다. 대부분은 이미 베타 버전으로 제공되고 있다. 이러한 종합적인 TwinCAT 기능과 ARM CPU가 장착된 소형 컨트롤러뿐만 아니라 Intel Xeon 서버 프로세서가 장착된 대형 디바이스에서 예약 사용을 할 수 있는 기능을 통해 TwinCAT/BSD는 모든 성능 클래스에 강력한 제어 시스템을 제공한다.
대규모 운영체제와 비교했을 때 Beckhoff가 호스팅하는 서버를 통해 소프트웨어를 설치 및 업데이트할 수 있다는 점은 가장 혁신적인 기술이다. 간단한 명령만으로 기본 시스템과 타사 소프트웨어 및 TwinCAT을 포함한 전체 시스템을 최신 상태로 업데이트할 수 있다. 또한 보안 패치를 쉽게 설치할 수 있다. TwinCAT 외에도 Beckhoff Package Server를 통해 타사 소프트웨어를 다운로드할 수 있다. 이를 위해 공식 FreeBSD 서버가 미러링된다. 이러한 방식으로 제공되는 소프트웨어는 Beckhoff에서 지원되지 않지만 패키지 서버 하나만 사용하면 추가 소프트웨어를 간단하게 설치할 수 있다. 따라서 웹 서버나 데이터베이스와 같은 타사 소프트웨어를 추가 구성없이 단 하나의 명령으로 TwinCAT 기능을 설치하는 것과 동일한 방식으로 설치할 수 있다.
TwinCAT/BSD의 런타임과 Windows의 엔지니어링 환경의 상호 작용
사용자 인터페이스, 가상화 및 보안
2021년에는 TwinCAT HMI, TwinCAT PLC HMI도 TwinCAT/BSD 시스템에서 로컬로 지원된다. 이를 위해 HTML5 브라우저를 전체 화면 모드로 설치하거나 PLC HMI 클라이언트를 설치하는 설치 패키지가 있다. 컴팩트한 크기와 보안에 적합한 완전한 데스크탑 환경이 제공된다. HTML5 웹 브라우저를 사용하면 사용자가 FreeBSD 명령 라인을 사용하지 않고도 Windows에서 이미 익숙한 Beckhoff Device Manager를 사용해 시스템을 진단하고 구성할 수 있다. 마찬가지로, Device Manager는 원격 진단도 가능하다. 소프트웨어, 파일 관리자, 기타 새로운 기능의 관리 및 설치를 시각화하는 소프트웨어 관리자를 추가하면 간단한 시스템 구성이 보장된다.
TwinCAT 런타임의 추가적인 최신 기능은 시스템의 Docker 컨테이너와 함께 사용될 수 있지만 Windows에서는 TwinCAT 아키텍처와 Docker의 기능적 원리 때문에 사용할 수 없다. 그러나 TwinCAT/BSD에서 기본 하이퍼바이저를 사용하면 Docker를 설치할 수 있는 작은 가상 Linux 머신을 설정할 수 있다. 이러한 설정으로 사용자 TwinCAT/BSD 플랫폼에서 Docker 컨테이너 전체를 사용할 수 있다. FreeBSD는 또한 Docker 컨테이너와 유사한 소규모 격리 환경인 “감옥(jail)”을 기본적으로 지원한다. 이러한 경량 가상화 옵션으로 감옥에 캡슐화된 어플리케이션이 나머지 시스템과 별도로 실행될 수 있다.
보안은 산업용 컨트롤러에서 점점 더 중요한 역할을 하고 있다. 이러한 측면을 충족하기 위해, 시스템은 최소한의 개방형 포트와 서비스를 함께 제공한다. 이로 인해 잠재적인 위험이 최소화된다. 예를 들어, 보안 ADS 포트는 공장에서만 설치되므로 디바이스와의 암호화된 연결만 가능하다. 또한 통합 PF(Packet Filter) 방화벽은 매우 까다로운 환경에서도 광범위한 구성 옵션을 제공한다. 지속적으로 제공되는 보안 패치는 Beckhoff Package Server를 통해 빠르고 쉽게 설치될 수 있으며, 세분화된 권한 관리 및 Unix 시스템의 일반적인 소규모 대상 영역도 TwinCAT/BSD에서 보안을 위한 우수한 기반을 제공한다.
링크:
www.beckhoff.com/twincat-bsd