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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
- G06F13/107—Terminal emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/007—Digital input from or digital output to memories of the shift register type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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/03543—Mice or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F3/0383—Signal control means within the pointing device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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
Description
본 발명은 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
임베디드 콘트롤러(200)는 SOC로 구성되어 운영체제로서 MS Window CE가 탑재되는데, SOC는 GPIO, PWM, ADC, I2C, Watchdog, Sound, UART, SPL, Counter의 기능이 제공된다. The embedded
임베디드 콘트롤러(200)는 개발자 PC(100)로부터 작성된 장치 응용 프로그램이 다운로드되면, 도 2에 도시된 바와 같은 아키텍처로 구성된다. The embedded
여기서, 작성된 장치 응용프로그램에 포함된 닷넷 프레임워크 컴포넌트는 하드웨어 제어 클래스와, 연동되는 디바이스 드라이버 또는 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
이와 같이 디바이스 드라이버가 닷넷 프레임워크 컴포넌트 내부에 포함되어 있기 때문에 런타임에 디바이스 드라이버가 설치 및 등록되어 구동되며, 디바이스 드라이버의 업데이트가 자동으로 이루어질 수 있는 구조이므로, 개발자는 닷넷 컴포넌트만 업데이트 하면 된다. 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
보다 상세하게는 GPIO 클래스는 임베디드 콘트롤러(200)의 확장용 포트인 하 드웨어 제어포트(210)를 제어하며, 입력/출력 모드 제어가 가능하여 간이 자동화 주변기기의 제어가 가능하다.In more detail, the GPIO class controls the
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
이러한 닷넷 컴포넌트들은 현재 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
도 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
여기서, 해당 컨포넌트가 실행되면, 제어대상 주변장치에 해당하는 컴포넌트에 대응하는 디바이스 드라이버(또는 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
여기서, 인증처리는 특정 프로그램의 정품여부 및 복사방지를 위하여 프로그램의 실행시 한번만 실행하는 것이 일반적이지만, 본 발명에서는 디바이스 드라이버를 실질적으로 실행하기 전 단계에서 지속적으로 수행되도록 반복 루프(단계 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
다음으로, 개발자에 의해 작성된 장치 응용프로그램의 수행중 동일 주변장치를 재호출하는 경우(단계 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)
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)
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)
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 |
-
2008
- 2008-09-09 KR KR1020080088827A patent/KR100887105B1/en active IP Right Grant
Patent Citations (4)
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)
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 |