KR101446882B1 - Plc 통신모듈에서 메시지 처리방법 - Google Patents
Plc 통신모듈에서 메시지 처리방법 Download PDFInfo
- Publication number
- KR101446882B1 KR101446882B1 KR20130129254A KR20130129254A KR101446882B1 KR 101446882 B1 KR101446882 B1 KR 101446882B1 KR 20130129254 A KR20130129254 A KR 20130129254A KR 20130129254 A KR20130129254 A KR 20130129254A KR 101446882 B1 KR101446882 B1 KR 101446882B1
- Authority
- KR
- South Korea
- Prior art keywords
- sector
- message
- processor
- response message
- priority
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 title claims description 30
- 230000004044 response Effects 0.000 claims abstract description 74
- 230000006870 function Effects 0.000 claims description 26
- 238000003672 processing method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/14—Handling requests for interconnection or transfer
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Programmable Controllers (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
PLC 통신모듈에서 메시지 처리방법이 개시된다. 본 발명의 방법은, 제1프로세서가, 제2프로세서가 처리하여야 할 우선순위를 결정하여, 해당 우선순위에 따라 공용 메모리의 제1섹터 또는 제2섹터에 요청 메시지를 작성하고, 제2프로세서가, 요청 메시지의 우선순위를 확인하여, 해당 우선순위에 따라 공용 메모리의 제1섹터 또는 제2섹터에 응답 메시지를 작성할 수 있다.
Description
본 발명은 메시지 처리방법에 관한 것으로서, 보다 상세하게는 PLC 통신모듈에서 사용되는 메시지 처리방법에 관한 것이다.
공장자동화에서 핵심기기 중 하나인 프로그램가능 로직 제어기(Programmable Logic Controller; PLC)에는 다양한 용도에 대응하기 위하여 각종 기능을 탑재한 모듈이 요구되는데, 그 중에서도 PLC의 중앙처리장치(Central Processing Unit; CPU) 모듈로 데이터를 송수신하는 통신모듈의 중요성이 점점 강조되고 있다.
최근 대용량 데이터를 처리하기 위해 두개의 프로세서가 사용되는 통신모듈의 사용이 늘어나고 있다.
종래 PLC 통신모듈에서 두개의 프로세서가 서로 메시지를 주고받는 경우, 통신을 요청한 순서대로 응답메시지를 생성하고, 메시지 타입에 따라 처리해야 하는 함수를 지정하는 방식을 적용하였다.
그러나, 종래의 방식에 의하면, 통신을 요청한 순서대로 응답 메시지를 생성하므로, 우선순위가 높은 메시지를 먼저 처리할 수 없는 문제점이 있다.
또한, 응답 메시지를 처리할 때 메시지 타입별로 처리해야 하는 함수를 지정하므로, 응답 메시지 타입이 많아지면 불필요한 처리시간이 발생하는 문제점이 있다.
본 발명이 해결하고자 하는 기술적 과제는, 우선순위에 따라 메시지를 처리하고, 응답 이벤트가 발생할 때 메시지 처리시간을 줄이는 PLC 통신모듈에서 메시지 처리방법을 제공하는 것이다.
상기와 같은 기술적 과제를 해결하기 위해, 제1프로세서, 제2프로세서 및 공용 메모리-우선순위가 높은 메시지를 저장하는 제1섹터와 우선순위가 낮은 메시지를 저장하는 제2섹터를 포함함-를 포함하는 프로그램가능 로직 제어기(PLC)의 통신모듈에서, 본 발명의 상기 제1프로세서와 상기 제2프로세서의 메시지 처리방법은, 상기 제1프로세서가, 상기 제2프로세서가 처리하여야 할 우선순위를 결정하여, 해당 우선순위에 따라 상기 공용 메모리의 제1섹터 또는 제2섹터에 요청 메시지를 작성하는 단계; 상기 제2프로세서가, 상기 제2섹터에 우선하여 상기 제1섹터의 요청 메시지에 대한 통신을 처리하는 단계; 상기 제2프로세서가, 상기 요청 메시지의 우선순위를 확인하여, 해당 우선순위에 따라 상기 공용 메모리의 제1섹터 또는 제2섹터에 응답 메시지를 작성하는 단계; 및 상기 제1프로세서가, 상기 제2섹터에 우선하여 상기 제1섹터의 응답 메시지를 읽어, 해당 응답 메시지 함수주소로 이동하는 단계를 포함할 수 있다.
본 발명의 일실시예에서, 상기 요청 메시지와 상기 응답 메시지는 각각, 메시지 타입 필드, 메시지 우선순위 필드 및 응답 메시지 처리함수 주소 필드를 포함할 수 있다.
본 발명의 일실시예에서, 상기 통신을 처리하는 단계는, 상기 공용 메모리의 상기 제1섹터에 요청 메시지가 있는 경우, 해당 요청 메시지에 대한 통신을 처리하는 단계; 상기 공용 메모리의 상기 제1섹터에 요청 메시지가 없는 경우, 상기 공용 메모리의 상기 제2섹터에 요청 메시지가 있는지 확인하는 단계; 및 상기 제2섹터의 해당 요청 메시지에 대한 통신을 처리하는 단계를 포함할 수 있다.
본 발명의 일실시예에서, 상기 응답 메시지를 작성하는 단계는, 상기 요청 메시지의 메시지 우선순위 필드를 확인하는 단계; 상기 우선순위 필드값이 높은 우선순위 필드값인 경우, 상기 제1섹터에 응답 메시지를 작성하는 단계; 및 상기 우선순위 필드값이 낮은 우선순위 필드값인 경우, 상기 제2섹터에 응답 메시지를 작성하는 단계를 포함할 수 있다.
본 발명의 일실시예에서, 상기 이동하는 단계는, 상기 공용 메모리의 상기 제1섹터에 응답 메시지가 있는 경우, 상기 제1섹터에 작성된 응답 메시지의 응답 메시지 처리함수 주소 필드에 지정된 함수주소로 이동하는 단계; 상기 공용 메모리의 상기 제1섹터에 응답 메시지가 없는 경우, 상기 공용 메모리의 상기 제2섹터에 응답 메시지가 있는지 확인하는 단계; 및 상기 제2섹터에 작성된 응답 메시지의 응답 메시지 처리함수 주소 필드에 지정된 함수주소로 이동하는 단계를 포함할 수 있다.
상기와 같은 본 발명은, PLC 통신모듈에 두개의 프로세서가 서로 메시지를 주고받는 경우, 우선순위에 따라 메시지를 구분함으로써, 우선순위가 높은 메시지를 먼저 처리할 수 있게 하는 효과가 있다.
또한, 본 발명은 요청 메시지에 수행하여야 하는 함수의 주소를 포함시켜 전송함으로써, 응답 이벤트가 발생할 때 메시지 처리시간을 최소화하도록 하는 효과가 있다.
도 1은 본 발명이 적용되는 두개의 프로세서를 사용하는 통신모듈의 구성을 설명하기 위한 일예시도이다.
도 2는 종래의 메시지 처리 방법을 설명하기 위한 흐름도이다.
도 3은 도 2에서 사용하는 메시지 타입을 설명하기 위한 예시도이다.
도 4는 본 발명의 메시지 처리방법을 설명하기 위한 일실시예 흐름도이다.
도 5는 본 발명에서 공용 메시지에 작성되는 요청 메시지 및 응답 메시지의 포맷을 설명하기 위한 일예시도이다.
도 6은 본 발명의 공용 메모리를 설명하기 위한 일예시도이다.
도 2는 종래의 메시지 처리 방법을 설명하기 위한 흐름도이다.
도 3은 도 2에서 사용하는 메시지 타입을 설명하기 위한 예시도이다.
도 4는 본 발명의 메시지 처리방법을 설명하기 위한 일실시예 흐름도이다.
도 5는 본 발명에서 공용 메시지에 작성되는 요청 메시지 및 응답 메시지의 포맷을 설명하기 위한 일예시도이다.
도 6은 본 발명의 공용 메모리를 설명하기 위한 일예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1은 본 발명이 적용되는 두개의 프로세서를 사용하는 통신모듈의 구성을 설명하기 위한 일예시도이다.
도면에 도시된 바와 같이, PLC 통신모듈에서 제1프로세서(1)와 제2프로세서(2)는 공용 메모리(3)에 연결된다. 공용 메모리(3)는 제1프로세서(1)와 제2프로세서(2)가 메시지를 주고받기 위해 사용되는 메모리이다.
제1프로세서(1)는 공용 메모리(3)를 통해 제2프로세서(2)에 통신을 요청할 수 있다. 이때 공용 메모리(3)는 어드레스(address) 버스(bus)(AB31..0)와 데이터 버스(DB31..0)에 의해 연결될 수 있고, 어드레스 버스와 데이터 버스는 제1 및 제2프로세서(1, 2)가 동시에 점유할 수 없다. 어드레스 버스는 제1프로세서(1), 제2프로세서(2) 및 공용 메모리(3)에 연결되어 있으며, 데이터 버스 역시 제1프로세서(1), 제2프로세서(2) 및 공용 메모리(3)에 연결되어 있다.
'BREQ'는 버스 요청(bus request) 신호로서, 제2프로세서가 제1프로세서(1)에 버스 제어권을 요청하는 신호이다. 버스 제어권을 가진 하나의 프로세서만 버스에 접근할 수 있다.
'BACK'는 버스 응답(bus ack) 신호로서, 제1프로세서(1)가 제2프로세서(2)에 버스 제어권을 넘겨줄 때 사용하는 신호이다.
제2프로세서(2)는 공용 메모리(3)에 접근하기 위해 BREQ를 로우(LOW)로 하여 제1프로세서(1)에 버스 제어권을 요청할 수 있다. 제1프로세서(1)는 BREQ가 로우인 것을 확인하고 BACK을 로우로 하여 제2프로세서(2)에 버스 제어권을 넘긴다. 제2프로세서(2)는 BACK가 로우인 것을 확인하고 공용 메모리(3)에 접근할 수 있다.
도 2는 종래의 메시지 처리 방법을 설명하기 위한 흐름도이다.
제1프로세서(1)는 제2프로세서(2)에 통신을 요청하기 위해 공용 메모리(3)에 요청(REQUEST) 메시지를 작성한다(write)(S21).
제2프로세서(2)는 공용 메모리(3)에 요청 메시지가 있는지 확인하고(S22), 요청 메시지가 존재하면(S23) 통신을 처리하고 응답(RESPONSE) 메시지를 공용 메모리(3)에 작성한다(S24).
제1프로세서(1)는 공용 메모리(3)로부터 응답 메시지를 읽어와서(read), 응답 메시지를 처리한다. 이때, 응답 메시지의 '메시지 타입'에 따라 처리할 함수를 호출할 수 있다(S25).
도 3은 도 2에서 사용하는 메시지 타입을 설명하기 위한 예시도로서, (a)는 요청 메시지 포맷을 나타내며, (b)는 응답 메시지 포맷을 나타낸다.
도면에 나타난 바와 같이, 요청 및 응답 메시지 모두 '메시지 타입' 필드와 '메시지 바디(BODY)' 필드로 구성되며, 제1프로세서(1)는 응답 메시지의 메시지 타입에 따라 처리할 함수를 호출한다.
그러나, 종래의 방식에 의하면, 통신을 요청한 순서대로 응답 메시지를 생성하므로, 우선순위가 높은 메시지를 먼저 처리할 수 없는 문제점이 있으며, 또한, 응답 메시지를 처리할 때 메시지 타입별로 처리해야 하는 함수를 지정하므로, 응답 메시지 타입이 많아지면 불필요한 처리시간이 발생하는 문제점이 있음은, 이미 설명한 바와 같다.
본 발명은 이와 같은 문제점을 해결하기 위한 것으로서, 우선순위에 따라 메시지를 처리하고, 응답 이벤트가 발생할 때 메시지 처리시간을 줄일 수 있다.
이하, 본 발명의 메시지 처리방법을 설명한다.
도 4는 본 발명의 메시지 처리방법을 설명하기 위한 일실시예 흐름도로서, 도 1의 PLC 통신모듈에 적용되는 것이다.
도면에 도시된 바와 같이, 본 발명의 메시지 처리방법에서, 제1프로세서(1)는 제2프로세서(2)에 통신을 요청하기 위해 공용 메모리(3)에 요청 메시지를 작성한다(S41). 이때 제1프로세서(1)는 요청 메시지에 우선순위를 작성할 수 있으며, 해당 우선순위에 따라 공용 메모리(3)의 해당 섹터에 요청 메시지를 작성할 수 있다.
도 5는 본 발명에서 공용 메시지에 작성되는 요청 메시지 및 응답 메시지의 포맷을 설명하기 위한 일예시도이고, 도 6은 본 발명의 공용 메모리를 설명하기 위한 일예시도이다.
도 5에서, (a)는 요청 메시지 포맷을, (b)는 응답 메시지 포맷을 나타낸다. 도면에 도시된 바와 같이, 본 발명의 제1프로세서(1)가 작성하는 요청 메시지와, 제2프로세서(2)가 작성하는 응답 메시지는 모두 '메시지 타입' 필드, '메시지 우선순위' 필드 및 '응답메시지 처리 함수주소' 필드를 포함할 수 있다. 예를 들어, 메시지 우선순위 필드가 1인 경우, 요청 또는 응답에 대한 처리에 높은 우선순위를 부여한 것이고, 메시지 우선순위 필드가 0인 경우, 요청 또는 응답에 대한 처리에 낮은 우선순위를 부여한 것일 수 있다.
또한, 도 6에 도시된 바와 같이, 본 발명의 공용메모리(3)는 높은 우선순위의 요청 메시지와 응답 메시지를 저장하는 섹터(제1섹터)(31)와, 낮은 우선순위의 요청 메시지와 응답 메시지를 저장하는 섹터(제2섹터)(32)를 포함한다. 또한, 본 발명의 공용메모리(3)는, 제1섹터(31) 내에서, 요청 메시지와 응답 메시지를 각각 따로 블럭을 지정하여 저장할 수 있고, 제2섹터(32) 내에서도, 요청 메시지와 응답 메시지를 각각 따로 블럭을 지정하여 저장할 수 있다. 이는 종래 도 2와 같은 방법에서, 생성된 순서에 따라 요청 메시지와 응답 메시지를 저장하던 방식과 상이하다. 즉, 도 2의 방법에서 공용 메모리(3)는, '요청메시지1, 응답메시지1, 요청메시지2, 응답메시지2,..., 요청메시지N, 응답메시지N'과 같은 순서로 요청 메시지와 응답 메시지를 저장하였으나, 본 발명은 이와 달리 우선순위에 따라 섹터를 별도로 지정하고, 또한 섹터 내에서도 요청 메시지와 응답 메시지의 블럭을 따로 지정하여 저장할 수 있다.
다시 말하면, S41에서, 제1프로세서(1)는, 우선순위가 높은 처리인 경우, 즉, 제2프로세서(2)가 우선적으로 처리하여야 하는 경우, 요청 메시지의 메시지 우선순위 필드를 1로 지정하고, 해당 요청 메시지를 제1섹터(31)의 요청 메시지 블럭에 작성할 수 있다.
제2프로세서(2)는 공용 메모리(3)의 제1섹터(31)(높은 우선순위)에 요청 메시지가 있는 경우(S42), 해당 요청 메시지에 따라 통신을 처리하고, 공용 메모리(3)의 제1섹터(31)(높은 우선순위)에 요청 메시지가 없는 경우(S42)에는 공용 메모리(3)의 제2섹터(32)(낮은 우선순위)에 요청 메시지가 있는지 확인하여 통신을 처리한다(S44). 즉, 제2프로세서(2)는 공용 메모리(3)의 제2섹터(32)보다, 제1섹터(31)의 요청 메시지에 대한 통신을 우선처리할 수 있다.
이후, 제2프로세서(2)는, 요청 메시지의 메시지 우선순위 필드가 1인 경우에는(S43), 응답 메시지를 공용 메모리(3)의 제1섹터(31)에 작성하고(S45), 요청 메시지의 메시지 우선순위 필드가 1이 아닌 경우(0인 경우)에는(S43), 제2섹터(32)에 응답 메시지를 작성할 수 있다(S46).
제1프로세서(1)는, 공용 메모리(3)의 제1섹터(31)(높은 우선순위)에 응답 메시지가 있는 경우에는(S47), 해당 응답 메시지를 읽어와서 응답 메시지 처리 함수주소 필드가 지정하는 함수주소로 이동할 수 있다(S49).
또한, 공용 메모리(3)의 제1섹터(31)(높은 우선순위)에 응답 메시지가 있지 않은 경우에는(S47), 제2섹터(32)(낮은 우선순위)에 응답 메시지가 있는지 확인하여(S48), 해당 응답 메시지를 읽어와서 응답 메시지 처리 함수주소 필드가 지정하는 함수주소로 이동할 수 있다(S49).
즉, 제1프로세서(1) 역시, 공용 메모리(3)의 제2섹터(32)보다, 제1섹터(31)의 응답 메시지에 대하여, 우선적으로 응답 메시지 처리 함수주소 필드가 지정하는 함수주소로 이동하게 할 수 있다.
이와 같이, 본 발명은, PLC 통신모듈에 두개의 프로세서가 서로 메시지를 주고받는 경우, 우선순위에 따라 메시지를 구분함으로써, 우선순위가 높은 메시지를 먼저 처리할 수 있게 한다.
또한, 본 발명은 요청 메시지에 수행하여야 하는 함수의 주소를 포함시켜 전송함으로써, 응답 이벤트가 발생할 때 메시지 처리시간을 최소화할 수 있다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
1, 2: 프로세서 3: 공용 메모리
Claims (5)
- 제1프로세서, 제2프로세서 및 공용 메모리-우선순위가 높은 메시지를 저장하는 제1섹터와 우선순위가 낮은 메시지를 저장하는 제2섹터를 포함함-를 포함하는 프로그램가능 로직 제어기(PLC)의 통신모듈에서, 상기 제1프로세서와 상기 제2프로세서의 메시지 처리방법에 있어서,
상기 제1프로세서가, 상기 제2프로세서가 처리하여야 할 우선순위를 결정하여, 해당 우선순위에 따라 상기 공용 메모리의 제1섹터 또는 제2섹터에 요청 메시지를 작성하는 단계;
상기 제2프로세서가, 상기 제2섹터에 우선하여 상기 제1섹터의 요청 메시지에 대한 통신을 처리하는 단계;
상기 제2프로세서가, 상기 요청 메시지의 우선순위를 확인하여, 해당 우선순위에 따라 상기 공용 메모리의 제1섹터 또는 제2섹터에 응답 메시지를 작성하는 단계; 및
상기 제1프로세서가, 상기 제2섹터에 우선하여 상기 제1섹터의 응답 메시지를 읽어, 해당 응답 메시지 함수주소로 이동하는 단계를 포함하는 메시지 처리방법.
- 제1항에 있어서, 상기 요청 메시지와 상기 응답 메시지는 각각,
메시지 타입 필드, 메시지 우선순위 필드 및 응답 메시지 처리함수 주소 필드를 포함하는 메시지 처리 방법.
- 제1항에 있어서, 상기 통신을 처리하는 단계는,
상기 공용 메모리의 상기 제1섹터에 요청 메시지가 있는 경우, 해당 요청 메시지에 대한 통신을 처리하는 단계;
상기 공용 메모리의 상기 제1섹터에 요청 메시지가 없는 경우, 상기 공용 메모리의 상기 제2섹터에 요청 메시지가 있는지 확인하는 단계; 및
상기 제2섹터의 해당 요청 메시지에 대한 통신을 처리하는 단계를 포함하는 메시지 처리 방법.
- 제2항에 있어서, 상기 응답 메시지를 작성하는 단계는,
상기 요청 메시지의 메시지 우선순위 필드를 확인하는 단계;
상기 우선순위 필드값이 높은 우선순위 필드값인 경우, 상기 제1섹터에 응답 메시지를 작성하는 단계; 및
상기 우선순위 필드값이 낮은 우선순위 필드값인 경우, 상기 제2섹터에 응답 메시지를 작성하는 단계를 포함하는 메시지 처리 방법.
- 제2항에 있어서, 상기 이동하는 단계는,
상기 공용 메모리의 상기 제1섹터에 응답 메시지가 있는 경우, 상기 제1섹터에 작성된 응답 메시지의 응답 메시지 처리함수 주소 필드에 지정된 함수주소로 이동하는 단계;
상기 공용 메모리의 상기 제1섹터에 응답 메시지가 없는 경우, 상기 공용 메모리의 상기 제2섹터에 응답 메시지가 있는지 확인하는 단계; 및
상기 제2섹터에 작성된 응답 메시지의 응답 메시지 처리함수 주소 필드에 지정된 함수주소로 이동하는 단계를 포함하는 메시지 처리 방법.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130129254A KR101446882B1 (ko) | 2013-10-29 | 2013-10-29 | Plc 통신모듈에서 메시지 처리방법 |
US14/494,323 US9454369B2 (en) | 2013-10-29 | 2014-09-23 | Device and method for processing message |
EP14188274.6A EP2869206B1 (en) | 2013-10-29 | 2014-10-09 | Device and method for priority based message processing |
ES14188274.6T ES2606036T3 (es) | 2013-10-29 | 2014-10-09 | Dispositivo y procedimiento para el procesamiento de mensajes |
JP2014209009A JP5944969B2 (ja) | 2013-10-29 | 2014-10-10 | メッセージ処理装置及びその方法 |
CN201410589346.XA CN104572571B (zh) | 2013-10-29 | 2014-10-28 | 用于处理消息的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130129254A KR101446882B1 (ko) | 2013-10-29 | 2013-10-29 | Plc 통신모듈에서 메시지 처리방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101446882B1 true KR101446882B1 (ko) | 2014-10-06 |
Family
ID=51897062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130129254A KR101446882B1 (ko) | 2013-10-29 | 2013-10-29 | Plc 통신모듈에서 메시지 처리방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9454369B2 (ko) |
EP (1) | EP2869206B1 (ko) |
JP (1) | JP5944969B2 (ko) |
KR (1) | KR101446882B1 (ko) |
CN (1) | CN104572571B (ko) |
ES (1) | ES2606036T3 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170060300A (ko) * | 2015-11-24 | 2017-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102322740B1 (ko) * | 2017-04-24 | 2021-11-09 | 에스케이하이닉스 주식회사 | 복수의 프로세서를 포함하는 컨트롤러 및 컨트롤러의 동작방법 |
GB201721734D0 (en) | 2017-12-22 | 2018-02-07 | Nordic Semiconductor Asa | Inter-processor communication |
CN114911426B (zh) * | 2022-07-15 | 2022-10-18 | 北谷电子有限公司 | 一种数据存储方法、存储器件和高空车 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910010331A (ko) * | 1989-11-07 | 1991-06-29 | 도날드 알. 댄서 | 다수의 프로그램가능한 논리 제어기 사이의 통신 방법 |
KR970062927A (ko) * | 1996-02-27 | 1997-09-12 | 김광호 | 프로그래머블 논리 콘트롤러(plc)를 위한 통신장치 및 이를 위한 데이타 포맷 |
US20130094552A1 (en) | 2011-10-14 | 2013-04-18 | Texas Instruments Incorporated | Communication on a Pilot Wire |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04270535A (ja) | 1991-02-25 | 1992-09-25 | Nippon Telegr & Teleph Corp <Ntt> | 通信制御方法 |
US7035908B1 (en) * | 2001-07-26 | 2006-04-25 | Lsi Logic Corporation | Method for multiprocessor communication within a shared memory architecture |
JP4536361B2 (ja) | 2003-11-28 | 2010-09-01 | 株式会社日立製作所 | データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法 |
JP2006301894A (ja) * | 2005-04-20 | 2006-11-02 | Nec Electronics Corp | マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法 |
JP2011170476A (ja) | 2010-02-17 | 2011-09-01 | Mitsubishi Electric Corp | データ処理システム及びデータ処理方法及びプログラム |
-
2013
- 2013-10-29 KR KR20130129254A patent/KR101446882B1/ko active IP Right Grant
-
2014
- 2014-09-23 US US14/494,323 patent/US9454369B2/en active Active
- 2014-10-09 ES ES14188274.6T patent/ES2606036T3/es active Active
- 2014-10-09 EP EP14188274.6A patent/EP2869206B1/en active Active
- 2014-10-10 JP JP2014209009A patent/JP5944969B2/ja not_active Expired - Fee Related
- 2014-10-28 CN CN201410589346.XA patent/CN104572571B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910010331A (ko) * | 1989-11-07 | 1991-06-29 | 도날드 알. 댄서 | 다수의 프로그램가능한 논리 제어기 사이의 통신 방법 |
KR970062927A (ko) * | 1996-02-27 | 1997-09-12 | 김광호 | 프로그래머블 논리 콘트롤러(plc)를 위한 통신장치 및 이를 위한 데이타 포맷 |
US20130094552A1 (en) | 2011-10-14 | 2013-04-18 | Texas Instruments Incorporated | Communication on a Pilot Wire |
Also Published As
Publication number | Publication date |
---|---|
CN104572571A (zh) | 2015-04-29 |
CN104572571B (zh) | 2018-04-13 |
US9454369B2 (en) | 2016-09-27 |
JP2015088186A (ja) | 2015-05-07 |
JP5944969B2 (ja) | 2016-07-05 |
ES2606036T3 (es) | 2017-03-17 |
EP2869206B1 (en) | 2016-09-07 |
EP2869206A1 (en) | 2015-05-06 |
US20150121015A1 (en) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3807250B2 (ja) | クラスタシステム、コンピュータ及びプログラム | |
KR101446882B1 (ko) | Plc 통신모듈에서 메시지 처리방법 | |
US9170963B2 (en) | Apparatus and method for generating interrupt signal that supports multi-processor | |
JP2007299102A (ja) | プログラマブルコントローラおよび通信ユニット | |
JP6419400B1 (ja) | Plc、ネットワークユニット、cpuユニット、及びデータ転送方法 | |
JPWO2012081085A1 (ja) | 割込み要因管理装置及び割込み処理システム | |
JP2018128845A (ja) | マルチプロセッサシステム | |
JP6106986B2 (ja) | 演算処理装置、情報処理装置及び割込制御方法 | |
JP2019204485A (ja) | マシンラーニング装置、及びそれを利用したマシンラーニングシステム | |
JP6497392B2 (ja) | アクセス制御方法、バスシステム、および半導体装置 | |
JP2007128385A (ja) | 伝送装置、伝送システムおよび更新データの排他制御方法 | |
JP2005303718A (ja) | マトリックス状バス接続システム | |
CN113961496A (zh) | 通信电路系统、方法、芯片以及存储介质 | |
JP2017182533A (ja) | 同期処理ユニット、デバイス、システムおよび方法 | |
JP2016151949A (ja) | Dmaコントローラ | |
JP4924970B2 (ja) | データ処理システム | |
KR101810196B1 (ko) | 인버터의 통신모듈 | |
JP2021015357A (ja) | 計算機システム、制御方法およびプログラム | |
JP6384359B2 (ja) | 分散共有メモリを有する情報処理装置、方法、および、プログラム | |
JP2021064166A (ja) | メモリ制御装置、および制御方法 | |
JPH03228163A (ja) | データ転送装置 | |
JP2005309663A (ja) | モーションコントローラ | |
JPH103463A (ja) | プロセッサ間通信方法 | |
JP2017027135A (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2012128520A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170703 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180702 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 6 |