可编程控制器系统及开发系统的利记博彩app

文档序号:6326832阅读:236来源:国知局
专利名称:可编程控制器系统及开发系统的利记博彩app
可编程控制器系统及开发系统技术区域本发明涉及一种PLC系统以及开发系统,该PLC系统包括可编程控制器(下面简称为PLC)、显示PLC的设备存储器的状态的可编程显示器(下面简称为显示器)、以及生成使PLC动作的程序及显示器的 画面数据的开发系统。
背景技术
使PLC动作的程序是利用编程装置而生成的。在使用该编程装置而开发大规模程序时,为了提高生产率及维护性,进行使用标签(或标志(tag)、变量)的编程。例如,由国际电工委员会提出的IEC61131-3标准规定了使用标签的PLC用高级程序语言。PLC无法直接执行使用标签的程序。因此,编程装置将使用标签的程序变换为PLC可执行的程序代码,将变换后的程序代码下载至PLC中。由此,使得PLC可以执行使用标签生成的程序。所述程序在PLC内执行,在PLC所具有的存储器内,生成 更新用于控制工业装置等外部装置的输入输出数据、以及用于计算所述输入输出数据的中间数据。下面,将输入输出数据及中间数据总称为设备数据。有时使用显示器或计算机上的监视软件对该PLC内的设备数据进行监视 操作。以下,假定显示器不仅包括可编程显示器,还包括使所述监视软件动作的计算机等用于显示PLC内的设备数据的装置。当前,存在一种技术,即,在使用绘图装置生成显示器所显示的画面数据时,可以在对作为该监视·操作对象的设备数据进行指定时使用标签名。下面,将该技术称为现有技术I。根据现有技术I,编程装置在将使用标签的程序变换为PLC可执行的程序代码时,针对各标签分配与数据类型对应的存储器地址。通过该处理,生成由标签一数据类型一存储器地址构成的标签信息。绘图装置读入该标签信息,通过参照所读入的标签信息,将对画面数据中的各种部件所分配的标签变换为实际的PLC数据存储器的存储器地址(设备地址),并下载至显示器中。显示器可以根据标签信息,从分配给标签的PLC的存储器地址中,取得作为监视·操作对象的设备数据。另外,在专利文献I中公开了一种技术,其以实现PLC和编程装置之间的数据发送/接收的高效化为目的,灵活应用向数据赋予的ID信息。即,根据专利文献I所公开的技术,在每次对PLC的程序的数据进行修正时,对ID信息进行更新。而且,由于希望仅将修正后的数据在PLC和编程装置之间进行发送/接收,因此,在发送源和接收目标之间对ID信息进行比较,判断数据是否被修正。另外,上述ID信息大多使用数据最终修正日期(时间戳)。专利文献I :日本特开平10-333719号公报

发明内容
但是,在上述现有技术I中,如果通过用户进行的程序修正,而在编程装置中进行标签定义的追加、删除、变更,则有可能分配给标签的存储器地址被变更为其它存储器地址。由于显示器侧的标签的存储器地址参照的是程序修正前的存储器地址,所以,如果直接将修正后的程序下载至PLC中,则导致显示器将存储在并非用户所要的存储器地址中的设备数据进行显示,有可能导致用户进行严重的误操作。为了避免该情况,需要基于最新状态的标签信息对画面数据进行变换,将变换后的标签信息下载至显示器中。因此,需要用户对当前的画面数据是否为基于最新状态的标签信息而变换后的数据进行判断,在判断为并非基于最新状态的标签信息的情况下,需要对画面数据进行重新变换·下载。由于该作业对用户来说是非常复杂的作业,因此希望可以自动进行。例如,如果将专利文献I所公开的技术和现有技术I进行组合,则可以判断是否需要进行画面数据的重新生成 下载。将该技术称为现有技术2。根据现有技术2,使由编程装置生成的程序数据、基于程序数据生成的标签信息、由绘图装置基于标签信息生成的画面数据分别具有ID信息,显示器基于该ID信息的一致 不一致,判断是否需要进行画面数据的重新变换·下载。然而,如进行修正以使若干标签不再使用的情况等这样,有时在修正了标签信息的情况下即使不进行画面数据的重新变换 下载,也不会导致严重的误操作。但是,根据现 有技术2,只要标签信息进行了变更,就会对向标签信息赋予的ID信息进行更新,因此,在基于修正后的标签信息的画面数据和基于修正前的标签信息的画面数据之间,产生ID信息不一致,导致被判断为需要进行画面数据的重新变换·下载。即,在现有技术2中,在每次进行了标签信息的修正时,都需要进行画面数据的重新变换·下载,因此,程序开发的效率降低。本发明就是鉴于上述课题而提出的,其目的在于得到一种可编程控制器系统及开发系统,其可以进行高效的程序开发。为了解决上述课题,达成目的,本发明的特征在于,具有可编程控制器(PLC),其具有第I存储器并执行第I程序,该第I存储器将使用设备地址并对外部装置进行控制的所述第I程序与第I识别信息相关联地进行存储;显示器,其具有第2存储器,该第2存储器将使用设备地址的第I画面数据与第2识别信息相关联地进行存储;以及开发系统,其具有程序变换部、标签管理部、标签信息存储部及绘图部,该程序变换部通过针对使用标签替代设备地址的第2程序中所使用的标签分配设备地址,从而生成在所述第I存储器中存储的第I程序,该标签管理部在所述程序变换部生成所述第I程序时,生成标签信息,该标签信息是针对每个标签而将所述第2程序中使用的标签和分配给该标签的设备地址进行关联而生成的,标签信息存储部将由所述标签管理部生成的标签信息与所述第I识别信息相关联地进行存储,该绘图部基于所述标签信息存储部所存储的标签信息,将使用标签替代设备地址的第2画面数据中使用的标签变换为设备地址,由此,生成存储于所述第2存储器中的第I画面数据,将与生成所述第I画面数据的时刻的所述标签信息所关联的第I识别信息相同的值,作为所述第2识别信息而与所述生成的第I画面数据相关联,所述标签管理部在所述程序变换部重新生成所述第I程序时,与所述第I程序的重新生成对应地,对所述标签信息存储部所存储的标签信息进行更新,并与所述标签信息的更新内容对应地,对与该标签信息及所述重新生成的第I程序相关联的第I识别信息执行/不执行更新,所述显示器判定与所述PLC执行的第I程序相关联的第I识别信息和与所述第2存储器所存储的第I画面数据相关联的第2识别信息是否一致,在所述两者的识别信息一致的情况下,基于所述第2存储器存储的第I画面数据,从所述PLC取得并显示设备地址的内容,在所述两者的识别信息不一致的情况下,执行异常处理。发明的效果根据本发明,实现可以进行高效的程序开发的效果。


图I是表示本发明的实施方式的PLC系统的结构的图。图2是用于说明ID信息及版本的更新规则的图。图3是说明本发明的实施方式的PLC系统的功能结构的图。图4是说明本发明的实施方式的开发系统的硬件结构的图。 图5是说明执行程序变换的动作的流程图。图6是详细说明新追加处理的流程图。图7是详细说明数据类型变更处理的流程图。图8是详细说明分配目标存储器地址变更处理的流程图。图9是详细说明删除复原处理的流程图。图10是详细说明删除处理的流程图。图11是说明执行画面数据变换的流程图。图12是说明ID对比处理的流程图。标号的说明I开发系统2编程装置3绘图装置4存储单元5可编程控制器6可编程显示器21编辑输入接受单元22执行程序变换单元23标签管理单元24通信单元31编辑输入接受单元32执行画面数据变换单元33标签参照单元34通信单元51通信单元52存储器53程序执行单元61通信单元62存储器63显示画面64画面控制单元
65标签对比处理单元71CPU72ROM73RAM74输入部75显示部76通信部 77外部存储装置接口78外部存储装置81编程程序82绘图程序100 PLC 系统。
具体实施例方式下面,基于附图,详细说明本发明所涉及的可编程控制器系统及开发系统的实施方式。此外,本发明并不由本实施方式限定。实施方式图I是表示本发明所涉及的可编程控制器(PLC)系统的实施方式的结构的图。如图I所示,PLC系统100具有开发系统I、PLC 5以及可编程显示器(显示器)6,其中,开发系统I具有编程装置2、绘图装置3、以及可以从编程装置2及绘图装置3这两者访问的存储单元4。用户生成用于生成执行程序D2的程序即源程序D1,该执行程序D2是梯形图程序等可以由PLC 2执行的执行程序。在源程序Dl中,定义了用于对PLC 2具有的存储器的存储器地址进行指定的标签,替代存储器地址而记述与该存储器地址对应的标签。另外,在源程序Dl中,对于标签的定义,可以利用下述2种类型的记述进行定义定义标签的名称(标签名)和该标签的数据类型(自动分配类型);以及在所述自动分配类型的记述的基础上还定义了存储器地址(手动分配类型)。编程装置2对由用户生成的源程序Dl进行编译,在自动分配类型的情况下,将与各个标签中所定义的数据类型一致的PLC 2的存储器地址分配给标签,生成可以由PLC 2执行的形式的执行程序D2。在生成的执行程序D2中,在源程序D I中使用的标签被变换为PLC 2的数据存储器的存储器地址。在图I所示的例子中,在源程序Dl中使用标签“开关I”、标签“灯2”,在执行程序D2中,将标签“开关I”变换为存储器地址“X10”、将标签“灯2”变换为存储器地址“Y20”。执行程序D2被下载至PLC 2中。PLC 2基于所下载的执行程序D2,执行循环处理。编程装置2在将源程序Dl变换为执行程序D2时,生成由源程序Dl所含有的标签名、该标签的数据类型、以及作为该标签的分配目标的存储器地址(分配目标存储器地址)构成的标签信息的表格(标签信息表D3),并存储(登录)在存储单元4中。在标签信息表D3中含有记述有表示各个标签信息状态的标识(删除标识)的字段,将删除标识为O的状态下的标签信息视作有效的标签信息,将删除标识为I的状态下的标签信息视作已从标签信息表D3中删除。另外,有时将构成标签信息表D3的各种标签信息单纯地表现为记录。在图I所示的例子中,在标签信息表D3中含有示出数据类型为“BOOL (逻辑型)”、分配目标存储器地址为“X10”的标签“开关I”的标签信息;以及示出数据类型为“B00L”、分配目标存储器地址为“Y20”的标签“灯2”的标签信息。用户生成画面数据D4,并将所生成的画面数据D4向绘图装置3输入,其中,该画面 数据D4是用于使显示器6对由PLC 2使用的设备数据的内容进行显示的设定数据。在画面数据D4中,替代存储器地址而记述与该存储器地址对应的标签。绘图装置3对存储单元4中存储的标签信息表D3进行参照。绘图装置3基于该标签信息表D3,将画面数据D4中含有的标签变换为存储器地址,生成可以由显示器6执行的形式的设定数据即执行画面数据D5。所生成的执行画面数据D5被下载至显示器6中。显示器6在PLC 2具有的存储器中,从所下载的执行画面数据D5中记述的存储器地址处取得设备数据,将取得的设备数据以在执行画面数据D5中所记述的显示方式进行显示。此外,显示器6可以接受由用户对设备数据进行操作的输入,将接收到的输入向PLC 2发送。在图I所示的例子中,在画面数据D4中含有表示标签“开关I”的按钮的图、和表示标签“灯2”的灯的图。在执行画面数据D5中含有表示与标签“开关I”对应的存储器地址“X10”的按钮的图、和表示与标签“灯2”对应的存储器地址“Y20”的灯的图。此外,显示器6将由用户对表示存储器地址“X10”的按钮进行开/关的操作向PLC 5发送,PLC 5将存储在存储器地址“Y20”中的设备数据向显示器6发送。在这里,在由用户对源程序Dl施加修正而重新生成执行程序D2的情况下,需要重新生成与重新生成后的执行程序D2对应的执行画面数据D5,并将重新生成的执行画面数据D5下载至显示器6中。因此,为了可以自动判定是否需要针对执行画面数据D5进行重新变换,编程装置2及绘图装置3分别向执行程序D2及执行画面数据D5赋予ID信息,以可以执行所述自动判定。而且,在本实施方式中,为了降低判定为需要重新变换的频度,在对源程序Dl的修正中,该修正为如果不进行执行画面数据D5的重新变换则显示器6会进行有可能诱发用户的误操作的显示(错误动作)的修正时,对向执行程序D2赋予的ID信息进行更新。更具体地说,编程装置2在生成执行程序D2时,生成ID信息(第I识别信息),向执行程序D2及标签信息表D3赋予所生成的ID信息。而且,编程装置2在重新生成执行程序D2时,基于后述的更新规则对ID信息进行更新。绘图装置3在生成执行画面数据D5时,生成与向标签信息表D3赋予的ID信息为相同值的ID信息,将所生成的ID信息(第2识别信息)向执行画面数据D5赋予。显示器6执行ID对比处理,即,与PLC 5之间将自身执行的执行画面数据D5的ID信息和PLC 5执行的执行程序D2的ID信息进行对比,由此,判定是否需要针对执行画面数据D5进行重新变换。显示器6在两者的ID信息不同的情况下,执行用于防止错误动作的异常处理。在这里,作为异常处理的一个例子,举出在显示需要再次读入画面(执行画面数据D5的重新变换·下载)的消息的同时锁定显示画面的例子。另外,绘图装置3在对画面数据D4进行重新变换时,对与该画面数据D4对应的执行画面数据D5所赋予的ID信息和执行程序D2的ID信息进行对比(比较),在两者的ID信息不同的情况下,执行该画面数据D4的重新变换,在两者的ID信息相同的情况下,不执行该画面数据D4的重新变换。此外,编程装置2向执行程序D2及标签信息表D3,除了 ID信息之外还赋予版本信息(下面简称为版本),以使得用户可以识别出包含无需对执行画面数据D5重新变换 下载的变更在内的变更的有无。另外,绘图装置3还将向标签信息表D3赋予的版本向执行画面数据D5赋予。在图I所示的例子中,针对源程序Dl及标签信息表D3,赋予了ID “20081224212030” 及版本 “2”。另外,针对执行程序 D2,赋予了 ID “20081224212030”及版本“I”。下面,说明编程装置2进行的ID信息及版本更新的更新规则。图2是用于说明编 程装置2进行的ID信息及版本更新的更新规则的图。在图2所示的图中,从最左的列开始,示出用于说明更新规则的实例序号、标签信息表D3的例子、针对标签信息表D3的操作及针对与该操作对应的编程装置2的ID信息及版本进行的处理。实例序号I表示新生成执行程序D2,并与该生成相伴而新生成标签信息表D3的情况。标签信息表D3包含与“灯1”、“灯2”、“灯3”、“开关1”、“开关2”、“开关3”、“开关4”、“温度1”、“温度2”的标签相关的标签信息,赋予了 ID信息“XXXX-XXX-001”及版本“I”。另夕卜,所有标签信息的删除标识为“O”。将该状态作为初始状态。实例序号2表示从实例序号I的状态下追加了标签“开关10”及标签“湿度I”的情况。在实例序号2的情况下,显示器6如果不对画面数据D4进行修正以可以显示用户所追加的标签,就无法显示与所追加的标签对应的存储器地址的状态,但作为各设备数据的显示,可以继续显示存储在用户想要的存储器地址中的设备数据。即,显示器6即使不通过绘图装置3进行重新变换,也不会变为进行可能产生严重的运行失误的错误显示这样的情况。因此,编程装置2在进行标签追加的情况下,不变更ID信息,而是递增版本。在这里,版本递增为“2”。实例序号3表示从实例序号2的状态下删除了标签“灯3”及标签“开关4”的情况。即,标签信息表D3含有的标签“灯3”及标签“开关4”的标签信息的删除标识的状态成为“I”。在实例序号3的情况下,由于与被删除的标签对应的存储器地址的状态不再更新,因此,该存储器地址的显示在画面上不再变化。但是,与实例序号2的状态相同地,显示器6即使不修正画面数据D4,作为各设备数据的显示也可以继续显示存储在用户想要的存储器地址中的设备数据。即,显示器6即使不通过绘图装置3进行重新变换,也不会变为进行可能产生严重的运行失误的错误显示这样的情况。因此,编程装置2在进行标签删除的情况下,不变更ID信息,而是递增版本。在这里,版本递增为“3”。实例序号4表示从实例序号3的状态下将一度被删除的标签“灯3”复原的情况。即,在实例序号3的情况下删除标识成为“I”的标签“灯3”的标签信息的删除标识,在这里成为“O”。在实例序号4的情况下,与实例序号2的情况相同地,即使不通过绘图装置3进行重新变换,也不会变为进行可能诱发严重的运行失误的错误显示这样的情况。因此,编程装置2在进行标签复原的情况下,不变更ID信息,而是递增版本。在这里,版本递增为“4”。实例序号5表示从实例序号4的状态下,将标签“温度2”的分配目标存储器地址进行变更,将标签“湿度I”的数据类型进行变更的情况。分配目标存储器地址的变更除了在源程序Dl内由用户对手动分配类型的记述中含有的分配目标存储器地址进行变更的情况之外,还在自动分配类型的记述中含有的数据类型的定义被变更的情况下发生。在数据类型被变更的情况下,如果不进行重新变换就使用执行画面数据D5,则显示器6无法正确地显示存储在用户想要的存储器地址中的设备数据。另外,在分配目标存储器地址被变更的情况下,显示器6对于与被变更的标签对应的存储器地址的状态,将会显示存储在变更前的存储器地址中的设备数据(换言之,并非用户想要的设备数据)的状态。这样,用户将所显示的设备数据的状态错误识别为存储在与所述标签对应的存储器地址中的设备数据的状态,有可能产生严重的运行失误。因此,在实例标签5的情况下,需要通过绘图装置3进行重新变换。编程装置2对ID信息进行重新编号(更新),将版本初始化为I。在这里,向标签信息表D3赋予新ID信息“xxxx-xxx-002”。如上所述,在本实施方式中,由于并不如现有技术2所示在每次源程序Dl被变更时都更新ID信息,而是与标签信息表D3的更新内容对应地执行/不执行ID信息的更新,因此,可以降低通过绘图装置3进行的画面数据D4的重新变换(以及重新生成的执行画面数据D5的下载)的频度,其结果,可以进行高效的程序开发。 图3是说明本实施方式的PLC系统100的功能结构的图。如图所示,在存储单元4中,除了存储有标签信息表D3之外,还存储有源程序D1、执行程序D2、画面数据D4、执行画面数据D5。另外,在这里,以源程序Dl及画面数据D4已经生成并存储在存储单元4中的情况进行说明。编程装置2具有编辑输入接受单元21、执行程序变换单元22、标签管理单元23及通信单元24。编辑输入接受单元21接受来自用户的针对源程序Dl的编辑输入,将编辑输入的内容反映在存储单元4所存储的源程序Dl中。执行程序变换单元22对存储在存储单元4中的源程序Dl进行变换,生成执行程序D2,将生成的执行程序D2存储在存储单元4中。在执行程序变换单元22对源程序D I进行重新变换(即,重新生成执行程序D2)的情况下,执行程序D2被刷新为通过重新变换而生成的新执行程序D2。另外,通过重新变换而生成的新执行程序D2也可以不是进行刷新,而是累积存储。标签管理单元23基于在源程序Dl中记述的标签、与在执行程序变换单元22生成执行程序D2时分配给该标签的存储器地址或根据手动分配类型的记述所分配的存储器地址之间的对应关系,生成标签信息表D3。此时,标签管理单元23生成ID信息及版本,向生成的执行程序D2及标签管理表D3赋予所述ID信息及版本。此外,在执行程序变换单元22对执行程序D2进行重新变换时,标签管理单元23对标签信息表D3进行修正,以与该重新变换后的内容对应。此时,标签管理单元23基于上述更新规则,对执行程序D2及标签信息表D3的ID信息及版本进行更新。通信单元24将存储在存储单元4中的执行程序D2下载至PLC 5中。绘图装置3具有编辑输入接受单元31、执行画面数据变换单元32、标签参照单元
33以及通信单元34。编辑输入接受单元31接受来自用户的针对画面数据D4的编辑输入,将编辑输入的内容反映在存储于存储单元4的画面数据D4中。
标签参照单元33读出存储在存储单元4中的标签信息表D3、以及向该标签信息表D3赋予的ID信息及版本。执行画面数据变换单元32基于标签参照单元33读出的标签信息表D3,对存储在存储单元4中的画面数据D4进行变换,生成执行画面数据D5,将生成的执行画面数据D5存储在存储单元4中。标签参照单元33将向标签信息表D3赋予的ID信息及版本向由执行画面数据变换单元32所生成的执行画面数据D5赋予。另外,在存储单元4中存储有执行画面数据D5的情况下,标签参照单元33将存储在存储单元4中的执行画面数据D5的ID信息读出。标签参照单元33对标签信息表D3的ID信息和执行画面数据D5的ID信息进行比较,判定是否需要进行画面数据D4的重新变换,在判定为需要进行重新变换的情况下,使执行画面数据变换单元32执行画面数据D4的重新变换。
通信单元34将存储在存储单元4中的执行画面数据D5下载至显示器6中。PLC 5具有通信单元51、存储器52以及程序执行单元53。通信单元51接收由编程装置2发送的执行程序D2,将接收到的执行程序D2存储在存储器52中。程序执行单元53基于存储在存储器52中的执行程序D2,执行循环处理,生成设备数据D6。程序执行单元53将设备数据D6存储在存储器52中。另外,通信单元51与显示器6之间进行通信。具体而言,通信单元51从存储器52读出执行程序D2的ID信息,将读出的ID信息向显示器6通知。另外,通信单元51将设备数据D6中的、由显示器6发出了读出请求的存储器52中的存储器地址处存储的数据读出,将读出的数据向显示器6发送。显示器6具有通信单元61、存储器62、显示画面63、画面控制单元64以及标签对比处理单元65。通信单元61接收由绘图装置3发送的执行画面数据D5,将接收到的执行画面数据D5存储在存储器62中。另外,通信单元61接收由PLC 5发送的执行程序D2的ID信息,将接收到的执行程序D2的ID信息向画面控制单元64发送。显示画面63是液晶显示器等用于显示数据的显示部。此外,显示画面63也可以具有接受用户发出的对设备数据进行操作的输入的触摸面板或硬件开关等输入单元。画面控制单元64将通信单元61从PLC 5接收到的执行程序D2的ID信息向标签对比处理单元65发送。另外,画面控制单元64将存储在存储器62中的执行画面数据D5所赋予的ID信息读出,将读出的执行画面数据D5的ID信息向标签对比处理单元65发送。标签对比处理单元65执行ID对比处理,该ID对比处理对执行画面数据D5的ID信息和执行程序D2的ID信息进行比较。在比较结果为“不一致”的情况下,标签对比处理单元65指示画面控制单元64执行异常处理。接受到指示的画面控制单元64使显示画面63输出所述消息,并且锁定显示画面63的画面输出。在显示画面63具有输入单元的情况下,也可以将向输入单元输入的接受进行锁定。在ID对比处理的比较结果为“一致”的情况下,标签对比处理单元65使画面控制单元64进行通常动作。画面控制单元64从存储器62读出执行画面数据D5,执行所读出的执行画面数据D5而在显示画面63上描绘显示。此时,画面控制单元64经由通信单元61向PLC 5请求将执行画面数据所记述的存储器地址中存储的数据进行发送。画面控制单元64将经由通信单元61从PLC 5接收到的数据,以基于执行画面数据D5的记述的形式向显不画面63输出。此外,作为开发系统1,也可以通过在通常的计算机结构的硬件上执行程序而实现。在这里,作为一个例子,说明由一台计算机实现编程装置2、绘图装置3以及存储单元4的情况下的硬件结构例。图4是说明开发系统I的硬件结构的图。如图所不,开发系统I具有CPlXCentralProcessing Unit) 71、ROM (Read Only Memory) 72> RAM (Random Access Memory) 73、输入部74、显示部75、通信部76、外部存储装置接口 77以及外部存储装置78。CPU 71、ROM72,RAM 73、输入部74、显示部75、通信部76以及外部存储装置接口 77经由总线彼此连接。外部存储装置78与外部存储装置接口 77连接。CPU 71执行编程程序81、绘图程序82,它们是分别实现编程装置2、绘图装置3的计算机程序。通信部76是将执行程序D2及执行画面数据D5分别下载至PLC 5、显示器6中时所使用的通信接口。外部存储装置78例如是硬盘或SSD (Solid State Drive)等可读写的存储区域,作为存储单元4起作用。外部存储装置接口 77是用于使CPU 71访问作为存储单元4的外部存储装置78的接口。显示部75是液晶显示器等显示装置,基于来自CPU 71的指示,显示操作画面等针对用户的输出信息。此外,显示部75作为显示画面63起作用。输入部74构成为具有鼠标或键盘,输入来自用户的对开发系统I的操作。输入至输入部74中的操作信息被发送至CPU 71。编程程序81及绘图程序82存储在ROM 72内,经由总线加载至RAM 73中。CPU 71执行被加载至RAM 73内的编程程序81及绘图程序82。具体而言,CPU 71从ROM 72内读出编程程序81及绘图程序82,并分别在RAM 73内的程序存储区域中展开,基于该展开后的编程程序81及绘图程序82,执行开发系统I (编程装置2及绘图装置3)的动作。在执行该动作时产生的中间数据存储在RAM 73内的工作区域。此外,编程程序81及绘图程序82也可以存储在外部存储装置78等存储装置中。另外,编程程序81及绘图程序82也可以加载至外部存储装置78等存储装置中。本实施方式的开发系统I所执行的编程程序81构成为含有编辑输入接受单元21、执行程序变换单元22、标签管理单元23及通信单元24,上述各部分加载至RAM 73上,在RAM 73上生成编辑输入接受单元21、执行程序变换单元22、标签管理单元23及通信单元24。另外,本实施方式的开发系统I所执行的绘图程序82构成为含有编辑输入接受单元31、执行画面数据变换单元32、标签参照单元33及通信单元34,上述各部分加载至RAM 73上,在RAM 73上生成编辑输入接受单元31、执行画面数据变换单元32、标签参照单元33及通信单元34。此外,也可以构成为,将本实施方式的开发系统I所执行的编程程序81及绘图程序82存储在与互联网等网络连接的计算机上,通过经由网络下载而进行提供。另外,也可以构成为,将本实施方式的开发系统I所执行的编程程序81及绘图程序82经由互联网等网络提供或分发。另外,也可以构成为,将本实施方式的编程程序81及绘图程序82预先放置在ROM 72等中而向本实施方式的开发系统I提供。另外,开发系统I也可以由多个计算机实现。例如,也可以将编程程序81和绘图程序82分别由单独的计算机实现,分别形成编程装置2、绘图装置3。另外,也可以使编程 装置2或绘图装置3任意一方的计算机的外部存储装置78作为存储单元4起作用,并使其中不具有存储单元4的计算机经由网络访问存储单元4。另外,也可以将可装卸且可改写的存储介质作为存储单元4起作用,在用户对编程装置2或绘图装置3进行操作时,在作为操作对象的装置中安装所述存储介质。另外,也可以由可以从计算机进行访问的服务器类型的计算机实现存储单元4,编程装置2及绘图装置3经由网络访问所述服务器类型的计算机。下面,参照图5 图12,说明本发明的实施方式的PLC系统100的动作。图5是说明编程装置2将源程序Dl变换为执行程序D2的动作(执行程序变换)的流程图。如图5所示,如果编程装置2接受到由用户进行的指示对源程序D I进行变换的输入,则标签管理单元23将标签信息表D3的所有记录的删除标识设为并非“O”或“I”的临时值(在这里是“2”)(步骤SI)。然后,标签管理单元23对源程序Dl中的一行进行扫描,从所扫描的行中尝试提取对标签进行定义的记述(步骤S2),并判定是否在源程序Dl中发现了标签、即是否在所扫描的行中记述有标签的定义(步骤S3)。 在所扫描的行中没有记述标签的定义的情况下(步骤S3为否),跳转到后述的步骤S 15。在所扫描的行中记述有标签的定义的情况下(步骤S3为是),标签管理单元23从标签信息表D3中,检索与步骤S2中提取的标签的标签名一致的记录(步骤S4)。而且,标签管理单元23判定是否从标签信息表D3中发现了对应记录(步骤S5)。在发现对应记录的情况下(步骤S5为是),标签管理单元23对提取出的标签的数据类型和对应记录的数据类型进行比较,对两者是否一致进行判定(步骤S6)。在两者的数据类型一致的情况下(步骤S6为是),标签管理单元23对提取出的标签的分配目标存储器地址、和对应记录的分配目标存储器地址进行比较,对两者是否一致进行判定(步骤S7)。在两者的分配目标存储器地址一致的情况下(步骤S7为是),标签管理单元23判定对应记录的删除标识是否为“I”(步骤S8)。在删除标识不是“I”的情况下(步骤S8为否),标签管理单元23将删除标识设为“O”(步骤S9),执行程序变换单元22将源程序Dl的对应行的标签替换为记述在记录中的分配目标存储器地址,从而变换为构成执行程序D2的执行程序代码(步骤S10)。在步骤S5中,在没有从标签信息表D3中发现对应记录的情况下(步骤S5为否),跳转至新追加标签的新追加处理(步骤S11)。图6是详细说明新追加处理的流程图。如图所示,首先,执行程序变换单元22在PLC 5的存储器52的存储设备数据D6的区域中,将与在步骤S2中提取的标签的数据类型对应的存储器大小的区域分配给该提取出的标签(步骤S21)。此时,标签管理单元23与删除标识的值无关地,对所有记录进行参照,将在所有记录中都没有记载的区域分配给所述提取出的标签。标签管理单元23准备由步骤S2中提取的标签的标签名、该标签的数据类型、步骤S21中所分配的存储器地址构成的记录(步骤S22)。在这里,将该记录的删除标识设为“O”。然后,标签管理单元23将准备好的记录向标签信息表D3中追加(步骤S23)。并且,标签管理单元23将标签信息表D3及执行程序D2的版本递增(步骤S24),从而新追加处理结束。在新追加处理结束后,跳转至步骤S10。在步骤S6中两者的数据类型不一致的情况下(步骤S6为否),跳转至对标签的数据类型进行变更的数据类型变更处理(步骤S12)。图7是详细说明数据类型变更处理的流程图。如图所示,首先,标签管理单元23从标签信息表D3中删除对应记录(步骤S31)。在步骤S31中,标签管理单元23并非对于该记录设置删除标识,而是将该记录真正地从标签信息表D3中删除。而且,执行程序变换单元22在PLC 5的存储器52的存储设备数据D6的区域中,将与在步骤S2中提取的标签的数据类型对应的区域分配给该标签(步骤S32)。然后,标签管理单元23准备由步骤S2中提取的标签的标签名、该标签的数据类型、步骤S32中所分配的分配目标存储器地址构成的记录(步骤S33)。在这里,也将该记录的删除标识设为“O”。然后,标签管理单元23将准备好的记录向标签信息表D3中追加(步骤S34)。而且,标签管理单元23新生成标签信息表D3及执行程序D2的ID信息,并将版本初始化(即设为版本=“I”)(步骤S35),从而数据类型变更处理结束。在数据类型变更处理结束后, 跳转至步骤SlO。在步骤S7中,在提取出的标签的分配目标存储器地址与对应记录的分配目标存储器地址不一致的情况下(步骤S7为否),跳转至对标签的分配目标存储器地址进行变更的分配目标存储器地址变更处理(步骤S13)。图8是详细说明分配目标存储器地址变更处理的流程图。如图所示,首先,标签管理单元23与步骤S31相同地,从标签信息表D3中删除对应记录(步骤S41)。然后,标签管理单元23准备由步骤S2中提取的标签的标签名、该标签的数据类型、分配给提取出的标签的分配目标存储器地址构成的记录(步骤S42)。在这里,也将该记录的删除标识设为“O”。然后,标签管理单元23将准备好的记录向标签信息表D3中追加(步骤S43)。而且,标签管理单元23新生成(更新)标签信息表D3及执行程序D2的ID信息,并将版本初始化(步骤S44),从而分配目标存储器地址变更处理结束。在分配目标存储器地址变更处理结束后,跳转至步骤S10。在步骤S8中,在对应记录的删除标识为“I”的情况下(步骤S8为是),跳转至将被视作已删除的标签进行复原的删除复原变更处理(步骤S14)。图9是详细说明删除复原处理的流程图。如图所示,首先,标签管理单元23将对应记录的删除标识从“I”变更为“O”(步骤S51)。然后,标签管理单元23将标签信息表D3及执行程序D2的版本递增(步骤S52),从而删除复原处理结束。在删除复原处理结束后,跳转至步骤S10。经过步骤SlO后,标签管理单元23对源程序Dl的所有行的扫描是否结束进行判定(步骤S15),在尚未结束的情况下(步骤S15为否),跳转至步骤S2而继续扫描。在已经结束的情况下(步骤S15为是),跳转至将标签删除的删除处理(步骤S16)。图10是详细说明删除处理的流程图。如图所示,首先,标签管理单元23从标签信息表D3中检索删除标识的值为“2”的记录(步骤S61)。然后,标签管理单元23对是否发现了删除标识为“2”的记录进行判定(步骤S62)。在没有发现的情况下(步骤S62为否),删除处理结束。在发现删除标识为“2”的记录的情况下(步骤S62为是),标签管理单元23将对应记录的删除标识从“2”变更为“I”(步骤S63)。而且,标签管理单元23将标签信息表D3及执行程序D2的版本递增(步骤S64),从而删除处理结束。在经过删除处理后,执行程序变换的动作结束。此外,在上述执行程序变换中,对源程序Dl以单行进行扫描,但也可以每次扫描多行。在步骤S2中从所扫描的多行中发现多个标签的情况下,可以对发现的标签分别顺次执行步骤S4 步骤S8的动作。另外,也可以并不每次扫描多行,而是一次对源程序Dl的所有行进行扫描。 另外,在上述执行程序变换中,说明了在每次执行各个处理(数据类型变更处理、分配目标存储器地址变更处理、新追加处理、删除复原处理、删除处理)时进行ID信息或版本的操作的情况,但ID信息或版本的操作定时也可以并非在每次进行所述各处理时。例如,也可以是标签管理单元23在执行所述各处理时不对ID信息及版本进行操作,而将执行了所述各处理这一情况记录在存储单元4等的存储区域中,在结束执行程序变换前,基于所述记录的内容,执行一次ID信息或版本的操作。即,标签管理单元23在单个源程序Dl中执行了至少一次数据类型变更处理或分配目标存储器地址变更处理的情况下,仅执行一次ID信息的更新和版本的初始化,在没有执行数据类型变更处理及分配目标存储器地址变更处理而执行了至少一次新追加处理、删除复原处理或删除处理的情况下,仅执行一次版本递增。另外,针对仅在进行数据类型变更处理或分配目标存储器地址变更处理时更新ID信息的情况进行了说明,但也可以除了数据类型变更处理、分配目标存储器地址变更处理以外,还在进行了新追加处理、删除复原处理、删除处理中的任意I个或2个时更新ID信
肩、O图11是说明绘图装置3将画面数据D4变换为执行画面数据D5的动作(执行画面数据变换)的流程图。如图所示,首先,执行画面数据变换单元32判定画面数据D4的内容在最近一次执行了执行画面数据变换后是否发生了变更(步骤S71)。在发生变更的情况下(步骤S71为是),标签参照单元33读出标签信息表D3,并且对画面数据上的画面部件进行一次扫描而提取标签(步骤S72)。在步骤S71中画面数据D4的内容在最近一次执行了执行画面数据变换后没有发生变更的情况下(步骤S71为否),标签参照单元33对执行画面数据D5的ID信息与标签信息表D3的ID信息是否一致进行判定(步骤S73)。在两者的ID信息不一致的情况下(步骤S73为否),跳转至步骤S72。在一致的情况下(步骤S73为是),执行画面数据变换结束。在步骤S72之后,标签参照单元33判定是否从画面部件中发现了标签(步骤S74)。在没有发现标签的情况下(步骤S74为否),跳转至后述的步骤S78。在发现标签的情况下(步骤S74为是),标签参照单元33从标签信息表D3中检索与从画面部件中发现的标签的标签名一致的记录(步骤S75)。然后,标签参照单元33根据步骤S75的检索,对是否从标签信息表D3中发现了对应记录进行判定(步骤S76)。在发现对应记录的情况下(步骤S76为是),执行画面数据变换单元32将画面数据D4上的标签替换为所发现的记录的分配目标存储器地址(步骤S77)。然后,标签参照单元33对画面数据D4的所有画面部件的扫描是否结束进行判定(步骤S78),在扫描尚未结束的情况下(步骤S78为否),跳转至步骤S72,标签参照单元33继续进行扫描。
在画面数据D4的所有画面部件的扫描结束的情况下(步骤S78为是),标签参照单元33再次对执行画面数据D5的ID信息与标签信息表D3的ID信息是否一致进行判定(步骤S79)。在两者的ID信息一致的情况下(步骤S79为是),执行画面数据变换结束。在执行画面数据D5的ID信息与标签信息表D3的ID信息不一致的情况下(步骤S79为否),标签参照单元33将执行画面数据D5的ID信息及版本更新为与标签信息表D3相同(步骤S80),从而执行画面数据 变换结束。在步骤S76中没有发现对应记录时(步骤S76为否),标签参照单元33认为标签没有被登录(未登录),使执行画面数据变换异常结束(步骤S81 ),从而执行画面数据变换结束。此外,在上述执行画面数据变换中,对画面数据D4含有的画面部件一次一个地进行扫描,但也可以一次扫描多个。在从所扫描的多个画面部件中发现多个标签的情况下,可以对所发现的标签分别执行步骤S75 步骤S77、或步骤S75、S76、S81的处理。也可以一次对画面数据D4含有的所有画面部件进行扫描。图12是说明显示器6执行的ID对比处理的流程图。如果显示器6与PLC 5连接,则画面控制单元64经由通信单元61取得存储在PLC 5的存储器52中的执行程序D2的ID信息(步骤S91)。另外,画面控制单元64取得存储在存储器62中的执行画面数据D5的ID信息(步骤S92)。标签对比处理单元65判定所取得的执行程序D2的ID信息与执行画面数据D5的ID信息是否一致(步骤S93)。在步骤S93中两者的ID信息一致的情况下(步骤S93为是),ID对比处理结束。即,显示器6开始通常动作。在两者的ID信息不一致的情况下(步骤S93为否),标签对比处理单元65向画面控制单元64进行指示,使其执行异常处理。S卩,标签对比处理单元65经由画面控制单元64,将内容为需要重新读入画面(执行画面数据D5的重新变换·再次下载)的消息向显示画面63输出(步骤S94),向画面控制单元64指示禁止操作显示画面63 (步骤S95)。然后,ID对比处理结束。如上所述,根据本发明的实施方式,标签管理单元23构成为,在重新生成执行程序D2时,对与该执行程序D2对应的标签信息表D3进行更新,并与该标签信息表D3的更新内容对应地,对向执行程序D2及标签信息表D3赋予的ID信息执行/不执行更新,因此,显示器6无需在每次重新生成执行程序D2时都执行对执行画面数据D5的再次下载,所以用户可以进行高效的程序开发。另外,由于标签管理单元23构成为,向执行程序D2及标签信息表D3赋予版本信息,在标签信息表D3的更新内容为记录增减的情况下,将版本信息递增(更新),因此,即使在ID信息没有被更新的情况下,用户也可以通过确认执行程序D2或标签信息表D3的版本信息,从而识别出执行程序D2、标签信息表D3已更新。另外,由于标签信息表D3在每个记录中都具有表示有效/无效的删除标识,标签管理单元23构成为,在更新标签信息表D3时,通过操作删除标识而删除/恢复记录,因此,在使一度被删除的记录复原的情况下,无需执行新分配存储器地址的处理。另外,由于绘图装置3构成为,在重新生成执行程序D2后,对所述重新生成的执行程序D2所赋予的ID信息与执行画面数据D5所赋予的ID信息进行比较,在两者的ID信息不同的情况下,重新生成执行画面数据D5,因此,可以降低重新生成执行画面数据D5的频度,所以用户可以进行高效的程序开发。工业实用性如上所述,本发明所涉及的PLC系统及开发系统,适合应用在用于控制工业装置 的PLC系统及开发系统中。
权利要求
1.一种可编程控制器系统,其特征在干, 具有可编程控制器、即PLC,其具有第I存储器并执行第I程序,该第I存储器将使用设备地址并对外部装置进行控制的所述第I程序与第I识别信息相关联地进行存储; 显示器,其具有第2存储器,该第2存储器将使用设备地址的第I画面数据与第2识别信息相关联地进行存储;以及 开发系统,其具有程序变换部、标签管理部、标签信息存储部及绘图部,该程序变换部通过针对使用标签替代设备地址的第2程序中所使用的标签分配设备地址,从而生成在所述第I存储器中存储的第I程序,该标签管理部在所述程序变换部生成所述第I程序吋,生成标签信息,该标签信息是针对每个标签而将所述第2程序中使用的标签和分配给该标签的设备地址进行关联而生成的,标签信息存储部将由所述标签管理部生成的标签信息与所述第I识别信息相关联地进行存储,该绘图部基于所述标签信息存储部所存储的标签信息,将使用标签替代设备地址的第2画面数据中使用的标签变换为设备地址,由此,生成存储于所述第2存储器中的第I画面数据,将与生成所述第I画面数据的时刻的所述标签信息所关联的第I识别信息相同的值,作为所述第2识别信息而与所述生成的第I画面数据相关联, 所述标签管理部在所述程序变换部重新生成所述第I程序时,与所述第I程序的重新生成对应地,对所述标签信息存储部所存储的标签信息进行更新,并与所述标签信息的更新内容对应地,对与该标签信息及所述重新生成的第I程序相关联的第I识别信息执行/不执行更新, 所述显示器判定与所述PLC执行的第I程序相关联的第I识别信息和与所述第2存储器所存储的第I画面数据相关联的第2识别信息是否一致,在所述两者的识别信息一致的情况下,基于所述第2存储器存储的第I画面数据,从所述PLC取得并显示设备地址的内容,在所述两者的识别信息不一致的情况下,执行异常处理。
2.根据权利要求I所述的可编程控制器系统,其特征在干, 所述标签管理部在所述标签信息的更新内容为作为分配目标的设备地址变更的情况下,对所述第I识别信息进行更新。
3.根据权利要求I所述的可编程控制器系统,其特征在干, 在所述第2程序及所述标签信息中,针对每个标签而记载有存储在所述第I存储器中的设备数据的数据类型, 所述标签管理部在所述标签信息的更新内容为数据类型变更的情况下,对所述第I识别信息进行更新。
4.根据权利要求2或3所述的可编程控制器系统,其特征在干, 所述标签管理部向所述第I程序及所述标签信息,与所述第I识别信息一起赋予版本信息,在所述标签信息的更新内容为构成所述标签信息的、各个标签的关联增加/減少的情况下,对所述版本信息进行更新,而不更新所述第I识别信息。
5.根据权利要求4所述的可编程控制器系统,其特征在干, 所述标签信息在每个构成所述标签信息的关联中具有表示有效/无效的删除标识, 所述标签管理部在更新所述标签信息时,通过对所述删除标识进行操作而对构成所述标签信息的关联进行删除/复原。
6.根据权利要求I至3中任意一项所述的可编程控制器系统,其特征在干, 所述绘图部在所述程序变换部重新生成所述第I程序后,对与所述重新生成的第I程序相关联的第I识别信息和与所述第I画面数据相关联的第2识别信息进行比较,在两者的识别信息不同的情况下,重新生成所述第I画面数据。
7.一种开发系统,其生成第I程序,其下载至可编程控制器即PLC中,该PLC具有第I存储器并执行所述第I程序,该第I存储器将使用设备地址并对外部装置进行控制的所述第I程序与第I识别信息相关联地进行存储;以及第I画面数据,其下载至显示器中,该显示器具有第2存储器,该第2存储器将使用设备地址的所述第I画面数据与第2识别信息相关联地进行存储,该显示器判定与所述PLC执行的第I程序相关联的第I识别信息和与所述第2存储器所存储的第I画面数据相关联的第2识别信息是否一致,在所述两者的识别信息一致的情况下,基于所述第2存储器存储的第I画面数据,从所述PLC取得并显示设备地址的内容,在所述两者的识别信息不一致的情况下,执行异常处理, 该开发系统的特征在干, 具有程序变换部,其通过针对使用标签替代设备地址的第2程序中所使用的标签分配设备地址,从而生成在所述第I存储器中存储的第I程序; 标签管理部,其在所述程序变换部生成所述第I程序时,生成标签信息,该标签信息是针对每个标签而将所述第2程序中使用的标签和分配给该标签的设备地址进行关联而生成的; 标签信息存储部,其将由所述标签管理部生成的标签信息与所述第I识别信息相关联地进行存储;以及 绘图部,其基于所述标签信息存储部所存储的标签信息,将使用标签替代设备地址的第2画面数据中使用的标签变换为设备地址,由此,生成存储于所述第2存储器中的第I画面数据,将与生成所述第I画面数据的时刻的所述标签信息所关联的第I识别信息相同的值,作为所述第2识别信息而与所述生成的第I画面数据相关联, 所述标签管理部在所述程序变换部重新生成所述第I程序时,与所述第I程序的重新生成对应地,对所述标签信息存储部所存储的标签信息进行更新,并与所述标签信息的更新内容对应地,对与该标签信息及所述重新生成的第I程序相关联的第I识别信息执行/不执行更新。
8.根据权利要求7所述的开发系统,其特征在干, 所述标签管理部在所述标签信息的更新内容为作为分配目标的设备地址变更的情况下,对所述第I识别信息进行更新。
9.根据权利要求7所述的开发系统,其特征在干, 在所述第2程序及所述标签信息中,针对每个标签而记载有存储在所述第I存储器中的设备数据的数据类型, 所述标签管理部在所述标签信息的更新内容为数据类型变更的情况下,对所述第I识别信息进行更新。
10.根据权利要求8或9所述的开发系统,其特征在干, 所述标签管理部向所述第I程序及所述标签信息,与所述第I识别信息一起赋予版本信息,在所述标签信息的更新内容为构成所述标签信息的、各个标签的关联增加/減少的情况下,对所述版本信息进行更新,而不更新所述第I识别信息。
11.根据权利要求10所述的开发系统,其特征在干, 所述标签信息在每个构成所述标签信息的关联中具有表示有效/无效的删除标识, 所述标签管理部在更新所述标签信息时,通过对所述删除标识进行操作而对构成所述标签信息的关联进行删除/复原。
12.根据权利要求7至9中任意ー项所述的开发系统,其特征在干, 所述绘图部在所述程序变换部重新生成所述第I程序后,对与所述重新生成的第I程序相关联的第I识别信息和与所述第I画面数据相关联的第2识别信息进行比较,在两者的识别信息不同的情况下,重新生成所述第I画面数据。
全文摘要
为了可以进行高效的程序开发,开发系统(1)具有标签管理单元(23),其在执行程序(D2)被重新生成时,对与该执行程序(D2)对应的、用于生成执行画面数据(D5)的标签信息表(D3)进行更新,并与所述标签信息表(D3)的更新内容对应地,对该标签信息表(D3)及所述重新生成的执行程序(D2)所关联的ID信息执行/不执行更新;以及绘图装置(3),其在基于标签信息表(D3)生成执行画面数据(D5)时,将与生成该执行画面数据(D5)的时刻的该标签信息表(D3)所关联的ID信息为相同值的ID信息,与所述生成的执行画面数据(D5)相关联。
文档编号G05B19/05GK102713774SQ20108006190
公开日2012年10月3日 申请日期2010年1月20日 优先权日2010年1月20日
发明者市冈裕嗣 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1