KR100887105B1 - Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce - Google Patents

Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce Download PDF

Info

Publication number
KR100887105B1
KR100887105B1 KR1020080088827A KR20080088827A KR100887105B1 KR 100887105 B1 KR100887105 B1 KR 100887105B1 KR 1020080088827 A KR1020080088827 A KR 1020080088827A KR 20080088827 A KR20080088827 A KR 20080088827A KR 100887105 B1 KR100887105 B1 KR 100887105B1
Authority
KR
South Korea
Prior art keywords
peripheral device
net
embedded controller
windows
component
Prior art date
Application number
KR1020080088827A
Other languages
Korean (ko)
Inventor
김진만
김진효
Original Assignee
김진만
김진효
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김진만, 김진효 filed Critical 김진만
Priority to KR1020080088827A priority Critical patent/KR100887105B1/en
Application granted granted Critical
Publication of KR100887105B1 publication Critical patent/KR100887105B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • G06F13/107Terminal emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/007Digital input from or digital output to memories of the shift register type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Abstract

A method for implementing .net component to control a peripheral device in an industrial embedded controller to which a Windows CE is loaded is provided to reduce program coding quantity by automatically generating a code corresponding to the setting of a peripheral device. A .net component for controlling a peripheral device is registered to an IDE(Integrated Development environment) of a programmer computer(S301), and the .net component corresponding to the control target peripheral target device is set up by using the programmer computer(S302). A device driver is set up and registered to control the peripheral device included in the .net component during a run time(S304), and a device driver is called by executing a component(S305). Interface mapping for the called device driver and the control target peripheral target device is performed(S306), and a control operation of the control target peripheral device is executed by driving the called device driver(S308).

Description

Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법{Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded Windows CE}Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded Windows CE}

본 발명은 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법에 관한 것으로, 특히, SOC(System On Chip)를 활용한 임베디드 컨트롤러 또는 컴퓨터에 MS Windows CE 운영 체제가 탑재된 시스템 환경에서의 장치 응용프로그램 개발 시, 주변 장치(peripheral device)의 제어에 있어서 디바이스 드라이버를 닷넷 컴포넌트화하여 하드웨어를 간단하게 제어할 수 있는 닷넷 컴포넌트의 구현 방법에 관한 것이다. The present invention relates to a method of implementing a .NET component for controlling peripheral devices in an industrial embedded controller equipped with Windows CE. In particular, the MS Windows CE operating system is installed in an embedded controller or a computer using a system on chip (SOC). The present invention relates to a method for implementing a .Net component that can easily control hardware by .Net componentizing a device driver in the control of a peripheral device when developing a device application program in an advanced system environment.

일반적으로 통합개발환경(Integrated Development Environment, IDE) 시스템이란 개발 생산성을 향상시키기 위해서 사용되는 시스템으로, 폼 디자이너, 코드 편집기, 컴파일러 등이 통합되어 통합적인 개발환경을 제공하는 시스템을 말한다.In general, an integrated development environment (IDE) system is a system used to improve development productivity, and refers to a system that provides an integrated development environment by integrating a form designer, code editor, and compiler.

이러한 통합개발환경 시스템은 위저드(Wizard) 방식으로 기본적인 코드 생성 형태를 지원하며, 위저드에서 생성되는 코드 형태는 템플릿을 이용하여 생성한 다. The integrated development environment system supports the basic code generation form in the wizard method, and the code form generated in the wizard is generated using the template.

한편, 닷넷 프레임워크(.NET Framework)는 XML 웹 서비스(Web Service), 마이크로소프트 윈도우 기반 응용 프로그램 및 웹 솔루션을 신속하게 작성하고 통합할 수 있게 해주는 광범위한 도구 모음이다.The .NET Framework, on the other hand, is a comprehensive suite of tools that enable you to quickly create and integrate XML Web Services, Microsoft Windows-based applications, and Web solutions.

이러한 닷넷 프레임워크는 마이크로 소프트 운영체제 제품군의 중요한 새 구성요소로서 보다 쉽게 시스템을 구축 및 배포하고 다른 네트워크 연결 시스템과 통합 할 수 있는 차세대 윈도우 기반 응용프로그램의 기초이다.This .NET framework is an important new component of the Microsoft operating system family and is the foundation for next-generation Windows-based applications that make it easier to build, deploy, and integrate with other network-connected systems.

최근에 닷넷 프레임워크를 사용자들이 선호하는 추세이고, 닷넷 프레임워크를 적용함으로써, 컴퓨터에 제공하는 안정성과 사용 편의성, 그리고 기타 시스템 연결기능이 향상되고, 성능, 보안 및 안정성 부문의 개선을 통해 소프트웨어 개발자와 시스템 관리자가 보다 쉽게 시스템을 구축 및 유지 관리할 수 있도록 하였다.In recent years, the .NET framework has become a favorite of users, and by applying the .NET framework, software developers can improve the stability, ease of use, and other system connectivity provided to computers, and improve performance, security, and reliability. And system administrators can more easily build and maintain the system.

이러한 닷넷 프레임워크는 거의 모든 언어로 작성할 수 있고, 메모리 관리, 보안관리, 오류 처리 등과 같은 일반 코드 작성 작업을 도와주어 프로그램을 단순화하도록 하는 공용 언어 런타임과, 개발자가 자신의 소프트웨어 기능을 보다 신속하게 확장할 수 있도록 도와주는 일련의 기능이 미리 패키지화되어 있도록 한 닷넷 프레임워크 클래스 라이브러리(Class Library)로 구성되기 때문에 통합개발환경 시스템에 적용가능하다. These .NET frameworks can be written in almost any language, and have a common language runtime that helps simplify programming by helping to write common code such as memory management, security management, and error handling. It is applicable to an integrated development environment system because it consists of a .NET Framework Class Library that is prepackaged with a set of functions that help to extend.

종래의 통합개발환경 시스템에서 장치 응용프로그램을 작성하는 경우 작성된 응용프로그램이 하드웨어를 정상적으로 구동하는지를 확인하기 위하여 임베디드 콘트롤러에 프로그램을 다운로드하여 실행한다. In the case of writing a device application program in a conventional integrated development environment system, the program is downloaded and executed in the embedded controller in order to check whether the written application program normally operates hardware.

여기서, 디바이스 드라이버를 구동하기 위한 라이브러리를 파일로 다운로드해야 하는데, 이를 위해서는 라이브러리를 사용하기 위한 코드, 예를 들면, 인터페이스 추출코드 등을 직접 입력해야 한다. In this case, a library for driving the device driver needs to be downloaded as a file. For this purpose, a code for using the library, for example, an interface extraction code, must be directly input.

또한, 함수형태의 인터페이스를 지원하기 때문에 사용자 매뉴얼을 참조하여야 하는 등의 전문지식이 요구되므로, 디바이스 드라이버의 직접 호출 및 구현이 어려운 문제점이 있다.In addition, since support for a function type interface requires specialized knowledge such as referencing a user manual, it is difficult to directly call and implement a device driver.

더욱이, SOC에서 제공하는 주변장치 기능을 지원하는 경우에는 2~3가지의 부분적인 지원만 가능하기 때문에 사용상 제한이 따른다. Moreover, when supporting peripheral functions provided by the SOC, only two or three partial supports are available, which limits usage.

아울러, 상술한 바와 같이 라이브러리를 사용하기 위한 코딩량이 많아 작업시간이 많이 소요되고, 전문지식이 요구되기 때문에 개발자가 바뀌거나 기술을 습득하는 경우에 많은 제한사항이 따르는 문제점이 있다. In addition, as described above, since a large amount of coding is required for using the library, a lot of work is required, and expertise is required, and thus there is a problem that many restrictions occur when a developer changes or acquires a technology.

본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 디바이스 드라이버를 닷넷 컴포넌트화하여 통합개발환경에서 디바이스 드라이버의 직접 호출 및 구현이 용이하고 다양한 주변장치를 간단하게 제어할 수 있는 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법을 제공하는 것을 목적으로 한다.The present invention has been proposed to solve the above problems, and the Windows CE is easy to directly call and implement the device driver in the integrated development environment by .Net componentized device driver and can easily control various peripheral devices. The purpose of the present invention is to provide a method for implementing .NET components for controlling peripheral devices in an industrial embedded controller.

상기와 같은 목적을 달성하기 위한 본 발명은 개발자의 컴퓨터와 접속되고 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법에 있어서, 상기 개발자의 컴퓨터를 이용하여 제어대상 주변장치에 대응하는 닷넷 컴포넌트를 설정하는 설정 단계와; 런타임(run time)시 상기 닷넷 컴포넌트에 포함되어 상기 주변장치를 제어하기 위한 디바이스 드라이버가 설치 및 등록되는 설치 단계와; 상기 설정된 컴포넌트를 실행하여 그에 대응하는 디바이스 드라이버를 호출하는 호출 단계와; 상기 호출된 디바이스 드라이버와 상기 제어대상 주변장치의 인터페이스 매핑을 수행하는 매핑 단계와; 상기 호출된 디바이스 드라이버를 구동하여 상기 제어대상 주변장치의 제어를 실행하는 실행 단계;를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a method for implementing .NET components for controlling peripheral devices in an industrial embedded controller connected to a developer's computer and equipped with Windows CE. A setting step of setting a .Net component corresponding to the device; An installation step of installing and registering a device driver included in the .NET component at run time to control the peripheral device; A calling step of executing the set component and calling a corresponding device driver; A mapping step of performing interface mapping between the called device driver and the controlled peripheral device; And executing the control of the control target peripheral device by driving the called device driver.

바람직하게는 상기 실행 단계 이전에 실행환경이 적합한지를 인증하는 인증 단계를 추가로 포함할 수 있다. Preferably, the method may further include an authentication step of authenticating whether the execution environment is suitable before the execution step.

바람직하게는 상기 설정 단계는, 상기 개발자 컴퓨터의 통합개발환경에 주변장치 제어용의 닷넷 컴포넌트를 등록하는 등록 단계와; 상기 컴포넌트의 속성, 메소드, 이벤트를 입력하는 입력 단계;를 포함할 수 있다.Preferably, the setting step includes: a registration step of registering a .Net component for controlling a peripheral device in an integrated development environment of the developer computer; And an input step of inputting a property, a method, and an event of the component.

바람직하게는 상기 컴포넌트는 GPIO(General Purpose Input/Output), PWM(Pulse Width Modulation), ADC(Analog-Digital Convertor), I2C(Inter Integrated Circuit), Watchdog, Sound, UART(Universal Asynchronous Receiver Transmitter), SPI(Serial Peripheral Interface) 및 Input Counter 중 적어도 하나를 포함할 수 있다.Preferably, the component includes a general purpose input / output (GPIO), pulse width modulation (PWM), analog-digital converter (ADC), inter integrated circuit (I2C), watchdog, sound, universal asynchronous receiver transmitter (UART), and SPI. It may include at least one of a (Serial Peripheral Interface) and an Input Counter.

바람직하게는 상기 컴포넌트는 상기 임베디드 컨트롤러의 SOC(System On Chip)에서 제공하는 주변장치에 대한 제어기능을 포함할 수 있다.Preferably, the component may include a control function for a peripheral device provided by a system on chip (SOC) of the embedded controller.

본 발명에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법은 디바이스 드라이버를 닷넷 컴포넌트화함으로써, 편리한 인터페이스 지원으로 속성(속성, 이벤트, 메소드)설정이 간편하여 컴포넌트를 직관적으로 사용할 수 있을 뿐만 아니라, 설정에 대응하는 코드(Import선언 코드 등)를 자동생성하여 프로그램 코딩량을 경감시켜 작업시간을 단축시킬 수 있는 효과가 있다. The implementation method of the .Net component for the control of the peripheral device in the industrial embedded controller equipped with Windows CE according to the present invention is a component that is easy to set the properties (properties, events, methods) with a convenient interface support by forming a device driver. Can be used intuitively, and the code (Import declaration code, etc.) corresponding to the setting is automatically generated to reduce the amount of coding for the program, thereby reducing the work time.

또한, 본 발명은 주변장치를 제어하기 위한 디바이스 드라이버를 닷넷 컴포넌트 내부에 포함하고 있어 런타임에 디바이스 드라이버가 설치 및 등록되고 실행하는 구조로 구성되어 닷넷 컴포넌트만 업데이트함으로써 디바이스 드라이버의 업데이트가 자동으로 이루어질 수 있다.In addition, the present invention includes a device driver for controlling a peripheral device inside the .Net component is configured to install, register and run the device driver at run time to update the device driver can be made automatically by updating only the .Net component have.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법을 적용한 통합개발환경 구성도이고, 도 2는 도 1의 장치 응용프로그램 개발용 임베디드 콘트롤러의 아키텍처 구성도이다. 1 is a configuration diagram of an integrated development environment applying a method of implementing a .NET component for controlling peripheral devices in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention, Figure 2 is a device application program development of FIG. This is an architectural diagram of an embedded controller.

도 1에 도시된 바와 같이, 개발자 PC(100)는 USB 방식으로 임베디드 콘트롤 러(200)에 접속되고, MS Visual Studio IDE와 같은 통합개발환경에서 개발하고자 하는 장치의 응용 프로그램을 작성하여 임베디드 콘트롤러(200)로 업로드 한다. As shown in FIG. 1, the developer PC 100 is connected to the embedded controller 200 by a USB method, and creates an application program of a device to be developed in an integrated development environment such as MS Visual Studio IDE. Upload to 200).

임베디드 콘트롤러(200)는 SOC로 구성되어 운영체제로서 MS Window CE가 탑재되는데, SOC는 GPIO, PWM, ADC, I2C, Watchdog, Sound, UART, SPL, Counter의 기능이 제공된다. The embedded controller 200 is composed of SOC and is equipped with MS Window CE as an operating system. The SOC is provided with functions of GPIO, PWM, ADC, I2C, Watchdog, Sound, UART, SPL, and Counter.

임베디드 콘트롤러(200)는 개발자 PC(100)로부터 작성된 장치 응용 프로그램이 다운로드되면, 도 2에 도시된 바와 같은 아키텍처로 구성된다. The embedded controller 200 has an architecture as shown in FIG. 2 when the device application program created from the developer PC 100 is downloaded.

여기서, 작성된 장치 응용프로그램에 포함된 닷넷 프레임워크 컴포넌트는 하드웨어 제어 클래스와, 연동되는 디바이스 드라이버 또는 Native DLL이 포함되고, 임베디드 콘트롤러(200)의 운영체제(OS)의 상위에 탑재된다. Here, the .NET framework component included in the created device application program includes a hardware control class, a device driver or a native DLL to be interoperated, and is mounted on an operating system (OS) of the embedded controller 200.

이와 같이 디바이스 드라이버가 닷넷 프레임워크 컴포넌트 내부에 포함되어 있기 때문에 런타임에 디바이스 드라이버가 설치 및 등록되어 구동되며, 디바이스 드라이버의 업데이트가 자동으로 이루어질 수 있는 구조이므로, 개발자는 닷넷 컴포넌트만 업데이트 하면 된다. Since the device driver is included in the .NET framework component as described above, the device driver is installed, registered and driven at runtime, and the device driver can be updated automatically. Therefore, the developer only needs to update the .NET component.

여기서, 하드웨어 제어 클래스는 임베디드 콘트롤러(200)의 하드웨어 제어포트(210) 또는 SOC에서 제공하는 기능들에 대응하여 GPIO 클래스, PWM 클래스, ADC 클래스, I2C 클래스, dog 클래스, Sound 클래스, UART 클래스, SPI 클래스, Counter 클래스를 포함하며, 이외에도 상기 SOC에서 제공 가능한 기능들에 대응하여 확장하여 구성할 수 있다. Here, the hardware control class corresponds to the functions provided by the hardware control port 210 or SOC of the embedded controller 200 GPIO class, PWM class, ADC class, I2C class, dog class, Sound class, UART class, SPI Class, Counter class, and can be configured to extend to correspond to the functions provided by the SOC.

보다 상세하게는 GPIO 클래스는 임베디드 콘트롤러(200)의 확장용 포트인 하 드웨어 제어포트(210)를 제어하며, 입력/출력 모드 제어가 가능하여 간이 자동화 주변기기의 제어가 가능하다.In more detail, the GPIO class controls the hardware control port 210, which is an expansion port of the embedded controller 200, and enables input / output mode control to control a simple automation peripheral device.

PWM 클래스는 SOC 내부의 PWM을 제어하며, PWM의 제어 및 관련 파라미터의 설정할 수 있다.The PWM class controls the PWM inside the SOC and allows you to control the PWM and set related parameters.

ADC 클래스는 여러 채널의 입력을 가지는 SOC 내부의 ADC를 제어한다.The ADC class controls the ADC inside an SOC that has multiple channel inputs.

Sound 클래스는 WMA, WAV, MP3, AVI 등의 다양한 사운드 파일이 플레이되도록 제어한다. The Sound class controls the playback of various sound files, such as WMA, WAV, MP3, and AVI.

UART 클래스는 시리얼 통신 프로그램을 빠르게 구현할 수 있도록 지원되는 것으로 자체 프로토콜의 내장으로 에러 검사 및 수신 루틴의 프로그램을 간소화할 수 있다. The UART class supports the rapid implementation of serial communication programs. Its built-in protocol simplifies the programming of error checking and receiving routines.

그외 I2C 클래스, Watchdog 클래스, SPI 클래스, Counter 클래스는 각각 SCO에서 제공하는 기능을 제어한다. In addition, I2C class, Watchdog class, SPI class and Counter class control functions provided by SCO, respectively.

이러한 닷넷 프레임워크 컴포넌트는 개발자 PC(100)의 장치 응용프로그램 통합개발환경과 연동된다.These .NET framework components are linked with the device application integrated development environment of the developer PC (100).

이하, 도 3 내지 도 5를 참조하여 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법을 설명한다.Hereinafter, a method of implementing a .Net component for controlling a peripheral device in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention will be described with reference to FIGS. 3 to 5.

도 3은 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법을 나타낸 순서도이다. 3 is a flowchart illustrating a method of implementing .NET components for controlling peripheral devices in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention.

본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법은 개발자 PC(100)를 이용하여 제어대상 주변장치에 대응하는 컴포넌트를 설정하는 설정 단계(단계 S301 및 단계 S302)와, 런타임(run time)시 디바이스 드라이버가 설치 및 등록되는 설치 단계(단계 S303 및 단계 S304)와, 상기 설정된 컴포넌트를 실행하여 그에 대응하는 디바이스 드라이버를 호출하는 호출 단계(단계 S305)와, 상기 호출된 디바이스 드라이버와 제어대상 주변장치의 인터페이스 매핑을 수행하는 매핑 단계(단계 S306)와, 상기 호출된 디바이스 드라이버를 구동하여 상기 제어대상 주변장치의 제어를 실행하는 실행 단계(단계 S307 내지 단계 S310)를 포함한다. According to an embodiment of the present invention, a method of implementing a .NET component for controlling a peripheral device in an industrial embedded controller equipped with Windows CE includes a setting step of setting a component corresponding to a control target peripheral device using the developer PC 100 ( Step S301 and step S302, an installation step (step S303 and step S304) in which the device driver is installed and registered at run time, and a calling step of executing the set component and calling the corresponding device driver (step) S305), a mapping step of performing interface mapping between the called device driver and the control target peripheral device (step S306); and an execution step of driving the called device driver to execute control of the control target peripheral device (step) S307 to step S310).

보다 상세하게는, 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법은 먼저, 개발자 PC(100)의 통합개발환경에 주변장치 제어용의 닷넷 컴포넌트를 등록한다(단계 S301).More specifically, the method for implementing the .NET component for controlling the peripheral device in the industrial embedded controller equipped with Windows CE according to an embodiment of the present invention, first, the .NET for peripheral control in the integrated development environment of the developer PC (100) The component is registered (step S301).

여기서, 등록되는 닷넷 컴포넌트들은 임베디드 콘트롤러(200)의 SOC에서 제공하는 기능을 포함한 주변장치를 제어하기 위한 디바이스 드라이버를 닷넷 프레임워크를 이용하여 컴포넌트화한 것으로서, GPIO, PWM, ADC, I2C, Watchdog, Sound, UART를 포함한다.Here, the registered .NET components are componentized device drivers for controlling peripheral devices including functions provided by the SOC of the embedded controller 200 using the .NET framework. GPIO, PWM, ADC, I2C, Watchdog, This includes Sound and UART.

이러한 닷넷 컴포넌트들은 현재 SOC상에 보편으로 구현된 것들로서, 추후 SOC 기능의 확장에 의하여 재구성할 수 있다. These .NET components are now commonly implemented on SOC and can be reconfigured later by extension of SOC functionality.

도 4는 개발자 컴퓨터(100)의 통합개발환경에서 구현된 본 발명의 실시예에 따른 닷넷 컴포넌트의 예시도이다.4 is an exemplary diagram of a .Net component according to an embodiment of the present invention implemented in the integrated development environment of the developer computer 100.

도 4에 도시된 바와 같이, 개발자 PC(100)에 등록된 컴포넌트들은 MS Visual Studio IDE의 에드온 라이브러리(add-on library)로서 제공되기 때문에 개발자에게 편리한 인터페이스를 지원한다. As shown in FIG. 4, the components registered in the developer PC 100 are provided as an add-on library of the MS Visual Studio IDE, thereby supporting a user-friendly interface.

다음으로, 통합개발환경에 등록된 컴포넌트들을 이용하여 개발자가 원하는 구성을 만드는데, 이때 제어대상 주변장치를 구동하기 위한 컴포넌트의 속성을 설정한다(단계 S302). Next, the developer creates a desired configuration using the components registered in the integrated development environment. At this time, the property of the component for driving the control target peripheral device is set (step S302).

도 5는 본 발명의 실시예에 따른 닷넷 컴포넌트의 속성창의 예시도이다. 5 is an exemplary view of a property window of a .NET component according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 해당 컴포넌트 클래스의 속성, 메소드, 이벤트를 입력하면, 그에 대응하는 프로그램 코드가 작성되는데, 디바이스 구동시 사용되는 코드, 예를 들면, Import 선언 코드를 자동으로 생성한다. 따라서, 개발자는 컴포넌트들을 직관적으로 사용할 수 있다. As shown in FIG. 5, when a property, method, or event of a corresponding component class is input, a program code corresponding thereto is created, and a code used for driving a device, for example, an import declaration code is automatically generated. Thus, the developer can use the components intuitively.

이와 같이 작성된 장치 응용프로그램을 실행하면, 기 작성된 장치 응용 프로그램이 임베디드 콘트롤러(200)로 업로드된다(단계 S303).When the device application program created as described above is executed, the previously created device application program is uploaded to the embedded controller 200 (step S303).

이때, 도 2에 도시된 바와 같이, 닷넷 컴포넌트의 클래스는 임베디드 콘트롤러(200)의 운영체제와 디바이스 드라이버의 상위 계층에 탑재되는데, 상기 닷넷 컴포넌트에 포함되어 상기 주변장치를 제어하기 위한 디바이스 드라이버가 설치 및 등록된다(단계 S304).At this time, as shown in Figure 2, the class of the .Net component is mounted on the upper layer of the operating system and the device driver of the embedded controller 200, a device driver for controlling the peripheral device included in the .Net component is installed and It is registered (step S304).

여기서, 해당 컨포넌트가 실행되면, 제어대상 주변장치에 해당하는 컴포넌트에 대응하는 디바이스 드라이버(또는 Native DLL)가 호출된다(단계 S305).Here, when the corresponding component is executed, the device driver (or native DLL) corresponding to the component corresponding to the control peripheral device is called (step S305).

다음으로, 호출된 디바이스 드라이버의 구동을 위하여 제어대상 주변장치와 디바이스 드라이버의 인터페이스 매핑이 수행된다(단계 S306).Next, interface mapping between the control target peripheral device and the device driver is performed to drive the called device driver (step S306).

즉, 해당 컴포넌트의 클래스에 의해 설정된 속성, 메소드, 이벤트에 대응하는 제어대상 주변장치가 디바이스 드라이버와 인터페이스 매핑된다. That is, the control target peripheral device corresponding to the property, method, and event set by the class of the component is interface mapped with the device driver.

도 6은 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법의 인터페이스 매핑을 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating an interface mapping of a method for implementing .NET components for controlling peripheral devices in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention.

도 6에 도시된 바와 같이, GOIP 클래스를 통한 인터페이스 매핑은 포트방향제어 속성, 데이터 포트의 읽기 및 쓰기 속성, WTACH START 및 STOP 메소드 포트와, 이벤트 포트 등의 외부 인터페이스와 해당 디바이스 드라이버의 속성, 메소드, 이벤트 포트가 연동되도록 매핑된다. As shown in FIG. 6, interface mapping through the GOIP class includes port direction control attributes, read and write attributes of data ports, WTACH START and STOP method ports, external interfaces such as event ports, and attributes and methods of corresponding device drivers. Event ports are mapped to work together.

도 6에는 GOIP 클래스에 대한 예가 도시되었으나, 각 클래스들에서 설정된 속성, 메소드, 이벤트에 대응하는 제어대상 주변장치와 디바이스 드라이버의 인터페이스 매핑이 이루어진다. Although FIG. 6 illustrates an example of the GOIP class, interface mapping between a control target peripheral device and a device driver corresponding to attributes, methods, and events set in each class is performed.

다음으로, 컴포넌트들이 적합한 사용자에 의해 실행되는지를 판별하기 위하여 실행환경이 적합한지를 인증처리를 수행한다(단계 S307).Next, an authentication process is performed to determine whether the execution environment is suitable to determine whether the components are executed by a suitable user (step S307).

이러한 인증처리는, 예를 들면, 임베디드 콘트롤러(200)를 인식할 수 있도록 특정된 장치 아이디와 클래스 내부에 설정된 장치 아이디를 비교함으로써 수행될 수 있는데, 이는 상기 클래스들이 지정된 임베디드 콘트롤러(200)에서만 동작하도록 하기 위한 것이다. This authentication process, for example, may be performed by comparing the device ID specified in the class and the device ID specified in order to recognize the embedded controller 200, which operates only in the embedded controller 200 to which the classes are assigned. To do that.

여기서, 인증처리는 특정 프로그램의 정품여부 및 복사방지를 위하여 프로그램의 실행시 한번만 실행하는 것이 일반적이지만, 본 발명에서는 디바이스 드라이버를 실질적으로 실행하기 전 단계에서 지속적으로 수행되도록 반복 루프(단계 S307 내지 단계 S310)로 구성된다. In this case, the authentication process is generally executed only once when the program is executed for the genuineness of the specific program and the copy protection. However, in the present invention, a repeating loop (step S307 to step S) is performed continuously in a step before the device driver is actually executed. S310).

단계 S307의 인증결과, 실행환경이 적합하다고 판단된 경우, 해당 디바이스 드라이버를 구동하여 제어대상 주변장치에 대한 하드웨어 제어가 실행된다(단계 S308). If it is determined that the execution environment is suitable as a result of the authentication in step S307, the device driver is driven to perform hardware control on the control target peripheral device (step S308).

단계 S307의 인증결과, 실행환경이 적합하다고 판단되지 않은 경우, 즉, 클래스가 특정되지 않은 임베디드 콘트롤러(200)에서 수행되는 불법 사용인 경우에는 에러 메시지를 출력하고 종료된다(단계 S309).If it is determined that the execution environment is not suitable, that is, the illegal use performed by the embedded controller 200 whose class is not specified, an error message is output and ends (step S309).

다음으로, 개발자에 의해 작성된 장치 응용프로그램의 수행중 동일 주변장치를 재호출하는 경우(단계 S310)에는 단계 S307로 복귀하여 실행환경에 대한 인증처리를 다시 수행한다. Next, in the case of recalling the same peripheral device during the execution of the device application program created by the developer (step S310), the process returns to step S307 to perform authentication processing for the execution environment again.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.

도 1은 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법을 적용한 통합개발환경 구성도이다.1 is a block diagram illustrating an integrated development environment applying a method for implementing .NET components for controlling peripheral devices in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention.

도 2는 도 1의 장치 응용프로그램 개발용 임베디드 콘트롤러의 아키텍처 구성도이다.FIG. 2 is a diagram illustrating the architecture of an embedded controller for developing a device application of FIG. 1.

도 3은 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법을 나타낸 순서도이다.3 is a flowchart illustrating a method of implementing .NET components for controlling peripheral devices in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention.

도 4는 개발자 컴퓨터의 통합개발환경에서 구현된 본 발명의 실시예에 따른 닷넷 컴포넌트의 예시도이다.4 is an exemplary diagram of a .NET component according to an embodiment of the present invention implemented in an integrated development environment of a developer computer.

도 5는 본 발명의 실시예에 따른 닷넷 컴포넌트의 속성창의 예시도이다. 5 is an exemplary view of a property window of a .NET component according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법의 인터페이스 매핑을 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating an interface mapping of a method for implementing .NET components for controlling peripheral devices in an industrial embedded controller equipped with Windows CE according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

100 : 개발자 PC 200 : 임베디드 콘트롤러100: Developer PC 200: Embedded Controller

210 : 하드웨어 제어포트210: hardware control port

Claims (5)

개발자의 컴퓨터와 접속되고 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법에 있어서,In a method for implementing .NET components for controlling peripheral devices in an industrial embedded controller connected to a developer's computer and equipped with Windows CE, 상기 개발자의 컴퓨터를 이용하여 제어대상 주변장치에 대응하는 닷넷 컴포넌트를 설정하는 설정 단계와;A setting step of setting a .Net component corresponding to a peripheral device to be controlled by using the developer's computer; 상기 설정된 컴포넌트를 실행하여 그에 대응하는 디바이스 드라이버를 호출하는 호출 단계와;A calling step of executing the set component and calling a corresponding device driver; 상기 호출된 디바이스 드라이버와 상기 제어대상 주변장치의 인터페이스 매핑을 수행하는 매핑 단계와;A mapping step of performing interface mapping between the called device driver and the controlled peripheral device; 상기 호출된 디바이스 드라이버를 구동하여 상기 제어대상 주변장치의 제어를 실행하는 실행 단계;를 포함하는 것을 특징으로 하는 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법.And executing the control of the control target peripheral device by driving the called device driver. The method of implementing a .NET component for controlling the peripheral device in an industrial embedded controller equipped with Windows CE. 제 1 항에 있어서,The method of claim 1, 상기 실행 단계 이전에 실행환경이 적합한지를 인증하는 인증 단계를 추가로 포함하는 것을 특징으로 하는 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법.And an authentication step of authenticating whether the execution environment is suitable before the execution step. The method of implementing a .NET component for controlling a peripheral device in an industrial embedded controller equipped with Windows CE. 제 1 항에 있어서, The method of claim 1, 상기 설정 단계는,The setting step, 상기 개발자 컴퓨터의 통합개발환경에 주변장치 제어용의 닷넷 컴포넌트를 등록하는 등록 단계와;A registration step of registering .NET components for peripheral device control in an integrated development environment of said developer computer; 상기 닷넷 컴포넌트의 속성, 메소드, 이벤트를 입력하는 입력 단계와;An input step of inputting attributes, methods, and events of the .Net component; 런타임(run time)시 상기 닷넷 컴포넌트에 포함되어 상기 주변장치를 제어하기 위한 디바이스 드라이버가 설치 및 등록되는 설치 단계;를 포함하는 것을 특징으로 하는 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법.The installation step of installing and registering a device driver for controlling the peripheral device included in the .NET component at run time; control of the peripheral device in the industrial embedded controller equipped with Windows CE; How to implement .NET components for 제 1 항에 있어서, The method of claim 1, 상기 닷넷 컴포넌트는 GPIO(General Purpose Input/Output), PWM(Pulse Width Modulation), ADC(Analog-Digital Convertor), I2C(Inter Integrated Circuit), Watchdog, Sound, UART(Universal Asynchronous Receiver Transmitter), SPI(Serial Peripheral Interface) 및 Input Counter 중 적어도 하나를 포함하는 것을 특징으로 하는 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법.The .Net component is a general purpose input / output (GPIO), Pulse Width Modulation (PWM), Analog-Digital Convertor (ADC), Inter Integrated Circuit (I2C), Watchdog, Sound, Universal Asynchronous Receiver Transmitter (UART), SPI (Serial) A method for implementing .NET components for controlling peripheral devices in an industrial embedded controller equipped with Windows CE, comprising at least one of a Peripheral Interface) and an Input Counter. 제 1 항에 있어서,The method of claim 1, 상기 닷넷 컴포넌트는 상기 임베디드 컨트롤러의 SOC(System On Chip)에서 제공하는 주변장치에 대한 제어기능을 포함하는 것을 특징으로 하는 Windows CE가 탑재된 산업용 임베디드 컨트롤러에서 주변장치의 제어를 위한 닷넷 컴포넌트의 구현 방법.The .Net component is a method of implementing a .NET component for controlling the peripheral device in the industrial embedded controller equipped with Windows CE, characterized in that it comprises a control function for the peripheral device provided by the SOC (System On Chip) of the embedded controller .
KR1020080088827A 2008-09-09 2008-09-09 Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce KR100887105B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080088827A KR100887105B1 (en) 2008-09-09 2008-09-09 Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080088827A KR100887105B1 (en) 2008-09-09 2008-09-09 Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce

Publications (1)

Publication Number Publication Date
KR100887105B1 true KR100887105B1 (en) 2009-03-04

Family

ID=40697750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080088827A KR100887105B1 (en) 2008-09-09 2008-09-09 Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce

Country Status (1)

Country Link
KR (1) KR100887105B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102449961B1 (en) 2022-03-14 2022-10-04 (주)에스엘미디어 Peripheral equipment control system using toggle key of a keyboard

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104067A1 (en) 1999-12-29 2002-08-01 Green David W. Method and system and article of manufacture for an N-tier software component architecture application
KR20040097941A (en) * 2003-05-12 2004-11-18 정안모 Method and system of developing a software with utilizing metadata of the client-side component under component-based development environment
KR20060028526A (en) * 2004-09-24 2006-03-30 주식회사 케이티 System and method for providing web service using client tool kit
US7272818B2 (en) 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104067A1 (en) 1999-12-29 2002-08-01 Green David W. Method and system and article of manufacture for an N-tier software component architecture application
US7272818B2 (en) 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
KR20040097941A (en) * 2003-05-12 2004-11-18 정안모 Method and system of developing a software with utilizing metadata of the client-side component under component-based development environment
KR20060028526A (en) * 2004-09-24 2006-03-30 주식회사 케이티 System and method for providing web service using client tool kit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102449961B1 (en) 2022-03-14 2022-10-04 (주)에스엘미디어 Peripheral equipment control system using toggle key of a keyboard

Similar Documents

Publication Publication Date Title
US8397206B2 (en) XML board support customization
US8621419B2 (en) Automating the life cycle of a distributed computing application
US9395963B1 (en) System and method for accessing meta-data in a dynamically typed array-based language
US20080178143A1 (en) System, Method and Computer Program Product for Developing, Configuring, Installing and Testing Software
CN102053836A (en) Implementation method of version management tool for Android application development
CN102402427A (en) Method and device for updating Java application program
CN103677835A (en) Software integration method and system
JP2011508317A (en) Contract programming to reduce code errors
CN102955723B (en) A kind of hardware automatic test approach and system
CN104035778A (en) Android application program development method
CN111124526A (en) Dependency management method, dependency management device, storage medium and computer equipment
CN106502713A (en) A kind of method for upgrading software and system
WO2010035214A1 (en) Method and apparatus for updating a software image
WO2021027038A1 (en) Baseboard management controller and construction method thereof
US20080127061A1 (en) Method and system for editing code
CN112631915B (en) Method, system, device and medium for PCIE device software simulation
KR100887105B1 (en) Method for implementing .net component for controlling peripheral device in indutrial embeded controller loaded windows ce
US20160321033A1 (en) Projection of build and design-time inputs and outputs between different build environments
Dovland et al. Lazy behavioral subtyping
Datta Android stack integration in embedded systems
EP4006715A1 (en) Creating a native app method and system
Antal Arduino Leonardo programming under windows, in java, from Jdeveloper using Ardulink
CN110688099A (en) Microprocessor development method for long-distance radio integrated programmable system on chip
CN112272820A (en) Support device and support program
KR101771438B1 (en) Mobile communication terminal and Method for installing application thereof

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121210

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131213

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150115

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180209

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 12