KR100431102B1 - method of making ladder diagram for programmable logic controller using discrete event model and an apparatus thereof - Google Patents
method of making ladder diagram for programmable logic controller using discrete event model and an apparatus thereof Download PDFInfo
- Publication number
- KR100431102B1 KR100431102B1 KR10-2001-0040720A KR20010040720A KR100431102B1 KR 100431102 B1 KR100431102 B1 KR 100431102B1 KR 20010040720 A KR20010040720 A KR 20010040720A KR 100431102 B1 KR100431102 B1 KR 100431102B1
- Authority
- KR
- South Korea
- Prior art keywords
- state
- input
- input signal
- event
- reset
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Programmable Controllers (AREA)
Abstract
프로그램형 논리 제어기의 동작특성을 이산사건모델을 이용하여 모델링하여 상태선도로 작성한다. 상태선도를 그리기 위한 상태는 프로그램형 논리 제어기의 내부출력상태, 타이머출력상태, 카운터출력상태 및 외부출력상태 등으로 정의하며, 외부출력상태를 제외한 각각의 상태는 동작을 위한 셋(set) 상태와 정지를 위한 리셋(reset) 상태로 구분한다. 한편, 입력신호는 입력상태와 입력사건의 논리곱으로 정의하고, 자기자신의 상태로 천이하는 경우는 사건이 입력 후에도 계속 현재 상태의 동작을 유지시키고자 할 때 정의하며, 사건의 발생 없이 아크(arc)만으로 다음 상태로 천이가 일어나는 동작은 동시에 발생하는 상태를 나타낸다. 이와 같이 작성한 상태선도를 바탕으로 하여 이를 블리언 방정식으로 변환하는데, 먼저 각각의 출력에 대하여 각 상태로의 입력신호를 처리하고, 입력상태의 포함 여부를 처리한 다음, 각 상태의 입력신호를 재배열하여 블리언 방정식으로 변환한다. 변환된 블리언 방정식으로부터 논리곱은 직렬로 논리합은 병렬로 연결하도록 하면 되며, 일반적인 형태의 입력신호는 상시개로접점인 a접점으로 변환하고 보수형태의 입력신호는 상시폐로접점인 b접점으로 변환한 후 입력사건은 왼쪽에 출력상태는 오른쪽에 배치하면 래더 다이어그램을 완성할 수 있다.The operational characteristics of the programmable logic controller are modeled using a discrete event model to create a state diagram. The state for drawing the state diagram is defined as the internal output state, timer output state, counter output state and external output state of the programmable logic controller, and each state except the external output state is set and It is divided into reset status for stopping. On the other hand, the input signal is defined as the logical product of the input state and the input event, and the transition to its own state is defined when the event continues to maintain its current state even after the input. The action of transitioning to the next state by arc alone indicates the state of simultaneous occurrence. Based on the state diagram created in this way, it is converted into a Brianian equation. First, the input signal to each state is processed for each output, and whether the input state is included or not, and then the input signal of each state is reconstructed. Arrange and convert to Brian equations. The logical product of the converted blion equation is connected in series, and the logical sum is connected in parallel.The general type of input signal is converted into contact point a, which is normally open contact, and the complementary input signal is converted into contact point b, which is normally closed contact. Ladder diagrams can be completed by placing input events on the left and output states on the right.
Description
본 발명은 공정 자동화 시스템에서의 공정제어 알고리즘 생성 방법에 관한 것으로 특히 이산사건모델에 기반한 프로그램형 논리 제어기 설계를 위한 래더다이어그램 자동 변환 생성 방법에 관한 것이다.The present invention relates to a method for generating a process control algorithm in a process automation system, and more particularly, to a method for generating a ladder diagram automatic transformation for designing a programmable logic controller based on a discrete event model.
프로그램형 논리 제어기(PLC: programmable logic controller)는 입력, 출력, 기억, 연산 제어부를 갖추어 컴퓨터와 유사한 기능을 수행하는 시퀀스제어장치이다. 프로그램형 논리 제어기는 산업용 제어업무에 사용되는 장치로서 높은 신뢰성과 유지 보수의 간편성, 저렴한 가격 등의 특징을 갖고 있기 때문에 기존의 하드와이어 방식의 순차제어 장치를 대체하면서 꾸준히 발전되어 오늘날에는 공장에서 작업의 순서를 지시하거나 단위 기계의 동작을 제어하는 목적으로 각종 화학공장 및 제조업공장 등 거의 모든 공장에서의 자동화와 송유관 가스관의 감시제어, 각종 시퀀스제어 등에 사용되고 있다.A programmable logic controller (PLC) is a sequence control device that performs a computer-like function with input, output, memory, and operation control units. Programmable logic controller is a device used in industrial control business. It has high reliability, simple maintenance, and low price. Therefore, it has been developed steadily while replacing the existing hardwire type sequential control device. It is used for automation in almost all factories such as chemical plants and manufacturing plants, monitoring control of oil pipelines, and various sequence controls for the purpose of instructing the order and controlling the operation of unit machines.
이러한 프로그램형 논리 제어기로 공정을 제어하려면 제어 대상에 따른 사용자 프로그램, 즉 제어 알고리즘을 작성해야 한다. 제어 알고리즘을 작성하기 위하여 고급 프로그램 언어인 C++, 파스칼(PASCAL) 등과 같은 범용 언어를 사용할 수도 있으나, 이러한 고급언어는 현장 사용자가 다루기에는 너무 일반적이고 복잡하며, 구성된 하드웨어를 구동시키기 위하여 하드웨어의 세부특성을 일일이 파악해야 하는 어려움이 있다.In order to control the process with such a programmable logic controller, a user program according to the control object, that is, a control algorithm, must be written. General-purpose languages such as C ++, Pascal, etc. may be used to write control algorithms, but these high-level languages are too general and complicated to be handled by field users, and the details of hardware to run the configured hardware. There is a difficulty to keep track of.
이러한 어려움을 해소하기 위하여 프로그램형 논리 제어기에서는 래더 다이어그램(ladder diagram), 명령어코드(instruction list), 기능블럭도(function block diagram), 순차기능표(sequential function chart), 구조문(structured text) 등의 프로그램 언어가 이용되고 있으며, 이 가운데 주로 그래픽 제어 언어인 래더 다이어그램이 보편적으로 이용되고 있다. 그런데 래더 다이어그램을 작성하여 시스템을 제어하기 위해서는 사용자가 시스템의 순차 제어 방법을 정하고, 각 공정의 동시성과 비동기적인 성질을 고려하여 래더 다이어그램을 작성해야 한다. 그러나 기존의 래더 다이어그램을 작성하기 위해서는 숙련된 프로그래머가 필요하고 또한 숙련된 프로그래머라 할지라도 경험과 방식에 크게 의존하여 여러 시행착오를 거쳐 래더 다이어그램을 작성함으로써 불필요한 인력과 많은 시간을 소요해야 할 뿐만 아니라 작성된 래더 다이어그램의 수정에 따른 유연성 등이 결여되어 있는 실정이다.In order to solve this problem, in the programmable logic controller, ladder diagram, instruction list, function block diagram, sequential function chart, structured text, etc. Program language is used, and ladder diagram, which is a graphic control language, is commonly used. However, in order to control the system by creating a ladder diagram, the user must decide how to control the system sequentially and prepare a ladder diagram considering the simultaneous and asynchronous nature of each process. However, existing ladder diagrams require skilled programmers, and even experienced programmers can rely on experience and methods to create ladder diagrams through trial and error. There is a lack of flexibility in modifying the created ladder diagram.
본 발명은 앞서 설명한 단점을 해소하기 위하여 만들어진 것으로, 시스템의 동작특성을 각각의 상태와 사건으로 나타내고, 사건의 발생과 상태의 천이에 의하여 시스템의 동작사양을 기술하는 이산사건모델을 이용하여 시스템에 대한 동작사양만 이해하고 있으면 비숙련자도 용이하게 래더 다이어그램을 작성할 수 있도록 이산사건모델에서 래더 다이어그램으로 자동변환 생성할 수 있는 방법을 제공하는 것이 이 발명의 목적이다.The present invention has been made in order to solve the above-mentioned disadvantages, and shows the operating characteristics of the system in each state and event, and uses a discrete event model to describe the operation specifications of the system by the occurrence and transition of the state. It is an object of the present invention to provide a method for automatically converting from a discrete event model to a ladder diagram so that even an inexperienced person can easily create a ladder diagram.
본 발명의 다른 목적은 시스템의 동작사양에 변화가 있더라도 이를 쉽게 변경, 수정하여 자동으로 래더 다이어그램을 생성할 수 있는 방법을 제공하는 것이다.Another object of the present invention is to provide a method for automatically generating a ladder diagram by easily changing and modifying a system even if its operating specifications change.
본 발명의 또다른 목적은 프로그램형 논리 제어기에서 오류가 발생했을 때 쉽게 오류를 검출할 수 있으며 해당 오류원인을 밝혀내고 수정하기가 용이한 래더 다이어그램 자동 생성 방법을 제공하는 것이다It is still another object of the present invention to provide a method for automatically generating a ladder diagram that can easily detect an error when an error occurs in a programmable logic controller and to easily identify and correct the cause of the error.
도 1은 본 발명에 따른 래더 다이어그램 자동 변환 방법을 구현하고 테스트하기 위한 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a system for implementing and testing a ladder diagram automatic conversion method according to the present invention.
도 2는 본 발명의 전체적인 구성을 개략적인 블록 다이어그램으로 도시한 도면이다.2 is a schematic block diagram showing the overall configuration of the present invention.
도 3a는 본 발명의 방법 중 상태선도로부터 블리언 방정식을 얻어내는 블리언 방정식 변환 알고리즘을 개념적으로 나타낸 흐름도이다.3A is a flow diagram conceptually illustrating a Brianian equation transformation algorithm for obtaining the Brianian equation from a state diagram of the method of the present invention.
도 3b는 본 발명의 방법 중 블리언 방정식으로부터 래더 다이어그램을 작성하는 래더 다이어그램 생성 알고리즘을 나타낸 흐름도이다.FIG. 3B is a flow diagram illustrating a ladder diagram generation algorithm for creating a ladder diagram from a Brianian equation in the method of the present invention. FIG.
도 4는 도 3a의 흐름도를 구체적으로 도시한 흐름도이다.4 is a flowchart specifically illustrating the flowchart of FIG. 3A.
도 5는 본 발명의 제1 실시예에 따른 작업 시스템의 구성도이다.5 is a configuration diagram of a work system according to a first embodiment of the present invention.
도 6은 본 발명의 제1 실시예에 따른 작업 시스템에 대한 이산사건모델이다.6 is a discrete event model for a work system according to a first embodiment of the present invention.
도 7은 본 발명의 제1 실시예에 따른 최종 출력인 래더 다이어그램을 도시한 도면이다.7 is a diagram illustrating a ladder diagram which is the final output according to the first embodiment of the present invention.
도 8은 본 발명의 제2 실시예에 따른 작업 시스템의 구성도이다.8 is a configuration diagram of a work system according to a second embodiment of the present invention.
도 9는 본 발명의 제2 실시예에 따른 작업 시스템에 대한 이산사건모델이다.9 is a discrete event model for a work system according to a second embodiment of the present invention.
도 10은 본 발명의 제2 실시예에 따른 최종 출력인 래더 다이어그램을 도시한 도면이다.10 is a diagram illustrating a ladder diagram which is the final output according to the second embodiment of the present invention.
도 11은 본 발명의 방법에 따른 상태선도와 래더 다이어그램의 구성요소의 대응관계를 나타낸 도면이다.11 is a view showing a correspondence between components of a state diagram and a ladder diagram according to the method of the present invention.
*도면의 부호에 대한 설명** Description of the symbols in the drawings *
110: 설계시스템 120: 프로그램형 논리 제어기110: design system 120: programmable logic controller
130: 작업시스템 140: RS-232C 통신 케이블130: work system 140: RS-232C communication cable
210: 상태선도 215: 블리언 방정식 변환 알고리즘210: state diagram 215: Brian equation transformation algorithm
220: 블리언 방정식 225: 래더 다이어그램 생성 알고리즘220: Brian equation 225: ladder diagram generation algorithm
230: 래더 다이어그램 510: 컨베이어 밸트230: ladder diagram 510: conveyor belt
520: SEN1(제품의 하한검출 센서) 530: SEN2(제품의 상한검출 센서)520: SEN1 (product lower limit detection sensor) 530: SEN2 (product upper limit detection sensor)
540: 실린더(불량품 배출) 550: 카운터(완제품 수량 개수)540: cylinder (defective product discharge) 550: counter (number of finished products)
810: 로봇 811: 척 820: 제품810: robot 811: chuck 820: product
830: A지점 플레이트 840: B지점 플레이트830: point A plate 840: point B plate
이와 같은 목적을 달성하기 위하여 본 발명의 래더 다이어그램 자동 생성 방법에서는, 이산사건모델로 시스템을 모델링하고 각각의 상태로부터 변환 알고리즘을 이용하여 블리언 방정식을 유도한 후 래더 다이어그램으로 자동 변환한다.In order to achieve the above object, in the automatic ladder diagram generation method of the present invention, a system is modeled using a discrete event model, and a blion equation is derived from each state using a conversion algorithm, and then automatically converted into a ladder diagram.
즉, 본 발명에 따른 프로그램형 논리 제어기를 위한 래더 다이어그램 자동 생성 방법은, 프로그램형 논리 제어기의 동작 특성을 표현한 이산사건모델을 컴퓨터의 입력으로 제공하는 단계, 이산사건모델로부터 이산사건모델의 각 상태 또는 사건을 나타내는 블리언 방정식을 얻는 단계, 블리언 방정식을 래더 다이어그램으로 변환하여 래더 다이어그램을 출력하는 단계를 포함하여 이루어진다.That is, the method for automatically generating a ladder diagram for a programmable logic controller according to the present invention includes providing a discrete event model expressing an operating characteristic of the programmable logic controller as a computer input, each state of the discrete event model from the discrete event model. Or obtaining a brian equation representing the event, converting the brian equation into a ladder diagram and outputting a ladder diagram.
여기에서, 이산사건모델은 상태선도인 것이 바람직하며, 이 상태선도는, 상태선도를 구성하는 각 상태는 프로그램형 논리 제어기의 내부출력상태, 타이머출력상태, 카운터출력상태 및 외부출력상태를 포함하는 그룹 내의 하나의 상태이고, 외부출력상태를 제외한 각 상태들은 동작을 위한 셋 상태와 정지를 위한 리셋 상태로 구분되며, 입력신호는 입력상태와 입력사건의 논리곱으로 정의되고, 사건이 입력된 후에도 계속 현재 상태의 동작을 유지하고자 할 경우에는 자기자신의 상태로 천이하도록 표시되며, 동시에 발생하는 상태는 사건의 발생없이 다음 상태로 천이가 일어나도록 표시되는 방식으로 작성된다.Here, the discrete event model is preferably a state diagram, wherein each state constituting the state diagram includes an internal output state, a timer output state, a counter output state, and an external output state of the programmable logic controller. Each state in the group, except the external output state, is divided into set state for operation and reset state for stop, and the input signal is defined by the logical product of the input state and the input event. If the user wants to maintain the operation of the current state, it is displayed to transition to his own state, and the state occurring at the same time is written in such a manner that the transition to the next state occurs without occurrence of an event.
또한, 상기 블리언 방정식을 얻는 단계는, 상태선도의 각 출력상태별로, 각 상태에 대하여 입력신호를 처리하는 단계, 입력상태의 포함 여부를 처리하는 단계, 각 상태의 입력신호를 재배열하는 단계, 재배열된 상기 입력신호를 블리언 방정식으로 변환하는 단계를 포함할 수 있다. 여기에서, 입력신호 처리 단계에서는, 각 상태별로 셋상태와 리셋상태를 구분하여 각 상태별 입력신호를 저장하고, 입력상태의 포함 여부를 처리하는 단계에서는, 해당 상태가 셋 내부출력상태인 경우, 입력신호가 셋입력상태와 입력사건을 가지고 있다면 입력상태와 입력사건의 논리곱을 다시 저장하고, 입력신호가 리셋입력상태와 입력사건을 가지고 있다면 입력사건만을 다시 저장하고, 해당 상태가 리셋 내부출력상태인 경우, 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 다시 저장하며, 해당 상태가 카운터출력상태 또는 타이머출력상태인 경우, 셋 상태 및 리셋 상태별로 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 다시 저장하고, 해당 상태가 외부출력상태인 경우, 입력신호를 저장하며, 각 상태의 입력신호를 재배열하는 단계에서는, 해당 상태가 내부출력상태인 경우, 셋 내부출력상태와 리셋 내부출력상태 각각에 대해 저장된 입력 상태 및 사건을 논리합 연산한 후, 리셋 내부출력상태의 보수 형태와 셋 내부출력상태를 논리곱 연산하고, 해당 상태가 카운터출력상태 또는 타이머출력상태인 경우, 셋 상태와 리셋 상태별로 저장된 입력상태 및 사건을 논리합 연산하며, 해당 상태가 외부출력상태인 경우, 저장된 입력상태 및 사건을 논리합 연산하고, 입력신호를 블리언 방정식으로 변환하는 단계에서는, 각 입력신호의 셋 입력상태와 리셋 입력상태를 셋 상태와 리셋 상태의 구분이 없는 입력상태로 변환하여 블리언 방정식을 완성한다.In addition, the step of obtaining the brian equations, for each output state of the state diagram, processing an input signal for each state, processing whether or not to include the input state, rearranging the input signal of each state And converting the rearranged input signals into a blian equation. Here, in the input signal processing step, the input signal for each state is stored by dividing the set state and the reset state for each state, and in the step of processing whether the input state is included or not, when the corresponding state is the set internal output state, If the input signal has the set input state and the input event, the input product and the logical product of the input event are stored again.If the input signal has the reset input state and the input event, only the input event is saved again, and the state is reset. If the input signal has both an input state and an input event, only the input event is stored again. If only the input state has an input state, the input state is stored again. If the corresponding state is a counter output state or timer output state, the set state and If the input signal has both the input state and the input event for each reset state, only the input event is saved again. If it has only the input state is stored again, if the state is the external output state, the input signal is stored, and in the step of rearranging the input signal of each state, if the state is the internal output state, the set internal output state And OR of each stored input state and event for each of the reset internal output states and the reset internal output states, and then logically calculates the complement type of the reset internal output state and the set internal output state, and if the corresponding state is a counter output state or a timer output state. In the step of ORing the stored input states and events by the set state and the reset state, and when the state is the external output state, the OR operation is performed on the stored input states and events, and the input signal is converted into a brian equation. Converts the set input state and the reset input state of the input into an input state with no distinction between the set state and the reset state. The.
또한, 상태선도는 상태선도를 구성하는 각 상태 및 사건을 입력상태 및 입력사건과 해당 입력상태와 입력사건에 따른 출력상태를 포함내는 테이블 형태로 가공하여 컴퓨터의 입력으로 제공될 수도 있다.In addition, the state diagram may be provided as a computer input by processing each state and event constituting the state diagram into a table form including an input state and an input event and an output state according to the input state and the input event.
한편, 블리언 방정식을 래더 다이어그램으로 변환하는 단계는 다시, 블리언 방정식에서 논리곱은 직렬 연결로, 논리합은 병렬 연결로 변환하는 단계, 블리언 방정식에서 통상적인 입력신호는 상시개로접접으로, 보수 형태의 입력신호는 상시폐로접점으로 변환하는 단계를 포함하며, 입력신호는 왼쪽으로, 출력상태는 오른쪽으로 배치하도록 래더 다이어그램을 생성하는 것이 바람직하다.On the other hand, the step of converting the Brianian equation into the ladder diagram again, the logical product is converted into a series connection, the logical sum is converted into a parallel connection in the Briann equation, the usual input signal in the Brianian equation is always open contact, the complement form It is preferable to generate a ladder diagram so that the input signal of is converted into a normally closed contact, and the input signal is arranged to the left and the output state to the right.
본 발명에 따른 프로그램형 논리 제어기를 위한 래더 다이어그램 자동 생성 방법의 다른 예는, 프로그램형 논리 제어기의 동작 특성을, 각 상태를 프로그램형 논리 제어기의 내부출력상태, 타이머출력상태, 카운터출력상태 및 외부출력상태를 포함하는 그룹 내의 상태들로 구분하고, 상기 상태들은 각각 동작을 위한 셋 상태와 정지를 위한 리셋 상태로 구분하며, 입력신호는 입력상태와 입력사건의 논리곱으로 정의하고, 사건이 입력된 후에도 계속 현재 상태의 동작을 유지하고자 할 경우에는 자기자신의 상태로 천이하도록 표시하며, 동시에 발생하는 상태는 사건의 발생없이 다음 상태로 천이가 일어나도록 표시한 상태선도를 상기 컴퓨터의 입력으로 제공하는 단계, 상태선도를 구성하는 각 상태에 대하여, 상기 상태가 셋 내부출력상태인 경우, 상기 상태로 입력되는 입력신호를 대응하는 어레이 형태의 셋 내부출력상태 저장공간에 저장한 후, 저장된 상기 입력신호가 셋입력상태와 입력사건을 가지고 있다면 입력상태와 입력사건의 논리곱을 해당 셋 내부출력상태 저장공간에 다시 저장하고, 입력신호가 리셋입력상태와 입력사건을 가지고 있다면 입력사건만을 해당 셋 내부출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 셋 내부출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하고, 상기 상태가 리셋 내부출력상태인 경우, 상기 상태로 입력되는 입력신호를 대응하는 어레이 형태의 리셋 내부출력상태 저장공간에 저장한 후, 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 해당 리셋 내부출력상태 저장공간에 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 해당 리셋 내부출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 리셋 내부출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하고, 논리합 연산한 상기 셋 내부출력상태 입력신호와, 논리합 연산한 상기 리셋 내부출력상태 입력신호의 보수 형태를 논리곱 연산하여 내부출력상태의 블리언 방정식을 생성하고, 상기 상태가 카운터출력상태인 경우, 셋 상태와 리셋 상태의 입력신호를 각각 대응하는 어레이 형태의 셋 카운터출력상태 저장공간 및 리셋 카운터출력상태 저장공간에 저장한 후, 저장된 상기 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 해당 셋 카운터출력상태 저장공간 또는 리셋 카운터출력상태 저장공간에 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 해당 셋 카운터출력상태 저장공간 또는 리셋 카운터출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 셋 카운터출력상태 저장공간 및 리셋 카운터출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하여 셋 카운터출력상태와 리셋 카운터출력상태의 블리언 방정식을 각각 생성하며, 상기 상태가 타이머출력상태인 경우, 셋 상태와 리셋 상태의 입력신호를 각각 대응하는 어레이 형태의 셋 타이머출력상태 저장공간 및 리셋 타이머출력상태 저장공간에 저장한 후, 저장된 상기 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 해당 셋 타이머출력상태 저장공간 또는 리셋 타이머출력상태 저장공간에 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 해당 셋 타이머출력상태 저장공간 또는 리셋 타이머출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 셋 카운터출력상태 저장공간 및 리셋 카운터출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하여 셋 타이머출력상태와 리셋 타이머출력상태의 블리언 방정식을 각각 생성하고, 상기 상태가 외부출력상태인 경우, 셋 상태와 리셋 상태를 구분하지 않고 대응하는 어레이 형태의 외부출력상태 저장공간에 저장한 후, 상기 어레이 형태의 외부출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하여 외부출력상태의 블리언 방정식을 생성하며, 생성된 상기 각 블리언 방정식의 셋 입력신호와 리셋 입력신호를 셋 상태와 리셋 상태의 구분이 없는 입력신호로 변환하여 각 상태의 최종 블리언 방정식을 생성하는 단계, 상기 최종 블리언 방정식에서 논리곱은 직렬 연결로 논리합은 병렬 연결로 변환하고, 상기 최종 블리언 방정식에서 통상적인 입력신호는 상시개로접접으로 보수 형태의 입력신호는 상시폐로접점으로 변환하여, 입력신호는 왼쪽으로 출력상태는 오른쪽으로 배치하도록 래더 다이어그램을 생성하는 단계를 포함하여 이루어진다.Another example of a method for automatically generating a ladder diagram for a programmable logic controller according to the present invention includes operating characteristics of the programmable logic controller, and each state includes an internal output state, a timer output state, a counter output state, and an external state of the programmable logic controller. The states are divided into states in the group including the output states, and the states are divided into set states for operation and reset states for stop, respectively, and the input signal is defined as the logical product of the input state and the input event, and the event is inputted. If the user wants to maintain the current state even after the operation is completed, the state transition to one's own state is indicated, and at the same time, the state diagram indicating the transition to the next state without occurrence of an event is provided as the input of the computer. For each state constituting the state diagram, if the state is the set internal output state, After the input signal inputted as the state is stored in the set internal output state storage space of the corresponding array type, and the stored input signal has the set input state and the input event, the logical product of the input state and the input event is set to the set internal output state. If the input signal has a reset input state and an input event, only the input event is stored in the set internal output state storage space again, and each input stored in the set internal output state storage space of the array type. When the signal is ORed and the state is the reset internal output state, the input signal inputted to the state is stored in the reset internal output state storage space of the corresponding array type, and then the input signal stores both the input state and the input event. If so, only the input event is saved in the reset internal output state storage space. And storing the input state again in the corresponding reset internal output state storage space, and performing an OR operation on each input signal stored in the reset internal output state storage space of the array type, and performing the OR operation on the set internal output state input signal; Computing the complement form of the reset internal output state input signal, which is the OR operation, generates a blun equation of the internal output state, and when the state is a counter output state, respectively, the input signal of the set state and the reset state is respectively corresponded. If the stored input signal has both an input state and an input event after storing in an array type set counter output state storage space and a reset counter output state storage space, only the input event is set counter output state storage space or reset counter output state. Save it back to the storage space and set the input state if it has only input state. And re-storing the input output state storage space or the reset counter output state storage space, and performing an OR operation on each input signal stored in the array type set counter output state storage space and the reset counter output state storage space. Generates a blon equation of a reset counter output state, and when the state is a timer output state, an array type set timer output state storage space and a reset timer output state storage space corresponding to input signals of the set state and the reset state, respectively If the stored input signal has both an input state and an input event, the input event is stored in the set timer output state storage space or the reset timer output state storage space again, and the input state corresponds to the input state. Set timer output state storage or reset timer output state storage And then blob equations of the set timer output state and the reset timer output state are generated by performing an OR operation on each of the input signals stored in the array type set counter output state storage space and the reset counter output state storage space. When the state is an external output state, each input signal stored in the external output state storage space of the array type after storing the set state and the reset state in an external output state storage space of a corresponding array type without being distinguished. Generates a Boolean equation of the external output state by performing a logical OR operation, converts the generated set input signal and reset input signal of each of the brian equations into input signals without distinction between the set state and the reset state. Generating a Ryanian equation, wherein the logical product is a series connection in the final Brianian equation; And converting the conventional input signal into a constant open contact and converting a complementary input signal into a normally closed contact, generating a ladder diagram so that the input signal is placed to the left and the output state is to the right. It is made, including.
한편, 본 발명에 따른 프로그램형 논리 제어기를 위한 래더 다이어그램 자동 생성 장치는, 기억장치, 상기 기억장치와 연결되어 있는 처리장치를 포함하며, 상기 기억장치는 상기 처리장치를 제어할 수 있는 프로그램을 저장하고 있으며, 상기 처리장치는 상기 프로그램과 함께 동작하여, 프로그램형 논리 제어기의 동작 특성을 표현한 이산사건모델을 입력받아, 상기 이산사건모델을 상기 이산사건모델의 각 상태 또는 사건을 나타내는 블리언 방정식으로 변환하고, 상기 블리언 방정식을 래더 다이어그램으로 변환한다.On the other hand, the apparatus for automatically generating a ladder diagram for a programmable logic controller according to the present invention includes a storage device and a processing device connected to the storage device, and the storage device stores a program for controlling the processing device. The processing apparatus operates together with the program, receives a discrete event model representing an operating characteristic of a programmable logic controller, and converts the discrete event model into a brian equation representing each state or event of the discrete event model. And convert the Brianion equation into a ladder diagram.
본 발명에 따른 다른 장치는, 적어도 하나의 기억장치, 상기 기억장치와 연결되어 있는 처리장치를 포함하며, 상기 기억장치는 상기 처리장치를 제어할 수 있는 프로그램을 저장하고 있으며, 상기 처리장치는 상기 프로그램과 함께 동작하여, 프로그램형 논리 제어기의 동작 특성을, 각 상태를 프로그램형 논리 제어기의 내부출력상태, 타이머출력상태, 카운터출력상태 및 외부출력상태를 포함하는 그룹 내의 상태들로 구분하고, 상기 상태들은 각각 동작을 위한 셋 상태와 정지를 위한 리셋 상태로 구분하며, 입력신호는 입력상태와 입력사건의 논리곱으로 정의하고, 사건이 입력된 후에도 계속 현재 상태의 동작을 유지하고자 할 경우에는 자기자신의 상태로 천이하도록 표시하며, 동시에 발생하는 상태는 사건의 발생없이 다음 상태로 천이가 일어나도록 표시한 상태선도를 입력받아, 상기 상태선도를 구성하는 각 상태에 대하여, 상기 상태가 셋 내부출력상태인 경우, 상기 상태로 입력되는 입력신호를 상기 기억장치 내의 대응하는 어레이 형태의 셋 내부출력상태 저장공간에 저장한 후, 저장된 상기 입력신호가 셋입력상태와 입력사건을 가지고 있다면 입력상태와 입력사건의 논리곱을 해당 셋 내부출력상태 저장공간에 다시 저장하고, 입력신호가 리셋입력상태와 입력사건을 가지고 있다면 입력사건만을 해당 셋 내부출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 셋 내부출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하고, 상기 상태가 리셋 내부출력상태인 경우, 상기 상태로 입력되는 입력신호를 상기 기억장치 내의 대응하는 어레이 형태의 리셋 내부출력상태 저장공간에 저장한 후, 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 해당 리셋 내부출력상태 저장공간에 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 해당 리셋 내부출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 리셋 내부출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하고, 논리합 연산한 상기 셋 내부출력상태 입력신호와, 논리합 연산한 상기 리셋 내부출력상태 입력신호의 보수 형태를 논리곱 연산하여 내부출력상태의 블리언 방정식을 생성하고, 상기 상태가 카운터출력상태인 경우, 셋 상태와 리셋 상태의 입력신호를 각각 상기 기억장치 내의 대응하는 어레이 형태의 셋 카운터출력상태 저장공간 및 리셋 카운터출력상태 저장공간에 저장한 후, 저장된 상기 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 해당 셋 카운터출력상태 저장공간 또는 리셋 카운터출력상태 저장공간에 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 해당 셋 카운터출력상태 저장공간 또는 리셋 카운터출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 셋 카운터출력상태 저장공간 및 리셋 카운터출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하여 셋 카운터출력상태와 리셋 카운터출력상태의 블리언 방정식을 각각 생성하며, 상기 상태가 타이머출력상태인 경우, 셋 상태와 리셋 상태의 입력신호를 각각 상기 기억장치 내의 대응하는 어레이 형태의 셋 타이머출력상태 저장공간 및 리셋 타이머출력상태 저장공간에 저장한 후, 저장된 상기 입력신호가 입력상태와 입력사건을 모두 가지고 있다면 입력사건만을 해당 셋 타이머출력상태 저장공간 또는리셋 타이머출력상태 저장공간에 다시 저장하고, 입력상태만을 갖고 있다면 입력상태를 해당 셋 타이머출력상태 저장공간 또는 리셋 타이머출력상태 저장공간에 다시 저장하여, 상기 어레이 형태의 셋 카운터출력상태 저장공간 및 리셋 카운터출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하여 셋 타이머출력상태와 리셋 타이머출력상태의 블리언 방정식을 각각 생성하고, 상기 상태가 외부출력상태인 경우, 셋 상태와 리셋 상태를 구분하지 않고 상기 기억장치내의 대응하는 어레이 형태의 외부출력상태 저장공간에 저장한 후, 상기 어레이 형태의 외부출력상태 저장공간에 저장되어 있는 각 입력신호를 논리합 연산하여 외부출력상태의 블리언 방정식을 생성하며, 생성된 상기 각 블리언 방정식의 셋 입력신호와 리셋 입력신호를 셋 상태와 리셋 상태의 구분이 없는 입력신호로 변환하여 각 상태의 최종 블리언 방정식을 생성하고, 상기 최종 블리언 방정식에서 논리곱은 직렬 연결로 논리합은 병렬 연결로 변환하고, 상기 최종 블리언 방정식에서 통상적인 입력신호는 상시개로접접으로 보수 형태의 입력신호는 상시폐로접점으로 변환하여, 입력신호는 왼쪽으로 출력상태는 오른쪽으로 배치하도록 래더 다이어그램을 생성한다.Another apparatus according to the present invention includes at least one storage device and a processing device connected to the storage device, wherein the storage device stores a program capable of controlling the processing device, and the processing device includes the processing device. Operating with the program, the operational characteristics of the programmable logic controller are divided into states in a group including the internal output state, timer output state, counter output state and external output state of the programmable logic controller, The states are divided into a set state for operation and a reset state for stop, respectively, and the input signal is defined as the logical product of the input state and the input event, and if the user wants to maintain the current state after the event is entered, It is indicated to transition to its own state, and at the same time, the transition occurs to the next state without the occurrence of an event. When the state is set internal output state for each state constituting the state diagram, the input signal inputted in the state is set internal output in a corresponding array form in the storage device. After storing in the state storage space, if the stored input signal has a set input state and an input event, the logical product of the input state and the input event is stored again in the set internal output state storage space, and the input signal is reset with the reset input state and input. If there is an event, only the input event is stored in the set internal output state storage space again, and an OR operation is performed on each input signal stored in the set internal output state storage space of the array type, and the state is a reset internal output state. Storing the reset internal output state in the form of a corresponding array in the storage device; If the input signal has both an input state and an input event, only the input event is stored in the reset internal output state storage space. If the input signal only has the input state, the input state is stored in the reset internal output state storage space. And performing a logical sum operation on each of the input signals stored in the reset internal output state storage space of the array type, and performing a complementary operation on the set internal output state input signal obtained by performing an OR operation and the reset internal output state input signal obtained by performing an OR operation. A logical multiplication operation to generate a brian equation of an internal output state, and when the state is a counter output state, an input signal of a set state and a reset state is respectively stored in the storage device in the form of a set counter output state in the form of a corresponding array; After the reset counter output state is stored in the storage space, the stored input signal is inputted with the input state. If you have all the events, only the input events are stored in the set counter output status storage or reset counter output status storage space. If you have only input status, the input status is saved in the corresponding set counter output status storage or reset counter output status storage space. It stores again, and generates a blion equation of the set counter output state and the reset counter output state by performing an OR operation on each of the input signals stored in the array type set counter output state storage space and the reset counter output state storage space. When the state is a timer output state, the input signals of the set state and the reset state are respectively stored in the set timer output state storage space and the reset timer output state storage space of the corresponding array type in the storage device, and then the stored input signals. Has an input status and an input event Store only the set timer output state storage space or reset timer output state storage space again, and if only the input state is stored, store the input state again in the set timer output state storage space or reset timer output state storage space, Logic sum operation is performed on each input signal stored in the set counter output state storage space and the reset counter output state storage space of to generate a blion equation for the set timer output state and the reset timer output state, respectively. In this case, the data is stored in an external output state storage space of a corresponding array type in the storage device without distinguishing between a set state and a reset state, and then the logical sum operation of each input signal stored in the external output state storage space of the array type is performed. Generates a brian equation of the external output state, and each of the generated brian Converts the set input signal and the reset input signal of the equation into an input signal having no distinction between the set state and the reset state to generate the final blun equation of each state, and in the final blun equation, the logical product is a serial connection and the logical sum is a parallel connection In the final blun equation, the input signal is converted into a normal open contact, and the complementary input signal is converted into a normally closed contact, thereby generating a ladder diagram so that the input signal is placed to the left and the output state is to the right.
본 발명에 따르면 이산사건모델을 이용하여 사용자와 컴퓨터 상호작용(man-machine interface)에 의해 손쉽게 제어 알고리즘을 구성할 수 있다. 그리고 래더 다이어그램을 모듈별로 설계하므로 시스템 변경 등으로 인한 래더 다이어그램의 부분적 수정 및 변경이 용이하므로 유연성이 높아지고, 프로그램형 논리 제어기에서 오류가 발생했을 때 쉽게 오류를 검출할 수 있으며 해당 오류원인을 밝혀내고 수정하기가 용이하다. 더욱이 본 발명은 이산사건모델의 형태로 작성된 제어 알고리즘을 래더 다이어그램으로 자동 변환시켜 줌으로써 사용자가 실제적인 코드를 숙지하거나 이해할 필요가 없어 비숙련자도 용이하게 제어 알고리즘을 작성할 수 있다. 그리고 본 발명에 따르면 이산사건모델을 이용하여 사건 및 상태를 정의함으로써 실행 동작을 직관적으로 파악할 수 있고 입출력 접점을 별도로 설정할 필요가 없게 된다.According to the present invention, a control algorithm can be easily configured by a user-computer interface using a discrete event model. And by designing the ladder diagram by module, it is easy to partially modify and change the ladder diagram due to the system change, so it is more flexible, and when the error occurs in the programmable logic controller, the error can be easily detected and the cause of the error can be identified. Easy to modify Furthermore, the present invention automatically converts a control algorithm written in the form of a discrete event model into a ladder diagram, so that the user does not need to know or understand the actual code, so that the unskilled user can easily write the control algorithm. In addition, according to the present invention, it is possible to intuitively grasp the execution operation by defining an event and a state using a discrete event model, and there is no need to set input / output contacts separately.
이하 첨부도면을 이용하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 래더 다이어그램 자동 변환 방법을 구현하고 테스트하기 위한 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a system for implementing and testing a ladder diagram automatic conversion method according to the present invention.
도 1에 나타난 바와 같이, 본 발명의 방법은 개인용 컴퓨터와 같은 설계 시스템(110)을 이용해 구현될 수 있다. 설계 시스템(110)은 RS-232C 케이블(140)을 이용해 프로그램형 논리 제어기(PLC; programmable logic controller)(120)와 연결될 수 있으며, 설계 시스템(110)을 통해 자동 생성된 래더 다이어그램을 이용해 PLC(120)를 동작시킬 수 있다. 테스트를 통해 PLC(120)의 동작이 확인되면 PLC(120)를 실제 작업 시스템(130)과 연결하여 공정 자동화에 이용할 수 있다.As shown in FIG. 1, the method of the present invention may be implemented using a design system 110 such as a personal computer. The design system 110 may be connected to a programmable logic controller (PLC) 120 using an RS-232C cable 140, and may be connected to a programmable controller (PLC) using a ladder diagram automatically generated by the design system 110. 120 may be operated. When the operation of the PLC 120 is confirmed through the test, the PLC 120 may be connected to the actual work system 130 and used for process automation.
본 발명의 방법은 크게 두 가지 단계로 나눌 수 있는데, 도 2는 이러한 두 가지 단계를 나타내는 블록 다이어그램이 도시되어 있다. 즉, 작업 시스템의 동작특성을 표현한 이산사건모델(예를 들면 상태선도(210))에 대해 블리언 방정식 변환 알고리즘(215)을 적용하여 블리언 방정식(220)을 유도하는 과정과 유도된 블리언 방정식(220)에 래더 다이어그램 생성 알고리즘(225)을 적용하여 래더 다이어그램(230)을 자동으로 생성하는 두 가지 과정으로 이루어져 있다.The method of the present invention can be largely divided into two stages, and FIG. 2 shows a block diagram showing these two stages. That is, the process of deriving the brian equation 220 by applying the brian equation transformation algorithm 215 to the discrete event model (for example, the state diagram 210) representing the operational characteristics of the work system and the derived brian The ladder diagram generation algorithm 225 is applied to the equation 220, and the ladder diagram 230 is automatically generated.
작업 시스템의 동작특성은 다양한 이산사건모델을 이용해 표현될 수 있지만, 특히 본 발명에서는 상태선도(state diagram 또는 finite state machine 또는 automata)(210)를 이용한 래더 다이어그램 생성 방법을 제안한다. 그러나 여타의 다른 이산사건모델에 대해서도 유사한 방식을 사용하여 래더 다이어그램을 생성할 수 있다.The operating characteristics of the work system can be represented using various discrete event models, but in particular, the present invention proposes a ladder diagram generation method using a state diagram (state diagram or finite state machine or automata) 210. However, you can create ladder diagrams in a similar way for other discrete event models.
래더 다이어그램을 작성하기 위한 입력으로 제공되는 상태선도(210)를 작성하기 위하여 먼저 상태선도의 각 상태 및 사건들을 정의하면 다음과 같다.In order to prepare a state diagram 210 provided as an input for creating a ladder diagram, first, each state and events of the state diagram are defined as follows.
1) 상태는 통상 프로그램형 논리 제어기의 내부출력상태, 타이머출력상태, 카운터출력상태 및 외부출력상태 등으로 정의한다.1) State is normally defined as internal output state, timer output state, counter output state and external output state of programmable logic controller.
2) 외부출력상태를 제외한 각 상태는 동작을 위한 셋(set) 상태와 정지를 위한 리셋(reset) 상태로 구분한다.2) Each state except the external output state is divided into set state for operation and reset state for stop.
3) 입력신호는 입력상태와 입력사건의 논리곱으로 정의한다.3) The input signal is defined as the logical product of the input state and the input event.
4) 자기자신의 상태로 천이하는 경우는 사건이 입력된 후에도 계속 현재 상태의 동작을 유지시키고자 할 때 정의한다.4) Transition to one's own state is defined when it wants to maintain the current state after the event is input.
5) 사건의 발생 없이 아크(arc)만으로 다음 상태로 천이가 일어나는 동작은 동시에 발생하는 상태를 나타낸다.5) An action where a transition to the next state by arc only without occurrence of an event indicates a state that occurs at the same time.
이와 같은 정의에 따라 작성된 상태선도는 도 6 또는 도 9에 나타난 바와 같이 나타나게 된다. 이와 같은 상태선도를 작성하기 위해서는 상태선도 작성을 위한 소프트웨어 툴이 설계 시스템에서 제공될 수도 있고, 작성된 상태선도로부터 각 상태의 입력과 출력을 나타내는 테이블을 추출하고 추출된 테이블 형태의 입력을 이용하여 래더 다이어그램을 작성할 수도 있다. 테이블 형태의 입력을 이용하는 경우 다음의 표 1과 같은 입력이 사용된다. 표 1은 도 6에 나타난 상태선도를 기준으로 작성된 것이며, 그 일부만을 나타내었다.A state diagram created according to such a definition will appear as shown in FIG. 6 or 9. In order to create such a state diagram, a software tool for creating a state diagram may be provided in the design system, and a table representing an input and an output of each state is extracted from the created state diagram, and the ladder is formed using the extracted table type input. You can also create a diagram. When using a tabular input, the input shown in Table 1 below is used. Table 1 is prepared based on the state diagram shown in FIG. 6 and shows only a part of the state diagram.
표 1. 상태선도로부터 추출한 입력 테이블.Table 1. Input table extracted from the state diagram.
본 발명에서는 이와 같이 상태선도 또는 표 1에 나타난 것과 같은 테이블을 입력으로 하여 래더 다이어그램을 자동으로 생성한다. 본 발명의 두 단계를 각각 좀 더 상세히 나타낸 흐름도가 도 3a와 도 3b이다. 도 3a는 본 발명의 방법 중 상태선도로부터 블리언 방정식을 얻어내는 블리언 방정식 변환 알고리즘을 개념적으로 나타낸 흐름도이다.In the present invention, a ladder diagram is automatically generated by inputting a state diagram or a table as shown in Table 1. 3A and 3B are flowcharts illustrating each of the two steps of the present invention in more detail. 3A is a flow diagram conceptually illustrating a Brianian equation transformation algorithm for obtaining the Brianian equation from a state diagram of the method of the present invention.
도 3a에 나타난 바와 같이, 먼저 각각의 출력상태에 대하여 입력신호를 처리한다(S310). 입력신호가 둘 이상 있을 경우 둘 이상의 입력신호를 모두 논리합 연산한다. 입력신호를 처리한 후에는 입력상태를 포함할 것인지의 여부를 처리한다(S320). 이와 같이 하면, 각 상태의 입력신호를 간단한 형태로 재배열할 수 있다(S330). 재배열된 입력신호는 블리언 방정식으로 변환된다(S340).As shown in FIG. 3A, first, an input signal is processed for each output state (S310). If there is more than one input signal, all of the two or more input signals are ORed together. After processing the input signal, it is processed whether or not to include an input state (S320). In this way, the input signals of the respective states can be rearranged in a simple form (S330). The rearranged input signal is converted into a brian equation (S340).
변환된 블리언 방정식을 이용하여 래더 다이어그램을 생성하는 방법은 도 3b에 나타나 있다. 즉, 먼저 논리곱은 직렬로 논리합은 병렬로 연결하도록하고(S350), 통상적인 입력신호는 상시개로접점(a접점)으로 보수형태의 입력신호는 상시폐로접점(b접점)으로 변환하여(S360) 래더 다이어그램을 작성하면 된다. 이 때 래더 다이어그램에서 입력신호는 왼쪽에 출력상태는 오른쪽에 배치된다.A method for generating a ladder diagram using the transformed Brianon equation is shown in FIG. 3B. That is, first, the logical product is connected in series and the logical sum is connected in parallel (S350), and the normal input signal is converted into a normally open contact (a contact), and the input signal of the complement type is converted into a normally closed contact (b contact) (S360). This is done by creating a ladder diagram. At this time, in the ladder diagram, the input signal is on the left and the output state is on the right.
이제 블리언 방정식을 생성하는 과정을 좀 더 상세히 설명한다. 도 4에 도 3a의 과정을 좀 더 상세히 나타낸 흐름도가 도시되어 있다. 한편, 도 4의 흐름도에서 사용된 변수명 및 관련정보를 저장할 공간에 대한 설명이 표 2에 나타나 있다. 이와 같은 방법을 적용하기 위한 상태선도의 예는 도 6 또는 도 9와 같이 주어지며, 도 6 및 도 9에 나타난 상태선도는 앞서 정의한 상태 및 사건에 따라 기술한 것이다. 도 6 및 도 9에 나타난 상태선도와 그 동작설명에 관한 상세한 내용은 후술하기로 한다. 도 4의 흐름도에서 “==” 기호는 기호 양쪽에 위치한 변수의 값이 동일하다는 것을 나타내는 것이고, “=” 기호는 기호의 오른쪽에 있는 변수의 값을기호 왼쪽의 변수 값으로 대입하는 것을 나타낸다.Now let's take a closer look at the process of generating the Brianion equation. 4 is a flowchart illustrating the process of FIG. 3A in more detail. On the other hand, the description of the space for storing the variable name and the associated information used in the flow chart of Figure 4 is shown in Table 2. An example of a state diagram for applying such a method is given as shown in FIG. 6 or 9, and the state diagrams shown in FIGS. 6 and 9 are described according to the states and events defined above. Details of the state diagram shown in FIGS. 6 and 9 and an operation thereof will be described later. In the flowchart of FIG. 4, the symbol “==” indicates that the values of the variables located on both sides of the symbol are the same, and the symbol “=” indicates that the value of the variable on the right side of the symbol is substituted into the variable value on the left side of the symbol.
〈내부출력상태〉<Internal output status>
먼저, 해당 상태가 내부출력상태인지의 여부를 판단한다(Y i ==M i ?)(S400).First, it is determined whether the state is the internal output state ( Y i == M i ?) (S400).
S400 단계에서의 판단 결과 출력상태가 내부출력이라면, 단계 S410에서 내부출력상태M i 가 셋상태M i,s 인가, 또는 리셋상태M i,r 인가를 판단한다. 다음, 내부출력상태M i 가 셋상태M i,s 라면 단계 S412에서 각각의 내부출력상태M i,s 로 입력되는 입력신호를M i,s [n] 에 저장한다. 단계 S414는 입력신호 중에서 입력상태를 포함할 것인지를 결정하는 단계로서 내부출력상태M i,s 로의 입력신호가Y j.r ·P j 라면 단계 S416에서 입력신호 중에서 입력사건P j 만을 저장하고,M i,s 로의 입력신호가Y j,r ·P j 이 아닌Y j,s ·P j 라면 단계 S418에서 입력신호Y j,s ·P j 를 함께 저장한다. 단계 S420에서는 단계 S416과 단계 S418에서의 입력신호에 대해 논리합 연산을 한다.If the determination result in the step S400 output state is the internal output, the internal output state in step S410M i Is setM i, s Authorization or reset statusM i, r Determine authorization. Next, internal output stateM i Is setM i, s The respective internal output states in step S412.M i, s Input signal input toM i, s [n] To save. Step S414 is a step of determining whether to include an input state among the input signals, and the internal output state.M i, s Input signal toY jr ·P j If it is an input event from the input signal in step S416P j Save the bay,M i, s Input signal toY j, r ·P j is notY j, s ·P j If the input signal in step S418Y j, s ·P j Save together. In step S420, an OR operation is performed on the input signals in steps S416 and S418.
한편, 단계 S410에서 출력상태가 내부출력상태M i 의 리셋상태M i,r 로 판단되면 단계 S422에서 리셋상태M i,r 의 입력신호를M i,r [n] 에 저장한다. 단계 S424는 입력신호가 입력상태만을 가지고 있는지 또는 입력상태와 입력사건을 함께 가지고 있는지를 판단하는 단계로서, 입력상태Y j,s 만을 가지고 있다면 단계 S426에서M i,r [n] 에 입력상태Y j,s 만을 저장하고, 입력신호가 입력상태와 입력사건을 함께 가지고 있다면 단계 S428에서 입력사건P j 만을M i,r [n] 에 저장한다. 단계 S430은 단계 S426과 단계 S428에서의 입력신호에 대해 논리합 연산을 행한다.On the other hand, the input signal if it is determined in step S410 as a reset condition M i, r inside the output state, the output state M i reset state at step S422 M i, r is stored in the M i, r [n]. Step S424 is a step of determining whether the input signal is taken together with or that the input state to the input event has only input, the input state Y j, M in the step S426, if only have a s i, r [n] input state Y in Only j, s is stored, and if the input signal has both an input state and an input event, only the input event P j is stored in M i, r [ n ] in step S428. Step S430 performs an OR operation on the input signals in steps S426 and S428.
다음 단계 S432에서는 단계 S420에서의 출력상태M i,s 와, 단계 S430에서의 출력상태M i,r 의 보수형태에 대해 논리곱 연산을 수행한 후 단계 S490에서 입력상태Y j,s 와Y j,r 을Y j 로 변환시키면 내부출력상태에 대한 블리언 방정식이 유도된다.In the next step S432, the output state in step S420M i, s And the output state in step S430M i, r Input state in step S490 after performing the AND operation on the complement form ofY j, s WowY j, r ofY j Converting to derives a Brianian equation for the internal output state.
〈카운터출력상태〉<Counter output status>
한편, 단계 S400에서 출력상태가 내부출력상태가 아니라면 단계 S440에서 출력상태가 카운터출력상태인가를 판단한다. 출력상태가 카운터출력상태라면 단계 S442에서 카운터의 셋상태C i,s 의 입력신호는C i,s [n]에 저장하고, 리셋상태C i,r 의 입력신호는C i,r [n] 에 각각 저장한다. 다음 단계 S444에서는 입력신호가 입력상태만을 가지고 있는지 또는 입력상태와 입력사건을 함께 가지고 있는지를 판단한 후 입력신호가 입력상태와 입력사건을 함께 가지고 있다면 단계 S446에서 입력사건P j 만을C i,s [n] 및C i,r [n] 의 해당 출력의 입력공간에 각각 저장하고 입력상태만을 가지고 있다면 단계 S448에서C i,s [n] 및C i,r [n] 의 해당 출력의 입력공간에 입력상태Y j,s 를 각각 저장한다. 단계 S450에서는 카운터의 셋상태C i,s 및 리셋상태C i,r 각각의 출력상태에 대해 단계 S446와 단계 S448에서의 입력신호에 대해 논리합 연산을 수행한 후, 단계 S450에서 입력상태Y j,s 와Y j,r 을Y j 로 변환시키면 카운터출력상태에 대한 블리언 방정식이 유도된다.On the other hand, if the output state is not the internal output state in step S400, it is determined in step S440 whether the output state is a counter output state. If the output state is a counter output state, in step S442, the input signal of the counter set state C i, s is stored in C i, s [ n ], and the input signal of the reset state C i, r is C i, r [ n ] Store each in. In the next step S444, it is determined whether the input signal has only the input state or the input state and the input event, and if the input signal has the input state and the input event together, the input event P j is changed to C i, s [ n ] and C i, r [ n ], respectively, are stored in the input space of the corresponding output, and if only the input state is stored in the input space of the corresponding outputs of C i, s [ n ] and C i, r [ n ] in step S448. Store input state Y j, s respectively. In step S450, the OR operation is performed on the input signals in steps S446 and S448 for the output states of the set states C i, s and the reset states C i, r of the counter, and then in step S450, the input states Y j, Converting s and Y j, r to Y j derives a bbrian equation for the counter output state.
〈타이머출력상태〉<Timer output status>
또한, 단계 S440에서 카운터출력상태가 아니라면 단계 S460에서 출력상태가 타이머출력상태인가를 판단한다. 출력상태가 타이머출력상태라면 단계 S462에서 타이머의 셋상태T i,s 의 입력신호는T i,s [n] 에 저장하고, 리셋상태T i,r 의 입력신호는T i,r [n] 에 각각 저장한다. 다음 단계 S464에서는 입력신호가 입력상태만을 가지고 있는지 또는 입력상태와 입력사건을 함께 가지고 있는지를 판단한 후 입력신호가 입력상태와 입력사건을 함께 가지고 있다면 단계 S466에서 입력사건P j 만을T i,s [n] 및T i,r [n] 의 해당 출력의 입력공간에 각각 저장하고, 입력상태만을 가지고 있다면 단계 S468에서T i,s [n] 및T i,r [n] 의 해당 출력의 입력공간에 입력상태Y j,s 를 각각 저장한다. 단계 S470에서는 타이머의 셋상태T i,s 및 리셋상태T i,r 각각의 출력상태에 단계 S466과 단계 S468에서의 입력신호에 대해 논리합 연산을 수행한 후 단계 S490에서 입력상태Y j,s 와Y j,r 을Y j 로 변환시키면 타이머출력상태에 대한 블리언 방정식이 유도된다.In addition, if it is not the counter output state in step S440, it is determined whether the output state is a timer output state in step S460. If the output state is a timer output state, the set state of the timer in step S462T i, s The input signal ofT i, s [n] And reset statusT i, r The input signal ofT i, r [n] Respectively. In the next step S464, it is determined whether the input signal has the input state only or the input state and the input event together.P j OnlyT i, s [n] AndT i, r [nStore each in the input space of the corresponding output, and if only the input state is present, in step S468T i, s [n] AndT i, r [nInput status in input space of corresponding output of]Y j, s Store each of them. In step S470, the set state of the timer.T i, s And reset statusT i, r Input state in step S490 after performing an OR operation on the input signals in steps S466 and S468 for each output state.Y j, s WowY j, r ofY j Converting to a derivation of the Brian equation for the timer output state.
〈외부출력상태〉<External output status>
한편, 단계 S460에서 타이머출력상태가 아니라면 단계 S480에서 외부출력상태로의 입력신호를P i [n] 에 저장한다. 다음 단계 S482에서는 단계 S480의 입력신호에 대해 논리합 연산을 수행한 후 단계 S490에서 입력상태Y j,s 와Y j,r 을Y j 로 변환시키면 외부출력상태에 대한 블리언 방정식이 유도된다On the other hand, if the timer output state at step S460 and stores the input signal to the external output state in step S480 to P i [n]. In the next step S482, after performing the OR operation on the input signal of the step S480 and converting the input states Y j, s and Y j, r into Y j in step S490, a bbrian equation for the external output state is derived.
이와 같이 하면 각각의 상태 즉 내부출력상태, 카운터출력상태, 타이머출력상태 및 외부출력상태에 대한 블리언 방정식이 모두 유도된다.This derives all of the blan equations for each state: the internal output state, the counter output state, the timer output state and the external output state.
이와 같이 유도된 블리언 방정식을 이용하여 도 3b에 나타난 바와 같이, 논리곱은 직렬로 연결하고, 논리합은 병렬로 연결하고, 일반적인 형태의 입력신호 즉,Y j ,P j 는 상시개로접점인 a접점으로 변환하고 보수형태의 입력신호 즉,는 상시폐로접점인 b접점으로 변환한다. 상태선도의 각 출력상태와 래더 다이어그램의 각 구성요소별 대응관계의 예가 도 11의 표에 나타나 있다. 다음, 래더 다이어그램에서 입력신호는 왼쪽에 배치하고 출력상태는 오른쪽에 배치한다.As shown in FIG. 3B using the derived blion equation, logical products are connected in series, logical sums are connected in parallel, and the general input signals, that is, Y j and P j are normally open contacts a. Input signal in the form of complement, Converts to the normally closed contact b. An example of the correspondence between each output state of the state diagram and each component of the ladder diagram is shown in the table of FIG. In the ladder diagram, the input signal is placed on the left and the output state is placed on the right.
이와 같이 하면, 프로그램형 논리 제어기의 제어 알고리즘인 래더 다이어그램이 최종적으로 생성된다. 생성된 래더 다이어그램의 예는 도 7 또는 도 10 에 나타나 있다.In this way, a ladder diagram which is a control algorithm of the programmable logic controller is finally generated. An example of the generated ladder diagram is shown in FIG. 7 or 10 .
표 2. 도 4의 각 변수들에 대한 정의 및 설명.Table 2. Definitions and descriptions of each variable in FIG.
본 발명의 방법을 수도코드(pseudo code)로 표현하면 다음과 같다.The method of the present invention is expressed as pseudo code as follows.
*****수도코드********** Capital Code *****
# define# define
Y j : j번째 입력상태 Y j : jth input state
M i : i 번째 내부출력상태 M i : i-th internal output state
M j : j 번째 입력상태 M j : j th input state
P i : i 번째 외부출력상태 P i : i-th external output state
P j : j 번째 입력접점(입력스위치, 검출센서등) P j : jth input contact (input switch, detection sensor, etc.)
C i : i 번째 카운터 출력상태 C i : i-th counter output status
C j : j 번째 카운터 입력상태 C j : jth counter input status
T i : i 번째 타이머 출력상태 T i : i-th timer output status
T j : j 번째 타이머 입력상태 T j : jth timer input status
M i,s [n]: i번째 내부출력상태M i 의 셋상태의 입력신호 저장공간 M i, s [ n ]: Input signal storage space in the set state of the i internal output state M i
M i,r [n]: i번째 내부출력상태M i 의 리셋상태의 입력신호 저장공간 M i, r [ n ]: Input signal storage space of reset state of i internal output state M i
C i,s [n]: i번째 카운터출력상태C i 의 셋상태의 입력신호 저장공간 C i, s [ n ]: Input signal storage space of the set state of the i th counter output state C i
C i,r [n]: i번째 카운터출력상태C i 의 리셋상태의 입력신호 저장공간 C i, r [ n ]: Input signal storage space of reset state of i th counter output state C i
T i,s [n]: i번째 타이머출력상태T i 의 셋상태의 입력신호 저장공간 T i, s [ n ]: Input signal storage space of set state of i th timer output state T i
T i,r [n]: i번째 타이머출력상태T i 의 리셋상태의 입력신호 저장공간 T i, r [n]: i of the reset state of the second timer output state T i input signal storage
P i [n]: i번째 외부출력상태P i 의 입력신호 저장공간 P i [ n ]: Input signal storage space of i th external output state P i
##### 실시예 ########## Example #####
이제 본 발명의 방법을 2개의 실시예를 통하여 래더 다이어그램으로 자동 변환 생성하는 과정을 자세히 설명하고자 한다.Now, a method of automatically converting and generating a ladder diagram from the method of the present invention through two embodiments will be described in detail.
〈 제1실시예 〉<First Embodiment>
도 5는 본 발명의 제1실시예에 따른 작업 시스템을 나타낸 것으로서 컨베이어 벨트에서 제품이 이동되고 완제품은 수량을 개수하고 불량품은 밖으로 배출시키는 공장의 일부분을 나타낸다. 시스템의 동작사양을 자세히 기술하면 컨베이어 밸트(510)에서 도 5의 화살표 방향으로 제품이 이동되고 하한검출센서 SEN1(520)에서물체를 검출하면 타이머가 동작한다. 제품이 계속 이동하여 상한검출센서 SEN2(530)에서 물체를 검출하면 타이머를 정지시키고 카운터(550)를 이용하여 제품의 수량을 개수한다. 상한검출센서 SEN2(530)에서 물체검출이 실패하면 불량품으로 간주하여 5초 후 실린더(540)가 동작하여 제품을 밖으로 배출시킨다.5 shows a working system according to a first embodiment of the present invention, in which a product is moved on a conveyor belt, a part of a factory where the finished product counts and the defective product is discharged out. The operating specifications of the system will be described in detail. When the product is moved in the direction of the arrow of the conveyor belt 510 and the object is detected by the lower limit detection sensor SEN1 520, a timer is operated. When the product continues to move and the object is detected by the upper limit detection sensor SEN2 530, the timer is stopped and the number of products is counted using the counter 550. If object detection fails in the upper limit detection sensor SEN2 530, the cylinder 540 is operated after 5 seconds to be regarded as a defective product and the product is discharged out.
도 6는 도 5에 나타난 시스템의 동작특성을 고려하여 이산사건모델로 표현한 도면이다. 도 6의 이산사건모델을 참조하여 블리언 방정식으로 변환하는 과정을 설명하기 위하여 사용한 도 6의 이산사건모델의 입력접점 및 출력상태에 대한 변수들의 정의는 표 3에 기술한 바와 같다. 도 6과 표 3을 참조하여 블리언 방정식을 유도하는 과정을 상세히 설명하면 다음과 같다.FIG. 6 is a diagram illustrating a discrete event model in consideration of operating characteristics of the system illustrated in FIG. 5. The definitions of the variables for the input contact point and the output state of the discrete event model of FIG. 6 used to explain the process of converting to the Brianian equation with reference to the discrete event model of FIG. 6 are described in Table 3. Referring to Figure 6 and Table 3 will be described in detail the process of deriving the Brianian equation.
표 3. 제1실시예의 입력접점 및 출력상태에 대한 변수 정의.Table 3. Variable definitions for the input contacts and output states of the first embodiment.
1) 시동 내부출력상태:M l 1) Starting internal output status: M l
시동 내부출력상태M l을 도 4에 나타난 흐름도에 따라 전개하면 단계 S412에서M l,s[n]에는M l의 셋상태M l,s의 입력신호P l·M l,r와M l,s이 각각 저장된다. 다음 단계 S414에서 리셋상태에서의 입력상태M i,r이 존재하므로 단계 S416으로 진행하여M l,r은 1이 되어M l,s[n]=P l이 된다. 또한 단계 S418에서M l,s[n]=M l,s가 저장되고, 단계 S420에서 S416과 S418의 입력신호를 논리합하면M l의 셋상태M l,s의 입력신호는M l,s=P l+M l,s가 된다. 한편,M l의 리셋상태M l,r의 입력신호는 단계 S422에서M l,s·P 0가 된다. 다음 단계 S424의 판단결과 리셋상태의 입력신호가 입력사건과 입력상태의 논리곱이므로 단계 S428에서 입력상태M l,s는 1로 만들고 입력사건P 0만을 저장하고, 단계 S430에서M l의 리셋상태M l,r의 입력신호는M l,r=P 0가 된다.When deployed in accordance with the flow chart shown in Figure 4 to start the internal output state M l In step S412 M l, s [n], the set state of M l M l, s input signal P l of the · M l, r and M l, s is stored respectively. In the next step S414, since the input state M i, r exists in the reset state, the process proceeds to step S416, where M l, r becomes 1 and M l, s [ n ] = P l . Also be a M l, s [n] = M l, s saved in step S418, when a logical OR of the input signals S416 and S418 from the step S420 sets the state of the M l M l, s input signal of the M l, s = P l + M l, s On the other hand, the reset state M l, r of the input signal of M l is the M l, s · P 0 in step S422. As a result of the determination in the next step S424, since the input signal in the reset state is the logical product of the input event and the input state, the input state M l, s is set to 1 in step S428, and only the input event P 0 is stored, and the reset state of M l in step S430 M l, r of the input signal is a M l, r = P 0.
M l의 셋상태M l,s및 리셋상태M l,r의 입력신호를 모두 처리하였으므로 단계 S432에 의해 시동 내부출력상태는가 된다. 다음 단계 S490에 의해 입력상태M l,s를M l으로 변환시키면가 된다. M l M l set state, a reset state and M s l, process all of the input signals r hayeoteumeuro internal start by step S432 of the output states is Becomes In the next step S490, the input state M l, s is converted into M l . Becomes
2) 하한검출센서(SEN1) 내부출력상태:M 2 2) Lower limit detection sensor (SEN1) internal output status: M 2
하한검출센서의 내부출력상태M 2를 도 4에 나타난 흐름도에 따라 전개하면 단계 S412에서M 2의 셋상태M 2,s의 입력신호는M l,s·P 2와M 2,s이다. 단계 S414에서 입력신호 모두 조건을 만족하지 않으므로 단계 S418에서M 2의 셋상태M 2,s의 입력신호는M l,s·P 2,M 2,s이 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 2의 셋상태M 2,s의 입력신호는M 2,s=M l,s·P 2+M 2,s가 저장된다. 또한 단계 S422에서M 2의 리셋상태M 2,r의 입력신호는M 3,s와M 4,s가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태밖에 없으므로 단계 S426에 따라M 3,s,M 4,s가 그대로 저장된다. 단계 S430에서는 단계 S428에서의 입력신호가 없으므로M 2의 리셋상태M 2,r의 입력신호는 단계 S426으로부터의 입력신호인M 2,r=M 3,s+M 4,s가 저장된다.When the internal output state M 2 of the lower limit detection sensor is developed in accordance with the flowchart shown in FIG. 4, the input signals of the set state M 2, s of M 2 in M 2 are M l, s P 2 and M 2, s in step S412. Three state M 2, s input signal of the M 2 do not satisfy the conditions both input signals in step S414 in step S418 becomes M l, s · P 2, M 2, s, no input signal in step S416 three state M 2, s of the input signal of M 2 in step S420 is stored in the M 2, M s = l, s · P 2 + M 2, s. In addition, the Reset state M 2, the input signal r of the M 2 in step S422 is a M 3, and M s 4, s. Since the input signal in the reset state is only the input state in the next step S424, M 3, s and M 4, s are stored as it is in accordance with step S426. Step S430 In Step S428 because there is no input signal in the reset state, M 2, of the input signal r of M 2 is a M 2, r = the input signal from the step S426 M 3, M 4 + s, is s is stored.
M 2의 셋상태M 2,s및 리셋상태M 2,r의 입력신호를 모두 처리하였으므로 단계 S432에 의해 하한검출센서 내부출력상태는가 되고, 다음 단계 S490에 의해 가 된다.Three state M 2, M 2 s, and a reset state, hayeoteumeuro process all of the input signals inside the lower limit detecting sensor by a step S432 the output state of the r M 2 is Become the next step by Becomes
3) 상한검출센서(SEN2) 내부출력상태:M 3 3) Upper limit detection sensor (SEN2) Internal output status: M 3
상한검출센서M 3의 내부출력상태를 도 4에 나타난 흐름도에 따라 전개하면 단계 S412에서M 3의 셋상태M 3,s의 입력신호는M 2,s·P 3가 된다. 이 입력신호는 단계 S414의 조건을 만족하지 않으므로 단계 S418에서M 3의 셋상태M 3,s의 입력신호는 그대로M 2,s·P 3가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 3의 셋상태M 3,s의 입력신호는M 3,s=M 2,s·P 3가 저장된다. 또한 단계 S422에서M 3의 리셋상태M 3,r의 입력신호는가 되고 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태와 입력사건이 함께 존재하므로 단계 S428에서가 저장된다. 단계 S430에서는 단계 S426에서의 입력신호가 없으므로M 3의 리셋상태M 3,r의 입력신호는가 저장된다.Set state of the upper limit detection sensor 3 when M of deployment in accordance with the flow diagram shown the inside of an output state in Fig. 4 M 3 M 3 in step S412, the input signal s is a M 2, it s · P 3. The input signals are three state M 3, s input signal of the step S414 condition M at step S418 is not satisfied 3 a is the same M 2, s · P 3, because the input signal in step S416 in step S420 three state M 3, the input signal s for the M 3 is stored in the M 3, M s = 2, P 3 · s. In addition, the Reset state M 3, the input signal r of the M 3 in step S422 is In the next step S424, since the input signal in the reset state exists together with the input state and the input event, in step S428 Is stored. In step S430 there is no input signal in step S426 the reset state of M 3 M 3, an input signal of the r Is stored.
M 3의 셋상태M 3,s및 리셋상태M 3,r의 입력신호를 모두 처리하였으므로 단계 S432에 의해 상한검출센서 내부출력상태는 가 되고, 단계 S490에 의해가 된다.Three state M 3, M 3 s and the reset state, all processing of the input signal r hayeoteumeuro inside upper limit detection sensor by the output state of the step S432 is M 3 Become, by step S490 Becomes
4) 카운터 출력상태:C l 4) Counter output status: C l
카운터출력상태C l을 도 4에 나타난 흐름도에 따라 전개하면 단계 S440에서 출력상태가 카운터출력상태이므로 단계 S442에서 카운터의 셋상태C l,s의 입력신호는M 3,s가 되고, 리셋상태C l,r의 입력신호는C l,s·P 0가 된다. 다음 단계 S444에서C l,s[n]에 저장된M 3,s는 조건을 만족하지 못하므로 단계 S448에서 입력상태M 3,s를 저장하고,C l,r[n] 에 저장된C l,s·P 0는 조건을 만족하므로 단계 S446에서 입력사건P 0만을 저장한다. 단계 S450은 단계 S446과 단계 S448에서의 입력신호를 논리합 연산을 행하는 단계로 셋상태의 입력신호로C l,s=M 3,s가 저장되고, 리셋상태의 입력신호로C l,r=P 0가 각각 저장된다. 다음 단계 S490에 의하여 카운터출력상태는 셋상태C l,s=M 3가 되고, 리셋상태C l,r=P 0가 된다.If the counter output state C l is developed in accordance with the flowchart shown in Fig. 4, since the output state is a counter output state in step S440, the input signal of the set state C l, s of the counter becomes M 3, s in step S442, and the reset state C The input signal of l, r becomes C l, s · P 0 . In the next step S444 is stored in C l, s [n] M 3, s is storing input status M 3, s in step S448 because they do not satisfy the condition, stored in the C l, r [n] C l, s Since P 0 satisfies the condition, only the input event P 0 is stored in step S446. In step S450, a logical sum operation is performed on the input signals in steps S446 and S448, where C l, s = M 3, s is stored as an input signal in a set state, and C l, r = P as an input signal in a reset state. 0 is stored respectively. In the next step S490, the counter output state becomes the set state C l, s = M 3 , and the reset state C l, r = P 0 .
5) 타이머 출력상태:T 1 5) Timer output status: T 1
타이머출력상태T l를 도 4에 나타난 흐름도에 따라 전개하면 단계 S460에서 출력상태가 타이머출력상태이므로 단계 S462에서 타이머의 셋상태T l,s의 입력신호는M 2,s가 되고, 리셋상태T l,r의 입력신호는M 3,s와M 4,s가 된다. 다음 단계 S464에서T l,s[n]에 저장된M 2,와,T l,r[n]에 저장된M 3,s와M 4,s는 모두 조건을 만족하지 않으므로 단계 S468에서T l,s[n] =M 2,s를 저장하고,T l,r[n] =M 3,s와M 4,s를 저장한다. 단계 S470은 단계 S466과 단계 S468에서의 입력신호를 논리합 연산을 행하는 단계로 타이머의 셋상태T l,s=M 2,s가 저장되고, 리셋상태T l,r=M 3,s+M 4,s가 저장된다. 다음 단계 S490에 의하여 타이머출력상태는T l,s=M 2가 되고,T l,r=M 3+M 4가 된다.If the timer output state T l is developed in accordance with the flowchart shown in Fig. 4, the output state is a timer output state in step S460. In step S462, the input signal of the timer set state T l, s becomes M 2, s , and the reset state T The input signals of l and r are M 3, s and M 4, s . In the next step S464, M 2 , stored in T l, s [ n ] and M 3, s and M 4, s stored in T l, r [ n ] do not satisfy the conditions, so in step S468 T l, s [ n ] = M 2, s and T l, r [ n ] = M 3, s and M 4, s . In step S470, a logical sum operation of the input signals in steps S466 and S468 is performed. The set state T l, s = M 2, s of the timer is stored, and the reset state T l, r = M 3, s + M 4 , s is stored. By the next step S490, the timer output state becomes T l, s = M 2 and T l, r = M 3 + M 4 .
6) 실린더 전진 내부출력상태:M 4 6) Cylinder forward internal output state: M 4
실린더 전진 내부출력상태M 4를 도 4에 나타난 흐름도에 따라 전개하면 단계 S412에서M 4의 셋상태M 4,s의 입력신호는T l,s·P 5와M 4,s가 된다. 단계 S414의 조건을 만족하지 않으므로 단계 S418에서M 4의 셋상태M 4,s의 입력신호는T l,s·P 5와M 4,s가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 4의 셋상태M 4,s의 입력신호는M 4,s=T l,s·P 5+M 4,s가 저장된다. 또한 단계 S422에서 리셋상태M 4,r의 입력신호는M 4,s·P 4가 된다. 단계 S424에서 리셋상태의 입력신호가 입력상태와 입력사건이 함께 존재하므로 단계 S428에서P 4가 저장된다. 단계 S430에서는 단계 S426에서의 입력신호가 없으므로 리셋상태의 입력신호는M 4,r=P 4가 저장된다.When the inner cylinder forward output state M 4 is also expanded along with the flowchart shown in the fourth set of status M 4, M s of the input signal of 4 in step S412 is a T l, and s · M 4 P 5, s. Three state M 4, s input signal of the step S414 M 4 in step S418 does not satisfy the condition of the T l, s · P, and the 5 and M 4, s, no input signal in step S416 in step S420 three state M 4, the input signal s of the M 4 is stored in the M 4, T l = s, s + 5 P · M 4, s. In addition, the reset state at step S422 M 4, an input signal of r is the M 4, s · P 4. In step S424, P 4 is stored in step S428 because the input signal in the reset state exists with the input state and the input event. In step S430, since there is no input signal in step S426, the input signal in the reset state is stored with M 4, r = P 4 .
M 4의 셋상태M 4,s및 리셋상태M 4,r의 입력신호를 모두 처리하였으므로 단계 S432에서 실린더 전진 내부출력상태는가 된다. 다음 단계 S490에 의해 실린더 동작 내부출력상태는가 된다.Three state M 4, M 4 s and the reset state, all processing of the input signal r hayeoteumeuro inner cylinder forward output in step S432 the status of the M 4 is Becomes The cylinder output internal output state is Becomes
7) 실린더 전진 외부출력상태:P 50 7) Cylinder forward external output state: P 50
P 50은 실린더 전진 외부출력상태를 나타낸다. 외부출력은 내부출력 중에서 외부기기의 동작을 실제적으로 제어하고자 하는 출력으로 내부출력이 정지되면 외부출력도 자동으로 정지되므로 리셋상태를 고려할 필요가 없다. 따라서 단계 S480에서P 50[n]에는M 4,s가 저장되고, 단계 S482에서P 50=M 4,s가 된다. 다음 단계 S490에 의하여 실린더 전진 외부출력상태는P 50=M 4가 된다. P 50 represents the cylinder forward external output status. The external output is an output that actually controls the operation of the external device among the internal outputs. When the internal output is stopped, the external output is automatically stopped. Therefore, it is not necessary to consider the reset state. Therefore, M 4, s is stored in P 50 [ n ] in step S480, and P 50 = M 4, s in step S482. By the next step S490, the cylinder forward external output state becomes P 50 = M 4 .
이와 같이 하여 유도된 블리언 방정식을 기반으로 하여 래더 다이어그램을 자동 생성할 수 있다. 즉, 블리언 방정식의 논리곱은 직렬로 연결하고, 논리합은 병렬로 연결한다(도 3b: S350). 또한, 래더 다이어그램에서 입력신호는 왼쪽에 배치하고 출력상태는 오른쪽에 배치한다. 그 다음 도 3b의 단계 S360은 입력신호의 접점을 판별하는 단계로서 일반적인 형태의 입력신호 즉Y j ,P j 는 상시개로접점인 a접점으로 변환하고 보수형태의 입력신호 즉는 상시폐로접점인 b접점으로 변환하면 최종적으로 래더 다이어그램이 생성된다.In this way, a ladder diagram can be automatically generated based on the derived blion equation. That is, the logical product of the Brianian equation is connected in series, and the logical sum is connected in parallel (FIG. 3B: S350). In the ladder diagram, the input signal is placed on the left and the output state is placed on the right. Next, step S360 of FIG. 3B is a step of determining the contact point of the input signal. In general, the input signals Y j and P j are converted into the a contact point, which is the normally open contact, and the complementary input signal Is converted into contact b, which is a normally closed contact, and finally a ladder diagram is created.
도 7은 이산사건모델에서 유도된 블리언 방정식에서 래더 다이어그램으로 변환된 제1실시예의 최종 프로그램이다.FIG. 7 is a final program of the first embodiment converted from a brian equation derived from a discrete event model into a ladder diagram.
〈 제2실시예 〉<Second Embodiment>
도 8은 본 발명의 제2실시예에 따른 로봇팔 제어시스템의 구성 및 동작사양을 나타낸다. 로봇팔 제어시스템의 동작순서를 상세히 기술하면 다음과 같다. 상자 X(820)를 A지점 플레이트(830)에서 B지점 플레이트(840)으로 이동시키려고 할 때, 로봇팔(810)은 A지점 플레이트(830)의 상단에서 대기하고 있고, 상자 X(820)가 A지점 플레이트(830) 위에 있다면 하강동작을 개시하여 척(811)이 A지점 플레이트(830)에 도달하면 척(811)을 조여서(on) 상자(820)를 집는다(①). 상자(820)를 완전히 집으면 상승을 시작하여 상단까지 도달하면(②) 로봇팔(810)을 전진시킨다. 로봇팔(810)이 B 플레이트 상단에 도달하면( ③ ) 하강하여 B지점 플레이트(840)에 이르면(④) 척(811)을 열고 상자를 놓는다. B지점 플레이트(840)에 상자를 놓은 후 다시 상승을 개시하여 상단에 이르면(⑤) 로봇팔(810)을 후퇴시켜 원래의 상태로 돌아온다(⑥). 즉 도 6의 ①→②→③→④→⑤→⑥의 궤적을 거쳐 상자를 A지점 플레이트(830)에서 B지점 플레이트(840)로 이동시킨다.Figure 8 shows the configuration and operation specifications of the robot arm control system according to a second embodiment of the present invention. The operation sequence of the robot arm control system is described in detail as follows. When attempting to move box X 820 from point A plate 830 to point B plate 840, robotic arm 810 is waiting at the top of point A plate 830 and box X 820 If it is on the point A plate 830, the lowering operation is started and when the chuck 811 reaches the point A plate 830, tighten the chuck 811 (on) to pick up the box 820 (①). When the box 820 is completely picked up, the robot starts to ascend and reaches the top (②) to move the robot arm 810 forward. When the robot arm 810 reaches the top of the B plate (3) and descends and reaches the B point plate 840 (4), the chuck 811 is opened and the box is released. After placing the box on the point B plate 840, start to rise again to reach the top (⑤) to retract the robot arm 810 to return to its original state (⑥). That is, the box is moved from the point A plate 830 to the point B plate 840 through the trajectory of ① → ② → ③ → ④ → ⑤ → ⑥ in FIG. 6.
도 9는 도 8의 시스템 구성도의 동작특성을 고려하여 이산사건모델로 표현한도면이다. 도 9의 이산사건모델을 참조하여 블리언 방정식으로 변환하는 과정을 설명하기 위하여 도 9의 이산사건모델의 입력접점 및 출력상태에 대한 변수를 정의하면 표 4에 기재한 바와 같다. 도 9과 표 4를 참고하여 블리언 방정식을 유도하는 과정을 상세히 설명하면 다음과 같다.FIG. 9 is a diagram represented by a discrete event model in consideration of operating characteristics of the system configuration diagram of FIG. 8. Referring to the discrete event model of FIG. 9, the variables for the input contact point and the output state of the discrete event model of FIG. 9 are described in Table 4 to explain the process of converting to the Brianian equation. Referring to Figure 9 and Table 4 will be described in detail the process of deriving the Brianian equation.
표 4. 제2실시예의 입력접점 및 출력상태에 대한 변수 정의.Table 4. Variable definitions for the input contacts and output states of the second embodiment.
1) 시동 내부출력상태:M l 1) Starting internal output status: M l
시동 내부출력상태M l을 도 4의 흐름도에 따라 전개하면 단계 S412에서M l,s[n] 에는M l의 셋상태M l,s의 입력신호P l·M l,r,M l,s이 저장된다. 다음 단계 S414에서 리셋상태에서의 입력상태M 1,r이 존재하므로 단계 S416에서M l,r은 1이 되어M l,s[n] =P l이 된다. 또한 단계 S418에서M l,s[n] =M l,s가 저장되고, 단계 S420에서M l의 셋상태M l,s의 입력신호는M l,s=P l+M l,s가 된다. 다음, 단계 S422에서M l의 리셋상태M l,r로의 입력신호는M l,s·P 0가 된다. 다음 단계 S424에서 리셋상태의 입력신호가 입력사건과 입력상태의 논리곱이므로 단계 S428에서M l,s는 1로 만들고P 0만을 저장하고, 단계 S430에서M l의 리셋상태M l,r의 입력신호는M l,r=P 0가 된다.When deployed in accordance with the flow chart of the start-up inside the output state M l to 4 in step S412 M l, s [n], the set state of M l M l, s input signal of P l · M l, r, M l, s Is stored. In the next step S414, since the input state M 1, r in the reset state exists, M l, r becomes 1 in step S416, where M l, s [ n ] = P l . Also be a M l, s [n] = M l, s saved in step S418, sets the state of the M l In step S420 M l, s input signal of the M l, s = P l + M l, is the s . Next, the reset condition M l, r of the input signal to the M l in step S422 is the M l, s · P 0. Since the next step S424, the input signal on the reset state input events and the input state of the logical product from step S428 M l, s is created in the first storage only P 0 and resets the M l In step S430 state M l, r input of The signal is M l, r = P 0 .
M l의 셋상태M l,s및 리셋상태M l,r의 입력신호를 모두 처리하였으므로 단계 S432에 의해 시동 내부출력상태는가 된다. 다음 단계 S490에 의해서 입력상태M l,s를M l으로 변환시키면가 된다. M l M l set state, a reset state and M s l, process all of the input signals r hayeoteumeuro internal start by step S432 of the output states is Becomes In the next step S490, the input state M l, s is converted into M l . Becomes
2) A지점에서의 실린더 하강 내부출력상태:M 2 2) Internal state of cylinder lowering at point A: M 2
A지점에서의 실린더 하강 내부출력상태M 2를 도 4의 흐름도에 따라 전개하면 단계 S412에서M 2의 셋상태M 2,s의 입력신호는가 된다. 단계 S414에서M 2,s의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 2의 셋상태M 2,s의 입력신호는M l,s·P 2·P 4·P 7와M 2,s가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 2의 셋상태M 2,s의 입력신호는M 2,s=M l,s·P 2·P 4·P 7+M 2,s가 된다. 또한 단계 S422에서M 2의 리셋상태M 2,r의 입력신호는M 3,s가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호 중에서 입력상태만이 존재하므로 단계 S426에서M 3,s가 저장되고, 단계 S430에서는 단계 S428에서의 입력신호가 없으므로M 2의 리셋상태M 2,r의 입력신호는M 2,r=M 3,s가 된다.Three state M 2, the input signal of the s M 2 at step S412 when deployed in accordance with the flow diagram of the falling cylinder internal output state M 2 to Figure 4 at point A is Becomes In step S414 M 2, s of the input signal is set state of M 2 in step S418 does not satisfy the condition M 2, s input signal of the M l, s · P 2 · P 4 · P 7 and M 2, s that is, three states of M 2 in the no input signal in step S416 step S420 M 2, s input signals is M 2, s = M l, s · P 2 · P 4 · P 7 + M 2, s Becomes In addition, the Reset state M 2, the input signal r of the M 2 in step S422 is a M 3, s. Because only the input state of the input signal of the reset state by a next step S424 is present in step S426 M 3, s is stored, step S430 in the no input signal is the reset state of M 2 at step S428 M 2, r input of The signal is M 2, r = M 3, s .
M 2의 셋상태M 2,s및 리셋상태M 2,r의 입력신호를 모두 처리하였으므로 단계 S432에 의해 실린더 하강 내부출력상태는 가 되고 다음 단계 S490에 의하여가 된다.Three state M 2, M 2 s, and a reset state, all processing of the input signal r hayeoteumeuro cylinder lowered by the step S432 internal output state of M 2 is And become the next step by S490 Becomes
3) 척 조임 내부출력상태:M 3 3) Chuck fastening Internal output state: M 3
척조임 내부출력상태M 3를 도 4의 흐름도에 따라 전개하면 단계 S412에서M 3의 셋상태M 3,s의 입력신호는M 2,s·P 3,M 3,s이다. 단계 S414에서M 3,s의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 3의 셋상태M 3,s의 입력신호는M 2,s·P 3와M 3,s이 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 3의 셋상태M 3,s의 입력신호는M 3,s=M 2,s·P 3+M 3,s이 저장된다. 또한 단계 S422에서M 3의 리셋상태M 3,r의 입력신호는M 7,s가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태밖에 없으므로 단계 S426에서M 7,s가 저장된다. 단계 S430에서는 단계 S428에서의 입력신호가 없으므로M 3의 리셋상태M 3,r의 입력신호는M 3, r =M 7, s 가 된다.The set state of the chuck clamping the internal output state M 3 to M in step S412 when deployed in accordance with the flow chart of Fig. 4 3 M 3, s is the input signal of M 2, s · P 3, M 3, s. In step S414 M 3, s input signal is a M 3 set in step S418 does not satisfy the condition of status M 3, s input signals is to be M 2, s · P 3 and M 3, s, at step S416 of the input signal is not set state M 3, M 3 of the input signal s in step S420 is saved, M 3, M = s 2, s 3 · P + M 3, s. In addition, the Reset state M 3, the input signal r of the M 3 in step S422 is the M 7, s. In the next step S424, since the input signal in the reset state is only the input state, M 7, s is stored in step S426. In step S430 there is no input signal in step S428 the reset state M 3, the input signal r of the M 3 is a M 3, M r = 7, s.
M 3의 셋상태M 3,s및 리셋상태M 3,r의 입력신호를 모두 처리하였으므로 단계 S432에 의해 척조임 내부출력상태는가 되고, 다음 단계 S490에 의하여가 된다.Three state M 3, M 3 s and the reset state, all processing of the input signal r hayeoteumeuro chuck tightening by step S432 internal output state of M 3 is Become, and by the next step S490 Becomes
4) A지점의 실린더 상승 내부출력상태:M 4 4) Cylinder output at point A internal output state: M 4
A지점에서의 실린더 상승 내부출력상태M 4를 도 4의 흐름도에 따라 전개하면 단계 S412에서M 4의 셋상태M 4,s의 입력신호는M 3,s·P 6,M 4,s가 된다. 단계 S414에서M 4,s의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 4의 셋상태M 4,s의 입력신호는M 3,s·P 6와M 4,s가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 4의 셋상태M 4,s의 입력신호는M 4,s=M 3,s·P 6+M 4,s가 된다. 또한 단계 S422에서 리셋상태M 4, r 의 입력신호는M 5, s 가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태만 존재하므로 단계 S426에서M 5,s가 저장된다. 단계 S430에서는 단계 S428에서의 입력신호가 없으므로M 5,s가 저장된다.Cylinder rises set state of the internal output state when deployed in accordance with the flow diagram of the M 4 Figure 4 M in step S412 4 M 4, s input signals at the point A is a M 3, s · P 6, M 4, s . In step S414 M 4, the three states M 4, s input signals in the input signal of the s does not satisfy the condition step S418 M 4 is a M 3, s · P 6 and M 4, s, at step S416 of the input signal is not set state M 4, the input signal s of M 4 in step S420 is the M 4, M s = 3, s + 6 · P M 4, s. In step S422, the input signals of the reset states M 4 and r become M 5 and s . Since the input signal in the reset state exists only in the input state by the next step S424, M 5, s is stored in the step S426. In step S430, since there is no input signal in step S428, M 5, s is stored.
M 4의 셋상태M 4,s및 리셋상태M 4, r 로의 입력신호를 모두 처리하였으므로 단계 S432에 의해 실린더 상승 내부출력상태는가 되고 다음 단계 S490에 의하여Three state M 4, M s and the reset state 4, finish processing the input signal to the r hayeoteumeuro cylinder increases by a step S432 outputs an internal state of M 4 is And become the next step by S490
가 된다. Becomes
5) 실린더 전진 내부출력상태:M 5 5) Cylinder forward internal output state: M 5
실린더 전진 내부출력상태M 5를 표 4의 흐름도에 따라 전개하면 단계 S412에서M 5의 셋상태M 5, s 의 입력신호는M 4,s·P 4,M 5, s 가 된다. 단계 S414에서M 5, s 의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 5의 셋상태M 5, s 의 입력신호는M 4, s ·P 4와M 5, s 가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 5의 셋상태M 5, s 의 입력신호는M 5, s =M 4, s ·P 4+M 5, s 가 된다. 또한 단계 S422에서 리셋상태M 5, r 의 입력신호는M 6, s 가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태만 존재하므로 단계 S426에M 6, s 가 저장된다. 단계 S430에서는 단계 S428에서의 입력신호가 없으므로 리셋상태M 5, r 의 입력신호는M 5, r =M 6, s 가 된다.When the inner cylinder forward output state M 5 deployed in accordance with the flowchart shown in Table 4 set conditions M 5, s of the input signal of M 5 in step S412 is the M 4, s · P 4, M 5, s. In step S414 M 5, s of the input signal does not satisfy the condition of M 5 set in step S418 the status M 5, s input signals are the M 4, it s · P 4 and M 5, s, at step S416 of the input signal is not set conditions M 5, s of the input signal of M in step S420 is a 5 M 5, s = M 4, s · P 4 + M 5, s. In step S422, the input signals of the reset states M 5 and r become M 6 and s . M is 6, s is stored in step S426, because the input signal of the reset state by a next step S424 there is only input. In step S430, since there is no input signal in step S428, the input signals of the reset states M 5 and r become M 5, r = M 6, s .
M 5의 셋상태M 5, s 및 리셋상태M 5, r 의 입력신호를 모두 처리하였으므로 단계 S432에 의해 실린더 전진 내부출력상태는 가 되고, 다음 단계 S490에 의해가 된다.Set state of M 5 M 5, M s, and a reset state 5, all of the processing of the input signal r hayeoteumeuro cylinder forward by a step S432 an internal output state Become the next step by Becomes
6) B지점의 실린더 하강 내부출력상태:M 6 6) Lowering cylinder output at point B: M 6
B지점에서의 실린더 하강 내부출력상태M 6를 표 4의 흐름도에 따라 전개하면 단계 S412에서M 6의 셋상태M 6,s의 입력신호는M 5,s·P 5와M 6, s 가 된다. 단계 S414에서M 6, s 의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 6,s의 입력신호는 그대로M 5, s ·P 5와M 6, s 가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 6의 셋상태M 6, s 의 입력신호는M 6, s =M 5, s ·P 5+M 6,s가 된다. 또한 단계 S422에서 리셋상태M 6, r 의 입력신호는M 7, s 가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태만 존재하므로 단계 S426에M 7, s 가 저장된다. 단계 S430에서는 단계 S428에서의 입력신호가 없으므로M 6의 리셋상태M 6, r 의 입력신호는M 6, r =M 7, s 가 된다.When deployed the cylinder falling inside the output state M 6 at the point B in accordance with the flowchart shown in Table 4 set state M 6, s input signal of the M 6 in step S412 are the M 5, s · P 5 and M 6, s . Since the input signals of M 6 and s in step S414 do not satisfy the conditions, the input signals of M 6 and s in step S418 are M 5, s · P 5 and M 6 and s as they are, and the input signal in step S416 is Since three states M 6, the input signal s of the M 6 in step S420 are the M 6, M s = 5, P s · 5 + M 6, s. In step S422, the input signals of the reset states M 6 and r become M 7, s . In the next step S424, M 7, s is stored in step S426 because only the input state of the reset state exists in the input state. In step S430 there is no input signal in step S428 the reset condition M 6, the input signal of the M 6 r is the M 6, M r = 7, s.
M 6의 셋상태M 6, s 및 리셋상태M 6, r 로의 입력신호를 모두 처리하였으므로 단계 S432에 의해 실린더 하강 내부출력상태는 가 되고, 다음 단계 S490에 의해가 된다. M 6 set state M 6, M 6 s, and a reset state, all of the processing to the input signal r hayeoteumeuro cylinder lowered by the step S432 is a state of the internal output Become the next step by Becomes
7) 척개방 내부출력상태:M 7 7) Internal output state of chuck open: M 7
척개방 내부출력상태M 7을 도 4의 흐름도에 따라 전개하면 단계 S412에서M 7의 셋상태M 7, s 의 입력신호는M 6, s ·P 3,M 7, s 가 된다. 단계 S414에서M 7, s 의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 7, s 의 입력신호는M 6, s ·P 3,M 7, s 가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 7의 셋상태M 7, s 의 입력신호는M 7, s =M 6, s ·P 3+M 7, s 가 된다. 또한 단계 S422에서 리셋상태M 7, r 의 입력신호는M 8, s 가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태만 존재하므로 단계 S426에M 8, s 가 저장된다. 단계 S430에서는 단계 S428에서의 입력신호가 없으므로M 7의 리셋상태M 7, r 의 입력신호는M 7, r =M 8, s 가 저장된다.When the chuck opening deployed in accordance with the flow diagram of the internal output state 4 the M 7 M 7 set state, the input signal of the s M 7 in step S412 is the M 6, s · P 3, M 7, s. In step S414 M 7, the input signal of the s does not satisfy the condition step S418 M 7, s input signals are the M 6, s · P 3, M 7, s, no input signal in step S416 three state M 7, the input signal of the s M 7 in step S420 is the M 7, M = s 6, s 3 · P + M 7, s. In step S422, the input signals of the reset states M 7, r become M 8, s . Since the input signal in the reset state exists only in the input state by the next step S424, M 8, s is stored in the step S426. In step S430 there is no input signal in step S428 of the reset state M 7 M 7, the input signal r is stored in the M 7, M 8 = r, s.
M 7의 셋상태M 7, s 및 리셋상태M 7, r 의 입력신호를 모두 처리하였으므로 단계 S432에 의해 척개방 내부출력상태는가 되고, 다음 단계 S490에 의하여가 된다. M three state M 7, M 7 s and the reset state, all processing of the input signal r hayeoteumeuro chuck opened by a step S432 an internal state of outputs 7 Become, and by the next step S490 Becomes
8) B지점의 실린더 상승 내부출력상태:M 8 8) Internal output of cylinder rising at point B: M 8
B지점에서의 실린더 상승 내부출력상태M 8을 도 4의 흐름도에 따라 전개하면 단계 S412에서M 8의 셋상태M 8, s 의 입력신호는가 된다. 단계 S414에서M 8, s 의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 8, s 의 입력신호는가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 8의 셋상태M 8, s 의 입력신호는이 된다. 또한 단계 S422에서 리셋상태M 8, r 의 입력신호는M 9, s 가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태만 존재하므로 단계 S426에서M 9, s 가 저장된다. 단계 S430에서는 단계 S428의 입력신호가 없으므로M 8의 리셋상태M 8, r 의 입력신호는M 8, r =M 9, s 가 된다.When the cylinders rise in the output point B inside state M 8 also developed in accordance with the flow diagram of the 4 M 8 set in step S412 the status M 8, the input signal of the s Becomes In step S414, the input signals of M 8 and s do not satisfy the condition, so in step S418 the input signals of M 8 and s are That is, three states in step S416 M 8 from the input signal in step S420 because of M 8, s is the input signal Becomes In step S422, the input signals of the reset states M 8 and r become M 9 and s . Since the input signal in the reset state exists only in the input state by the next step S424, M 9 and s are stored in the step S426. In step S430 there is no input signal in step S428 the reset condition M 8, the input signal of the M 8 r is the M 8, M r = 9, s.
M 8의 셋상태M 8, s 및 리셋상태M 8, r 의 입력신호를 모두 처리하였으므로 단계 S432에 의해 실린더 상승 내부출력상태는 가 되고, 다음 단계 S490에 의하여가 된다.Three state M 8, M 8 s and the reset state, all processing of the input signal r hayeoteumeuro cylinder increases by a step S432 outputs an internal state of M 8 is Become, and by the next step S490 Becomes
9) 실린더 후진 내부출력상태:M 9 9) Cylinder reverse internal output state: M 9
실린더 후진 내부출력상태M 9를 도 4의 흐름도에 따라 전개하면 단계 S412에서M 9의 셋상태M 9, s 의 입력신호는M 8, s ·P 2,M 9, s 가 된다. 단계 S414에서M 9, s 의 입력신호는 조건을 만족하지 않으므로 단계 S418에서M 9, s 의 입력신호는M 8, s ·P 2,M 9,s가 되고, 단계 S416에서의 입력신호는 없으므로 단계 S420에서M 9의 셋상태M 9, s 의 입력신호는M 9, s =M 8, s ·P 2+M 9, s 가 된다. 또한 단계 S422에서 리셋상태M 9, r 의 입력신호는M 9, s ·P 4가 된다. 다음 단계 S424에 의해 리셋상태의 입력신호가 입력상태와 입력사건이 함께 존재하므로 단계 S428에P 4가 저장된다. 단계 S430에서는 단계 S426의 입력신호가 없으므로M 9의 리셋상태M 9, r 의 입력신호는M 9, r =P 4가 된다.Reversing cylinder set state of the internal output state M M 9 in the step S412 when deployed according to a flow chart of the Figure 4 9 9 M, s of the input signal is a M 8, s · P 2, M 9, s. In step S414 M 9, the input signal of the s does not satisfy the condition step S418 M 9, s input signal of the M 8, s · P 2, and the M 9, s, no input signal in step S416 three state M 9, M 9 of the input signal s at the step S420 is the M 9, s = M 8, s · P 2 + M 9, s. In step S422, the input signals of the reset states M 9 and r become M 9, s · P 4 . In the next step S424, P 4 is stored in step S428 because the reset signal has the input state and the input event. In step S430 there is no input signal in step S426 of the M 9 9 M reset state, the input signals r is the M 9, r = P 4.
M 9의 셋상태M 9, s 및 리셋상태M 9, r 의 입력신호를 모두 처리하였으므로 단계 S432에 의해 실린더 후진 내부출력상태는 가 되고, 다음 단계 S490에 의해가 된다.Three state M 9, M 9 s and the reset state, all processing of the input signal r hayeoteumeuro step S432 cylinder backward by the internal state of the output is M 9 Become the next step by Becomes
10) 카운터 출력상태:C l 10) Counter output status: C l
카운터출력상태C l을 도 4의 흐름도에 따라 전개하면 단계 S440에서 출력상태가 카운터출력상태이므로 단계 S442에서 카운터의 셋상태C l,s의 입력신호는M l,s·P 7이 되고, 리셋상태C l,r의 입력신호는C l, s ·P 0가 된다. 다음 단계 S444에서C l, s [n]에 저장된M l, s 는 조건을 만족하므로 단계 S446에서 입력상태P 7를 저장하고,C l, r [n]에 저장된C l, s ·P 0역시 조건을 만족하므로 단계 S446에서 입력사건P 0만을 저장한다. 단계 S450은 단계 S446과 단계 S448에서의 입력신호를 논리합 연산을 행하는 단계로C l,s=P 7가 저장되고,C l, r =P 0가 저장된다. 다음 단계 S490에 의하여 카운터출력상태는C l, s =P 7가 되고,C l,r=P 0가 된다.If the counter output state C l is developed in accordance with the flowchart of Fig. 4, the output state is a counter output state in step S440. In step S442, the input signal of the set state C l, s of the counter becomes M l, sP 7 , and is reset. The input signal of the states C l, r is C l, s · P 0 . In the next step S444 is stored in C l, s [n] M l, s , so satisfying the condition storing input state P 7 in step S446, and, C l, r [n] C l, s · P 0 stored in doubt Since the condition is satisfied, only the input event P 0 is stored in step S446. In step S450, a logical sum operation is performed on the input signals in steps S446 and S448, where C l, s = P 7 is stored, and C l, r = P 0 is stored. By the next step S490, the counter output state becomes C l, s = P 7 , and C l, r = P 0 .
11) 실린더 하강 외부출력상태:P 51 11) Cylinder down external output state: P 51
P 51은 실린더 하강 외부출력상태를 나타낸다. 외부출력은 내부출력 중에서 외부기기의 동작을 실제적으로 제어하고자 하는 출력으로 내부출력이 정지되면 외부출력도 자동으로 정지되므로 리셋상태를 고려할 필요가 없다. 따라서 단계 S480에서P 51[n]에M 2, s ,M 6, s 가 저장되고, 단계 S482에서P 51=M 2, s +M 6, s 가 된다. 다음 단계 S490에 의하여 실린더 하강 외부출력상태는P 51=M 2+M 6가 된다. P 51 represents the cylinder down external output state. The external output is an output that actually controls the operation of the external device among the internal outputs. When the internal output is stopped, the external output is automatically stopped. Therefore, it is not necessary to consider the reset state. Therefore, M 2, s , M 6, and s are stored in P 51 [ n ] in step S480, and P 51 = M 2, s + M 6, s in step S482. By the next step S490, the cylinder lower external output state becomes P 51 = M 2 + M 6 .
12) 척 조임 외부출력상태:P 52 12) Chuck tightening External output state: P 52
P 52은 척조임 외부출력상태를 나타낸다. 단계 S480에서P 52[n]에M 3,s가 저장되고, 단계 S482에서P 52=M 3, s 가 된다. 단계 S490에 의해 척조임 외부출력상태는P 52=M 3가 된다. P 52 represents the chucking external output state. M 3, s is stored in P 52 [ n ] in step S480, and P 52 = M 3, s in step S482. In step S490, the chucking external output state becomes P 52 = M 3 .
13) 실린더 전진 외부출력상태 :P 53 13) External state of cylinder forward: P 53
P 53은 실린더 전진 외부출력상태를 나타낸다. 단계 S480에서P 53[n] 에M 5, s 가 저장되고, 단계 S482에서P 53=M 5, s 가 된다. 다음 단계 S490에 의하여 최종 실린더 전진 외부출력상태는P 53=M 5가 된다. P 53 represents the cylinder forward external output status. M 5, s is stored in P 53 [ n ] in step S480, and P 53 = M 5, s in step S482. By the next step S490, the final cylinder forward external output state is P 53 = M 5 .
14) 실린더 상승 외부출력상태 :P 54 14) Cylinder lift external output state: P 54
P 54은 실린더 상승 외부출력상태를 나타낸다. 단계 S480에서P 54[n]에M 4, s ,M 8, s 가 저장되고, 단계 S482에서P 54=M 4, s +M 8, s 가 된다. 다음 단계 S490에 의하여 실린더 상승 외부출력상태는P 54=M 4+M 8이 된다. P 54 represents the cylinder lift external output state. M 4, s , M 8, s are stored in P 54 [ n ] in step S480, and P 54 = M 4, s + M 8, s in step S482. By the next step S490, the cylinder lift external output state becomes P 54 = M 4 + M 8 .
15) 실린더 후진 외부출력상태 :P 55 15) External state of cylinder reverse: P 55
P 55은 실린더 후진 외부출력상태를 나타낸다. 단계 S480에서P 55[n] 에M 9, s 가 저장되고, 단계 S482에서P 55=M 9, s 가 된다. 다음 단계 S490에 의하여 실린더 전진 외부출력상태는P 55=M 9가 된다. P 55 represents the cylinder reverse external output state. In step S480, M 9, s is stored in P 55 [ n ], and in step S482, P 55 = M 9, s . By the next step S490, the cylinder forward external output state becomes P 55 = M 9 .
이와 같이 하여 유도된 블리언 방정식을 기반으로 하여 래더 다이어그램을 자동 생성할 수 있다. 즉, 블리언 방정식의 논리곱은 직렬로 연결하고, 논리합은 병렬로 연결한다(도 3b: S350). 또한, 래더 다이어그램에서 입력신호는 왼쪽에 배치하고 출력상태는 오른쪽에 배치한다. 그 다음 도 3b의 단계 S360은 입력신호의 접점을 판별하는 단계로서 일반적인 형태의 입력신호 즉Y j ,P j 는 상시개로접점인 a접점으로 변환하고 보수형태의 입력신호 즉는 상시폐로접점인 b접점으로 변환하면 최종적으로 래더 다이어그램이 생성된다.In this way, a ladder diagram can be automatically generated based on the derived blion equation. That is, the logical product of the Brianian equation is connected in series, and the logical sum is connected in parallel (FIG. 3B: S350). In the ladder diagram, the input signal is placed on the left and the output state is placed on the right. Next, step S360 of FIG. 3B is a step of determining the contact point of the input signal. In general, the input signals Y j and P j are converted into the a contact point, which is the normally open contact, and the complementary input signal Is converted into contact b, which is a normally closed contact, and finally a ladder diagram is created.
도 10은 이산사건모델에서 유도된 블리언 방정식에서 래더 다이어그램으로 변환된 제2실시예의 최종 프로그램이다.FIG. 10 is the final program of the second embodiment transformed from a Brianon equation derived from a discrete event model into a ladder diagram.
상기의 실시예를 통해 본 바와 같이, 본 발명은 설계자가 이산사건모델의 형태로 제어 알고리즘을 작성하면 본 발명의 방법을 통해 자동으로 변환과정을 거쳐 래더 다이어그램을 생성한다. 이와 같이 자동 생성된 래더 다이어그램을 도 1에 나타난 바와 같은 시스템을 이용해 테스트해 본 결과 설계자가 원하는 제어목적을 충실히 이행함을 확인할 수 있었다. 이 때 사용한 프로그램형 논리 제어기는 Master-K 1000S PLC이다.As seen through the above embodiment, the present invention generates a ladder diagram through the conversion process automatically through the method of the present invention when the designer creates a control algorithm in the form of a discrete event model. As a result of testing the automatically generated ladder diagram using the system shown in FIG. 1, it was confirmed that the designer faithfully fulfills the desired control objectives. The programmable logic controller used at this time is Master-K 1000S PLC.
지금까지 바람직한 실시예를 참고로 하여 이 발명을 상세히 설명하였으나 이 발명의 범위는 이에 한정되는 것은 아니며, 다음의 특허청구범위에 의해 해석되어야 할 것이다. 또한, 이 발명이 속하는 분야의 통상의 기술자라면 이 발명의 사상을 벗어나지 않고도 다양한 변형이나 변경이 가능함을 이해할 수 있을 것이다.The present invention has been described in detail with reference to preferred embodiments, but the scope of the present invention is not limited thereto, and should be interpreted by the following claims. In addition, it will be understood by those skilled in the art that various modifications or changes may be made without departing from the spirit of the present invention.
지금까지 기술한 바와 같이 이산사건모델에 기반한 프로그램형 논리 제어기 설계를 위한 래더 다이어그램 자동 생성 방법은 이산사건모델을 이용하여 사용자와 컴퓨터 상호작용에 의해 손쉽게 제어 알고리즘을 구현할 수 있도록 한다. 그리고 래더 다이어그램이 모듈별로 설계되므로 시스템 변경 등으로 인한 래더 다이어그램의 부분적 수정 및 변경이 용이하여 유연성이 높아지고, 프로그램형 논리 제어기에서 오류가 발생했을 때 쉽게 오류를 검출할 수 있으며 해당 오류원인을 밝혀내고 수정하기가 용이하다. 또한, 본 발명은 이산사건모델의 형태로 작성된 제어 알고리즘을 래더 다이어그램으로 자동 변환시켜 줌으로써 사용자가 실제적인 코드를 숙지하거나 이해 할 필요가 없어 비숙련자라도 용이하게 제어 알고리즘을 작성할 수 있다. 더욱이 본 발명에 따르면 이산사건모델을 이용하여 사건 및 상태를 정의함으로써 실행 동작을 한눈에 파악할 수 있고 입출력 접점을 별도로 설정할 필요가 없게 된다.As described so far, the automatic generation of ladder diagram for the design of the programmable logic controller based on the discrete event model makes it easy to implement the control algorithm by user interaction with the computer using the discrete event model. And because the ladder diagram is designed for each module, it is easy to partially modify and change the ladder diagram due to the system change, so that the flexibility is increased, and when the error occurs in the programmable logic controller, the error can be easily detected and the cause of the error can be identified. Easy to modify In addition, the present invention automatically converts a control algorithm written in the form of a discrete event model into a ladder diagram so that a user does not need to know or understand the actual code, so that even an unskilled user can easily write a control algorithm. Furthermore, according to the present invention, the event and state can be defined using the discrete event model, so that the execution operation can be grasped at a glance, and there is no need to set input / output contacts separately.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0040720A KR100431102B1 (en) | 2001-07-07 | 2001-07-07 | method of making ladder diagram for programmable logic controller using discrete event model and an apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0040720A KR100431102B1 (en) | 2001-07-07 | 2001-07-07 | method of making ladder diagram for programmable logic controller using discrete event model and an apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030004952A KR20030004952A (en) | 2003-01-15 |
KR100431102B1 true KR100431102B1 (en) | 2004-05-12 |
Family
ID=27713920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0040720A KR100431102B1 (en) | 2001-07-07 | 2001-07-07 | method of making ladder diagram for programmable logic controller using discrete event model and an apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100431102B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3950736A (en) * | 1973-10-01 | 1976-04-13 | Square D Company | Programmable solid state control for machine tool or process control systems |
US4227247A (en) * | 1977-10-12 | 1980-10-07 | Eaton Corporation | Integrated circuit controller programmable with unidirectional-logic instructions representative of sequential wire nodes and circuit elements of a ladder diagram |
KR860000583A (en) * | 1984-06-30 | 1986-01-29 | 윤영석 | Ladder diagram programming method and control circuit of programmable controller |
US5285376A (en) * | 1991-10-24 | 1994-02-08 | Allen-Bradley Company, Inc. | Fuzzy logic ladder diagram program for a machine or process controller |
US5623401A (en) * | 1995-08-16 | 1997-04-22 | Allen-Bradley Company, Inc. | Industrial controller with optimized execution of relay ladder logic programs |
-
2001
- 2001-07-07 KR KR10-2001-0040720A patent/KR100431102B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3950736A (en) * | 1973-10-01 | 1976-04-13 | Square D Company | Programmable solid state control for machine tool or process control systems |
US4227247A (en) * | 1977-10-12 | 1980-10-07 | Eaton Corporation | Integrated circuit controller programmable with unidirectional-logic instructions representative of sequential wire nodes and circuit elements of a ladder diagram |
KR860000583A (en) * | 1984-06-30 | 1986-01-29 | 윤영석 | Ladder diagram programming method and control circuit of programmable controller |
US5285376A (en) * | 1991-10-24 | 1994-02-08 | Allen-Bradley Company, Inc. | Fuzzy logic ladder diagram program for a machine or process controller |
US5623401A (en) * | 1995-08-16 | 1997-04-22 | Allen-Bradley Company, Inc. | Industrial controller with optimized execution of relay ladder logic programs |
Also Published As
Publication number | Publication date |
---|---|
KR20030004952A (en) | 2003-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6618856B2 (en) | Simulation method and apparatus for use in enterprise controls | |
US6167406A (en) | System, method and article of manufacture for building an enterprise-wide data model | |
US6268853B1 (en) | Data structure for use in enterprise controls | |
US6108662A (en) | System method and article of manufacture for integrated enterprise-wide control | |
CN107848109B (en) | Method for extending end-user programming of an industrial robot with a third party contribution package | |
US20040073404A1 (en) | Mechanical-electrical template based method and apparatus | |
US7099737B2 (en) | Intelligent STEP-NC controller | |
US20040128120A1 (en) | Simulation method and apparatus for use in enterprise controls | |
JPH0772920A (en) | Method and device for controlling fa system | |
Alvarez et al. | A novel approach for supporting the development cycle of automation systems | |
JP2021536626A (en) | How to build a model of a physical system | |
US20120079157A1 (en) | Development of functional modules using a module bus | |
JPS59224228A (en) | Neumeric controller | |
KR100431102B1 (en) | method of making ladder diagram for programmable logic controller using discrete event model and an apparatus thereof | |
US20100063792A1 (en) | Visualization Method for Electrical Machine Operation Models Based on Mechanical Machine Operation Models | |
Bourne | CML: a meta-interpreter for manufacturing | |
Polic et al. | Closed-loop matrix based model of discrete event systems for machine logic control design | |
US20100063606A1 (en) | Automated derivation of a logic-controller-behavior-model from a mechanical-machine-operation-model | |
JP5862236B2 (en) | Control program editing apparatus and control program creation support program | |
CN116069317A (en) | AutomationML-based industrial equipment motion control PLC code automatic generation method and device | |
Spangenberg et al. | Grounding of actions based on verbalized physical effects and manipulation primitives | |
Chen et al. | Design and high-level synthesis of hybrid controller | |
US20020095652A1 (en) | Program generating apparatus for built-in microcomputer | |
Jones et al. | A formal technique for the synthesis of Petri net supervisors for discrete event systems | |
KR100206992B1 (en) | The method of plc diagnosis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |