控制程序管理装置、信息处理装置及控制程序处理方法

文档序号:6621777阅读:199来源:国知局
控制程序管理装置、信息处理装置及控制程序处理方法
【专利摘要】本发明为控制程序管理装置、信息处理装置及控制程序处理方法。控制程序管理装置具备:存储部,存储能够由控制设备的控制器执行的控制程序;发送部,对信息处理装置发送控制程序;更新部,向信息处理装置发送控制程序后更新权限以使其他信息处理装置不能编辑发送的控制程序;保持部,发送控制程序后,基于从信息处理装置发送的信息,保持用于识别信息处理装置和发送的控制程序的固有信息。发送部对由固有信息识别出的信息处理装置询问是否正在编辑由该固有信息识别出的控制程序。保持部在根据询问结果判定为没在编辑控制程序时将固有信息删除。更新部在根据询问结果判定为没在编辑控制程序时将权限解除,以使其他信息处理装置能够编辑该控制程序。
【专利说明】控制程序管理装置、信息处理装置及控制程序处理方法
[0001]本申请以日本特许申请2013-180623(申请日:2013年8月30日)为基础,并享受该申请的优先权。本申请通过参照该申请,包含该申请的全部内容。

【技术领域】
[0002]本发明的实施方式涉及控制程序管理装置、信息处理装置及控制程序处理方法。

【背景技术】
[0003]以往,通常控制设备的设备控制装置执行应用程序(以后称为“控制程序”),按照由应用程序决定的步骤进行控制,从而实现设备的自动运行。系统程序员制作控制程序,并在试验和调整后提供给设备运行者。
[0004]此外,系统程序员为了安全地控制设备,在调整时进行控制程序的排错。控制程序使用由IEC(国际电气标准会议)61131-3规定的LD(梯形图)语言、FBD(功能块图)语言、SFC(顺序功能图)语言及ST (结构化文本)语言来记述。
[0005]通常,由多个系统程序员进行一个设备的作业。因此,整合服务器/客户端环境,由多个系统程序员同时进行作业,或者进行数据的备份作业。在这样的服务器/客户端环境中,在服务器上使用数据库一并管理控制程序,并且需要进行排他控制,以避免多人同时变更同一控制程序。
[0006]但是,在现有技术中存在如下问题:任意的客户端异常结束了的情况下,保持着针对控制程序或数据库的排他控制等,从而会对其他系统程序员等的作业产生影响。


【发明内容】

[0007]本发明所要解决的课题在于,提供一种控制程序管理装置、信息处理装置及控制程序处理方法,即使任意的客户端异常结束了的情况下也不会给其他系统程序员等的作业带来影响。
[0008]实施方式的控制程序管理装置具备:存储部、发送部、更新部、保持部。存储部存储能够由进行设备的控制的控制器执行的控制程序。发送部对信息处理装置发送控制程序。更新部在向信息处理装置发送控制程序后更新权限,以使其他信息处理装置不能编辑所发送的控制程序。保持部在发送控制程序后,基于从信息处理装置发送的信息,保持用于对信息处理装置和发送的控制程序进行识别的固有信息。发送部还对由固有信息识别出的信息处理装置发送是否正在编辑由该固有信息识别出的控制程序的询问。保持部还在根据发送部的询问结果而判定为信息处理装置没在编辑控制程序的情况下,将固有信息删除。更新部还在根据发送部的询问结果而判定为信息处理装置没在编辑控制程序的情况下,将权限解除,以使其他信息处理装置能够编辑发送至该信息处理装置的控制程序。
[0009]根据上述构成的控制程序管理装置,即使任意的客户端异常结束了的情况下也不会给其他系统程序员等的作业带来影响。

【专利附图】

【附图说明】
[0010]图1是表示实施方式的用于制作控制程序的服务器/客户端的结构例的图,该控制程序用于进行设备控制。
[0011]图2是表示由实施方式的服务器PC实现的功能块结构例的图。
[0012]图3是表示实施方式的编辑画面显示控制部所显示的编辑画面例的图。
[0013]图4是表示由实施方式的客户端PC实现的功能块结构例的图。
[0014]图5是表示实施方式的控制器功能块结构例的图。
[0015]图6是表示在客户端PC中发生了异常的情况下实施方式的客户端PC及服务器PC中的处理的步骤例的流程图。
[0016]图7是表示实施方式的客户端PC及服务器PC中的、表示正在访问数据库的临时文件的删除处理的步骤例的流程图。
[0017]图8是表示实施方式的客户端PC中的异常诊断的处理的步骤例的流程图。
[0018]图9是表示由实施方式的编辑画面显示控制部显示的、表示发生了异常的意思的对话框的例子的图。

【具体实施方式】
[0019]图1是表示实施方式的用于制作控制程序的服务器/客户端的结构例的图,该控制程序用于进行设备控制。在图1所示的例子中,本实施方式大体上由3个部分构成。具体地说,由控制器150、客户端PC101_1?101_n、服务器PC100构成。并且,控制器150、客户端PC101_1?101_n、服务器PC100通过通信网络(例如Ethernet (注册商标))连接。
[0020]控制器150由多个工作站构成,作为设备控制装置发挥功能。构成控制器150的多个工作站分别按照从服务器PC100下载的控制程序,对(未图示的)设备进行控制。这时,控制器150使用高级的循环控制和高速循环运算处理,实现对设备的进程控制。
[0021]本实施方式的控制程序例如可以想到由IEC(国际电气标准会议)61131-3的标准规格作为PLC用的程序语言规定的LD (梯形图)语言、FBD (功能块图)语言、SFC(顺序功能图)语言及ST (结构化文本)语言等,但是只要是能够对设备进行控制的程序即可。
[0022]服务器PC100具备存储控制程序的数据库,作为管理控制程序的控制程序管理装置发挥功能。
[0023]客户端PC101_1?101_n读取服务器PC100所存储的控制程序,进行该控制程序的编辑处理。本实施方式不限制所连接的客户端PC的数量,只要是I台以上即可。
[0024]服务器PC100通过执行程序群,实现各种各样的软件结构。图2是表示由本实施方式的服务器PC100实现的功能块结构例的图。如图2所示,服务器PC100与显示装置201、键盘202及指示器件203连接。
[0025]进而,服务器PC100具备:数据库管理部210、客户端诊断部220、控制程序管理部230、客户端通信部240。
[0026]客户端通信部240在与客户端PClOll?10l_n等之间进行数据的收发。
[0027]数据库管理部210具备:权限更新部211、源文件部212、对象文件部213、数据备份部214、数据库最优化/最小化部215、控制部216。本实施方式的数据库管理部210使用数据库来管理控制程序的源文件(源文件部212)和将该源文件编译后的对象文件(对象文件部213)。
[0028]源文件部212保持能够由控制器150执行的控制程序的源文件。本实施方式的源文件部212将编辑权与控制程序的每个源文件建立对应地存储。编辑权是表示服务器PC100及客户端PC101_1?101_n中的某I个是否正在编辑该源文件的标志。并且,在编辑权表示没有正在编辑源文件的意思的情况下,能够编辑该源文件,在编辑权表示正在编辑源文件的意思的情况下,禁止编辑该源文件。
[0029]对象文件部213保持将源文件部212保持的源文件编译之后的、能够由控制器150直接执行的控制程序的对象文件。
[0030]控制部216进行数据库管理部210的整体控制。例如,按照控制部216的控制,客户端通信部240对能够编辑源文件的客户端PC101_1?101_n收发控制程序的源文件。进而,客户端通信部240从客户端PC101_1?101_n接收到编辑后的源文件的情况下,控制部216使用该源文件进行源文件部212的更新。进而,从客户端PC101_1?101_n接收到将该源文件编译后的对象文件的情况下,控制部216使用该对象文件进行对象文件部213的更新。
[0031]此外,控制部216进行将对象文件部213所保持的对象文件向控制器150传送的控制。
[0032]在客户端通信部240将控制程序的源程序发送给了客户端PC101_1?101_n中的某I个时,或者由服务器PC10编辑该源文件时,权限更新部211将编辑权更新为“编辑中”,以使其他客户端PC101_1?101_n等不能编辑控制程序的源文件。
[0033]进而,在源文件编辑结束而通过编辑后的源文件将源文件部212更新后,权限更新部211将编辑权更新为“无编辑”,以使其他客户端PC101_1?101_n等能够编辑该源文件。
[0034]进而,编辑源文件的客户端PC101_1?101_n等发生了异常等而不再能由客户端PC101_1?101_n进行源文件的编辑的情况下,权限更新部211将设定为“编辑中”的编辑权解除并更新为“无编辑”,以使其他客户端PC101_1?101_n能够编辑向客户端PC101_1?101_n发送的源文件。另外,关于客户端PC101_1?101_n是否在进行编辑的判断,使用后述的客户端诊断部220来进行。
[0035]数据备份部214进行源文件部212所保持的源文件及对象文件部213所保持的对象文件的备份控制。备份目的地没有特别限制,根据实施方式决定。
[0036]数据库最优化/最小化部215对由源文件部212所保持的源文件及对象文件部213所保持的对象文件构成的数据库进行最优化/最小化。
[0037]进而,在本实施方式中,控制部216在访问源文件部212或对象文件部213时,生成表示正在访问源文件部212或对象文件部213的临时文件。临时文件是访问数据库时为了进行访问处理而临时制作的文件。
[0038]此外,控制部216在结束了向源文件部212或对象文件部213的访问的情况下(从客户端PC101_1?101_n接收到访问结束的意思的通知的情况下),将临时文件删除。
[0039]在此,进行备份或数据库的最优化/最小化时,需要将数据库(例如源文件部212或对象文件部213)设为没有被客户端PC101_1?101_11等访问的状态。在此,进行备份或数据库的最优化/最小化时,通过控制部216的控制,客户端通信部240对经由网络连接的客户端PC101_1?101_n进行备份或数据库的最优化/最小化,所以与访问的结束请求一起发送当前正访问的客户端PC101_1?101_n的报告请求。
[0040]控制程序管理部230具备编辑画面显示控制部231、程序编译器232、客户端侧加载控制部233,并进行控制程序的编辑等。这样,在本实施方式中,系统程序员除了在客户端PC101_1?101_n中,还能够在服务器PC100中参照该编辑画面进行控制程序的编辑。
[0041]编辑画面显示控制部231进行编辑控制程序时的编辑画面的显示控制。图3是表示本实施方式的编辑画面显示控制部231所显示的编辑画面例的图。图3所示的画面例是使用由JIS B 3503(或IEC 61131-3)规定的LD/FBD语言的控制程序的编辑画面的例子。
[0042]在该控制程序的编辑画面中进行编辑的情况下,获得该控制程序的编辑权。换言之,该控制程序的编辑权被更新为“编辑中”,以避免由其他客户端PC进行编辑。然后,在编辑正常结束的情况下,将编辑权释放(编辑权被更新为“无编辑”)。
[0043]但是,以往,在编辑权被设定为其他客户端PC无法编辑的情况下,取得了编辑权的客户端PC或服务器PC由于故障等而未能正常结束时,维持被设定了编辑权的状态,所以无法在其他客户端PC或服务器PC中对同一控制程序进行编辑作业。以往,产生这样的状况的情况下,为了恢复到初始状态,需要将服务器PC10和客户端PC101_1?101_n重启。与此相对,在本实施方式中,客户端诊断部220监视与客户端PC的连接健全性,以在发生了异常的情况下能够适当地恢复。
[0044]系统程序员保存了控制程序时,控制程序被保存到源文件部212。进而,程序编译器232对该源文件进行编译,将通过编译生成的对象文件保存到对象文件部213。
[0045]在执行了编译之后,客户端侧加载控制部233对控制器150发送对象文件。由此,控制器150能够执行编辑后的控制程序。
[0046]客户端诊断部220具备固有信息保持部222和设定信息存储部223,监视与客户端的连接健全性。
[0047]固有信息保持部222将控制程序的源文件发送到了客户端PC101_1?101_n时,基于从客户端PC101_1?101_n发送的信息,保持用于对发送目的地的客户端PC101_1?101_n和所发送的源文件进行识别的固有信息。
[0048]本实施方式的固有信息保持部222,作为固有信息保持针对客户端PC101_1?101_n的数据库的登录用户名、客户端PC101_1?101_n的名称、用户系统名(能够确定设备的系统名称)、工作站名、控制器的槽位号、控制程序名(相当于IEC 61131-3中的程序、功能块、功能)。
[0049]即,以往,在客户端PC异常结束了的情况下,服务器PC无法识别哪个客户端PC在编辑控制程序,所以难以恢复。与此相对,本实施方式的服务器PClOO保持正在编辑控制程序的客户端PC101_1?101_n的固有信息。由此,正在编辑控制程序的客户端PC101_1?101_n发生了异常结束了的情况下,能够确定正在编辑该控制程序的客户端PC101_1?101_n。
[0050]为了由客户端诊断部220监视健全性,设定信息存储部223保持对客户端PC101_1?101_n进行监视(询问)的时间间隔。本实施方式的客户端诊断部220按照从用户受理的操作来设定时间间隔。本实施方式的设定信息存储部223按照每个客户端PC101_1?101_11存储时间间隔。
[0051]S卩,本实施方式的客户端诊断部220能够根据设备来调整所连接的客户端PC的数量,或者根据计算机的负荷来调整时间间隔(监视时间)。即,根据设备不同而客户端PC的数量或PC的负荷多种多样,所以需要有时间间隔(监视时间)的调整功能。因此,本实施方式的设定信息存储部223能够调整时间间隔(监视时间)。
[0052]作为调整方法,考虑以下的方法。首先,按照每个客户端PC设定的时间间隔(监视时间)在初始状态下被设定为默认值。
[0053]并且,根据设备的状况而需要变更默认值的情况下,客户端诊断部220根据系统程序员的操作来变更设定信息存储部223所存储的设定信息(例如文本文件),从而能够调整时间间隔(监视时间)。
[0054]在设定信息存储部223的设定信息内,作为时间间隔能够在30秒?600秒(10分钟)的范围内设定。对于单位无特别限制,例如可以想到秒等。
[0055]通过设定信息设定了 30秒以下的情况下,最短抑制为30秒,从而不会增加监视的负荷。
[0056]此外,通过设定信息设定了比600秒(10分钟)大的值的情况下,最大抑制为600秒(10分钟)。
[0057]通过设定信息,能够按照每个服务器PC和每个客户端PC进行不同的设定。由此,与根据设备而不同的客户端的数量或个人计算机的负荷对应,能够进行适当的监视时间的调整。
[0058]并且,按照来自客户端诊断部220的请求,客户端通信部240对于由固有信息保持部222所保持的固有信息识别出的客户端PC101_1?101_n,发送是否正在编辑由该固有信息识别出的控制程序的询问。
[0059]S卩,本实施方式的服务器PC100在客户端PC101_1?101_n等编辑控制程序时,保持该客户端PC101_1?101_n的固有信息。并且,在进行编辑的期间继续保持固有信息,在编辑结束的阶段将该固有信息删除。但是,在客户端PC101_1?101_n中发生了异常的情况下,无法删除固有信息而编辑结束。换言之,在尽管残留有固有信息但该固有信息所示的客户端PC101_1?101_n并没有进行编辑处理的情况下,能够判定为该客户端PC101_1?101_n发生了异常。
[0060]作为在判定为发生了异常的情况下进行的处理,权限更新部211将固有信息所示的控制程序的源文件的编辑权更新为“无编辑”。进而,客户端诊断部220将该固有信息删除。另外,不限于编辑权的更新和固有信息的删除,也可以进行其他处理。由此,由于客户端PC101_1?101_n的异常结束等而产生的异常状态被解除。
[0061]客户端PC101_1通过执行程序群,实现各种各样的软件结构。图4是表示由本实施方式的客户端PC101_1实现的功能块结构例的图。如图4所示,客户端PC101_1与显示装置301、键盘302及指示器件303连接。另外,客户端PC101_2?101_n具有与客户端PC101_1相同的结构而省略说明。
[0062]此外,客户端PC101_1具备控制程序管理部310、服务器诊断部320、服务器通信部330。
[0063]服务器通信部330在与服务器PC100等之间进行数据的收发。
[0064]控制程序管理部310具备编辑画面显示控制部311、程序编译器312、客户端侧加载控制部313,并进行控制程序的编辑等。另外,控制程序管理部310的结构与服务器PClOO的控制程序管理部230的结构大体相同而省略说明。在此,仅说明与服务器PC100的不同点。
[0065]编辑画面显示控制部311在控制程序的编辑画面启动时,控制服务器通信部330,将用于识别该客户端PC101_1和控制程序的固有信息发送至服务器PC100。由此,服务器PClOO能够基于该固有信息进行客户端PClO 1_1的诊断。
[0066]进而,服务器通信部330从服务器PC100接收控制程序的源文件。由此,编辑画面显示控制部311读取所接收到的源文件并显示编辑画面。
[0067]服务器诊断部320具备设定信息存储部323,监视与服务器PC100的连接健全性。具体地说,服务器诊断部320在该客户端PC101_1正编辑控制程序的源文件时,控制服务器通信部330,对服务器PC100发送是否保持着固有信息的询问。
[0068]但是,如上述那样,在服务器PC100中,在判定为编辑中的客户端PC101_1发生了异常结束等的情况下,进行编辑权的更新和固有信息的删除。
[0069]因此,服务器诊断部320控制服务器通信部330,监视服务器PC100是否继续保持着固有信息,从而能够识别在与服务器PClOO之间是否发生了异常。
[0070]这样,服务器诊断部320在使用编辑画面显示控制部311进行控制程序的编辑处理的期间,控制服务器通信部330来发送服务器PC100是否具有用于识别客户端PC101_1和被客户端PC101_1编辑的控制程序的固有信息。
[0071]然后,服务器诊断部320根据服务器PC100对询问的响应结果而判定为服务器PC100不具有固有信息的情况下,使控制程序的编辑处理结束。然后,对编辑画面显示控制部311通知与服务器PC100之间的通信已切断的意思。
[0072]图5是表示本实施方式的控制器150的功能块结构例的图。如图5所示,控制器150由对象存储器410和标准控制部420构成。
[0073]对象存储器410具备数据存储器411和代码存储器412。代码存储器412保存控制程序的对象文件。数据存储器411作为执行控制程序时的作业区域使用,保存参数等。
[0074]标准控制部420具备服务器侧加载控制部421、程序执行控制部422、进程输入输出处理部423,执行控制程序的对象文件的写入和读取。
[0075]服务器侧加载控制部421与客户端PC101_1?101_n或服务器PC100的客户端侧加载控制部233、313协同,将经由网络发送的控制程序的对象程序配置到代码存储器412。
[0076]程序执行控制部422执行对象存储器410所保存的控制程序。进程输入输出处理部423将来自设备的进程信号传送给控制程序。由此,能够实现设备的自动控制。
[0077]接下来,说明由客户端PC101_1结束控制程序的编辑后在客户端PC101_1和控制器150之间进行的处理。
[0078]由客户端PC101_1结束了编辑时,在编译等结束后,将控制程序的源文件和对象文件传送给服务器PC100。由此,编辑后的源文件被保存到源文件部212,编辑后的对象文件被保存到对象文件部213。
[0079]然后,客户端PC101_1的客户端侧加载控制部313将服务器PC100的对象文件部213所保持的对象文件取出,传送给控制器150的服务器侧加载控制部421。然后,控制器150的服务器侧加载控制部421将传送来的对象文件配置到代码存储器412。然后,程序执行处理部422执行该文件而执行控制程序。
[0080]接下来,说明本实施方式的客户端PC101_1及服务器PC100中的、正编辑控制程序的客户端PC101_1发生了异常时的处理。图6是表示本实施方式的客户端PC101_1及服务器PC100中的上述处理的步骤例的流程图。
[0081]首先,客户端PC101_1的编辑画面显示控制部311启动,开始控制程序的编辑画面的显示(步骤S501)。
[0082]然后,客户端PC101_1的服务器通信部330将固有信息发送至服务器PC100,该固有信息包含用于识别客户端PC101_1和编辑对象的控制程序的信息(步骤S502)。
[0083]服务器PC100的客户端通信部240从客户端PC101_1接收固有信息(步骤S511)。然后,客户端诊断部220的固有信息保持部222保持所接收到的固有信息(步骤S512)。
[0084]进而,客户端通信部240将接收到的固有信息所示的控制程序的源文件发送至客户端 PC101_1(步骤 S513)。
[0085]然后,服务器PC100的权限更新部211将固有信息保持部222保存的固有信息所示的控制程序的源文件(与发送的控制程序的源文件建立了对应)的编辑权进行锁定控制,以避免被其他客户端PC等编辑(步骤S514)。
[0086]接下来,服务器PC100的客户端诊断部220基于固有信息保持部222所保持的固有信息,与客户端PC101_1执行连接确认(步骤S515)。具体地说,对于固有信息所示的客户端PC101_1,询问是否正在编辑该固有信息所示的控制程序。
[0087]然后,服务器PC100的客户端诊断部220基于询问结果,判定是否正常地进行了连接确认(步骤S516)。判定为正常地进行了连接确认(收到了正在编辑控制程序的意思的响应)的情况下(步骤S516:是),定期地重复从步骤S515起的处理。此外,控制程序的编辑正常结束的情况下,该处理结束。
[0088]另一方面,客户端PC101_1从服务器PC100接收控制程序的源文件(步骤S503)。然后,编辑画面显示控制部311读取所接收到的源文件并显示,从用户受理控制程序的编辑(步骤S504)。然后,由于客户端PC101_1发生了异常,所以判定为客户端PC101_1发生了异常结束(步骤S505)。由此,控制程序的编辑结束,并且在服务器PC100中维持着该控制程序的编辑权被锁定的状态。
[0089]在此,在客户端诊断部220基于步骤S515的询问结果而判定为未能正常地进行连接确认(未收到正在编辑控制程序的意思的响应)的情况下(步骤S516:否),权限更新部211基于示出未能进行连接确认的客户端PClO 1_1的固有信息,将编辑权的锁定解除(步骤S517)。进而,固有信息保持部222将示出未能进行连接确认的客户端PC101_1的固有信息删除(步骤S518)。
[0090]通过上述的处理步骤,监视由客户端PC等编辑的控制程序的健全状态,能够在客户端PC等异常时自动地适当更新编辑权。
[0091]接下来,说明由服务器PC100进行数据库的备份、最优化、最小化的情况。但是,在存在有由于其他信息处理装置访问该数据库而生成的临时文件的期间,无法进行数据库的备份、最优化、最小化。并且,如果信息处理终端在数据库的访问中异常结束,则仅残留临时文件,有可能无法进行数据库的备份、最优化、最小化。以往,出现这样的状况的情况下,通过将服务器PC10及客户端PC101_1?101_n重启来应对。与此相对,本实施方式在满足规定条件的情况下,进行临时文件的删除。
[0092]说明本实施方式的客户端PC101_1及服务器PC100中的、表示正在访问数据库的临时文件的删除处理。图7是表示本实施方式的客户端PC101_1及服务器PC100中的上述处理的步骤例的流程图。
[0093]首先,服务器PC100的数据备份部214或数据库最优化/最小化部215开始维护(例如备份、最优化、最小化)时,客户端通信部240对于经由网络连接的全部客户端PC101_1?101_n,通过广播通知维护(例如备份)的开始(步骤S611)。
[0094]然后,客户端PC101_1的服务器通信部330接收维护(例如备份)的开始通知(步骤S601)。当前,在客户端PC101_1上正在进行控制程序的编辑。
[0095]这种情况下,客户端PC101_1的服务器通信部330通知正在访问服务器PC100的数据库的登录用户(步骤S602)。另一方面,没在进行控制程序的编辑的情况下,客户端PClO 1_1通知准备完成的意思。
[0096]另一方面,服务器PC100的客户端通信部240从客户端PC101_1接收正在访问数据库(源文件部212、对象文件部213)的登录用户(步骤S612)。由此,服务器PC100进行一定时间待机的控制,直到访问的登录用户登出。
[0097]另一方面,客户端PC101_1的编辑画面显示控制部311结束源文件的编辑画面的显示,编辑作业结束(步骤S603)。这时,进行固有信息的删除和编辑权的锁定解除等。
[0098]然后,客户端PC101_1将准备完成(使正在进行数据库访问的作业的画面全部结束)的意思通知给服务器PClOO (步骤S604)。这时,登录用户也通知给服务器PC100。
[0099]然后,服务器PC100的客户端通信部240从客户端PC101_1接收准备完成的意思(步骤 S613)。
[0100]接下来,服务器PC100的控制部216判定是否从发送来登录用户的全部客户端PC受理了准备完成的意思的通知(步骤S614)。判定为未受理的情况下(步骤S614:否),从步骤S613开始进行处理。
[0101]另一方面,服务器PC100的控制部216判定为从全部客户端PC受理了准备完成的意思的通知的情况下(步骤S614:是),数据备份部214开始对数据库(源文件部212、对象文件部213)进行作业(步骤S615)。
[0102]在此,客户端PC异常结束等的情况下,如果残留着正在访问数据库(源文件部212、对象文件部213)的进程,则无法进行临时文件等的删除。在步骤S616的阶段,对于全部客户端PC101_1?101_n的数据库的正常访问应该已经结束,所以控制部216将正在访问数据库的进程等作为异常进程而使其强制结束(步骤S616)。
[0103]进而,在残留有临时文件的情况下,控制部216将该临时文件删除(步骤S617)。通常,在全部客户端PC对数据库的访问结束的时刻,临时文件已经被删除,所以步骤S617的删除只限于客户端PC异常结束等情况。
[0104]由此,数据备份部214对数据库(源文件部212、对象文件部213)进行备份处理(步骤 S618)。
[0105]通过上述处理,访问时生成的特殊的临时文件被删除,所以能够进行备份。另外,图7所示的处理步骤不限于备份处理,只要是数据库的最优化/最小化等的数据库的维护即可。
[0106]从以上的结果可知,任意的客户端PC由于各种故障而异常结束了的情况下,在以往的客户端PC/服务器PC环境下只能重启,否则不能恢复。
[0107]与此相对,在本实施方式中,能够继续编辑控制程序,将由于异常结束而产生的临时文件删除之后,能够进行数据库的最优化/最小化和备份作业。由此,不必中止正通过其他客户端进行作业的系统程序员的作业,能够提高整体的作业效率。
[0108]此外,异常与否的诊断不限于服务器PC100侧,也可以在客户端PC101_1?101_n侧进行。例如,作为由客户端PC101_1?101_n侧进行的异常诊断,可以想到如下的诊断:尽管客户端PC101_1正在编辑控制程序,服务器PC100也诊断客户端PC101_1是否作为异常结束而进行了处理。因此,客户端PC101_1?101_n通过服务器PC100是否删除了固有信息,来判定在与服务器PClOO之间的通信中是否发生了异常。图8是表示本实施方式的客户端PC101_1中的异常诊断的处理步骤例的流程图。
[0109]首先,客户端PC101_1的编辑画面显示控制部311启动,开始控制程序的编辑画面的显示(步骤S801)。
[0110]然后,客户端PC101_1的服务器通信部330将固有信息发送至服务器PC100,该固有信息包含用于识别客户端PC101_1和编辑对象的控制程序的信息(步骤S802)。
[0111]服务器PC100的客户端通信部240从客户端PC101_1接收固有信息(步骤S811)。然后,客户端诊断部220的固有信息保持部222保持所接收到的固有信息(步骤S812)。
[0112]另一方面,客户端PC101_1的服务器诊断部320控制服务器通信部330,进行步骤S802中发送的固有信息的确认请求(步骤S803)。与此对应,服务器PC100进行固有信息的确认响应(步骤S813)。然后,服务器诊断部320根据来自服务器PC100的响应结果来判定是否存在固有信息(步骤S804)。判定为存在固有信息的情况下(步骤S804:是),再次从步骤S803开始处理。
[0113]之后,通过图6所示的处理步骤,无法从服务器PC100参照客户端PC101_1而未能正常地进行连接确认,所以编辑权的锁定被解除,并且进行固有信息的删除。
[0114]另一方面,在步骤S804中客户端PC101_1的服务器诊断部320判定为没有固有信息的情况下(步骤S804:否),编辑画面显示控制部311显示发生了异常的意思(步骤S805)。进而,服务器诊断部320使控制程序管理部310原本进行着的控制程序的源文件的编辑处理结束。
[0115]图9是表示由编辑画面显示控制部311显示的、示出发生了异常的意思的对话框的例子的图。如图9的例子所示,通过显示该对话框,系统程序员能够知道与服务器PC100之间的通信已切断。
[0116]通过上述的处理步骤,客户端PC101_1能够识别与服务器PC100之间的通信是否发生了异常。即,以往,客户端侧在不进行与服务器PC的通信而进行控制程序的编辑处理的期间由于网络故障等而发生了与服务器的切断的情况下,无法立即识别到该切断。这种情况下,系统程序员不知道与服务器PC已切断而进行编辑处理。这种情况下,无法更新编辑后的源文件,所以作业白干了。
[0117]在此,在本实施方式中,客户端PC101_1与服务器PC100定期地进行通信。并且,在无法通信的情况下,判定为网络切断并显示上述的消息后,进行客户端PC101_1的强制彡口水寸。
[0118]这样,在客户端PC101_1?101_M则,即使发生网络故障,也能够立即识别到与服务器PClOO的切断。因此,抑制了在切断的状态下进行编辑处理,能够抑制客户端PC101_1?101_11侧的无用作业。
[0119]在本实施方式的服务器PC/客户端PC环境下,控制程序在服务器PC100上的数据库中被一元地管理,进行排他控制以避免多人变更同一部位。进行这样的排他控制时,即使在任意的客户端PC由于发生各种故障而异常结束了的情况下,由于服务器PC100具备上述的结构,也能够适当地将排他控制解除,由其他客户端PC进行该控制程序的编辑。
[0120]以往,客户端PC异常结束了的情况下,由于正在访问数据库,所以无法进行数据库的最优化/最小化和备份作业。这种情况下,需要使全部系统程序员的作业中止而将服务器/客户端环境重启。
[0121]与此相对,在本实施方式的服务器PC100中,由于具备上述的结构,将数据库的访问状态解除,不需要将服务器/客户端环境重启就能够执行最优化/最小化和备份作业。
[0122]以往,有时无法在客户端PC侧立刻知晓由于网络故障等理由而导致与服务器PC之间产生了切断。在这样的状况下,即使客户端PC继续作业,也无法将作业结果反映到服务器PC,所以作业白做。与此相对,在本实施方式中,进行异常诊断,在发生了异常的情况下通知该意思,从而能够抑制出现无用的作业。
[0123]进而,在上述的实施方式的服务器PC100中,客户端PC发生了异常结束的情况下,检测该异常结束,并进行编辑权的锁定解除、固有信息的删除,从而能够进行适当的恢复处理。由此,不会给使用异常结束了的客户端PC以外的客户端PC等的其他系统程序员等带来影响。
[0124]以上说明了本发明的若干实施方式,但是这些实施方式只是作为例子提出,不意欲限定发明的范围。这些新的实施方式能够以其他各种方式来实施,在不脱离发明的主旨的范围内能够进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围和主旨内,也包含在权利要求所记载的发明及其等同范围内。
【权利要求】
1.一种控制程序管理装置,其中,具备: 存储部,存储能够由进行设备的控制的控制器执行的控制程序; 发送部,对能够编辑所述控制程序的信息处理装置发送所述控制程序; 更新部,对所述信息处理装置发送了所述控制程序后,更新权限,以使其他信息处理装置不能编辑所发送的所述控制程序;以及 保持部,对所述信息处理装置发送了所述控制程序后,基于从所述信息处理装置发送的信息,保持用于对所述信息处理装置和所发送的所述控制程序进行识别的固有信息;所述发送部还对由所述固有信息识别出的所述信息处理装置发送是否正在编辑由该固有信息识别出的所述控制程序的询问, 所述保持部还在根据所述发送部的询问结果而判定为所述信息处理装置没在编辑所述控制程序的情况下,将所述固有信息删除, 所述更新部还在根据所述发送部的询问结果而判定为所述信息处理装置没在编辑所述控制程序的情况下,将所述权限解除,以使其他信息处理装置能够编辑发送至该信息处理装置的所述控制程序。
2.如权利要求1所述的控制程序管理装置,其中, 还具备: 文件控制部,在所述信息处理装置访问所述存储部时,生成表示所述存储部正被访问的临时文件, 所述发送部还在进行所述存储部的维护时,对与网络连接的信息处理装置发送使对所述存储部的访问结束的意思, 所述文件控制部还在从被所述发送部发送了使访问结束的意思的所述信息处理装置接收到结束了对所述存储部的访问的意思的响应的情况下,将正在访问所述存储部的进程和所述临时文件删除。
3.如权利要求1所述的控制程序管理装置,其中, 还按照每个所述信息处理装置配设用于设定所述发送部发送询问的时间间隔的设定部。
4.如权利要求1所述的控制程序管理装置,其中, 所述保持部作为所述固有信息,保持所述信息处理装置登录所述存储部时的登录用户名、所述信息处理装置的名称、所述设备的工作站名、所述设备的所述控制器的槽位号、以及所述控制程序的名称中的任意一个以上。
5.如权利要求1所述的控制程序管理装置,其中, 所述存储部是将控制程序的源文件与该源文件的所述权限建立对应地进行保持的数据库。
6.一种信息处理装置,其中,具备: 接收部,从控制程序管理装置接收控制程序,该控制程序管理装置管理能够由进行设备的控制的控制器执行的控制程序; 发送部,将用于对自装置和由该自装置编辑的控制程序进行识别的固有信息向所述控制程序管理装置发送,并且在接收到的所述控制程序被编辑的期间,发送所述控制程序管理装置是否具有所述固有信息的询问;以及 控制部,在根据所述发送部发送的询问的结果而判定为所述控制程序管理装置不具有所述固有信息的情况下,使所述控制程序的编辑处理结束。
7.如权利要求6所述的信息处理装置,其中, 还具备: 显示控制部,在根据所述发送部发送的询问的结果而判定为所述控制程序管理装置不具有所述固有信息的情况下,显示与所述控制程序管理装置之间的通信已切断的意思。
8.—种控制程序处理方法,该控制程序处理方法由控制程序管理装置来执行,其中, 所述控制程序管理装置具备存储能够由进行设备的控制的控制器执行的控制程序的存储部, 在该控制程序处理方法中, 对能够编辑所述控制程序的信息处理装置发送所述控制程序, 对所述信息处理装置发送了所述控制程序后,更新权限,以使其他信息处理装置不能编辑所发送的所述控制程序, 对所述信息处理装置发送了所述控制程序后,基于从所述信息处理装置发送的信息,将用于对所述信息处理装置和所发送的所述控制程序进行识别的固有信息保持于保持部,对由所述固有信息识别出的所述信息处理装置发送是否正在编辑由该固有信息识别出的所述控制程序的询问, 在根据所述询问结果而判定为所述信息处理装置没在编辑所述控制程序的情况下,将所述固有信息删除, 在根据所述询问结果而判定为所述信息处理装置没在编辑所述控制程序的情况下,将所述权限解除,以使其他信息处理装置能够编辑发送至该信息处理装置的所述控制程序。
9.如权利要求8所述的控制程序处理方法,其中, 在所述信息处理装置访问所述存储部时,生成表示所述存储部正被访问的临时文件,在进行所述存储部的维护时,对与网络连接的信息处理装置发送使对所述存储部的访问结束的意思, 在从被所述发送部发送了使访问结束的意思的所述信息处理装置接收到结束了对所述存储部的访问的意思的响应的情况下,将正在访问所述存储部的进程和所述临时文件删除。
10.如权利要求8所述的控制程序处理方法,其中, 按照每个所述信息处理装置设定所述发送部发送询问的时间间隔。
11.如权利要求8所述的控制程序处理方法,其中, 作为所述固有信息,保持所述信息处理装置登录所述存储部时的登录用户名、所述信息处理装置的名称、所述设备的工作站名、所述设备的所述控制器的槽位号、以及所述控制程序的名称中的任意一个以上。
12.—种控制程序处理方法,该控制程序处理方法由信息处理装置来执行,其中, 从控制程序管理装置接收控制程序,该控制程序管理装置管理能够由进行设备的控制的控制器执行的控制程序, 将用于对所述信息处理装置和由所述信息处理装置编辑的控制程序进行识别的固有信息向所述控制程序管理装置发送,并且在接收到的所述控制程序被编辑的期间,发送所述控制程序管理装置是否具有所述固有信息的询问, 在根据所述询问的结果而判定为所述控制程序管理装置不具有所述固有信息的情况下,使所述控制程序的编辑处理结束。
13.如权利要求12所述的控制程序处理方法, 在根据所述询问的结果而判定为所述控制程序管理装置不具有所述固有信息的情况下,显示与所述控制程序管理装置之间的通信已切断的意思。
【文档编号】G06F9/44GK104423963SQ201410366334
【公开日】2015年3月18日 申请日期:2014年7月29日 优先权日:2013年8月30日
【发明者】川本淳一, 小野将英 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1