초록 close

본 논문에서는 소프트웨어 PLC를 구현하는 방안을 제시하였다. 하드웨어는 표준적인 산업용 PC와 입출력 보드들로 구성된다. 운영체제로는 수십 마이크로초의 정밀한 단위로 태스크들의 스케줄링이 가능한 실시간 리눅스를 사용하였다. 소프트웨어 PLC를 위해 개발한 실시간 태스크들은 실시간 리눅스의 커널 모드에서 실행되며, 사용 목적에 따라 작성된 PLC 프로그램을 해석하고 실행하는 작업을 일정한 주기로 반복한다. 또한 PLC 프로그램을 편리하게 작성할 수 있도록 자체 프로그램 문법을 제안하고 이를 위한 컴파일러도 구현하였다. 이렇게 구현된 PLC는 가격 대비 성능이 우수하며 소규모의 응용분야들에 유용하게 활용할 수 있다.


This paper presents an implementation of software PLC. The hardware is based on off the shelf industrial PC's and input/output boards. The operating system is real-time Linux which can schedule tasks in tens of microseconds. The tasks for the software PLC are running in kernel mode of real-time Linux, and interpret and execute application PLC programs periodically. In addition, a simple PLC programming language is presented for the software PLC, and its compiler is implemented. This approach is cost-effective and useful for small PLC's.