首页> 中国专利> 可编程控制器的CPU单元、可编程控制器用的系统程序以及存储了可编程控制器用的系统程序的记录介质

可编程控制器的CPU单元、可编程控制器用的系统程序以及存储了可编程控制器用的系统程序的记录介质

摘要

一种微处理器,控制第1通信电路以及第2通信电路之中的至少一方,以便并行执行以下处理:第1输入输出处理,包含将输出数据从第1转发缓冲器经过第1通信电路输出至PLC系统总线上的第1设备的处理、和将输入数据从第1设备经过第1通信电路输入至第1转发缓冲器的处理;以及第2输入输出处理,包含将输出数据从第2转发缓冲器经过第2通信电路输出至现场网络上的第2设备的处理、和将输入数据从第2设备经过第2通信电路输入至第2转发缓冲器的处理。

著录项

  • 公开/公告号CN103430109A

    专利类型发明专利

  • 公开/公告日2013-12-04

    原文格式PDF

  • 申请/专利权人 欧姆龙株式会社;

    申请/专利号CN201180068878.3

  • 发明设计人 西山佳秀;滨崎治;江口重行;

    申请日2011-03-22

  • 分类号G05B19/05;G06F13/38;

  • 代理机构北京市柳沈律师事务所;

  • 代理人胡金珑

  • 地址 日本京都府

  • 入库时间 2024-02-19 21:57:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-12

    授权

    授权

  • 2013-12-25

    实质审查的生效 IPC(主分类):G05B19/05 申请日:20110322

    实质审查的生效

  • 2013-12-04

    公开

    公开

说明书

技术领域

本发明涉及用于控制机械或设备等的动作而使用的PLC(Programmable  Logic Controller,或也被称为可编程控制器)中的输出处理以及输入处理。

背景技术

PLC由例如包含执行控制程序的微处理器的CPU(Central Processing  Unit)单元、担当来自外部的开关或传感器的信号输入以及至外部的继电器 或执行器的信号输出的IO(lnput Output)单元的多个单元而构成。这些单元 之间,每个控制程序的执行循环,经由PLC系统总线以及/或者现场网络进行 数据的交接,同时PLC执行控制动作。

例如,在专利文献1(特开2003-29809号公报)中,公开了PLC的CPU 单元进行用于在本地I/O单元之间经由I/O总线(PLC系统总线)转发I/O数 据的通信,同时进行用于在远程I/O从动装置之间经由网络(现场网络)转 发I/O数据的通信的结构。与本地I/O单元之间的输入输出、以及远程I/O从 动装置之间的输入输出并行进行。在CPU单元中,I/O数据存储于数据存储 器。设置控制对于数据存储器的接入的判别器。为了经由I/O总线转发I/O数 据,PLC命令执行部经由判别器接入至数据存储器。PLC命令执行部使用I/O 总线I/F部进行经由I/O总线的通信。为了经由网络转发I/O数据,远程I/O主 控部经由判别器接入至数据存储器。进而,数据存储器在PLC命令执行部执 行命令(控制程序)时也被接入。即,数据存储器作为共享存储器被使用,为 了相同的数据存储器经由I/O总线的数据转发、经由网络的数据转发、以及 控制程序执行,通过判别器调停并接入。

现有技术文献

专利文献

专利文献1:特开2003-029809号公报

发明内容

发明要解决的课题

在PLC中,使用作为控制程序的执行部被专门开发出的ASIC,CPU单 元整体的构造也由各PLC厂商独自被开发出。但是,近年,伴随用于通用计 算机的通用微处理器的性能提高,变得可利用作为PLC的控制程序的执行部 的通用微处理器。在使用通用微处理器构成PLC的CPU单元的情况下,CPU 单元整体的构造也尽量接近通用计算机,但优选减轻开发负担或降低成本的 观点。此时,如专利文献1所示,对于相同的数据存储器,通过判别器,经由 PLC系统总线的输入输出、经由现场网络的输入输出、以及控制程序的执行 的任意时刻接入的结构,与通用计算机的构造差异大,不能说是优选。

本发明的目的在于,提供一种适合于使用接近通用计算机的硬件结构而 实现的、将经由PLC系统总线的数据的输入输出和经由现场网络的数据的输 入输出并行执行的手段。

用于解决课题的手段

根据本发明的某方面,提供一种对控制对象进行控制的PLC的CPU单 元。PLC的CPU单元包含:微处理器;存储部件,包含微处理器的主存储器; 第1通信电路,通过PLC系统总线进行第1输出数据的发送以及第1输入数 据的接收;以及第2通信电路,通过现场网络进行第2输出数据的发送以及 第2输入数据的接收。PLC的CPU单元通过重复第1输出数据以及第2输出 数据的发送、第1输入数据以及第2输入数据的接收、以及使用第1输入数 据以及第2输入数据而生成第1输出数据以及第2输出数据的控制程序的执 行而对控制对象进行控制。存储部件用于控制程序、以及系统程序的存储。微 处理器执行存储到存储部件的系统程序以及控制程序。系统程序包含生成以 下缓冲器的命令:运算缓冲器,在主存储器上伴随控制程序的执行读出第1 输入数据以及第2输入数据,同时写入第1输出数据以及第2输出数据;第 1转发缓冲器,存储通过PLC系统总线被发送的第1输出数据以及被接收到 的第1输入数据;以及第2转发缓冲器,存储通过现场网络被发送的第2输 出数据以及被接收到的第2输入数据。系统程序进一步包含以下命令:对控 制程序的执行进行控制;控制第1输入数据、第2输入数据、第1输出数据 以及第2输出数据的输入输出。微处理器通过执行系统程序,控制以下处理 的执行:输出复制处理,将第1输出数据从运算缓冲器复制至第1转发缓冲 器,同时将第2输出数据从运算缓冲器复制至第2转发缓冲器;以及输入复 制处理,将第1输入数据从第1转发缓冲器复制至运算缓冲器,同时将第2 输入数据从第2转发缓冲器复制至运算缓冲器。进而,微处理器通过执行系 统程序,控制第1通信电路以及第2通信电路之中的至少一方,以便并行执 行以下处理:第1输入输出处理,包含将第1输出数据从第1转发缓冲器经 过第1通信电路输出至PLC系统总线上的第1设备的处理、和将第1输入数 据从第1设备经过第1通信电路输入至第1转发缓冲器的处理;以及第2输 入输出处理,包含将第2输出数据从第2转发缓冲器经过第2通信电路输出 至现场网络上的第2设备的处理、和将第2输入数据从第2设备经过第2通 信电路输入至第2转发缓冲器的处理。

优选的是,第1通信电路包含第1通信电路缓冲器,第2通信电路包含 第2通信电路缓冲器。第1输入输出处理包含:第1输出转发处理,将第1 输出数据从第1转发缓冲器转发至第1通信电路缓冲器;第1发送处理,将 第1输出数据从第1通信电路缓冲器发送至第1设备;第1接收处理,将第 1输入数据从第1设备接收至第1通信电路缓冲器;以及第1输入转发处理, 将第1输入数据从第1通信电路缓冲器转发至第1转发缓冲器。第2输入输 出处理包含:第2输出转发处理,将第2输出数据从第2转发缓冲器转发至 第2通信电路缓冲器;第2发送处理,将第2输出数据从第2通信电路缓冲 器发送至第2设备;第2接收处理,将第2输入数据从第2设备接收至第2 通信电路缓冲器;以及第2输入转发处理,将第2输入数据从第2通信电路 缓冲器转发至第2转发缓冲器。

更优选的是,微处理器通过执行系统程序,控制第1通信电路以及第2 通信电路之中的至少一方,以便在从开始第1输出转发处理以及第2输出转 发处理的一方至对应于该输出转发处理的输入转发处理完成之间开始另一方 的输出转发处理。

或更优选的是,微处理器通过执行系统程序,控制第1通信电路以及第 2通信电路之中的至少一方,以便在从开始作为第1发送处理以及第1接收 处理的第1发送接收处理、以及作为第2发送处理以及第2接收处理的第2 发送接收处理、的一方至该发送接收处理完成之间开始另一方的发送接收处 理。

或优选的是,第1输入输出处理包含:第1输出处理,将第1输出数据 从第1转发缓冲器输出至第1设备;以及第1输入处理,将第1输入数据从 第1设备输入至第1转发缓冲器。第2输入输出处理包含:第2输出处理, 将第2输出数据从第2转发缓冲器输出至第2设备;以及第2输入处理,将 第2输入数据从第2设备输入至第2转发缓冲器。微处理器通过执行系统程 序,进行控制以便第1输出处理和第2输出处理的并行执行、以及第1输入 处理和第2输入处理的并行执行、之中的至少一方进行。

或更优选的是,微处理器通过执行系统程序,控制第1通信电路以及第 2通信电路之中的至少一方,以便在从开始第1输出转发处理以及第2输出 转发处理的一方至对应于该输出转发处理的发送处理完成之间开始另一方的 输出转发处理。

或更优选的是,微处理器通过执行系统程序,控制第1通信电路以及第 2通信电路之中的至少一方,以便在从开始第1发送处理以及第2发送处理 的一方至该发送处理完成之间开始另一方的发送处理。

或更优选的是,微处理器通过执行系统程序,控制第1通信电路以及第 2通信电路之中的至少一方,以便在从开始第1接收处理以及第2接收处理 的一方至对应于该接收处理的输入转发处理完成之间开始另一方的接收处理 。

或更优选的是,所述微处理器通过执行系统程序,控制第1通信电路以 及第2通信电路之中的至少一方,以便在从开始第1接收处理以及第2接收 处理的一方至该接收处理完成之间开始另一方的接收处理。

根据本发明的其他方面,提供一种在PLC的CPU单元中,存储于存储 部件并用于通过微处理器执行的PLC用的系统程序,该PLC的CPU单元包 含:微处理器;存储部件,包含微处理器的主存储器;第1通信电路,通过 PLC系统总线进行第1输出数据的发送以及第1输入数据的接收;以及第2 通信电路,通过现场网络进行第2输出数据的发送以及第2输入数据的接收, 通过重复第1输出数据以及第2输出数据的发送、第1输入数据以及第2输 入数据的接收、以及使用第1输入数据以及第2输入数据而生成第1输出数 据以及第2输出数据的、存储于存储部件的控制程序的执行而对控制对象进 行控制。系统程序作为控制动作的执行准备命令,包含生成以下缓冲器的命 令:运算缓冲器,在主存储器上,伴随控制程序的执行而读出第1输入数据 以及第2输入数据,同时写入第1输出数据以及第2输出数据;第1转发缓 冲器,存储通过PLC系统总线被发送的第1输出数据以及被接收到的第1输 入数据;以及第2转发缓冲器,存储通过现场网络被发送的第2输出数据以 及被接收到的第2输入数据。系统程序作为控制动作的执行控制命令,包含: 控制程序开始命令,使控制程序的执行开始;第1输出复制命令,用于将第 1输出数据从运算缓冲器复制至第1转发缓冲器;第2输出复制命令,用于 将第2输出数据从运算缓冲器复制至第2转发缓冲器;第1输入复制命令, 用于将第1输入数据从第1转发缓冲器复制至运算缓冲器;第2输入复制命 令,用于将第2输入数据从第2转发缓冲器复制至运算缓冲器;以及输入输 出控制命令,用于控制第1通信电路的第1输入输出控制命令以及用于控制 第2通信电路的第2输入输出控制命令之中的至少一方,该输入输出控制命 令用于并行执行以下处理:第1输入输出处理,包含将第1输出数据从第1 转发缓冲器经过第1通信电路输出至PLC系统总线上的第1设备的处理、和 将第1输入数据从第1设备经过第1通信电路输入至第1转发缓冲器的处理; 以及第2输入输出处理,包含将第2输出数据从第2转发缓冲器经过第2通 信电路输出至现场网络上的第2设备的处理、和将第2输入数据从第2设备 经过第2通信电路输入至第2转发缓冲器的处理。

优选的是,第1通信电路包含第1通信电路缓冲器,第2通信电路包含 第2通信电路缓冲器。第1输入输出处理包含:第1输出转发处理,将第1 输出数据从第1转发缓冲器转发至第1通信电路缓冲器;第1发送处理,将 第1输出数据从第1通信电路缓冲器发送至第1设备;第1接收处理,将第 1输入数据从第1设备接收至第1通信电路缓冲器;以及第1输入转发处理, 将第1输入数据从第1通信电路缓冲器转发至第1转发缓冲器。第2输入输 出处理包含:第2输出转发处理,将第2输出数据从第2转发缓冲器转发至 第2通信电路缓冲器;第2发送处理,将第2输出数据从第2通信电路缓冲 器发送至第2设备;第2接收处理,将第2输入数据从第2设备接收至第2 通信电路缓冲器;以及第2输入转发处理,将第2输入数据从第2通信电路 缓冲器转发至第2转发缓冲器。第1输入输出控制命令包含:第1输出转发 命令,使第1输出转发处理开始;第1发送命令,使第1发送处理开始;第 1接收命令,使第1接收处理开始;第1发送接收命令,使第1发送处理以 及第1接收处理开始;以及第1输入转发命令,使第1输入转发处理开始, 之中的某一个命令。第2输入输出控制命令包含:第2输出转发命令,使第 2输出转发处理开始;第2发送命令,使第2发送处理开始;第2接收命令, 使第2接收处理开始;第2发送接收命令,使第2发送处理以及第2接收处 理开始;以及第2输入转发命令,使第2输入转发处理开始,之中的某一个 命令。

更优选的是,系统程序包含第1输出转发命令以及第2输出转发命令, 被编程以便在从执行其中的一方的输出转发命令至对应于由此开始的输出转 发处理的输入转发处理完成之间执行另一方的输出转发命令。

或更优选的是,系统程序包含第1发送接收命令以及第2发送接收命令, 被编程以便在从执行其中的一方的发送接收命令至由此开始的发送接收处理 完成之间执行另一方的发送接收命令。

或更优选的是,第1输入输出处理包含:第1输出处理,将第1输出数 据从第1转发缓冲器输出至第1设备;以及第1输入处理,将第1输入数据 从第1设备输入至第1转发缓冲器。第2输入输出处理包含:第2输出处理, 将第2输出数据从第2转发缓冲器输出至第2设备;以及第2输入处理,将 第2输入数据从第2设备输入至第2转发缓冲器。第1输入输出控制命令包 含使第1输出处理开始的第1输出命令以及使第1输入处理开始的第1输入 命令。第2输入输出控制命令包含使第2输出处理开始的第2输出命令以及 使第2输入处理开始的第2输入命令。被编程以便进行通过第1输出命令以 及第2输出命令的执行的第1输出处理和第2输出处理的并行执行、以及通 过第1输入命令以及第2输入命令的执行的第1输入处理和第2输入处理的 并行执行,之中的至少一方。

或更优选的是,系统程序包含第1输出转发命令以及第2输出转发命令, 被编程以便在从执行其中的一方的输出转发命令至对应于由此开始的输出转 发处理的发送处理完成之间执行另一方的输出转发命令。

或优选的是,系统程序包含第1发送命令以及第2发送命令,被编程以 便在从执行其中的一方的发送命令至由此开始的发送处理完成之间执行另一 方的发送命令。

或更优选的是,系统程序包含第1接收命令以及第2接收命令,被编程 以便在从执行其中的一方的接收命令至对应于由此开始的接收处理的输入转 发处理完成之间执行另一方的接收命令。

或优选的是,系统程序包含第1接收命令以及第2接收命令,被编程以 便在从执行其中的一方的接收命令至由此开始的接收处理完成之间执行另一 方的接收命令。

进一步根据本发明的其他方面,提供一种在PLC的CPU单元中存储了 PLC用的系统程序的记录介质,该PLC用的系统程序存储于存储部件而用于 通过微处理器执行,该PLC的CPU单元包含微处理器;存储部件,包含微 处理器的主存储器;第1通信电路,通过PLC系统总线进行第1输出数据的 发送以及第1输入数据的接收;第2通信电路,通过现场网络进行第2输出 数据的发送以及第2输入数据的接收,通过重复第1输出数据以及第2输出 数据的发送、第1输入数据以及第2输入数据的接收、以及使用第1输入数 据以及第2输入数据而生成第1输出数据以及第2输出数据的、存储于存储 部件的控制程序的执行而对控制对象进行控制。系统程序作为控制动作的执 行准备命令,包含生成以下缓冲器的命令:运算缓冲器,在主存储器上,伴 随控制程序的执行读出第1输入数据以及第2输入数据,同时写入第1输出 数据以及第2输出数据;第1转发缓冲器,存储通过PLC系统总线被发送的 第1输出数据以及被接收到的第1输入数据;以及第2转发缓冲器,存储通 过现场网络被发送的第2输出数据以及被接收到的第2输入数据。系统程序 作为控制动作的执行控制命令,包含:控制程序开始命令,使控制程序的执 行开始;第1输出复制命令,用于将第1输出数据从运算缓冲器复制至第1 转发缓冲器;第2输出复制命令,用于将第2输出数据从运算缓冲器复制至 第2转发缓冲器;第1输入复制命令,用于将第1输入数据从第1转发缓冲 器复制至运算缓冲器;第2输入复制命令,用于将第2输入数据从第2转发 缓冲器复制至运算缓冲器;以及输入输出控制命令,用于控制第1通信电路 的第1输入输出控制命令以及用于控制第2通信电路的第2输入输出控制命 令之中的至少一方,该输入输出控制命令用于并行执行以下处理:第1输入 输出处理,包含将第1输出数据从第1转发缓冲器经过第1通信电路输出至 PLC系统总线上的第1设备的处理、和将第1输入数据从第1设备经过第1 通信电路输入至第1转发缓冲器的处理;以及第2输入输出处理,包含将第 2输出数据从第2转发缓冲器经过第2通信电路输出至现场网络上的第2设 备的处理、和将第2输入数据从第2设备经过第2通信电路输入至第2转发 缓冲器的处理。

优选的是,第1通信电路包含第1通信电路缓冲器,第2通信电路包含 第2通信电路缓冲器。第1输入输出处理包含:第1输出转发处理,将第1 输出数据从第1转发缓冲器转发至第1通信电路缓冲器;第1发送处理,将 第1输出数据从第1通信电路缓冲器发送至第1设备;第1接收处理,将第 1输入数据从第1设备接收至第1通信电路缓冲器;以及第1输入转发处理, 将第1输入数据从第1通信电路缓冲器转发至第1转发缓冲器。第2输入输 出处理包含:第2输出转发处理,将第2输出数据从第2转发缓冲器转发至 第2通信电路缓冲器;第2发送处理,将第2输出数据从第2通信电路缓冲 器发送至第2设备;第2接收处理,将第2输入数据从第2设备接收至第2 通信电路缓冲器;以及第2输入转发处理,将第2输入数据从第2通信电路 缓冲器转发至第2转发缓冲器。第1输入输出控制命令包含:第1输出转发 命令,使第1输出转发处理开始;第1发送命令,使第1发送处理开始;第 1接收命令,使第1接收处理开始;第1发送接收命令,使第1发送处理以 及第1接收处理开始;以及第1输入转发命令,使第1输入转发处理开始, 之中的某一个命令。第2输入输出控制命令包含:第2输出转发命令,使第 2输出转发处理开始;第2发送命令,使第2发送处理开始;第2接收命令, 使第2接收处理开始;第2发送接收命令,使第2发送处理以及第2接收处 理开始;以及第2输入转发命令,使第2输入转发处理开始,之中的某一个 命令。

更优选的是,系统程序包含第1输出转发命令以及第2输出转发命令, 被编程以便在从执行其中的一方的输出转发命令至对应于由此开始的输出转 发处理的输入转发处理完成之间执行另一方的输出转发命令。

或更优选的是,系统程序包含第1发送接收命令以及第2发送接收命令, 被编程以便在从执行其中的一方的发送接收命令至由此开始的发送接收处理 完成之间执行另一方的发送接收命令。

或更优选的是,第1输入输出处理包含:第1输出处理,将第1输出数 据从第1转发缓冲器输出至第1设备;以及第1输入处理,将第1输入数据 从第1设备输入至第1转发缓冲器。第2输入输出处理包含:第2输出处理, 将第2输出数据从第2转发缓冲器输出至第2设备;以及第2输入处理,将 第2输入数据从第2设备输入至第2转发缓冲器。第1输入输出控制命令包 含使第1输出处理开始的第1输出命令以及使第1输入处理开始的第1输入 命令。第2输入输出控制命令包含使第2输出处理开始的第2输出命令以及 使第2输入处理开始的第2输入命令。被编程以便通过第1输出命令以及第 2输出命令的执行进行第1输出处理和第2输出处理的并行执行,以及通过 第1输入命令以及第2输入命令的执行进行第1输入处理和第2输入处理的 并行执行,之中的至少一方。

或更优选的是,系统程序包含第1输出转发命令以及第2输出转发命令, 被编程以便在从执行其中的一方的输出转发命令至对应于由此开始的输出转 发处理的发送处理完成之间执行另一方的输出转发命令。

或优选的是,系统程序包含第1发送命令以及第2发送命令,被编程以 便在从执行其中的一方的发送命令至由此开始的发送处理完成之间执行另一 方的发送命令。

或更优选的是,系统程序包含第1接收命令以及第2接收命令,被编程 以便在从执行其中的一方的接收命令至对应于由此开始的接收处理的输入转 发处理完成之间执行另一方的接收命令。

或优选的是,系统程序包含第1接收命令以及第2接收命令,被编程以 便在从执行其中的一方的接收命令至由此开始的接收处理完成之间执行另一 方的接收命令。

另外,本说明书中的(日语的)“命令”不限于用于实现某功能的、在程 序的源列表中表示的一个个的命令,而表示这些一个个的命令或函数等的集 合,例如在英语中instructions那样应以复数形记载的集合。

发明效果

根据本发明,采用接近于通用计算机的硬件结构,同时能够实现可并行 执行经由PLC系统总线的输入输出和经由现场网络的数据的输入输出的PLC 的CPU单元。

附图说明

图1是表示本发明的实施方式所涉及的PLC系统的概略结构的示意图。

图2是表示本发明的实施方式所涉及的CPU单元的硬件结构的示意图。

图3是表示通过本发明的实施方式所涉及的CPU单元执行的软件结构的 示意图。

图4是表示本发明的实施方式所涉及的CPU单元的主存储器的区域结构 的示意图。

图5是表示本发明的实施方式所涉及的CPU单元中的系统程序的整体处 理的流程图。

图6是本发明的实施方式所涉及的CPU单元的动作的时序图。

图7是本发明的实施方式所涉及的CPU单元的动作的时序图。

图8是本发明的实施方式所涉及的CPU单元的动作的时序图。

图9是本发明的实施方式所涉及的CPU单元的动作的时序图。

图10是本发明的实施方式1所涉及的CPU单元的动作的时序图。

图11是对应于图10所示的时序图的流程图。

图12是本发明的实施方式2所涉及的CPU单元的动作的时序图。

图13是对应于图12所示的时序图的流程图。

图14是本发明的实施方式3所涉及的CPU单元的动作的时序图。

图15是对应于图14所示的时序图的流程图。

图16是本发明的实施方式4所涉及的CPU单元的动作的时序图。

图17是对应于图16所示的时序图的流程图。

图18是本发明的实施方式5所涉及的CPU单元的动作(输入方向)的 时序图。

图19是本发明的实施方式5所涉及的CPU单元的动作(输出方向)的 时序图。

图20是对应于图18以及图19的流程图。

图21是用于表示与本发明的实施方式所涉及的CPU单元连接的PLC支 持装置的硬件结构的示意图。

图22是用于表示与本发明的实施方式所涉及的CPU单元连接的PLC支 持装置的软件结构的示意图。

具体实施方式

参照附图详细说明本发明的实施方式。另外,关于图中的相同或者相等 部分,添加相同符号而不重复其说明。

<A.系统结构>

本实施方式所涉及的PLC控制机械或设备等的控制对象。本实施方式所 涉及的PLC包含作为其结构要素的CPU单元。CPU单元包含:微处理器; 存储部件,包含微处理器的主存储器;以及通信电路。本实施方式所涉及的 PLC的CPU单元通过重复输出数据的发送、输入数据的接收、使用输入数据 而生成输出数据的控制程序的执行而对控制对象进行控制。

存储部件用于控制程序、以及控制该控制程序的执行和输入数据以及输 出数据的输入输出的系统程序的存储。微处理器执行存储到存储部件的系统 程序以及控制程序。

通信电路发送输出数据以及接收输入数据。如后述所示,本实施方式所 涉及的PLC作为通信电路,具有:第1通信电路,通过PLC系统总线进行输 出数据的发送以及输入数据的接收;以及第2通信电路,通过现场网络进行 输出数据的发送以及输入数据的接收。

首先,参照图1,说明本实施方式所涉及的PLC1的系统结构。图1表示 本发明的实施方式所涉及的PLC系统的概略结构的示意图。参照图1,PLC 系统SYS包含:PLC1;经由PLC1和现场网络2连接的伺服电动机驱动器3 以及远程IO终端5;以及作为现场设备的检测开关6以及继电器7。此外, 经由连接电缆10等PLC支持装置8被连接至PLC1。

PLC1包含:CPU单元13,执行主要的运算处理;一个以上的IO单元 14;以及特殊单元15。这些单元经由PLC系统总线11,能够相互交换数据 。此外,通过电源单元12供给适当的电压的电源至这些单元。另外,PLC厂 商提供作为PLC1而构成的各单元,因此一般每个PLC厂商独自开发、使用 PLC系统总线11。与此相对,如后述所示现场网络2,公开其规格的情况多, 以便能够连接不同的厂商的制品间。

关于CPU单元13的细节,参照图2而后述。

IO单元14是与一般的输入输出处理相关的单元,掌管接通/断开的2值 化后的数据的输入输出。即,IO单元14收集检测开关6等的传感器检测到 某些对象物的状态(接通)以及未检测到任何对象物的状态(断开)的某个 的信息。此外,IO单元14对继电器7或执行器的输出目的地,输出用于活 性化的指令(接通)以及用于不活性化的的指令(断开)的某一个。

特殊单元15具有模拟数据的输入输出、温度控制、以及通过确定的通信 方式的通信而在IO单元14中不支持的功能。

现场网络2传送与CPU单元13交换的各种数据。作为现场网络2,典型 地,能够使用各种产业用以太网(注册商标)。作为产业用以太网(注册商 标),已知例如EtherCAT(注册商标)、Profinet IRT、MECHATROLINK (注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIP Motion等,也 可以采用这些之中的某个。进而,也可以使用产业用以太网(注册商标)以 外的现场网络。例如,若在不进行动作控制的情况下,也可以使用DeviceNet、 CompoNet/IP(注册商标)等。在本实施方式所涉及的PLC系统SYS中,典 型地,例示了在本实施方式中将产业用以太网(注册商标)的EtherCAT(注 册商标)作为现场网络2而采用的情况的结构。

另外,PLC1通过使CPU单元13持有IO单元14的功能或伺服电动机驱 动器3的功能,关于通过这样的内置功能能维持的范围,也可以是不经由IO 单元14或伺服电动机驱动器3等而CPU单元13直接对控制对象进行控制的 结构。

伺服电动机驱动器3经由现场网络2与CPU单元13连接,同时根据来 自CPU单元13的指令值驱动伺服电动机4。更具体而言,伺服电动机驱动器 3从PLC1以一定周期接受位置指令值、速度指令值、转矩指令值的指令值。 此外,伺服电动机驱动器3从与伺服电动机4的轴连接的位置传感器(旋转 编码器)或转矩传感器的检测器,取得位置、速度(典型地,计算此次位置 与上次位置的差)、转矩的伺服电动机4的动作所涉及的实测值。然后,伺 服电动机驱动器3将来自CPU单元13的指令值设定为目标值,将实测值作 为反馈值,进行反馈控制。即,伺服电动机驱动器3调整用于驱动伺服电动 机4的电流,以便实测值接近目标值。另外,伺服电动机驱动器3也存在被 称为伺服电动机放大器的情况。

此外,图1表示组合伺服电动机4和伺服电动机驱动器3的系统例,但 也能够采用其他构成,例如组合脉冲电动机和脉冲电动机驱动器的系统。

进而,远程IO终端5连接至如图1所示的PLC系统SYS的现场网络2 。远程IO终端5基本与IO单元14相同,进行与一般的输入输出处理相关的 处理。更具体而言,远程IO终端5包含:通信耦合器52,用于进行在现场 网络2中的数据传送所涉及的处理;以及一个以上的IO单元53。这些单元 经由远程IO终端总线51,能够相互交换数据。

关于PLC支持装置8如后述。

<B.CPU单元的硬件结构>

接着,参照图2说明CPU单元13的硬件结构。图2是表示本发明的实 施方式所涉及的CPU单元13的硬件结构的示意图。参照图2,CPU单元13 包含:微处理器100、芯片组102、主存储器104、非易失性存储器106、系 统定时器108、PLC系统总线控制器120、现场网络控制器140、以及USB 连接器110。芯片组102和其他元件之间经由各种总线分别结合。

微处理器100以及芯片组102,典型地,根据通用的计算机构造而构成 。即,微处理器100分析并执行从芯片组102根据内部时钟依次供给的命令 代码。芯片组102在连接的各种元件之间交换内部的数据,同时生成对微处 理器100必要的命令代码。进而,芯片组102具有高速缓存在微处理器100 中的运算处理的执行的结果得到的数据等的功能。

CPU单元13作为存储部件,具有主存储器104以及非易失性存储器106。

主存储器104是易失性的存储区域(RAM),保持在至CPU单元13的 电源接通后在微处理器100中应被执行的各种程序。此外,主存储器104作 为通过微处理器100执行各种程序时的作业用存储器而被使用。作为这样的 主存储器104,使用DRAM(Dynamic Random Access Memory)或SRAM(Static  Random Access Memory)的设备。

另一方面,非易失性存储器106不易失地保持实时OS(Operating  System)、PLC1的系统程序、用户程序、动作运算程序、以及系统设定参数 的数据。这些程序或数据根据需要复制至主存储器104以便微处理器100能 够接入。作为这样的非易失性存储器106,能够使用闪存存储器那样的半导 体存储器。或,也能够使用硬盘驱动那样的磁性记录介质、或DVD-RAM (Digital Versatile Disk Random Access Memory)那样的光学记录介质等。

系统定时器108按照一定周期产生中断信号并提供至微处理器100。典 型地,通过硬件的规格,以多个不同的周期分别产生中断信号,但通过OS (Operating System)或BIOS(Basic Input Output System)等,能够设定为以 任意的周期产生中断信号。利用该系统定时器108产生的中断信号,实现按 照后述那样的控制循环的控制动作。

CPU单元13作为通信电路,具有PLC系统总线控制器120以及现场网 络控制器140。这些通信电路进行输出数据的发送以及输入数据的接收。

另外,在使CPU单元13自身持有IO单元14或伺服电动机驱动器3的 功能的情况下,通过PLC系统总线控制器120的输出数据的发送以及输入数 据的接收,将承担其功能的部分作为通信的对象变为在CPU单元13的内部 进行的发送以及接收。

PLC系统总线控制器120(第1通信电路)经由PLC系统总线11控制数 据的交换。更具体而言,PLC系统总线控制器120包含:DMA(Dynamic  Memory Access)控制电路122、PLC系统总线通信控制电路124、以及第1 通信电路缓冲器126。另外,PLC系统总线控制器120经由PLC系统总线连 接器130与PLC系统总线11内部地连接。

第1通信电路缓冲器126作为经由PLC系统总线11被输出至其他单元 的数据(以下也称为“输出数据”或者“第1输出数据”。)的发送缓冲器、以 及经由PLC系统总线从其他单元被输入的数据(以下也称为“输入数据”或者 “第1输入数据”。)的接收缓冲器而起作用。另外,通过微处理器100的运 算处理被生成的第1输出数据,原始地被存储于主存储器104。然后,应被 转发至确定的单元的第1输出数据从主存储器104被读出,一次性地被保持 至第1通信电路缓冲器126。此外,在从其他单元被转发的第1输入数据一 次性地保持至第1通信电路缓冲器126后,移动至主存储器104。

DMA控制电路122进行从主存储器104至第1通信电路缓冲器126的第 1输出数据的转发,以及进行从第1通信电路缓冲器126至主存储器104的 第1输入数据的转发。

PLC系统总线通信控制电路124在与PLC系统总线11连接的其他单元 之间,进行发送第1通信电路缓冲器126的第1输出数据的处理以及接收第 1输入数据并存储至第1通信电路缓冲器126的处理。典型地,PLC系统总 线通信控制电路124提供在PLC系统总线11中的物理层以及数据链路层的 功能。

现场网络控制器140(第2通信电路)控制经由现场网络2的数据的交 换。即,现场网络控制器140根据被使用的现场网络2的规格,控制输出数 据的发送以及输入数据的接收。如上所述,本实施方式中采用按照EtherCAT (注册商标)规格的现场网络2,因此包含用于进行通常的以太网(注册商 标)通信的硬件,使用现场网络控制器140。在EtherCAT(注册商标)规格 中,能够利用实现按照通常的以太网(注册商标)规格的通信协议的一般的 以太网(注册商标)控制器。其中,作为现场网络2而被采用的产业用以太 网(注册商标)的种类,使用对应于与通常的通信协议不同的专用规格的通 信协议的特别规格的以太网(注册商标)控制器。此外,在采用了产业用以 太网(注册商标)以外的现场网络的情况下,使用对应于该规格的专用的现 场网络控制器。

第2通信电路缓冲器146作为经由现场网络2被输出至其他装置等的数 据(以下称为“输出数据”或者“第2输出数据”。)的发送缓冲器,以及经由 现场网络2从其他装置等被输入的数据(以下也称为“输入数据”或者“第2输 入数据”。)的接收缓冲器起作用。通过微处理器100的运算处理被生成的第 2输出数据原始地被存储于主存储器104。然后,应被转发至确定的装置的第 2输出数据从主存储器104被读出,一次性地被保持至第2通信电路缓冲器 146。此外,从其他装置被转发的第2输入数据在一次性地被保持至第2通信 电路缓冲器146后,移动至主存储器104。

DMA控制电路142进行从主存储器104至第2通信电路缓冲器146的第 2输出数据的转发,以及进行从第2通信电路缓冲器146至主存储器104的 第2输入数据的转发。

现场网络通信控制电路144在与现场网络2连接的其他装置之间,进行 发送第2通信电路缓冲器146的第2输出数据的处理以及接收第2输入数据 并存储于第2通信电路缓冲器146的处理。典型地,现场网络通信控制电路 144提供现场网络2中的物理层以及数据链路层的功能。

USB连接器110是用于连接PLC支持装置8和CPU单元13的接口。典 型地,从PLC支持装置8被转发的在CPU单元13的微处理器100中可执行 的程序等经过USB连接器110被取入至PLC1。

<C.CPU单元的软件结构>

接着,参照图3说明用于提供本实施方式所涉及的各种功能的软件组。 包含于这些软件的命令代码在适当的定时被读出,通过CPU单元13的微处 理器100被执行。

图3是表示通过本发明的实施方式所涉及的CPU单元13被执行的软件 结构的示意图。参照图3,作为通过CPU单元13被执行的软件,变为实时 OS200、系统程序210、以及用户程序236的3阶层。

实时OS200根据CPU单元13的计算机构造而被设计,微处理器100提 供用于执行系统程序210以及用户程序236的基本的执行环境。该实时OS, 典型地,通过PLC的厂商或专门的软件公司等被提供。

系统程序210是用于提供作为PLC1的功能的软件组。具体而言,系统 程序210包含:调度器程序212、输出处理程序214、输入处理程序216、时 序命令运算程序232、动作运算程序234、以及其他系统程序220。另外,输 出处理程序214以及输入处理程序216一般连续地(作为一体)被执行,因 此存在将这些程序总称为IO处理程序218的情况。

用户程序236根据用户的控制目的而被生成。即,是根据使用PLC系统 SYS而控制的对象的线程(过程)等,任意被设计的程序。

如后述所示,用户程序236联动时序命令运算程序232以及动作运算程 序234,实现用户的控制目的。即,用户程序236通过利用经由时序命令运 算程序232以及动作运算程序234被提供的命令、函数、功能模组等,实现 被被编程的动作。因此,用户程序236也存在将时序命令运算程序232、以 及动作运算程序234总称为控制程序230的情况。

这样,CPU单元13的微处理器100执行存储到存储部件的系统程序210 以及控制程序230。

以下,详细说明各程序。

用户程序236如上所述,根据用户的控制目的(例如,对象的线程或过 程)而被生成。用户程序236,典型地,变为通过CPU单元13的微处理器 100可执行的目标程序形式。该用户程序236在PLC支持装置8等中,通过 汇编以梯形图语言等被记述的源程序而生成。然后,生成的目标程序形式的 用户程序236从PLC支持装置8经由连接电缆10被转发至CPU单元13,存 储于非易失性存储器106等。

调度器程序212针对输出处理程序214、输入处理程序216、以及控制程 序230,控制在各执行循环中的处理开始以及处理中断后的处理重新开始。 更具体而言,调度器程序212控制用户程序236以及动作运算程序234的执 行。

在本实施方式所涉及的CPU单元13中,将适于动作运算程序234的一 定周期的执行循环(控制循环)作为处理整体的共通周期而采用。因此,在 一个控制循环内,完成全部的处理是困难的,根据应执行处理的优先级等, 区分应在各控制循环中完成执行的处理、和也可跨越多个控制循环执行的处 理。调度器程序212管理这些被区分的处理的执行顺序等。更具体而言,调 度器程序212在各控制循环期间内,优先执行被赋予更高的优先级的程序。

输出处理程序214将通过用户程序236(控制程序230)的执行而生成 的输出数据,以适于转发至PLC系统总线控制器120以及/或者现场网络控制 器140的形式再配置。PLC系统总线控制器120或者现场网络控制器140在 需要来自微处理器100的、用于执行发送的指示的情况下,输出处理程序214 发行该指示。

输入处理程序216将通过PLC系统总线控制器120以及/或者现场网络控 制器140被接收到的输入数据,以适于控制程序230使用的形式再配置。

时序命令运算程序232在执行用户程序236使用的某种时序命令时被调 出,是为了实现该命令的内容而执行的程序。

动作运算程序234根据用户程序236的指示而执行,按照每次执行计算 对于伺服电动机驱动器3或脉冲电动机驱动器的电动机驱动器输出的指令值 的程序。

其他系统程序220集中表示在图3中个别所示的程序以外的、用于实现 PLC1的各种功能的程序群。

实时OS200提供用于按照时间的经过,切换并执行多个程序的环境。本 实施方式所涉及的PLC1中,作为用于将通过CPU单元13的程序执行生成 的输出数据输出(发送)至其他单元或者其他装置的事件(中断),初始设 定控制循环开始的中断。若控制循环开始的中断产生,则实时OS200将在微 处理器100中的执行对象从在中断产生时刻执行中的程序切换为调度器程序 212。另外,实时OS200在调度器程序212以及调度器程序212控制该执行 的程序完全未执行的情况下,执行包含于其他系统程序210的程序。作为这 样的程序,例如,包含与经由CPU单元13和PLC支持装置8之间的连接电 缆10(USB)等的通信处理相关的程序。

另外,控制程序230以及调度器程序212存储于作为存储部件的主存储 器104以及非易失性存储器106。

<D.主存储器结构>

接着,参照图4说明在CPU单元13的主存储器104中构成的存储区域 。

图4是表示本发明的实施方式所涉及的CPU单元13的主存储器104的 区域结构的示意图。参照图4,在主存储器104中,形成各种程序区域1041、 控制程序的作业区域1042、第1转发缓冲器1044、以及第2转发缓冲器1045 。控制程序的作业区域1042包含运算缓冲器1043。这些区域在启动时等, 通过CPU单元13执行包含于系统程序210的命令而生成。

用于执行各种程序的代码暂时被存储至各种程序区域1041。通过控制程 序230的执行而生成的输出数据暂时被存储至控制程序的作业区域1042。

从运算缓冲器1043伴随控制程序的执行读出输入数据,同时写入输出数 据至运算缓冲器1043。

第1转发缓冲器1044存储通过PLC系统总线11被发送的输出数据以及 被接收到的输入数据。第2转发缓冲器1045存储通过现场网络2被发送的输 出数据以及被接收到的输入数据。

在需要经由PLC系统总线11发送某一个输出数据的情况下,微处理器 100将对象的输出数据从控制程序的作业区域1042复制至第1转发缓冲器 1044。将该复制处理以下也称为“第1输出复制处理”。此时,微处理器100 以在第1转发缓冲器1044中集中向相同的单元的输出数据组的方式再配置输 出数据,以便能够一并将发送至相同的单元的多个输出数据发送。

复制至该第1转发缓冲器1044的输出数据转发至PLC系统总线控制器 120的第1通信电路缓冲器126。从该第1转发缓冲器1044至第1通信电路 缓冲器126的输出数据的转发处理通过PLC系统总线控制器120的DMA控 制电路122而控制。将该转发处理以下也称为“第1输出转发处理”。进而, PLC系统总线控制器120的PLC系统总线通信控制电路124将转发至第1通 信电路缓冲器126的输出数据,经由PLC系统总线11发送至发送目的地(第 1设备)。将该发送处理以下也称为“第1发送处理”。

同样,在需要经由现场网络2发送某一个输出数据的情况下,微处理器 100将对象的输出数据从控制程序的作业区域1042复制至第2转发缓冲器 1045。将该复制处理以下也称为“第2输出复制处理”。此时,微处理器100 在第2转发缓冲器1045中,以能够作为串行帧发送的形式再配置输出数据。

复制至该第2转发缓冲器1045的输出数据被转发至现场网络控制器140 的第2通信电路缓冲器146。从该第2转发缓冲器1045至第2通信电路缓冲 器146的输出数据的转发处理通过现场网络控制器140的DMA控制电路142 被控制。将该转发处理以下也称为“第2输出转发处理”。进而,现场网络控 制器140的现场网络通信控制电路144将转发至第2通信电路缓冲器146的 输出数据经由现场网络2发送至发送目的地(第2设备)。将该发送处理以 下也称为“第2发送处理”。

另一方面,从发送目的地(第1设备)经由PLC系统总线11被发送的 输入数据通过PLC系统总线控制器120的PLC系统总线通信控制电路124 被接收,存储于第1通信电路缓冲器126。将来自该发送目的地(第1设备) 的输入数据的接收处理以下也称为“第1接收处理”。将存储到该第1通信电 路缓冲器126的输入数据转发至第1转发缓冲器1044。从该第1通信电路缓 冲器126至第1转发缓冲器1044的输入数据的转发处理通过PLC系统总线 控制器120的DMA控制电路122被控制。将该转发处理以下也称为“第1输 入转发处理”。

进而,微处理器100将转发至第1转发缓冲器1044的输入数据复制至运 算缓冲器1043。将该复制处理以下也称为“第1输入复制处理”。此时,微处 理器100在运算缓冲器1043中,将被复制的输入数据以适于控制程序230使 用的形式再配置。

同样,从发送目的地(第2设备)经由现场网络2被发送的输入数据通 过现场网络控制器140的现场网络通信控制电路144被接收,存储于第2通 信电路缓冲器146。将来自该发送目的地(第2设备)的输入数据的接收处 理以下也称为“第2接收处理”。将被接收至第2通信电路缓冲器146的输入 数据转发至第2转发缓冲器1045。从该第2通信电路缓冲器146至第2转发 缓冲器1045的输入数据的转发处理通过现场网络控制器140的DMA控制电 路142被控制。将该转发处理以下也称为“第2输入转发处理”。

进而,微处理器100将转发至第2转发缓冲器1045的输入数据复制至运 算缓冲器1043。将该复制处理以下也称为“第2输入复制处理”。此时,微处 理器100在运算缓冲器1043中,将被复制的输入数据以适于控制程序230使 用的形式再配置。

这样,微处理器100控制以下处理的执行:输出复制处理(第1输出复 制处理以及第2输出复制处理),将输出数据从运算缓冲器1043复制至第1 转发缓冲器1044以及第2转发缓冲器1045;输入复制处理(第1输入复制 处理以及第2输入复制处理),将输入数据从第1转发缓冲器1044以及第2 转发缓冲器1045复制至运算缓冲器1043。

关于该输出复制处理(第1输出复制处理以及第2输出复制处理),通 过微处理器100执行输出处理程序214而实现,关于输入复制处理(第1输 入复制处理以及第2输入复制处理),通过微处理器100执行输入处理程序 216而实现。

在本实施方式所涉及的CPU单元13中,运算缓冲器1043、第1转发缓 冲器1044、以及第2转发缓冲器1045能够相互独立地控制各自的接入。因 此,能够并行执行例如以下所示(1)~(3)的多个动作。

(1)微处理器100进行的、至伴随控制程序230的执行的运算缓冲器 1043的接入

(2)PLC系统总线控制器120的DMA控制电路122进行的、用于第1 转发缓冲器1044和第1通信电路缓冲器126之间的数据转发的、至主存储器 104上的第1转发缓冲器1044的接入

(3)现场网络控制器140的DMA控制电路142进行的、用于第2转 发缓冲器1045和第2通信电路缓冲器146之间的数据转发的、至主存储器 104上的第2转发缓冲器1045的接入

因此,微处理器100控制第1通信电路(PLC系统总线控制器120)以 及第2通信电路(现场网络控制器140)之中的至少一方,以便并行执行以 下处理:第1输入输出处理,包含:将输出数据从第1转发缓冲器1044经过 第1通信电路(PLC系统总线控制器120)输出至PLC系统总线11上的第1 设备的处理(输出处理)、和将输入数据从该第1设备经过该第1通信电路 输入至第1转发缓冲器1044的处理(输入处理);以及第2输入输出处理, 包含:将输出数据从第2转发缓冲器1045经过第2通信电路(现场网络控制 器140)输出至现场网络2上的第2设备的处理(输出处理)、和将输入数 据从该第2设备经过该第2通信电路输入至第2转发缓冲器1045的处理(输 入处理)。

在此,第1输入输出处理包含:第1输出转发处理,将输出数据从第1 转发缓冲器1044转发至第1通信电路缓冲器126;第1发送处理,将输出数 据从第1通信电路缓冲器126发送至第1设备;第1接收处理,将输入数据 从第1设备接收至第1通信电路缓冲器126;以及第1输入转发处理,将输 入数据从第1通信电路缓冲器126转发至第1转发缓冲器1044。同样,第2 输入输出处理包含:第2输出转发处理,将输出数据从第2转发缓冲器1045 转发至第2通信电路缓冲器146;第2发送处理,将输出数据从第2通信电 路缓冲器146发送至第2设备;第2接收处理,将输入数据从第2设备接收 至第2通信电路缓冲器146;以及第2输入转发处理,将输入数据从第2通 信电路缓冲器146转发至第2转发缓冲器1045。

在此,说明上述各个缓冲器。在CPU单元13的主存储器104中,运算 缓冲器按照每个输入数据以及每个输出数据而生成。因此,在存在多个控制 程序的情况下,用于一个输入数据或者一个输出数据的运算缓冲器变为按照 每个控制程序而生成。

也可以存在多个用于一个控制程序的、用于一个输入数据或者一个输出 数据的运算缓冲器。例如,分别生成两个用于一个控制程序的、用于一个输 入数据或者一个输出数据的运算缓冲器,在一方的运算缓冲器为了控制程序 的执行而使用时,来自第1转发缓冲器1044或者第2转发缓冲器1045的数 据的复制也可以在另一方的运算缓冲器中进行。这样,针对相同的输入数据 或者输出数据、形成组而被运用的多个运算缓冲器能够集合地被看做一个运 算缓冲器。

图4将用于多个输入数据以及输出数据的多个运算缓冲器作为运算缓冲 器1043集合地表示。换言之,运算缓冲器1043也可以表示运算缓冲器区域 。同样,图4中,针对第1转发缓冲器1044、第2转发缓冲器1045、第1通 信电路缓冲器126、以及第2通信电路缓冲器146,集合地表示用于多个输入 数据以及多个输出数据的多个缓冲器。

<E.系统程序的整体处理动作>

接着,说明系统程序210的整体处理动作。

系统程序210包含控制动作的执行准备命令以及控制动作的执行控制命 令。在执行准备命令以及执行控制命令中,包含以下那样的命令,微处理器 100在预定的定时或中断等的事件的产生时响应并执行这些命令。

(1)执行准备命令

该命令生成以下缓冲器:运算缓冲器1043,在主存储器104上,伴随控 制程序的执行读出输入数据,同时写入输出数据;第1转发缓冲器1044,存 储通过PLC系统总线11被发送的输出数据以及被接收到的输入数据;以及 第2转发缓冲器1045,存储通过现场网络2被发送的输出数据以及被接收到 的输入数据。

(2)执行控制命令

(a)控制程序开始命令,使控制程序230的执行开始。

(b)第1输出复制命令,用于将输出数据从运算缓冲器1043复制至第 1转发缓冲器1044。

(c)第2输出复制命令,用于将输出数据从运算缓冲器1043复制至第2 转发缓冲器1045。

(d)第1输入复制命令,用于将输入数据从第1转发缓冲器1044复制 至运算缓冲器1043。

(e)第2输入复制命令,用于将输入数据从第2转发缓冲器1045复制 至运算缓冲器1043。

(f)输入输出控制命令,用于控制第1通信电路(PLC系统总线控制器 120)的第1输入输出控制命令以及用于控制第2通信电路(现场网络控制器 140)的第2输入输出控制命令之中的至少一方,该输入输出控制命令用于并 行执行以下处理:第1输入输出处理,包含:将输出数据从第1转发缓冲器 1044经过第1通信电路输出至PLC系统总线11上的第1设备的处理、和将 输入数据从第1设备经过第1通信电路输入至第1转发缓冲器1044的处理; 以及第2输入输出处理,包含:将输出数据从第2转发缓冲器1045经过第2 通信电路输出至现场网络2上的第2设备的处理、和将输入数据从第2设备 经过第2通信电路输入至第2转发缓冲器1045的处理。

这些命令在以下的步骤中通过微处理器100被执行。图5是表示本发明 的实施方式所涉及的CPU单元中的系统程序的整体处理的流程图。如图5所 示,首先,执行控制动作的执行准备处理(步骤S1)。更具体而言,步骤S1 中,微处理器100执行执行准备命令,在主存储器104上生成运算缓冲器1043、 第1转发缓冲器1044、以及第2转发缓冲器1045。进而,控制程序230的执 行准备处理可包含对应于具体的安装方式的其他执行准备处理。

接下来,执行控制动作的执行控制处理(步骤S2)。该执行控制处理变 为重复执行。更具体而言,步骤S2中,微处理器100执行控制程序开始命令、 第1输出复制命令、第2输出复制命令、第1输入复制命令、第2输入复制 命令、以及输入输出控制命令(并行执行第1输入输出处理以及/或者第2输 入输出处理)。此外,控制动作的执行控制处理可包含对应于具体的安装方 式的其他执行控制处理。包含于控制动作的执行控制处理的各处理的执行顺 序依赖于具体的实施方式。

<F.关于CPU单元中的并行处理>

如上所述,在本实施方式所涉及的CPU单元13中,能够并行执行第1 输入输出处理以及第2输入输出处理。此外,在CPU单元13(微处理器100) 中也执行控制程序230。因此,首先,针对CPU单元13中的并行处理,参照 图6~图9说明其概要。图6~图9是本发明的实施方式所涉及的CPU单元13 的动作的时序图。

在说明各时序图前,说明图中的符号。图中的符号“T”表示系统定时器产 生的一定周期的中断(控制循环开始中断)的定时。通过该控制循环开始中 断T的产生而开始控制循环。在如图6-图9所示的例中,将控制程序的执行 循环设为与控制循环相等。

作为控制循环开始中断T,也可以使用从CPU单元13的外部被输入的、 一定周期或者非一定周期的信号。这样的话,能够与变为信号源的外部的某 些事件同步而使控制动作进行。

此外,也可以不使用控制循环开始中断,若一个控制循环内的处理全部 结束则立刻开始下一控制循环的处理。此时,控制循环的时间可按照每个控 制循环而变动。也可以是,为了排除这样的变动的影响,通过在与一个控制 循环内的控制动作相关的处理全部结束后,执行用于从控制循环的开始至一 定时间经过等待处理的系统程序,控制循环的周期变得大致一定。

接着,图中的符号“A”~“G”表示以下所示的各处理的开始或者结束的定 时。

A:输出转发处理的开始时刻(也表示输出处理的开始时刻、输入输出 处理的开始时刻)

B:发送处理的开始时刻(也表示发送处理以及接收处理的开始时刻)

C:发送处理的结束时刻(也表示输出处理的结束时刻)

D:接收处理的开始时刻(也表示输入处理的开始时刻)

E:接收处理的结束时刻(也表示发送处理以及接收处理的结束时刻)

F:输入转发处理的开始时刻

G:输入转发处理的结束时刻(也表示输入处理的结束时刻、输入输出 处理的结束时刻)

此外,赋予于符号“A”~“G”的数字“1”以及“2”表示分别与第1输入输出 处理以及第2输入输出处理关系的情况。

另外,在最初说明的图6的时序图中,仅显示符号A1、A2、G1、G2。另 外,在后述的图16的时序图中,显示全部的符号。

在此,将上述的时刻A~G的某一个以字符X表示、一般Xl与X2不是 相同时刻。这是,针对“第1”系统的(即,与PLC系统总线11关系的)处理、 以及“第2”系统的(即,与现场网络2关系的)处理,若分别使用系统程序 210的命令而使对处理的开始进行指示,则即使例如要同时开始处理,由于 依次执行命令自身,产生少量时间差。此外,“第1”系统的处理和“第2”系统 的处理由于在安装等级中的处理的内容相互不同,这些结束时刻相互不同。

进而,如图6的时序图所示的“输出复制处理”-“输入输出处理”-“输入复 制处理”那样,采用在“第1”系统以及“第2”系统的各自的时序中,等待之前 的处理的结束而开始之后的处理的形式的情况下,之后的处理的开始时刻依 赖于之前的处理的结束时刻。由该理由,对应于“第1”系统以及“第2”系统的 处理的开始时刻相互不同。

在微处理器100自己将输出复制处理以及输入复制处理作为程序处理而 进行的情况下,“第1”系统和“第2”系统之间的输出复制处理间以及输入复制 处理间不并行执行,事实上,变为依次执行。通过在芯片组中内置的DMA 控制电路或者其他途径设置的DMA控制电路、或通过多核的微处理器,能 够相互独立执行“第1”系统和“第2”系统之间的输出复制处理间以及输入复制 处理间的情况下,这些处理的并行执行是可能的。在微处理器不自己进行作 为程序处理的输出复制处理以及输入复制处理的情况下,至少微处理器在提 供执行开始的触发的时刻控制处理的执行。

图6表示在一个控制循环内,连续进行输入输出处理的情况的时序的例 。若控制循环开始中断T产生,则首先执行输入输出关系的处理,然后,进 行控制程序。在以下的说明中,简单的“输入输出处理”的记载包含在该处理 之中,在输出处理之后进行输入处理的情况、在输入处理之后进行输出处理 的情况,以及不分开时间带而混合进行输出处理和输入处理的情况。

并行进行输入输出处理,在第1输入输出处理开始(开始时刻A1)后, 至第1输入输出处理结束(结束时刻G1)存在第2输入输出处理开始(开始 时刻A2)的情况,或者,相反,在第2输入输出处理开始(开始时刻A2) 后,至第2输入输出处理结束(结束时刻G2)存在第1输入输出处理开始(A1) 的情况。在以后的说明中,无论处理的内容,并行进行相互同种的“第1”系统 的处理和“第2”系统的处理时的含义与上述相同。

图7~图9表示输入输出处理的并行执行所涉及的各种各样的方式。图7 表示在一个控制循环内,连续进行输入输出处理的情况的时序的例。与图6 的情况不同,在控制程序执行之后进行输出复制处理。即,输出复制处理不 限于在输入输出处理之前进行。在按照每个控制循环执行一个控制程序的情 况下,无论图6以及图7所示的哪个时序中,从外部看到的CPU单元13的 动作基本不变。其中,如后述的图18以及图19所示那样,在比起控制循环 的周期(发送接收的周期)、控制程序的执行周期更长的情况下,存在根据 将输出复制处理如图6所示在输入输出处理之前进行,或如图7所示在控制 程序执行之后进行,通过确定的控制程序的执行而生成的输出数据何时从 CPU单元13被输出不一致的情况。

此外,在比起控制循环的周期、控制程序的执行周期更长的情况下,存 在在输入输出处理和控制程序执行之间进行与其他控制程序相关的处理的情 况。此时,输入复制处理可以在输入输出处理之后进行,也可以在控制程序 执行之前进行。存在根据是否以某个定时进行输入复制处理,在确定的控制 程序的执行中,何时使用被输入的输入数据不一致的情况。

图8表示将图6所示输入输出处理分为输出处理和输入处理而执行的情 况的时序的例。此外,图9表示在一个控制循环之中,在控制程序执行之前 进行输入处理,在控制程序执行之后进行输出处理的情况的时序的例。

无论在图8以及图9所示的哪个时序中,第1输入输出处理包含:第1 输出处理,将输出数据从第1转发缓冲器输出至第1设备;以及第1输入处 理,将输入数据从第1设备输入至第1转发缓冲器。同样,第2输入输出处 理包含:第2输出处理,将输出数据从第2转发缓冲器输出至第2设备;以 及第2输入处理,将输入数据从第2设备输入至第2转发缓冲器。然后,微 处理器100进行控制以便进行第1输出处理和第2输出处理的并行执行以及 第1输入处理和第2输入处理的并行执行之中的至少某一个。

这样,通过将输入输出处理分为输出处理和输入处理而实现,即使采用 将如图8所示的输入输出处理作为一系列的处理而进行的时序,以及,如图 9所示的隔着控制程序的执行、将输入处理和输出处理分开进行的时序、的 某个的情况下,也能够共通输出命令以及输入命令而使用。

以下,基于如图2以及图4所示的结构,说明更具体的实施方式。另外, 在以后的说明中,在“第1”以及“第2”的同种的处理或者命令存在的情况下, 关于该处理或者命令不确定“第1”或者“第2”而提及时,进行对“第1”以及“第 2”共通的说明。

<G.整体处理动作(实施方式1)>

作为实施方式1,说明具体化如图6所示的时序的输入输出处理的一个 方式。实施方式1中,表示一体进行输入输出处理的情况的例。

图10是本发明的实施方式1所涉及的CPU单元13的动作的时序图。图 11是对应于图10所示的时序图的流程图。

参照图10,如图6所示的时序中的输入输出处理由被更具体化后的输出 转发处理、发送接收处理、以及输入转发处理而构成。

本实施方式所涉及的CPU单元13中,参照图4说明那样,微处理器100 通过执行输出复制命令以及输入复制命令,微处理器100自身在运算缓冲器 1043和转发缓冲器1044、1045之间分别进行输出数据以及输入数据的复制 。

此外,微处理器100通过执行作为输入输出控制命令的至少一部分的输 出转发命令,对通信电路(PLC系统总线控制器120以及现场网络控制器140) 指示输出转发开始。若通信电路接受该指示,则通信电路之中的DMA控制 电路(DMA控制电路122、142)将输出数据从转发缓冲器1044以及1045 转发(复制)至通信电路缓冲器126以及146。若转发完成,则通信电路之 中的通信控制电路(PLC系统总线通信控制电路124以及现场网络通信控制 电路144)在设备之间分别进行发送接收处理。即,通信控制电路将输出数 据从通信电路缓冲器126以及146发送至设备,将输入数据从设备接收至通 信电路缓冲器126以及146。

该发送接收处理按照采用的PLC系统总线11以及现场网络2的通信协 议,优选以该通信协议中效率高的方式进行。例如,若是EtherCAT(注册商 标)的情况,主控设备将发送至各从动装置设备的输出数据存储为一个串行 帧而发送。另一方面,各从动装置设备在使帧通过之间,将发往自己的输出 数据从帧读出,将输入数据写入帧。第2通信电路将各从动装置设备从进行 一圈返回后的(接收的)帧得到各设备的输入数据。

按照其他几个通信协议,通信电路向一个设备发送存储输出数据的帧, 作为与此相对的返信,从该设备接收存储输入数据的帧。接下来,将其他一 个设备作为对象进行同样的发送以及接收。

从这些例可知,在发送接收处理中,存在仅进行发送的时间带和仅进行 接收的时间带未分离的情况。

若发送接收处理完成,则通信电路之中的DMA控制电路将输入数据从 通信电路缓冲器转发(复制)至转发缓冲器。若转发完成,则通信电路对微 处理器100发送输入转发完成通知。

接着输出转发处理,通信电路自身执行控制发送接收处理以及输入转发 处理。因此,微处理器100对通信电路指示输出转发开始后,至接受输入转 发完成通知不应进行关于输入输出处理。也可以利用该时间,在微处理器100 中使系统程序或其他控制程序执行。

也可以是,发送接收处理的开始将对于通信电路的一定周期的发送接收 开始信号作为触发(从不是接收而是发送开始的情况下是发送开始信号)。 发送接收开始信号也可以是系统定时器产生,也可以是通信电路自身具有产 生发送接收开始信号的定时器。优选控制循环开始中断T和发送接收开始信 号之间的时间间隔始终设为一定。

作为由用于实现如图10所示的时序的具体的微处理器100而执行的系统 程序210所涉及的处理,如图11所示的流程图。

参照图11,微处理器100执行在系统程序210中的、PLC1的控制动作 的执行准备处理(步骤S1)。接下来,微处理器100执行在系统程序210中 的、PLC1的控制动作的执行控制处理(如图5所示的步骤S2)。该PLC1 的控制动作的执行控制处理的详细的一例相当于步骤S200~S216。

首先,微处理器100等待控制循环开始中断(步骤S200)。若接受控制 循环开始中断(步骤S200中的是),微处理器100执行第1输出复制命令, 同时执行第2输出复制命令(步骤S202)。通过第1输出复制命令的执行, 微处理器100将第1输出数据从主存储器104上的运算缓冲器1043复制至第 1转发缓冲器1044。此外,通过第2输出复制命令的执行,微处理器100将 第2输出数据从主存储器104上的运算缓冲器1043复制至第2转发缓冲器 1045。在此,也可以是,运算缓冲器1043中的第1输出数据和第2输出数据 是相同的数据。

若至少第1输出复制命令的执行完成,则微处理器100执行第1输出转 发命令。此外,若至少第2输出复制命令的执行完成,则微处理器100执行 第2输出转发命令(步骤S204)。在步骤S204中,执行第1输出转发命令 的时刻为A1,执行第2输出转发命令的时刻为A2。通过第1输出转发命令 的执行,对第1通信电路(PLC系统总线控制器120)指示输出转发开始。 此外,通过第2输出转发命令的执行,对第2通信电路(现场网络控制器140) 指示输出转发开始。然后,第1通信电路以及第2通信电路分别从转发缓冲 器1044以及1045至通信电路缓冲器126以及146转发(复制)输出数据, 在第1设备以及第2设备之间进行发送接收处理,将接收至通信电路缓冲器 126以及146的输入数据转发至转发缓冲器1044以及1045。若该一系列的处 理完成,则第1通信电路以及第2通信电路分别发行输入转发完成通知。从 而,作为输入转发处理的结束时刻G,变为微处理器100接收各自的输入转 发完成通知的定时。

在步骤S204之后,微处理器100等待来自通信电路的输入转发完成通知 (步骤S206)。在此,独立进行等待来自第1通信电路的第1输入转发完成 通知的处理和等待来自第2通信电路的第2输入转发完成通知的处理。即, 若接受来自第1通信电路的第1输入转发完成通知,则与是否已经接受第2 输入转发完成通知无关,微处理器100执行第1输入复制命令。此外,若接 受来自第2通信电路的第2输入转发完成通知,则与是否已经接受第1输入 转发完成通知无关,微处理器100执行第2输入复制命令(步骤S208)。通 过第1输入复制命令的执行,微处理器100将输入数据从主存储器104上的 第1转发缓冲器复制至运算缓冲器1043。此外,通过第2输入复制命令的执 行,微处理器100将输入数据从主存储器104上的第2转发缓冲器复制至运 算缓冲器1043。无论微处理器100执行第1输出转发命令以及第2输出转发 命令的哪个后,处理前进至步骤S210。

在步骤S210中,微处理器100执行控制程序开始命令。然后,微处理器 100等待控制程序230的执行结束通知(步骤S212)。

通过控制程序开始命令的执行,开始控制程序230的执行。与此相伴, 在微处理器100中执行的处理从系统程序210的处理切换为控制程序230的 处理。即,从控制程序230的执行开始至执行结束之间,微处理器100不执 行系统程序210。然后,若有控制程序230的执行结束的通知(控制程序230 的执行结束通知),微处理器100中的执行对象从控制程序230返回系统程 序210。

若接受控制程序230的执行结束通知(步骤S212中的是),微处理器 100执行其他处理(步骤S214)。若开始其他处理的执行,则微处理器100 等待其他处理的执行结束通知、或者下一个控制循环开始中断(步骤S216) 。

在接受下一个控制循环开始中断前,若接受其他处理的执行结束通知(步 骤S216中“执行结束通知”),则再次执行步骤S200以下的处理。与此相对, 在接受其他处理的执行结束通知前,若接受下一个控制循环开始中断(步骤 S216中“控制循环开始”),则中断其他处理的执行,再次执行步骤S202以 下的处理。

以上那样,本实施方式所涉及的微处理器100控制第1通信电路以及第 2通信电路之中的至少一方(图11中的步骤S204以及S206),以便在从开 始第1输出转发处理以及第2输出转发处理的一方至对应于该输出转发处理 的输入转发处理完成之间(图10中,从输出转发处理的开始时刻A1(或者, A2)至输入转发处理的结束时刻G1(或者,G2)之间)开始另一方的输出转 发处理。

根据实施方式1,连续进行输入输出处理的情况下,能够并行执行第1 输入输出处理和第2输入输出处理。

<H.整体处理动作(实施方式2)>

作为实施方式2,说明具体化如图6所示的时序的输入输出处理的其他 方式。实施方式2是表示一体进行输入输出处理的情况的例。

图12是本发明的实施方式2所涉及的CPU单元13的动作的时序图。图 13是对应于如图12所示的时序图的流程图。

参照图12,如图6所示的时序中的输入输出处理由被更具体化的输出转 发处理、发送接收处理、以及输入转发处理而构成。

与上述的实施方式1中的具体例的不同点是微处理器100对于通信电路 指示发送接收处理的开始以及输入转发处理的开始的点。进而,通信电路对 微处理器100通知输出转发处理的完成以及发送接收处理的完成。一般,与 作为CPU单元13内的处理的输出转发处理以及输入转发处理相比,作为与 CPU单元13外的通信处理的发送接收处理需要更长时间,因此并行执行发送 接收处理是重要的。

如图13所示的流程图,与图11所示流程图相比,附加步骤S2051~S2054 的处理的点不同。以下,主要说明其不同点,不重复其他处理的详细的说明 。

微处理器100执行第1输出转发命令,同时执行了第2输出转发命令后 (步骤S204),微处理器100等待来自通信电路的输出转发完成通知(步骤 S2051)。在此,独立进行等待来自第1通信电路的第1输出转发完成通知的 处理和等待来自第2通信电路的第2输出转发完成通知的处理。即,若接受 来自第1通信电路的第1输出转发完成通知,则与是否已接受第2输出转发 完成通知无关,微处理器100执行第1发送接收命令。此外,若接收来自第 2通信电路的第2输出转发完成通知,则与是否已接受第1输出转发完成通 知无关,微处理器100执行第2发送接收命令(步骤S2052)。

在步骤S2052中,执行第1发送接收命令的时刻为B1,执行第2发送接 收命令的时刻为B2。另外,也可以是,为了将发送接收的周期设为一定,等 待来自系统定时器108等的一定周期的触发信号,执行第1发送接收命令以 及/或者第2发送接收命令。

通过步骤S2052中的第1发送接收命令的执行,对于第1通信电路(PLC 系统总线控制器120)指示发送接收开始。此外,通过第2发送接收命令的 执行,对于第2通信电路(现场网络控制器140)指示发送接收开始。然后, 若第1通信电路以及第2通信电路分别在第1设备以及第2设备之间完成发 送接收处理,则分别发行发送接收完成通知。

在步骤S2052之后,微处理器100等待来自通信电路的发送接收转发完 成通知(步骤S2053)。在此,独立进行等待来自第1通信电路的第1发送 接收完成通知的处理和等待来自第2通信电路的第2发送接收完成通知的处 理。即,若接受来自第1通信电路的第1发送接收完成通知,则与是否已接 受第2发送接收完成通知无关,微处理器100执行第1输入转发命令。此外, 若接受来自第2通信电路的第2发送接收完成通知,则与是否已接受第1发 送接收完成通知无关,微处理器100执行第2输入转发命令(步骤S2054) 。

在步骤S2054中,执行第1输入转发命令的时刻为E1,执行第2输入转 发命令的时刻为E2。一般,若考虑输出转发处理所需的时间比较短,发送接 收处理所需的时间比较长,通过以上那样的处理,事实上,能够并行执行第 1发送接收处理和第2发送接收处理。

以上那样,本实施方式所涉及的微处理器100控制第1通信电路以及第 2通信电路之中的至少一方(图13中的步骤S204~S206),以便在从开始作 为第1发送处理以及第1接收处理的第1发送接收处理、以及作为第2发送 处理以及第2接收处理的第2发送接收处理的一方至该发送接收处理完成之 间(图12中,从发送处理的开始时刻B1(或者,B2)至发送接收处理的结 束时刻E1(或者,E2)之间)开始或者能够开始另一方的发送接收处理。

根据实施方式2,在连续进行输入输出处理的情况下,能够并行执行第1 发送接收处理和第2发送接收处理。

<I.整体处理动作(实施方式3)>

作为实施方式3,说明具体化如图9所示的时序的输入输出处理的一个 方式。实施方式3是表示将输入输出处理分为输出处理和输入处理而进行的 情况的例。

图14是本发明的实施方式3所涉及的CPU单元13的动作的时序图。图 15是对应于如图14所示的时序图的流程图。

参照图14,图9所示时序中的输入处理由被更具体化的接收处理以及输 入转发处理而构成。此外,如图9所示的时序中的输出处理由输出转发处理 以及发送处理而构成。

微处理器100若接受控制循环开始中断,则通过执行接收命令,对通信 电路(PLC系统总线控制器120以及现场网络控制器140)指示输入数据的 接收开始。若通信电路接受该指示,则在通信电路之中的通信控制电路(PLC 系统总线通信控制电路124以及现场网络通信控制电路144)对设备指示输 入数据的送出,根据该指示接收从设备送出的输入数据并存储至通信电路缓 冲器126以及146。若输入数据的接收完成,则在通信电路之中的DMA控制 电路(DMA控制电路122、142)将输入数据从通信电路缓冲器转发(复制) 至转发缓冲器1044以及1045。若转发完成,则通信电路对微处理器100发 送输入转发完成通知。若微处理器100接收输入转发完成通知,则通过执行 输入复制命令,将输入数据从转发缓冲器1044以及1045复制至运算缓冲器 1043。

若微处理器100接受控制程序执行结束通知,则通过执行输出复制命令, 将输出数据从运算缓冲器1043复制至转发缓冲器1044以及1045。若输出复 制完成,则通过执行输出转发命令,微处理器100对通信电路指示输出转发 开始。若通信电路接受该指示,则通信电路之中的DMA控制电路将输出数 据从转发缓冲器1044以及1045转发(复制)至通信电路缓冲器。若转发完 成,则通信电路之中的通信控制电路将输出数据从通信电路缓冲器发送至设 备。若发送处理完成,则通信电路对微处理器100发送发送完成通知。

作为通过用于实现如图14所示的时序的具体的微处理器100执行的系统 程序210所涉及的处理,如图15所示的流程图。

参照图15,微处理器100执行在系统程序210中的、PLC1的控制动作 的执行准备处理(步骤S1)。接下来,微处理器100执行在系统程序210中 的、PLC1的控制动作的执行控制处理(如图5所示的步骤S2)。该PLC1 的控制动作的执行控制处理的详细的一例相当于步骤S220~S240。

首先,微处理器100等待控制循环开始中断(步骤S220)。若接受控制 循环开始中断(步骤S220中的是),微处理器100执行第1接收命令,同时 执行第2接收命令(步骤S222)。然后,微处理器100等待来自通信电路的 输入转发完成通知(步骤S224)。

步骤S222的处理开始于作为接受控制循环开始中断T的时刻的接收处理 的开始时刻D。通过第1接收命令的执行,对第1通信电路(PLC系统总线 控制器120)指示输入数据的接收开始。此外,通过第2接收命令的执行, 对第2通信电路(现场网络控制器140)指示输入数据的接收开始。然后, 第1通信电路以及第2通信电路分别对第1设备以及第2设备指示输入数据 的送出,根据该指示接收从第1设备以及第2设备分别被送出的输入数据并 存储至通信电路缓冲器126以及146。进而,第1通信电路以及第2通信电 路将输入数据从通信电路缓冲器126以及146转发(复制)至转发缓冲器1044 以及1045。若该一系列的接收处理完成,则第1通信电路以及第2通信电路 分别发行输入转发完成通知。从而,作为输入转发处理的结束时刻的结束时 刻G,变为微处理器100接收各自的输入转发完成通知的定时。

若接受来自第1通信电路的第1输入转发完成通知,则微处理器100执 行第1输入复制命令。此外,若接受来自第2通信电路的第2输入转发完成 通知,则微处理器100执行第2输入复制命令(步骤S208)。通过第1输入 复制命令的执行,微处理器100将输入数据从主存储器104上的第1转发缓 冲器复制至运算缓冲器1043。此外,通过第2输入复制命令的执行,微处理 器100将输入数据从主存储器104上的第2转发缓冲器复制至运算缓冲器 1043。无论微处理器100执行第1输出转发命令以及第2输出转发命令的哪 个后,处理前进至步骤S228。

在步骤S228中,微处理器100执行控制程序开始命令。然后,微处理器 100等待控制程序230的执行结束通知(步骤S230)。

通过控制程序开始命令的执行,开始控制程序230的执行。与此相伴, 通过微处理器100执行的处理从系统程序210的处理切换至控制程序230的 处理。即,从控制程序230的执行开始至执行结束之间,微处理器100不执 行系统程序210。然后,若有控制程序230的执行结束的通知(控制程序230 的执行结束通知),则微处理器100中的执行对象从控制程序230返回至系 统程序210。

然后,若接受控制程序执行结束通知(步骤S230中的是),则微处理器 100执行第1输出复制命令,同时执行第2输出复制命令(步骤S232)。通 过第1输出复制命令的执行,微处理器100将输出数据从主存储器104上的 运算缓冲器1043复制至第1转发缓冲器1044。此外,通过第2输出复制命 令的执行,微处理器100将输出数据从主存储器104上的运算缓冲器1043复 制至第2转发缓冲器1045。

若至少第1输出复制命令的执行完成,则微处理器100执行第1输出转 发命令。此外,若至少第2输出复制命令的执行完成,则微处理器100执行 第2输出转发命令(步骤S234)。然后,微处理器100等待来自通信电路的 发送完成通知(步骤S236)。在步骤S234中,执行第1输出转发命令的时 刻为A1,执行第2输出转发命令的时刻为A2。

通过第1输出转发命令的执行,对第1通信电路(PLC系统总线控制器 120)指示输出转发开始。此外,通过第2输出转发命令的执行,对第2通信 电路(现场网络控制器140)指示输出转发开始。然后,第1通信电路以及 第2通信电路分别从转发缓冲器1044以及1045至通信电路缓冲器126以及 146转发(复制)输出数据,对第1设备以及第2设备进行发送处理。若该 一系列的处理完成,则第1通信电路以及第2通信电路分别发行发送完成通 知。

若接收来自通信电路的第1发送完成通知以及第2发送完成通信的某个, 则微处理器100执行其他处理(步骤S238)。若开始其他处理的执行,微处 理器100等待其他处理的执行结束通知、或者下一个控制循环开始中断(步 骤S240)。

在接受下一个控制循环开始中断前,若接受其他处理的执行结束通知(步 骤S240中”执行结束通知”),则再次执行步骤S220以下的处理。与此相对, 在接受其他处理的执行结束通知前,若接受下一个控制循环开始中断(步骤 S240中”控制循环开始”),则中断其他处理的执行,再次执行步骤S222以 下的处理。

以上那样,本实施方式所涉及的微处理器100控制第1通信电路以及第 2通信电路之中的至少一方(图15中的步骤S234、S236),以便在从开始第 1输出转发处理以及第2输出转发处理的一方至对应于该输出转发处理的发 送处理完成之间(图14中,从输出转发处理的开始时刻A1(或者,A2)至 发送处理的结束时刻C1(或者,C2))开始或者能够开始另一方的输出转发 处理。

此外,本实施方式所涉及的微处理器100控制第1通信电路以及第2通 信电路之中的至少一方,以便在从开始第1接收处理以及第2接收处理的一 方至对应于该接收处理的输入转发处理完成之间(图16中,从接收处理的开 始时刻D1(或者,D2)至输入转发处理的结束时刻G1(或者,G2))开始 或能够开始另一方的接收处理。

根据实施方式3,在将输入输出处理分为输出处理和输入处理而执行的 情况下,能够并行执行第1输出处理和第2输出处理,以及能够并行执行第 1输入处理和第2输入处理。

<J.整体处理动作(实施方式4)>

作为实施方式4,说明具体化如图8所示的时序的输入输出处理的方式 。实施方式4表示将输入输出处理分为输出处理和输入处理而进行的情况的 例。

图16是本发明的实施方式4所涉及的CPU单元13的动作的时序图。图 17是对应于如图16所示的时序图的流程图。

参照图16,图8所示时序中的输出处理由被更具体化的输出转发处理以 及发送处理而构成。此外,如图8所示的时序中的输入处理由接收处理以及 输入转发处理而构成。微处理器100通过执行使这些各处理开始的命令,对 通信电路指示各处理的开始。若完成各处理的执行,则通信电路对微处理器 100发送处理的完成通知。

这些各处理如图9以及图14所示那样,也可以以实现隔着控制程序的执 行而将输入处理和输出处理分开而进行的类型的时序的顺序而执行。

作为通过用于实现如图16所示的时序的具体的微处理器100而执行的系 统程序210所涉及的处理,如图17所示的流程图。

参照图17,微处理器100执行在系统程序210中的、PLC1的控制动作 的执行准备处理(步骤S1)。接下来,微处理器100执行在系统程序210中 的、PLC1的控制动作的执行控制处理(如图5所示的步骤S2)。该PLC1 的控制动作的执行控制处理的详细的一例相当于步骤S250~S278。

首先,微处理器100等待控制循环开始中断(步骤S250)。若接受控制 循环开始中断(步骤S250中的是),微处理器100执行第1输出复制命令, 同时执行第2输出复制命令(步骤S252)。若至少第1输出复制命令的执行 完成,微处理器100执行第1输出转发命令。此外,若至少第2输出复制命 令的执行完成,则微处理器100执行第2输出转发命令(步骤S254)。然后, 微处理器100等待来自通信电路的输出转发完成通知(步骤S256)。在步骤 S254中,执行第1输出转发命令的时刻为A1,执行第2输出转发命令的时刻 为A2。

若接受来自第1通信电路的第1输出转发完成通知,则微处理器100执 行第1发送命令。此外,若接受来自第2通信电路的第2输出转发完成通知, 则微处理器100执行第2发送命令(步骤S258)。然后,微处理器100等待 来自通信电路的发送完成通知(步骤S260)。在步骤S258中,执行第1发 送命令的时刻为B1,执行第2发送命令的时刻为B2。

通过第1发送命令的执行,对第1通信电路(PLC系统总线控制器120) 指示发送开始。此外,通过第2发送命令的执行,对第2通信电路(现场网 络控制器140)指示发送开始。然后,第1通信电路以及第2通信电路分别 对第1设备以及第2设备进行发送处理。若发送处理完成,则第1通信电路 以及第2通信电路分别发行发送完成通知。

若接受来自第1通信电路的第1发送完成通知,则微处理器100执行第 1接收命令。此外,若接受来自第2通信电路的第2发送完成通知,则微处 理器100执行第2接收命令(步骤S262)。然后,微处理器100等待来自通 信电路的接收完成通知(步骤S264)。在步骤S262中,接受第1发送完成 通知的时刻为C1,接受第2发送完成通知的时刻为C2。

若接受来自第1通信电路的第1接收完成通知,则微处理器100执行第 1输入转发命令。此外,若接受来自第2通信电路的第2接收完成通知,则 微处理器100执行第2输入转发命令(步骤S266)。然后,微处理器100等 待来自通信电路的输入转发完成通知(步骤S268)。在步骤S266中,接受 第1接收完成通知的时刻为E1,接受第2接收完成通知的时刻为E2。

若接受来自第1通信电路的第1输入转发完成通知,则微处理器100执 行第1输入复制命令。此外,若接受来自第2通信电路的第2输入转发完成 通知,则微处理器100执行第2输入复制命令(步骤S270)。若完成第1输 入复制命令的执行以及第2输入复制命令的执行的某个,则微处理器100执 行控制程序开始命令(步骤S272)。然后,微处理器100等待控制程序230 的执行结束通知(步骤S274)。

若接受控制程序230的执行结束通知(步骤S274中的是),微处理器 100执行其他处理(步骤S276)。若开始其他处理的执行,微处理器100等 待其他处理的执行结束通知、或者下一个控制循环开始中断(步骤S278)。

在接受下一个控制循环开始中断前,若接受其他处理的执行结束通知(步 骤S278中”执行结束通知”),则再次执行步骤S250以下的处理。与此相对, 在接受其他处理的执行结束通知前,若接受下一个控制循环开始中断(步骤 S278中“控制循环开始”),中断其他处理的执行,再次执行步骤S252以下 的处理。

以上那样,本实施方式所涉及的微处理器100控制第1通信电路以及第 2通信电路之中的至少一方(图17中的步骤S258、S260),以便在从开始第 1发送处理以及第2发送处理的一方至该发送处理完成之间(图16中,从发 送处理的开始时刻B1(或者,B2)至发送处理的结束时刻C1(或者,C2)) 开始或者能够开始另一方的发送处理。

此外,本实施方式所涉及的微处理器100控制第1通信电路以及第2通 信电路之中的至少一方(图17中的步骤S262,S264),以便在从开始第1 接收处理以及第2接收处理的一方至该接收处理完成之间(图16中,从接收 处理的开始时刻D1(或者,D2)至接收处理的结束时刻E1(或者,E2)) 开始或者能够开始另一方的接收处理。

根据实施方式4,在将输入输出处理分为输出处理和输入处理而执行的 情况下,能够并行执行第1发送处理和第2发送处理,以及能够并行执行第 1接收处理和第2接收处理。

另外,上述的说明中,说明在“第1”系统的处理和“第2”系统的处理之间, 处理要素的结构相互相同的情况。但是,也可以是,“第1”系统的处理和“第 2”系统的处理之间处理要素的结构相互不同。例如,“第1”系统,即通过PLC 系统总线11的通信,如图16所示,按照每个输出转发处理、发送处理、接 收处理、以及输入转发处理的各处理,进行来自微处理器的开始指示和来自 通信电路的处理完成通知并前进处理,另一方面,“第2”系统,即通过现场网 络2的通信,如图10所示,从微处理器提供输出转发处理的开始指示后,通 信电路自身可组合控制跟随输出转发处理的发送接收处理、输入转发处理的 执行。此时,“第1”系统以及“第2”系统都在进行输入输出处理的点共通,因 此并行执行的含义,变为按照图6的例的情况。

<K.整体处理动作(实施方式5)>

实施方式5说明控制程序通过分时多个执行的情况的动作例。

图18是本发明的实施方式5所涉及的CPU单元13的动作(输入方向) 的时序图。图19是本发明的实施方式5所涉及的CPU单元13的动作(输出 方向)的时序图。图20是对应于图18以及图19的流程图。

图18以及图19表示作为具体例,执行执行优先级高的控制程序1和执 行优先级低的控制程序2的情况。此时,假设控制程序1的执行循环是控制 循环2个周期量(控制循环1~2,3~4),控制程序2的执行循环是控制循环 4个周期量(控制循环1~4)。

此外,假设系统程序210,作为控制动作的执行准备处理,对应于控制 程序1生成运算缓冲器1,对应于控制程序2生成运算缓冲器2。说明使用该 运算缓冲器,使与执行循环同步,更新输入输出数据的方式。

图18以及图19所示时序图中,针对输入输出处理,采用上述的实施方 式1中说明的处理方式。其中,本实施方式中,控制程序的执行循环跨越多 次的控制循环,因此假设用于各控制程序的实效的输入输出处理仅在该控制 程序的执行循环开始的控制循环中进行。“实效的输入输出处理”是针对输出 处理,通过控制程序的执行被更新后的输出数据被发送至设备,针对输入处 理,通过从设备被接收到的输入数据更新运算缓冲器。

实施方式5中,输入输出处理(输出转发处理、发送接收处理、以及输 入转发处理)自身是在每个控制循环中被执行的处理,但输入输出处理的实 效性根据输出复制处理和输入复制处理在哪个控制循环中进行而控制。

若在每个控制循环中执行输入输出处理,某些发送接收处理以一定周期 进行,因此有变得容易进行PLC系统总线11以及现场网络2的动作状况的 监视的优点。另一方面,也可以仅在能够进行实效的输入输出处理的控制循 环(控制程序的执行循环开始的控制循环)中进行输入输出处理。由此,能 够降低微处理器100、PLC系统总线11、以及现场网络2的资源消耗量。

此外,在图18以及图19中,控制程序2也可以使用输入输出处理的时 间而执行。例如,也可以是,在控制循环2中开始执行的控制程序2在控制 循环2内执行未结束的情况下,使用在控制循环3中PLC系统总线控制器120 以及现场网络控制器140进行输入输出处理的时间,执行控制循环2的未执 行的部分。

作为通过用于实现图18以及图19所示时序的具体的微处理器100而执 行的系统程序210所涉及的处理,如图20所示的流程图。

参照图20,微处理器100执行系统程序210中的、PLC1的控制动作的 执行准备处理(步骤S1)。接下来,微处理器100执行系统程序210中的、 PLC1的控制动作的执行控制处理(如图5所示步骤S2)。该PLC1的控制 动作的执行控制处理的详细的一例相当于步骤S300~S348。

首先,微处理器100等待控制循环开始的中断信号(步骤S300)。若接 受控制循环开始的中断信号(步骤S300中的是),微处理器100在控制程序 1的执行循环从当前的控制循环开始的情况下,在将控制程序1的执行状态 设定为“执行前”状态之后,执行第1输出复制命令,同时执行第2输出复制 命令(步骤S302)。通过第1输出复制命令的执行,微处理器100将存储于 运算缓冲器1的输出数据复制至第1转发缓冲器。此外,通过第2输出复制 命令的执行,微处理器100将存储于运算缓冲器1的输出数据复制至第2转 发缓冲器。

接下来,微处理器100在控制程序2的执行循环从当前的控制循环开始 的情况下,在将控制程序2的执行状态设定为“执行前”状态之后,执行第1 输出复制命令,同时执行第2输出复制命令(步骤S304)。通过第1输出复 制命令的执行,微处理器100将存储于运算缓冲器2的输出数据复制至第1 转发缓冲器。此外,通过第2输出复制命令的执行,微处理器100将存储于 运算缓冲器2的输出数据复制至第2转发缓冲器。

接下来,微处理器100执行第1输出转发命令(步骤S306),同时执行 第2输出转发命令(步骤S308)。然后,微处理器100等待来自第1通信电 路的输入转发完成通知以及来自第2通信电路的输入转发完成通知(步骤 S310)。在此,独立进行等待来自第1通信电路的第1输入转发完成通知的 处理和等待来自第2通信电路的第2输入转发完成通知的处理。

通过第1输出转发命令的执行,执行与第1转发缓冲器相关的输出处理 以及输入处理。此外,通过第2输出转发命令的执行,执行与第2转发缓冲 器相关的输出处理以及输入处理。

若接受来自第1通信电路的输入转发完成通知或者来自第2通信电路的 输入转发完成通知,则执行步骤S312的处理。

即,微处理器100在控制程序1的执行循环从当前的控制循环开始的情 况下,关于运算缓冲器1,若接受来自第1通信电路的输入转发完成通知则 执行第1输入复制命令,同时若接受来自第2通信电路的输入转发完成通知 则执行第2输入复制。通过第1输入复制命令的执行,微处理器100将存储 于第1转发缓冲器的输入数据复制至运算缓冲器1。此外,通过第2输入复 制命令的执行,微处理器100将存储于第2转发缓冲器的输入数据复制至运 算缓冲器1。

进而,微处理器100在控制程序2的执行循环从当前的控制循环开始的 情况下,关于运算缓冲器2,若接受来自第1通信电路的输入转发完成通知 则执行第1输入复制命令,同时若接受来自第2通信电路的输入转发完成通 知则执行第2输入复制。通过第1输入复制命令的执行,微处理器100将存 储于第1转发缓冲器的输入数据复制至运算缓冲器2。此外,通过第2输入 复制命令的执行,微处理器100将存储于第2转发缓冲器的输入数据复制至 运算缓冲器2。

接下来,微处理器100判断控制程序1的执行状态(步骤S320)。

在控制程序1为“执行前”状态的情况(步骤S320中“执行前”)下,微处 理器100将控制程序1的执行状态设定为“执行中”,开始控制程序1的执行 (步骤S322)。然后,处理前进至步骤S326。

在控制程序1为“执行中”状态的情况(步骤S320中“执行中”)下,微处 理器100开始控制程序1的未执行的部分的执行(步骤S324)。然后,处理 前进至步骤S326。

在控制程序1为“执行结束”状态的情况(步骤S320中“执行结束”)下, 处理前进至步骤S340。

在步骤S322或者S334中,若开始(或者,重新开始)控制程序1的执 行,则微处理器100等待控制程序1的执行结束通知、或者下一个控制循环 开始的中断信号(步骤S326)。另外,在步骤S232或者S234中,通过开始 (或者,重新开始)控制程序1的执行,在微处理器100中执行的处理从系 统程序的处理切换为控制程序1的处理。即,从控制程序1的执行开始至执 行结束之间,微处理器100不执行系统程序。然后,若至控制程序1的执行 结束存在下一个控制循环开始的中断,则实时OS200使在微处理器100中的 控制程序1的执行中断,使系统程序的执行重新开始。或,若存在控制程序 1的执行结束的通知(控制程序1的执行结束通知),则微处理器100中的 执行对象从控制程序2返回至系统程序。

若接受控制程序1的执行结束通知(步骤S336中“执行结束通知”),则 微处理器100将控制程序1的执行状态设定为“执行结束”(步骤S328)。然 后,处理前进至步骤S340。

另一方面,若至控制程序1的执行结束通知接受下一个控制循环开始的 中断(步骤S336中“控制循环开始”),在微处理器100中执行中的控制程序 1被中断,微处理器100再次执行步骤S302以下的处理。

在步骤S340中,微处理器100判断控制程序2的执行状态(步骤S340) 。

在控制程序2为“执行前”状态的情况(步骤S340中“执行前”)下,微处 理器100将控制程序2的执行状态设定为“执行中”,开始控制程序2的执行 (步骤S342)。然后,处理前进至步骤S346。

在控制程序2为“执行中”状态的情况(步骤S340中“执行中”)下,微处 理器100开始控制程序2的未执行的部分的执行(步骤S344)。然后,处理 前进至步骤S346。

在控制程序2为“执行结束”状态的情况(步骤S340中“执行结束”)下, 处理前进至步骤S300。

在步骤S342或者S344中,若开始(或者,重新开始)控制程序2的执 行,则微处理器100等待控制程序2的执行结束通知、或者下一个控制循环 开始的中断信号(步骤S346)。

若接受控制程序2的执行结束通知(步骤S346中“执行结束通知”),则 微处理器100将控制程序2的执行状态设定为“执行结束”(步骤S348)。然 后,处理前进至步骤S300。

另一方面,若至控制程序2的执行结束通知接受下一个控制循环开始的 中断(步骤S346中“控制循环开始”),则在微处理器100中执行中的控制程 序2被中断,微处理器100再次执行步骤S302以下的处理。

根据实施方式5,能够使实效的输入输出处理的定时与控制程序的执行 循环同步。

在实施方式5中,控制程序1、2分别利用经由PLC系统总线11以及现 场网络2的双方的输入输出处理,但也可存在一个控制程序利用仅经由PLC 系统总线11以及现场网络2的一方的输入输出处理的情况。例如,可存在控 制程序1针对第1输出数据以及第1输入数据利用仅经由PLC系统总线11 的输入输出处理,控制程序2针对第2输出数据以及第2输入数据利用仅经 由现场网络2的输入输出处理的情况。此时,控制程序1使用第1输入数据 生成第1输出数据,控制程序2使用第2输入数据生成第2输出数据。此外, 此时,经由PLC系统总线11的输入输出处理和经由现场网络2的输入输出 处理之间实效的输入输出处理的周期变得不同。

另外,作为实施方式5的变形,也可以如图7所示,将进行输入复制处 理的定时设为控制程序执行之前,将进行输出复制处理的定时设为控制程序 执行之后。若采用这样的结构,则存在实效的输入输出的定时变得与控制程 序的执行循环不同步的情况,但存在控制程序使用更新的输入数据,能够在 控制程序的执行结束后将输出数据更快地发送至设备的情况。

例如,在图18以及图19所示的控制循环2中执行的控制程序2使用在 控制循环2中被输入的输入数据,该控制程序2生成的输出数据变得在控制 循环3中被输出。

<L.支持装置>

接着,说明用于进行在PLC1中执行的程序的生成以及PLC1的维护等的 PLC支持装置8。

图21是表示与本发明的实施方式所涉及的CPU单元连接而使用的PLC 支持装置8的硬件结构的示意图。参照图21,PLC支持装置8,典型地,由 通用的计算机而构成。另外,从维护性的观点来看,优选可移动性好的笔记 本型的个人计算机。

参照图21,PLC支持装置8包含:CPU81,执行包含OS的各种程序; ROM(Read Only Memory)82,存储BIOS或各种数据;存储器RAM83,提 供用于存储在对CPU81中的程序的执行必要的数据的作业区域;以及硬盘 (HDD)84,不易失地存储通过CPU81执行的程序等。

PLC支持装置8进一步包含:接收来自用户的操作的键盘85以及鼠标 86、以及用于向用户提示信息的监视器87。进而,PLC支持装置8包含:用 于与PLC1(CPU单元13)等通信的通信接口(IF)89。

如后述所示,在PLC支持装置8中执行的各种程序存储至CD-ROM9而 流通。存储至该CD-ROM9的程序通过CD-ROM(Compact Disk-Read Only  Memory)驱动88被读取,存储至硬盘(HDD)84等。或,也可以是,从上 位的主计算机等通过网络下载程序。

如上所述,PLC支持装置8使用通用的计算机而实现,因此不进行这以 上的详细的说明。

图22是表示与本发明的实施方式所涉及的CPU单元连接而使用的PLC 支持装置8的软件结构的示意图。参照图22,在PLC支持装置8中执行 OS310,提供可执行包含于PLC支持程序320的各种程序的环境。

PLC支持程序320包含:编辑器程序321、汇编器程序322、调试器程序 323、模拟用时序命令运算程序324、模拟用动作运算程序325、以及通信程 序326。包含于PLC支持程序320的各自的程序,典型地,以存储至CD-ROM9 的状态而流通,安装至PLC支持装置8。

编辑器程序321提供用于生成用户程序236的输入以及编辑的功能。更 具体而言,编辑器程序321除了提供用户操作键盘85或鼠标86而生成用户 程序236的源程序330的功能,还提供生成的源程序330的保存功能以及编 辑功能。此外,编辑器程序321接受来自外部的源程序330的输入。

汇编器程序322汇编源程序330,提供生成在CPU单元13的微处理器 100中可执行的目标程序形式的用户程序236的功能。此外,汇编器程序322 汇编源程序330,提供生成在PLC支持装置8的CPU81中可执行的目标程序 形式的用户程序340的功能。该用户程序340是为了通过PLC支持装置8模 拟(模拟)PLC1的动作而使用的、模拟用的目标程序。

调试器程序323提供用于对用户程序的源程序进行调试的功能。作为该 调试的内容,包含部分地执行源程序之中用户指定的范围、追踪源程序的执 行中的变量值的时间的变化的动作。

调试器程序323进一步提供执行作为模拟用的目标程序的用户程序340 的功能。在该模拟时,代替包含于CPU单元13的系统程序的时序命令运算 程序232以及动作运算程序234,使用包含于PLC支持程序320的模拟用时 序命令运算程序324以及模拟用动作运算程序325。

通信程序326提供向PLC1的CPU单元13转发至用户程序236的功能 。

一般,安装于PLC1的系统程序210在CPU单元13的制造阶段中被存 储至CPU单元13的非易失性存储器106。其中,若将系统程序210预先存储 至CD-ROM9,则用户也能够将CD-ROM9的系统程序210复制至PLC支持 装置8,将利用通信程序326提供的功能而复制的系统程序210转发至CPU 单元13。进而,若将在PLC1的CPU单元13中执行的实时OS200预先存储 至CD-ROM9,则针对实时OS200能够通过用户操作再安装至PLC1。

应考虑到此次公开的实施方式并不是在全部的点上例示而限制。本发明 的范围不是上述的说明,而是通过权利要求而表示,试图包含在与权利要求 相同的含义以及范围内的全部的变更。

标号说明

1PLC,2现场网络,3伺服电动机驱动器,4伺服电动机,5远程IO 终端,6检测开关,7继电器,8PLC支持装置,9CD-ROM,10连接电缆, 11PLC系统总线,12电源单元,13CPU单元,14、53IOO单元,15特殊 单元,51终端总线,52通信耦合器,81CPU,83RAM,85键盘,86鼠 标,87监视器,88CD-ROM驱动,100微处理器,102芯片组,104主存 储器,106非易失性存储器,108系统定时器,110USB连接器,120PLC系 统总线控制器,122、142DMA控制电路,124PLC系统总线通信控制电路, 126第1通信电路缓冲器,130连接器,140现场网络控制器,144现场网 络通信控制电路,146第2通信电路缓冲器,200实时OS,210系统程序, 212调度器程序,214输出处理程序,216输入处理程序,218IO处理程序, 220其他系统程序,230控制程序,232时序命令运算程序,234动作运算 程序,236、340用户程序,320支持程序,321编辑器程序,322汇编器程 序,323调试器程序,324模拟用时序命令运算程序,325模拟用动作运算 程序,326通信程序,330源程序,1041程序区域,1042控制程序的作业 区域,1043运算缓冲器,1044第1转发缓冲器,1045第2转发缓冲器,SYS PLC系统。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号