KR100428890B1 - Method for Drafting Ladder Diagram Using Petri Net - Google Patents

Method for Drafting Ladder Diagram Using Petri Net Download PDF

Info

Publication number
KR100428890B1
KR100428890B1 KR10-2001-0082979A KR20010082979A KR100428890B1 KR 100428890 B1 KR100428890 B1 KR 100428890B1 KR 20010082979 A KR20010082979 A KR 20010082979A KR 100428890 B1 KR100428890 B1 KR 100428890B1
Authority
KR
South Korea
Prior art keywords
input
place
transition
token
petri net
Prior art date
Application number
KR10-2001-0082979A
Other languages
Korean (ko)
Other versions
KR20030052861A (en
Inventor
이기범
이진수
한찬동
Original Assignee
주식회사 포스코
주식회사 포스콘
재단법인 포항산업과학연구원
포스코신기술연구조합
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포스코, 주식회사 포스콘, 재단법인 포항산업과학연구원, 포스코신기술연구조합 filed Critical 주식회사 포스코
Priority to KR10-2001-0082979A priority Critical patent/KR100428890B1/en
Publication of KR20030052861A publication Critical patent/KR20030052861A/en
Application granted granted Critical
Publication of KR100428890B1 publication Critical patent/KR100428890B1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13018Conversion ladder diagram to decision system, machine code, language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13052Display of ladder diagram

Abstract

페트리네트로부터 래더다이어그램을 작도하는 방법을 제안한다. 이 방법은, 피제어시스템에서 요구되는 동작 및 상태를 분석하여 페트리네트를 작도하는 단계와, 페트리네트에서 입력트랜지션을 기준으로 보통아크 및 인에이블링아크와 연결된 입력플레이스들 중에서 활성화된 모든 플레이스를 구하는 단계와, 페트리네트에서 입력트랜지션을 기준으로 금지아크와 연결된 입력플레이스들 중에서 토큰을 가지고 있지 않는 모든 플레이스를 구하는 단계와, 구해진 각각의 입력플레이스별 상태조건과 입력트랜지션의 조건입력 및 사건입력을 구하는 단계와, 해당 플레이스의 보통아크와 연결되어 발화조건이 만족되는 입력트랜지션이 하나라도 발화되면 토큰을 해당플레이스에 더하는 단계와, 토큰이 더해진 해당 플레이스에 대한 상태조건과 출력트랜지션의 조건입력 및 사건입력을 다시 구하는 단계와, 출력트랜지션이 발화되면 토큰을 해당 플레이스에서 제거하는 단계와, 해당 플레이스에 대한 부울리안수식을 구하는 단계와, 플레이스별 부울리안수식을 이용하여 래더다이어그램을 작도하는 단계를 포함한다.We propose a method for constructing a ladder diagram from Petri net. This method comprises the steps of constructing a petri net by analyzing the operation and state required in the controlled system, and all active places among the input places connected to the normal arc and enabling arc based on the input transition in the petri net. Obtaining all the places that do not have tokens among the input places connected to the forbidden arc on the basis of the input transitions in the Petri net, and the condition inputs and event inputs of each input place and the input transitions. Obtaining a token, adding a token to the place when one of the input transitions that are connected to the normal arc of the place and satisfying the ignition conditions are added, and the condition input and event of the status and output transition of the place where the token is added. Resourcing input and output transistors Once the design is ignited by a step of removing the token from its place and calculating formulas and Boolean, Boolean formulas for the Stars Place Place includes the step of constructing the ladder diagram.

Description

페트리네트를 이용한 래더다이어그램작도방법 {Method for Drafting Ladder Diagram Using Petri Net}Method for Drafting Ladder Diagram Using Petri Net}

이 발명은PLC(Programmable Logic Controller)의 래더다이어그램(Ladder Diagram)을 작성하는 방법에 관한 것이며, 좀더 상세하게는 래더다이어그램을 좀더 용이하게 작성하는 방법에 관한 것이다.The present invention relates to a method for creating a ladder diagram of a programmable logic controller (PLC), and more particularly, to a method for creating a ladder diagram more easily.

PLC에는 논리명령어로 된 제어프로그램이 입력된다. 이러한 제어프로그램을 표현하는 로직다이어그램은 PLC의 작동을 정확하게 표현하는 것이기는 하지만, 그 구도가 복잡하여 제어프로그램을 전체적으로 이해하기가 곤란하게 하며, PLC에 프로그램을 입력하기도 어렵고, 프로그램의 디버깅이나 갱신도 매우 어렵다.The control program in logical commands is input to the PLC. Although the logic diagram expressing such a control program accurately expresses the operation of the PLC, its structure is complicated, making it difficult to understand the control program as a whole, difficult to input the program into the PLC, and debugging or updating the program. Very difficult.

그러한 어려움을 극복하기 위해 개발된 것이 래더다이어그램이다. 래더다이어그램은 PLC의 작동을 래더(사다리)의 폴에 해당하는 모선을 따라 스템처럼 배치된 신호흐름선으로 나타낸 것이며, 그 해석은 최상단으로부터 아래쪽으로 순차적으로 진행하는 것으로 한다. 신호흐름선은 좌측의 입력접점으로부터 우측의 출력접점으로 흐르며, 중간에는 평상시에 열려 있다가 신호가 들어오면 연결되는 NO(Normally Open) 접점이나 평상시에 연결되어 있다가 신호가 들어오면 끊어지는 NC(Normally Close) 접점이 배치되어 있다.Ladder diagram was developed to overcome such difficulties. The ladder diagram shows the operation of the PLC as a signal flow line arranged like a stem along the busbar corresponding to the ladder ladder. The interpretation is to proceed sequentially from the top to the bottom. The signal flow line flows from the input contact on the left to the output contact on the right, and in the middle is normally open (NO) contact that is connected when a signal comes in, or NC that is normally connected and disconnected when a signal comes in. Normally Close) contacts are arranged.

이러한 래더다이어그램은 요구되는 PLC의 작동내용에 따라 작성되는데, 그 작성은 고도의 숙련도를 요구하며, 수회의 시행착오를 거쳐 수정하여야 했다.These ladder diagrams are prepared according to the required operation of the PLC, which requires a high level of skill and has to be modified through several trials and errors.

한편, 시스템을 모델화 하고 설계하기 위해 이용하기 위한 것으로서 페트리네트이론(Petri Net Theory)이 개발되어 있다.Meanwhile, the Petri Net Theory has been developed for use in modeling and designing systems.

페트리네트는 시스템을 분석하여 요구되는 동작 및 상태를 플레이스(P :Place)와 트랜지션(T : Transition)으로 나타내고 그 대응관계를 방향성 아크로 나타낸 그래프이다.Petri net is a graph that analyzes the system and shows the required operation and status in place (P) and transition (T) and its correspondence in directional arc.

이러한 페트리네트는 래더다이어그램에 비해 물리적 현상을 좀더 직관적으로 나타낼 수 있고, 따라서 그다지 큰 숙련도를 요구함이 없이 작도할 수 있으며, 시스템에 적용해 보지 않아도 페트리네트의 도상에서 직관적으로 오류를 찾아낼 수 있으며, 시행착오 없이 완벽한 그래프를 얻을 수 있다.These Petri nets can represent physical phenomena more intuitively than ladder diagrams, so they can be constructed without requiring a great deal of skill, and intuitively find errors in Petri nets without applying them to the system. You can get a complete graph without trial and error.

이 발명은 위와 같은 기술적 상황을 감안하여 이루어진 것이며, 공장자동화 설비 등에서 요구되는 시스템의 동작 및 상태를 페트리네트로 작도하고, 이러한 페트리네트로부터 래더다이어그램을 작도하는 방법을 제안하고자 한다.The present invention has been made in view of the above technical situation, and is intended to propose a method for constructing the operation and state of a system required in a factory automation facility, etc. with a petri net, and a ladder diagram from the petri net.

도 1은 이 발명의 한 실시예에 따른 래더다이어그램작도방법을 설명하기 위한 순서도이며,1 is a flowchart illustrating a ladder diagram drawing method according to an embodiment of the present invention,

도 2은 도 1에 도시된 래더다이어그램작도방법을 설명하기 위해 이용되는 예시적 PLC에 의해 제어될 피제어시스템을 도시한 도면이고,FIG. 2 is a diagram showing a controlled system to be controlled by an exemplary PLC used to explain the ladder diagram drawing method shown in FIG.

도 3는 도 2에 도시된 피제어시스템에서 요구되는 동작 및 상태를 도시한 페트리네트며,FIG. 3 is a Petri net showing an operation and a state required in the controlled system shown in FIG.

도 4은 도 1에 도시된 래더다이어그램작도방법에 따라 도 3에 도시된 페트리네트를 이용하여 도 2에 도시된 피제어시스템을 제어하는 PLC의 제어프로그램으로 이용될 래더다이어그램이고,4 is a ladder diagram to be used as a control program of a PLC for controlling the controlled system shown in FIG. 2 using the petri net shown in FIG. 3 according to the ladder diagram drawing method shown in FIG.

도 5은 부울리안 수식을 구하는 단계에서 해당 플레이스를 기준으로 입력 및 출력 트랜지션의 연결 관계를 도시한 도면이다.5 is a diagram illustrating a connection relationship between input and output transitions based on a corresponding place in the step of obtaining a Boolean expression.

위와 같은 기술적 과제를 해결하기 위한 이 발명에 따르면, 피제어시스템에서 요구되는 동작 및 상태를 도시한 페트리네트로부터 래더다이어그램을 작도하는 방법이 제공된다. 이 방법은, 피제어시스템에서 요구되는 동작 및 상태를 분석하여 페트리네트를 작도하는 단계와, 페트리네트에서 입력트랜지션을 기준으로 보통아크 및 인에이블링아크와 연결된 입력플레이스들 중에서 활성화된 모든 플레이스를 구하는 단계와, 페트리네트에서 금지아크와 연결된 입력플레이스들 중에서 토큰을 가지고 있지 않는 모든 플레이스를 구하는 단계와, 구해진 각각의 플레이스별 상태조건과 입력트랜지션의 조건입력 및 사건입력을 구하는 단계와, 해당 플레이스에 대한 조건입력과 관련된 입력트랜지션이 발화되면 토큰을 해당 플레이스에 더하는 단계와, 해당 플레이스의 보통아크와 연결되어 발화조건이 만족되는 출력트랜지션들 중에서 활성화 된 트랜지션의 수를 구하는 단계와, 출력트랜지션이 발화되면 토큰을 해당 플레이스에서 제거하는 단계와, 해당 플레이스에 대한 부울리안수식을 구하는 단계 및, 플레이스별 부울리안수식을 이용하여 래더다이어그램을 작도하는 단계를 포함한다.According to the present invention for solving the above technical problem, there is provided a method for constructing a ladder diagram from the Petri net showing the operation and state required in the controlled system. This method comprises the steps of constructing a petri net by analyzing the operation and state required in the controlled system, and all active places among the input places connected to the normal arc and enabling arc based on the input transition in the petri net. Obtaining all the places that do not have tokens among the input places connected to the forbidden arc in the Petri net, and obtaining the condition inputs and event inputs for the respective place conditions and input transitions, and the corresponding places. When the input transition related to the condition input to is ignited, adding a token to the place, obtaining the number of activated transitions among the output transitions that are connected to the normal arc of the place and satisfying the ignition condition, and the output transition is When fired, tokens will be removed from that place. Removing, obtaining a Boolean expression for the place, and constructing a ladder diagram using the place-specific Boolean expression.

위에서 설명한 이 발명에 따른 레더다이어그램작도방법의 특징과 장점은 도면을 참조한 아래의 양호한 실시예에 대한 설명을 보면 명료하게 알 수 있을 것이다.Features and advantages of the ladder diagram drawing method according to the present invention described above will be apparent from the description of the preferred embodiment below with reference to the drawings.

도 1에는 이 발명의 한 실시예에 따른 래더다이어그램작도방법을 설명하기 위한 순서도가 도시되어 있다. 이 실시예에 따른 래더다이어그램작도방법에서는, 도 1에 보이듯이, 피제어시스템에서 요구되는 동작과 상태를 페트리네트로 작도하는 것(S101)에서부터 시작된다. 페트리네트의 작도는 이미 공지된 방식으로 할 수 있으며, 이 발명에서는 그 작도방식에 대해 제한하지 아니 한다.1 is a flowchart illustrating a ladder diagram drawing method according to an embodiment of the present invention. In the ladder diagram drawing method according to this embodiment, as shown in Fig. 1, the operation and state required by the controlled system are started by drawing a petri net (S101). The construction of the Petri net can be made in a known manner, and the present invention is not limited to the construction scheme.

한편, 이해를 돕기 위하여 도 1에 도시된 바와 같은 차량왕복시스템을 제어하기 위해 이용되는 PLC를 상정하고, 이러한 PLC의 제어프로그램으로 이용될 래더다이어그램을 작도하는 과정을 설명하기로 한다. 도 2에 보이듯이, 이 차량왕복시스템에서는 차량이 지점 M과 지점 N 사이에서 왕복운동하는 동작이 요구된다.On the other hand, for the sake of understanding, a process of constructing a ladder diagram to be used as a control program of a PLC and a PLC used to control a vehicle reciprocating system as shown in FIG. 1 will be described. As shown in Fig. 2, in this vehicle reciprocating system, the operation of the vehicle reciprocating between the point M and the point N is required.

이러한 피제어시스템의 요구동작을 좀더 상세하게 살펴보면, 아래와 같다.Looking at the required operation of such a controlled system in more detail as follows.

(1) 시작버튼(B)을 누르면 차는 우측(R)으로 이동한다.(1) Press the start button (B) and the car moves to the right (R).

(2) 차가 지점 N에 도달하면 차는 자동으로 좌측(L)으로 이동한다.(2) When the car reaches point N, the car automatically moves to the left (L).

(3) 차가 지점 M에 도달하면 차는 자동으로 우측(R)으로 이동한다.(3) When the car reaches point M, the car automatically moves to the right (R).

(4) 정지버튼(S)을 누르면 차는 현위치에서 바로 정지하게 된다.(4) Press the stop button (S), the car will stop immediately at the current position.

(5) 시작버튼(B)을 다시 누르면 차는 우측(R)으로 이동한다.(5) Press the start button (B) again and the car moves to the right (R).

위와 같은 차의 동작을 페트리네트모델링기법으로 작도하면 도 3와 같은 페트리네트 그래프를 얻을 수 있다. 도 3에서 B↑와 S↑는 순간적 입력을 표시하고, n과 m은 레벨입력을 표시한다. 도 3의 페트리네트에서 원은 플레이스이고, 바(bar)는 트랜지션이며, 네모는 초기상태를 나타내는 플레이스이다. 네모 안의 점은 시스템의 상태를 표시하는 토큰(token)을 나타내고 있다. 즉, 도 2에 도시된 피제어시스템에서 시작버튼(B)이 눌리면 p1에 있는 토큰은 p2와 p4로 간다. 그 의미는 p2는 차가 우측으로 이동하고 있음을 나타내고, p4는 차가 동작상태에 있음을 나타낸다. 여기에서, n이 입력되면 토큰을 p3로 이동하여 차가 좌측으로 이동하고 있음을 나타내게 된다. m이 입력되면 토큰을 p2로 이동하여 차가 우측으로 이동하고 있음을 나타내게 된다. 결국, 차가 좌, 우로 반복적으로 이동하는 상황이 페트리네트에 도시되어 있다.If the above operation of the vehicle is plotted using a Petri net modeling technique, a Petri net graph as shown in FIG. 3 can be obtained. In FIG. 3, B ↑ and S ↑ denote instantaneous inputs, and n and m denote level inputs. In the Petri net of Fig. 3, a circle is a place, a bar is a transition, and a square is a place representing an initial state. Dots in the boxes represent tokens that indicate the state of the system. That is, when the start button B is pressed in the controlled system shown in Fig. 2, the tokens in p1 go to p2 and p4. The meaning is that p2 indicates that the car is moving to the right, and p4 indicates that the car is in an operating state. Here, when n is inputted, the token is moved to p3 to indicate that the car is moving to the left. Entering m moves the token to p2, indicating that the car is moving to the right. As a result, the situation in which the car repeatedly moves left and right is illustrated in the Petri net.

이제, 도 1에 도시된 이 실시예에 따른 방법에 의해 도 3에 도시된 페트리네트를 도 4에 도시된 래더다이어그램으로 변환하는 과정을 설명한다.Now, the process of converting the Petri net shown in FIG. 3 into the ladder diagram shown in FIG. 4 by the method according to this embodiment shown in FIG.

S101에서 페트리네트가 작도되면, 입력 트랜지션을 기준으로 보통아크 및 인에블링아크와 연결된 입력플레이스들 중에서 활성된 플레이스를 구하고(S102), 금지아크와 연결된 입력플레이스들 중에서 토큰이 없는 플레이스를 구한다.(S103)When the Petri net is constructed in S101, an active place is obtained from the input places connected to the normal arc and the enabling arc on the basis of the input transition (S102), and a place without a token is found among the input places connected to the prohibited arc. (S103)

페트리네트로 작도된 모든 플레이스를 작업대상 플레이스로 삼고 작업대상 플레이스의 수를 초기치(PNW)로 둔다.(S104)All places constructed with Petri nets are used as work targets and the number of work targets is set as an initial value (P NW ).

작업대상플레이스 중의 하나를 선택하고(S105), 선택된 입력플레이스의 상태조건과 입력트랜지션의 조건입력 및 사건입력을 구한다.(S106)One of the work target places is selected (S105), and the condition input of the selected input place and the condition input of the input transition and the event input are obtained (S106).

조건입력에 관련된 입력트랜지션이 발화되었는지 판단하고(S107), 발화되었으면, 토큰을 해당 플레이스에 더하고(S108), S109로 이동한다.It is determined whether the input transition related to the condition input is ignited (S107), and if it is ignited, the token is added to the corresponding place (S108) and the process moves to S109.

이 때, 임의의 트랜지션이 발화되기 위한 조건은 아래의 수학식 1로 표시된다. 수학식 1에 보이듯이, 트랜지션의 모든 입력플레이스에 토큰이 있어야 하고, 그와 함께 트랜지션의 조건입력과 사건입력이 만족되어야 트랜지션이 인에이블된다.At this time, the condition for any transition to be fired is represented by the following equation (1). As shown in Equation 1, the transition is enabled only when all the input places of the transition have tokens and the conditional and event inputs of the transition are satisfied.

여기에서, P는 플레이스를 나타내고, C는 트랜지션이 발화되기 위한 조건을 나타내며, E는 트랜지션이 발화되기 위한 사건을 나타내고 있다.Here, P represents a place, C represents a condition for the transition to be fired, and E represents an event for the transition to be fired.

S107에서 조건입력에 관련된 트랜지션이 발화되지 않았다고 판단되면, 해당 플레이스의 보통아크와 연결되어 발화조건이 만족되는 출력트랜지션들 중에서 활성트랜지션을 구한다.(S109)If it is determined in S107 that the transition related to the condition input is not ignited, the active transition is obtained from the output transitions that are connected to the normal arc of the corresponding place and satisfy the ignition condition.

출력트랜지션이 발화되었는지 판단하고(S110), 발화되었으면, 토큰을 해당 플레이스에서 제거하고(S111), S112로 이동한다.It is determined whether the output transition is ignited (S110), and if it is ignited, the token is removed from the corresponding place (S111), and the process moves to S112.

S105 내지 S111까지의 과정을 기준으로 현재의 해당 플레이스에 대해 부울리안수식을 구한다.(S112)Based on the process from S105 to S111, a Boolean expression is obtained for the current place. (S112)

수학식 1로부터 플레이스 P의 토큰변화를 구하면, 수학식 2와 같이 쓸 수 있다. 아래의 수학식 2는 각 플레이스의 토큰변화를 계산하는 것이며, 입력트랜지션의 발화가능성과 출력트랜지션의 발화가능성을 연산하여 현재 플레이스에 토큰의 생성 또는 소멸을 계산하는 것이다. 특히, 부울이안덧셈연산는 토큰의 생성을 계산하는 것이며, 부울리안곱셈연산는 토큰의 소멸을 계산하는 것이다.When the token change of the place P is obtained from Equation 1, it can be written as Equation 2. Equation 2 below calculates the token change of each place, and computes the generation or destruction of the token in the current place by calculating the ignition probability of the input transition and the ignition probability of the output transition. In particular, Boolean addition operations Is the calculation of the generation of the token, and the Boolean multiplication Is to calculate the extinction of the token.

수학식 3은 공정을 보다 광범위하게 표현하기 위하여 보통아크(AN) 뿐만 아니라 금지아크(AI) 인에이블링아크(AE)를 추가하여 수학식 2를 일반화 한 것이다.Equation 3 generalizes Equation 2 by adding a normal arc (A N ) as well as a forbidden arc (A I ) enabling arc (A E ) in order to express the process more broadly.

여기에서, Pi는 해당 플레이스를 나타내고, Pk는 입력 및 출력 플레이스를 나타내며, Cj는 트랜지션의 조건입력을 나타내고, Ej는 트랜지션의 사건입력을 나타내며,는 토큰의 생성을 계산하는 부울이안덧셈연산을 나타내고,는 토큰의 소멸을 계산하는 부울리안곱셈연산을 나타내고, 캡이 씌워진 부울리안 곱셈연산항은 전체 계산된 결과에 보수를 취한 결과을 나타낸다.Where Pi represents the corresponding place, Pk represents the input and output place, Cj represents the conditional input of the transition, Ej represents the event input of the transition, Represents a Boolean addition operation that computes the generation of the token, Denotes the Boolean multiplication operation that computes the decay of the token, and the capped Boolean multiplication term represents the result of the complement of the overall computed result.

예를 들어, 1의 보수는 0이고, 0의 보수는 1이다. 결국, 부울리안곱셈연산항의 결과는 1 또는 0의 결과를 얻게 되어 있고, 그 것에 보수를 취한다는 뜻이다.For example, 1's complement is 0, and 0's complement is 1. After all, the result of the Boolean multiplication term is that you get a result of 1 or 0, and you pay for it.

수학식 3을 이용하여 도 3의 페트리네트의 각 플레이스에 대한 부울리안 수식을 얻을 수 있으며, 이러한 부울리안수식의 각각을 신호흐름선으로 나타내어 순차적으로 나타내면 도4과 같은 래더다이어그램을 작도할 수 있다.Using Equation 3, a Boolean expression for each place of the Petri net of FIG. 3 may be obtained. If each of these Boolean expressions is represented by a signal flow line, the ladder diagram as shown in FIG. 4 may be constructed. .

S112에서 현재의 플레이스에 대해 수학식 3과 같은 부울리안 수식을 구한 후에, 현재의 플레이스를 작업대상플레이스에서 배제시키고 현재까지의 잔여작업대상플레이스의 수(PNW)에서 1을 빼서 작업대상플레이스의 수(PN )를 계산한다(S113).After obtaining a Boolean expression such as Equation 3 for the current place in S112, the current place is excluded from the work place and subtracted 1 from the number of remaining work place places (P NW ) so far. The number P N is calculated (S113).

S113에서 계산된 작업대상플레이스의 수(PN )가 제로(0)보다 큰지 판단하고(S107), 제로보다 크면, 즉 작업대상플레이스가 있다고 판단되면, S105으로 복귀하여 작업대상플레이스 중의 하나를 선택한다.It is determined whether the number of work subject places P N calculated in S113 is greater than zero (S107), and if it is greater than zero, that is, if it is determined that there is a work subject place, the process returns to S105 to select one of the work subject places. Choose.

S113에서 작업대상플레이스가 없다고 판단되면, 각각의 플레이스에 대해 구해진 모든 부울리안수식을 이용하여 래더다이어그램을 작도한다.(S115)If it is determined in S113 that there is no work target place, a ladder diagram is constructed using all the Boolean equations obtained for each place.

도 3에 보이듯이, 도 2에 도시된 피제어시스템에서 요구되는 동작과 상태를 도시한 페트리네트에서는 플레이스의 총 수가 4개이므로, 도 4에 보이듯이 래더다이어그램으로 변환된 출력접점의 총수는 4개이며, 각각의 출력접점은 입력접점에서참조됨을 알 수 있다.As shown in FIG. 3, since the total number of places is four in the Petri net showing the operation and state required in the controlled system shown in FIG. 2, the total number of output contacts converted to the ladder diagram is 4 as shown in FIG. It can be seen that each output contact is referenced from the input contact.

도 4에 도시된 래더다이어그램은 도 2에 도시된 피제어시스템을 제어하기 위한 PLC의 CPU(중앙연산장치)로 다운로딩되어 피제어시스템을 제어하기 위한 제어프로그램으로 이용된다.The ladder diagram shown in FIG. 4 is downloaded to the CPU (central computing device) of the PLC for controlling the controlled system shown in FIG. 2 and used as a control program for controlling the controlled system.

이 발명에 따른 래더다이어그램작성방법을 이용하면 피제어시스템의 동작 및 상태를 좀더 직관적으로 고찰할 수 있는 페트리네트로 작성한 후에 래더다이어그램으로 변환함으로써 PLC의 제어프로그램을 시행착오가 거의 없이 용이하게 작성할 수 있다. 또한, 페트리네트를 작도하기 위해 이용되는 각종 부호를 컴퓨터로 식별이 가능한 디지털부호화 하고 이러한 디지털부호를 이용하여 컴퓨터로 판독이 가능한 페트리네트를 작도하면, 컴퓨터를 이용하여 도 1에 도시된 알고리즘에 따른 변환과정을 수행하고 수학식 1 내지 수학식 3에 기재된 연산을 행함으로써 페트리네트로부터 래더다이어그램을 구하는 과정을 전산처리하여 자동으로 래더다이어그램을 생성할 수 있다. 이렇게 작도된 래더다이어그램은 호환성을 갖춘 PLC의 CPU에 다운로딩되어 그대로 제어프로그램을 이용될 수 있다. 즉, PLC의 로직제어프로그램이나 래더다이어그램의 작성에 숙련되지 않은 자라고 이 발명에 따른 래더다이어그램 작도방법을 이용하면, 좀더 직관적이고 작도가 용이한 페트리네트만 작도함으로써 피제어시스템을 원하는 동작과 상태를 갖게 제어할 수 있는 PLC 제어프로그램을 용이하게 작성할 수 있다.By using the ladder diagram preparation method according to the present invention, the control program of the PLC can be easily written with little or no trial and error by creating a petri net that can consider the operation and status of the controlled system more intuitively, and then converting the ladder diagram into a ladder diagram. . In addition, if a computer-readable digital code is used for various codes used for constructing a petrinet, and a computer-readable petrinet is constructed using the digital code, the algorithm according to the algorithm shown in FIG. By performing the conversion process and performing the operations described in equations (1) to (3), a ladder diagram can be automatically computed by computing a process of obtaining the ladder diagram from the Petri net. The ladder diagram thus constructed can be downloaded to the compatible PLC's CPU and the control program can be used as it is. That is, if you are inexperienced in creating PLC logic control program or ladder diagram, and use ladder diagram drawing method according to the present invention, you can design only the petri net which is more intuitive and easy to draw. PLC control programs that can be controlled can be easily created.

Claims (2)

피제어시스템에서 요구되는 동작 및 상태를 도시한 페트리네트로부터 래더다이어그램을 작도하는 방법에 있어서,In the method for constructing a ladder diagram from a Petri net showing the operation and state required in the controlled system, 피제어시스템에서 요구되는 동작 및 상태를 분석하여 페트리네트를 작도하는 단계와,Constructing a petri net by analyzing operations and conditions required by the controlled system; 페트리네트에서 입력트랜지션을 기준으로 보통아크 및 인에이블링아크와 연결된 입력플레이스들 중에서 활성화된 모든 플레이스를 구하는 단계와,Obtaining all activated places among the input places connected to the normal arc and enabling arc based on the input transition in the Petri net; 페트리네트에서 금지아크와 연결된 입력플레이스들 중에서 토큰을 가지고 있지 않는 모든 플레이스를 구하는 단계와,Obtaining all the places in the Petrinet that do not have tokens among the input places associated with the forbidden arc, 구해진 각각의 플레이스별 상태조건과 입력트랜지션의 조건입력 및 사건입력을 구하는 단계와,Obtaining conditional input and event input of each place condition and input transition obtained; 해당 플레이스에 대한 조건입력과 관련된 입력트랜지션이 발화되면 토큰을 해당 플레이스에 더하는 단계와,Adding a token to the place when the input transition associated with the condition input for that place is fired; 해당 플레이스의 보통아크와 연결되어 발화조건이 만족되는 출력트랜지션들 중에서 활성화 된 트랜지션의 수를 구하는 단계와,Obtaining the number of active transitions among the output transitions that are connected to the normal arc of the corresponding place and satisfying the ignition condition; 출력트랜지션이 발화되면 토큰을 해당 플레이스에서 제거하는 단계와,Removing the token from the place once the output transition is fired; 해당 플레이스에 대한 부울리안수식을 구하는 단계 및,Obtaining a Boolean expression for the place, 플레이스별 부울리안수식을 이용하여 래더다이어그램을 작도하는 단계를 포함하고,Constructing a ladder diagram using a place-specific Boolean expression, 상기 부울리안수식이 아래와 같이 구성된 것을 특징으로 하는 래더다이어그램작도방법.Ladder diagram drawing method characterized in that the Boolean equation is configured as follows. 여기에서, Pi는 해당 플레이스를 나타내고, Pk는 입력 및 출력 플레이스를 나타내며, Cj는 트랜지션의 조건입력을 나타내고, Ej는 트랜지션의 사건입력을 나타내며,는 토큰의 생성을 계산하는 부울이안덧셈연산을 나타내고,는 토큰의 소멸을 계산하는 부울리안곱셈연산을 나타내고, 캡이 씌워진 부울리안 곱셈연산항은 전체 계산된 결과에 보수를 취한 결과을 나타낸다.Where Pi represents the corresponding place, Pk represents the input and output place, Cj represents the conditional input of the transition, Ej represents the event input of the transition, Represents a Boolean addition operation that computes the generation of the token, Denotes the Boolean multiplication operation that computes the decay of the token, and the capped Boolean multiplication term represents the result of the complement of the overall computed result. 삭제delete
KR10-2001-0082979A 2001-12-21 2001-12-21 Method for Drafting Ladder Diagram Using Petri Net KR100428890B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0082979A KR100428890B1 (en) 2001-12-21 2001-12-21 Method for Drafting Ladder Diagram Using Petri Net

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0082979A KR100428890B1 (en) 2001-12-21 2001-12-21 Method for Drafting Ladder Diagram Using Petri Net

Publications (2)

Publication Number Publication Date
KR20030052861A KR20030052861A (en) 2003-06-27
KR100428890B1 true KR100428890B1 (en) 2004-04-29

Family

ID=29577601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0082979A KR100428890B1 (en) 2001-12-21 2001-12-21 Method for Drafting Ladder Diagram Using Petri Net

Country Status (1)

Country Link
KR (1) KR100428890B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013884A1 (en) * 2009-07-30 2011-02-03 경상대학교산학협력단 Plc ladder logic layout and ladder code generation method
KR101559670B1 (en) 2014-05-20 2015-10-13 이종애 How to construct a diagram And Organization board diagram using the method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411330B (en) * 2011-08-25 2014-03-12 华侨大学 Method for converting PLC program into common Petri net
KR102394033B1 (en) * 2019-11-29 2022-05-04 부산대학교 산학협력단 Collaborative coloured petri net and method for connecting coloured petri net models

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0418605A (en) * 1990-05-11 1992-01-22 Kobe Steel Ltd Method and device for preparing ladder sequence program
JPH06266417A (en) * 1993-03-11 1994-09-22 Natl Aerospace Lab Work plan determining system
JPH0876821A (en) * 1994-06-28 1996-03-22 Kobe Steel Ltd Sequence program preparing device
KR19980045945A (en) * 1996-12-11 1998-09-15 양승택 How to create a single input / output sequence

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0418605A (en) * 1990-05-11 1992-01-22 Kobe Steel Ltd Method and device for preparing ladder sequence program
JPH06266417A (en) * 1993-03-11 1994-09-22 Natl Aerospace Lab Work plan determining system
JPH0876821A (en) * 1994-06-28 1996-03-22 Kobe Steel Ltd Sequence program preparing device
KR19980045945A (en) * 1996-12-11 1998-09-15 양승택 How to create a single input / output sequence

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013884A1 (en) * 2009-07-30 2011-02-03 경상대학교산학협력단 Plc ladder logic layout and ladder code generation method
KR101559670B1 (en) 2014-05-20 2015-10-13 이종애 How to construct a diagram And Organization board diagram using the method

Also Published As

Publication number Publication date
KR20030052861A (en) 2003-06-27

Similar Documents

Publication Publication Date Title
US5230061A (en) Clause counter map inference engine
US5504902A (en) Multi-language generation of control program for an industrial controller
Aréchiga et al. Using theorem provers to guarantee closed-loop system properties
Reese et al. Software deviation analysis
KR100428890B1 (en) Method for Drafting Ladder Diagram Using Petri Net
van Glabbeek Notes on the methodology of CCS and CSP
Du et al. A study on the generation of silicon-based hardware PLC by means of the direct conversion of the ladder diagram to circuit design language
US20180307193A1 (en) Automated control of processes
US5963446A (en) Extended relay ladder logic for programmable logic controllers
Filatov et al. Adaptive predictive control policy for nonlinear stochastic systems
Korotkin et al. A Petri Net formal design methodology for discrete-event control of industrial automated systems
Taholakian et al. PN PLC: A methodology for designing, simulating and coding PLC based control systems using Petri nets
Andreu et al. Fuzzy Petri net-based programmable logic controller
Peleties et al. A modeling strategy for hybrid systems based on event structures
KR20180122870A (en) Method for synthesizing programs
US4486741A (en) Manual data input device for a numerical control apparatus
KR101566355B1 (en) Master pattern generation method and apparatus for checking normal operation of plc based manufacturing system
Kuzmin et al. Modeling, Specification and Construction of PLC-programs
CN112286135B (en) Program real-time adjustment method for PLC (programmable logic controller) of aircraft fuelling vehicle
JPH0545963B2 (en)
Zhou et al. A comparison of relay ladder logic programming and Petri net approach for sequential industrial control systems
Šimandl et al. Nonlinear nonnormal dynamic models: State estimation and software
JPS58184652A (en) Program inputting system
Bredenfeld et al. Behavior engineering with “dual dynamics” models and design tools
Bum Lee et al. Conversion of LD program into augmented PN graph

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
FPAY Annual fee payment

Payment date: 20130401

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140414

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150206

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee