KR20160011236A - 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴 - Google Patents

시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴 Download PDF

Info

Publication number
KR20160011236A
KR20160011236A KR1020167001113A KR20167001113A KR20160011236A KR 20160011236 A KR20160011236 A KR 20160011236A KR 1020167001113 A KR1020167001113 A KR 1020167001113A KR 20167001113 A KR20167001113 A KR 20167001113A KR 20160011236 A KR20160011236 A KR 20160011236A
Authority
KR
South Korea
Prior art keywords
simulation
cycle
unit
user program
programmable controller
Prior art date
Application number
KR1020167001113A
Other languages
English (en)
Other versions
KR101641853B1 (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 KR20160011236A publication Critical patent/KR20160011236A/ko
Application granted granted Critical
Publication of KR101641853B1 publication Critical patent/KR101641853B1/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
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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
    • 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
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • 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/13004Programming the plc
    • 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/13174Pc, computer connected to plc to simulate machine
    • 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/13186Simulation, also of test inputs

Abstract

프로그래머블 컨트롤러(200)는 유저 프로그램을 실행하여 연산 처리를 행하는 명령 실행 엔진부(219)와, 연산 처리의 결과를 격납하는 불휘발성 메모리(215)를 구비하고, 명령 실행 엔진부(219)는 유저 프로그램에 있어서의 1사이클분의 연산 처리가 종료된 시점에서, 새로운 사이클분의 연산 처리를 행하지 않는 일시 정지 상태로 천이함과 아울러, 1사이클분의 연산 처리의 결과를 불휘발성 메모리(215)에 격납하고, 일시 정지 상태의 해제를 지시하는 정지 해제 지시 커멘드를 시뮬레이션 장치(100)로부터 수신했을 경우에, 일시 정지 상태를 해제함과 아울러 불휘발성 메모리(215)에 격납된 1사이클분의 연산 처리의 결과를 시뮬레이션 장치(100)에 송신한다.

Description

시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴{SIMULATION SYSTEM, PROGRAMMABLE CONTROLLER, SIMULATION DEVICE, AND ENGINEERING TOOL}
본 발명은 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴에 관한 것이다.
제조 장치 등을 개발하는 공정에 있어서의 실제 기기를 이용한 디버그에서는, 기계의 간섭에 의해 설비, 가공물이 파손되지 않도록 신중한 조정이 요구되기 때문에, 많은 개발 시간이 필요하게 되어 있다. 이 때문에, 기계의 궤도나 간섭의 확인을 PC상에서 행하는 3D CAD(computer aided design) 시뮬레이터로의 요망(要望)이 강하다. 3D CAD 시뮬레이터에서는, 기계의 간섭에 의한 설비, 가공물의 파손을 걱정하지 않고 디버깅할 수 있다. 이 때문에, 3D CAD 시뮬레이터에서는, 신중한 조정이 불필요해져, 디버그의 시간을 큰폭으로 삭감시키는 것이 가능해진다.
그러나 프로그래머블 컨트롤러 실제 기기에 대한 3D CAD 시뮬레이터에 의한 시뮬레이션에서는, 3D CAD 시뮬레이터에 있어서의 1사이클당 프로그래머블 컨트롤러 실제 기기의 사이클수가 일정하지 않다(不定). 이 때문에, 프로그래머블 컨트롤러 실제 기기로 산출된 데이터가 3D CAD 시뮬레이터에서의 시뮬레이션에 반영되지 않는 경우가 있다. 이러한 데이터의 반영 미스는, 시뮬레이션의 정밀도의 저하를 초래한다.
이에, 시뮬레이션 장치의 사이클과 프로그래머블 컨트롤러 실제 기기의 사이클을 맞추는 기술로서, 예를 들어 프로그래머블 컨트롤러가 스캔 타임을 1사이클 행하면 대기 상태가 되어, 시뮬레이션 장치로부터의 지령에 의해 다음 사이클을 실행하는 방법이 제안되어 있다(예를 들어, 특허 문헌 1 참조).
특허 문헌 1: 일본 특개 2002-297226호 공보
그렇지만, 상기 종래의 기술에 의하면, 시뮬레이션의 정밀도를 향상시키기 위해서는, 설계자가 프로그래머블 컨트롤러의 유저 프로그램을 변경하는 등의 대응이 필요하다. 즉, 종래는 설계자가 프로그래머블 컨트롤러의 유저 프로그램을 수정하는 등 하여, 프로그래머블 컨트롤러 실제 기기의 1사이클의 시간과 3D CAD 시뮬레이터의 1사이클의 시간을 동기시키고 있다. 그러나 이러한 처리는, 설계자에게 불필요한 부담을 강요하게 되어, 설계자의 부담이 크다고 하는 문제가 있었다.
본 발명은 상기를 감안하여 이루어진 것으로서, 설계자에게 부담을 주는 일 없이, 정밀도가 높은 시뮬레이션을 행하여 개발 시간을 저감 가능한 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴을 얻는 것을 목적으로 한다.
상술한 과제를 해결하여 목적을 달성하기 위해서, 본 발명에 따른 시뮬레이션 시스템은 유저 프로그램을 이용하여 피(被)제어장치를 제어하는 프로그래머블 컨트롤러와, 상기 유저 프로그램에 의해 상기 피제어장치를 제어하는 동작을 모의(模擬)하여 시뮬레이션을 행하는 시뮬레이션 장치를 가지는 시뮬레이션 시스템으로서, 상기 프로그래머블 컨트롤러는, 상기 유저 프로그램을 실행하여 연산 처리를 행하는 연산부와, 상기 연산 처리의 결과를 격납하는 기억부를 구비하고, 상기 연산부는, 상기 유저 프로그램에 있어서의 1사이클분의 연산 처리가 종료된 시점에서, 새로운 사이클분의 연산 처리를 행하지 않는 일시 정지 상태로 천이함과 아울러, 상기 1사이클분의 연산 처리의 결과를 상기 기억부에 격납하고, 상기 일시 정지 상태의 해제를 지시하는 정지 해제 지시 커멘드를 상기 시뮬레이션 장치로부터 수신했을 경우에, 상기 일시 정지 상태를 해제함과 아울러 상기 기억부에 격납된 상기 1사이클분의 상기 연산 처리의 결과를 상기 시뮬레이션 장치에 송신하고, 상기 시뮬레이션 장치는, 상기 피제어장치를 제어하는 동작을 상기 피제어장치의 2차원 형상 모델 또는 3차원 형상 모델을 제어함으로써 모의하여 시뮬레이션을 행하는 시뮬레이션부와, 상기 정지 해제 지시 커멘드를 생성하는 정지 해제 지시 커멘드 생성부를 구비하고, 상기 시뮬레이션부는, 상기 프로그래머블 컨트롤러로부터 송신되는 1사이클분의 상기 유저 프로그램의 연산 처리의 결과에 기초하여 1사이클분의 시뮬레이션을 실행하고, 상기 1사이클분의 시뮬레이션이 종료된 시점에서, 새로운 사이클분의 시뮬레이션을 행하지 않는 일시 정지 상태로 천이함과 아울러, 상기 정지 해제 지시 커멘드 생성부가 생성한 상기 정지 해제 지시 커멘드를 상기 프로그래머블 컨트롤러에 송신하는 것을 특징으로 한다.
본 발명에 의하면, 설계자에게 부담을 주는 일 없이, 정밀도가 높은 시뮬레이션을 행하여 개발 시간을 저감시킬 수 있다고 하는 효과를 달성한다.
도 1은 본 발명의 실시 형태 1에 따른 시뮬레이션 시스템을 나타내는 도면이다.
도 2는 본 발명의 실시 형태 1에 따른 시뮬레이션 시스템에 있어서의 시뮬레이션의 절차 중 PLC에 있어서의 처리 절차를 나타내는 순서도이다.
도 3은 본 발명의 실시 형태 1에 따른 시뮬레이션 시스템에 있어서의 시뮬레이션의 절차 중 시뮬레이션 장치에 있어서의 처리 절차를 나타내는 순서도이다.
도 4는 본 발명의 실시 형태 1에 따른 시뮬레이션 시스템에서의 시뮬레이션에 있어서의 처리의 흐름을 설명하는 도면이다.
도 5는 본 발명의 실시 형태 2에 따른 엔지니어링 툴의 구성을 나타내는 도면이다.
도 6은 본 발명의 실시 형태에 따른 시뮬레이션 장치 및 PLC로서의 기능을 실현하는 컴퓨터 장치의 구성의 일례를 모식적으로 나타내는 블록도이다.
이하에, 본 발명에 따른 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴의 실시 형태를 도면에 기초하여 상세하게 설명한다. 또한, 본 발명은 이하의 기술로 한정되는 것이 아니고, 본 발명의 요지를 일탈하지 않는 범위에 있어서 적당히 변경 가능하다.
실시 형태 1.
도 1은 본 발명의 실시 형태 1에 따른 시뮬레이션 시스템을 나타내는 도면이다. 본 실시 형태에 따른 시뮬레이션 시스템은, 시뮬레이션 장치(100)와 프로그래머블 컨트롤러(Programmable Logic Controller:PLC)(200)를 구비한다. 시뮬레이션 장치(100)는 PLC(200)로부터 취득한 연산 결과에 기초하여 피제어장치의 동작을 시뮬레이션하여 표시한다. PLC(200)는 유저 프로그램에 따라서 명령의 연산을 행하고, 연산 결과를 그 PLC(200)에 접속되는 피제어장치(도시하지 않음)에 출력하여 그 피제어장치의 동작을 제어한다.
시뮬레이션 장치(100)는 입력부(111)와, 표시부(113)와, 불휘발성 메모리(115)와, 휘발성 메모리(117)와, 시뮬레이션부(119)와, 정지 해제 지시 커멘드 생성부(121)와, 데이터 송신용 커멘드 해석부(123)와, 통신부(125)와, 제어부(127)를 구비한다. 이들 각 구성부는, 내부 버스(129)에 의해 접속되어 있다.
입력부(111)는 설계자 또는 외부 장치 등으로부터의 각종 정보를 입력하는 입력 수단이다.
표시부(113)는 시뮬레이션에 있어서의 피제어장치의 2차원 형상 모델 또는 3차원 형상 모델, 프로그램, 그 외의 각종 정보를 표시하는 표시 수단이며, 예를 들면, LCD(액정 표시 디바이스)이다.
불휘발성 메모리(115)는 데이터 송신용 커멘드의 해석 결과인 PLC(200)로부터 송신되는 데이터 송신용 커멘드로부터 취득한 PLC(200)의 연산 결과(133)를 격납하는 데이터 메모리 영역(131)을 가지는 기억부이다. 또, 데이터 메모리 영역(131)에는 시뮬레이션 장치(100)에서의 처리 데이터도 격납된다. 또, 불휘발성 메모리(115)는, 시뮬레이션부(119)가 시뮬레이션을 실행하기 위한 프로그램 등의 시뮬레이션 장치(100)가 동작하기 위한 각종 프로그램(137)을 격납하는 프로그램 메모리 영역(135)을 가진다.
휘발성 메모리(117)는 시뮬레이션 장치(100)에 있어서의 각종 처리에 있어서 이용되는 워크 에어리어(139)를 가지는 기억부이다. 워크 에어리어(139)에서는, 플래그나 커멘드, 데이터가 관리되고, 예를 들어 시간 동기 기능용 플래그(141), 정지 해제 지시 커멘드(143) 등의 정보가 격납된다.
시뮬레이션부(119)는 시뮬레이션을 실행한다. 시뮬레이션부(119)는 시뮬레이션 연산부(145)와 묘화부(147)를 가진다. 시뮬레이션 연산부(145)는 PLC(200)의 연산 결과에 기초하여 피제어장치의 동작에 대한 시뮬레이션의 연산을 행한다. 묘화부(147)는 시뮬레이션 연산부(145)에서의 연산 결과에 기초하여 피제어장치의 2차원 형상 모델 또는 3차원 형상 모델을 묘화하기 위한 연산을 행하고, 연산 결과에 기초하여 2차원 형상 모델 또는 3차원 형상 모델을 표시부(113)에 묘화한다.
정지 해제 지시 커멘드 생성부(121)는, 휘발성 메모리(117)의 워크 에어리어(139)에 있어서의 시간 동기 기능용 플래그(141)로서 일시 정지 모드 플래그가 설정되었을 경우에, PLC(200)의 일시 정지 상태의 해제를 지시하는 정지 해제 지시 커멘드를 생성한다.
데이터 송신용 커멘드 해석부(123)는 PLC(200)로부터 수신한 데이터 송신용 커멘드의 해석을 행하고, 그 데이터 송신용 커멘드를 시뮬레이션 장치(100)에서 사용 가능한 형식으로 변환한다.
통신부(125)는 시뮬레이션 장치(100)와 PLC(200)의 사이에서 서로 데이터를 송수신하기 위해서, PLC(200)의 통신부(225)와의 사이에서 통신을 행한다. 통신부(125)와 PLC(200)의 통신부(225)는, 통신 회선(149)에 의해 접속되어 있다. 또한, 통신부(225)와의 사이의 통신 수단은 특별히 제한되지 않는다.
제어부(127)는 시뮬레이션 장치(100) 내에 있어서의 처리 전반을 제어한다.
다음으로, PLC(200)의 구성에 대해서 설명한다. PLC(200)는 입력부(211)와, 표시부(213)와, 불휘발성 메모리(215)와, 휘발성 메모리(217)와, 명령 실행 엔진부(219)와, 데이터 송신용 커멘드 생성부(221)와, 수신 데이터용 커멘드 해석부(223)와, 통신부(225)와, 제어부(227)를 구비한다. 이들 각 구성부는, 내부 버스(229)에 의해 접속되어 있다.
입력부(211)는 유저 또는 외부 장치 등으로부터의 각종 정보를 입력하는 입력 수단이다.
표시부(213)는 설계자가 작성한 유저 프로그램, PLC(200)에 입출력되는 각종 정보 등을 표시하는 표시 수단이며, 예를 들면, LCD(액정 표시 디바이스)이다.
불휘발성 메모리(215)는 PLC(200)가 동작하기 위한 각종 프로그램 및 유저 프로그램 등의 프로그램(233)을 격납하는 프로그램 메모리 영역(231)과, 유저 프로그램의 연산 결과(237)를 격납하는 데이터 메모리 영역(235)을 가지는 기억부이다. 여기서, 유저 프로그램의 연산 결과의 구체인 예로서는, 예를 들어 피제어장치가 로봇이면, 엔드 이펙터(end effector)의 위치, 엔드 이펙터의 이동 속도를 들 수 있다. 또, 예를 들어 피제어장치가 윤전기(輪轉機)이면, 회전수, 회전 속도를 들 수 있다. 또, 예를 들어 피제어장치가 플랜트 설비(plant facility)이면, 프로세스량 등을 들 수 있다.
휘발성 메모리(217)는 PLC(200)에 있어서의 각종 처리에 있어서 이용되는 워크 에어리어(239)를 가지는 기억부이다. 워크 에어리어(239)에서는, 플래그나 커멘드, 데이터가 관리되며, 예를 들어 시간 동기 기능용 플래그(241), 데이터 송신용 커멘드(243) 등의 정보가 격납된다.
명령 실행 엔진부(219)는 유저 프로그램에 기초하여 그 유저 프로그램의 명령을 실행하여 연산을 행하는 연산부이다. 연산 결과는, 피제어장치를 제어하기 위한 제어 데이터가 된다.
데이터 송신용 커멘드 생성부(221)는 워크 에어리어(239) 내의 데이터에 기초하여 데이터 송신용 커멘드를 생성한다.
수신 데이터용 커멘드 해석부(223)는 시뮬레이션 장치(100)로부터 수신한 수신 데이터의 해석을 행하고, 수신 데이터를 PLC(200)에서 사용 가능한 형식으로 변환한다.
통신부(225)는 PLC(200)와 시뮬레이션 장치(100)의 사이에서 서로 데이터를 송수신하기 위해서, 시뮬레이션 장치(100)의 통신부(125)와의 사이에서 통신을 행한다. 통신부(125)와의 사이의 통신 수단은 특별히 제한되지 않는다.
제어부(227)는 PLC(200) 내에 있어서의 처리 전반을 제어한다.
다음으로, 시뮬레이션 시스템에 있어서의 시뮬레이션의 절차에 대해서 설명한다. 도 2는 실시 형태 1에 따른 시뮬레이션 시스템에 있어서의 시뮬레이션의 절차 중 PLC(200)에 있어서의 처리 절차를 나타내는 순서도이다. 도 3은 실시 형태 1에 따른 시뮬레이션 시스템에 있어서의 시뮬레이션의 절차 중 시뮬레이션 장치(100)에 있어서의 처리 절차를 나타내는 순서도이다. 도 4는 실시 형태 1에 따른 시뮬레이션 시스템에서의 시뮬레이션에 있어서의 처리의 흐름을 설명하는 도면이다. 도 4에 있어서, 해칭 부분이 시뮬레이션 장치(100)에 있어서의 유저 프로그램의 명령을 실행하여 연산 처리를 실행하고 있는 시간, 또는 PLC(200)에 있어서의 시뮬레이션을 실행하고 있는 시간을 나타내고 있다.
먼저, 시뮬레이션 장치(100) 및 PLC(200)의 전원이 투입되면, PLC(200)에서는 명령 실행 엔진부(219)가, 시뮬레이션 대상이 되는 유저 프로그램의 명령의 1사이클분을, 소정의 초기 데이터에 기초하여 실행하고 연산을 행한다. 그리고 유저 프로그램의 1사이클분의 연산이 종료되면, 명령 실행 엔진부(219)는 엔드 처리를 행한다(스텝 S110). 엔드 처리는 시뮬레이션 장치(100) 등의 외부 기기와의 통신 등의, 명령 실행 이외의 처리이다. 이 엔드 처리 중에서, 명령 실행 엔진부(219)는 유저 프로그램의 연산 결과(237)를 불휘발성 메모리(215)에 있어서의 데이터 메모리 영역(235)에 격납한다.
엔드 처리가 종료되면, 데이터 송신용 커멘드 생성부(221)는, 데이터 메모리 영역(235)에 격납된 유저 프로그램의 연산 결과(237)를 포함하는 데이터 송신용 커멘드를 생성하여 휘발성 메모리(217)의 워크 에어리어(239)에 데이터 송신용 커멘드(243)로서 격납한다(스텝 S120).
또, 명령 실행 엔진부(219)는 엔드 처리가 종료되면, 워크 에어리어(239)에 있어서의 시간 동기 기능용 플래그(241)로서 일시 정지 모드 플래그를 설정, 즉 일시 정지 모드 플래그를 온으로 한다(스텝 S130). 이것에 의해, 명령 실행 엔진부(219)는 일시 정지 모드로 천이하여, 유저 프로그램의 실행·연산을 행하지 않고, 일시 정지 상태가 된다.
이 PLC(200)의 시간 동기 기능용 플래그(241)에 있어서의 일시 정지 모드 플래그는, 명령 실행 엔진부(219)가 유저 프로그램의 명령을 실행하지 않는 일시 정지 상태로 천이하는 것을 지시하기 위한 플래그이다. 이 일시 정지 모드 플래그가 설정되었을 경우에는, 명령 실행 엔진부(219)는 일시 정지 상태로 천이된다. 또, 일시 정지 모드 플래그가 해제, 즉 일시 정지 모드 플래그가 오프로 되었을 경우에는, 명령 실행 엔진부(219)는 일시 정지 상태로부터 유저 프로그램의 명령을 실행하는 통상의 모드로 천이한다.
이러한 일시 정지 모드 플래그의 설정에 의해 명령 실행 엔진부(219)가 일시 정지 상태로 천이하는 기능은, 예를 들어 펌 웨어 등에 미리 인스톨된다. 이 때문에, 일 명령 실행 엔진부(219)가 일시 정지 상태가 되는 기능을 이용하기 위한 설계자에 의한 유저 프로그램의 작성, 유저 프로그램의 변경 등의 처리가 불필요하여, 설계자에게 부담을 주는 일이 없다.
한편, 시뮬레이션 장치(100)에서는, 전원이 투입되면 시뮬레이션부(119)가, 피제어장치의 동작에 대한 시뮬레이션을 소정의 초기 데이터에 기초하여 1사이클분만큼 실행한다(스텝 S210). 즉, 시뮬레이션 연산부(145)는 소정의 초기 데이터에 기초하여 피제어장치의 동작에 대한 시뮬레이션의 연산을 행한다. 그리고 묘화부(147)는 시뮬레이션 연산부(145)에서의 연산 결과에 기초하여 피제어장치의 3차원 형상 모델을 묘화하기 위한 연산을 행하고, 연산 결과에 기초하여 3차원 형상 모델을 표시부(113)에 묘화한다. 또한, 여기에서는 3차원 형상 모델을 묘화하는 경우에 대해 나타내고 있지만, 2차원 형상 모델의 경우도 마찬가지로 하여 묘화할 수 있다. 이하에 있어서도 마찬가지이다.
1사이클분의 시뮬레이션이 종료되면, 시뮬레이션 연산부(145)는 휘발성 메모리(117)의 워크 에어리어(139)에 있어서의 시간 동기 기능용 플래그(141)로서 일시 정지 모드 플래그를 설정한다(스텝 S220). 이것에 의해, 시뮬레이션부(119)는 일시 정지 모드로 천이하여, 시뮬레이션은 행하지 않고 일시 정지 상태가 된다.
이 시뮬레이션 장치(100)의 시간 동기 기능용 플래그(141)에 있어서의 일시 정지 모드 플래그는, 시뮬레이션부(119)가, 시뮬레이션을 실행하지 않는 일시 정지 상태로 천이하는 것을 지시하기 위한 플래그이다. 이 일시 정지 모드 플래그가 설정되었을 경우에는, 시뮬레이션부(119)는 일시 정지 상태로 천이된다. 또, 일시 정지 모드 플래그가 해제, 즉 일시 정지 모드 플래그가 오프로 되었을 경우에는, 시뮬레이션부(119)는 일시 정지 상태로부터 시뮬레이션을 실행하는 통상의 모드로 천이한다.
일시 정지 모드 플래그가 설정되면, 정지 해제 지시 커멘드 생성부(121)는 정지 해제 지시 커멘드를 생성하여, 휘발성 메모리(117)의 워크 에어리어(139)에 정지 해제 지시 커멘드(143)로서 격납한다.
정지 해제 지시 커멘드(143)가 휘발성 메모리(117)의 워크 에어리어(139)에 격납되면, 시뮬레이션 연산부(145)는, 통신부(125), 통신 회선(149)을 통해서 그 정지 해제 지시 커멘드(143)를 PLC(200)의 통신부(225)에 송신한다(스텝 S230). 이 시점에서, 시뮬레이션 시스템에 있어서의 시뮬레이션 처리의 1회째 사이클인 사이클 1이 종료한다.
PLC(200)의 통신부(225)는, 시뮬레이션 장치(100)로부터 송신된 정지 해제 지시 커멘드(143)를, 통신 회선(149)을 통해서 수신한다(스텝 S140). PLC(200)의 통신부(225)는, 수신한 정지 해제 지시 커멘드(143)를 수신 데이터용 커멘드 해석부(223)에 송신한다. 수신 데이터용 커멘드 해석부(223)는, 정지 해제 지시 커멘드(143)의 해석을 행하여, 정지 해제 지시 커멘드(143)를 PLC(200)에서 사용 가능한 형식으로 변환한다. 그리고 수신 데이터용 커멘드 해석부(223)는, 해석 완료된 정지 해제 지시 커멘드(143)를 명령 실행 엔진부(219)에 송신한다.
또, 명령 실행 엔진부(219)는 휘발성 메모리(217)의 워크 에어리어(239)에 격납된, 유저 프로그램의 연산 결과(237)를 포함하는 데이터 송신용 커멘드(243)를, 통신부(225), 통신 회선(149)을 통해서 시뮬레이션 장치(100)의 통신부(125)에 송신한다(스텝 S150).
또, 명령 실행 엔진부(219)는, 해석 완료된 정지 해제 지시 커멘드(143)를 수신하면, 워크 에어리어(239)의 시간 동기 기능용 플래그(241)의 일시 정지 모드 플래그를 해제한다(스텝 S160). 이것에 의해, 명령 실행 엔진부(219)는 일시 정지 모드를 해제한다. 이 시점에서, PLC(200)에 있어서의 1회째 사이클인 사이클 1이 종료된다. 그리고 명령 실행 엔진부(219)는 유저 프로그램에 있어서의 다음 1사이클분인 2번째의 사이클분의 유저 프로그램의 명령을 실행하고 연산을 행한다.
또한, 이러한 일시 정지 모드 플래그의 해제에 의해 명령 실행 엔진부(219)의 일시 정지 상태가 해제되는 기능은, 예를 들어 펌 웨어 등에 미리 인스톨된다. 이 때문에, 일 명령 실행 엔진부(219)의 일시 정지 상태의 해제 기능을 이용하기 위한 설계자에 의한 유저 프로그램의 작성, 유저 프로그램의 변경 등의 처리가 불필요하여, 설계자에게 부담을 주는 일이 없다.
그리고 유저 프로그램에 있어서의 다음 1사이클분의 연산이 종료되면, 명령 실행 엔진부(219)는 엔드 처리를 행한다(스텝 S170). 이 엔드 처리 중에서, 명령 실행 엔진부(219)는 새로운 유저 프로그램의 연산 결과(237)를 불휘발성 메모리(215)에 있어서의 데이터 메모리 영역(235)에 격납한다.
그 다음은, PLC(200)는 원하는 시뮬레이션 대상의 유저 프로그램에 대해서, 스텝 S120으로 돌아가서 처리를 반복한다. 또한, 데이터 송신용 커멘드 생성부(221)는 데이터 메모리 영역(235)에 격납된 최신의 유저 프로그램의 연산 결과(237)를 포함하는 데이터 송신용 커멘드를 생성하여 휘발성 메모리(217)의 워크 에어리어(239)에 데이터 송신용 커멘드(243)로서 격납한다.
한편, 시뮬레이션 장치(100)의 통신부(125)는, PLC(200)로부터 송신된 데이터 송신용 커멘드(243)를, 통신 회선(149)을 통해서 수신한다(스텝 S240). 통신부(125)는 데이터 송신용 커멘드(243)를 수신하면, 수신한 데이터 송신용 커멘드(243)를 데이터 송신용 커멘드 해석부(123)에 송신한다. 데이터 송신용 커멘드 해석부(123)는 데이터 송신용 커멘드(243)의 해석을 행하여, 데이터 송신용 커멘드(243)를 시뮬레이션 장치(100)에서 사용 가능한 형식으로 변환한다. 그리고 데이터 송신용 커멘드 해석부(123)는 데이터 송신용 커멘드(243)로부터 취득한 PLC(200)의 연산 결과를 불휘발성 메모리(115)의 데이터 메모리 영역(131)에 PLC(200)의 연산 결과(133)로서 격납한다.
PLC(200)의 연산 결과(133)가 데이터 메모리 영역(131)에 격납되면, 시뮬레이션부(119)는 휘발성 메모리(117)의 워크 에어리어(139)의 일시 정지 모드 플래그를 해제한다(스텝 S250). 이것에 의해, 시뮬레이션부(119)는 일시 정지 모드를 해제하고, 데이터 메모리 영역(131)에 격납된 PLC(200)의 연산 결과(133)에 기초하여, 다음 1사이클분의 시뮬레이션을 실행한다(스텝 S260). 즉, 시뮬레이션 연산부(145)는, PLC(200)의 연산 결과(133)에 기초하여 피제어장치의 동작에 대한 시뮬레이션의 연산을 행한다. 그리고 묘화부(147)는, 시뮬레이션 연산부(145)에서의 연산 결과에 기초하여 피제어장치의 3차원 형상 모델을 묘화하기 위한 연산을 행하여, 연산 결과에 기초하여 3차원 형상 모델을 표시부(113)에 묘화한다.
그리고 시뮬레이션 장치(100)는, PLC(200)로부터 데이터 송신용 커멘드(243)가 송신될 때마다, 스텝 S260에서 스텝 S220으로 돌아가서 처리를 반복한다.
상기의 본 실시 형태에 따른 시뮬레이션 시스템에 있어서는, PLC(200)는 유저 프로그램을 1사이클분 실행할 때마다 1사이클분의 종료 위치, 즉 엔드 처리가 종료된 시점에서 명령 실행 엔진부(219)에 있어서의 명령 실행 처리 즉 연산 처리를 일시 정지하여, 1사이클분의 연산 처리의 결과를 유지한다. 한편, 시뮬레이션 장치(100)는 1사이클분의 시뮬레이션 처리가 종료된 시점에서 시뮬레이션부(119)가 시뮬레이션 처리를 일시 정지하고, 정지 해제 지시 커멘드를 PLC(200)에 송신한다.
PLC(200)의 명령 실행 엔진부(219)는, 정지 해제 지시 커멘드를 수취하면 일시 정지 상태를 해제하고, 일시 정지 상태가 되기 직전의 1사이클분의 연산 처리의 결과를 시뮬레이션 장치(100)에 송신함과 아울러 유저 프로그램의 명령을 다음 사이클분만큼 실행하고 일시 정지한다. 그리고 시뮬레이션 장치(100)에서는, 1사이클분의 연산 처리의 결과를 수신하면, 시뮬레이션부(119)의 일시 정지 상태를 해제하고 그 1사이클분의 연산 처리의 결과에 기초하여 다음 사이클의 시뮬레이션을 개시한다. 그리고 시뮬레이션 처리가 종료된 시점에서 시뮬레이션부(119)가 시뮬레이션 처리를 일시 정지하고, 정지 해제 지시 커멘드를 PLC(200)에 송신한다.
이러한 처리구를 반복하여 실행함으로써, PLC(200)에 있어서의 사이클의 개시 타이밍인 유저 프로그램의 명령 실행 개시의 타이밍과, 시뮬레이션 장치(100)에 있어서의 사이클의 개시 타이밍인 시뮬레이션의 개시의 타이밍을 거의 동시에 맞춰서, PLC(200)와 시뮬레이셔 장치(100)의 처리 사이클 개시의 타이밍을 동기시킬 수 있다.
PLC(200)의 1사이클에는, 유저 프로그램을 1사이클분만큼 실행하는 시간과, 유저 프로그램의 실행이 종료되고 일시 정지 상태가 되고 나서 정지 해제 지시 커멘드를 수신하여 일시 정지 상태를 해제할 때까지의 시간이 포함된다. 한편, 시뮬레이션 장치(100)의 1사이클은, 시뮬레이션을 개시하고 나서 시뮬레이션을 종료하고 정지 해제 지시 커멘드를 PLC(200)에 송신할 때까지의 시간이 포함된다.
그리고 시뮬레이션 장치(100)가 정지 해제 지시 커멘드를 PLC(200)에 송신하고 1사이클을 종료하는 타이밍과, PLC(200)가 그 정지 해제 지시 커멘드의 수신에 의해 일시 정지 상태를 해제하고 1사이클을 종료하는 타이밍은, 거의 동시이며, 시간 동기가 취해져 있다. 또, PLC(200)가 데이터 송신용 커멘드를 시뮬레이션 장치(100) 장치에 송신함과 아울러 다음 사이클을 개시하면, 시뮬레이션 장치(100)가 그 데이터 송신용 커멘드를 수신하고 다음 사이클을 개시하는 타이밍은, 거의 동시이며, 시간 동기가 취해져 있다.
따라서 본 실시 형태에 따른 시뮬레이션 시스템에서는, PLC(200)의 사이클과, 시뮬레이션 장치(100)의 사이클을 동기시킬 수 있다. 이것에 의해, PLC(200)의 연산 결과가 1사이클씩 확실히 시뮬레이션 장치(100)에서의 시뮬레이션에 적용된다. 예를 들어 PLC(200)에 있어서의 1회째 사이클의 연산으로 얻어진 데이터는, 시뮬레이션 장치(100)에 있어서의 2번째의 사이클에 확실히 이용된다. 또, 예를 들어 PLC(200)에 있어서의 3번째의 사이클의 연산으로 얻어진 데이터는, 시뮬레이션 장치(100)에 있어서의 4번째의 사이클에 확실히 이용된다.
이것에 의해, 시뮬레이션 장치(100)가 새로운 사이클을 실시할 때에는, 동기된 직전의 사이클에 있어서의 PLC(200)의 연산 결과를 이용하여 시뮬레이션이 행해진다. 따라서 PLC(200)의 사이클과 시뮬레이션 장치(100)의 사이클과의 편차에 기인하여 시뮬레이션 장치(100)에 있어서의 시뮬레이션 결과에 오차가 생기는 것을 방지할 수 있어, 시뮬레이션의 정밀도를 향상시킬 수 있다.
여기서, PLC(200)의 사이클과, 시뮬레이션 장치(100)의 사이클의 1사이클의 시간을 동기하기 위한 기능, 즉 명령 실행 엔진부(219)의 일시 정지 상태의 설정 및 해제의 기능을 미리 PLC(200)에 마련함으로써, 설계자의 부담을 없앨 수 있다. 즉, 본 실시 형태에 따른 시뮬레이션 시스템에 있어서는, 설계자가 PLC(200)의 유저 프로그램을 수정하는 등 하여, PLC(200)의 1사이클의 시간과 시뮬레이션 장치(100)의 1사이클의 시간을 동기시킬 필요가 없다. 따라서 본 실시 형태에 따른 시뮬레이션 시스템에 있어서는, 설계자에 의한 PLC(200)의 유저 프로그램의 수정 또는 원상 복귀를 위한 작업이 불필요하여, 유저 프로그램의 디버그 처리의 공정수의 저감, PLC의 개발 공정수의 저감이 가능하다.
또한, 상기에 있어서는, PLC(200)의 1회째 사이클과, 시뮬레이션 장치(100)의 1회째 사이클이 동시에 시작되는 경우에 대해서 설명했지만, PLC(200)의 1회째 사이클과, 시뮬레이션 장치(100)의 1회째 사이클은 동시에 시작될 필요는 없다. PLC(200)와 시뮬레이션 장치(100)의 1회째 사이클이 다른 타이밍에서 시작된 경우에도, PLC(200)의 1회째 사이클이 시뮬레이션 장치(100)의 1회째 사이클보다도 빨리 끝나면, PLC(200)는 1회째 사이클의 종료 후에 일시 정지 상태가 되어, 상기와 마찬가지의 처리가 행해진다. 이것에 의해, 2번째의 사이클로부터는, PLC(200)의 사이클과, 시뮬레이션 장치(100)의 사이클이 동기된다.
따라서 실시 형태 1에 의하면, 설계자에게 부담을 주는 일 없이, 정밀도가 높은 시뮬레이션을 행하여, 유저 프로그램의 디버그 처리 및 PLC(200)의 개발을 단시간에 행할 수 있다고 하는 효과를 달성한다.
실시 형태 2.
실시 형태 2에서는, 실시 형태 1에 제시한 것처럼 PLC(200)의 명령 실행 엔진부(219)가 유저 프로그램을 실행할 때에 1사이클마다 일시 정지를 행하는 시뮬레이션 동작 모드와, PLC(200)의 명령 실행 엔진부(219)가 유저 프로그램을 1사이클 실시할 때마다 일시 정지하는 일 없이 연속하여 실행하는 통상 동작 모드를 전환하는 기능에 대해서 설명한다.
실시 형태 1에 제시한 것처럼, PLC(200)가 유저 프로그램을 실행할 때에 1사이클마다 일시 정지를 행하는 시뮬레이션 동작 모드는, 시뮬레이션을 행하는 경우에 이용되고, 실제 설비의 가동시에는 이용되지 않는다. 이 때문에, 실제로 설비를 가동할 때에는, PLC(200)의 동작 모드를 시뮬레이션 동작 모드로부터 통상 동작 모모드로 전환할 필요가 있다.
PLC(200)의 시뮬레이션 동작 모드와 통상 동작 모드의 전환은, 예를 들어 PLC(200)에 있어서의 휘발성 메모리(217)의 워크 에어리어(239)의 시간 동기 기능용 플래그로 관리된다. 이 경우에는, 시간 동기 기능용 플래그로서 시뮬레이션 동작 모드 전환 플래그를 마련하다. 시뮬레이션 동작 모드 전환 플래그는, PLC(200)의 동작 모드를 시뮬레이션 동작 모드로 설정하기 위한 플래그이다.
워크 에어리어(239)의 시간 동기 기능용 플래그에 시뮬레이션 동작 모드 전환 플래그가 설정되었을 경우에는, PLC(200)는 실시 형태 1에 제시한 시뮬레이션 동작 모드에서 동작한다. 한편, 시뮬레이션 동작 모드 전환 플래그가 설정되어 있지 않은 경우에는, PLC(200)는 통상의 동작 모드에서 동작한다. 즉, 명령 실행 엔진부(219)는 유저 프로그램을 실행하기 전에, 워크 에어리어(239)의 시간 동기 기능용 플래그에 있어서의 시뮬레이션 동작 모드 전환 플래그의 설정 상태를 검지한다. 그리고 시뮬레이션 동작 모드 전환 플래그가 설정되어 있는 경우에는, 시뮬레이션 동작 모드에서 동작한다. 또, 시뮬레이션 동작 모드 전환 플래그가 설정되어 있지 않은 경우에는, 명령 실행 엔진부(219)는 통상의 동작 모드에서 동작한다.
시뮬레이션 동작 모드 전환 플래그의 설정 및 해제는, 예를 들어 PLC(200)의 유저 프로그램을 작성·편집을 행하는 엔지니어링 툴(300)에 의해 행할 수 있다. 도 5는 실시 형태 2에 따른 엔지니어링 툴(300)의 구성을 나타내는 도면이다. 엔지니어링 툴(300)은 입력부(311), 표시부(313), 프로그램 편집부(315), 동작 모드 설정부(317), 통신부(319), 기억부(321), 제어부(323)를 가진다. 이들 각 구성부는, 내부 버스(325)에 의해 접속되어 있다. 또한, PLC(200)의 설치 장소로 운반 가능한 휴대형(portable type)이어도 좋고, 예를 들면 감시실 등에 설치된 고정형(stationary type)이라도 좋다.
입력부(311)는 설계자 또는 외부 장치 등으로부터의 각종 정보를 입력하는 입력 수단이다.
표시부(313)는 유저 프로그램의 작성·편집용의 정보, 시뮬레이션 동작 모드 전환 플래그의 설정 및 해제에 관한 정보 등, 엔지니어링 툴(300)에 있어서 입출력되는 각종 정보 등을 표시하는 표시 수단이며, 예를 들면, LCD(액정 표시 디바이스)이다.
프로그램 편집부(315)는 입력부(311)로부터 입력되는 정보 등에 기초하여 유저 프로그램의 작성·편집을 행한다.
동작 모드 설정부(317)는 PLC(200)의 워크 에어리어(239)에 있어서의 시뮬레이션 동작 모드 전환 플래그의 설정 및 해제를 행한다.
통신부(319)는 엔지니어링 툴(300)과 PLC(200)와의 사이에서 서로 데이터를 송수신하기 위해서, PLC(200)의 통신부(225)와의 사이에서 통신을 행한다. 통신부(319)와 PLC(200)의 통신부(225)는, 예를 들면 통신 회선(327)에 의해 접속되어 있다. 또한, 통신부(225)와의 사이의 통신 수단은 특별히 제한되지 않는다.
기억부(321)는, 엔지니어링 툴(300)이 동작하기 위한 각종 프로그램, 엔지니어링 툴(300)에 있어서의 각종 처리에 있어서 생성되는 각종 데이터 등의 정보가 격납된다.
제어부(323)는 엔지니어링 툴(300) 내에 있어서의 처리 전반을 제어한다.
엔지니어링 툴(300)에 의해 PLC(200)의 시뮬레이션 동작 모드 전환 플래그의 설정을 행하는 경우에는, 예를 들어 설계자가, 시뮬레이션 동작 모드 전환 플래그의 설정을 지시하는 정보를, 입력부(311)를 이용하여 엔지니어링 툴(300)에 입력한다. 제어부(323)는 이 정보에 기초하여, PLC(200)에 대해서 시뮬레이션 동작 모드 전환 플래그의 설정을 지시하는 설정 지시 커멘드를 통신부(319)를 통해서 송신한다.
PLC(200)의 통신부(225)는, 엔지니어링 툴(300)로부터 송신된 설정 지시 커멘드를 통신 회선(327)을 통해서 수신한다. PLC(200)의 통신부(225)는, 수신한 설정 지시 커멘드를 수신 데이터용 커멘드 해석부(223)에 송신한다. 수신 데이터용 커멘드 해석부(223)는 설정 지시 커멘드의 해석을 행하고, 설정 지시 커멘드를 PLC(200)에서 사용 가능한 형식으로 변환한다. 그리고 수신 데이터용 커멘드 해석부(223)는 해석 완료된 설정 지시 커멘드를 제어부(227)에 송신한다.
제어부(227)는 해석 완료된 설정 지시 커멘드를 수신하면, 그 설정 지시 커멘드에 기초하여 휘발성 메모리(217)의 워크 에어리어(239)에 있어서의 시간 동기 기능용 플래그에 시뮬레이션 동작 모드 전환 플래그를 설정한다.
또, 엔지니어링 툴(300)에 의해 PLC(200)의 시뮬레이션 동작 모드 전환 플래그의 해제를 행하는 경우에는, 제어부(323)는 설정 지시 커멘드 대신에, PLC(200)에 대해서 시뮬레이션 동작 모드 전환 플래그의 해제를 지시하는 해제 지시 커멘드를, 통신부(319)를 통해서 송신한다. PLC(200)에서는, 상기와 마찬가지의 경로로 처리가 행해져서, 제어부(227)가 해제 지시 커멘드에 기초하여 휘발성 메모리(217)의 워크 에어리어(239)에 있어서의 시간 동기 기능용 플래그의 시뮬레이션 동작 모드 전환 플래그를 해제한다.
또, 시뮬레이션 동작 모드 전환 플래그의 설정 및 해제는, 예를 들어 시뮬레이션 동작 모드 전환 플래그의 설정 및 해제용의 프로그램을 PLC(200)가 유지함으로써도 실시 가능하다. 이 경우는, 예를 들어 설계자가, 시뮬레이션 동작 모드 전환 플래그의 설정을 지시하는 설정 지시 정보 또는 시뮬레이션 동작 모드 전환 플래그의 해제를 지시하는 해제 지시 정보를 입력부(211)를 이용하여 PLC(200)에 입력한다. PLC(200)의 제어부(227)는, 그 설정 지시 정보 또는 해제 지시 정보에 기초하여, 휘발성 메모리(217)의 워크 에어리어(239)에 있어서의 시간 동기 기능용 플래그의 시뮬레이션 동작 모드 전환 플래그를 설정 또는 해제한다.
상술한 것처럼, 실시 형태 2에서는, 엔지니어링 툴(300) 또는 PLC(200)에 유지하는 시뮬레이션 동작 모드 전환 플래그의 설정 및 해제용의 프로그램을 이용하여, PLC(200)의 동작 모드를 시뮬레이션 동작 모드 또는 통상 동작 모드에 용이하게 전환할 수 있다. 이것에 의해, 시뮬레이션 장치(100)와 PLC(200)의 시간 동기 방법에 대해서 잘 모르는 설계자라도, PLC(200)의 동작 모드를 시뮬레이션 동작 모드 또는 통상 동작 모드로 용이하게 전환할 수 있다.
실시 형태 3.
상술한 실시 형태에 따른 시뮬레이션 시스템에 있어서의 시뮬레이션 장치(100) 및 PLC(200)에 있어서 실행되는 시뮬레이션 방법을, 그 시뮬레이션 방법의 처리 절차가 격납된 프로그램으로서 구성하고, 이 프로그램을 도 6에 도시하는 것 같이 CPU, 기억장치 등을 가지는 컴퓨터 장치로 실행함으로써 실현할 수 있다.
도 6은 상술한 실시 형태에 따른 시뮬레이션 장치(100) 및 PLC(200)로서의 기능을 실현하는 컴퓨터 장치(400)의 구성의 일례를 모식적으로 나타내는 블록도이다. 도 6에 도시되는 것처럼, 컴퓨터 장치(400)는 LCD(Liquid Crystal Display) 등의 표시 장치(401), 키보드 등의 입력 장치(402), 연산을 행하는 CPU(403), ROM(Read Only Memory) 등의 불휘발성 메모리(404), RAM(Random Access Memory) 등의 휘발성 메모리(405), 표시 장치(401)에 표시하는 표시 화면을 기억하는 표시용 메모리(406), 플래쉬 메모리 등의 착탈 가능한 외부 메모리와의 인터페이스인 외부 메모리 인터페이스(407), 외부 기기와의 사이에서 통신을 행하는 통신 인터페이스 (408) 등이 내부 버스(409)를 통해서 접속된 구성을 가진다.
그리고 불휘발성 메모리(404)에 격납된 상기의 시뮬레이션 방법의 처리 절차가 기술된 프로그램이 휘발성 메모리(405)에 로드되어, CPU(403)에 의해서 실행된다. 이 프로그램은 하드 디스크, CD(Compact Disk), ROM(Read Only Memory), MO(Magneto-Optical disk), DVD(Digital Versatile Disk 또는 Digital Video Disk) 등의 컴퓨터 장치로 판독 가능한 기록 매체에 기록되거나, 또는 이 프로그램은 인터넷 등의 네트워크(통신 회선)를 통해서 배포될 수도 있다. 이 경우에는, 통신 인터페이스(408)를 통해서 접속된 정보 처리 단말로부터 프로그램이 불휘발성 메모리(404)상에 격납된다.
[산업상의 이용 가능성]
이상과 같이, 본 발명에 따른 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴은, PLC의 유저 프로그램의 디버그 처리를 실시하는 경우에 유용하다.
100: 시뮬레이션 장치, 111: 입력부,
113: 표시부, 115: 불휘발성 메모리,
117: 휘발성 메모리, 119: 시뮬레이션부,
121: 정지 해제 지시 커멘드 생성부, 123: 데이터 송신용 커멘드 해석부,
125: 통신부, 127: 제어부,
129: 내부 버스, 131: 데이터 메모리 영역,
133: PLC의 연산 결과, 135: 프로그램 메모리 영역,
137: 프로그램, 139: 워크 에어리어,
141: 시간 동기 기능용 플래그, 143: 정지 해제 지시 커멘드,
145: 시뮬레이션 연산부, 147: 묘화부,
149: 통신 회선, 200: 프로그래머블 컨트롤러(PLC),
211: 입력부, 213: 표시부,
215: 불휘발성 메모리, 217: 휘발성 메모리,
219: 명령 실행 엔진부, 221: 데이터 송신용 커멘드 생성부,
223: 수신 데이터용 커멘드 해석부, 225: 통신부,
227: 제어부, 229: 내부 버스,
231: 프로그램 메모리 영역, 233: 프로그램,
235: 데이터 메모리 영역, 237: 연산 결과,
239: 워크 에어리어, 241: 시간 동기 기능용 플래그,
243: 데이터 송신용 커멘드, 300: 엔지니어링 툴,
311: 입력부, 313: 표시부,
315: 프로그램 편집부, 317: 동작 모드 설정부,
319: 통신부, 321: 기억부,
323: 제어부, 325: 내부 버스,
327: 통신 회선, 400: 컴퓨터 장치,
401: 표시 장치, 402: 입력 장치,
403: CPU, 404: 불휘발성 메모리,
405: 휘발성 메모리, 406: 표시용 메모리,
407: 외부 메모리 인터페이스, 408: 통신 인터페이스,
409: 내부 버스.

Claims (10)

  1. 유저 프로그램을 이용하여 피(被)제어장치를 제어하는 프로그래머블 컨트롤러와, 상기 유저 프로그램에 의해 상기 피제어장치를 제어하는 동작을 모의(模擬)하여 시뮬레이션을 행하는 시뮬레이션 장치를 가지는 시뮬레이션 시스템으로서,
    상기 프로그래머블 컨트롤러는,
    상기 유저 프로그램을 실행하여 연산 처리를 행하는 연산부와,
    상기 연산 처리의 결과를 격납하는 기억부를 구비하고,
    상기 연산부는,
    상기 유저 프로그램에 있어서의 1사이클분의 연산 처리가 종료된 시점에서, 새로운 사이클분의 연산 처리를 행하지 않는 일시 정지 상태로 천이함과 아울러, 상기 1사이클분의 연산 처리의 결과를 상기 기억부에 격납하고,
    상기 일시 정지 상태의 해제를 지시하는 정지 해제 지시 커멘드를 상기 시뮬레이션 장치로부터 수신했을 경우에, 상기 일시 정지 상태를 해제함과 아울러 상기 기억부에 격납된 상기 1사이클분의 상기 연산 처리의 결과를 상기 시뮬레이션 장치에 송신하고,
    상기 시뮬레이션 장치는,
    상기 피제어장치를 제어하는 동작을 상기 피제어장치의 2차원 형상 모델 또는 3차원 형상 모델을 제어함으로써 모의하여 시뮬레이션을 행하는 시뮬레이션부와,
    상기 정지 해제 지시 커멘드를 생성하는 정지 해제 지시 커멘드 생성부를 구비하고,
    상기 시뮬레이션부는,
    상기 프로그래머블 컨트롤러로부터 송신되는 1사이클분의 상기 유저 프로그램의 연산 처리의 결과에 기초하여 1사이클분의 시뮬레이션을 실행하고,
    상기 1사이클분의 시뮬레이션이 종료된 시점에서, 새로운 사이클분의 시뮬레이션을 행하지 않는 일시 정지 상태로 천이함과 아울러, 상기 정지 해제 지시 커멘드 생성부가 생성한 상기 정지 해제 지시 커멘드를 상기 프로그래머블 컨트롤러에 송신하는 것을 특징으로 하는 시뮬레이션 시스템.
  2. 청구항 1에 있어서,
    상기 연산부는, 상기 일시 정지 상태를 해제한 후에 상기 유저 프로그램에 있어서의 새로운 사이클분의 연산 처리를 실행하는 것을 특징으로 하는 시뮬레이션 시스템.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 시뮬레이션부는, 상기 정지 해제 지시 커멘드를 상기 프로그래머블 컨트롤러에 송신한 후에 상기 프로그래머블 컨트롤러로부터 송신되는 새로운 1사이클분의 상기 유저 프로그램의 연산 처리의 결과를 수신했을 경우에, 상기 시뮬레이션부의 일시 정지 상태를 해제하고, 상기 새로운 1사이클분의 상기 유저 프로그램의 연산 처리의 결과에 기초하여 새로운 1사이클분의 시뮬레이션을 실행하는 것을 특징으로 하는 시뮬레이션 시스템.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 연산부가 상기 유저 프로그램의 1사이클분의 연산 처리를 실행할 때마다 상기 일시 정지 상태가 되는 제1 동작 모드와, 상기 연산부가 상기 일시 정지 상태가 되는 일 없이 연속하여 상기 유저 프로그램의 복수 사이클분의 연산 처리를 실행하는 제2 동작 모드를 전환하여 설정하는 기능을 구비하는 것을 특징으로 하는 시뮬레이션 시스템.
  5. 유저 프로그램에 의해 피제어장치를 제어하는 동작을 모의하여 시뮬레이션을 행하는 시뮬레이션 장치에 통신 가능하게 접속되어 시뮬레이션 시스템을 구성하고, 상기 유저 프로그램을 이용하여 상기 피제어장치를 제어하는 프로그래머블 컨트롤러로서,
    상기 유저 프로그램을 실행하여 연산 처리를 행하는 연산부와,
    상기 연산 처리의 결과를 격납하는 기억부를 구비하고,
    상기 연산부는,
    상기 유저 프로그램에 있어서의 1사이클분의 연산 처리가 종료된 시점에서, 새로운 사이클분의 연산 처리를 행하지 않는 일시 정지 상태로 천이함과 아울러, 상기 1사이클분의 연산 처리의 결과를 상기 기억부에 격납하고,
    상기 일시 정지 상태의 해제를 지시하는 정지 해제 지시 커멘드를 상기 시뮬레이션 장치로부터 수신했을 경우에, 상기 일시 정지 상태를 해제함과 아울러 상기 기억부에 격납된 상기 1사이클분의 연산 처리의 결과를 상기 시뮬레이션 장치에 송신하는 것을 특징으로 하는 프로그래머블 컨트롤러.
  6. 청구항 5에 있어서,
    상기 연산부는, 상기 일시 정지 상태를 해제한 후에 상기 유저 프로그램에 있어서의 새로운 사이클분의 연산 처리를 실행하는 것을 특징으로 하는 프로그래머블 컨트롤러.
  7. 청구항 5 또는 청구항 6에 있어서,
    상기 연산부가 상기 유저 프로그램의 1사이클분의 연산 처리를 실행할 때마다 상기 일시 정지 상태가 되는 시뮬레이션 동작 모드와, 상기 연산부가 상기 일시 정지 상태가 되는 일 없이 연속하여 상기 유저 프로그램의 복수 사이클분의 연산 처리를 실행하는 통상 동작 모드를 전환하는 전환 기능을 구비하는 것을 특징으로 하는 프로그래머블 컨트롤러.
  8. 유저 프로그램을 이용하여 피제어장치를 제어하는 프로그래머블 컨트롤러에 통신 가능하게 접속되어 시뮬레이션 시스템을 구성하고, 상기 유저 프로그램에 의해 상기 피제어장치를 제어하는 동작을 모의하는 시뮬레이션을 행하는 시뮬레이션 장치로서,
    상기 피제어장치를 제어하는 동작을 상기 피제어장치의 2차원 형상 모델 또는 3차원 형상 모델을 제어함으로써 모의하여 시뮬레이션을 행하는 시뮬레이션부와,
    새로운 사이클분의 연산 처리를 행하지 않는 일시 정지 상태에 있는 상기 프로그래머블 컨트롤러의 상기 일시 정지 상태의 해제를 지시하는 정지 해제 지시 커멘드를 생성하는 정지 해제 지시 커멘드 생성부를 구비하고,
    상기 시뮬레이션부는,
    상기 프로그래머블 컨트롤러로부터 송신되는 1사이클분의 상기 유저 프로그램의 연산 처리의 결과에 기초하여 1사이클분의 시뮬레이션을 실행하고,
    상기 1사이클분의 시뮬레이션이 종료된 시점에서, 새로운 사이클분의 시뮬레이션을 행하지 않는 일시 정지 상태로 천이함과 아울러, 상기 정지 해제 지시 커멘드 생성부가 생성한 상기 정지 해제 지시 커멘드를 상기 프로그래머블 컨트롤러에 송신하는 것을 특징으로 하는 시뮬레이션 장치.
  9. 청구항 8에 있어서,
    상기 시뮬레이션부는, 상기 정지 해제 지시 커멘드를 상기 프로그래머블 컨트롤러에 송신한 후에 상기 프로그래머블 컨트롤러로부터 송신되는 새로운 1사이클분의 상기 유저 프로그램의 연산 처리의 결과를 수신했을 경우에, 상기 시뮬레이션부의 일시 정지 상태를 해제하고, 상기 새로운 1사이클분의 상기 유저 프로그램의 연산 처리의 결과에 기초하여 새로운 1사이클분의 시뮬레이션을 실행하는 것을 특징으로 하는 시뮬레이션 장치.
  10. 유저 프로그램의 1사이클분의 연산 처리를 실행할 때마다 새로운 연산을 행하지 않는 일시 정지 상태가 되는 제1 동작 모드와, 상기 일시 정지 상태가 되는 일 없이 연속하여 상기 유저 프로그램의 복수 사이클분의 연산 처리를 실행하는 제2 동작 모드를 가지는 프로그래머블 컨트롤러에 대해서 상기 제1 동작 모드와 상기 제2 동작 모드를 전환하여 설정하는 동작 모드 설정부를 구비하는 것을 특징으로 하는 엔지니어링 툴.
KR1020167001113A 2014-04-30 2014-04-30 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴 KR101641853B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062020 WO2015166563A1 (ja) 2014-04-30 2014-04-30 シミュレーションシステム、プログラマブルコントローラ、シミュレーション装置、エンジニアリングツール

Publications (2)

Publication Number Publication Date
KR20160011236A true KR20160011236A (ko) 2016-01-29
KR101641853B1 KR101641853B1 (ko) 2016-07-21

Family

ID=54200777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001113A KR101641853B1 (ko) 2014-04-30 2014-04-30 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴

Country Status (7)

Country Link
US (1) US10025286B2 (ko)
JP (1) JP5784263B1 (ko)
KR (1) KR101641853B1 (ko)
CN (1) CN105393180B (ko)
DE (1) DE112014002985B4 (ko)
TW (1) TWI553497B (ko)
WO (1) WO2015166563A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105575212B (zh) * 2016-02-18 2018-02-16 南京康尼电气技术有限公司 一种用于城市轨道车辆控制系统教学的实训装置及方法
CN106198049B (zh) * 2016-07-15 2019-03-12 百度在线网络技术(北京)有限公司 真实车辆在环测试系统和方法
CN109844659B (zh) * 2016-10-14 2022-04-05 三菱电机株式会社 仿真装置
JP2018067148A (ja) * 2016-10-19 2018-04-26 東洋電機製造株式会社 シミュレーションシステム
KR102025129B1 (ko) * 2017-09-05 2019-09-25 미쓰비시덴키 가부시키가이샤 시뮬레이션 장치 및 시뮬레이션 방법
WO2019220605A1 (ja) * 2018-05-17 2019-11-21 三菱電機株式会社 シミュレーション装置およびシミュレーションプログラム
CN109032060A (zh) * 2018-07-27 2018-12-18 君泰创新(北京)科技有限公司 设备调试方法、系统、装置、计算机设备和存储介质
CN113039613B (zh) * 2018-10-29 2024-03-29 西门子工业软件有限公司 用于使第一仿真系统和第二仿真系统同步的方法和系统
US11262964B2 (en) * 2018-10-31 2022-03-01 Ati Technologies Ulc Techniques for seamless transition between host display and remote display
JP7415436B2 (ja) 2019-10-25 2024-01-17 横河電機株式会社 プログラム及び情報処理装置
JP6991294B1 (ja) * 2020-10-09 2022-01-12 三菱電機株式会社 制御装置
CN113722817A (zh) * 2021-08-08 2021-11-30 中国航空工业集团公司沈阳飞机设计研究所 一种分布式仿真系统运行调度平台

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297226A (ja) 2001-03-29 2002-10-11 Sumitomo Heavy Ind Ltd 自動搬送システムのシミュレーション装置および自動搬送システムのシミュレーション方法ならびに自動搬送システムのシミュレーションプログラム
JP2003030251A (ja) * 2001-07-19 2003-01-31 Fujitsu Ltd シミュレーションシステム、方法、プログラム及び記録媒体
JP2004046675A (ja) * 2002-07-15 2004-02-12 Yaskawa Electric Corp 制御装置
JP2009223588A (ja) * 2008-03-15 2009-10-01 Omron Corp Plcシステム
JP2010102362A (ja) * 2008-10-21 2010-05-06 Meidensha Corp ソフトウェアの開発支援システム、開発支援方法およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07117938B2 (ja) 1987-05-23 1995-12-18 三菱プレシジョン株式会社 計算機間の処理の同期方式
JP4577090B2 (ja) 2005-05-25 2010-11-10 日産自動車株式会社 車載電装品試験システム及び試験方法
CN100476755C (zh) * 2005-10-20 2009-04-08 上海祥佑数码科技有限公司 一种可扩展嵌入式微处理器仿真器
JP2007265238A (ja) 2006-03-29 2007-10-11 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
BRPI0716486A2 (pt) * 2006-08-08 2014-03-11 Siemens Energy & Automat Dispositivos, sistemas e métodos referentes a uma falha no sistema plc
DE102006043390B4 (de) 2006-09-15 2010-05-27 Dmg Electronics Gmbh Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine
US7974828B2 (en) * 2007-04-27 2011-07-05 Omron Corporation Simulation device for programmable controller
EP2309354B1 (de) * 2009-10-01 2013-03-20 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Simulation
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
DE102011105141A1 (de) * 2011-06-09 2012-12-13 Dmg Electronics Gmbh Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine
JP5962088B2 (ja) * 2012-03-15 2016-08-03 オムロン株式会社 Plcシミュレーションシステム、plcシミュレータ、制御プログラム、および記録媒体
CN104781817A (zh) * 2012-09-18 2015-07-15 西门子公司 多个可编程逻辑控制器仿真器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297226A (ja) 2001-03-29 2002-10-11 Sumitomo Heavy Ind Ltd 自動搬送システムのシミュレーション装置および自動搬送システムのシミュレーション方法ならびに自動搬送システムのシミュレーションプログラム
JP2003030251A (ja) * 2001-07-19 2003-01-31 Fujitsu Ltd シミュレーションシステム、方法、プログラム及び記録媒体
JP2004046675A (ja) * 2002-07-15 2004-02-12 Yaskawa Electric Corp 制御装置
JP2009223588A (ja) * 2008-03-15 2009-10-01 Omron Corp Plcシステム
JP2010102362A (ja) * 2008-10-21 2010-05-06 Meidensha Corp ソフトウェアの開発支援システム、開発支援方法およびプログラム

Also Published As

Publication number Publication date
KR101641853B1 (ko) 2016-07-21
TW201541271A (zh) 2015-11-01
US20160246278A1 (en) 2016-08-25
US10025286B2 (en) 2018-07-17
CN105393180B (zh) 2017-08-25
CN105393180A (zh) 2016-03-09
JPWO2015166563A1 (ja) 2017-04-20
TWI553497B (zh) 2016-10-11
WO2015166563A1 (ja) 2015-11-05
DE112014002985B4 (de) 2019-04-11
JP5784263B1 (ja) 2015-09-24
DE112014002985T5 (de) 2016-03-10

Similar Documents

Publication Publication Date Title
KR101641853B1 (ko) 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
US10025291B2 (en) Simulator, simulation method, and simulation program
JP4653836B2 (ja) シミュレーション装置
US20190051049A1 (en) Information processing apparatus, information processing method, and non-transitory storage medium
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
US20150378333A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
US20190227534A1 (en) Information processing apparatus, information processing method and computer readable recording medium
KR102198204B1 (ko) 시뮬레이션 장치
KR102124312B1 (ko) 컨트롤러 및 반송 시스템
JP2004259112A (ja) 評価用システム及び評価方法並びにモーションコントローラ
JP5314959B2 (ja) 情報処理装置、及びその制御方法、コンピュータプログラム、記憶媒体
JPH10143221A (ja) 機器制御プログラムの開発支援システムおよび開発支援方法
JP6392817B2 (ja) シミュレーション装置
JP2016091142A (ja) 工作機械の周辺機器の自立制御を可能とするシステム
CN112975120A (zh) 扫描仪控制器和扫描仪控制系统
JP2018036945A (ja) シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体
US20190101893A1 (en) Information processing device, information processing method, and computer-readable recording medium
US11287789B2 (en) Program development support device, program development support system, program development support method, and non-transitory computer-readable recording medium
WO2024084602A1 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
JP2013200900A (ja) 情報処理装置装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP2012014358A (ja) シミュレータ及びシミュレーション方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 4