KR101981421B1 - 프로그램 생성 장치 및 그 방법 - Google Patents

프로그램 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR101981421B1
KR101981421B1 KR1020177036317A KR20177036317A KR101981421B1 KR 101981421 B1 KR101981421 B1 KR 101981421B1 KR 1020177036317 A KR1020177036317 A KR 1020177036317A KR 20177036317 A KR20177036317 A KR 20177036317A KR 101981421 B1 KR101981421 B1 KR 101981421B1
Authority
KR
South Korea
Prior art keywords
control
controller
block
input
model
Prior art date
Application number
KR1020177036317A
Other languages
English (en)
Other versions
KR20180009344A (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 KR20180009344A publication Critical patent/KR20180009344A/ko
Application granted granted Critical
Publication of KR101981421B1 publication Critical patent/KR101981421B1/ko

Links

Images

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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21063Bus, I-O connected to a bus
    • 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/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21079Allocate at start up also to each controlled device a code for the master

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

유저의 작업을 경감 가능한 기술을 제공하는 것을 목적으로 한다. 프로그램 생성 장치는 제어 분배부(3)와 통신 기능 추가부(4)를 구비한다. 제어 분배부(3)는 제어 모델 입력부(1)에서 접수한 제어 모델과, 설정 정보 입력부(2)에서 접수한 설정 정보 및 접속 정보에 근거해서, 제어 모델의 각 제어 블록을 콘트롤러에 할당한다. 통신 기능 추가부(4)는 할당된 상기 제어 모델에 있어서, 상이한 상기 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에 통신용 제어 블록을 추가한다.

Description

프로그램 생성 장치 및 그 방법
본 발명은 복수의 콘트롤러와 그들과 접속된 입출력 기기로 이루어지는 제어 대상 장치를 제어하기 위한 프로그램을 생성하는 프로그램 생성 장치 및 프로그램 생성 방법에 관한 것이다.
생산 설비를 복수의 콘트롤러로 제어하기 위한 프로그램을 작성하는 프로그램 생성 장치로서, 콘트롤러 간의 통신 기능을 시뮬레이션함으로써, 통신의 설정을 포함하는 각 콘트롤러의 프로그램을 시뮬레이션하는 기능을 갖는 기술이 제안되고 있다(예를 들면 특허문헌 1).
또, 제어 블록을 조합해서, 콘트롤러의 제어 모델이나 제어 대상의 모델을 설계하고, 제어 대상의 모델을 포함하는 콘트롤러의 시뮬레이션을 실행 가능한 모델 베이스 개발의 프로그래밍 소프트웨어가 알려져 있다(예를 들면 비특허문헌 1).
일본 공개 특허 공보 제2001-209407호
키도코로 히토시, 「Why Model-Based Development is Focused On Now", NIKKEI ELECTRONICS, 2012년 7월 23일, 96-102쪽
특허문헌 1의 기술에서는, 시뮬레이션을 실행하기 위해서, 시스템의 상세한 설정을 포함하고, 콘트롤러를 실제로 동작시키는 프로그램이 필요하다. 그 때문에, 생산 설비의 설계의 초기 단계에서, 생산 설비의 생산 능력을 산출하기 위해서 기계의 동작만을 간단하게 검증하고 싶은 경우에도, 기계를 동작시키기 위해서, 콘트롤러의 상세한 설정이 필요하게 된다. 즉, 작업자가 콘트롤러 간의 통신용의 파라미터 설정이나 프로그램을 기술할 필요가 있다. 그렇지만, 이 작업은, 독립해서 동작하는 복수의 콘트롤러 간에 데이터 동기를 취하도록 프로그램을 작성하는 작업을 수반하므로, 각 콘트롤러의 제어 타이밍과 콘트롤러 간의 통신 사양의 이해가 요구된다. 이 때문에, 작업자의 숙련이 필요하다고 하는 문제가 있었다. 또, 통신 프로그램을 실행하는 타이밍은 콘트롤러내 및 콘트롤러 간의 다른 처리의 실행 타이밍과도 밀접한 관계가 있기 때문에, 프로그램의 설계가 복잡하고, 반나절 정도의 작업 시간이 걸리는 경우도 있다. 그리고, 콘트롤러 간에 통신하는 데이터가 변경되는 등의 사양 변경이 발생한 경우에는 프로그램의 재설계로 되어, 동등 정도의 작업 시간을 필요로 하는 경우도 있다.
또, 비특허문헌 1의 기술에 있어서, 각 콘트롤러의 프로그램을 설계하기 위해서는, 그 사전 단계로서, 작업자가 시뮬레이션용의 콘트롤러 모델에 포함되는 복수의 제어 블록을 실제의 각 콘트롤러의 제어로 수작업으로 분해해야 한다고 하는 문제점이 있다. 이 작업에서는, 각 콘트롤러의 사양 이해를 작업자에게 요구될 뿐만 아니라, 실제의 생산 설비의 구성과 대조하면서, 콘트롤러 모델을 콘트롤러의 제어에 최적으로 분해하는 능력을 작업자에게 요구한다. 따라서, 작업자의 숙련이 필요하다고 하는 문제가 있었다.
그래서, 본 발명은 상기와 같은 문제점을 감안하여 이루어진 것으로, 유저의 작업을 경감 가능한 기술을 제공하는 것을 목적으로 한다.
본 발명에 따른 프로그램 생성 장치는, 복수의 콘트롤러와 그들과 접속된 입출력 기기로 이루어지는 제어 대상 장치를 제어하기 위한 프로그램을 생성하는 프로그램 생성 장치로서, 상기 제어 대상 장치에 관한 복수의 제어 블록을 접속해서 표현되는, 상기 프로그램으로 변환 가능한 제어 모델을 접수하는 제어 모델 입력부와, 상기 복수의 콘트롤러의 설정 정보와, 상기 콘트롤러 간 및 상기 콘트롤러와 상기 입출력 기기의 사이의 접속 정보를 접수하는 설정 정보 입력부와, 상기 제어 모델 입력부에서 접수한 상기 제어 모델과, 상기 설정 정보 입력부에서 접수한 상기 설정 정보 및 상기 접속 정보에 근거해서, 상기 제어 모델의 각 상기 제어 블록을 상기 콘트롤러에 할당하는 제어 분배부와, 할당된 상기 제어 모델에 있어서, 상이한 상기 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에 통신용 제어 블록을 추가하는 통신 기능 추가부를 구비한다.
본 발명에 따르면, 제어 모델 입력부에서 접수한 제어 모델과, 설정 정보 입력부에서 접수한 설정 정보 및 접속 정보에 근거해서, 제어 모델의 각 제어 블록을 콘트롤러에 할당하고, 할당된 제어 모델에 있어서, 상이한 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에 통신용 제어 블록을 추가한다. 이것에 의해, 콘트롤러의 사양을 이해해서 프로그램을 생성한다고 하는 유저의 작업을 경감할 수 있다.
본 발명의 목적, 특징, 형태 및 이점은 이하의 상세한 설명과 첨부 도면에 의해 보다 명백해진다.
도 1은 제어 모델의 일례를 나타내는 도면이다.
도 2는 실시 형태 1에 따른 프로그램 생성 장치의 구성을 나타내는 블럭도이다.
도 3은 제어 모델의 일례를 나타내는 도면이다.
도 4는 제어 모델의 일례를 나타내는 도면이다.
도 5는 실시 형태 1에 따른 제어 분배부의 처리 결과의 일례를 나타내는 도면이다.
도 6은 실시 형태 1에 따른 제어 분배부의 할당 처리를 나타내는 흐름도이다.
도 7은 실시 형태 1에 따른 제어 분배부의 처리의 일례를 나타내는 도면이다.
도 8은 실시 형태 1에 따른 제어 분배부의 처리의 일례를 나타내는 도면이다.
도 9는 실시 형태 1에 따른 통신 기능 추가부의 처리 결과의 일례를 나타내는 도면이다.
도 10은 실시 형태 2에 따른 제어 분배부의 할당 처리를 나타내는 흐름도이다.
도 11은 실시 형태 5에 따른 프로그램 생성 장치의 구성을 나타내는 블럭도이다.
도 12는 프로그램 생성 장치의 하드웨어 구성을 나타내는 블럭도이다.
<실시 형태 1>
본 발명의 실시 형태 1에 따른 프로그램 생성 장치는 복수의 콘트롤러와, 그들과 접속된 입출력 기기로 이루어지는 제어 대상 장치를 제어하기 위한 프로그램을 생성한다. 제어 대상 장치에는, 예를 들면, 공장용의 생산 장치(예를 들면 반도체 제조 장치나 자동 기기 등)가 적용된다.
본 실시 형태 1에 따른 프로그램 생성 장치의 상세한 설명에 앞서, 콘트롤러의 일종인 FA용 콘트롤러에 대해 간단하게 설명한다. 주로 공장용의 생산 장치의 제어에 이용되는 FA용 콘트롤러는 복수의 입출력 기기와 접속되어, 그들 기기를 제어한다. 또한, 입출력 기기는 예를 들면 센서나 스위치 등의 콘트롤러에의 입력 기기나, 표시등이나 모터 등의 콘트롤러로부터의 출력 신호에 따라서 어떠한 동작을 하는 출력 기기 등이다.
입출력 기기끼리의 접속(접속 부분), 및 콘트롤러와 입출력 기기의 접속(접속 부분)은 총칭해서 I/O(Input/Output)로 불린다. 생산 장치에서는, 제어 방법이 상이한 여러 I/O를 구비하기 때문에, I/O의 각각을 적절히 제어 가능하게 하려고, 복수의 콘트롤러를 조합하는 경우가 많다. 또, 다른 장치의 콘트롤러와의 통신은, 각 콘트롤러에 접속된 입출력 기기를 이용해서 실현되는 경우가 많다.
장치의 기동 스위치나 표시등 등의 이산적인 이벤트에 관한 I/O는, 다수의 기기가 접속되지만, 즉시의 제어는 강하게 요구되지 않기 때문에, I/O의 제어에서는, 수 msec 정도의 제어 주기라도 문제 없고, 그 제어 주기도 일정성이 강하게 요구되지 않는다. 한편, 서보 모터의 제어에서는, 100μsec 정도의 일정하고, 또한 즉시의 제어가 가능한 제어 주기로, 서보 앰프에 지령치를 송신할 필요가 있다.
전자의 다수의 이산적인 이벤트에 관한 I/O의 제어에서는, PLC(Programmable Logic Controller)로 불리는 FA용 콘트롤러가 이용되는 경우가 많다. PLC는 많은 기기를 접속 가능하도록 접속 단자의 확장성이 뛰어나다. 또, PLC는 다수의 잡다한 기기가 접속 가능하도록, 베스트 에포트(best effort)형이고 제어 주기가 일정하지 않은 처리 방식과, 복수의 정주기(定周期)에서의 처리를 병렬적으로 실행 가능한 처리 방식을 실행 가능하게 구성되어 있는 경우가 많다.
후자의 서보 모터의 제어에서는, 서보 앰프에 대해서 정주기로 지령치를 송신할 필요가 있고, 모터의 지령치 생성에는 복잡한 연산이 필요하기 때문에, 서보 시스템 콘트롤러로 불리는 서보 모터의 제어 전용의 FA용 콘트롤러가 이용되는 경우가 많다. 다만, PLC의 기능과 서보 시스템 콘트롤러의 기능의 양쪽 모두를 구비한 FA용 콘트롤러가 서보 모터의 제어에 이용되는 경우도 있다.
또, 처리 부하나 배선의 관점에서 복수의 콘트롤러를 사용하는 경우도 있다. 생산 장치의 목표 성능에 대해서, 충분한 처리 성능을 발휘할 수 없는 경우에는, 복수의 콘트롤러로 처리를 분산함으로써 목표 성능을 확보하는 경우가 있다. 또, 콘트롤러와 기기 간의 배선의 길이를 짧게 하기 위해서, 콘트롤러를 장치 내에 분산시켜 배치하는 경우도 있다. 이 경우에는, 콘트롤러 간은 예를 들면, Ethernet(등록상표) 베이스의 네트워크로 접속함으로써, 데이터 통신용의 배선을 줄일 수 있다.
그런데, 종래의 일반적인 생산 장치에 관한 프로그램의 설계 및 제작에서는, 먼저, 타이밍 차트에 근거해서, 택트 타임의 검토와 기계 설계를 행한다. 이어서, 타이밍 차트와, 완성한 기계 설계로부터 정해지는 기계의 동작 설계를 토대로, 콘트롤러와 입출력 기기의 배선을 포함하는 전기 설계를 행한다. 마지막으로, 각 콘트롤러의 제어 설계를 행한다.
타이밍 차트에 근거하는 상기와 같은 설계는 경험이나 설계 자산에 근거하는 것이고, 이러한 설계로는 기구와 동작으로부터 택트 타임을 개략 산출하는 것에 머물고 있다. 이 때문에, 택트 타임의 산출 정밀도는 높지 않다. 또, 기계의 간섭 등의 검증도 곤란해진다. 정밀도가 높은 택트 타임의 산출은, 제어 설계가 완료되는 종반 단계에서 가능해지고, 목표 성능을 달성하지 않는 경우에는, 디버깅(debugging)의 공정수가 많아진다.
한편, 최근 제안되고 있는 모델 베이스 개발 환경에서는, 설계의 초기 단계에서, 기계 모델과 제어 모델의 양쪽 모두를 작성하고, 목표 성능을 만족하도록 기계 모델을 제어할 수 있는지 여부를 검증한다. 이것에 의해, 비교적 빠른 단계에서, 목표 성능을 달성하지 않는 경우의 디버깅의 공정수를 줄일 수 있다. 또한, 생산 장치의 택트 타임을 결정하는 주 요인은 기계의 동작 시간이기 때문에, 설계의 초기 단계에서는, 기계를 동작시킬 만큼의 단순한 제어 모델을 작성하는 경우가 많다.
여기서, 제어 모델로부터, FA용 콘트롤러로도 처리할 수 있는 프로그램으로 변환하는 기술은 알려져 있다. 그렇지만, 이것은 제어 모델과 동일한 동작을 하는 프로그램을 생성하는 것에 머물고 있다. 즉, 기계를 동작시킬 만큼의 단순한 제어 모델, 구체적으로는, 각 콘트롤러의 설정 정보 및 콘트롤러 및 I/O의 접속 정보라고 하는 제약 조건을 포함하지 않는 제어 모델로부터, FA용의 콘트롤러로도 처리할 수 있는 제어 프로그램을 생성했다고 해도, 제약 조건 등이 고려되어 있지 않은 제어 프로그램이므로, 실제의 콘트롤러로 거의 사용할 수 없다.
따라서, 실제의 콘트롤러로 사용 가능한 제어 프로그램으로 하기 위해서는, 각 콘트롤러의 제약 조건을 만족하도록 제어 모델을, 각 콘트롤러의 제어에 분해할 필요가 있다. 또한, 다른 콘트롤러 간에 데이터의 교환을 하는 경우에는, 그 사이에 통신용의 프로그램을 추가할 필요가 있다. 그러나, 종래 기술에서는, 제어 모델의 분해나 통신 프로그램의 추가는, 각 콘트롤러의 사양을 이해한 작업자가 생산 장치의 설계 정보를 토대로 수작업으로 행하고 있어, 그 작업은 곤란했다.
이것에 대해서, 후술하는 바와 같이, 본 실시 형태 1에 따른 프로그램 생성 장치는, 각종의 제약 조건이나 설정 조건을 토대로, 실제의 콘트롤러 구성이나 I/O의 접속 정보 등을 무시해서 작성된 제어 모델(콘트롤러 모델)을, 실제의 콘트롤러의 구성에 맞춰서 분할하는 기능과, 통신용의 프로그램을 추가하는 기능을 갖는다. 이 때문에, 본 실시 형태 1에 따른 프로그램 생성 장치에 의해, 상술의 실제의 콘트롤러의 구성에 맞춰서 분해하고, 또한 통신용의 프로그램의 추가를 행할 수 있으므로, 콘트롤러의 사양을 이해해서 프로그램을 생성하는 유저의 작업을 경감하는 것이 가능해진다.
도 1은 생산 장치를 제어하기 위한 프로그램으로 변환 가능한 제어 모델의 일례를 나타내는 도면이다. 모델 베이스 개발의 프로그래밍에서는, 도 1과 같은 그래픽 언어로 모델을 기술하는 것이 일반적이다.
도 1에 나타내는 바와 같이, 제어 모델은 생산 장치에 관한 복수의 제어 블록을 접속해서 표현된다. 여기서, 도 1의 Fun 1~5 등의 제어 처리 블록, 도 1의 input 1~5 등의 input 처리, 및 도 1의 output 1~3 등의 output 처리 등이 제어 블록에 포함된다.
이하의 설명에서는, Fun 1의 제어 처리 블록을 다른 제어 처리 블록과 구별하는 경우에는 「제어 처리 블록 Fun 1」로 기재하고, Fun 2~5의 각각에 대해서도 마찬가지로 기재한다.
마찬가지로 이하의 설명에서는, input 1의 input 처리를 다른 input 처리와 구별하는 경우에는 「input 1 처리」로 기재하고, input 2~5의 각각에 대해서도 마찬가지로 기재한다. 또한, 마찬가지로 이하의 설명에서는, output 1의 output 처리를 다른 output 처리와 구별하는 경우에는 「output 1 처리」로 기재하거나 output 2, 3의 각각에 대해서도 마찬가지로 기재한다.
그런데, 각 제어 처리 블록에는, 복수의 입력 및 복수의 출력이 접속되는 경우가 있다. 입력 및 출력이 접속된 제어 처리 블록은, 입력과 해당 제어 처리 블록이 보유하는 내부 변수에 근거해서 각종 처리가 행해지고, 그 처리 결과에 근거해서 출력 및 내부 변수의 갱신이 행해진다.
각 제어 처리 블록 간의 화살표로 표현된 결선(結線)(접속선)은 각 제어 처리 블록 간의 데이터의 입출력을 표현한다. 제어 처리 블록으로의 입력은, 제어 처리 블록의 처리의 개시, 선택 및 정지 중 적어도 하나를 제어하는 트리거 입력과, 제어 처리 블록의 처리로 연속적으로 처리되는 데이터 입력의 2개가 존재한다. 전자의 트리거 입력은 주로 0/1의 비트 입력으로 표현되고, 후자의 데이터 입력은 2진값보다 큰 경우가 많다. 다만, 트리거 입력에서도, 처리의 개시, 선택 및 정지를 표현하는 경우 등에는, 2진값보다 커진다. 정의에 따라서, 트리거 입력과 데이터 입력 중 한쪽만을 제어 처리 블록의 입력에 이용하는 경우도 있고, 양쪽 모두를 제어 처리 블록의 입력에 이용하는 경우도 있다. 예를 들면, 양쪽 모두를 이용하는 경우로서는, 프로그램 생성 장치에서 미리 파라미터 설정된 수 이하의 이산값을 획득한 경우에는 트리거 입력을 이용하고, 그 이외의 경우에는 데이터 입력을 이용하는 경우 등을 들 수 있다.
제어 처리 블록은 계층화가 가능하고, 복수의 블록으로 기술된 모델에 의해 각 블록의 내용을 기술하는 것도 가능하다. 블록 내의 처리는, 그래픽 언어가 아니라 C 언어와 같은 텍스트 베이스의 프로시져형 언어로 기술하는 것도 가능하다. 마찬가지로, 제어 모델도 그래픽 언어 이외로 기술하는 것이 가능하고, 상이한 언어로 기술된 제어 모델을 동시에 실행하는 것으로 해서, 전체의 제어 모델을 정의하는 것도 일단은 가능하다.
제어 모델 내의 input 처리(예를 들면 도 1의 input 1~5) 및 output 처리(예를 들면 도 1의 output 1~3)는, 설정에 의해, 콘트롤러에 접속된 입출력 기기의 신호나 다른 장치의 콘트롤러와의 통신 신호에 관련짓는 것이 가능해진다.
도 2는 본 실시 형태 1에 따른 프로그램 생성 장치의 구성을 나타내는 블럭도이다. 도 2의 프로그램 생성 장치는 제어 모델 입력부(1)와, 설정 정보 입력부(2)와, 제어 분배부(3)와, 통신 기능 추가부(4)를 구비하고 있다. 제어 모델 입력부(1) 및 설정 정보 입력부(2)는 예를 들면 키보드, 터치 패널 등의 각종 입력 장치 또는 후술하는 소프트웨어 등이 적용된다. 제어 분배부(3) 및 통신 기능 추가부(4)는 예를 들면 후술하는 바와 같이 프로세서가 메모리에 기억된 프로그램 등을 실행하는 것에 의해 실현된다.
제어 모델 입력부(1)는 제어 모델(여기에서는 유저가 설계한 제어 모델)을 접수한다. 즉, 제어 모델 입력부(1)에는 제어 모델(여기에서는 유저가 설계한 제어 모델)이 입력된다.
먼저, 제어 모델의 설계의 초기 단계에서는, 종래의 모델 베이스 개발과 마찬가지로, 도 1과 같은 그래픽 언어로, 기계를 동작시킬 정도의 단순한 제어 모델을 작성하고, 기계 모델을 제어해서 택트 타임 등의 검토를 행한다. 이 시점에서는, 택트 타임의 검증이 주 목적이므로, 도 3과 같이, 정상계(正常系)의 기계 동작만을 포함하는 단순한 제어 모델로 된다.
목표 성능을 만족하는 것이 기대되는 제어 모델이 작성된 후는, 도 4와 같이, 정상계의 기계 동작 이외의 제어도 포함하는 제어 모델을 작성한다. 정상계의 기계 동작 이외의 제어는 예를 들면, 기계의 원점 복귀나 정지 동작 등의 에러계의 동작에 관한 제어나, 기계의 기동 및 정지 처리, 각종 스위치나 표시의 입출력 등의, 생산 장치에 부가해야 할 각종 제어이다. 다만, 제어 모델 입력부(1)에 입력되는 제어 모델은, 생산 장치에 부가해야 할 각종 제어의 일부 또는 모두를 포함하지 않아도 좋다. 또, 제어 모델(복수의 제어 블록)을 각 콘트롤러에 분해(분배)한 후에, 그들 제어를 각 콘트롤러에 개별적으로 추가해도 좋다. 이상을 환언하면, 제어 모델 입력부(1)에는, 도 3의 제어 모델이 입력되어도 좋고, 도 4의 제어 모델이 입력되어도 좋다.
또한, 제어 모델 입력부(1)에 입력된 제어 모델(복수의 제어 블록)은 후술하는 바와 같이 각 콘트롤러에 분해(분배)된다. 이 때문에, 복수의 콘트롤러의 처리에 관계되는 제어 처리에 대해서는, 제어 모델 입력부(1)에 입력되는 제어 모델에 포함해 두는 것이 바람직하다.
설정 정보 입력부(2)는 복수의 콘트롤러의 설정 정보와, 콘트롤러 간의 접속 정보, 및 콘트롤러와 입출력 기기의 사이의 접속 정보(I/O의 접속 정보)를 접수한다.
콘트롤러의 설정 정보는 예를 들면, 콘트롤러의 제어 주기를 포함한다. 설정 정보는 콘트롤러를 실제로 동작시킬 때의 설정 파라미터이어도 좋지만, 미확정인 경우에는 제약 조건을 설정해도 좋다. 예를 들면, 제어 주기이면, 설정 파라미터로서 실제로 동작시킬 때의 처리 주기(예를 들면 1 msec의 일정 주기)를 설정해도 좋고, 제약 조건으로서 1 msec 이내에는 처리가 완료하는 등으로 설정해도 좋고, 제약 조건은 없는 것으로 설정해도 좋다.
콘트롤러 간의 접속 정보는 예를 들면, 콘트롤러의 구성 정보와, 콘트롤러 사이가 어떠한 네트워크로 연결되어 있는지에 대한 정보와, 콘트롤러 간의 통신의 설정 정보를 포함한다.
I/O의 접속 정보는 예를 들면, 다른 장치의 콘트롤러와의 통신도 포함해서, 어떠한 기기가 어느 콘트롤러에 접속되어 있는지에 대한 정보와, 그 기기와 콘트롤러의 사이에 어떠한 데이터를 통신할지에 대한 정보와, 그 데이터가 콘트롤러 내에서 어떤 내부 변수로 처리되고 있는지의 정보를 포함한다.
제어 분배부(3)는 제어 모델 입력부(1)에서 접수한 제어 모델과, 설정 정보 입력부(2)에서 접수한 설정 정보 및 접속 정보에 근거해서, 제어 모델의 각 제어 블록을 콘트롤러에 할당한다. 도 5에, 도 4의 제어 모델을 제어 분배부(3)에 의해 각 콘트롤러에 할당한(분배한) 결과의 일례를 나타낸다.
도 5의 예에서는, 제어 처리 블록 Fun 1와, 그것에 접속된 정수와, input 1 처리와, output 1 처리와, input 4 처리가 PLC에 할당되고, 그 이외는 서보 시스템 콘트롤러에 할당되어 있다. 또한, 이하의 설명에서는, 제어 모델의 제어 블록은 PLC 및 서보 시스템 콘트롤러의 2 종류의 콘트롤러에 할당되는 것으로서 설명하지만, 콘트롤러의 종류는 이들에 한정되는 것은 아니다.
도 6은 본 실시 형태 1에 따른 제어 분배부(3)의 할당 처리를 나타내는 흐름도이다.
먼저 스텝 S1에서, 제어 분배부(3)는 I/O 접속 판정 처리를 행한다. 구체적으로는, 제어 분배부(3)는 설정 정보 입력부(2)에서 접수한 I/O의 접속 정보로부터, 제어 모델 입력부(1)에서 접수한 제어 모델의 input 처리 및 output 처리 중에서, 입출력 기기에 연결되어 있는 것을 추출한다. 그리고, 제어 분배부(3)는 추출된 input 처리와 output 처리를 I/O의 접속 정보가 나타내는 입출력 기기에 접속된 콘트롤러에 할당한다. 도 5의 예에서는, 이 스텝 S1에서 input 1 처리, input 4 처리, 및 output 1 처리가 PLC에 할당되고, 그 외의 input 처리 및 output 처리는 서보 시스템 콘트롤러에 할당된 것으로 된다.
스텝 S2에서, 제어 분배부(3)는 출력 기기에서의 제약 판정 처리를 행한다. 구체적으로는, 제어 분배부(3)는 스텝 S1에서 output 처리가 할당된 콘트롤러(도 5의 예에서는 PLC 및 서보 시스템 콘트롤러) 중에서, 가장 제어 처리의 제약 조건이 엄격한 콘트롤러를 추출할 수 있는지 여부를 판정한다. 여기서, 제어 분배부(3)는 예를 들면, 설정 정보 입력부(2)로 입력된 콘트롤러의 설정 정보 또는 제약 조건에 있어서 제어 주기가 가장 짧은 경우, 또는 이미 다른 제어 처리가 많이 할당되어 있어 제어 처리 능력으로서 여유가 없는(예를 들면 할당된 제어 처리 부하가 임계치 이상인) 경우 등에, 제약 조건이 엄격한 것으로 판정한다. 또한, 제어 분배부(3)는 하나 또는 복수의 요인에 근거해서 제약 조건이 엄격한지 여부를 판정해도 좋다. 이 결과, 가장 제어 처리의 제약 조건이 엄격한 콘트롤러는 추가로 할당 가능한 제어 처리가 적은 콘트롤러를 나타내는 것으로 된다.
상술의 스텝 S2에서 콘트롤러를 추출할 수 있다고 판정한 경우에는 스텝 S3(제어 블록 접속 판정 처리 1)으로 진행되고, 추출할 수 없다고 판정한 경우에는 스텝 S4(입력 기기에서의 제약 판정 처리)로 진행된다.
스텝 S3에서, 제어 분배부(3)는 제어 블록 접속 판정 처리 1을 행한다. 구체적으로는, 제어 분배부(3)는 스텝 S2에서 추출된 콘트롤러에 할당된 output 처리에 접속되어 있는 제어 처리 블록을, 스텝 S2에서 추출된 콘트롤러에 할당한다. 다만, 이 할당은 해당 제어 처리 블록의 할당 목적지가 이미 정해져 있는 경우에는 행하지 않는다. 계속해서, 제어 분배부(3)는 금회 신규로 콘트롤러에 할당된 제어 처리 블록에 대해서, 데이터 입력측에 접속되어 있는 제어 처리 블록 중에서, 할당 목적지가 정해져 있지 않은 제어 처리 블록을, 스텝 S2에서 추출된 콘트롤러에 할당한다.
도 7은 스텝 S3에 있어서의 제어 분배부(3)의 처리의 일례를 나타내는 도면이다. 도 7의 예에서는, 제어 처리 블록 Fun X는 제어 처리 블록 Fun Y에 대해서 데이터 입력측에 접속되고, 제어 처리 블록 Fun Y는 output Z 처리에 접속되어 있다. 그리고, output Z 처리는 PLC라고 하는 콘트롤러에 이미 할당되어 있지만, 제어 처리 블록 Fun X 및 제어 처리 블록 Fun Y는 모두, 어느 콘트롤러에도 아직 할당되지 않은 것으로 한다.
이 경우, 스텝 S3에서, 제어 분배부(3)는 제어 처리 블록 Fun Y를 output Z 처리의 콘트롤러(PLC)에 할당한다. 계속해서, 제어 분배부(3)는 제어 처리 블록 Fun X를 제어 처리 블록 Fun Y의 콘트롤러(PLC)에 할당한다.
제어 분배부(3)는 이상과 같은, 신규로 할당된 제어 처리 블록으로부터의 할당 처리를 재귀적으로 반복한다. 그리고, 신규로 제어 처리 블록을 콘트롤러에 할당할 수 없게 되면 스텝 S3를 종료하고, 스텝 S2로 돌아온다.
스텝 S3로부터 스텝 S2로 돌아온 경우, 제어 분배부(3)는 스텝 S1에서 output 처리가 할당된 콘트롤러 중에서, 전회의 스텝 S2에서 추출한 콘트롤러의 다음으로 제약 조건이 엄격한 콘트롤러를 추출할 수 있는지 여부를 판정한다. 그리고, 추출할 수 있다고 판정한 경우에는 스텝 S3(제어 블록 접속 판정 처리 1)으로 진행되고, 추출할 수 없다고 판정한 경우에는 스텝 S4(입력 기기에서의 제약 판정 처리)로 진행된다. 여기서 추출할 수 없다고 판정되는 경우로서는, 모든 output 처리가 콘트롤러에 할당된 경우 등이 상정된다.
스텝 S4에서, 제어 분배부(3)는 입력 기기에서의 제약 판정 처리를 행한다. 구체적으로는, 제어 분배부(3)는 스텝 S1에서 input 처리가 할당된 콘트롤러 중에서, 가장 제어 처리의 제약 조건이 엄격한 콘트롤러를 추출할 수 있는지 여부를 판정한다. 또한, 제약 조건이 엄격한지 여부의 판정은 스텝 S2(출력 기기에서의 제약 판정 처리)와 마찬가지인 것으로 하지만, 반드시 완전하게 동일하지 않아도 좋다.
상술의 스텝 S4에서 콘트롤러를 추출할 수 있다고 판정한 경우에는 스텝 S5(제어 블록 접속 판정 처리 2)로 진행되고, 추출할 수 없다고 판정한 경우에는 스텝 S6(제어 처리 블록에서의 제약 판정 처리)으로 진행된다.
스텝 S5에서, 제어 분배부(3)는 제어 블록 접속 판정 처리 2를 실시한다. 구체적으로는, 제어 분배부(3)는 스텝 S4에서 추출된 콘트롤러에 할당된 input 처리에 접속되어 있는 제어 처리 블록을, 스텝 S4에서 추출된 콘트롤러에 할당한다. 다만, 이 할당은 해당 제어 처리 블록의 할당 목적지가 이미 정해져 있는 경우에는 행하지 않는다. 계속해서, 제어 분배부(3)는 금회 신규로 콘트롤러에 할당된 제어 처리 블록에 대해서, 데이터 출력측에 접속되어 있는 제어 처리 블록 중에서, 할당 목적지가 정해져 있지 않은 제어 처리 블록을, 스텝 S4에서 추출된 콘트롤러에 할당한다. 제어 분배부(3)는, 이상과 같은, 신규로 할당된 제어 처리 블록으로부터의 할당 처리를, 재귀적으로 반복한다. 그리고, 신규로 제어 처리 블록을 콘트롤러에 할당할 수 없게 되면 스텝 S5를 종료하고, 스텝 S4로 돌아온다.
스텝 S5로부터 스텝 S4로 돌아온 경우, 제어 분배부(3)는 스텝 S1에서 input 처리가 할당된 콘트롤러 중에서, 전회의 스텝 S4에서 추출한 콘트롤러의 다음으로 제약 조건이 엄격한 콘트롤러를 추출할 수 있는지 여부를 판정한다. 그리고, 추출할 수 있다고 판정한 경우에는 스텝 S5(제어 블록 접속 판정 처리 2)로 진행되고, 추출할 수 없다고 판정한 경우에는 스텝 S6(제어 처리 블록에서의 제약 판정 처리)으로 진행된다. 여기서 추출할 수 없다고 판정되는 경우로서는, 모든 input 처리가 콘트롤러에 할당된 경우 등이 상정된다.
스텝 S6에서, 제어 분배부(3)는 제어 처리 블록에서의 제약 판정 처리를 행한다. 구체적으로는, 제어 분배부(3)는 이미 콘트롤러에 할당되어 있는 제어 처리 블록 중에서, 콘트롤러에 할당되지 않은 다른 제어 처리 블록이 접속되어 있는 제어 처리 블록을 추출할 수 있는지 여부를 판정한다.
상술의 스텝 S6에서 제어 처리 블록을 추출할 수 있다고 판정한 경우에는, 추출된 제어 처리 블록 중에서, 가장 제약 조건이 엄격한 콘트롤러에 할당되어 있는 제어 처리 블록을 추출하고 나서, 스텝 S7(제어 블록 접속 판정 처리 3)로 진행된다. 한편, 스텝 S6에서 추출할 수 없다고 판정한 경우에는 스텝 S8(미접속의 제약 판정 처리)로 진행된다.
스텝 S7에서, 제어 분배부(3)는 제어 블록 접속 판정 처리 3을 행한다. 구체적으로는, 제어 분배부(3)는 스텝 S6에서 추출된 제어 처리 블록에 접속된 다른 제어 처리 블록을, 스텝 S6에서 추출된 제어 처리 블록의 콘트롤러에 할당한다. 다만, 이 할당은 다른 제어 처리 블록의 할당 목적지가 이미 정해져 있는 경우에는 행하지 않는다. 계속해서, 제어 분배부(3)는 금회 신규로 콘트롤러에 할당된 다른 제어 처리 블록과 접속되어 있는 또 다른 제어 처리 블록 중에서, 할당 목적지가 정해져 있지 않은 제어 처리 블록을, 스텝 S6에서 추출된 제어 처리 블록의 콘트롤러에 할당한다.
도 8은 스텝 S7에 있어서의 제어 분배부(3)의 처리의 일례를 나타내는 도면이다. 도 8(a)의 예에서는, input P 처리 및 제어 처리 블록 Fun Z는 제어 처리 블록 Fun X에 접속되고, 제어 처리 블록 Fun X는 제어 처리 블록 Fun Y에 접속되어 있다. 그리고, 제어 처리 블록 Fun Z 이외는, PLC라고 하는 콘트롤러에 이미 할당되어 있지만, 제어 처리 블록 Fun Z는 어느 콘트롤러에도 아직 할당되지 않은 것으로 한다.
이 경우, 스텝 S7에서, 제어 분배부(3)는 제어 처리 블록 Fun Z를 제어 처리 블록 Fun X의 콘트롤러(PLC)에 할당한다. 또한, 도 8(a)의 처리는 스텝 S3의 제어 블록 접속 판정 처리 1과 유사하지만, 제어 블록 접속 판정 처리 1은 output 처리를 기점으로 해서 데이터 입력측을 향해서 행해지는 것에 반해, 도 8의 처리는 제어 처리 블록을 기점으로 해서 데이터 입력측을 향해서 또한 데이터 출력측을 향해서도 행해진다는 점이 상이하다.
또, 도 8(b)의 예에서는, 제어 처리 블록 Fun X는 제어 처리 블록 Fun Y에 접속되고, 제어 처리 블록 Fun Y는 제어 처리 블록 Fun Z 및 output Q 처리에 접속되어 있다. 그리고, 제어 처리 블록 Fun Z 이외는, PLC라고 하는 콘트롤러에 이미 할당되어 있지만, 제어 처리 블록 Fun Z는 어느 콘트롤러에도 아직 할당되지 않은 것으로 한다.
이 경우, 스텝 S7에서, 제어 분배부(3)는 제어 처리 블록 Fun Z를 제어 처리 블록 Fun Y의 콘트롤러(PLC)에 할당한다. 또한, 도 8(b)의 처리는 스텝 S5의 제어 블록 접속 판정 처리 2와 유사하지만, 제어 블록 접속 판정 처리 2는 input 처리를 기점으로 해서 데이터 출력측을 향해서 행해지는 것에 반해, 도 8의 처리는 제어 처리 블록을 기점으로 해서 데이터 입력측을 향해서 또한 데이터 출력측을 행해서도 행해진다는 점이 상이하다.
제어 분배부(3)는 이상과 같은, 신규로 할당된 제어 처리 블록으로부터의 할당 처리를 재귀적으로 반복한다. 그리고, 신규로 제어 처리 블록을 콘트롤러에 할당할 수 없게 되면 스텝 S7를 종료하고, 스텝 S6로 돌아온다.
스텝 S7로부터 스텝 S6로 돌아온 경우, 제어 분배부(3)는 상술한 바와 같이, 이미 콘트롤러에 할당되어 있는 제어 처리 블록 중에서, 콘트롤러에 할당되지 않은 다른 제어 처리 블록이 접속되어 있는 제어 처리 블록을 추출할 수 있는지 여부를 판정한다. 제어 처리 블록을 추출할 수 있다고 판정한 경우에는, 해당 제어 처리 블록 중에서, 가장 제약 조건이 엄격한 콘트롤러에 할당되어 있는 제어 처리 블록을 추출하고 나서, 스텝 S7(제어 블록 접속 판정 처리 3)로 진행된다. 한편, 스텝 S6에서 추출할 수 없다고 판정한 경우에는 스텝 S8(미접속의 제약 판정 처리)로 진행된다.
스텝 S8에서, 제어 분배부(3)는 미접속에서의 제약 판정 처리를 행한다. 구체적으로는, 제어 분배부(3)는 아직 콘트롤러에 할당되지 않은 제어 처리 블록 중에서, 하나의 제어 처리 블록을 적당한 판단 기준에 근거해서 추출할 수 있는지 여부를 판정한다. 여기서, 적당한 판단 기준에는, 예를 들면, 제어 처리 블록에 포함되는 처리 부하가 비교적 높은 순서나, 제어 처리 블록 내에서 처리되는 글로벌 변수의 수가 비교적 많은 순서나, 단순하게 제어 처리 블록에 할당된 식별 번호 순서 등이 적용된다. 제어 분배부(3)는 적당한 판단 기준을 단일의 조건으로 판단해도 좋고, 복수의 조건을 조합해서 판단해도 좋다. 또한, 글로벌 변수란, 일반적으로, 제어 모델에 있어서 제어 처리 블록과 접속되어 있지 않은, 제어 모델 내의 임의의 개소로부터, 해당 제어 처리 블록에 액세스 가능하게 하는 변수이며, 액세스 가능한 범위를 한정한 변수도 포함한다.
상술의 스텝 S8에서 제어 처리 블록을 추출할 수 없다고 판정한 경우에는, 도 6의 처리를 종료한다.
한편, 스텝 S8에서 제어 처리 블록을 추출할 수 있다고 판정한 경우에는, 제어 분배부(3)는 추출된 제어 처리 블록을 할당해야 할 콘트롤러를, 적당한 판단 기준에 근거해서 추출한다. 여기서, 적당한 판단 기준에는, 예를 들면, 가장 제약 조건이 느슨한 콘트롤러인 것, 추출된 제어 처리 블록에서 사용되고 있는 글로벌 변수를 참조하고 있는 다른 제어 처리 블록이 많이 할당되어 있는 콘트롤러인 것 등이 적용된다. 제어 분배부(3)는 적당한 판단 기준을 단일의 조건으로 판단해도 좋고, 복수의 조건을 조합해서 판단해도 좋다. 그 후, 스텝 S9(제어 블록 접속 판정 처리 4)로 진행된다. 이상의 스텝 S8의 처리에 의해, 스텝 S9로 진행되는 경우에는, 제어 처리 블록과 콘트롤러가 추출된 상태로 되어 있다.
스텝 S9에서, 제어 분배부(3)는 제어 블록 접속 판정 처리 4를 행한다. 구체적으로는, 제어 분배부(3)는 스텝 S8에서 추출된 제어 처리 블록을, 스텝 S8에서 추출된 콘트롤러에 할당한다. 계속해서, 제어 분배부(3)는 금회 신규로 콘트롤러에 할당된 제어 처리 블록과 접속되어 있는 다른 제어 처리 블록 중에서, 할당 목적지가 정해져 있지 않은 제어 처리 블록을, 스텝 S8에서 추출된 콘트롤러에 할당한다. 제어 분배부(3)는, 이상과 같은, 신규로 할당된 제어 처리 블록으로부터의 할당 처리를 재귀적으로 반복한다. 그리고, 신규로 제어 처리 블록을 콘트롤러에 할당할 수 없게 되면 스텝 S9를 종료하고, 스텝 S8로 돌아온다.
이상의 일련의 처리에 의해, 제어 분배부(3)는 제어 모델 내의 모든 제어 처리 블록을 콘트롤러에 분배한다.
도 2의 통신 기능 추가부(4)는, 할당된 제어 모델에 있어서, 다른 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분(접속선)에 통신용 제어 블록을 추가한다.
도 9는 도 5와 같이 할당된 제어 모델에 대한, 통신 기능 추가부(4)의 처리 결과의 일례를 나타내는 도면이다. 도 9에 나타내는 바와 같이, PLC에 할당된 제어 처리 블록 Fun 1 및 input 4 처리의 각각과, 서보 시스템 콘트롤러에 할당된 제어 처리 블록 Fun3의 사이에, 통신용 제어 블록인 데이터 통신 처리를 통신 기능 추가부(4)에 의해 추가하고 있다.
또한, 데이터 통신 처리에는, 상이한 콘트롤러 간에 데이터 통신 처리를 행하기 위한 각종 처리가 포함되어 있고, 예를 들면 각 콘트롤러의 내부 변수를 통신용의 내부 변수에 할당하는 처리 등이 포함된다. 이때, 통신 기능 추가부(4)는 설정 정보 입력부(2)에서 접수한 콘트롤러의 접속 정보에 근거해서, 통신용의 내부 변수의 할당을 행해도 좋다.
지금까지의 처리에 의해, 제어 모델 내의 모든 제어 블록은 콘트롤러에 할당되고, 상이한 콘트롤러에 할당된 제어 블록끼리의 접속 부분에는 통신용 제어 블록이 배치된 제어 모델(예를 들면 도 9와 같은 제어 모델)이 얻어진다.
그 후, 작업자 등의 유저는, 제어 모델을, FA용 콘트롤러로도 처리 가능한 프로그램으로 변환하는 기존의 기술을 이용해서, 콘트롤러마다 할당된 제어 블록을 각 콘트롤러용의 프로그램으로 변환한다. 이상에 의해, 유저가 입력한, 콘트롤러의 제약 조건을 무시한 제어 모델과, 콘트롤러의 제약 조건인 콘트롤러의 설정 정보와, 콘트롤러 및 I/O의 접속 정보로부터, 각 콘트롤러의 제어 프로그램을 생성할 수 있다.
<실시 형태 1의 요약>
이상과 같은 본 실시 형태 1에 따른 프로그램 생성 장치에 의하면, 제어 모델 입력부(1)에서 접수한 제어 모델과, 설정 정보 입력부(2)에서 접수한 설정 정보 및 접속 정보에 근거해서, 제어 모델의 각 제어 블록을 콘트롤러에 할당하고, 할당된 제어 모델에 있어서, 상이한 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에 통신용 제어 블록을 추가한다. 이것에 의해, 콘트롤러의 제약 조건을 무시한 제어 모델로부터, 각 콘트롤러 전용의 프로그램으로 변환 가능한 제어 모델을 거의 자동적으로 생성할 수 있다. 이 결과, 콘트롤러의 사양을 이해해서 프로그램을 생성한다고 하는 유저의 작업을 경감할 수 있다.
또한, 본 실시 형태 1에서 설명한 제어 분배부(3)의 처리는 일례이며, 판정 처리의 조건이나 순번 등은 이것으로 한정되는 것은 아니다. 또한, 본 실시 형태 1은 제어 분배부(3)나 통신 기능 추가부(4)의 처리후에, 유저가 제어 모델을 조정하는 것을 제한하는 것은 아니다.
또, 본 실시 형태 1에서는, 제어 블록 접속 판정 처리 1, 2, 3, 4는 신규로 콘트롤러에 할당된 제어 처리 블록이 있는 한, 재귀적으로 콘트롤러로의 할당 처리를 행했지만, 도중에 각 제약 판정 처리로 이행해도 좋다. 그리고, 각 제약 판정 처리에서는, 재차, 각 콘트롤러의 제약 조건의 엄격함을 판정해서 콘트롤러를 추출해도 좋다. 또한, 각 제약 판정 처리에서는, 제약 조건의 엄격함의 판정 결과로부터, 콘트롤러로의 할당 금지 처리나, 금지 처리의 해제를 행해도 좋다.
<실시 형태 2>
본 발명의 실시 형태 2에 따른 프로그램 생성 장치의 블록 구성은 실시 형태 1의 블록 구성(도 2)과 마찬가지이다. 이하, 본 실시 형태 2에 따른 프로그램 생성 장치 중, 실시 형태 1과 동일 또는 유사한 구성 요소에 대해서는 동일 참조 부호를 부여하고, 상이한 구성 요소에 대해 주로 설명한다.
실시 형태 1에서는, 제어 분배부(3)는 콘트롤러에 할당된 제어 모델(제어 블록)의 할당을 변경하지 않는다. 그러나, 제어 분배부(3)에서, 제어 모델 내의 모든 제어 블록을 콘트롤러에 할당한 단계에서, 어느 하나의 콘트롤러가 제어 주기 등의 제약 조건을 만족하지 않는 경우에는, 할당을 재검토해서 변경하는 것이 바람직하다.
그래서 본 실시 형태 2에서는, 설정 정보는 복수의 콘트롤러가 만족해야 할 제약 조건을 포함하고, 제어 분배부(3)는 콘트롤러에 할당된 제어 모델이, 설정 정보 입력부(2)에서 접수한 설정 정보에 포함되는 제약 조건을 만족하지 않는 경우에, 제어 모델에 있어서의 제어 블록의 할당을 변경하도록 구성되어 있다. 구체적으로는, 제어 분배부(3)는 콘트롤러에 할당된 제어 블록의 할당을 해제하는 것 및 제어 모델 전체를 감안해서 재귀적으로 최적인 콘트롤러로의 할당을 행하는 것을 재귀적으로 행한다.
도 10은 본 실시 형태 2에 따른 제어 분배부(3)의 할당 처리를 나타내는 흐름도이다. 또한, 도 10에 있어서는, 도 6에 나타낸 것과 마찬가지의 처리를 행하는 스텝에는 그것과 동일 부호를 부여하고, 상이한 부분에 대해 이하에서 주로 설명한다.
도 10에 나타내는 바와 같이, 본 실시 형태 2에 따른 제어 분배부(3)의 처리에는, 도 6의 스텝 S9 이후에, 제약 조건 판정 처리가 스텝 S11로서 추가되어 있다.
스텝 S11(제약 조건 판정 처리)에서, 제어 분배부(3)는 제어 블록을 각 콘트롤러에 할당한 결과가, 설정 정보 입력부(2)로 입력된 각 콘트롤러의 설정 정보 내의 각 콘트롤러의 제약 조건을 만족하고 있는지 여부를 판정한다. 예를 들면, 각 콘트롤러에 할당된 제어 블록을 처리하는 경우에, 제약 조건인 제어 주기를 만족하고 있는지 등을 판정한다.
스텝 S11에서 모든 제약 조건을 만족하고 있다고 판정한 경우에는, 제어 분배부(3)는 스텝 S11를 종료하고, 도 10의 처리도 종료한다. 한편, 스텝 S11에서 모든 제약 조건을 만족하고 있다고 판정되지 않은 경우에는, 제어 분배부(3)는 제약 조건을 만족하지 않은 콘트롤러에 할당된 제어 블록에 대해, 그 콘트롤러로의 할당을 해제한다. 도 10의 예에서는, 할당 해제 후에는 스텝 S2로 돌아온다. 다만, 할당 해제 후의 재차의 할당 처리에서는, 해제된 제어 블록이 해제 전과 동일한 콘트롤러에 할당되는 것은 금지되는 상태로, 할당 처리(이하 「금지의 할당 처리」라 한다)를 하는 것으로 한다.
또한, 도면에서는 나타내지 않지만, 재귀적으로 미리 정해진 횟수 탐색해도, 모든 제약 조건을 만족하는 할당이 얻어지지 않은 경우에는, 제약 조건을 만족하지 않는다는 에러 메세지를 유저에게 통지함과 아울러, 도 10의 처리를 종료해도 좋다.
이상, 도 10을 이용해서 콘트롤러로의 할당 해제의 일례에 대해 설명했지만, 콘트롤러로의 할당 해제는 이것에 한정되는 것이 아니고, 예를 들면, 할당된 순서의 역순으로 할당의 해제를 해도 좋다. 구체적으로는, 스텝 S11에서 모든 제약 조건을 만족하고 있다고 판정되지 않은 경우에는, 제어 분배부(3)는 스텝 S9(제어 블록 접속 판정 처리 4)에서 할당된 모든 제어 블록에 대해 할당의 해제를 행하고, 금지의 할당 처리(재차의 스텝 S9 등)를 행한다. 그리고, 상술한 바와 마찬가지로 스텝 S11를 행한다. 재차의 스텝 S9 및 스텝 S11를 미리 정해진 횟수 행해도, 모든 제약 조건을 만족한다고 판정되지 않은 경우에는, 스텝 S7(제어 블록 접속 판정 처리 3)에서 할당된 모든 제어 블록에 대해 할당의 해제를 행하고, 금지의 할당 처리(재차의 스텝 S7 등)를 행한다. 이하 마찬가지로, 스텝 S11에서 모든 제약 조건을 만족하고 있다고 판정되지 않는 한, 스텝 S5, 스텝 S3의 순서로 역순으로 할당의 해제 및 금지의 할당 처리를 행한다.
그 외에도, 트리거 입력에 의한 접속을 데이터 입력에 의한 접속보다 우선해서 해제하도록 해도 좋다. 트리거 입력은 이산적인 이벤트를 통지하는 것이 많고, 다른 콘트롤러에 할당해도 문제가 없는 것이 많기 때문이다. 또한, 이상의 설명에서는, 제어 분배부(3)는 제어 블록 접속 판정 처리 1, 2, 3, 4의 각각에서 할당된 「모든 제어 블록」에 대해 할당의 해제를 행하는 것으로서 설명했다. 그러나 이것에 한정되는 것이 아니고, 각 제어 블록 접속 판정 처리 중에서도, 할당된 순서의 역순으로 제어 블록의 할당의 해제를 행하고, 금지의 할당 처리를 실행하도록 해도 좋다.
<실시 형태 2의 요약>
이상과 같은 본 실시 형태 2에 따른 프로그램 생성 장치에 의하면, 콘트롤러에 할당된 제어 모델이, 설정 정보 입력부(2)에서 접수한 설정 정보에 포함되는 제약 조건을 만족하지 않는 경우에, 제어 블록의 할당을 변경한다. 따라서, 제약 조건을 만족하는 최적의 할당을 재귀적으로 탐색할 수 있다.
<실시 형태 3>
본 발명의 실시 형태 3에 따른 프로그램 생성 장치의 블록 구성은 실시 형태 1의 블록 구성(도 2)과 마찬가지이다. 이하, 본 실시 형태 3에 따른 프로그램 생성 장치 중, 실시 형태 1과 동일 또는 유사한 구성 요소에 대해서는 동일 참조 부호를 부여하고, 상이한 구성 요소에 대해 주로 설명한다.
본 실시 형태 3에서는, 도 9에 나타낸 데이터 통신 처리(통신용 제어 블록)가 상술의 제 1의 제어 블록 및 상술의 제 2 제어 블록 중 어느 한쪽으로부터 출력된 통신 데이터에 대해 제어 주기(통신 동기)에 관한 데이터 처리를 행하고 나서, 다른 쪽에 입력하는 기능을 포함하고 있다. 그리고, 통신 기능 추가부(4)는 제어 모델 입력부(1)에서 접수한 제어 모델과, 설정 정보 입력부(2)에서 접수한 설정 정보에 근거해서, 데이터 통신 처리(통신용 제어 블록)로 행해야 할 상기 데이터 처리를 결정하도록 구성되어 있다.
예를 들면, 콘트롤러의 제어 주기가 상이한 경우, 통신 기능 추가부(4)는 통신 데이터의 송수신 누락을 방지하는 목적 또는 통신 데이터를 이용한 제어의 성능을 향상하는 목적 등을 목적으로 해서, 데이터 통신 처리에 데이터 처리를 추가한다.
이하, 제어 주기가 긴 장주기 콘트롤러 A와 제어 주기가 짧은 단주기 콘트롤러 B에 대해서, 통신 기능 추가부(4)에 의한 데이터 처리의 결정의 일례에 대해 설명한다. 단주기 콘트롤러 B가 장주기 콘트롤러 A에 펄스 데이터를 송신하는 경우, 통신 데이터의 송수신 누락을 방지하기 위해서, 통신 기능 추가부(4)는 장주기 콘트롤러 A가 수신할 때까지 단주기 콘트롤러 B로부터의 통신 데이터를 보유하는 처리를, 데이터 통신 처리로 행해야 할 상술의 데이터 처리로서 결정한다. 반대로, 단주기 콘트롤러 B가 장주기 콘트롤러 A로부터 펄스 데이터를 수신하는 경우, 통신 기능 추가부(4)는 장주기 콘트롤러 A로부터의 통신 데이터를 펄스화하는 처리를, 데이터 통신 처리로 행해야 할 상술의 데이터 처리로서 결정한다. 또, 단주기 콘트롤러 B가 장주기 콘트롤러 A로부터의 통신 데이터를 연속 변화량으로서 처리하는 것이 요구되는 경우에는, 통신 기능 추가부(4)는 장주기 콘트롤러 A로부터의 통신 데이터를 보간하는 처리를, 데이터 통신 처리로 행해야 할 상술의 데이터 처리로서 결정한다.
이상과 같이, 데이터 통신 처리(통신용 제어 블록)로 어떠한 데이터 처리를 행할지는, 통신 기능 추가부(4)가, 콘트롤러의 설정 조건과 데이터 통신 처리가 접속되는 제어 블록의 입출력 데이터의 종류에 근거해서 결정한다.
<실시 형태 3의 요약>
이상과 같은 본 실시 형태 3에 따른 프로그램 생성 장치에 의하면, 제어 모델 입력부(1)에서 접수한 제어 모델과 설정 정보 입력부(2)에서 접수한 설정 정보에 근거해서, 데이터 통신 처리(통신용 제어 블록)로 행해야 할 데이터 처리를 결정한다. 이것에 의해, 유저에 의한 통신용의 프로그램의 추가 작업을 경감할 수 있다.
<실시 형태 4>
본 발명의 실시 형태 4에 따른 프로그램 생성 장치의 블록 구성은 실시 형태 1의 블록 구성(도 2)과 마찬가지이다. 이하, 본 실시 형태 4에 따른 프로그램 생성 장치 중, 실시 형태 1과 동일 또는 유사한 구성 요소에 대해서는 동일 참조 부호를 부여하고, 상이한 구성 요소에 대해 주로 설명한다.
제어 블록 간의 데이터 통신은 통상은 제어 모델에 있어서의 제어 블록 간의 접속으로 프로그래밍된다. 그러나, 제어 모델 전체의 글로벌 변수를 정의해서, 그 글로벌 변수로의 액세스에 의해 제어 블록 간에 통신하도록 프로그래밍되는 경우가 있다. 글로벌 변수로의 액세스는 제어 블록 내의 처리나, 다른 프로그램 언어로 기술된 처리 내에서 행해지기 때문에, 제어 블록의 접속 정보로서는 표현되지 않는다.
본 실시 형태 4에 따른 프로그램 생성 장치에서는, 이러한 경우에도 프로그램을 작성하는 것이 가능해진다. 구체적으로는, 제어 모델은 제 3 제어 블록과, 글로벌 변수에 의해 제 3 제어 블록과 데이터의 송수신이 가능하고, 제 3 제어 블록과 접속되어 있지 않은 제 4 제어 블록을 포함하고 있다. 그리고, 통신 기능 추가부(4)는 도 9와 같은 제어 모델에 있어서, 제 3 제어 블록이 할당된 콘트롤러와 제 4 제어 블록이 할당된 콘트롤러가 상이한 경우에, 제 3 제어 블록이 할당된 콘트롤러와 제 4 제어 블록이 할당된 콘트롤러 간의 데이터 통신 처리를 추가하도록 구성되어 있다.
보다 구체적으로는, 통신 기능 추가부(4)는, 각 콘트롤러에 할당된 제어 블록 내의 글로벌 변수를 추출하고, 글로벌 변수는 동일해서 서로 액세스 가능하지만 콘트롤러가 상이한 복수의 제어 블록이 존재하는지를 판정한다. 그리고, 통신 기능 추가부(4)는 그러한 복수의 제어 블록이 존재한다고 판정한 경우에는, 콘트롤러의 접속 정보에 근거해서, 콘트롤러 간의 통신 프로그램(데이터 통신 처리)을 추가한다. 이 통신 프로그램은 예를 들면, 다른 제어 블록과 접속되어 있지 않은 독립의 제어 블록으로서 추가해도 좋고, 제어 블록을 접속하는 프로그램 언어 이외의 프로그램으로 추가되어도 좋고, 콘트롤러의 파라미터 설정으로서 추가되어도 좋다. 다만, 상기 통신 프로그램은 이들의 방법으로 한정되는 것은 아니다.
<실시 형태 4의 요약>
이상과 같은 본 실시 형태 4에 따른 프로그램 생성 장치에 의하면, 제어 모델에서는 서로 접속되어 있지 않지만 글로벌 변수에 의해 데이터를 송수신 가능한 제 3 및 제 4 제어 블록에 있어서, 제 3 제어 블록이 할당된 콘트롤러와 제 4 제어 블록이 할당된 콘트롤러가 상이한 경우에, 제 3 제어 블록이 할당된 콘트롤러와 제 4 제어 블록이 할당된 콘트롤러 간의 데이터 통신 처리를 추가한다. 이것에 의해, 유저에 의한 통신용의 프로그램의 추가 작업을 경감할 수 있다.
<실시 형태 5>
도 11은 본 발명의 실시 형태 5에 따른 프로그램 생성 장치의 구성을 나타내는 블럭도이다. 도 11의 프로그램 생성 장치는 실시 형태 1에 따른 프로그램 생성 장치(도 2)에 더해서, 입력 지정부(5)를 구비하고 있다. 입력 지정부(5)는 제어 모델의 제어 블록을 할당해야 할 콘트롤러를 외부 입력(유저 입력)에 의해 지정하는 것이 가능해진다. 또한, 입력 지정부(5)는 예를 들면 키보드, 터치 패널 등의 각종 입력 장치 또는 후술하는 소프트웨어 등이 적용된다.
할당하는 콘트롤러를 지정하고 싶은 제어 블록이 있는 경우에는, 유저는 입력 지정부(5)를 이용해서 제어 모델 상에서 지정한다. 이 지정은 제어 분배부(3)에 입력되기 전의 제어 모델에 대해서 행해도 좋고, 제어 분배부(3)의 출력 결과에 대해서, 수동으로 할당하는 콘트롤러의 재할당을 행해도 좋다. 또, 수동으로 재할당을 행한 제어 모델을 재차 제어 분배부(3)에 입력해도 좋다.
<실시 형태 5의 요약>
이상과 같은 본 실시 형태 4에 따른 프로그램 생성 장치에 의하면, 제어 블록을 할당하는 콘트롤러를 유저가 수동으로 지정하는 기능을 갖기 때문에, 유저는 상세한 설계를 행할 수 있다.
<그 외>
이상으로 설명한 프로그램 생성 장치에 있어서의 제어 모델 입력부(1), 설정 정보 입력부(2), 제어 분배부(3), 통신 기능 추가부(4)의 각 기능은 처리 회로에 의해 실현된다. 즉, 프로그램 생성 장치는 제어 대상 장치에 관한 복수의 제어 블록을 접속해서 표현되는, 프로그램으로 변환 가능한 제어 모델을 접수하고, 복수의 콘트롤러의 설정 정보와 콘트롤러 간 및 콘트롤러와 입출력 기기 사이의 접속 정보를 접수하고, 접수한 제어 모델과 접수한 설정 정보 및 접속 정보에 근거해서, 제어 모델의 각 제어 블록을 콘트롤러에 할당하고, 할당된 제어 모델에 있어서, 상이한 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에 통신용 제어 블록을 추가하기 위한 처리 회로를 구비한다. 처리 회로는 메모리에 저장되는 프로그램을 실행하는 도 12와 같은 프로세서(91)이다. 이 프로세서(91)는 CPU(Central Processing Unit), 중앙 처리 장치, 처리 장치, 연산 장치, 마이크로 프로세서, 마이크로 컴퓨터, 프로세서, DSP를 포함한다.
제어 모델 입력부(1), 설정 정보 입력부(2), 제어 분배부(3), 통신 기능 추가부(4)의 기능은 소프트웨어, 펌웨어, 또는 소프트웨어와 펌웨어의 조합에 의해 실현된다. 소프트웨어나 펌웨어는 프로그램으로서 기술되고, 도 12와 같은 메모리(92)에 저장된다. 처리 회로는 메모리에 기억된 프로그램을 판독하고 실행함으로써, 각 부분의 기능을 실현한다. 즉, 프로그램 생성 장치는, 처리 회로에 의해 실행될 때, 제어 대상 장치에 관한 복수의 제어 블록을 접속해서 표현되는, 프로그램으로 변환 가능한 제어 모델을 접수하는 스텝과, 복수의 콘트롤러의 설정 정보와 콘트롤러 간 및 콘트롤러와 입출력 기기의 사이의 접속 정보를 접수하는 스텝과, 접수한 제어 모델과 접수한 설정 정보 및 접속 정보에 근거해서, 제어 모델의 각 제어 블록을 콘트롤러에 할당하는 스텝과, 할당된 제어 모델에 있어서, 다른 콘트롤러에 할당된 제 1 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에 통신용 제어 블록을 추가하는 스텝이 결과적으로 실행되게 되는 프로그램을 저장하기 위한 메모리를 구비한다. 또, 이들의 프로그램은 제어 모델 입력부(1), 설정 정보 입력부(2), 제어 분배부(3), 통신 기능 추가부(4)의 순서나 방법을 컴퓨터로 하여금 실행하게 하는 것이라 할 수 있다. 여기서, 메모리란, 예를 들면, RAM, ROM, 플래시 메모리, EPROM, EEPROM 등의 비휘발성 또는 휘발성의 반도체 메모리나, 자기 디스크, 플렉시블 디스크, 광 디스크, 콤팩트 디스크, 미니 디스크, DVD 등이 해당한다. 또한, 실시 형태 5에서 설명한 입력 지정부(5)도 제어 모델 입력부(1) 등과 마찬가지로 구성된다.
또한, 본 발명은 발명의 범위 내에서, 각 실시 형태를 자유롭게 조합하거나 각 실시 형태를 적절히 변형, 생략하거나 하는 것이 가능하다.
본 발명은 상세하게 설명되었지만, 상기 설명은 모든 형태에 있어서, 예시이며, 본 발명이 그것에 한정되는 것은 아니다. 예시되어 있지 않은 무수한 변형예가 본 발명의 범위로부터 벗어나지 않고 상정될 수 있는 것으로 해석된다.
1 : 제어 모델 입력부 2 : 설정 정보 입력부
3 : 제어 분배부 4 : 통신 기능 추가부
5 : 입력 지정부

Claims (6)

  1. 복수의 콘트롤러와, 그들과 접속된 입출력 기기로 이루어지는 제어 대상 장치를 제어하기 위한 프로그램을 생성하는 프로그램 생성 장치로서,
    상기 제어 대상 장치에 관한 복수의 제어 블록을 접속해서 표현되는, 상기 프로그램으로 변환 가능한 제어 모델을 접수하는 제어 모델 입력부와,
    상기 복수의 콘트롤러의 설정 정보와, 상기 콘트롤러 간 및 상기 콘트롤러와 상기 입출력 기기의 사이의 접속 정보를 접수하는 설정 정보 입력부와,
    상기 제어 모델 입력부에서 접수한 상기 제어 모델과, 상기 설정 정보 입력부에서 접수한 상기 설정 정보 및 상기 접속 정보에 근거해서, 상기 제어 모델의 각 상기 제어 블록을 상기 콘트롤러에 할당하는 제어 분배부와,
    할당된 상기 제어 블록에 있어서, 상이한 상기 콘트롤러에 할당된 제 1 제어 블록 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에, 상기 제 1 제어 블록과 상기 제 2 제어 블록 중 어느 한쪽으로부터 출력된 통신 데이터에, 제어 주기에 관한 데이터 처리를 행하고 나서, 다른 쪽에 입력하는 기능을 포함하는 통신용 제어 블록을 추가하고, 상기 제어 모델 입력부에서 접수한 상기 제어 모델과, 상기 설정 정보 입력부에서 접수한 상기 설정 정보에 근거해서, 상기 통신용 제어 블록이 행해야 할 상기 데이터 처리를 결정하는 통신 기능 추가부
    를 구비하는 프로그램 생성 장치.
  2. 제 1 항에 있어서,
    상기 설정 정보는 상기 복수의 콘트롤러가 만족해야 할 제약 조건을 포함하고,
    상기 제어 분배부는, 할당된 상기 제어 모델이, 상기 설정 정보 입력부에서 접수한 상기 설정 정보에 포함되는 상기 제약 조건을 만족하지 않는 경우에, 상기 제어 모델에 있어서의 상기 제어 블록의 할당을 변경하는
    프로그램 생성 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제어 모델은, 제 3 제어 블록과, 글로벌 변수에 의해 상기 제 3 제어 블록과 데이터의 송수신이 가능하고, 상기 제 3 제어 블록과 접속되어 있지 않은 제 4 제어 블록을 포함하고,
    상기 통신 기능 추가부는, 할당된 상기 제어 모델에 있어서, 상기 제 3 제어 블록이 할당된 상기 콘트롤러와 상기 제 4 제어 블록이 할당된 상기 콘트롤러가 상이한 경우에, 상기 제 3 제어 블록이 할당된 콘트롤러와 상기 제 4 제어 블록이 할당된 콘트롤러 간의 데이터 통신 처리를 추가하는
    프로그램 생성 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 제어 모델의 상기 제어 블록을 할당해야 할 상기 콘트롤러를 외부 입력에 의해 지정 가능한 입력 지정부를 더 구비하는 프로그램 생성 장치.
  5. 복수의 콘트롤러와, 그들과 접속된 입출력 기기로 이루어지는 제어 대상 장치를 제어하기 위한 프로그램을 생성하는 프로그램 생성 방법으로서,
    상기 제어 대상 장치에 관한 복수의 제어 블록을 접속해서 표현되는, 상기 프로그램으로 변환 가능한 제어 모델을 접수하고,
    상기 복수의 콘트롤러의 설정 정보와, 상기 콘트롤러 간 및 상기 콘트롤러와 상기 입출력 기기의 사이의 접속 정보를 접수하고, 접수한 상기 제어 모델과 접수한 상기 설정 정보 및 상기 접속 정보에 근거해서, 상기 제어 모델의 각 상기 제어 블록을 상기 콘트롤러에 할당하고,
    할당된 상기 제어 모델에 있어서, 상이한 상기 콘트롤러에 할당된 제 1 제어 블록 및 제 2 제어 블록끼리가 접속되어 있는 경우에, 그 접속 부분에, 상기 제 1 제어 블록과 상기 제 2 제어 블록 중 어느 한쪽으로부터 출력된 통신 데이터에, 제어 주기에 관한 데이터 처리를 행하고 나서, 다른 쪽에 입력하는 기능을 포함하는 통신용 제어 블록을 추가하고, 접수한 상기 제어 모델과, 접수한 상기 설정 정보에 근거해서, 상기 통신용 제어 블록이 행해야 할 상기 데이터 처리를 결정하는
    프로그램 생성 방법.
  6. 삭제
KR1020177036317A 2015-07-10 2015-07-10 프로그램 생성 장치 및 그 방법 KR101981421B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/069878 WO2017009895A1 (ja) 2015-07-10 2015-07-10 プログラム生成装置及びその方法

Publications (2)

Publication Number Publication Date
KR20180009344A KR20180009344A (ko) 2018-01-26
KR101981421B1 true KR101981421B1 (ko) 2019-08-28

Family

ID=55808239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036317A KR101981421B1 (ko) 2015-07-10 2015-07-10 프로그램 생성 장치 및 그 방법

Country Status (6)

Country Link
US (1) US10126726B2 (ko)
JP (1) JP5911044B1 (ko)
KR (1) KR101981421B1 (ko)
CN (1) CN107850881B (ko)
DE (1) DE112015006682T5 (ko)
WO (1) WO2017009895A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7183545B2 (ja) * 2018-02-27 2022-12-06 オムロン株式会社 制御システムおよび機能ユニット
CN109814480B (zh) * 2019-01-18 2021-10-08 广州宁基智能系统有限公司 Plc与线控程序之间的可视化交互方法及系统
KR20200121090A (ko) * 2019-04-15 2020-10-23 엘에스일렉트릭(주) Plc 시스템 및 이의 입출력 리프레시 주기 제어방법
JP7385536B2 (ja) 2020-06-30 2023-11-22 日立Astemo株式会社 ソフトウェア開発支援装置及びソフトウェア開発支援方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100234982B1 (ko) 1997-11-20 1999-12-15 윤종용 임의 작성된 기능 블록도의 실행 순서 결정방법
JP2001022401A (ja) 1999-07-09 2001-01-26 Toshiba Corp 統合コントローラ及び制御システム並びに伝送装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372301B2 (ja) * 1993-06-25 2003-02-04 オークマ株式会社 プログラマブルコントローラ
JP2001209407A (ja) 2000-01-25 2001-08-03 Omron Corp Plc用プログラムの実行シミュレーション装置
JP2001224010A (ja) * 2000-02-08 2001-08-17 Mitsubishi Electric Corp 監視カメラ装置
EP1128263B1 (en) * 2000-02-21 2010-05-19 Panasonic Corporation Linking of Java class files for embedded devices
JP2004213183A (ja) 2002-12-27 2004-07-29 Mazda Motor Corp 制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置
US7725877B2 (en) * 2004-01-09 2010-05-25 National Instruments Corporation Graphical program which includes an I/O node for hardware abstraction
JP4301976B2 (ja) * 2004-03-08 2009-07-22 三菱電機株式会社 プログラミングツール
JP2006048284A (ja) * 2004-08-03 2006-02-16 Yaskawa Electric Corp プログラマブルコントローラ装置およびオプションモジュールとの同期方法
JP2007122373A (ja) 2005-10-27 2007-05-17 Yaskawa Electric Corp 分散型モーションコントロールシステムおよびそのシステム設定方法
US9726392B2 (en) * 2006-06-29 2017-08-08 Honeywell International Inc. Generic user interface system
US8108784B2 (en) * 2006-08-04 2012-01-31 National Instruments Corporation Configuring icons to represent data transfer functionality
US7996782B2 (en) * 2007-06-08 2011-08-09 National Instruments Corporation Data transfer indicator icon in a diagram
EP2221697B1 (de) * 2009-02-20 2020-01-15 dSPACE digital signal processing and control engineering GmbH Verfahren zum Test eines Steuergeräts und Testvorrichtung
JP5101660B2 (ja) * 2010-05-26 2012-12-19 三菱電機株式会社 プログラマブルコントローラ
US8983632B2 (en) * 2011-03-29 2015-03-17 Honeywell International Inc. Function block execution framework
KR20140049669A (ko) * 2012-10-18 2014-04-28 현대중공업 주식회사 로봇 제어 장치
JP6201574B2 (ja) * 2013-08-08 2017-09-27 株式会社ジェイテクト Plc用のプログラミングツール
JP5659355B1 (ja) * 2013-11-26 2015-01-28 東屋株式会社 食品製品及び食品製品の提供方法
US9658741B2 (en) * 2014-04-25 2017-05-23 Rohde & Schwarz Gmbh & Co. Kg Measuring device and measuring method with interactive operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100234982B1 (ko) 1997-11-20 1999-12-15 윤종용 임의 작성된 기능 블록도의 실행 순서 결정방법
JP2001022401A (ja) 1999-07-09 2001-01-26 Toshiba Corp 統合コントローラ及び制御システム並びに伝送装置

Also Published As

Publication number Publication date
WO2017009895A1 (ja) 2017-01-19
DE112015006682T5 (de) 2018-03-29
KR20180009344A (ko) 2018-01-26
JP5911044B1 (ja) 2016-04-27
JPWO2017009895A1 (ja) 2017-07-13
CN107850881B (zh) 2020-07-24
US20180074470A1 (en) 2018-03-15
US10126726B2 (en) 2018-11-13
CN107850881A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
KR101981421B1 (ko) 프로그램 생성 장치 및 그 방법
US10860467B2 (en) Method of configuring a test device designed to test an electronic control unit, and a configuration system
CN103765334A (zh) 用于模拟机床上加工过程的方法及系统
CN106707973B (zh) 时序控制编程装置、时序控制编程方法以及作业系统
EP3015979A1 (en) Information processing apparatus, information processing method, information processing program, and storage medium
US10434648B2 (en) Task planning device
CN105408823A (zh) 工程设计工具、程序编辑装置以及程序编辑系统
JP2015194890A (ja) Plcおよびplc用のプログラミングツール
US9989940B2 (en) Method for engineering a distributed control system and an engineering tool thereof
JP5826121B2 (ja) 機械制御プログラム作成装置、機械制御プログラム作成方法、プログラム及び情報記憶媒体
CN103649855B (zh) 一种用于在分散的控制系统中动态分配程序功能的方法和系统
US20190306250A1 (en) Support apparatus, non-transitory computer-readable recording medium and setting method
JP4379687B2 (ja) シミュレーション支援ツールおよびラダープログラムの検証システムならびにプログラム製品
JP2023012395A (ja) 仮想開発環境装置、方法および記録媒体
KR102357029B1 (ko) 컴퓨터 수치제어 공작기계의 대화형 프로그램에서 복합 공정 등록 장치 및 방법
CN111552262A (zh) 用于验证自动化系统的控制程序的系统及其方法
JP5385837B2 (ja) プラントエンジニアリング支援装置及び方法
JP7065969B2 (ja) 実生産プロセスを制御するための方法および制御システム
JP7058925B2 (ja) プラント制御装置
CN109214638A (zh) 多个模拟的同步
CN110554665B (zh) 生成配方的方法、可编程逻辑控制器、成批系统和介质
JP2017111641A (ja) プログラマブルコントローラ
Part Computer Methods in Control Engineering
JP2009237947A (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
KR100258633B1 (ko) 제어로직 프로그램 관리방법

Legal Events

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