KR100654514B1 - 프로그램 작성 장치 - Google Patents

프로그램 작성 장치 Download PDF

Info

Publication number
KR100654514B1
KR100654514B1 KR1020050081610A KR20050081610A KR100654514B1 KR 100654514 B1 KR100654514 B1 KR 100654514B1 KR 1020050081610 A KR1020050081610 A KR 1020050081610A KR 20050081610 A KR20050081610 A KR 20050081610A KR 100654514 B1 KR100654514 B1 KR 100654514B1
Authority
KR
South Korea
Prior art keywords
action
job
information
pattern
trigger
Prior art date
Application number
KR1020050081610A
Other languages
English (en)
Other versions
KR20060096173A (ko
Inventor
고이치 나카가와
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20060096173A publication Critical patent/KR20060096173A/ko
Application granted granted Critical
Publication of KR100654514B1 publication Critical patent/KR100654514B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • Y02P80/15On-site combined power, heat or cool generation or distribution, e.g. combined heat and power [CHP] supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 복잡한 프로그램도 간단히 기술할 수 있는 프로그램 작성 장치를 얻기 위한 것으로, PLC와 외부 시스템의 연계를 행하는 프로그램 작성 장치(10)에 있어서, 하나 이상의 이벤트의 기동 패턴을 생성하여, 기동 패턴 테이블(151)에 저장하는 기동 패턴 정의부(111)와, 액션의 내용과 인수를 포함하는 액션 정보를 액션 테이블(152)에 저장하는 액션 정의부(112)와, 기동 조건과, 그 기동 조건에 의해 실행하는 액션 정보와, 이용하는 기동 패턴을 포함하는 잡 정보를, 잡 테이블(161)에 저장하는 잡 등록부(113)와, 기동 조건에 이용하는 데이터와, 그 기동 조건을 포함하는 잡 정보를 포함하는 트리거 정보를 트리거 테이블(162)에 저장하는 트리거 생성부(121)와, 임의의 기동 조건이 성립하면, 그 기동 조건을 포함하는 잡 정보에 정의된 기동 패턴에 따라, 액션을 실행하는 잡 실행부(122)를 구비한다.

Description

프로그램 작성 장치{PROGRAMMING APPARATUS}
도 1은 본 발명의 실시예 1에 따른, 프로그램 작성 장치의 구성을 나타내는 블럭도,
도 2는 본 발명의 실시예 1에 따른, 기동 패턴 테이블에 저장되는 기동 패턴 정보의 예를 나타내는 도면,
도 3은 본 발명의 실시예 1에 따른, 기동 패턴 정의부의 동작의 흐름도,
도 4는 본 발명의 실시예 1에 따른, 액션 테이블에 저장되는 액션 정보의 예를 나타내는 도면,
도 5는 본 발명의 실시예 1에 따른, 액션 정의부의 동작의 흐름도,
도 6은 본 발명의 실시예 1에 따른, 잡 테이블에 저장되는 잡 정보의 예를 나타내는 도면,
도 7은 본 발명의 실시예 1에 따른, 잡의 기동 조건으로서 정의할 수 있는 조건식의 예를 나타내는 도면,
도 8은 본 발명의 실시예 1에 따른, 잡 등록부의 동작의 흐름도,
도 9는 본 발명의 실시예 1에 따른, 트리거 테이블에 저장되는 트리거 정보의 예를 나타내는 도면,
도 10은 본 발명의 실시예 1에 따른, 트리거 생성부의 동작의 흐름도,
도 11은 본 발명의 실시예 1에 따른, 잡 실행부의 동작의 흐름도,
도 12는 본 발명의 실시예 2에 따른, 기동 패턴 테이블에 저장되는 기동 패턴 정보의 예를 나타내는 도면,
도 13은 본 발명의 실시예 2에 따른, 잡 테이블에 저장되는 잡 정보의 예를 나타내는 도면,
도 14는 본 발명의 실시예 2에 따른, 액션의 실행 타이밍을 도시하는 도면,
도 15는 본 발명의 실시예 2의 다른 예에 따른, 기동 패턴 테이블에 저장되는 기동 패턴 정보의 예를 나타내는 도면,
도 16은 본 발명의 실시예 2의 다른 예에 따른, 잡 테이블에 저장되는 잡 정보의 예를 나타내는 도면,
도 17은 본 발명의 실시예 2의 다른 예에 따른, 액션의 실행 타이밍을 도시하는 도면,
도 18은 본 발명의 실시예 2의 다른 예에 따른, 기동 패턴 테이블에 저장되는 기동 패턴 정보의 예를 나타내는 도면,
도 19는 본 발명의 실시예 2의 다른 예에 따른, 잡 테이블에 저장되는 잡 정보의 예를 나타내는 도면,
도 20은 본 발명의 실시예 2의 다른 예에 따른, 액션의 실행 타이밍을 도시하는 도면,
도 21은 본 발명의 실시예 3에 의한, 기동 패턴 테이블에 저장되는 기동 패턴 정보의 예를 나타내는 도면,
도 22는 본 발명의 실시예 3에 의한, 잡 테이블에 저장되는 잡 정보의 예를 나타내는 도면,
도 23은 본 발명의 실시예 3에 의한, 액션의 실행 타이밍을 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
10 : 프로그램 작성 장치 11 : 엔지니어링 툴부
12 : 잡 실행부 13 : PLC 데이터 액세스부
14 : 통신부 15 : 엔지니어링 데이터베이스
16 : 실행 시간 데이터베이스 20 : 외부 시스템
111 : 기동 패턴 정의부 112 : 액션 정의부
113 : 잡 등록부 121 : 트리거 생성부
122 : 잡 실행부 151 : 기동 패턴 테이블
152 : 액션 테이블 161 : 잡 테이블
162 : 트리거 테이블
본 발명은 PLC(Programmable Logic Controller)와 외부 시스템 사이에서 데이터 연계를 행하는 프로그램 작성 장치에 관한 것이다.
PLC와, 데이터베이스 시스템이나 비즈니스 어플리케이션 등의 외부 시스템 사이에서의 데이터 교환을 하는 프로그램의 작성 장치에 관한 종래 기술은, 예컨대 특허문헌 1에 기재되어 있다. 특허문헌 1에 기재된 발명에서는, FA(Factory Automation) 시스템에 있어서, 임의의 이벤트가 발생한 때에, 특정 처리를 실행하는 모델이 사용되고 있다. 여기서는 이벤트 발생에 대응하는 조건을 트리거, 이벤트 발생에 의해 실행되는 처리를 액션으로 정의하고 있다. 트리거와 그것에 관련되는 액션은 잡(job)이라는 단위로 관리된다. 트리거, 액션, 및 잡은 미리 데이터베이스에 등록되어 있다. 트리거 기동부는, 등록되어 있는 잡의 내용을 참조하여, 임의의 트리거가 성립하고 있는 경우에는 관련되는 액션을 실행한다.
[특허문헌 1] 일본 특허 제 3580347호 공보
종래의 기술에서는, 트리거와 액션의 관계는 잡으로서 일대일로 대응되어 있기 때문에, 동일한 트리거로 기동되는 액션이 복수 있는 경우, 각각 별개로 정의해야 하고, 복잡한 처리를 실행하는 프로그램을 작성하는 경우에는, 프로그램 자체도 복잡하게 되고, 그 결과 프로그램의 품질에 편차가 생긴다고 하는 문제가 있었다.
또한, 트리거와 액션이 대응이 단순하기 때문에, 액션의 실행 타이밍이나 실행 시간에 관한 정의가 필요한 처리, 즉, 순서 처리(임의의 액션의 처리 종료를 기다려 다음 액션을 실행하는 처리)나 병렬 처리와 같은, FA에서 많이 쓰이는 고도의 처리 프로그램을 작성하는 것이 어렵다는 문제가 있었다.
또한, 프로그램 상에서 액션의 실행 시간을 고려하지 않으면, 극도로 처리 시간이 긴 액션을 정의해버릴 수 있기 때문에, 기기의 폭주, 고장 등에 의해 처리가 길어진 경우에 이상 검출을 실행할 수 없다고 하는 문제가 있었다.
본 발명은 상기한 바와 같은 과제를 해결하기 위해 이루어진 것으로, 복잡한 처리의 프로그램도 간단히 기술하는 것이 가능하고, 프로그램의 품질을 향상시킬 수 있는 프로그램 작성 장치를 얻는 것을 목적으로 한다.
본 발명에 따른 프로그램 작성 장치는, 하나 이상의 이벤트의 기동 패턴을 생성하여, 기동 패턴 테이블에 저장하는 기동 패턴 정의부와, 액션의 내용과 그 액션의 실행에 이용하는 인수를 포함하는 액션 정보를 생성하여, 액션 테이블에 저장하는 액션 정의부와, 기동 조건과, 그 기동 조건이 성립하면 실행하는 하나 이상의 액션에 관한 액션 정보와, 이용하는 기동 패턴과, 이용하는 기동 패턴 내의 이벤트와 실행하는 액션의 대응을 포함하는 잡 정보를 생성하여, 잡 테이블에 저장하는 잡 등록부와, 기동 조건에 이용되는 데이터와, 그 데이터를 기동 조건으로서 포함하는 잡 정보를 포함하는 트리거 정보를 생성하여, 트리거 테이블에 저장하는 트리거 생성부와, 트리거 정보에 근거하여, 임의의 기동 조건을 포함하는 잡 정보를 취득하여, 당해 기동 조건이 성립한 경우에는, 각각의 잡 정보에 포함되는 기동 패턴에 따라, 액션을 실행하는 잡 실행부를 구비한 것이다.
이하, 본 발명의 실시의 여러 가지 형태를 설명한다.
(실시예 1)
도 1은 본 발명의 실시예 1에 따른 프로그램 작성 장치(10)의 구성을 나타내는 블럭도이다. 프로그램 작성 장치(10)는 PLC와 외부 시스템(20) 사이의 데이터 교환을 하는 프로그램을 작성한다. 프로그램 작성 장치(10)는 외부 시스템(20)과 통신부(14)를 거쳐서 접속되어 있다. 외부 시스템(20)은, 예컨대 데이터베이스 관리 시스템이나 비즈니스 어플리케이션 등이며, 통신부(14)는 API(Application Program Interface)나 소켓 등에 의해 외부 시스템(20)과 통신을 한다.
도면에 도시하는 바와 같이, 프로그램 작성 장치(10)는, 엔지니어링 툴부(11), 잡 실행부(12), PLC 데이터 액세스부(13), 통신부(14), 엔지니어링 데이터베이스(15), 및 실행 시간 데이터베이스(16)를 구비하고 있다.
엔지니어링 툴부(11), 잡 실행부(12), PLC 데이터 액세스부(13), 및 통신부(14)는, 프로그램에 따라서 컴퓨터의 프로세서가 실행하는 동작의 모듈을 나타내고 있고, 이들은 실제로는 일체로서 프로그램 작성 장치(10)의 프로세서를 구성한다.
엔지니어링 툴부(11)는 기동 패턴 정의부(111), 액션 정의부(112), 및 잡 등록부(113)를 구비하고 있다. 또한, 잡 실행부(12)는 트리거 생성부(121) 및 잡 실행부(122)를 구비하고 있다.
또한, 엔지니어링 데이터베이스(15) 및 실행 시간 데이터베이스(16)는, 프로그램 작성 장치(10)의 메모리, 또는 프로그램 작성 장치(10)와 접속된 외부의 기억 장치 등에 저장된다. 엔지니어링 데이터베이스(15) 및 실행 시간 데이터베이스(16)는 동일한 기억 장치에 저장되어 있더라도 좋다.
엔지니어링 데이터베이스(15)에는, 기동 패턴 테이블(151) 및 액션 테이블(152)이 포함된다. 또한, 실행 시간 데이터베이스(16)에는, 잡 테이블(161) 및 트리거 테이블(162)이 포함되어 있다.
기동 패턴 테이블(151)에는, 실행하는 액션의 개수나 기동의 순서 등의 정보를 갖는 기동 패턴 정보가 저장된다.
액션 테이블(152)에는, 액션의 내용과 액션 실행시에 이용하는 인수의 정보를 갖는 액션 정보가 저장된다.
잡 테이블(161)에는, 액션의 기동 조건, 그 기동 조건이 성립하면 기동하는 모든 액션, 및 그들의 액션의 기동 패턴을 갖는 잡 정보가 저장된다.
트리거 테이블(162)에는, 기동 조건에 이용되는 데이터와, 그 데이터를 기동 조건으로서 이용하는 잡의 정보를 갖는 트리거 정보가 저장된다.
다음에, 동작에 대하여 설명한다.
우선, 기동 패턴 정의부(111)의 동작에 대하여 설명한다. 기동 패턴 정의부(111)는 기동 패턴 정보를 생성하여, 기동 패턴 테이블(151)에 저장한다. 기동 패턴 테이블(151)에는 기동 패턴 정보를 복수 저장할 수 있다.
도 2는 기동 패턴 정보의 예를 나타내는 도면이다. 실시예 1에서는, 기동 패턴 정보의 기술 방법으로서 W3C(World Wide Web Consortium)에 의해 권고되어 있는 XML(eXtensible Markup Language)를 사용한다. 즉, 기동 패턴 정보의 데이터 구조는, 개시 태그“<×××>"와 종료 태그“</×××>"의 네스트 구조(nesting structure)에 의해 기술한다.
여기서는, 기동 패턴 정보의 데이터 구조명을 「Patterns」라고 한다. 기동 패턴 정보는 식별자로 되는 속성 「id」와, 실행되는 복수의 이벤트 「Events」를 갖는다. Events는 식별자로 되는 속성 id를 가진다. 각각의 이벤트에는, 후술하는 잡 정보에 있어서 하나의 액션이 맞도록 된다.
도 2의 예에서는, 기동 패턴 id는 「Periodical」이다. 또한, 요소 Interval에 의해, 3개의 Events(id=1,2,3)가 1000msec마다, 합계 10회 실행되는 것을 나타내고 있다. 이와 같이, 이 기동 패턴은 정기적으로 이벤트열을 발생시키는 패턴으로 되어 있다.
도 3은 기동 패턴 정의부(111)의 동작의 흐름도이다. 또, 기동 패턴 정의부(111)는 입력 장치 등을 거쳐서 지정되는 데이터를 이용하여 이하의 처리를 한다.
우선, 단계 ST201에서 기동 패턴 id가 지정된다.
다음에, 단계 ST202에서, 하나의 Events를 생성하고, 기동 패턴 정보에 추가한다. 단계 ST203에서 모든 Events의 생성이 종료된 것으로 판단될 때까지 단계 ST202를 반복한다. 다음에, 단계 ST204에서, 생성한 기동 패턴 정보를 기동 패턴 테이블(151)에 등록한다.
다음에, 액션 정의부(112)의 동작에 대하여 설명한다. 액션 정의부(112)는, 액션 정보를 생성하여, 액션 테이블(152)에 저장한다. 액션 테이블(152)에는 액션 정보를 복수 저장할 수 있다.
도 4는 액션 정보의 예를 나타내는 도면이다. 액션 정보도 기동 패턴 정보와 마찬가지로, XML을 이용하여 기술한다.
여기서는, 액션 정보의 데이터 구조명을 「Actions」라고 한다. 액션 정보는 식별자로 되는 속성 「id」, 액션의 기동 인수를 나타내는 요소 「Arguments」, 처리의 내용을 나타내는 요소 「Body」를 갖는다. Arguments는 첨자를 나타내는 속성 「index」와 인수의 이름을 나타내는 속성 「name」을 가진다. Body의 내용은 스크립트 언어 등의 기존의 프로그램 언어를 사용하여 기술된다.
도 4의 예에서는, Actions의 내용을 유럽 전자계산기 공업회(ECMA)에서 규격화된 스크립트 언어(ECMA-262, 통칭 Java(등록상표) Script)를 사용하여 표기하고 있다. 여기서는 인수를 2개 정의하여, 각각 인수명을 「계상일」, 「투입수」라고 하고 있다.
또한, Body에 대해서는, 05행째는 「sys031」과 같은 이름의 호스트와 접속하여 데이터베이스 「TestTable」에 액세스하는 것을 나타내고, 06행째는, arguments[O]에서 인수의 1번째의 값을 연상배열 db에 키 「date」로서 저장하는 것을 나타내며, arguments[1]에서 인수 2번째의 값을 연상배열 db에 키 「value」로서 저장한다. 또한, 07행째에서 date, value의 속성의 값을 설정하고, 08행째에서 데이터베이스 db에 설정한 값을 삽입한다.
이와 같이, 액션 정보는 처리계에 따른 프로그램 언어를 사용하여 기술할 수 있다.
도 5는 액션 정의부(112)의 동작의 흐름도이다. 또, 액션 정의부(112)는, 입력 장치 등을 거쳐 지정되는 데이터를 이용하여 이하의 처리를 한다.
우선, 단계 ST501에서, 액션의 ID가 지정된다.
다음에, 단계 ST502에서 인수의 수가 지정된다. 계속되는 단계 ST503에서 인수의 명칭, 단계 ST504에서 인수의 인덱스가 지정되고, 단계 ST505에서 생성한 인수 데이터를 Actions에 추가한다. 단계 ST503∼단계 ST505는, 단계 ST506에서 모든 인수의 생성이 종료한 것으로 판단될 때까지 반복된다.
다음에, 단계 ST507에서 Actions의 내용이 지정된다. 다음에, 단계 ST508에서, 생성한 액션 정보를 액션 테이블(152)에 등록한다.
다음에, 잡 등록부(113)의 동작에 대하여 설명한다. 잡 등록부(113)는 잡 정보를 생성하여, 잡 테이블(161)에 저장한다. 잡 테이블(161)에는 잡 정보를 복수 저장할 수 있다.
도 6은 잡 정보의 예를 나타내는 도면이다. 잡 정보도 XML을 이용하여 기술한다.
여기서는, 잡 정보의 데이터 구조명을 「Jobs」라고 한다. 잡 정보는 식별자로 되는 속성 id, 액션의 기동 패턴 id「pattern_id」, 잡 실행의 기동 조건 「Condition」, 기동 조건이 성립한 경우에, 기동 패턴에 따라 실행하는 액션 「Actions」를 갖는다. Actions는 식별자로 되는 속성 「id」와 대응하는 이벤트의 식별자 「Event_id」를 가진다.
도 6의 예에서는, 도 2에 나타낸 기동 패턴 「Periodical」이 지정되어 있고, 각각의 Actions의 event_id로 지정된 값은, 기동 패턴 Periodical 내의 Events 의 id에 대응하고 있다.
Condition에는 연산식이나 함수를 사용할 수 있다.
도 7은, 잡의 기동 조건으로서 Condition에 정의할 수 있는 조건식의 예를 나타내는 도면이다. 01행째는 변수 AI001.PV가 10보다 큰 것을 나타낸다. 02행째는 시스템이 갖는 적산 시각(msec)을 100으로 나눈 나머지가 O, 즉 100msec마다 참(眞)으로 되는 것을 나타낸다. 03행째는 논리 연산자 「&&」를 사용하여 2개의 식의 논리곱을 취한 것을 나타내고 있다.
도 8은 잡 등록부(113)의 동작의 흐름도이다. 또, 잡 등록부(113)는 입력 장치 등을 거쳐서 지정되는 데이터를 이용하여 이하의 처리를 한다.
우선, 단계 ST701에서 잡의 ID가 지정된다.
다음에, 단계 ST702에서 기동 패턴 ID를 지정한다. 여기서 지정할 수 있는 기동 패턴의 ID는 기동 패턴 테이블(151)에 등록되어 있는 기동 패턴이다. 다음에, 단계 ST703에서, 기동 패턴 테이블(151)로부터 단계 ST702에서 지정된 ID를 갖는 기동 패턴 정보를 판독하고, 그 기동 패턴 정보에 정의되어 있는 이벤트의 수를 취득한다.
다음에, 단계 ST704에서 액션 ID를 지정한다. 여기서 지정할 수 있는 액션 ID는 액션 테이블(152)에 등록되어 있는 액션이다. 단계 ST705에 있어서, 단계 ST704의 처리 회수를 판정하고, 유지하고 있는 이벤트수만큼 반복하면 단계 ST706에 진행한다. 단계 ST706에서 기동 조건을 지정하고, 단계 ST707에서 생성한 잡 정보를 잡 테이블(161)에 등록한다.
다음에, 트리거 생성부(121)의 동작에 대하여 설명한다. 트리거 생성부(121)는 트리거 정보를 생성하여, 트리거 테이블(162)에 저장한다. 트리거 테이블(162)에는 트리거 정보를 복수 저장할 수 있다.
도 9는 트리거 정보의 예를 나타내는 도면이다. 트리거 정보도 XML을 이용하여 기술한다.
여기서는, 트리거 정보의 데이터 구조명을 「Triggers」라고 한다. 트리거 정보는 데이터를 식별하는 속성 데이터 ID 「data_id」와, data_id로 표시되는 데이터를 조건식으로서 사용하는 잡을 기술한 「Targets」를 갖는다. Targets은 잡 테이블에 등록된 잡의 식별자 job_id를 가진다. 도 9의 예에서는, job_id001, 002가, AI001.PV를 기동 조건식으로서 사용하고 있다.
도 10은 트리거 생성부(121)의 동작의 흐름도이다.
우선, 단계 ST1001에서 잡 테이블(161)로부터 모든 잡 정보를 판독한다. 다음에, 단계 ST1002에서, 단계 ST1001에서 판독한 잡 정보중의 하나에 기술된 기동 조건을 추출한다. 계속되는 단계 ST1003에서는, 추출한 기동 조건에 포함되는 data_id를 추출한다.
단계 ST1004에서는, 추출한 data_id를 속성으로서 갖는 트리거 정보가 트리거 테이블(162) 내에 등록되어 있는지 여부를 판정한다. 동일한 data_id를 가지는 트리거 정보가 존재하지 않으면, 단계 ST1005에서 신규로 트리거 정보를 생성한다. 단계 ST1006에서는, 단계 ST1004에서 검색하여 취득한 트리거 정보, 또는 단계 ST1005에서 생성한 트리거 정보에, 단계 ST1002에서 기동 조건을 추출한 잡의 식별 자 job_id를 추기한다.
단계 ST1007에서는, 단계 ST1006에서 갱신한 트리거 정보를 트리거 테이블(162)에 등록한다. 단계 ST1002∼단계 ST1007은, 단계 ST1008에서, 판독한 모든 잡에 대한 처리가 종료한 것으로 판단될 때까지 반복된다.
다음에, 잡 실행부(122)의 동작에 대하여 설명한다.
도 11은 잡 실행부(122)의 동작의 흐름도이다. 우선, 단계 ST1101에서, 트리거 테이블(162) 내의 트리거 정보를 판독한다. 다음에, 단계 ST1102에서, 판독한 트리거 정보 중 하나의 트리거 정보로부터 data_id를 추출하고, 추출한 data_id에 해당하는 데이터의 최신값을 취득한다.
단계 ST1103에서는, 단계 ST1102에서 data_id를 추출한 트리거 정보로 지정되어 있는 job_id에 대응하는 잡 정보를 전부 판독한다. 다음에, 단계 ST1104에서, 판독한 잡 정보중의 하나에 대하여, 단계 ST1102에서 취득한 데이터의 최신값을 이용하여 조건식을 평가한다.
조건식의 평가의 결과, 단계 ST1105에서 조건이 성립하고 있다고 판단된 경우에는, 단계 ST1106으로 진행하여, 액션을 실행한다. 단계 ST1107에서, 단계 ST1103에서 판독한 잡 정보 중에서 미처리인 것이 남아 있는지 여부를 판정하고, 남아 있는 경우에는 단계 ST1104∼단계 ST1106을 반복한다.
또한, 단계 ST1107에서, 단계 ST1103에서 판독한 모든 잡 정보에 대하여 처리가 종료했다고 판정되면, 단계 ST1108로 진행하여, 단계 ST1101에서 판독한 모든 트리거 정보에 대하여 처리가 종료할 때까지, 단계 ST1102∼단계 ST1107을 반복한 다.
단계 ST1106의 액션 실행에 대하여 상세히 설명한다.
단계 ST1201에서, 잡 정보 내에 있는 pattern_id에 대응하는 기동 패턴 정보를 취득한다. 단계 ST1202에서, 취득한 기동 패턴 정보에 기술된 하나의 이벤트 정보에 대응하는 이벤트 ID를 취득한다. 단계 ST1203에서, 취득한 이벤트 ID를 참조하고 있는 액션 ID를 취득한다. 단계 ST1204에서, 취득한 액션 ID에 대응하는 액션 정보를 액션 테이블(152)로부터 판독하고, 단계 ST1205에서, 판독한 액션을 실행한다. 구체적으로는, 통신부(14)를 거쳐서 외부 시스템(20)과의 데이터 교환을 하거나, PLC 데이터 액세스부(13)를 거쳐서 PLC의 데이터에 액세스한다. 단계 ST1206에 있어서, 단계 ST1201에서 판독한 기동 패턴 정보 중에 처리해야 할 이벤트가 없어질 때까지 단계 ST1202∼단계 ST1205를 반복한다.
이상과 같이, 실시예 1에 의하면, 잡 정보에, 기동 조건, 그 기동 조건에 의해 실행되는 모든 액션, 및 그들의 액션의 기동 패턴을 정의하고, 잡 실행부(122)는, 임의의 기동 조건이 성립하면, 그 기동 조건에 대응하는 잡 정보에 정의된 기동 패턴에 따라, 그들의 액션을 실행하도록 했기 때문에, 동일한 기동 조건을 가지는 복수의 액션의 관리가 간소화, 효율화되어, 복잡한 처리의 프로그램도 간단히 기술하는 것이 가능해지고, 프로그램의 품질을 향상시킬 수 있다.
(실시예 2)
실시예 2에서는, 기동 패턴 정보에, 실행하는 액션의 기동 방법이나 기동 시 각에 대한 정보를 기술한다.
도 12 및 도 15는 액션의 기동 방법을 지정한 기동 패턴 정보의 예이다. 여기서 이벤트의 속성 sync은 액션의 기동 방법을 나타내고 있고, true의 경우는 동기 기동, false의 경우는 비동기 기동인 것을 나타낸다.
도 12는 3개의 이벤트를 비동기로 기동하는 기동 패턴 정보의 예를 나타내는 도면이며, 기동 패턴명은 BroadCast이다. 또한, 도 13은 기동 패턴 정보로서 BroadCast를 지정한 잡 정보의 예를 나타내는 도면이다.
도 14는 도 12에 나타내는 기동 패턴 정보를 이용한 경우의 액션의 실행 타이밍을 나타내는 예이다. action_01로부터 action_03은 기동되는 액션을 나타내고 있고, action_01은 id=1의 이벤트에, action02는 id=2의 이벤트에, action_03은 id=3의 이벤트에 대응하고 있다. 또한 AI001.PV>10은 기동 조건을 나타내고 있고, 데이터 AI001.PV가 10보다 큰 경우 액션을 실행하는 것을 나타내고 있다.
이와 같이, 비동기 기동 지정의 기동 패턴을 사용하는 것에 의해 동일한 기동 조건으로 복수의 액션을 동시에 기동하는 것이 가능해져, 병렬 처리의 프로그램을 용이하게 기술할 수 있다.
도 15는 이벤트를 동기 방식으로 기동하는 기동 패턴 정보의 예이다. 여기서는 기동 패턴 정보명을 Sequence로 하고, 3개의 이벤트가 정의되어 있다. 또한, 도 16은 기동 패턴 정보로서 Sequence를 지정한 잡 정보의 예를 나타내는 도면이다.
도 17은 도 15에 나타내는 기동 패턴 정보를 이용한 경우의 액션의 실행 타 이밍을 나타낸 것으로, 도면에 도시하는 바와 같이, 도 14에 나타낸 비동기의 경우와 달리, 최초에 실행한 액션의 종료를 기다려, 다음 액션이 기동된다.
이와 같이, 동기 기동 지정의 기동 패턴 정보를 사용하는 것에 의해, 순서 처리의 프로그램을 용이하게 기술할 수 있다.
다음에, 도 18은 액션의 기동 시각을 지정한 기동 패턴 정보의 예를 나타내는 도면이다. 여기서는 기동 패턴 정보명을 SequenceWithTimeout로 하여, 3개의 이벤트를 연속하여 발생시키는 이벤트가 정의되어 있다. 속성 「elapsedTime」에 의해, 1번째의 이벤트는 조건이 참으로 되고 나서 100msec후, 2번째의 이벤트는 200msec후, 3번째의 이벤트는 300msec 후에 실행하는 것이 표시되고 있다. 도 19는 기동 패턴 정보로서 SequenceWithTimeout를 지정한 잡 정보의 예를 나타낸 도면이다.
도 20은 도 18에 나타내는 기동 패턴 정보를 이용한 경우의 액션의 실행 타이밍을 나타낸 것으로, 도면에 도시하는 바와 같이, 기동 조건 성립 후 100밀리초 후에 actinon01이, 200밀리초 후에 action_02가, 300밀리초 후에 action03이 기동된다.
이와 같이, 기동 시각 지정의 기동 패턴 정보를 이용하는 것에 의해, 각 이벤트의 기동 시각을 지정하는 프로그램을 용이하게 기술할 수 있다.
이상과 같이, 실시예 2에 의하면, 기동 패턴 정보에 각 이벤트의 기동 타이밍을 지정하도록 했기 때문에, 순서 처리나 병렬 처리의 프로그램도 용이하게 기술할 수 있다.
(실시예 3)
실시예 3에서는, 기동 패턴 정보에, 액션 실행의 제한 시각(타임아웃) 정보를 기술한다.
도 21은 타임아웃을 지정한 기동 패턴의 예를 나타내는 도면이다. 여기서는 기동 패턴 정보명을 SequenceWithTimeout로 하고, 3개의 이벤트가 정의되어 있다. 타임아웃의 지정은 Events의 속성 「timeout」에 의해 지정한다. 단 타임아웃의 지정을 할 수 있는 이벤트는 속성 sync이 true인 이벤트, 즉 기동 방법이 동기 방식인 것에 한정된다. 도면에 도시하는 바와 같이, id=1의 이벤트에 150msec의 타임아웃을 설정하고 있다.
도 22는 도 21에 나타내는 기동 패턴 정보를 지정한 잡 정보의 예를 나타내는 도면이다. action_01에 타임아웃 첨부의 이벤트 id=1이 대응하고, action_02, action_03에는 비동기의 이벤트 id=2, 3이 각각 대응하고 있다.
도 23은 도 21에 나타내는 기동 패턴 정보를 이용한 경우의 액션의 실행 타이밍을 나타낸 것으로, 도면에 도시하는 바와 같이, action_01은 실제의 실행 시간이 300msec이지만, 타임아웃 시간으로 지정된 150msec에서 동기 기동이 타임아웃하고, 이것과 동시에 action_02, action_03이 기동되어 있다.
이상과 같이, 실시예 3에 의하면, 기동 패턴 정보에 타임아웃을 지정하도록 했기 때문에, 프로그램의 실행 시간을 정량적으로 어림하는 것이 가능해져, 실시간 처리가 필요한 시스템에의 적용이 가능하게 된다. 또한, 실행 시간을 정량적으로 어림할 수 있기 때문에 시스템의 이상 검출을 용이하게 실행하는 것이 가능해져, 시스템의 품질을 향상시킬 수 있다.
본 발명에 의하면, 잡 정보에, 기동 조건, 그 기동 조건이 성립하면 기동하는 모든 액션, 및 그들의 액션의 기동 패턴을 정의하고, 잡 실행부는, 잡 정보에 정의된 기동 패턴에 따라 그들의 액션을 실행하도록 했기 때문에, 동일한 기동 조건을 가지는 복수의 액션의 관리가 간소화, 효율화되어, 복잡한 처리의 프로그램도 간단히 기술하는 것이 가능해지고, 프로그램의 품질을 향상시킬 수 있다.

Claims (3)

  1. PLC와 외부 시스템간의 데이터 연계를 행하는 프로그램 작성 장치에 있어서,
    하나 이상의 이벤트의 기동 패턴을 생성하여, 기동 패턴 테이블에 저장하는 기동 패턴 정의부와,
    액션의 내용과 그 액션의 실행에 이용하는 인수를 포함하는 액션 정보를 생성하여, 액션 테이블에 저장하는 액션 정의부와,
    기동 조건과, 그 기동 조건이 성립하면 실행하는 하나 이상의 액션에 관한 상기 액션 정보와, 이용하는 상기 기동 패턴과, 이용하는 상기 기동 패턴 내의 이벤트와 실행하는 액션의 대응을 포함하는 잡(job) 정보를 생성하여, 잡 테이블에 저장하는 잡 등록부와,
    기동 조건에 이용되는 데이터와, 그 데이터를 기동 조건으로서 포함하는 상기 잡 정보를 포함하는 트리거 정보를 생성하여, 트리거 테이블에 저장하는 트리거 생성부와,
    상기 트리거 정보에 근거하여, 임의의 기동 조건을 포함하는 상기 잡 정보를 취득하고, 당해 기동 조건이 성립한 경우에는, 각각의 잡 정보에 포함되는 상기 기동 패턴에 따라, 액션을 실행하는 잡 실행부
    를 구비한 것을 특징으로 하는 프로그램 작성 장치.
  2. 제 1 항에 있어서,
    기동 패턴 정의부는 각각의 이벤트의 실행 타이밍을 정의하는 것을 특징으로 하는 프로그램 작성 장치.
  3. 제 1 항에 있어서,
    기동 패턴 정의부는 각각의 이벤트의 실행 제한 시간을 정의하는 것을 특징으로 하는 프로그램 작성 장치.
KR1020050081610A 2005-03-01 2005-09-02 프로그램 작성 장치 KR100654514B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005056117A JP4472557B2 (ja) 2005-03-01 2005-03-01 プログラム作成装置
JPJP-P-2005-00056117 2005-03-01

Publications (2)

Publication Number Publication Date
KR20060096173A KR20060096173A (ko) 2006-09-08
KR100654514B1 true KR100654514B1 (ko) 2006-12-06

Family

ID=37050314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050081610A KR100654514B1 (ko) 2005-03-01 2005-09-02 프로그램 작성 장치

Country Status (3)

Country Link
JP (1) JP4472557B2 (ko)
KR (1) KR100654514B1 (ko)
TW (1) TWI273363B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103067B (zh) * 2013-04-10 2017-04-05 三菱电机株式会社 数控装置、信息协同系统以及信息协同方法
CN105393181B (zh) 2014-04-25 2017-06-09 三菱电机株式会社 信息协同辅助装置、信息协同辅助程序
KR101840990B1 (ko) 2014-11-19 2018-03-21 미쓰비시덴키 가부시키가이샤 제어 장치, 제어 방법 및 프로그램

Also Published As

Publication number Publication date
TWI273363B (en) 2007-02-11
JP2006243936A (ja) 2006-09-14
JP4472557B2 (ja) 2010-06-02
TW200632606A (en) 2006-09-16
KR20060096173A (ko) 2006-09-08

Similar Documents

Publication Publication Date Title
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
US10915422B2 (en) Automatic setting of multitasking configurations for a code-checking system
CN103064403A (zh) 一种ecu硬件在环仿真自动化测试方法和系统
Liu Some complexity results for the soundness problem of workflow nets
da Silva et al. XIS-UML profile for extreme modeling interactive systems
Aichernig et al. Integration of requirements engineering and test-case generation via OSLC
KR100654514B1 (ko) 프로그램 작성 장치
Kim et al. Design pattern-based model transformation supported by QVT
KR101689984B1 (ko) 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템 및 실행 에러 정보 작성 방법
JP2010015240A (ja) 検証システム及び検証装置
Kaiser et al. Configurable solutions for low-cost digital manufacturing: a building block approach
Lehner et al. A pattern catalog for augmenting Digital Twin models with behavior
CN116974537A (zh) 基于组件的产品开发方法、装置、计算机设备及存储介质
CN116048481A (zh) 业务信息处理系统及方法
Taylor Software architecture and design
WO2021024520A1 (ja) 情報処理装置、サポートプログラムおよびサポートシステム
CN114968751A (zh) 一种无代码开发平台的程序调试方法和程序调试装置
Nastov et al. Towards semantical DSMLs for complex or cyber-physical systems
Iber et al. Ubtl UML testing profile based testing language
Iber et al. A textual domain-specific language based on the UML Testing Profile
WO2019240743A1 (en) A method and system for semantic integration approach for field device life cycle management
CN111966355B (zh) 项目运行方法、装置、设备及计算机存储介质
Johansson et al. A UML based modeling approach for multi domain system products
Hölzl et al. Implementing a Model-based Engineering Tool as Web Application
Didier et al. The MIRELA framework: modeling and analyzing mixed reality applications using timed automata

Legal Events

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

Payment date: 20121114

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141103

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171107

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181121

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191120

Year of fee payment: 14