MMS(Manufacturing Message Specification)는 PLC, NC, 로봇 등과 같이 서로 다른 제조회사의 서로 다른 단위제어기기 제품들간에 통신할 수 있는 ISO/IEC 9506으로 표준화된 공장자동호용 프로토콜이며 OSI참조 모델의 최상위 층인 응용계층 프로토콜에 해당된다. 본 논문은 MMS를 TCP/IP상에서 동작할 수 있도록 유닉스 환경에서 ASNSI-C 언어로 구현하고, 이 구현된 프로토콜을 JNI(Java Native Interface)를 이용해 JAVA 클래스화한다. JAVA 클래스화함으로써 기존에 제공되는 MMS 라이브러리를 이용하는데 있어 표준화되지 않은 서로 다른 API를 이용하는데 어려움과 GUI를 구현하는데 어려움을 극복하는 기본을 제공한다. 그리고 구현된 JAVA 클래스화된 MMS 라이브러리를 인터넷의 WWW상에서 동작시킬 수 있도록 자동화된 PCB(Printed Circuit Board) 조립라인을 대상 모델로 선정하여 응용 프로그램을 작성하여 구현된 JNI를 이용한 MMS가 인터넷상에서 동작하여 사용자에게 일괄성있는 인터페이스를 제공하는 웹 브라우저를 통해 RMD(Real Manufacturing Device)를 동작${\cdot}$제어${\cdot}$감시할 수 있음을 보여준다.
MMS(Manufacturing Message Specification)는 PLC, NC, 로봇 등과 같이 서로 다른 제조회사의 서로 다른 단위제어기기 제품들간에 통신할 수 있는 ISO/IEC 9506으로 표준화된 공장자동호용 프로토콜이며 OSI 참조 모델의 최상위 층인 응용계층 프로토콜에 해당된다. 본 논문은 MMS를 TCP/IP상에서 동작할 수 있도록 유닉스 환경에서 ASNSI-C 언어로 구현하고, 이 구현된 프로토콜을 JNI(Java Native Interface)를 이용해 JAVA 클래스화한다. JAVA 클래스화함으로써 기존에 제공되는 MMS 라이브러리를 이용하는데 있어 표준화되지 않은 서로 다른 API를 이용하는데 어려움과 GUI를 구현하는데 어려움을 극복하는 기본을 제공한다. 그리고 구현된 JAVA 클래스화된 MMS 라이브러리를 인터넷의 WWW상에서 동작시킬 수 있도록 자동화된 PCB(Printed Circuit Board) 조립라인을 대상 모델로 선정하여 응용 프로그램을 작성하여 구현된 JNI를 이용한 MMS가 인터넷상에서 동작하여 사용자에게 일괄성있는 인터페이스를 제공하는 웹 브라우저를 통해 RMD(Real Manufacturing Device)를 동작${\cdot}$제어${\cdot}$감시할 수 있음을 보여준다.
Manufacturing Message Specification (MMS) is designed as a communication standard protocol, ISO/IEC 9506, on factory automation for messaging between heterogeneous programmable unit controller, PLC, NC, Robot, of different vendors on the networks. MMS is also a standard protocol of OSI reference mod...
Manufacturing Message Specification (MMS) is designed as a communication standard protocol, ISO/IEC 9506, on factory automation for messaging between heterogeneous programmable unit controller, PLC, NC, Robot, of different vendors on the networks. MMS is also a standard protocol of OSI reference model application layer, In this paper, we show an implementation of MMS over TCP/IP using ANSI-C programming language on the unix environment, and make java classification using java native interface (NJI) with MMS library. The use of java classification provides a basic environment ot overcome a difficult programming with different MMS application programming interface (MMS-I) which requires a siklled programming technique of graphic user interface (GUI). In this paper, we implement a MMS application program of the automated assembly model for printed circuit board based on WWW which shows the operation, control and monitoring of real manufacturing device (RMD) with web browser providing users for consistent user interface.
Manufacturing Message Specification (MMS) is designed as a communication standard protocol, ISO/IEC 9506, on factory automation for messaging between heterogeneous programmable unit controller, PLC, NC, Robot, of different vendors on the networks. MMS is also a standard protocol of OSI reference model application layer, In this paper, we show an implementation of MMS over TCP/IP using ANSI-C programming language on the unix environment, and make java classification using java native interface (NJI) with MMS library. The use of java classification provides a basic environment ot overcome a difficult programming with different MMS application programming interface (MMS-I) which requires a siklled programming technique of graphic user interface (GUI). In this paper, we implement a MMS application program of the automated assembly model for printed circuit board based on WWW which shows the operation, control and monitoring of real manufacturing device (RMD) with web browser providing users for consistent user interface.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 이러한 어려움을 조금이라도 해결할 수 있는 해결책으로써 C 언어로 구현된 MMS에 JNI를 이용해 인터페이싱하여 자바 클래스화된 MMS 라이브러리를 제공하여 WWW을 통해 MMS를 이용해 RMD를제어·감시할 수 있는 기반을 마련하고자 한다. MMS 를 자바로 전체 구현하지 않은 이유는 네이티브 언어 (본 구현에서는 C언어)에 비해서 자바가 처리 속도 면에서 늦기 때문이다[4].
자바 프로;!래밍 언어는 이러한 WWW 서비스 제공을 위해 사용되는 HTML(HyperText Markup Language) 언어의 한계를 극복하기 위해 많은 프로그래머들의 관심의 대상이 되고 있으며 자동화 분야에서의 적용도 늘어나고 있는 추세에 있다[3]. 본 논문에서는 인터넷의 WWW을 통해 단위제어기기를 제어하고 감시할 수 있도록 MMS를 자바 네이티브 인터페이스(Java Native Interface : JNI)[4, 5]를 이용해 구현하는데 그 목적이 있다.
가설 설정
③ 셀 제어기에서 MMS의 START 서비스 요청을 통해서 각각의 RMD을 동작시킨다(이때 RMD의전원은 ON된 것으로 가정한다.).
행동에 대한결과를 서버 MMPM에게 보내고, 서버 MMPM에서는결과에 해당되는 MMS-Response PDU를 생성한 후 네트워크를 통해 서비스를 요청한 클라이언트 MMPM 에게 전달한다. 통신하는 중에 에러가 발생하면 자세한 에러의 내용을 보내기 의해 MMS-Error PDU를 보내지만 본 논문에서는 모든 통신이 정상적으로 이루어진다고 가정하였다. VMD는 구조체를 중심으로 RMD의자원을 구현하였고, VMD의 외부에서 보이는 행동, 즉 RMD의 행동을 모듈로서 구현하여 MMS를 지원하는 RMD를 연결함으로써 곧바로 통신을 할 수 있도록 했다.
제안 방법
상에서 많이 구현되고 있다. "MMS over MAP' 이나 'MMS over MiniTMP'은 비용 면에서 고가이고, OSI는 현재 대중화가 되어있지 않기 때문에 'MMS over TCIW'는 위 두 단점을 잘 보완해줄 수 있는 적설한 선택이며, 본 논문에서는 TCP/IP 상에서 MMS 를 구현한다.
통신하는 중에 에러가 발생하면 자세한 에러의 내용을 보내기 의해 MMS-Error PDU를 보내지만 본 논문에서는 모든 통신이 정상적으로 이루어진다고 가정하였다. VMD는 구조체를 중심으로 RMD의자원을 구현하였고, VMD의 외부에서 보이는 행동, 즉 RMD의 행동을 모듈로서 구현하여 MMS를 지원하는 RMD를 연결함으로써 곧바로 통신을 할 수 있도록 했다.
구현 환경은 Sun SPARC 워크스테이션을 머신으로선택했으며, 자바 애플릿의 실행은 웹 브라우저를 통해 이루어지므로 대상 머신뿐 아니라 웹 브라우저가 탑재된 어떤 머신에서도 실행될 수 있도록 구현한다. 운영체제는 Solaris 2.
4개의 서버 프로그램을 각각 실행시킨 후 클라이언트프로그램을 실행시킴으로써 셀 제어기를 통한 웹 브라우저에서의 서버들을 제어하기 위한 모든 준비는 끝난다. 구현된 응용 프로그램에서는 이미 네이티브 언어로 작성된 자동화용 프로토콜인 MMS에 JNI를 이용해 자바 클래스화한 라이브러리를 이용했다. 그리고 인터넷상의 원격지에서 조작자는 웹브라우저를 실행시켜 버튼 등을 이용해 파라미터를 전달하거나 실시간으로 데이터를 전달받아 자동화 기기들의 현재 동작 상황을 보여주도록 했다.
JDK (Java Development Kit) 패키지에 포함되어 있는 javah 를 이용해 헤더와 스터브(stub)를 생성한다. 그런 후 앞서 생성된 헤더를 네이티브 언어에 포함시키고, JNI 사양서⑸에 따라 네이티브 언어로 작성된 MMS를 수정한다. 본 구현에서는 유닉스 시스템을 이용하였기 때문에 수정된 MMS는 ld(link editor for object files : man page 참조)를 이용해 *.
서비스 요청에 대한 응답 메시지 전송은 반대로 볼 수 있다. 그렇기 때문에 구현에서는 변환기와 디코더, 인코더 부분을 MMPM의 각 시스템 내에 각각 두었다.
구현된 응용 프로그램에서는 이미 네이티브 언어로 작성된 자동화용 프로토콜인 MMS에 JNI를 이용해 자바 클래스화한 라이브러리를 이용했다. 그리고 인터넷상의 원격지에서 조작자는 웹브라우저를 실행시켜 버튼 등을 이용해 파라미터를 전달하거나 실시간으로 데이터를 전달받아 자동화 기기들의 현재 동작 상황을 보여주도록 했다. 만약 자바를 사용하지 않았다면 조작자는 제어기가 위치한 장소에서만 자동화 기기 들을 제어·감시할 수 있었을 것이다.
그리고 구현된 자바와 인터페이스된 MMS를 이용해 자동화된 PCB 조립라인을 모델로 응용 프로그램을 작성하여 구현된 JNI를 이용한 MMS가 사용자에게 일관성있는 인터페이스를 제공하는 웹 브라우저를 통해 인터넷상에서 RMD를 제어·감시할 수 있음을 보였다. 네 개의 서버와 하나의 클라이언트를 실행시, 켜 데모라인의 동작을 확인하였다.
논문의 구성은 먼저 MMS 프로토콜과 MMS 환경구현, JNI를 이용한 MMS를 설계한다. 자바 프로그래밍 언어와 연결한 MMS를 구현하는 방법 제시와 JNI를이용한 MMS를 구현하고 자동화된 PCB(Printed Circuit Board) 조립라인모델을 대상으로 응용 프로그램을 개발하여 인터넷상에서 MMS 프로토콜을 이용해 단위제어기기를 동작·제어·감시할 수 있음을 검증한다’ MMS 구현에 따라서는 응용 프로그램을 도스 모드 [6, 기에서 동작할 수 있도록 하거나 윈도우 모드[8]에서 동작할 수 있도록 할 수 있지만 JAVA를 이용한 구현은 본 논문에서 처음 시도되는 것이다.
그러나 이것을 이용해 구현한 GUI는 단지 로컬에서만 실행될 수 있으며 분산된 환경에서는 이용할 수 없다. 따라서, 본 논문의 응용 프로그램의 구현에서는 RMD 오퍼레이터의 위치에 상관없고 웹 브라우저를 이용 해일 관성 있는 사용자 인터페이스를 제공하기 위해 애플릿 부분도 추가하여 구현하였다.
맨 하위 층이 네이티브 언어로 구현된 MMS 라이브러리를 나타내고 이것을 이용해 자바 클래스화 하였다. 이 자바 클래스화된 MMS 라이브러리는 MMS 응용 프로그램 작성시 필요에 따라 적절히 호출하여 이용된다.
본 구현에서는 네이티브 언어를 이용해 먼저 MMS 를 구현하였다. 따라서 [4]에서 제시하는 순서와 다르다’ 네이티브 언어로 작성된 MMS는 그대로 두고, MMS 서비스 이름을 클래스이름으로 하는 네이티브 메쏘드 (native method)를 선언한 자바 파일을 구현한다.
본 구현에서는 하위 계층이 TCP/IP를 사용하므로 소켓 APKSocket Application Programming Interface)# 이용해 연결 설정한 후 하위계층으로 PDU를 전송하도록 설계·구현하였다. 소켓 API는 유닉스에 기본적으로 포함된 시스템 함수를 이용했다.
형태로 제공된다. 제공되는 MMS는 각기 다른 API를 제공하고 있어 사용자 응용 프로그램을 작성하는데 어려움이 있으나, 본 구현에서는 MMS를 자바와인터페이싱함으로써 간단한 HTML 언어로써 사용자응용 프로그램을 작성하여 인터넷상의 어떤 곳에서도 MMS를 이용해 RMD를 제어·감시할 수 있는 기반을 구축했다.
1에 의해 생성된 데이터 구조체 형식으로 변환한 후 BER(Basic Encoding Rules)[12] 인코더(encoder)에 의해서 표현계층 데이터 형식으로 변환한다. 즉, MMS 클라이언트와 서버가 공통된 신택스(syntax)를 사용하여 정보를 양쪽 모두 이해할 수 있도록 데이터를 암호화한다. 변환된 데이터는 메시지 전송 루틴에 의해서 하위 프로토콜 스택으로 보낸다.
자바 소켓을 통해서는 사용자로부터의 제어 파라미터와 MMS 서버로부터 받은 결과를 MMS 클라이언트로부터 전송받아 화면에 표시하게 된다. 클라이언트와 서버는 각각 MMS 서비스라이브러리를 가지고 있도록 했고, 서버에는 RMD와의매핑을 위한 VMD를 두었다. MMS를 이용해 RMD를제어·감시하기 위해 사용자는 웹 서비스를 이용하는 것처럼 웹 브라우저를 이용하기만 하면 되도록 했다.
대상 데이터
본 논문에서는 OSI 모델에 비해 대중화되어 있는 TCP /『를 MMS구현을 위해 선택했다. 즉, .
성능/효과
그리고 구현된 자바와 인터페이스된 MMS를 이용해 자동화된 PCB 조립라인을 모델로 응용 프로그램을 작성하여 구현된 JNI를 이용한 MMS가 사용자에게 일관성있는 인터페이스를 제공하는 웹 브라우저를 통해 인터넷상에서 RMD를 제어·감시할 수 있음을 보였다. 네 개의 서버와 하나의 클라이언트를 실행시, 켜 데모라인의 동작을 확인하였다.
JNI를 이용한 MMS를 설계한다. 자바 프로그래밍 언어와 연결한 MMS를 구현하는 방법 제시와 JNI를이용한 MMS를 구현하고 자동화된 PCB(Printed Circuit Board) 조립라인모델을 대상으로 응용 프로그램을 개발하여 인터넷상에서 MMS 프로토콜을 이용해 단위제어기기를 동작·제어·감시할 수 있음을 검증한다’ MMS 구현에 따라서는 응용 프로그램을 도스 모드 [6, 기에서 동작할 수 있도록 하거나 윈도우 모드[8]에서 동작할 수 있도록 할 수 있지만 JAVA를 이용한 구현은 본 논문에서 처음 시도되는 것이다. 이것은 응용 프로그램 작성시 GUI를 구현하는데 어려움을 해결할 수 있는 기반을 제공할 뿐 아니라 사용자가 웹 브라우저를 이용함으로써 사용상의 편리를 함께 제공한다.
참고문헌 (19)
김정호, 이상범, 'MAP 네트워크에서 MMS 운영을 위한 가상제조기기의 설계', 한국 정보처리학회 논문지 제2권 제3호, pp.397-405, May 1995
Peter A. Lagoni, Christophei, Crall, and Thomas G. Bartz, 'HP MAP 3.0 Manufacturing Message Specification/800,' Hewlett-Packard Journal, Aug. 1990
Robert W. Atherton, 'Moving JAVA to the factory,' IEEE SPECTRUM, Dec. 1990
ISO 8824, Information proecessing systemsOpen Systems Interconnection-Specification of Abstract Syntax Notation One (ASN.1), 1995
ISO 8825, Information processing systems-Open Systems Interconnection-Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.1), 1987
David Flanagan, 'JAVA In a Nutshell, 2nd Ed.,' O'Reilly. 1997
Jed Caben and John Jackman, 'An Icon-Based Approach to System Control Development,' IEEE Trans. on Industrial Electronics, Vol.37, No.3, pp.259-264, Jun. 1990
Raymond Seng-Sim Cheah et ai, 'Design and implementation of an MMS environment on ISODE,' Elsevier Science B.V. Computer Communications 20, pp.1354-1364, 1997
A. Valenzano, C. Dermartini and L. Ciminiera. 'MAP and TOP Communications,' Addison-Wesley, Massachusetts, 1992
E. Freund, H.-J. Buxbaum and U. van der Valk, 'PC-based hierarchical manufacturing cell control,' Control Eng. Practice, Vol.1, No.6, pp. 1047-1054, 1993
Sengoda G. Shanmugham, Terrence G. Beaumariage, Chell A. Roberts, 'Manufacturing Communication : A Review of the MMS Approach,' Computer ind Engng Vol.28, No.1, pp.1-21, 1995
J. P. T. Mo and Y. Wang, 'Integrated Robot Control using Manufacturing Message Specification Protocol based on NetBIOS,' Control Eng. Practice, Vol.1, No.6, pp.971-978, 1993
※ AI-Helper는 부적절한 답변을 할 수 있습니다.