可编程逻辑控制器的制作方法

文档序号:6318894阅读:168来源:国知局
专利名称:可编程逻辑控制器的制作方法
技术领域
本发明涉及在可编程逻辑控制器(PLC)中向与可编程逻辑控制器连接的I/O模块的数据传送方式。
背景技术
可编程逻辑控制器(以下称为PLC)是执行顺序程序,对连接的控制设备进行顺序控制的设备。在这样的PLC中,CPU模块内置的PLC本体经由总线连接有多个I/O模块。PLC本体通过内置的CPU模块执行顺序程序,由此例如向I/O模块进行数据发送请求,I/O模块将作为针对要求的应答而由输入设备取得的数据发送到CPU模块。图1所示的PLCl 10中,在总线112上连接有CPU模块120、多个I/O模块122、124、126。I/O模块122、124、126与逆变器130、伺服电动机132、压缩机134这样的控制对象设备连接。在I/O模块122、124、126和作为控制对象设备的逆变器130、伺服电动机132、压缩机134之间,利用串行通信协议进行数据的收发。特别作为FA (Factory Automation工厂自动化)网络中的串行通信协议的规格,有Modbus (注册商标)、CC-Link (注册商标)等。Modbus, CC-Link这样的串行通信协议支持主设备向每个副设备发送请求的单播通信和向存在于网络上的全部副设备发送请求的广播通信。因此,在向存在于网络上的全部副设备发送同一请求的情况下,广播通信是有效的,除此以外,还需要利用单播通信进行数据通信。进而,在串行通信协议中并没有装配检测/避免冲突的机制。因此,在向多个副设备发送同一请求的情况下,一旦已经向副设备发送了请求的主设备在接收到来自接收了请求的副设备的应答之前,无法向其他副设备发送请求。特别在网络上存在处理速度慢的设备的情况下,存在需要很多时间的问题点。作为解决上述问题点的手段,具有以下的方法,即与优先顺序或处理性能对应地向I/o模块分配站号(地址)的方法(参照专利文献I)、为了与能够向多个副设备发送同一请求的多播通信对应而将单播通信用的地址(以下称为单播地址)变更为多播通信用的地址(以下称为多播地址)的方法(参照专利文献2)。现有技术文献专利文献专利文献1:日本特开2010-39740专利文献2:日本特开2007-6019
发明内容
发明要解决的问题但是,在现有技术中,存在以下这样的问题。在利用了专利文献I的情况下,主设备能够从处理速度快的设备开始顺序地发送请求。但是,在串行通信的情况下,通信速度为9,600bps 13,800bps的低速,因此存在以下的问题点,例如在向多个副设备发送同一请求的情况下,主设备必须向每个副设备发送请求,直到向多个副设备发送请求为止需要很多时间。作为能够向多个副设备发送同一请求的技术,有多播通信。但是,在串行通信协议中在其规格中并没有定义多播地址,因此需要将单播地址作为多播地址来利用。专利文献2是将通过单播地址发送的数据分组变更为多播地址的技术。但是,专利文献2利用端口编号这样的向数据分组追加的信息,进行从单播地址到多播地址的一对一对的变换,因此在串行通信那样的低速通信的情况下,通过附加新的数据能够收发的数据量的减少有可能成为问题。本发明的目的在于:能够以与PLC (Programable Logic Controller)连接的I/O模块为单位进行广播通信。解决问题的手段在本说明书中公开的代表性的PLC内置有CPU模块,CPU模块经由总线与多个I/O模块连接。多个I/O模块经由总线与CPU模块连接。CPU模块由模块硬件、存储装置、OS、设备控制应用程序构成。模块硬件是为了使CPU模块的顺序程序动作所必需的硬件,包含用于与CPU、RAM、PC通信的通信接口、用于与各I/O模块通信的I/O接口等。在存储装置中,保存CPU模块的动作所必需的顺序程序、地址变换表、变换表信
肩、O地址变换表是记载PC发送的消息中包含的地址和对I/O模块的处理方法的对应方法的表。例如,在来自PC的发送消息中包含的地址是“OxEl”的情况下,记载了针对与I/O模块I连接的多个控制设备的广播发送这样的对应方法。即,在本发明中,通过设定用于指示广播的特定的地址,由此不需要附加用于广播的新的数据。变换表信息是与地址变换表的管理有关的信息,包含表示在非易失性存储器中是否安装了地址变换表的标志、地址变换表的版本、进行了更新或设定的日期等。设备控制应用程序是使用保存在存储装置中的顺序程序,经由I/O接口进行控制对象设备的控制的应用程序,具有以下功能:对经由通信接口从PC接收到的消息、以及经由I/o接口从各I/O模块接收到的消息进行分析的消息分析功能;参照从PC接收到的消息的分析结果以及在存储装置中保存的地址变换表,对来自PC的接收消息进行变换的消息变换功能。根据上述形式,能够以I/O模块为单位进行广播发送,因此在PC向与多个I/O模块连接的控制设备发送同一请求的情况下,不多次地发送请求,只通过发送一次请求,便能够向与多个I/O模块连接的控制设备发送请求。发明效果对于PLC,只通过发送一次请求,就能够向与多个I/O模块连接的控制设备发送请求,能够缩短发送请求所需要的时间。


图1是例示设备控制系统的结构的图。
图2是例示第一实施方式的CPU模块、I/O模块的结构的图。图3是例示地址变换表的结构的图。图4是例示PCL的电源接通时的顺序的图。图5是例示多播模式下的PLC的基本动作顺序的图。图6是例示地址变换表的设定、更新时的基本动作顺序的图。图7是例示串行通信协议的消息帧的图。图8是例示第二实施方式的CPU模块、I/O模块的结构的图。
具体实施例方式以下,根据

本发明的实施方式。另外,在说明本发明的实施方式的图中,对相同部分附加相同的符号,省略其重复的说明。(实施例1)图1是表示本发明的第一实施方式的设备控制系统的一个例子的图。设备控制系统是指包含PC100和PLC (可编程逻辑控制器)110、以及逆变器130、伺服电动机132、压缩机134这样的控制对象设备的系统,例如相当于FA网络系统等。在PLC110、逆变器120、伺服电动机132、压缩机134这样的控制对象设备间的数据收发中,利用串行通信协议。特别作为FA网络中的串行通信协议的规格,有Modbus、CC-Link 等。图7是表不作为串行通信协议的规格之一的Modbus的消息巾贞的图。 Modbus的消息帧由开始(START)字段710、地址(ADDRESS)字段720、功能(FUNCTION)字段730、数据(DATA)字段740、LRC字段750、结束(END)字段760构成。在Modbus的消息帧中有ASCII模式和RTU模式的2种消息帧,但在本发明中,说明ASCII模式的情况。开始字段710是表示消息帧的开始的字段,设定“0x3A”。地址字段720是设定用于发送消息帧的副设备的地址的字段。在Modbus的情况下,“0x00”是广播地址,除此以外的值是单播地址。功能字段730是设定功能代码的字段。功能代码是指主设备向副设备发送请求时,表示请求内容的代码。数据字段740是由主设备或副设备设定按照在功能字段730中设定的功能代码的数据的字段。LRC 字段 750 是设定基于 LRC (Longitudinal Redundancy Check 纵向冗余校验)方式的纠错码的字段。结束字段760是表示消息帧的结束的字段,设定“OxOD,OxOA”。以上是Modbus的消息帧。另外,本发明只要是主设备向副设备进行广播通信、单播通信的通信协议,就能够应用。另外,在以下的说明中,将Modbus作为串行通信协议进行说明。PLCllO包含CPU模块120和多个1/0模块122、124、126而构成。CPU模块120和多个I/o模块122、124、126经由总线112连接。在1/0模块122、124、126上连接逆变器130、伺服电动机132、压缩机134这样的控制对象设备。另外,除了 CPU模块120、1/0模块122以外,也可以经由总线112连接电源模块、计数器模块这样的具有其他功能的模块。CPU模块120是执行所存储的顺序程序,对经由各I/O模块连接的控制设备进行顺序控制的模块。图2是表示CPU模块120和I/O模块的结构的一个例子的图。与用户决定的设备的管理目的、利用目的对应地,将多个控制对象设备分为若干个组,一个I/o模块进行该组内的多个控制对象设备的输入输出控制、管理。作为多个控制对象设备的分组化的具体例子,具有对接口相同的设备进行分组和为了与控制对象设备的使用频度对应地分散负荷将控制对象设备进行分组等。在现有的“普通模式”中,包含向各控制对象设备发送消息的单播、向全部控制对象设备发送消息的模式。另一方面,在本实施例中,以多个控制设备组成的上述的一个组、即以全部的控制对象设备的部分集合为单位,经由进行输入输出控制的I/o模块,向组内的多个控制设备进行广播发送。以下,把从根据用户的请求指示发送消息的PCioo来看向组内的多个控制设备进行的消息发送的情况称为“多播”,将从I/o模块看的情况称为“广播”。CPU模块120包含模块硬件210、存储装置220、0S230、设备控制应用程序240而构成。模块硬件210是使CPU模块120的顺序程序226动作所必需的硬件,包含CPU212、RAM214、通信接口 216、I/O模块218等构成。通信接口 216是用于与PC100进行数据通信的接口,可以是将各I/O模块和控制对象设备连接的串行接口、无线接口、以太网(注册商标)。另外,在本发明中,通信接口 216与将各I/O模块和控制对象设备连接的接口同样地,是串行通信接口。I/O模块218是将CPU模块120和各I/O模块连接的接口。存储装置220保存CPU模块120的动作所必需的数据、例如顺序程序226、地址变换表222、变换表信息224,例如由非易失性的半导体存储器或磁存储介质等介质构成。图3是表示地址变换表222的详细的图。地址变换表222是使PC100发送的消息的地址字段720中设定的值与向各I/O模块发送消息的发送方法对应的表。例如,在PC100发送的消息的地址字段720中设定了 “0x00”的情况下,作为针对与全部I/o模块连接的控制对象设备的广播发送,CPU模块120进行动作(310)。“0x01”
(311)和“0x02”(312)是作为普通模式动作即单播发送,向特定的控制对象设备进行消息发送时的设备的地址。另外,在PC100发送的消息的地址字段720中设定了 “OxEl”的情况下,作为向与I/O模块I (122)连接的控制对象设备的广播发送,CPU模块120进行动作
(320)。进而,在PC100发送的消息的地址字段720中设定了“ΟχΕΑ”的情况下,作为针对与I/O模块I (122)和I/O模块2 (124)连接的控制对象设备的广播发送,CPU模块120进行动作(330)。这样,能够根据地址变换表224将特定的单播地址变换为针对与特定的I/O模块连接的控制对象设备的广播发送的方法和地址。即,通过使用图3的表,能够使用与控制对象设备对应的地址进行单播发送,通过指定除此以外的地址,能够以I/O模块为单位进行广播发送。变换表信息224是与地址变换表222的管理有关的信息,例如包含表示在存储装置220中保存了地址变换表222的情况的标志、设定或更新了地址变换表222的日期、地址变换表222的版本等。0S230是统一控制CPU模块120的动作的基本软件。设备控制应用程序240是使用保存在存储装置220中的顺序程序226经由I/O接口 218进行控制对象设备的控制的应用程序,具有以下功能:对经由通信接口 216从PC100接收到的消息以及经由接口 I/O接口 218从各I/O模块接收到的消息进行分析的消息分析功能242 ;参照从PC100接收到的消息的分析结果以及保存在存储装置中的地址变换表222,对来自PC100的接收消息进行变换的消息变换功能244。即,根据图3的地址变换表222的右栏的操作结果,将来自PC100的接收消息变换为包含具体的I/O模块或控制对象设备的地址的消息。为此,设备控制应用程序240对各I/O模块和作为其控制对象的各设备的地址进行管理。以上,是CPU模块120的结构的一个例子。接着,说明图2所示的I/O模块122的内部结构的一个例子。I/O模块122包含CPU250、I/0接口 252、输入输出数据缓存器254、输入部256、输出部258而构成。I/O接口 252是与CPU模块120连接的接口。输入输出缓存器254是存储经由I/O接口 252收发的消息的区域。输出部258是向与I/O模块122连接的控制对象设备发送数据的模块。输入部256是接收与I/O模块122连接的控制对象设备所发送的数据的模块。以上是I/O模块122的内部结构的一个例子。图4是表示PLCllO的电源接通时的处理顺序的一个例子的图。在接通电源时,PLCl 10在对与特定的I/O模块连接的控制对象设备不进行广播通信的单播通信即普通模式下进行动作(步骤400)。PLCllO如果经由通信接口 216接收到PC100所发送的消息,则使用消息分析功能242,进行接收到的消息的分析(步骤402、步骤404)。在分析的结果是PC100所发送的消息不是要求模式变换的消息的情况下,通过普通模式、g卩单播发送进行动作(步骤406、步骤416 )。在分析的结果是PC100所发送的消息是要求模式变换的消息的情况下,参照变换表信息224,确认在存储装置220中已经设定了地址变换表222 (步骤408、步骤410)。在确认的结果是设定了地址变换表222的情况下,将模式从普通模式变更为对与特定的I/O模块连接的控制对象设备进行广播通信的多播模式,将变换表信息224的值作为应答,发送给PC100 (步骤S412、步骤414)。在确认的结果是没有设定地址变换表222的情况下,将不存在有效的地址变换表作为应答,发送给PC100 (步骤418)。以上是PLCllO的电源接通时的顺序。图5是表示PLCllO在多播模式下动作时的基本动作顺序的一个例子的图。PLCllO如果经由通信接口 216接收到PC100所发送的消息,则使用消息分析功能242,对接收到的消息进行分析,参照地址变换表222 (步骤502、步骤504、步骤506)。在分析的结果是PC100所发送的消息的地址字段720的值是0x00的情况下,判断为需要向与全部I/o模块连接的控制对象设备进行广播发送,在使用消息变换功能244,将接收到的消息变换为针对全部I/o模块的广播发送后,通过I/O接口 218,向与各I/O模块连接的控制对象设备广播发送变换后的消息(步骤508、步骤510)。在分析的结果是PC100所发送的消息的地址字段720的值是0x01 OxDF的情况下,判断为需要进行与普通模式相同的处理,进行与普通模式相同的处理(步骤520、步骤522)。S卩,向具有在地址字段720中指定的地址的控制对象设备进行消息发送(单播发送)。在分析的结果是PC100发送的消息的地址字段720的值是0x00 OxDF以外的值的情况下,判断为需要向与图3的地址变换表222的右栏的操作结果中指定的特定的I/O模块连接的控制对象设备进行广播发送,在使用消息变换功能244,将接收到的消息变换为具有地址变换表222所示的I/O模块的地址的消息后,通过I/O接口 218,向与特定的I/O模块连接的控制对象设备广播发送变换后的消息(步骤530)。在广播发送后,对广播发送的特定的I/O模块以外的I/O模块进行与普通模式相同的处理(步骤532)。例如,在PC100所发送的消息的地址字段720的值是OxEl的情况下,针对I/O模块I (122)变更消息,以便向与I/O模块I (122)连接的控制对象设备进行广播发送,如以下所述那样,检查是否存在具有与广播发送的对象相同的地址的控制对象设备,因此,针对I/O模块I (122)以外的I/O模块,与普通模式同样地,向地址OxEl的控制对象设备发送消息。为了检测存在具有与地址变换表222中对向特定的I/O模块的广播发送分配的地址相同的单播地址的控制对象设备的情况,执行步骤532的处理。在步骤532的处理的结果是从作为地址被分配了与广播对象的地址相同的OxEl的控制对象设备具有应答的情况下,向PClOO发送地址分配有异常(步骤534、步骤536)。即,向PC100通知应该向具有应答的设备分配与广播对象的地址“OxEl”不同的地址。另外,除了在每次接收到作为多播模式进行动作的地址时执行步骤532 步骤536的处理以外,也可以在最初接收到作为多播模式进行动作的地址时执行。另外,通过在CPU模块120中装配计时器或计数器,可以定期地确认不存在具有对多播模式分配的地址的控制对象设备。另外,除了 PC100发送消息以外,也可以利用存储装置220中保存的顺序程序226以及各I/o模块向CPU模块120发送的数据,由CPU模块120参照地址变换表222,向特定的I/O模块进行广播发送。以上是多播模式下的PLCllO的基本动作顺序。图6是表示在存储装置220中设定地址变换表222时以及对存储装置220中保存的地址变换表222进行更新时的顺序的一个例子的图。PC100当在存储装置220中设定地址变换表222时以及进行更新时,向PLCllO发
送地址变换表设定/更新消息(步骤600)。PLC100当接收到消息时,利用消息分析功能242,确认接收到的消息,识别PC100
发送了地址变换表设定/更新消息(步骤610)。当接收到地址变换表设定/更新消息时,通过检查各控制对象设备的状态,来确认与各I/O模块连接的控制对象设备没有对PC100或PLCllO发送的消息进行处理(步骤612)。当在对PC100或PLCllO发送的消息进行处理的过程中,对地址变换表222进行设定/更新时,有可能无法取得地址的匹配性。
因此,在确认是否正在进行上述处理的结果为正在进行处理的情况下,作为应答向PC100发送用于通知无法进行地址变换表222的设定/更新的设定不可通知(步骤614、步骤628)。在确认了是否正在进行上述的处理的结果为没有进行处理的情况下,向PC100发送用于通知能够进行地址变换表222的设定/更新的可设定通知(步骤S616)。接收到可设定通知的PC100生产要在PLCllO中进行设定/更新的地址变换表222,并与变换表信息224 —起作为消息发送到PLCllO(步骤618、步骤620)。另外,也可以在步骤600之前生产地址变换表222。PLCllO当接收到消息时,使用消息分析功能242,确认接收到的消息,识别PC100发送了地址变换表222和变换表信息224 (步骤622)。当接收到地址变换表222和变换表信息224时,PLCl 10对地址变换表222、变换表信息224进行设定或更新(步骤624)。当设定或更新结束时,向PL100发送结束通知(步骤626)。以上是在存储装置220中设定地址变换表222时以及对存储装置220中保存的地址变换表222进行更新时的顺序。(第二实施方式)图8是表示本发明的第二实施方式的设备控制系统的一个例子的图。以下,以与第一实施方式的差异为中心进行说明。第二实施方式中的CPU模块800包含模块硬件810、存储装置220、0S230、设备控制应用程序240而构成。与第一实施方式的CPU模块120相比,第二实施方式的CPU模块800的不同点在于,在模块硬件810中包含开关819。另外,对于CPU模块800内的其他结构要素,与第一实施方式相同,因此省略各结构要素的说明。开关819是为了切换普通模式和多播模式而使用的开关。在第一实施方式中,安装有由PC100动态地设定地址变换表222的功能,但在将该功能安装在PLCllO中的情况下,有可能发生存储装置220中保存的顺序程序226变得复杂的问题。因此,在PLCllO出厂时,预先将地址变换表222安装在存储装置220中,对多播模式设定开关819时,根据预先安装的地址变换表222,PLCllO执行动作。另外,安装了 CPU模块800的PLCllO的多播模式下的动作与步骤500 步骤534相同,因此省略说明。在本实施例中,在PLCllO中设置与各I/O模块对应的外部开关,切换该外部开关,由此将各I/o模块的动作切换到多播模式或单播模式。通过预先在存储装置220中安装地址变换表222,通过开关819进行切换,能够减轻顺序程序226的复杂度。以上具体说明了实施方式,但并不限于以上的公开,在不脱离其主旨内容的范围内当然能够进行各种变更。符号说明100:PC ;110 =PLC (可编程逻辑控制器);112:总线;120:CPU 模块;122:1/0 模块I ;124:1/0模块2 ;126:1/0模块N;130:逆变器;132:伺服电动机;134:压缩机;210:模块硬件;212:CPU ;214 =RAM ;216:通信接口 ;218:1/0接口 ;220:存储装置;222:地址变换表;224:变换表信息;226:顺序程序;230:0S ;240:设备控制应用程序;242:消息分析功能;244:消息变换功能;250:CPU ;252:1/0接口 ;254:输入输出数据缓存器;256:输入部;258:输出部;819:开关。
权利要求
1.一种可编程逻辑控制器,其与计算机连接,其特征在于, 具备:分别连接至少一个控制对象设备,进行组内的多个上述控制对象设备的输入输出控制、管理的至少一个模块;以及 保存使地址和向上述模块发送消息的发送方法相对应的地址变换表的存储装置, 根据上述地址变换表,在来自上述计算机的消息中包含的地址是特定的地址的情况下,向与上述特定的地址对应的上述发送方法中包含的至少一个上述模块各自属下的至少一个控制对象设备广播发送来自上述计算机的消息, 在来自上述计算机的消息中包含的地址是控制对象设备的地址的情况下,向该控制对象设备单播发送来自上述计算机的消息。
2.根据权利要求1所述的可编程逻辑控制器,其特征在于, 在来自上述计算机的消息中包含的地址是特定的地址的情况下,在从具有上述特定的地址的控制对象设备具有应答时,向上述计算机通知对具有上述应答的上述控制对象设备分配的地址为异常。
3.一种可编程逻辑控制器,具备:分别与多个设备连接的多个模块;依照顺序程序控制上述多个模块的CPU模块,该可编程逻辑控制器的特征在于, 根据使输入给上述可编程 逻辑控制器的消息和上述CPU模块针对与特定的模块连接的设备的处理方法相对应的表,对与上述特定模块连接的设备控制数据的发送。
4.根据权利要求3所述的可编程逻辑控制器,其特征在于, 具备与上述表的保存以及更新有关的管理信息。
5.根据权利要求3或4所述的可编程逻辑控制器,其特征在于, 在输入的上述消息是预定的消息的情况下,向与特定的I/O模块连接的设备进行广播发送。
6.根据权利要求3 5的任意一项所述的可编程逻辑控制器,其特征在于, 在向与上述特定的模块连接的设备进行广播发送时,除了上述特定的模块以外,还向与上述可编程逻辑控制器连接的设备发送输入给可编程逻辑控制器的消息,与来自连接的上述设备的应答对应地,向与上述可编程逻辑控制器连接的计算机通知地址分配的异常。
7.根据权利要求3 6的任意一项所述的可编程逻辑控制器,其特征在于, 能够根据安装在上述CPU模块的开关的设定,针对与特定的模块连接的设备,选择发送数据的功能。
8.根据权利要求7所述的可编程逻辑控制器,其特征在于, 根据上述开关的设定,将上述模块的动作切换到多播模式或单播模式。
9.根据权利要求7或8所述的可编程逻辑控制器,其特征在于, 检测与上述开关的设定相伴的异常,通知给与上述可编程逻辑控制器连接的计算机。
10.一种可编程逻辑控制器的设备控制方法,该可编程逻辑控制器具备:分别与多个控制对象设备连接的多个模块;依照顺序程序控制上述多个模块的CPU模块、存储装置,并与计算机连接,该设备控制方法的特征在于, 在上述存储装置中,保存使至少一个模块和地址以及向上述模块发送消息的发送方法相对应的地址变换表,其中,该至少一个模块分别连接至少一个控制对象设备,进行组内的多个上述控制对象设备的输入输出控制、管理,根据上述地址变换表,在来自上述计算机的消息中包含的地址是特定的地址的情况下,向与上述特定的地址对应的上述发送方法中包含的至少一个上述模块各自属下的至少一个控制对象设备广播发送来自上述计算机的消息, 在来自上述计算机的消息中包含的地址是控制对象设备的地址的情况下,向该控制对象设备单播发送来自上述 计算机的消息。
全文摘要
在没有装配检测/避免冲突的机制的串行通信协议中,在向多个副设备发送同一请求的情况下,一旦向副设备发送了请求的主设备直到接收来自接收到请求的副设备的应答为止,无法向其他副设备发送请求。本发明的可编程逻辑控制器根据使PC发送的消息中包含的地址与针对I/O模块的处理方法对应的地址变换表,只通过发送一次请求,就能够向与多个I/O模块连接的控制设备发送请求,能够缩短发送请求所需要的时间。
文档编号G05B19/05GK103081412SQ20118004117
公开日2013年5月1日 申请日期2011年4月25日 优先权日2010年9月8日
发明者望月义则, 小泉稔, 高桥一郎 申请人:株式会社日立产机系统
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1