CN103052920A - 可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器 - Google Patents

可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器 Download PDF

Info

Publication number
CN103052920A
CN103052920A CN201180003124XA CN201180003124A CN103052920A CN 103052920 A CN103052920 A CN 103052920A CN 201180003124X A CN201180003124X A CN 201180003124XA CN 201180003124 A CN201180003124 A CN 201180003124A CN 103052920 A CN103052920 A CN 103052920A
Authority
CN
China
Prior art keywords
user program
programmable logic
execution
logic controller
tool device
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.)
Granted
Application number
CN201180003124XA
Other languages
English (en)
Other versions
CN103052920B (zh
Inventor
小野彰男
三原义浩
出来仁太郎
伊势田博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Publication of CN103052920A publication Critical patent/CN103052920A/zh
Application granted granted Critical
Publication of CN103052920B publication Critical patent/CN103052920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/24Pc safety
    • G05B2219/24167Encryption, password, user access privileges

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

提供能够提高用于防止在可编程控制器上执行的用户程序的擅自利用的便利性的可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器。在可编程控制器系统(300)中,工具装置(200)将第1用户程序执行用ID(10)设定于PLC(100)中所设置的第2非易失性存储器(113),将第2用户程序执行用ID(20)设定于工具装置(200)中所设置的项目(PR)。PLC(100)对照第1用户程序执行用ID(10)和第2用户程序执行用ID(20)是否一致,在不一致时禁止执行用户程序(YP)。

Description

可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器
技术领域
本发明涉及与可编程控制器进行通信且具备工具装置的可编程控制器系统、工具用程序、工具装置、记录介质以及可编程控制器,其中,工具装置具有防止在可编程控制器上执行的用户程序的擅自利用的功能。
背景技术
一般,可编程控制器(以下,有时也称为“PLC”)在从PLC厂家出厂后,由卖家装入自动包装机或射出成型机等的各种产业用机械的状态下设置在终端用户的工厂,或者直接由终端用户装入终端用户的工厂的设备中。
其中,在PLC被卖家装入产业用机械的状态下设置在终端用户的工厂的情况下,卖家为了将通过PLC进行控制动作的产业用机械设为所期望的动作标准,因此制作用户程序(控制程序),并将制作好的用户程序安装到PLC中。
这时,通常,卖家除了提供已嵌入所制作的用户程序的PLC之外,还将所制作的用户程序本身以存储到例如CD-ROM等记录介质的状态,作为参照用用户程序而提供给终端用户。
这样从卖家提供的参照用用户程序被用于在终端用户侧对程序的轻微的定制和数据值的参照(I/O监视器)等。并且,以程序的轻微的定制和数据值的参照(I/O监视器)等作为目的而提供给终端用户的参照用用户程序的内容,除为了提高终端用户侧的理解度而附加了注释和标签等之外,与安装到PLC的实际运行用用户程序相比实质上没有差别。
因此,若在终端用户侧准备没有安装用户程序的空的PLC,而对其安装所述的参照用用户程序,则不费力就能够擅自复制任意台可实际运行的PLC,担心在卖家侧会蒙受极大的损害。
此外,若这样的参照用用户程序到了原本的终端用户以外的其他人手上,且同样擅自复制可实际运行的PLC,还担心关于该用户程序中包含的制造技术上的诀窍也会泄露,因技术流出而招致很大的受害。
关于这一点,在专利文献1(特开2009-70144号公报)中公开了如下的编程方法,即对照写入PLC的存储器上的成为对照基准的任意的硬件ID和通过用户程序的操作数所指定的成为对照对象的任意的硬件ID。
现有技术文献
专利文献
专利文献1:特开2009-70144号公报
发明内容
发明要解决的课题
但是,在专利文献1(特开2009-70144号公报)所记载的PLC中的编程方法中,用户为了进行硬件ID的对照而不得不制作用户程序,用于防止在可编程控制器上执行的用户程序的擅自利用的便利性不佳。
因此,本发明的目的在于提供一种能够提高用于防止在可编程控制器上执行的用户程序的擅自利用的便利性的可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器。
用于解决课题的方案
本发明为了解决所述课题,提供如下的可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器。
(1)可编程控制器系统
一种可编程控制器系统,包括可编程控制器和工具装置,该工具装置与所述可编程控制器进行通信,且用于使所述可编程控制器执行用户程序,其特征在于,所述工具装置包括:第1接受部,接受用于执行所述用户程序而对照的第1用户程序执行用ID的输入信息;发送部,将所述第1用户程序执行用ID发送到所述可编程控制器;第2接受部,接受用于执行所述用户程序而对照的第2用户程序执行用ID的输入信息;以及第1设定部,将所述第2用户程序执行用ID与所述用户程序关联地设定到本装置中,所述工具装置的结构被设为,在所述第2用户程序执行用ID一旦被设定之后不能对所述第2用户程序执行用ID进行设定和删除,所述工具装置的结构被设为,不具有显示所述第1用户程序执行用ID的功能、以及显示所述第2用户程序执行用ID的功能,所述可编程控制器包括:第2设定部,对所述可编程控制器设定通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID;对照部,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID是否一致;以及执行禁止部,基于通过所述对照部对照后的对照结果,在所述第1用户程序执行用ID和所述第2用户程序执行用ID不一致时,禁止执行所述用户程序,所述可编程控制器的结构被设为,能够对所述第1用户程序执行用ID进行设定和删除。
(2)工具装置
所述本发明的一个方面的可编程控制器系统所具备的工具装置,其特征在于,包括:第1接受部,接受用于执行所述用户程序而对照的第1用户程序执行用ID的输入信息;发送部,将所述第1用户程序执行用ID发送到所述可编程控制器;第2接受部,接受用于执行所述用户程序而对照的第2用户程序执行用ID的输入信息;以及第1设定部,将所述第2用户程序执行用ID与所述用户程序关联地设定到本装置中,所述工具装置的结构被设为,在所述第2用户程序执行用ID一旦被设定之后不能对所述第2用户程序执行用ID进行设定和删除,所述工具装置的结构被设为,不具有显示所述第1用户程序执行用ID的功能、以及显示所述第2用户程序执行用ID的功能。
(3)工具用程序
一种工具用程序,使所述本发明的一个方面的工具装置中的控制部作为包含所述第1接受部、所述发送部、所述第2接受部、所述第1设定部的部件来发挥作用。
(4)记录介质
一种计算机可读取的记录介质,记录了所述本发明的一个方面的工具用程序。
(5)可编程控制器
所述本发明的一个方面的可编程控制器系统所具备的可编程控制器,其特征在于,包括:第2设定部,对所述可编程控制器设定通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID;对照部,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID是否一致;以及执行禁止部,基于通过所述对照部对照后的对照结果,在所述第1用户程序执行用ID和所述第2用户程序执行用ID不一致时,禁止执行所述用户程序,所述可编程控制器的结构被设为,能够对所述第1用户程序执行用ID进行设定和删除。
另外,虽不必说,但本发明所说的所述“ID”是“identification”的缩写,表示识别码。
根据本发明的一个方面,通过所述第1接受部接受所述第1用户程序执行用ID的输入信息,通过所述发送部将所述第1用户程序执行用ID发送到所述可编程控制器,通过所述第2设定部对所述可编程控制器设定通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID,除此之外,通过所述第2接受部接受用于执行所述用户程序而对照的所述第2用户程序执行用ID的输入信息,通过所述第1设定部将所述第2用户程序执行用ID与所述用户程序关联地设定到本装置中,因此即使用户没有为了进行ID的对照而生成用户程序,也能够通过输入ID这样的简单的操作来防止在所述可编程控制器上执行的用户程序的擅自利用,由此,能够提高用于防止在所述可编程控制器上执行的用户程序的擅自利用的便利性。
在本发明的一个方面,可例示以下方式,即所述工具装置的结构被设为,多个所述用户程序的信息作为一个项目来管理,所述第1设定部对所述项目设定所述第2用户程序执行用ID。
在该特定事项中,所述用户程序作为所述项目而被管理,通过所述第1设定部对所述项目设定所述第2用户程序执行用ID,因此能够容易进行所述第2用户程序执行用ID和所述用户程序的关联。
在本发明的一个方面,可例示以下方式,即所述工具装置包括:加密部,对通过所述第1接受部接受的所述第1用户程序执行用ID以及通过所述第2接受部接受的所述第2用户程序执行用ID进行加密,所述发送部将通过所述加密部加密后的所述第1用户程序执行用ID发送到所述可编程控制器,所述第1设定部将通过所述加密部加密后的所述第2用户程序执行用ID设定到所述工具装置,所述第2设定部对所述可编程控制器设定通过所述加密部加密且通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID。
在该特定事项中,由所述加密部对通过所述第1接受部接受的所述第1用户程序执行用ID以及通过所述第2接受部接受的所述第2用户程序执行用ID进行加密,因此即便万一所述第1用户程序执行用ID和/或所述第2用户程序执行用ID的信息被读出而盗用,也由于所述第1用户程序执行用ID以及所述第2用户程序执行用ID为被加密了的ID,因此本来的用户以外的他人难以知晓所述第1用户程序执行用ID和/或所述第2用户程序执行用ID。由此,能够提高对于所述第1用户程序执行用ID和/或所述第2用户程序执行用ID向外部泄漏的安全性。
在本发明的一个方面,可例示以下方式,即所述发送部将所述第2用户程序执行用ID发送到所述可编程控制器,所述可编程控制器包括:存储控制部,将通过所述发送部发送到所述可编程控制器的所述第2用户程序执行用ID存储到该可编程控制器。
在该特定事项中,通过所述存储控制部将所述第2用户程序执行用ID存储到所述可编程控制器,因此即便没有在每次通过所述对照部进行对照时从所述工具装置取得所述第2用户程序执行用ID,也能够容易对照所述第1用户程序执行用ID和所述第2用户程序执行用ID。
在本发明的一个方面,可例示以下方式,即所述工具装置包括:附加部,将所述第2用户程序执行用ID附加到所述用户程序,所述发送部将通过所述附加部附加了所述第2用户程序执行用ID的所述用户程序发送到所述可编程控制器,所述存储控制部将通过所述附加部附加了所述第2用户程序执行用ID且通过所述发送部发送到所述可编程控制器的所述用户程序存储到所述可编程控制器。
在该特定事项中,通过所述附加部将所述第2用户程序执行用ID附加到所述用户程序,通过所述存储控制部将通过所述附加部附加了所述第2用户程序执行用ID的所述用户程序发送到所述可编程控制器从而存储到所述可编程控制器,因此能够使在所述可编程控制器中不易知晓所述第2用户程序执行用ID的存在。
在本发明的一个方面,可例示以下方式,即所述可编程控制器的结构被设为,将所述用户程序存储到该可编程控制器所具备的非易失性存储器中,所述对照部在将所述非易失性存储器中存储的所述用户程序存储到所述可编程控制器所具备的用于存储所述用户程序的易失性存储器时,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID。
在该特定事项中,通过所述对照部,在将所述非易失性存储器中存储的所述用户程序存储到所述易失性存储器时,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID,因此能够在执行所述用户程序之前可靠地对照所述第1用户程序执行用ID和所述第2用户程序执行用ID。
在本发明的一个方面,可例示以下方式,即所述可编程控制器包括:解除部,通过所述可编程控制器的再次起动来解除所述执行禁止部对所述用户程序的执行禁止状态。
在该特定事项中,在所述用户程序通过所述执行禁止部而成为执行禁止状态时,能够通过所述解除部根据所述可编程控制器的再次起动来解除所述执行禁止部对所述用户程序的执行禁止状态。由此,能够增加由本来的用户以外的他人对所述可编程控制器非法设定所述第1用户程序执行用ID的劳力,进而能够抑制他人的非法行为。
发明效果
如以上说明的那样,根据本发明,在所述工具装置中,通过所述第2接受部接受用于执行所述用户程序而对照的所述第2用户程序执行用ID的输入信息,通过所述第1设定部将所述第2用户程序执行用ID与所述用户程序关联地设定到本装置中,因此即使用户没有为了进行ID的对照而生成用户程序,也能够防止在所述可编程控制器上执行的所述用户程序的擅自利用,由此,能够提高用于防止在所述可编程控制器上执行的用户程序的擅自利用的便利性。
附图说明
图1是概念性地表示可编程控制器系统中的工具装置以及与其通信的可编程控制器的概略结构图。
图2是表示PLC中的CPU单元的硬件结构的方框图。
图3是表示通过微型处理器执行的PLC整体的处理例的流程图。
图4是表示与PLC通信的工具装置的概略结构的系统方框图。
图5是表示在图1所示的工具装置中的显示装置上显示的第1用户程序执行用ID设定画面的平面图。
图6是表示第1用户程序执行用ID的接受发送处理的一例的流程图。
图7是表示在图1所示的工具装置中的显示装置上显示的第2用户程序执行用ID设定画面的平面图。
图8是表示项目(project)的文件的数据结构的示意图。
图9是表示第2用户程序执行用ID的设定处理的一例的流程图。
图10是表示用户程序上附加的第2用户程序执行用ID的数据结构的示意图。
图11是表示第1用户程序执行用ID以及第2用户程序执行用ID的一致和不一致的条件的一例的表。
图12是表示对照第1用户程序执行用ID和第2用户程序执行用ID的对照处理的一例的流程图。
具体实施方式
以下,参照附图说明本发明的实施方式。另外,以下的实施方式是将本发明具体化了的例子,其性质并非为限定本发明的技术范围。
[可编程控制器系统的整体结构]
图1是概念性地表示可编程控制器系统300中的工具装置200以及与其通信的可编程控制器100的概略结构图。
如图1所示,可编程控制器系统300包括可编程控制器(以下称为“PLC”)100和工具装置200(这里为计算机)。
在可编程控制器系统300中,PLC100循环地重复进行以下处理:将通过输入输出单元130输入的信号放入(输入更新)CPU单元110的输入输出存储器117(参照后述的图2),并基于预先注册的通过梯型语言(ladder language)等PLC控制用的程序记述语言生成的用户程序YP(参照图2)而进行逻辑运算(运算执行),并将该运算执行结果写入输入输出存储器117而送出至输入输出单元130(输出更新),然后,进行所谓的周边服务处理。工具装置200在本实施方式中被设为用户程序开发支援装置(例如,CX-Progammer:申请人的产品),经由通信线缆CB连接到PLC100,下载用户程序YP,并存储到PLC100中的CPU单元110的备份存储器114(参照图2)和用户存储器116(参照图2)。此外,工具装置200在对PLC100中存储的用户程序YP进行修正等时,上传PLC100中存储的用户程序YP,在进行了必要的修正之后,将修正后的用户程序YP再次下载到PLC100。另外,在图1中,标号210、211、212、230、231分别表示操作输入部、键盘、指示设备、显示输出部以及显示装置。
[PLC的硬件结构]
作为PLC100,已知有将CPU(中央处理单元)部分(负责输入输出更新处理、用户程序执行处理、周边服务处理等的部分)、输入输出电路部分、通信电路部分、各种高功能电路部分等容纳到单一的机架(housing)而构成的集中(all in one)类型、以及将这些部分分别容纳到专用的单元机架而构成的积木(building block)类型。本发明可以应用于任意类型的PLC,但在本实施方式中,以积木类型的PLC为例进行说明。此外,本发明除了同时只能执行一个任务的单任务的处理之外,也能够应用于并行地执行多个任务的多任务的处理。
在本实施方式中,PLC100包括CPU单元110、通信单元120、多个输入输出单元130以及电源单元140。
CPU单元110统一控制PLC100的整体,如在以后参照图3所示的流程图说明的那样,执行输入输出更新处理、用户程序执行处理、周边服务处理等。
通信单元120经由LAN(局域网)等的网络而控制与工具装置200之间的通信,除此之外,虽然未图示,但在对PLC100连接了其他PLC或者远程IO终端等时,也被用于与它们之间的通信控制。
输入输出单元(I/O单元)130包括外部输入输出电路以及未图示的端子台,该端子台上对未图示的光电开关、限位开关、微动开关等的各种外部输入设备、以及继电器、灯、电磁阀(solenoid)等的各种外部输出设备进行布线。
图2是表示PLC100中的CPU单元110的硬件结构的方框图。
如图2所示,CPU单元110包括微处理器(MPU)111、系统存储器(SROM)112、ID存储用存储器(IDROM)113、备份存储器(BROM)114、工作存储器(WRAM)115、用户存储器(URAM)116以及输入输出存储器(IORAM)117。
微处理器111统一控制CPU单元110的整体,通过执行在系统存储器112中存储的系统程序SP,从而使CPU单元110实现必要的各种功能。
系统存储器112在该例子中由闪速存储器等的非易失性存储器构成,如之前叙述的那样,存储有通过微处理器111执行的各种系统程序SP。
ID存储用存储器113在该例子中由可进行电改写的EPROM(电可擦除可编程只读存储器)等的可改写的非易失性存储器构成。ID存储用存储器113以不能装卸的方式装(直接安装)在未图示的控制电路板上,被写入后述的第1用户程序执行用ID10。如后述那样,第1用户程序执行用ID10被设定为,通过来自图1所示的工具装置200的输入操作,能够对ID存储用存储器113改写和删除。
备份存储器114由闪速存储器等的非易失性存储器构成,在电源关断时不存在电池的状态下也保持内容。在备份存储器114中,以规定的程序语言(例如,梯型语言等)生成与PLC100的控制规格对应的用户程序YP,且变换为能够由微处理器111执行的目标代码后存储。
工作存储器115作为微处理器111执行从系统存储器112读出的系统程序SP时的工作区域而发挥作用,由可改写的RAM构成。
用户存储器116被设为用户程序YP的执行用存储器。用户存储器116由作为易失性存储器而作用的静态RAM(Static Random Access Memory)构成,电源关断时无法保持内容。在用户存储器116中,当接通了电源时,存储从备份存储器114传送的用户程序YP。
输入输出存储器117在微处理器111执行从用户存储器116读出的用户程序YP时用于参照,在其内部,除了与经由IO总线118连接的输入输出单元130(参照图1)的输入输出端子的数据对应的输入输出数据区域、仅用于内部运算的补助继电器区域、存储在运算途中使用的各种设定数据和计数数据等的数据区域之外,还设置有特殊辅助继电器区域。另外,在图2中,标号113a表示存储区域。此外,关于图2中的第2设定部Qb1、存储控制部Qb2、对照部Qb3、执行禁止部Qb4以及解除部Qb5在后面说明。
[PLC整体的处理例]
下面,参照图3如下说明通过微处理器111执行的PLC100整体的处理。
图3是表示通过微处理器111执行的PLC100整体的处理例的流程图。
如图3所示,微处理器111若通过电源接通(Power On)而处理开始,则首先,在执行了后述的ID的对照处理(处理S40)之后,为了进行各种标志和寄存器类的初始设定而执行初始化设定(处理S1)。ID的对照处理S40的细节,后面参照图12进行说明。
接着,微处理器111作为对以后的各种动作模式相同的处理而执行公共处理(处理S2)。在公共处理(处理S2)中,执行IO总线118的导通检查、各个单元的连接检查等的各种故障诊断处理等。
接着,微处理器111通过参照外部的模式设定开关和输入输出存储器117的规定标志等,从而读取该时刻的动作模式设定(处理S3)。
接着,微处理器111对照所读取的模式设定数据和对应于各个模式的数据,从而进行动作模式的判定(处理S4)。这里,若判定为动作模式是“运行”模式(处理S4:是),则执行输入输出更新处理(处理S5)。
微处理器111在输入输出更新处理(处理S5)中,执行通过输入输出单元130的输入端子的实际数据来更新之前说明的输入输出存储器117的输入数据的输入更新处理、以及通过输入输出存储器117的输出数据来更新输入输出单元130的输出端子的数据的输出更新处理。
接着,微处理器111执行用户程序执行处理(处理S6)。在用户程序执行处理(处理S6)中,执行如下的各命令对应处理:从用户存储器116依次读出构成用户程序YP的各个命令,并参照输入输出存储器117的输入输出数据来执行已读出的命令,基于该执行结果进行输入输出数据的改写。
接着,微处理器111执行周边服务处理(处理S7)。在周边服务处理(处理S7)中,与工具装置200适当进行交换,从而执行与从工具装置200到来的请求对应的各种处理。即,若工具装置200请求程序上传,则读出被指定的范围的用户程序YP,并将其发送到工具装置200。此外,若来自工具装置200的请求为请求程序下载,则接收从工具装置200送来的用户程序YP,并将其写入备份存储器114和用户存储器116。此外,在周边服务处理(处理S7)中,在对PLC100连接了一个或者两个以上的远程IO终端,或者,PLC100与其他的一个或者两个以上的PLC连接的情况下,进行与这些远程设备之间的数据交换。在周边服务处理(处理S7)之后,进至公共处理(处理S2)。
微处理器111若判定为动作模式是“程序模式”(处理S4:否),则进至处理S8,在执行了传送与程序模式对应的PLC100的系统设定等,或者进行用户程序YP对PLC100的下载或从PLC100的上传,或者生成输入输出表的处理之后,判断是否有用户程序YP的传送(处理S9)。在处理S9中判断为没有用户程序YP的传送时(处理S9:否),转移到处理S3,另一方面,在处理S9中判断为有用户程序YP的传送时(处理S9:是),执行ID的对照处理(处理S40)(参照图12)。以后,通过重复执行以上说明的一连串的处理(处理S3~S9,S40),从而实现作为PLC100的各种功能。
[工具装置的硬件结构]
如已叙述的那样,工具装置200在本实施方式中被设为用于用户程序YP的生成、编辑、对PLC100的下载、从PLC100的上传、其他各种参数设定或者变更等的用户程序开发支援装置。
在使用工具装置200生成用户程序YP时,将由多个用户程序YP构成的用户程序整体的信息作为一个项目PR(参照后述的图4以及图8)来管理。一般,这种工具装置200是通过在个人计算机等的具备通信功能的计算机上存储(安装)规定的程序而构成。
工具装置200具有与PLC100进行通信并且防止在PLC100上执行的用户程序YP的擅自利用的功能。
图4是表示与PLC100进行通信的工具装置200的概略结构的系统方框图。
如图4所示,工具装置200包括操作输入部210(还参照图1)、存储部220、显示输出部230(还参照图1)、通信部240、控制部250、读取部260。
操作输入部210包括键盘211和指示设备212等的输入装置,且连接到控制部250的输入系统。操作输入部210的结构为,接受用户的输入操作从而将所输入的操作信息发送到控制部250。
存储部220包括ROM221、RAM222、闪速存储器等可进行数据改写的非易失性存储器223等的存储装置、以及也作为非易失性存储器发挥作用的硬盘装置224等的大容量存储装置。另外,在硬盘装置224中预先存储(安装)了包含后述的工具用程序P(包含擅自利用防止用程序的程序)的软件,该工具用程序P是通过用于读出记录了工具用程序P的CD(光盘)-ROM等的记录介质M的读取部260而读出。另外,记录介质M也可以是USB(通用串行总线)存储器或SD(安全数字)存储卡。
显示输出部230包括液晶显示面板和EL(电致发光)显示面板等的显示装置231,且连接到控制部250的输出系统。显示装置231的结构设为,将来自控制部250的输出显示信息显示在显示画面上。另外,在显示装置231中的显示画面上,也可以设置触摸面板等的触摸输入操作装置。触摸输入操作装置的结构设为,能够进行与在显示画面上显示的画面的显示状态相应的输入操作,且作为操作输入部发挥作用。
通信部240具有接口部241(具体地说LAN端口),能够经由通信线缆CB(具体地说LAN线缆)在与控制部250和PLC中的通信单元120(参照图1)之间进行数据的通信。另外,PLC100以及工具装置200也可以经由例如USB端口或RS232等的串行接口而相互连接。
控制部250由CPU等的运算处理装置构成,通过将存储部220的硬盘装置224中预先存储的工具用程序P等的软件程序载入存储部220的RAM222上执行,从而进行各种处理。存储部220的RAM222对控制部250提供作业用的工作区域。另外,在图4中,标号20、224a分别表示第2用户程序执行用ID以及存储区域。
[工具装置的软件结构]
并且,工具装置200中的控制部250作为第1接受部Qa1、发送部Qa2、第2接受部Qa3以及第1设定部Qa4发挥作用。即,工具用程序P被编入用户程序开发支援用程序,使控制部250执行与第1接受部Qa1对应的第1接受步骤、与发送部Qa2对应的发送步骤、与第2接受部Qa3对应的第2接受步骤、与第1设定部Qa4对应的第1设定步骤。另外,关于图4中的附加部Qa5以及加密部Qa6在后面说明。
(第1接受步骤)
在第1接受步骤中,接受为了执行用户程序YP而对照的第1用户程序执行用ID10的输入信息。另外,在本实施方式中,在第1接受步骤,根据用户(通常为卖家)的安全级别(用户认证后的安全级别)而限制输入操作。
图5是表示在图1所示的工具装置200中的显示装置231上显示的第1用户程序执行用ID设定画面231a的平面图。
如图5所示,在显示装置231中的第1用户程序执行用ID设定画面231a上,通过具有操作权限的用户,用于输入第1用户程序执行用ID10的输入栏IP1、确定第1用户程序执行用ID10的输入操作的OK按钮BT1、将第1用户程序执行用ID设定画面231a结束的取消按钮BT2显示在第1用户程序执行用ID设定画面231a。具体地说,在输入栏IP1中被输入8~32字符的半角英文数字。
在第1用户程序执行用ID设定画面231a中,通过用户对键盘211(参照图1)的输入操作,输入栏IP1中输入第1用户程序执行用ID10,例如通过用户对指示设备212(参照图1)的操作而移动光标J,从而OK按钮BT1被操作(点击),从而将输入栏IP1中所输入的第1用户程序执行用ID10发送到控制部250。另一方面,通过取消按钮BT2被操作(点击),从而结束第1用户程序执行用ID设定画面231a。另外,第1用户程序执行用ID设定画面231a中的按钮操作也可以是基于触摸面板的操作。
(发送步骤)
在发送步骤中,从通信部240(参照图4)经由通信线缆CB将在第1接受步骤中接受的第1用户程序执行用ID10发送到PLC100。
(第1用户程序执行用ID的接受发送处理例)
接着,参照图6如下说明第1用户程序执行用ID10的接受发送处理的一例。图6是表示第1用户程序执行用ID10的接受处理的一例的流程图。另外,第1用户程序执行用ID10的接受发送处理是在程序模式下进行。
在图6所示的接受发送处理例的流程图中,首先,控制部250接受第1用户程序执行用ID10的输入操作(参照图5)(处理S11),判断取消按钮BT2是否被操作(处理S12)。在取消按钮BT2被操作的情况下(处理S12:是),结束处理,另一方面,在取消按钮BT2没有被操作的情况下(处理S12:否),判断OK按钮BT1是否被操作(处理S13)。在OK按钮BT1没有被操作的情况下(处理S13:否),转移到处理S11,另一方面,在OK按钮BT1被操作的情况下(处理S13:是),将第1用户程序执行用ID10发送到PLC100(处理S14),并结束处理。
(第2接受步骤)
在第2接受步骤中,接受为了执行用户程序YP而对照的第2用户程序执行用ID20的输入信息。
图7是表示在图1所示的工具装置200中的显示装置231上显示的第2用户程序执行用ID设定画面231b的平面图。
如图7所示,在显示装置231中的第2用户程序执行用ID设定画面231b上,通过用户(通常为卖家),用于输入第2用户程序执行用ID20的第1输入栏IP2、用于输入确认用的第2用户程序执行用ID20的第2输入栏IP3、确定第2用户程序执行用ID20的输入操作的OK按钮BT3、将第2用户程序执行用ID设定画面231b结束的取消按钮BT4显示在第2用户程序执行用ID设定画面231b。具体地说,在第1输入栏IP2以及第2输入栏IP3中被输入8~32字符的半角英文数字。
在第2用户程序执行用ID设定画面231b中,通过用户对键盘211(参照图1)的输入操作,第1输入栏IP2中输入第2用户程序执行用ID20,第2输入栏IP3中输入确认用的第2用户程序执行用ID20,例如通过用户对指示设备212(参照图1)的操作而移动光标J,从而OK按钮BT3被操作(点击),从而将第1输入栏IP2中所输入的第2用户程序执行用ID20和第2输入栏IP3中所输入的确认用的第2用户程序执行用ID20发送到控制部250。另一方面,通过取消按钮BT4被操作(点击),从而结束第2用户程序执行用ID设定画面231b。另外,第2用户程序执行用ID设定画面231b中的按钮操作也可以是基于触摸面板的操作。
(第1设定步骤)
在第1设定步骤中,将第2用户程序执行用ID20存储到工具装置200所具备的硬盘装置224(参照图4)的存储区域224a而进行设定。具体地说,第1设定步骤对项目PR设定第2用户程序执行用ID20。在项目PR的文件数据(以下,仅称为文件)中,由多个用户程序YP构成的用户程序整体与变量(数据)等信息一同保存。保存了用户程序整体的项目PR的文件被存储到硬盘装置224。
图8是表示项目PR的文件的数据结构的示意图。图8所示的项目PR的文件包括由多个用户程序YP构成的用户程序整体以及变量表、PLC系统设定、I/O表、I/O存储器数据等其他设定数据。各个用户程序YP在同一个项目PR的文件内生成。此外,用户程序YP由多个子程序构成。并且,第2用户程序执行用ID20在项目PR的文件内设定。由此,能够容易关联(相对应)各个用户程序YP和第2用户程序执行用ID20。
(关于第2用户程序执行用ID的写入)
这里,工具装置200的结构被设为,在对项目PR设定了一回第2用户程序执行用ID20之后,无法对第2用户程序执行用ID20进行设定变更和删除。
即,在第1设定步骤中,只有在尚未对项目PR设定第2用户程序执行用ID20时,才设定第2用户程序执行用ID20,在设定后通过设立ID设定用标志等从而无法对第2用户程序执行用ID20进行变更和删除。
(第2用户程序执行用ID的设定处理例)
接着,参照图9如下说明第2用户程序执行用ID20的设定处理的一例。图9是表示第2用户程序执行用ID20的设定处理的一例的流程图。
在图9所示的设定处理例的流程图中,首先,控制部250判断是否已对项目PR设定了第2用户程序执行用ID20(处理S21)。
在已对项目PR设定了第2用户程序执行用ID20的情况下(处理S21:是),显示已设定了第2用户程序执行用ID20的意旨(处理S22),并结束处理,另一方面,在尚未对项目PR设定第2用户程序执行用ID20的情况下(处理S21:否),转移到处理S23。
接着,接受第2用户程序执行用ID20的输入操作(参照图7)(处理S23),判断取消按钮BT4是否被操作(处理S24)。在取消按钮BT4被操作的情况下(处理S24:是),结束处理,另一方面,在取消按钮BT4没有被操作的情况下(处理S24:否),判断OK按钮BT3是否被操作(处理S25)。在OK按钮BT3没有被操作的情况下(处理S25:否),转移到处理S23,另一方面,在OK按钮BT3被操作的情况下(处理S25:是),进行用于表示对确认键(例如“Y”键)进行操作(按压)的消息显示(处理S26)。
接着,判断确认键(例如“Y”键)是否被操作(按压)(处理S27),在确认键以外的键被操作的情况下(处理S27:否),转移到处理S23,另一方面,在确认键(例如“Y”键)被操作的情况下(处理S27:是),转移到处理S28。
接着,判断第1输入栏IP2中所输入的第2用户程序执行用ID20和第2输入栏IP3中所输入的确认用的第2用户程序执行用ID20是否一致(处理S28),在不一致的情况下(处理S28:否),显示用于表示不一致的消息(处理S29),转移到处理S23,另一方面,在一致的情况下(处理S28:是),对项目PR设定第2用户程序执行用ID20(处理S30),并结束处理。
(关于第2用户程序执行用ID的显示)
此外,控制部250的结构被设为,不具有显示在对项目PR设定后的硬盘装置224的存储区域224a中存储的第2用户程序执行用ID20的功能(具体地说禁止显示第2用户程序执行用ID20)。
在本实施方式中,控制部250还作为附加部Qa5(参照图4)发挥作用。即,工具用程序P使控制部250执行与附加部Qa5对应的附加步骤。
(附加步骤)
在附加步骤中,将项目PR(参照图8)中的第2用户程序执行用ID20附加到用户程序YP。具体地说,在附加步骤中,读出项目PR中的第2用户程序执行用ID20,对通过与用户程序YP的语言对应的编译器所编译的用户程序YP的目标代码(参照后述的图10),编入从项目PR读出的第2用户程序执行用ID20。
图10是表示对用户程序YP所附加的第2用户程序执行用ID20的数据结构的示意图。
如图10所示,用户程序YP的目标代码上所附加的第2用户程序执行用ID20的文件数据11,由文件信息报头部12和数据部13构成。在文件信息报头部12中记录文件版本等的文件信息。在数据部13中存储第2用户程序执行用ID20。
并且,在发送步骤中,将在附加步骤中附加了第2用户程序执行用ID20的用户程序YP发送到PLC100。
另外,也可以将第2用户程序执行用ID20和用户程序YP分别发送到PLC100。这时,也可以将第2用户程序执行用ID20和用户程序YP同时或者不同的时间发送。
在本实施方式中,控制部250还作为加密部Qa6(参照图4)发挥作用。即,工具用程序P使控制部250执行与加密部Qa6对应的加密步骤。
(加密步骤)
在加密步骤中,以不可逆的方式加密在第1接受步骤中接受的第1用户程序执行用ID10、以及在第2接受步骤中接受的第2用户程序执行用ID20。这里,不可逆的加密处理是无法返回到原来的ID码的处理,若使用相同的加密密钥来加密相同的字符串,则所生成的字符串相同。另外,也可以在对照以可逆方式加密的第1以及第2用户程序执行用ID10,20时进行解密。
并且,在第1设定步骤中,对项目PR设定在加密步骤中加密了的第2用户程序执行用ID20。此外,在发送步骤中,将在加密步骤中加密了的第1用户程序执行用ID10发送到PLC100。
[PLC的软件结构]
PLC100中的微处理器111作为第2设定部Qb1、存储控制部Qb2、对照部Qb3以及执行禁止部Qb4(参照图2)发挥作用。即,系统程序SP使微处理器111执行与第2设定部Qb1对应的第2设定步骤、与存储控制部Qb2对应的存储控制步骤、与对照部Qb3对应的对照步骤、与执行禁止部Qb4对应的执行禁止步骤。另外,关于图2中的解除部Qb5在后面说明。
(第2设定步骤)
在第2设定步骤中,将在工具装置200所实施的发送步骤中发送到PLC100的第1用户程序执行用ID10存储到PLC100所具备的ID存储用存储器113(参照图2)的存储区域113a而进行设定。
此外,当第1用户程序执行用ID10在工具装置200被加密时,在第2设定步骤中,将在工具装置200所实施的加密步骤中加密且通过发送步骤发送到PLC100的第1用户程序执行用ID10存储到ID存储用存储器113的存储区域113a而进行设定。
(关于第1用户程序执行用ID10的写入)
这里,PLC100的结构被设为,能够将第1用户程序执行用ID10对ID存储用存储器113进行改写和删除。
即,在第2设定步骤中,与第1用户程序执行用ID10是否在ID存储用存储器113的存储区域113a中设定(存储)无关地,能够对第1用户程序执行用ID10进行变更和删除。第1用户程序执行用ID10的变更能够通过图5所示的第1用户程序执行用ID设定画面231a进行。
(关于第1用户程序执行用ID的删除)
在ID存储用存储器113的存储区域113a中存储的第1用户程序执行用ID10,能够通过对CPU单元110执行存储器全部清除的功能而删除。即,若执行对于CPU单元110的存储器全部清除的功能,则成为ID存储用存储器113的存储区域113a中没有设定第1用户程序执行用ID10的状态,ID存储用存储器113返回到初始的非设定状态。
(关于第1用户程序执行用ID的显示)
另外,工具装置200中的控制部250的结构被设为,不具备显示ID存储用存储器113的存储区域113a中设定后的ID存储用存储器113中存储的第1用户程序执行用ID10的功能(具体地说,禁止显示第1用户程序执行用ID10)。
(存储控制步骤)
在存储控制步骤中,将在工具装置200所实施的附加步骤中附加了第2用户程序执行用ID20且通过发送步骤发送到PLC100的用户程序YP存储到PLC100的备份存储器114(参照图2)。
(对照步骤)
在对照步骤中,对照第1用户程序执行用ID10和第2用户程序执行用ID20是否一致。具体地说,对照在ID存储用存储器113中存储的第1用户程序执行用ID10和从项目PR传送而存储到备份存储器114的第2用户程序执行用ID20。
在本实施方式中,在对照步骤中,在将备份存储器114中存储的用户程序YP存储到用户存储器116时,对照第1用户程序执行用ID10和第2用户程序执行用ID20。具体地说,读出在ID存储用存储器113中存储的第1用户程序执行用ID10,从备份存储器114读出用户程序YP从而从用户程序YP取出附加到(编入)用户程序YP的第2用户程序执行用ID20,对照从ID存储用存储器113读出的第1用户程序执行用ID10和从用户程序YP取出的第2用户程序执行用ID20。
这里,第1用户程序执行用ID10和第2用户程序执行用ID20是以使用相同的加密密钥来加密相同的字符串而生成的字符串相同的不可逆的方式被加密的,因此在对照步骤中,对照以不可逆的方式被加密的第1用户程序执行用ID10的字符串和以不可逆的方式被加密的第2用户程序执行用ID20的字符串是否一致。
在本实施方式中,第1用户程序执行用ID10和第2用户程序执行用ID20的一致和不一致设为图11所示那样的条件。图11是表示第1用户程序执行用ID10和第2用户程序执行用ID20的一致和不一致的条件的一例的表。
如图11所示,当ID存储用存储器113中没有设定第1用户程序执行用ID10,并且没有对项目PR设定第2用户程序执行用ID20时,判断为一致。
当ID存储用存储器113中设定了第1用户程序执行用ID10,而且对项目PR设定了第2用户程序执行用ID20,并且双方的ID10、20相等时,判断为一致。
当ID存储用存储器113中设定了第1用户程序执行用ID10,并且没有对项目PR设定第2用户程序执行用ID20时,判断为不一致。
当ID存储用存储器113中没有设定第1用户程序执行用ID10,并且对项目PR设定了第2用户程序执行用ID20时,判断为不一致。
此外,当ID存储用存储器113中设定了第1用户程序执行用ID10,而且对项目PR设定了第2用户程序执行用ID20,并且双方的ID10、20不相等时,判断为不一致。
对照第1用户程序执行用ID10和第2用户程序执行用ID20的定时在本实施方式中被设为,接通PLC100的电源后从备份存储器114向用户存储器116存储了用户程序YP的时候(电源接通时),或者,从工具装置200向PLC100中的备份存储器114存储用户程序YP从而从备份存储器114向用户存储器116存储了用户程序YP的时候(下载时)。
(执行禁止步骤)
在执行禁止步骤中,基于通过对照步骤进行了对照的对照结果,在第1用户程序执行用ID10和第2用户程序执行用ID20不一致时,禁止执行用户程序YP。
在本实施方式中,微处理器111还作为解除部Qb5发挥作用。即,系统程序SP使微处理器111执行与解除部Qb5(参照图2)对应的解除步骤。
(解除步骤)
在解除步骤中,将执行禁止步骤中对用户程序YP的执行禁止状态,通过CPU单元110的再次起动(具体地说,CPU单元110的电源关断/接通或者来自工具装置200的用户程序开发支援用程序的复位)而解除。
(ID的对照处理例)
接着,参照图12如下说明对照第1用户程序执行用ID10和第2用户程序执行用ID20的对照处理S40的一例。图12是表示对照第1用户程序执行用ID10和第2用户程序执行用ID20的对照处理S40的一例的流程图。另外,图12所示的流程图是图3所示的ID的对照处理S40的详细流程图。
在图12所示的ID的对照处理例的流程图中,首先,判断是否为电源接通时,或者是否为下载时(处理S41)。不是电源接通时的情况下(处理S41:否),返回到图3所示的PLC100整体的处理中的初始化处理(处理S1),不是下载时的情况下(处理S41:否),返回到图3所示的PLC100整体的处理中的模式读取处理(处理S3)。另一方面,是电源接通时或者下载时的情况下(处理S41:是),转移到处理S42。
接着,判断第1以及第2用户程序执行用ID10、20中的一个是否为未设定(处理S42)。当第1以及第2用户程序执行用ID10、20中的一个为未设定的情况下(处理S42:是),转移到处理S46,另一方面,并不是第1以及第2用户程序执行用ID10、20中的一个为未设定的情况下(处理S42:否),判断第1以及第2用户程序执行用ID10、20的双方是否为未设定(处理S43)。
当第1以及第2用户程序执行用ID10、20的双方为未设定的情况下(处理S43:是),转移到处理S45,另一方面,并不是第1以及第2用户程序执行用ID10、20的双方为未设定的情况下(处理S43:否),判断第1以及第2用户程序执行用ID10、20是否一致(处理S44)。
当第1以及第2用户程序执行用ID10、20一致时(处理S44:是),转移到处理S45,另一方面,当第1以及第2用户程序执行用ID10、20不一致时(处理S44:否),转移到处理S46。
在处理S45中,许可执行用户程序YP,并返回到图3所示的PLC100整体的处理。
在处理S46中,禁止执行用户程序YP,进行用于表示ID不一致的消息显示(处理S47)之后,返回到图3所示的PLC100整体的处理。这里,表示ID不一致的消息显示是使用PLC100具备的显示功能(在图1中省略)而进行。作为显示功能的例子而使用LED灯时,可例示点亮或闪灭规定的LED的方式。作为显示功能的例子而使用液晶显示装置时,可例示显示规定的字符串的方式。
(关于本实施方式)
如以上说明的那样,根据本实施方式,接受第1用户程序执行用ID10的输入信息,将第1用户程序执行用ID10发送到PLC100,并对PLC100设定发送到PLC100的第1用户程序执行用ID10,除此之外,接受为了执行用户程序YP而对照的第2用户程序执行用ID20的输入信息,并对工具装置200中设置的项目PR设定第2用户程序执行用ID20,因此即使用户没有为了进行ID的对照而生成用户程序YP,也能够通过输入ID这样的简单的操作来防止在PLC100上执行的用户程序YP的擅自利用,由此,能够提高用于防止在PLC100上执行的用户程序YP的擅自利用的便利性。
并且,在工具装置200中,由于被设为在对工具装置200中设置的项目PR设定了一回第2用户程序执行用ID20之后,无法对第2用户程序执行用ID20进行设定变更和删除的结构,因此将设定了一回的第2用户程序执行用ID20,通过设定了第2用户程序执行用ID20的原来的用户(包含从该用户得知的用户在内的用户)以外的他人来改写或者盗取是非常困难的。此外,由于被设为能够对PLC100中的ID存储用存储器113改写和删除第1用户程序执行用ID10的结构,因此原来的用户能够设定与第2用户程序执行用ID20一致的第1用户程序执行用ID10,由此,在PLC100中,基于对照后的对照结果,第1用户程序执行用ID10和第2用户程序执行用ID20一致,从而能够在PLC100中执行用户程序YP。另一方面,若本来的用户以外的他人设定不同于第2用户程序执行用ID20的第1用户程序执行用ID10,则在PLC100中,基于对照后的对照结果,第1用户程序执行用ID10和第2用户程序执行用ID20不一致,从而禁止执行用户程序YP,因此无法执行用户程序YP。并且,由于工具装置200被设为不具有显示PLC100的ID存储用存储器113中的第1用户程序执行用ID10的功能、以及显示项目PR中的第2用户程序执行用ID20的功能的结构,无论是本来的用户还是本来的用户以外的他人,从工具装置200知晓第1用户程序执行用ID10以及第2用户程序执行用ID20是非常困难的。另外,在本实施方式中,ID存储用存储器113以不能装卸的方式装(直接安装)在控制电路板上,因此将ID存储用存储器113更换到另一个PLC也是非常困难的。
此外,在本实施方式中,用户程序YP作为项目PR来管理,且对项目PR设定第2用户程序执行用ID20,因此能够容易关联第2用户程序执行用ID20和用户程序YP。
此外,在本实施方式中,对通过第1接受部Qa1接受的第1用户程序执行用ID10以及通过第2接受部Qa3接受的第2用户程序执行用ID20进行加密,因此即便万一第1用户程序执行用ID10和/或第2用户程序执行用ID20被非法读出而盗用,也由于第1用户程序执行用ID10以及第2用户程序执行用ID20为被加密了的ID,因此本来的用户以外的他人难以知晓第1用户程序执行用ID10和/或第2用户程序执行用ID20。由此,能够提高对于第1用户程序执行用ID10和/或第2用户程序执行用ID20向外部泄漏的安全性。并且,加密处理是不可逆的加密处理,无法返回到原来的ID码,因此原来的ID码的信息不会被知晓。
此外,在本实施方式中,将工具装置200中设置的项目PR中的第2用户程序执行用ID20存储到PLC100中的备份存储器114,因此即便没有在每次对照时从工具装置200取得第2用户程序执行用ID20,也能够容易对照第1用户程序执行用ID10和第2用户程序执行用ID20。
此外,在本实施方式中,将第2用户程序执行用ID20附加到用户程序YP,并将附加了第2用户程序执行用ID20的用户程序YP发送到PLC100从而存储到PLC100中的备份存储器114,因此能够使在PLC100中不易知晓第2用户程序执行用ID20的存在。
此外,在本实施方式中,在将备份存储器114中存储的用户程序YP存储到用户存储器116时,对照第1用户程序执行用ID10和第2用户程序执行用ID20,因此能够在执行用户程序YP之前可靠地对照第1用户程序执行用ID10和第2用户程序执行用ID20。
此外,在本实施方式中,在用户程序YP成为执行禁止状态时,通过CPU单元110的再次起动来解除用户程序YP的执行禁止状态,因此能够增加由本来的用户以外的他人对ID存储用存储器113非法写入第1用户程序执行用ID10的劳力,进而能够抑制他人的非法行为。
此外,在本实施方式中,对ID存储用存储器113写入的第1用户程序执行用ID10的内容可以任意改写,因此在因故障等原因而导致PLC100被替换为另一个PLC100时,通过将替换后的PLC100的ID存储用存储器113中的第1用户程序执行用ID10的内容改写为与替换前的PLC100的第1用户程序执行用ID10相同的内容,从而使用户程序YP在替换后的PLC100上也能够运行。
另外,在可编程控制器系统300中,在设置多个PLC100的情况下,通过将与在工具装置200侧设定的第2用户程序执行用ID20相同的ID作为多个PLC100侧的第1用户程序执行用ID10而设定到ID存储用存储器113,从而即使在设置多个PLC100的情况下,也能够与前述同样地,防止用户程序YP的擅自利用。
应认为本次公开的实施方式在所有方面为例示而并非限制性的内容。本发明的范围通过权利要求书来表示而并非上述的说明,且包含与权利要求书相同的含义以及范围内的所有的变更。
标号说明
10 第1用户程序执行用ID
20 第2用户程序执行用ID
100 可编程控制器
113 ID存储用存储器
114 备份存储器(非易失性存储器的一例)
116 用户存储器(易失性存储器的一例)
200 工具装置
224 硬盘装置
300 可编程控制器系统
M 记录介质
PR 项目
Qa1 第1接受部
Qa2 发送部
Qa3 第2接受部
Qa4 第1设定部
Qa5 附加部
Qa6 加密部
Qb1 第2设定部
Qb2 存储控制部
Qb3 对照部
Qb4 执行禁止部
Qb5 解除部
YP 用户程序

Claims (11)

1.一种可编程控制器系统,包括可编程控制器和工具装置,该工具装置与所述可编程控制器进行通信,且用于使所述可编程控制器执行用户程序,其中,
所述工具装置包括:
第1接受部,接受用于执行所述用户程序而对照的第1用户程序执行用ID的输入信息;
发送部,将所述第1用户程序执行用ID发送到所述可编程控制器;
第2接受部,接受用于执行所述用户程序而对照的第2用户程序执行用ID的输入信息;以及
第1设定部,将所述第2用户程序执行用ID与所述用户程序关联地设定到本装置中,
所述工具装置的结构被设为,在所述第2用户程序执行用ID一旦被设定之后不能对所述第2用户程序执行用ID进行设定和删除,
所述工具装置的结构被设为,不具有显示所述第1用户程序执行用ID的功能、以及显示所述第2用户程序执行用ID的功能,
所述可编程控制器包括:
第2设定部,对所述可编程控制器设定通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID;
对照部,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID是否一致;以及
执行禁止部,基于通过所述对照部对照后的对照结果,在所述第1用户程序执行用ID和所述第2用户程序执行用ID不一致时,禁止执行所述用户程序,
所述可编程控制器的结构被设为,能够对所述第1用户程序执行用ID进行设定和删除。
2.如权利要求1所述的可编程控制器系统,其中,
所述工具装置的结构被设为,将多个所述用户程序的信息作为一个项目来管理,
所述第1设定部对所述项目设定所述第2用户程序执行用ID。
3.如权利要求1所述的可编程控制器系统,其中,
所述工具装置包括:
加密部,对通过所述第1接受部接受的所述第1用户程序执行用ID以及通过所述第2接受部接受的所述第2用户程序执行用ID进行加密,
所述发送部将通过所述加密部加密后的所述第1用户程序执行用ID发送到所述可编程控制器,
所述第1设定部将通过所述加密部加密后的所述第2用户程序执行用ID设定到所述工具装置,
所述第2设定部对所述可编程控制器设定通过所述加密部加密且通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID。
4.如权利要求1所述的可编程控制器系统,其中,
所述发送部将所述第2用户程序执行用ID发送到所述可编程控制器,
所述可编程控制器包括:
存储控制部,将通过所述发送部发送到所述可编程控制器的所述第2用户程序执行用ID存储到该可编程控制器。
5.如权利要求4所述的可编程控制器系统,其中,
所述工具装置包括:
附加部,将所述第2用户程序执行用ID附加到所述用户程序,
所述发送部将通过所述附加部附加了所述第2用户程序执行用ID的所述用户程序发送到所述可编程控制器,
所述存储控制部将通过所述附加部附加了所述第2用户程序执行用ID且通过所述发送部发送到所述可编程控制器的所述用户程序存储到所述可编程控制器。
6.如权利要求4所述的可编程控制器系统,其中,
所述可编程控制器的结构被设为,将所述用户程序存储到该可编程控制器所具备的非易失性存储器中,
所述对照部在将所述非易失性存储器中存储的所述用户程序存储到所述可编程控制器所具备的用于存储所述用户程序的易失性存储器时,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID。
7.如权利要求1所述的可编程控制器系统,其中,
所述可编程控制器包括:
解除部,通过所述可编程控制器的再次起动来解除所述执行禁止部对所述用户程序的执行禁止状态。
8.一种工具装置,包含在权利要求1所述的可编程控制器系统中,该工具装置包括:
第1接受部,接受用于执行所述用户程序而对照的第1用户程序执行用ID的输入信息;
发送部,将所述第1用户程序执行用ID发送到所述可编程控制器;
第2接受部,接受用于执行所述用户程序而对照的第2用户程序执行用ID的输入信息;以及
第1设定部,将所述第2用户程序执行用ID与所述用户程序关联地设定到本装置中,
所述工具装置的结构被设为,在所述第2用户程序执行用ID一旦被设定之后不能对所述第2用户程序执行用ID进行设定和删除,
所述工具装置的结构被设为,不具有显示所述第1用户程序执行用ID的功能、以及显示所述第2用户程序执行用ID的功能。
9.一种工具用程序,用于使权利要求8所述的工具装置中的控制部作为包含所述第1接受部、所述发送部、所述第2接受部、所述第1设定部的部件来发挥作用。
10.一种计算机可读取的记录介质,记录了权利要求9所述的工具用程序。
11.一种可编程控制器,包含在权利要求1所述的可编程控制器系统中,该可编程控制器包括:
第2设定部,对所述可编程控制器设定通过所述发送部发送到所述可编程控制器的所述第1用户程序执行用ID;
对照部,对照所述第1用户程序执行用ID和所述第2用户程序执行用ID是否一致;以及
执行禁止部,基于通过所述对照部对照后的对照结果,在所述第1用户程序执行用ID和所述第2用户程序执行用ID不一致时,禁止执行所述用户程序,
所述可编程控制器的结构被设为,能够对所述第1用户程序执行用ID进行设定和删除。
CN201180003124.XA 2011-03-15 2011-09-26 可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器 Active CN103052920B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011-056867 2011-03-15
JP2011056867A JP5786386B2 (ja) 2011-03-15 2011-03-15 プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ
PCT/JP2011/071859 WO2012124196A1 (ja) 2011-03-15 2011-09-26 プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ

Publications (2)

Publication Number Publication Date
CN103052920A true CN103052920A (zh) 2013-04-17
CN103052920B CN103052920B (zh) 2015-10-21

Family

ID=46830297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003124.XA Active CN103052920B (zh) 2011-03-15 2011-09-26 可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器

Country Status (4)

Country Link
EP (1) EP2523057B1 (zh)
JP (1) JP5786386B2 (zh)
CN (1) CN103052920B (zh)
WO (1) WO2012124196A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6455096B2 (ja) * 2014-11-25 2019-01-23 富士電機株式会社 コントロールシステム、その支援装置、プログラマブルコントロール装置
CN111506890B (zh) * 2020-04-30 2022-09-23 中铁工程装备集团有限公司 一种基于u盘加密狗的盾构机锁机方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206035A (ja) * 1985-03-09 1986-09-12 Meruko:Kk コンピユ−タプログラムの盗用防止装置
JPH06110512A (ja) * 1992-09-25 1994-04-22 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2002023876A (ja) * 2000-07-07 2002-01-25 Matsushita Electric Works Ltd 電子機器組み込みソフトウェアの保護方法及び電子機器
JP2005038068A (ja) * 2003-07-17 2005-02-10 Ricoh Co Ltd ソフトウェア違法コピー防止システム
JP2009070144A (ja) * 2007-09-13 2009-04-02 Omron Corp Plcにおけるプログラミング方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129207A (ja) * 1993-10-28 1995-05-19 Fanuc Ltd 数値制御システム
US20120310379A1 (en) * 2010-02-12 2012-12-06 Mitsubishi Electric Corporation Programmable controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206035A (ja) * 1985-03-09 1986-09-12 Meruko:Kk コンピユ−タプログラムの盗用防止装置
JPH06110512A (ja) * 1992-09-25 1994-04-22 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2002023876A (ja) * 2000-07-07 2002-01-25 Matsushita Electric Works Ltd 電子機器組み込みソフトウェアの保護方法及び電子機器
JP2005038068A (ja) * 2003-07-17 2005-02-10 Ricoh Co Ltd ソフトウェア違法コピー防止システム
JP2009070144A (ja) * 2007-09-13 2009-04-02 Omron Corp Plcにおけるプログラミング方法

Also Published As

Publication number Publication date
EP2523057A4 (en) 2014-04-30
JP5786386B2 (ja) 2015-09-30
JP2012194679A (ja) 2012-10-11
EP2523057B1 (en) 2018-08-08
WO2012124196A1 (ja) 2012-09-20
CN103052920B (zh) 2015-10-21
EP2523057A1 (en) 2012-11-14

Similar Documents

Publication Publication Date Title
CN112559315B (zh) 用于自动化对象的测试框架
CN101960464B (zh) 信息处理装置
CN112631555A (zh) 具有开放api的可扩展ide平台
JP5404463B2 (ja) 制御装置及び管理装置
WO2017040145A1 (en) Web-based programming environment for embedded devices
CN103425909B (zh) 控制系统、控制装置及程序执行控制方法
CN103688268A (zh) 车辆单元和用来操作车辆单元的方法
US9311460B2 (en) Programmable controller system, tool device, tool program, storage medium, and programmable controller
CN102177501A (zh) 硬件虚拟化系统
JP2008033570A (ja) 制御システム、制御システムにおける認証方法、プログラム及びコンピュータ読み取り可能な記録媒体
CN111133434A (zh) 用于受密码保护地运行虚拟机的设备和方法
CN115877797A (zh) 工业自动化项目库交叉共享
CN102763046B (zh) 可编程控制器
CN103052920B (zh) 可编程控制器系统、工具装置、工具用程序、记录介质以及可编程控制器
JP2006330867A (ja) プログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラム
CN105938337B (zh) 微电脑控制器二次开发云平台与使用方法
JP3512705B2 (ja) プログラマブル表示器の画面シミュレーションシステム、画面シミュレーション方法および画面シミュレーションのためのプログラムを記録した記録媒体
JP6149393B2 (ja) 通信カプラ、情報処理装置、制御方法およびプログラム
JP2010039565A (ja) 機器情報管理システム
CN115113851A (zh) 系统模型智能对象配置
KR101572854B1 (ko) 사이버 보안 기능이 강화된 피엘씨 장치
CN104054085A (zh) 信息处理装置、信息处理方法和计算机程序
JP5473391B2 (ja) 保護制御装置
JP2009080736A (ja) Plc構築方法
KR101539253B1 (ko) 프로그램 품질 관리 기능이 구비된 피엘씨 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant