CN112119358A - 仿真装置及仿真程序 - Google Patents
仿真装置及仿真程序 Download PDFInfo
- Publication number
- CN112119358A CN112119358A CN201880093406.5A CN201880093406A CN112119358A CN 112119358 A CN112119358 A CN 112119358A CN 201880093406 A CN201880093406 A CN 201880093406A CN 112119358 A CN112119358 A CN 112119358A
- Authority
- CN
- China
- Prior art keywords
- virtual
- unit
- actual
- data
- controller system
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
Abstract
仿真装置(7)具有:仿真部(3),其对包含模拟PLC的动作的虚拟PLC、模拟与其它PLC系统之间进行通信的单元即网络单元的动作的虚拟网络单元在内的虚拟PLC系统进行构建,进行虚拟PLC系统的模拟动作涉及的运算;以及通信板(31),其连接至包含实际的实际PLC和与其它PLC系统之间进行通信的单元即实际的实际网络单元在内的第1实际PLC系统,在虚拟PLC系统和第1实际PLC系统之间进行数据中继,仿真部(3)基于与使对应于虚拟PLC系统的第2实际PLC系统进行动作时所使用的程序相同的程序,使用经由通信板(31)从第1实际PLC系统接收到的数据,进行虚拟PLC系统的模拟动作。
Description
技术领域
本发明涉及执行可编程逻辑控制器的仿真的仿真装置及仿真程序。
背景技术
存在连接多个PLC系统而构成的大规模系统,该PLC系统具备可编程逻辑控制器(PLC:Programmable Logic Controller)和具有通信功能的网络单元。在构建该大规模系统时,为了对由PLC执行的PLC程序的动作进行确认而执行仿真。
专利文献1所记载的PLC测试辅助系统通过使虚拟PLC对与PC(PersonalComputer)之间进行的通信数据的收发进行模拟而对通信数据的内容进行测试,该虚拟PLC对实际的PLC即实际PLC的动作进行模拟。
专利文献1:日本特开平9-114689号公报
发明内容
但是,在上述专利文献1的技术中,当在没有虚拟网络的状态下对定序程序即PLC程序进行测试的情况下,为了对作为连接目标的其它网络的动作进行模拟,需要另外创建测试用PLC程序,或创建将测试用处理添加到原来的实机用PLC程序而得到的测试用PLC程序。
本发明就是鉴于上述问题而提出的,其目的在于得到仿真装置,该仿真装置无需创建测试用PLC程序即可在实际控制器系统与虚拟控制器系统彼此进行交换的同时对所进行的动作进行确认。
为了解决上述课题,达成目的,本发明的仿真装置具有仿真部,该仿真部对包含虚拟可编程逻辑控制器和虚拟网络单元的虚拟控制器系统进行构建,进行虚拟控制器系统的模拟动作涉及的运算,该虚拟可编程逻辑控制器对可编程逻辑控制器的动作进行模拟,该虚拟网络单元对与其它控制器系统之间进行通信的单元即网络单元的动作进行模拟。另外,本发明的仿真装置具有通信部,该通信部连接至包含实际的实际可编程逻辑控制器和与其它控制器系统之间进行通信的单元即实际的实际网络单元在内的第1实际控制器系统,在虚拟控制器系统和第1实际控制器系统之间进行数据中继。仿真部基于与使对应于虚拟控制器系统的第2实际控制器系统进行动作时所使用的程序相同的程序,使用经由通信部从第1实际控制器系统接收到的数据,进行虚拟控制器系统的模拟动作。
发明的效果
本发明涉及的仿真装置取得如下效果,即,无需创建测试用PLC程序即可在实际控制器系统与虚拟控制器系统彼此进行交换的同时对所进行的动作进行确认。
附图说明
图1是表示应用实施方式涉及的仿真装置的FA(Factory Automation)系统的结构的图。
图2是表示实施方式涉及的仿真装置的结构的图。
图3是表示实施方式涉及的虚拟环境的结构的图。
图4是表示实施方式涉及的虚拟PLC系统所具有的连接部的第1结构例的图。
图5是表示实施方式涉及的虚拟PLC系统所具有的连接部的第2结构例的图。
图6是表示由实施方式涉及的仿真装置进行的PLC系统间的第1数据中继处理流程的流程图。
图7是表示由实施方式涉及的仿真装置进行的PLC系统间的第2数据中继处理流程的流程图。
图8是表示实现实施方式涉及的仿真装置的硬件结构的图。
具体实施方式
下面,基于附图对本发明的实施方式涉及的仿真装置及仿真程序进行详细的说明。此外,本发明并不限定于该实施方式。
实施方式.
图1是表示应用实施方式涉及的仿真装置的FA系统的结构的图。图2是表示实施方式涉及的仿真装置的结构的图。
FA系统150是实现工厂的生产工序自动化的系统,具有仿真装置7、实际PLC系统100-1、100-2、100-3。实际PLC系统100-1、100-2、100-3各自具有实际的PLC即实际PLC。由实际PLC系统100-1、100-2、100-3使用的通信协议可以彼此不同,也可以相同。下面,有时将实际PLC系统100-1、100-2、100-3称为实际PLC系统组101X。
仿真装置7是计算机,其构建用于使PLC系统虚拟地进行动作的虚拟PLC系统200X、200Y,使虚拟PLC系统200X、200Y进行仿真即模拟动作。计算机的例子为个人计算机。仿真装置7经由桥接部32与实际PLC系统组101X连接。仿真装置7在与实际PLC系统组101X之间对数据进行收发的同时,使虚拟PLC系统200X、200Y进行模拟动作。由此,仿真装置7对包含虚拟PLC系统200X、200Y及实际PLC系统组101X的FA系统150的动作进行验证。
桥接部32对实际PLC系统组101X与虚拟PLC系统200X、200Y之间的数据进行中继。桥接部32是通过由仿真部3执行桥接软件而实现的。在实际PLC系统组101X和桥接部32之间、虚拟PLC系统200X、200Y和桥接部32之间,使用数据包而进行数据通信。
仿真装置7具有输入部1、存储部2、仿真部3、作为通信部的一个例子的通信板31以及显示控制部6。输入部1从外部装置接收在执行仿真时使用的数据而输入至存储部2及仿真部3。
存储部2对在执行仿真时使用的数据进行存储。存储部2所存储的数据的例子为PLC设定数据、仿真程序、PLC程序以及结构信息。
PLC程序为在PLC进行动作时使用的程序。结构信息为表示虚拟PLC系统200X、200Y的结构的信息。在结构信息中包含有在虚拟PLC系统200X、200Y配置的结构要素的列表、结构要素间的连接关系、各结构要素的功能。另外,PLC设定数据为在PLC进行动作时使用的数据。
仿真部3使用仿真程序及结构信息在仿真装置7内构建虚拟PLC系统200X、200Y。仿真部3使用构建出的虚拟PLC系统200X、200Y、PLC设定数据及PLC程序而使虚拟PLC系统200X、200Y进行模拟动作。
通信板31将从仿真部3发送来的数据发送至实际PLC系统组101X,将从实际PLC系统组101X发送来的数据分配给虚拟PLC系统200X、200Y。
显示控制部6连接于液晶监视器这样的显示装置8,使由仿真部3得到的仿真结果显示于显示装置8。仿真结果为虚拟PLC系统200X、200Y的模拟动作的结果。
在FA系统150中,实际控制器系统即实际PLC系统100-1~100-3执行实际的动作,虚拟控制器系统即虚拟PLC系统200X、200Y执行模拟动作。此外,实际PLC系统组101X也可以是小于或等于2个实际PLC系统,还可以是大于或等于4个实际PLC系统。另外,由仿真装置7构建的虚拟PLC系统也可以是大于或等于3个,还可以是1个。
图3是表示实施方式涉及的虚拟环境的结构的图。在图3中示出由仿真装置7构建的虚拟环境300及作为实际PLC系统的一个例子的实际PLC系统100的功能框图。实际PLC系统100为实际PLC系统100-1、100-2、100-3中的任意者。
虚拟环境300包含有由仿真部3构建的虚拟PLC系统200X、200Y、桥接部32。虚拟PLC系统200X、200Y中的处理为由仿真部3执行的处理。虚拟PLC系统200X、200Y与桥接部32连接,桥接部32连接于通信板31。通信板31连接于实际PLC系统100。此外,这里,对虚拟环境300连接于实际PLC系统100的情况进行说明,但虚拟环境300连接于实际PLC系统组101X。
虚拟PLC系统200X、200Y为对实际的PLC系统进行模拟的虚拟的PLC系统,虚拟地执行与实际的PLC系统相同的动作。虚拟PLC系统200X具有虚拟PLC 50A、50B、作为虚拟的网络单元(NWU:NetWork Unit)的虚拟NWU 60A、虚拟PLC系统设定数据42X。在虚拟PLC系统200X中,通过线型连接或星型连接这些传送路径形式,虚拟NWU 60A与虚拟PLC 50A、50B进行连接。传送路径形式与结构信息所包含的结构要素间的连接关系对应。
另外,虚拟PLC系统200Y具有虚拟PLC 50C、虚拟NWU 60C、虚拟PLC系统设定数据42Y。在虚拟PLC系统200Y中通过线型连接或星型连接这些传送路径形式,虚拟NWU 60C与虚拟PLC 50C进行连接。
虚拟系统设定数据即虚拟PLC系统设定数据42X包含有虚拟PLC系统200X所包含的虚拟PLC 50A、50B、虚拟NWU 60A这些单元的配置信息、虚拟PLC系统200X内的单元间通讯周期、网络通讯周期。虚拟PLC系统200X内的单元间通讯周期为虚拟PLC系统200X内的单元间的通讯周期。网络通讯周期为FA系统150内的PLC系统间的通讯周期。
虚拟PLC系统设定数据42Y包含有虚拟PLC系统200Y所包含的虚拟PLC 50C、虚拟NWU 60C这些单元的配置信息、虚拟PLC系统200Y内的单元间通讯周期、网络通讯周期。虚拟PLC系统200Y内的单元间通讯周期为虚拟PLC系统200Y内的单元间的通讯周期。
实际PLC系统100具有实际PLC 10、实际NWU 20、实际PLC系统设定数据41。实际PLC系统100具有安装多个单元的基本单元,在该基本单元安装有实际PLC 10和实际NWU 20。实际PLC系统设定数据41储存于在基本单元安装的任意单元内。实际系统设定数据即实际PLC系统设定数据41包含有实际PLC系统100所包含的实际PLC 10、实际NWU 20这些单元的配置信息、实际PLC系统100内的单元间通讯周期、网络通讯周期。实际PLC系统100内的单元间通讯周期为实际PLC系统100内的单元间的通讯周期。
此外,在实际PLC系统100为主控的PLC系统,虚拟PLC系统200X为本地的PLC系统的情况下,仿真部3也可以从实际PLC系统100取得虚拟PLC系统设定数据42X。主控的PLC系统是从本地的PLC系统对各种数据进行收集,并且基于收集到的数据对本地的PLC系统进行控制的PLC系统。在仿真部3从实际PLC系统100取得虚拟PLC系统设定数据42X的情况下,虚拟PLC系统200X经由桥接部32及通信板31,从实际PLC系统100接收虚拟PLC系统设定数据42X。另外,仿真部3也可以使虚拟PLC系统200X取得实际PLC系统设定数据41,基于取得的实际PLC系统设定数据41生成虚拟PLC系统设定数据42X。
虚拟PLC 50A具有PLC设定数据51A、PLC程序52A、程序执行部53A、虚拟时钟54A、单元间通讯部55A和工具通信部56A。
虚拟PLC 50B具有PLC设定数据51B、PLC程序52B、程序执行部53B、虚拟时钟54B、单元间通讯部55B和工具通信部56B。
虚拟PLC 50C具有PLC设定数据51C、PLC程序52C、程序执行部53C、虚拟时钟54C、单元间通讯部55C和工具通信部56C。
实际PLC 10具有PLC设定数据11、PLC程序12、程序执行部13、时钟14、单元间通讯部15C和工具通信部16。
虚拟NWU 60A为与外部装置进行通信的单元,具有NWU设定数据61、单元间通讯部62A、虚拟时钟63A、网络通讯部64A和存储器65A。虚拟NWU 60C具有NWU设定数据61、单元间通讯部62C、虚拟时钟63C、网络通讯部64C和存储器65C。实际NWU 20具有NWU设定数据61、单元间通讯部22、时钟23、网络通讯部24和存储器25。
由于虚拟PLC 50A~50C具有相同的结构要素,因此这里对虚拟PLC 50A的结构要素进行说明。另外,由于虚拟NWU 60A、60C具有相同的结构要素,因此这里对虚拟NWU 60A的结构要素进行说明。
PLC设定数据51A为在虚拟PLC 50A进行动作时使用的数据。PLC设定数据51A包含有虚拟PLC 50A进行动作时的动作条件这样的各种信息。
PLC程序52A是虚拟PLC 50A进行模拟动作时使用的程序。PLC程序52A是与使对应于虚拟PLC 50A的实际PLC进行动作时所使用的PLC程序相同的程序。PLC程序52A的例子为梯形图程序这样的定序程序。
程序执行部53A执行PLC程序52A。另外,程序执行部53A在从工具通信部56A发送来设定信息的情况下,使用设定信息而执行PLC程序52A。另外,程序执行部53A按照PLC程序52A的执行状况使虚拟时钟54A的时刻推进。如果开始PLC程序52A的执行,则程序执行部53A将与已执行完的命令对应的消耗时间发送至虚拟时钟54A。
虚拟时钟54A是基于程序执行部53A上的PLC程序52A的执行状况而使时刻推进的虚拟的时钟。就虚拟时钟54A而言,虚拟PLC50A被复位的时刻为0。如果开始PLC程序52A的执行,则虚拟时钟54A对针对PLC程序52A内的每个命令而决定的消耗时间进行累加。由此,虚拟时钟54A对与已执行完的命令对应的时刻数据进行保存。
单元间通讯部55A基于虚拟PLC系统设定数据42X所包含的单元标识符,与虚拟PLC系统200X内的其它单元之间执行数据通信。在该情况下,单元间通讯部55A按照虚拟时钟54A和虚拟PLC系统设定数据42X所包含的单元间通讯周期,与虚拟PLC系统200X内的其它单元之间执行数据通信。这里的单元间通讯部55A执行与虚拟PLC 50B之间的数据通信、以及与虚拟NWU 60A之间的数据通信。
如果具有从执行PLC程序52A的程序执行部53A向虚拟PLC50B的数据发送指示,则单元间通讯部55A以虚拟PLC 50A为发送源,将数据发送至虚拟PLC 50B的单元间通讯部55B。
另外,如果具有从执行PLC程序52A的程序执行部53A向虚拟NWU 60A的数据发送指示,则单元间通讯部55A以虚拟PLC 50A为发送源,将数据发送至虚拟NWU 60A的单元间通讯部62A。
另外,如果具有从执行PLC程序52A的程序执行部53A向其它PLC系统的数据发送指示,则单元间通讯部55A对作为发送对象的数据赋予单元的收信目标和发送源的虚拟PLC50A的地址而发送至虚拟NWU 60A的单元间通讯部62A。单元的收信目标由第1识别信息即网络编号及第2识别信息即站号指定。后面对网络编号及站号进行叙述。
另外,单元间通讯部55A对从单元间通讯部55B或单元间通讯部62A发送来的数据进行接收。此外,单元间通讯部55A也可以从单元间通讯部55B或单元间通讯部62A读出数据。
单元间通讯部55A基于PLC设定数据51A和从虚拟时钟54A读出的时刻数据,在虚拟PLC 50B及虚拟NWU 60A之间执行时刻同步。由此,在虚拟时钟54A、虚拟时钟54B和虚拟时钟63A之间进行虚拟时钟的同步。
工具通信部56A与未图示的工程设计工具之间执行数据通信。工程设计工具是用于进行使虚拟PLC 50A动作时的各种设定的工具。如果工程设计工具按照来自用户的指示进行各种设定,则工具通信部56A对由工程设计工具设定的设定信息进行接收。设定信息的例子为向PLC设定数据51A的设定信息及向PLC程序52A的设定信息。
NWU设定数据61包含虚拟PLC系统200X内的各单元的地址和站号的对应关系。在虚拟PLC系统200X内,能够通过指定站号对虚拟PLC系统200X内的单元的地址进行确定。
单元间通讯部62A具有与单元间通讯部55A相同的功能。另外,单元间通讯部62A在存储器65A储存有从实际PLC系统100或虚拟PLC系统200Y向虚拟PLC 50A、50B的数据的情况下,将数据发送至该数据的收信目标即虚拟PLC 50A或虚拟PLC 50B。另外,单元间通讯部62A在从虚拟PLC 50A、50B接收到以实际PLC系统100或虚拟PLC系统200Y为收信目标的数据的情况下,将该数据储存于存储器65A。另外,单元间通讯部62A在存储器65A储存有以虚拟NWU 60A为收信目标的数据的情况下,将该数据储存于虚拟NWU60A内的除了存储器65A之外的存储器。另外,单元间通讯部62A如果从虚拟PLC 50A、50B接收到以虚拟NWU 60A为收信目标的数据,则将接收到的数据储存于虚拟NWU 60A内的除了存储器65A之外的存储器。
虚拟时钟63A具有与虚拟时钟54B相同的功能。网络通讯部64A按照虚拟PLC系统设定数据42X内所包含的网络通讯周期,与实际PLC系统100及虚拟PLC系统200Y之间进行通讯。网络通讯部64A将从实际PLC系统100或虚拟PLC系统200Y发送来的数据储存于存储器65A。另外,网络通讯部64A将在存储器65A中储存的向实际PLC系统100或虚拟PLC系统200Y的数据发送至桥接部32。
存储器65A对从实际PLC系统100或虚拟PLC系统200Y发送来的数据进行储存,对发送至虚拟PLC 50A、50B的数据进行储存。存储器65A从桥接部32接收数据,将数据发送至桥接部32。
此外,虚拟PLC系统200X、200Y、实际PLC系统100也可以具有虚拟的电源单元、虚拟的输入单元、或虚拟的输出单元。电源单元为对PLC系统进行电源供给的单元,输入单元为对在生产装置或设备装置安装的开关或传感器的信号进行接收的单元,输出单元为对致动器这样的外部装置输出控制指示的单元。
另外,虚拟PLC系统200X也可以具有1个虚拟PLC,还可以具有大于或等于3个虚拟PLC。另外,虚拟PLC系统200Y也可以具有多个虚拟PLC。另外,实际PLC系统100也可以具有多个实际PLC。
桥接部32基于数据的收信目标,将从实际PLC系统100发送来的数据发送至虚拟PLC系统200X或虚拟PLC系统200Y。另外,桥接部32基于数据的收信目标,将从虚拟PLC系统200X发送来的数据发送至通信板31或虚拟PLC系统200Y。另外,桥接部32基于数据的收信目标,将从虚拟PLC系统200Y发送来的数据发送至通信板31或虚拟PLC系统200X。
通信板31进行在虚拟环境300中使用的虚拟PLC网络的作为第1通信协议的通信协议和在实际PLC系统100中使用的实际PLC网络的作为第2通信协议的通信协议之间的协议变换。
实际PLC 10具有与虚拟PLC 50A~50C相同的结构要素。虚拟PLC 50A~50C的结构要素为虚拟的结构要素,与此相对,实际PLC10的结构要素是作为实际的装置的结构要素。因此,虚拟PLC 50A~50C所具有的虚拟时钟54A~54C为虚拟的时钟,与此相对,实际PLC 10所具有的时钟14为实际的时钟。
另外,实际NWU 20具有与虚拟NWU 60A、60C相同的结构要素。虚拟NWU 60A、60C的结构要素为虚拟的结构要素,与此相对,实际NWU 20的结构要素是作为实际的装置的结构要素。因此,虚拟NWU 60A、60C所具有的虚拟时钟63A、63C为虚拟的时钟,与此相对,实际NWU20所具有的时钟23为实际的时钟。
此外,虚拟PLC系统200X、200Y也可以具有多个虚拟NWU。另外,实际PLC系统100也可以具有多个实际NWU。由于1个PLC系统具有多个NWU,因此PLC系统能够与不同设定的多个网络连接。
这里,对桥接部32及通信板31的结构进行说明。图4是表示实施方式涉及的虚拟PLC系统所具有的连接部的第1结构例的图。
连接部30A将实际环境301和虚拟环境300连接。在实际环境301中配置有实际PLC系统100,在虚拟环境300中配置有虚拟PLC系统200X、200Y。
连接部30A具有由软件或固件实现的桥接部32、由专用的硬件实现的通信板31。桥接部32连接于通信板31,通信板31连接于实际PLC系统100。
通信板31基于从实际PLC系统100发送来的数据,对在实际PLC系统100中使用的实际PLC网络的通信协议进行确定。另外,通信板31对由虚拟PLC系统200X、200Y使用的虚拟PLC网络的通信协议进行存储。
通信板31在实际PLC系统100与虚拟PLC系统200X、200Y之间收发数据时,进行数据的协议变换。由虚拟PLC系统200X、200Y使用的虚拟PLC网络的通信协议的一个例子为TCP/IP(Transmission Control Protocol/Internet Protocol)。
通信板31在从桥接部32发送来数据的情况下,将发送来的数据变换为由实际PLC系统100使用的通信协议而发送至实际PLC系统100。另外,通信板31在从实际PLC系统100发送来数据的情况下,将发送来的数据变换为由虚拟PLC系统200X、200Y使用的通信协议而发送至桥接部32。
桥接部32具有数据解析部33、数据创建部34和存储部35。存储部35存储有网络编号与虚拟NWU 60A、60C的地址之间的对应关系。具体而言,存储部35存储有虚拟PLC系统200X的网络编号与虚拟NWU 60A的地址之间的对应关系、虚拟PLC系统200Y的网络编号与虚拟NWU 60C的地址之间的对应关系。
桥接部32基于存储部35所存储的信息,进行实际PLC系统100、虚拟PLC系统200X和虚拟PLC系统200Y之间的数据中继。
数据解析部33从虚拟PLC系统200X对以实际PLC系统100或虚拟PLC系统200Y为收信目标的数据进行接收。另外,数据解析部33从虚拟PLC系统200Y对以实际PLC系统100或虚拟PLC系统200X为收信目标的数据进行接收。另外,数据解析部33从实际PLC系统100经由通信板31,对以虚拟PLC系统200X或虚拟PLC系统200Y为收信目标的数据进行接收。
数据解析部33基于网络编号与虚拟NWU的地址之间的对应关系,将接收到的数据分配给实际PLC系统100、虚拟PLC系统200X或虚拟PLC系统200Y的任意者。
数据解析部33在从虚拟PLC系统200Y接收到的数据的收信目标为虚拟PLC系统200X内的单元的情况下,将接收到的数据写入至虚拟NWU 60A的存储器65A。另外,数据解析部33在从虚拟PLC系统200X接收到的数据的收信目标为虚拟PLC系统200Y内的单元的情况下,将接收到的数据写入至虚拟NWU 60C的存储器65C。
另外,数据解析部33在从虚拟PLC系统200X、200Y接收到的数据的收信目标为实际PLC系统100内的单元的情况下,将接收到的数据发送至数据创建部34,从数据创建部34对格式变换后的数据进行接收。数据解析部33在数据的收信目标为实际PLC系统100内的单元的情况下,将格式变换后的数据发送至通信板31。
另外,数据解析部33在从实际PLC系统100接收到的数据的收信目标为虚拟PLC系统200X、200Y内的单元的情况下,将接收到的数据发送至数据创建部34,从数据创建部34对格式变换后的数据进行接收。下面,有时将格式变换前的数据和格式变换后的数据统称为数据。
数据解析部33在接收到的数据的收信目标为虚拟PLC系统200X或虚拟PLC系统200Y的情况下,对与收信目标的网络编号对应的虚拟NWU的地址进行确定。然后,数据解析部33对确定出的虚拟NWU的地址发送数据。具体而言,数据解析部33在数据的收信目标为虚拟PLC系统200X内的单元的情况下,将接收到的数据写入至虚拟NWU 60A的存储器65A。另外,数据解析部33在数据的收信目标为虚拟PLC系统200Y内的单元的情况下,将接收到的数据写入至虚拟NWU 60C的存储器65C。
由此,在数据的收信目标为虚拟PLC 50A、50B或虚拟NWU 60A的情况下,数据解析部33将数据发送至虚拟NWU 60A的存储器65A。另外,在数据的收信目标为虚拟PLC 50C或虚拟NWU 60C的情况下,数据解析部33将数据发送至虚拟NWU 60C的存储器65C。
数据创建部34在从实际PLC系统100接收到的数据的收信目标为虚拟PLC系统200X或虚拟PLC系统200Y内的单元的情况下,将接收到的数据向在虚拟PLC系统200X或虚拟PLC系统200Y内能够处理的数据进行格式变换。
数据创建部34在从虚拟PLC系统200X或虚拟PLC系统200Y接收到的数据的收信目标为实际PLC系统100内的单元的情况下,将接收到的数据向在实际PLC系统100内能够处理的数据进行格式变换。
图5是表示实施方式涉及的虚拟PLC系统所具有的连接部的第2结构例的图。对图5的各结构要素中的达成与图4所示的连接部30A相同功能的结构要素标注相同标号,省略重复的说明。
连接部30B连接于实际PLC系统100及虚拟PLC系统200X、200Y。在连接部30B中替代通信板31而具有作为通信部的一个例子的软件协议栈29。即,连接部30B具有由软件或固件实现的桥接部32、由软件或固件实现的软件协议栈29。桥接部32连接于软件协议栈29,软件协议栈29连接于实际PLC系统100。
软件协议栈29具有与通信板31相同的功能。通信板31通过硬件进行协议变换,与此相对,软件协议栈29通过软件或固件进行协议变换。即,软件协议栈29通过软件或固件进行实际PLC系统100的通信协议和虚拟PLC系统200X、200Y的通信协议之间的协议变换。
接下来,对虚拟PLC系统200X、200Y与实际PLC系统100之间的数据中继处理流程进行说明。在以下的图6及图7中,说明使用通信板31在实际PLC系统100和虚拟PLC系统200X之间进行数据中继的情况。
图6是表示由实施方式涉及的仿真装置进行的PLC系统间的第1数据中继处理流程的流程图。在图6中,对从实际PLC系统100发送来以虚拟PLC系统200X的虚拟PLC 50A为收信目标的数据的情况下的数据中继处理进行说明。
通信板31从实际PLC系统100对赋予了网络编号及站号的数据进行接收(步骤S10)。通信板31将来自实际PLC系统100的数据向由虚拟PLC系统200X使用的通信协议进行协议变换(步骤S11)。通信板31将协议变换后的数据发送至数据解析部33。
数据解析部33将来自实际PLC系统100的数据发送至数据创建部34。数据创建部34将来自实际PLC系统100的数据向在虚拟PLC系统200X内能够处理的数据进行格式变换而发送至数据解析部33。
数据解析部33基于来自实际PLC系统100的数据被赋予的网络编号,确定对来自实际PLC系统100的数据进行储存的虚拟NWU的地址。即,数据解析部33对与网络编号对应的虚拟NWU的地址进行确定。这里的数据解析部33将虚拟NWU 60A的地址确定为与网络编号对应的虚拟NWU的地址。然后,数据解析部33将来自实际PLC系统100的数据发送至与网络编号对应的虚拟NWU 60A(步骤S12)。
之后,被写入了数据的虚拟NWU 60A将数据发送至与来自实际PLC系统100的数据被赋予的站号对应的单元(步骤S13)。具体而言,虚拟NWU 60A对成为数据的收信目标的单元进行确定。即,数据解析部33对与站号对应的单元的地址进行确定。这里的数据解析部33将虚拟PLC 50A的地址确定为与站号对应的单元的地址。然后,数据解析部33将来自实际PLC系统100的数据发送至与站号对应的虚拟PLC 50A。
图7是表示由实施方式涉及的仿真装置进行的PLC系统间的第2数据中继处理流程的流程图。在图7中,对从虚拟PLC系统200X发送来以实际PLC系统100的实际PLC 10为收信目标的数据的情况下的数据中继处理进行说明。
数据解析部33从虚拟PLC系统200X的虚拟NWU 60A对赋予了网络编号及站号的数据进行接收(步骤S21)。这里的网络编号与实际PLC系统100对应,站号与实际PLC 10对应。
数据解析部33将来自虚拟NWU 60A的数据发送至数据创建部34。数据创建部34将来自虚拟NWU 60A的数据向在实际PLC系统100内能够处理的数据进行格式变换而发送至数据解析部33。
数据解析部33将格式变换后的数据发送至通信板31。通信板31将来自数据解析部33的数据向由实际PLC系统100使用的通信协议进行协议变换(步骤S22)。
数据解析部33基于对来自虚拟PLC系统200X的数据赋予的网络编号,确定对来自虚拟PLC系统200X的数据进行储存的实际NWU的地址。即,数据解析部33对与网络编号对应的实际NWU的地址进行确定。这里的数据解析部33将实际NWU 20的地址确定为与网络编号对应的实际NWU的地址。然后,数据解析部33将来自虚拟PLC系统200X的数据发送至与网络编号对应的实际NWU 20(步骤S23)。由此,实际PLC系统100的实际NWU 20对赋予了网络编号及站号的数据进行接收,实际NWU 20将接收到的数据发送至实际PLC 10。
显示控制部6使虚拟PLC系统200X、200Y的模拟动作的结果显示于显示装置8。由此,用户能够对虚拟PLC系统200X、200Y的模拟动作的结果进行确认。另外,用户通过查看实际PLC系统100,从而能够对实际PLC系统100的动作结果进行确认。
在构建FA系统150的情况下,最终制作通过仿真装置7进行了模拟动作的实际PLC系统,该实际PLC系统与实际PLC系统100-1~100-3连接。在该情况下,如果没有仿真装置7,则直至构成FA系统150的全部实际PLC系统都完成为止,无法对FA系统150的动作进行确认。
另一方面,在本实施方式中,由于使用仿真装置7执行模拟动作,因此在构成FA系统150的全部实际PLC系统都完成前,能够对FA系统150的动作进行确认。由此,相对于已经完成的实际PLC系统100-1~100-3,在直至剩余的PLC系统完成为止的期间,能够在与虚拟PLC系统200X、200Y之间彼此进行交换的同时进行所进行动作的确认。因此,即使具有未完成的实际PLC系统也能够开始FA系统150的动作确认,因此能够提前使最终的FA系统150的动作确认完成。另外,由于使用仿真装置7进行FA系统150的动作确认,因此能够以低成本进行FA系统150的动作确认。
例如,即使在作为实际PLC系统100的一个例子的装置a已完成、作为实际PLC系统100的一个例子的装置b尚未完成的状态下,在本实施方式中,由于仿真装置7能够使装置b进行模拟动作,因此也能够进行装置a和装置b之间的动作确认的测试。由此,能够缩短测试工期。
另外,当在A县制作装置a,在B县制作装置b,在C县进行装置a、b的安装的情况下,在C县的安装前,装置a处于A县,装置b处于B县的状态下,能够进行装置a和装置b之间的动作确认的测试。在该情况下,在A县,仿真装置7模拟装置b的动作而对与实际的装置a之间的动作进行确认,在B县,仿真装置7模拟装置a的动作而对与实际的装置b之间的动作进行确认。由此,能够缩短测试工期。
另外,由于仿真装置7能够进行如果实际发生则会导致装置a、b损坏的异常事件的测试,因此能够扩大测试范围。
此外,在本实施方式中,说明了作为1个计算机的仿真装置7对多个虚拟PLC系统即虚拟PLC系统200X、200Y进行构建的情况,但也可以通过多个计算机对多个虚拟PLC系统进行构建。在该情况下,通过1个计算机对1个虚拟PLC系统进行构建,将各计算机连接起来。为了被连接起来的计算机间的数据的收发及同步而使用TCP/IP等。
这里,对仿真装置7的硬件结构进行说明。图8是表示实现实施方式涉及的仿真装置的硬件结构的图。仿真装置7由包含处理器401、存储器402、输入装置403及通信装置404的硬件400实现。
输入装置403是用于向仿真装置7输入包含文字的各种信息的装置,例示出键盘、鼠标、指点设备及触摸面板,但并不限于此。另外,输入装置403是在接收由用户进行的各种操作的情况下使用的。
通信装置404与实际PLC系统组101X之间执行通信。通信板31由通信装置404实现。
仿真部3由处理器401及存储器402实现。处理器401也称为CPU(CentralProcessing Unit:中央处理装置)、处理装置、运算装置、微处理器、微型计算机、或DSP(Digital Signal Processor)。存储部2由存储器402实现。存储器402包含RAM(RandomAccess Memory)、ROM(Read Only Memory)等。
处理器401通过读出而执行在存储器402中存储的程序,从而实现仿真部3的功能。该程序也可以说是使计算机执行由仿真部3执行的流程。即,仿真部3的功能由软件、固件、或软件和固件的组合实现。软件及固件被记述为程序,存储于存储器402。
此外,关于仿真部3的功能,也可以由专用的硬件实现一部分,由软件或固件实现一部分。另外,软件协议栈29也能够由具有与仿真部3相同的结构的硬件400实现。
这样,根据实施方式,由于连接部30A在实际环境301和虚拟环境300之间进行协议变换,因此能够在实际PLC系统100和虚拟PLC系统200X、200Y之间对数据进行收发。由此,能够使实际PLC10和虚拟PLC 50A~50C之间彼此干涉。因此,能够对在实际PLC 10和虚拟PLC50A~50C之间进行的动作进行确认而无需以实际环境对FA系统150的整体进行构建。
另外,能够对使用了虚拟PLC系统设定数据42X、42Y、及实际PLC系统设定数据41的FA系统150的动作进行确认而无需以实际环境对FA系统150的整体进行构建。另外,能够使用由PLC程序12、52A、52B、52C得到的运算结果对FA系统150的动作进行确认而无需以实际环境对FA系统150的整体进行构建。
另外,由于数据解析部33基于对数据赋予的网络编号,将来自实际PLC系统组101X的数据分配给虚拟PLC系统200X、200Y的任意者,因此能够在多个实际PLC系统和多个虚拟PLC系统之间进行数据中继。
以上的实施方式所示的结构表示的是本发明的内容的一个例子,也可以与其它的公知技术组合,在不脱离本发明的主旨的范围,也可以对结构的一部分进行省略、变更。
标号的说明
1输入部,2存储部,3仿真部,6显示控制部,7仿真装置,8显示装置,10实际PLC,11、51A、51B、51C PLC设定数据,12、52A、52B、52C PLC程序,13、53A、53B、53C程序执行部,14、23时钟,15C、22、55A、55B、55C、62A、62C单元间通讯部,16、56A、56B、56C工具通信部,20实际NWU,24、64A、64C网络通讯部,25、65A、65C存储器,29软件协议栈,30A、30B连接部,31通信板,32桥接部,33数据解析部,34数据创建部,35存储部,41实际PLC系统设定数据,42X、42Y虚拟PLC系统设定数据,50A、50B、50C虚拟PLC,54A、54B、54C、63A、63C虚拟时钟,60A、60C虚拟NWU,61NWU设定数据,100、100-1、100-2、100-3实际PLC系统,150FA系统,200X、200Y虚拟PLC系统,300虚拟环境,301实际环境。
Claims (12)
1.一种仿真装置,其特征在于,具有:
仿真部,其对包含虚拟可编程逻辑控制器和虚拟网络单元的虚拟控制器系统进行构建,进行所述虚拟控制器系统的模拟动作涉及的运算,该虚拟可编程逻辑控制器对可编程逻辑控制器的动作进行模拟,该虚拟网络单元对与其它控制器系统之间进行通信的单元即网络单元的动作进行模拟;以及
通信部,其连接至包含实际的实际可编程逻辑控制器和与其它控制器系统之间进行通信的单元即实际的实际网络单元在内的第1实际控制器系统,在所述虚拟控制器系统和所述第1实际控制器系统之间进行数据中继,
所述仿真部基于与使对应于所述虚拟控制器系统的第2实际控制器系统进行动作时所使用的程序相同的程序,使用经由所述通信部从所述第1实际控制器系统接收到的数据,进行所述虚拟控制器系统的模拟动作。
2.根据权利要求1所述的仿真装置,其特征在于,
还具有显示控制部,该显示控制部对由所述仿真部得到的模拟动作的结果进行显示控制。
3.根据权利要求1或2所述的仿真装置,其特征在于,
所述虚拟控制器系统以第1通信协议执行通信,
所述第1实际控制器系统以第2通信协议执行通信,
所述通信部通过进行所述第1通信协议和所述第2通信协议之间的协议变换,从而在所述虚拟控制器系统和所述第1实际控制器系统之间进行数据中继。
4.根据权利要求1至3中任一项所述的仿真装置,其特征在于,
所述虚拟控制器系统为多个,
所述仿真部使用经由所述通信部从所述第1实际控制器系统接收到的数据,进行各个所述虚拟控制器系统的模拟动作。
5.根据权利要求1至4中任一项所述的仿真装置,其特征在于,
所述第1实际控制器系统为多个,
所述仿真部使用经由所述通信部从多个所述第1实际控制器系统接收到的数据,进行所述虚拟控制器系统的模拟动作。
6.根据权利要求4所述的仿真装置,其特征在于,
在从所述实际可编程逻辑控制器发送来的数据中包含对所述虚拟控制器系统进行识别的第1识别信息,
所述通信部将从所述实际可编程逻辑控制器发送来的数据发送至与所述第1识别信息对应的所述虚拟控制器系统。
7.根据权利要求1至3中任一项所述的仿真装置,其特征在于,
在从所述实际可编程逻辑控制器发送来的数据中包含在所述虚拟控制器系统内对所述虚拟可编程逻辑控制器和所述虚拟网络单元进行识别的第2识别信息,
如果所述第2识别信息与所述虚拟可编程逻辑控制器对应,则所述虚拟网络单元将从所述实际可编程逻辑控制器发送来的数据发送至所述虚拟可编程逻辑控制器。
8.根据权利要求3所述的仿真装置,其特征在于,
所述通信部具有通信板,该通信板进行所述第1通信协议和所述第2通信协议之间的协议变换。
9.根据权利要求3所述的仿真装置,其特征在于,
所述通信部具有软件协议栈,该软件协议栈进行所述第1通信协议和所述第2通信协议之间的协议变换。
10.根据权利要求1至9中任一项所述的仿真装置,其特征在于,
所述仿真部基于所述虚拟控制器系统内的结构要素间的连接关系,进行所述虚拟控制器系统的模拟动作。
11.根据权利要求1至10中任一项所述的仿真装置,其特征在于,
所述仿真部基于向所述第1实际控制器系统设定的数据即实际系统设定数据,生成向所述虚拟控制器系统设定的数据即虚拟系统设定数据。
12.一种仿真程序,其特征在于,使计算机执行如下步骤:
构建步骤,对包含虚拟可编程逻辑控制器和虚拟网络单元的虚拟控制器系统进行构建,该虚拟可编程逻辑控制器对可编程逻辑控制器的动作进行模拟,该虚拟网络单元对与其它控制器系统之间进行通信的单元即网络单元的动作进行模拟;以及
仿真步骤,经由连接至包含实际的实际可编程逻辑控制器和与其它控制器系统之间进行通信的单元即实际的实际网络单元在内的第1实际控制器系统的通信部,在所述虚拟控制器系统和所述第1实际控制器系统之间进行数据中继,并且基于与使对应于所述虚拟控制器系统的第2实际控制器系统进行动作时所使用的程序相同的程序,使用经由所述通信部从所述第1实际控制器系统接收到的数据,进行所述虚拟控制器系统的模拟动作涉及的运算。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/019199 WO2019220605A1 (ja) | 2018-05-17 | 2018-05-17 | シミュレーション装置およびシミュレーションプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112119358A true CN112119358A (zh) | 2020-12-22 |
Family
ID=67844847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880093406.5A Pending CN112119358A (zh) | 2018-05-17 | 2018-05-17 | 仿真装置及仿真程序 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6570772B1 (zh) |
CN (1) | CN112119358A (zh) |
DE (1) | DE112018007477T5 (zh) |
WO (1) | WO2019220605A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7047965B1 (ja) * | 2021-08-03 | 2022-04-05 | 株式会社安川電機 | コントローラ、及びシステム構築方法 |
JP7297178B1 (ja) * | 2022-08-01 | 2023-06-23 | 三菱電機株式会社 | シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173210A (ja) * | 1997-08-29 | 1999-03-16 | Omron Corp | エミュレーション方法およびエミュレータ装置 |
JP2001209407A (ja) * | 2000-01-25 | 2001-08-03 | Omron Corp | Plc用プログラムの実行シミュレーション装置 |
JP2004259112A (ja) * | 2003-02-27 | 2004-09-16 | Omron Corp | 評価用システム及び評価方法並びにモーションコントローラ |
JP2009294697A (ja) * | 2008-06-02 | 2009-12-17 | Nec Electronics Corp | シミュレーション方法及びシミュレーションプログラム |
CN105393180A (zh) * | 2014-04-30 | 2016-03-09 | 三菱电机株式会社 | 仿真系统、可编程控制器、仿真装置、工程设计工具 |
CN105406996A (zh) * | 2015-10-30 | 2016-03-16 | 国家电网公司 | 一种智能变电站站控层mms通信仿真的方法 |
US9392017B2 (en) * | 2010-04-22 | 2016-07-12 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for inhibiting attacks on embedded devices |
-
2018
- 2018-05-17 DE DE112018007477.3T patent/DE112018007477T5/de active Pending
- 2018-05-17 JP JP2018561076A patent/JP6570772B1/ja active Active
- 2018-05-17 CN CN201880093406.5A patent/CN112119358A/zh active Pending
- 2018-05-17 WO PCT/JP2018/019199 patent/WO2019220605A1/ja active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173210A (ja) * | 1997-08-29 | 1999-03-16 | Omron Corp | エミュレーション方法およびエミュレータ装置 |
JP2001209407A (ja) * | 2000-01-25 | 2001-08-03 | Omron Corp | Plc用プログラムの実行シミュレーション装置 |
JP2004259112A (ja) * | 2003-02-27 | 2004-09-16 | Omron Corp | 評価用システム及び評価方法並びにモーションコントローラ |
JP2009294697A (ja) * | 2008-06-02 | 2009-12-17 | Nec Electronics Corp | シミュレーション方法及びシミュレーションプログラム |
US9392017B2 (en) * | 2010-04-22 | 2016-07-12 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for inhibiting attacks on embedded devices |
CN105393180A (zh) * | 2014-04-30 | 2016-03-09 | 三菱电机株式会社 | 仿真系统、可编程控制器、仿真装置、工程设计工具 |
CN105406996A (zh) * | 2015-10-30 | 2016-03-16 | 国家电网公司 | 一种智能变电站站控层mms通信仿真的方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019220605A1 (ja) | 2020-05-28 |
JP6570772B1 (ja) | 2019-09-04 |
DE112018007477T5 (de) | 2021-01-21 |
WO2019220605A1 (ja) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090013092A1 (en) | Method for virtual COM port modbus gateway ethernet I/O | |
CN109923483B (zh) | 仿真装置以及仿真方法 | |
JP5240490B2 (ja) | 操作訓練システムおよび操作訓練方法 | |
WO2012134101A2 (en) | Multiple plc simulation system | |
JP6481267B2 (ja) | プログラマブル表示器 | |
CN112034732B (zh) | 一种半物理卫星仿真系统及仿真方法 | |
JP6570772B1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
CN103608735A (zh) | 仿真系统、用于执行仿真的方法、控制系统和计算机程序产品 | |
US11165745B2 (en) | Control system, controller, and control method | |
CN102483619A (zh) | 自动化系统的仿真 | |
KR101706029B1 (ko) | 시스템 구축 지원 장치 | |
CN103597415A (zh) | 仿真系统、用于执行仿真的方法、控制系统和计算机程序产品 | |
JP5267839B2 (ja) | 遠方監視制御装置用模擬装置及び電力系統監視制御システム | |
JP3946312B2 (ja) | Pcのリモート支援システム及びその方法 | |
JP2009020716A (ja) | ツール装置及びメッセージ送信プログラムの作成方法 | |
JP2008519346A (ja) | 相互シミュレーションの装置および方法 | |
JP5377448B2 (ja) | 制御装置用プログラミングツール及び制御装置用プログラムの作成支援方法 | |
JP2003140711A (ja) | プロセス制御装置用シミュレータおよびそのプログラムとプログラム記録媒体 | |
US20230025895A1 (en) | Loop mode for simulated control units | |
CN117616731A (zh) | 时间敏感网络模拟器 | |
KR100395455B1 (ko) | 교환기 프로그램 시뮬레이션 방법 | |
KR20120082148A (ko) | 해양 플랜트용 공정 제어 시스템의 로직 시뮬레이터 | |
CN116981547A (zh) | 机器人控制方法和机器人控制系统 | |
Januário et al. | A Dual Reality Simulation Environment for Cyber-Physical Systems | |
JPH03132848A (ja) | アプリケーションプログラム間通信シミュレート方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201222 |
|
RJ01 | Rejection of invention patent application after publication |