WO2023176164A1 - 制御システム - Google Patents

制御システム Download PDF

Info

Publication number
WO2023176164A1
WO2023176164A1 PCT/JP2023/002393 JP2023002393W WO2023176164A1 WO 2023176164 A1 WO2023176164 A1 WO 2023176164A1 JP 2023002393 W JP2023002393 W JP 2023002393W WO 2023176164 A1 WO2023176164 A1 WO 2023176164A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
controller
packet
packets
control system
Prior art date
Application number
PCT/JP2023/002393
Other languages
English (en)
French (fr)
Inventor
道明 真島
Original Assignee
株式会社 東芝
東芝インフラシステムズ株式会社
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 株式会社 東芝, 東芝インフラシステムズ株式会社 filed Critical 株式会社 東芝
Publication of WO2023176164A1 publication Critical patent/WO2023176164A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Definitions

  • the present disclosure relates to a control system, and particularly to a control system having a duplex configuration including two controllers.
  • the present disclosure is intended to solve the above-mentioned problems, and to efficiently transmit data with different priorities when transmitting data from one controller to another controller in a control system having a duplex configuration.
  • the purpose of the present invention is to provide a control system that can transmit data automatically.
  • a control system includes a first controller, a second controller, and a network line that communicably connects the first controller and the second controller to each other.
  • a control system comprising: a control unit of a first controller that generates from the first data a single packet whose transmission is started repeatedly in a first period, and divides the second data; , a packet generation process that generates a plurality of packets whose transmission is started in a second cycle, and a packet transmission process that transmits a single packet and a plurality of packets to a second controller via a network line.
  • a single packet is transmitted with priority over multiple packets, and the size of each of the multiple packets is determined based on the first cycle and the transfer rate of the network line.
  • FIG. 1 is a diagram showing the configuration of a control system according to Embodiment 1.
  • FIG. 7 is a flowchart illustrating packet generation processing according to the first embodiment.
  • FIG. 3 is a diagram showing a data flow according to the first embodiment.
  • 7 is a flowchart illustrating packet transmission processing according to the first embodiment.
  • 5 is a timing chart showing an example of the flow of packets according to the first embodiment.
  • 5 is a timing chart showing an example of the flow of packets according to the prior art.
  • 5 is a timing chart showing an example of a packet flow according to a modification of the first embodiment.
  • 5 is a timing chart showing an example of the flow of packets according to another modification of the first embodiment.
  • FIG. 1 is a diagram showing the configuration of an industrial plant control system 100 according to Embodiment 1 of the present disclosure.
  • the control system 100 includes a controller 1, a personal computer (PC) 2, a monitoring device 3, a monitoring Ethernet 5 including an Ethernet hub (HUB) 4, and an I/O network 7 including an I/O device 6. ing.
  • the controller 1 is an industrial controller such as a DCS (Distributed Control System) or a PLC (Programmable Logic Controller).
  • the controller 1 collects the state of the industrial plant based on signals received via the I/O device 6 and the I/O network 7 from sensors (not shown) attached to the controlled object.
  • the controller 1 executes various calculations based on the collected plant status, and based on the calculation results, controls an actuator (not shown) attached to the controlled object via the I/O network 7 and the I/O equipment 6. Control industrial plants by operating etc.
  • the PC2 is an information processing device equipped with an engineering tool.
  • the engineering tool is a program that manages the controller 1, and performs, for example, generating an application program to be executed by the controller 1, transmitting the generated application program to the controller 1, monitoring processing executed by the controller 1, etc. .
  • the monitoring device 3 is a computer used by an operator to monitor the status of the industrial plant.
  • the HUB 4 is a well-known network device for relaying packets flowing on the monitoring Ethernet 5.
  • the I/O device 6 is a device for inputting and outputting signals with various devices attached to a controlled object.
  • the I/O device 6 includes an AI (Analog Input) device or a DI (Digital Input) device to which signals from a sensor or the like attached to a controlled object are input. Further, the I/O device 6 includes an AO (Analog Output) device or a DO (Digital Output) device that outputs a signal to an actuator or the like attached to a controlled object.
  • AI Analog Input
  • DI Digital Input
  • AO Analog Output
  • DO Digital Output
  • the controller 1 has a duplex configuration including a first controller 10 and a second controller 20 having the same configuration.
  • a duplex configuration including a first controller 10 and a second controller 20 having the same configuration.
  • the first controller 10 is normally in the operating state, and the second controller 20 is in the standby state. Therefore, in the following description, it will be assumed that the first controller is in the operating state and the second controller 20 is in the standby state. When the first controller 10 is in a standby state and the second controller 20 is in an operating state, the relationship between the two in the following description is reversed.
  • the first controller 10 has a first storage unit 11 that stores “control data” of the industrial plant, and a second storage unit 11 that stores “own station information” that represents the operating state of the first controller 10 that is the own station. It includes a storage unit 12, a third storage unit 13 that stores “other station information” representing the operating state of the second controller 20, which is the other station, and a control unit 14 that controls the operation of the own station. .
  • the second controller 20 has a first storage unit 21 that stores “control data” of the industrial plant, and a second storage unit 21 that stores “own station information” that represents the operating state of the second controller 20 that is the own station. It includes a storage section 22, a third storage section 23 that stores "other station information" representing the operating state of the first controller 10, which is the other station, and a control section 24 that controls the operation of the own station. .
  • the first controller 10 and the second controller 20 are connected to each other via a tracking Ethernet 30 so that they can communicate with each other.
  • the control unit 14 of the first controller 10 transmits the control data stored in the first storage unit 11 of its own station to the second controller 20 via the tracking Ethernet 30.
  • the control unit 24 of the second controller 20 that has received this updates the control data stored in the first storage unit 21 of its own station using the received control data.
  • control unit 14 of the first controller 10 transmits the own station information stored in the second storage unit 12 of the own station to the second controller 20 via the tracking Ethernet 30.
  • the control section 24 of the second controller 20 that has received this updates the partner station information stored in the third storage section 23 of its own station based on the received information.
  • control unit 24 of the second controller 20 transmits the own station information stored in the second storage unit 22 of the own station to the first controller 10 via the tracking Ethernet 30.
  • the control unit 14 of the first controller that receives this updates the partner station information stored in the third storage unit 13 of its own station based on the received information.
  • the control unit 14 of the first controller 10 repeatedly executes two tasks, a high-speed scan task and a standard scan task, at predetermined intervals.
  • the high-speed scan task and the standard scan task are tasks that operate on the real-time OS executed by the control unit 14, and they apparently operate in parallel.
  • the high-speed scan task is repeatedly executed in a first period T1.
  • the high-speed scan task only particularly important data determined in advance among the control data stored in the first storage unit 11 is scanned, and high-speed scan data of the first size S1 is created.
  • the standard scan task is repeatedly executed in a second period T2. In the standard scan task, all the control data stored in the first storage unit 11 is scanned, and standard scan data of the second size S2 is created.
  • the first cycle T1 of the high-speed scan task is shorter than the second cycle T2 of the standard scan task, and T1 ⁇ T2.
  • the first size S1 of the high-speed scan data is smaller than the second size S2 of the standard scan data, and S1 ⁇ S2.
  • the control unit 14 of the first controller 10 executes the packet generation process shown in the flowchart of FIG. 2 upon completion of each of the high-speed scan task and the standard scan task.
  • the packet generation process a single packet is generated from high-priority high-speed scan data, and multiple packets are generated by dividing low-priority standard scan data.
  • six packets are generated by dividing the standard scan data, but the number of generated packets varies depending on the size of the standard scan data and the like.
  • step S101 in FIG. 2 the control unit 14 determines whether there is scan data with a higher priority than the scan data currently being processed. Specifically, when the scan data currently being processed is the high-speed scan data 41, there is no scan data with a higher priority than the high-speed scan data 41, so the processing flow proceeds to NO. On the other hand, if the scan data currently being processed is the standard scan data 51, there is scan data with a higher priority than that, that is, the high-speed scan data 41, so the processing flow advances to YES.
  • step 102 the control unit 14 sets the size of a single packet 42 generated from the high-priority high-speed scan data 41.
  • the size of the single packet 42 is set to be equal to the first size S1 of the high speed scan data 41.
  • such settings can be made by using jumbo frames.
  • step S103 the control unit 14 adds the single packet 42 generated in step S102 above to the end of the first queue 43.
  • the first queue 43 has a higher priority than the second queue 53 described below.
  • step S104 the control unit 14 sets the size of each of the plurality of packets 52a to 52f that are generated by dividing the low priority standard scan data 51. Specifically, except for the last packet 52f, the sizes of the plurality of packets 52a to 52e are all equal and are set according to the following equation (1).
  • ⁇ S is the size of each of the plurality of packets 52a to 52e
  • T1 is the first period of the high-speed scan task
  • N is a predetermined positive number
  • R is the transmission rate of the tracking Ethernet 30.
  • the size of the last packet 52f is smaller than the above-mentioned ⁇ S.
  • step S105 the control unit 14 adds the plurality of packets 52a to 52f generated in step S104 above to the second queue 53.
  • the second queue 53 is a queue with a lower priority than the first queue 43 described above.
  • step S105 the control unit 14 calls the packet transmission process shown in the flowchart of FIG.
  • the packet transmission process shown in the flowchart of FIG. 4 is called from step S105 of the packet generation process of FIG. 2, or from the transmission completion interrupt of step S205 of the packet transmission process of FIG.
  • step S203 the control unit 14 sets the value of the sending flag to 1.
  • step S204 the control unit 14 takes out one packet from the head of the queue with a high priority. Specifically, when there are packets in the first queue 43, the control unit 14 takes out one packet 42 from the head of the first queue 43. On the other hand, if the first queue 43 is empty, the control unit 14 takes out one of the packets 52a to 52f from the head of the second queue 53.
  • step S205 the control unit 14 transmits the one packet extracted in step S204 above to the second controller 20 via the tracking Ethernet 30.
  • the control unit 24 sets the value of the transmitting flag to 0 and generates a transmission completion interrupt.
  • the flow of packets sent from the first controller 10 to the second controller 20 when the processes in FIGS. 2 and 4 are executed is shown in the timing chart in FIG. 5.
  • a plurality of packets are generated by dividing the low-priority standard scan data 51 during a free time when a single packet 42 generated from the high-priority high-speed scan data 41 is repeatedly transmitted in the first cycle T1. 52a to 52f are transmitted. Note that the downward triangular mark in FIG. 5 indicates the timing at which packet transmission is started.
  • a single packet generated from high-priority high-speed scan data 41 is transmitted while one packet 52a among a plurality of packets 52a to 52f generated from low-priority standard scan data 51 is being transmitted. Even if the transmission timing of 42 has arrived, as soon as the transmission of the one low-priority packet 52a currently being transmitted is completed, the transmission of the single high-priority packet 42 will begin immediately. In this way, the delay time until the start of transmission of the single packet 42 generated from the high-priority high-speed scan data 41 is the same as that of the plurality of packets 52a to 52f generated from the low-priority standard scan data 51. is always shorter than the time required to transmit one packet. Therefore, while minimizing the transmission delay of the single packet 42 generated from the high-priority high-speed scan data 41, the transmission of multiple packets 52a to 52f generated from the low-priority standard scan data 51 is simultaneously performed. It can be carried out.
  • FIG. 6 shows the data transmitted from the first controller 10 to the second controller 20 when the standard scan data 51 with a low priority is transmitted in a single packet 652 without being divided as in the first embodiment.
  • 3 is a timing chart showing an example of the flow of packets.
  • the transmission of a single packet 42 begins after the transmission of packet 652 is completed. Therefore, the transmission delay of a single packet 42 generated from high-priority high-speed scan data 41 becomes large.
  • control unit 14 of the first controller 10 generates, from the high-speed scan data 41, a single packet 42 whose transmission is started repeatedly in the first cycle, and , divides the standard scan data 51 to generate a plurality of packets 52a to 52f, which are repeatedly transmitted in a second cycle, and sends the single packet 42 and the plurality of packets 52a to 52f via the tracking Ethernet 30. and transmits it to the second controller 20.
  • a single packet 42 generated from high-priority high-speed scan data 41 is transmitted with priority over multiple packets 52a to 52f generated from low-priority standard scan data 51, and The size of each of the packets 52a to 52f is determined based on the first period T1 and the transmission rate R of the tracking Ethernet 30.
  • the priority when transmitting data from the first controller 10 to the second controller 20, the priority It is also possible to transmit low data. Therefore, in the control system 100 according to the first embodiment, data with different priorities can be efficiently transmitted when transmitting data from one controller to the other controller.
  • FIG. 7 is a timing chart when local station information and high-speed scan data are transmitted as high-priority data, and standard scan data is transmitted as low-priority data.
  • a single packet 62 generated from high-priority self-station information and a single packet 42 generated from high-speed scan data also high-priority are transmitted repeatedly during idle time, while the low-priority standard
  • a plurality of packets 52a to 52f generated by dividing the scan data are transmitted.
  • the data with high priority may include two or more types of data.
  • FIG. 8 is a timing chart when local station information and high-speed scan data are transmitted as high-priority data, and standard scan data is transmitted as low-priority data.
  • a single packet 72 generated from data combining high-priority self-station information and high-speed scan data is repeatedly transmitted, and multiple packets generated by dividing low-priority standard scan data are transmitted repeatedly. Packets 52a-52f are transmitted.
  • processing may be added to determine in advance whether or not packet congestion will occur in the tracking Ethernet 30.
  • the control unit 14 of the first controller 10 determines whether the following two conditions are satisfied prior to executing the processes in FIGS. 2 and 4.
  • T1 is the period of the high-speed scan task
  • E1 is the execution time of the high-speed scan task
  • S1 is the size of the high-speed scan data
  • T2 is the period of the standard scan task
  • E2 is the execution time of the standard scan task
  • S2 is The standard scan data size, R, is the transmission rate of the tracking Ethernet 30.
  • the execution time E2 of the standard scan task includes the time when the high-speed scan task interrupts.
  • the control unit 14 of the first controller 10 can warn the operator that duplication does not operate correctly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

制御システムは、2つのコントローラを互いに通信可能に接続するネットワーク回線を備える。第1のコントローラの制御部は、第1のデータから、第1の周期で繰り返し送信が開始される単一のパケットを生成するとともに、第2のデータを分割して、第2の周期で送信が開始される複数のパケットを生成する、パケット生成処理と、単一のパケットおよび複数のパケットを、ネットワーク回線を介して第2のコントローラに送信する、パケット送信処理とを実行する。パケット送信処理において、単一のパケットは複数のパケットよりも優先して送信され、複数のパケットの各サイズは、第1の周期およびネットワーク回線の転送レートに基づいて決定される。

Description

制御システム
 本開示は制御システムに係り、特に2つのコントローラを含む二重化構成を有する制御システムに関する。
 従来、産業プラント等の制御システムにおいて、一過性の故障を回避するために、コントローラを二重化する構成が知られている。コントローラを二重化するためには、稼働状態(オンライン側)のコントローラの時々刻々と変化するデータを待機状態(スタンバイ側)のコントローラに送信し、両者のデータを等値化する必要がある。両者は互いに相手局の状態を監視しており、オンライン側に異常が発生した場合には、直ちにスタンバイ側がオンラインに昇格して動作を継続する。
特開2008-181240号公報 特開2008-211682号公報 特開2005-267236号公報
 しかしながら、従来技術においてコントローラを二重化する場合には、一方のコントローラから他方のコントローラにデータを送信するために、専用のハードウェアを構築する必要がある。また、専用のハードウェアを構築することなく、例えばイーサネット等の既存のネットワーク回線を用いてデータを送信する場合には、優先度の異なる複数のデータが存在する場合に、それらを効率的に送信することが困難であるという問題がある。
 本開示は、上記のような課題を解決するためのものであり、二重化された構成を有する制御システムにおいて、一方のコントローラから他方のコントローラにデータを送信する際に、異なる優先度のデータを効率的に送信することができる、制御システムを提供することを目的とする。
 上記の課題を解決するために、本開示に係る制御システムは、第1のコントローラと、第2のコントローラと、第1のコントローラと第2のコントローラとを互いに通信可能に接続するネットワーク回線とを備える制御システムであって、第1のコントローラの制御部は、第1のデータから、第1の周期で繰り返し送信が開始される単一のパケットを生成するとともに、第2のデータを分割して、第2の周期で送信が開始される複数のパケットを生成する、パケット生成処理と、単一のパケットおよび複数のパケットを、ネットワーク回線を介して第2のコントローラに送信する、パケット送信処理とを実行し、パケット送信処理において、単一のパケットは複数のパケットよりも優先して送信され、複数のパケットの各サイズは、第1の周期およびネットワーク回線の転送レートに基づいて決定される。
実施の形態1に係る制御システムの構成を示す図。 実施の形態1に係るパケット生成処理を説明するフローチャート。 実施の形態1に係るデータフローを示す図。 実施の形態1に係るパケット送信処理を説明するフローチャート。 実施の形態1に係るパケットの流れの一例を示すタイミングチャート。 従来技術に係るパケットの流れの一例を示すタイミングチャート。 実施の形態1の変形例に係るパケットの流れの一例を示すタイミングチャート。 実施の形態1の別の変形例に係るパケットの流れの一例を示すタイミングチャート。
 以下では、図面を参照しながら、本開示の実施の形態について説明する。なお、以降の説明では、本開示に係る制御システムを産業プラントの制御に使用する例に基づいて説明する。ただし、本開示に係る制御システムの適用可能な範囲は、産業プラントの制御に限定されるものではない。また、図面において同一または対応する要素には同じ参照符号を付して、詳細な説明は適宜省略する。
 (実施の形態1)
 図1は、本開示の実施の形態1に係る産業プラントの制御システム100の構成を示す図である。制御システム100は、コントローラ1と、パーソナルコンピュータ(PC)2と、監視装置3と、イーサネットハブ(HUB)4を含む監視イーサネット5と、I/O機器6を含むI/Oネットワーク7とを備えている。
 コントローラ1は、DCS(Distributed Control System)またはPLC(Programable Logic Controller)等の産業用コントローラである。コントローラ1は、制御対象に取り付けられた図示しないセンサー等からI/O機器6およびI/Oネットワーク7を介して受信される信号に基づいて、産業プラントの状態を収集する。コントローラ1は、収集されたプラントの状態に基づいて各種の演算を実行し、演算結果に基づいて、I/Oネットワーク7およびI/O機器6を介して、制御対象に取り付けられた図示しないアクチュエータ等を動作させることにより、産業プラントを制御する。
 PC2は、エンジニアリングツールを備える情報処理装置である。エンジニアリングツールは、コントローラ1を管理するプログラムであり、例えば、コントローラ1で実行されるアプリケーションプログラムの生成、生成されたアプリケーションプログラムのコントローラ1への送信、コントローラ1で実行される処理の監視等を行う。監視装置3は、オペレータが産業プラントの状態を監視するためのコンピュータである。HUB4は、監視イーサネット5上を流れるパケットを中継するための周知のネットワーク機器である。
 I/O機器6は、制御対象に取り付けられた各種装置との間で信号の入出力を行うための機器である。I/O機器6は、制御対象に取り付けられたセンサー等からの信号が入力されるAI(Analog Input)機器またはDI(Digital Input)機器等を含んでいる。また、I/O機器6は、制御対象に取り付けられたアクチュエータ等への信号を出力するAO(Analog Output)機器またはDO(Digital Output)機器等を含んでいる。
 本実施の形態1に係るコントローラ1は、同一構成の第1のコントローラ10および第2のコントローラ20を含む二重化構成を有している。先述したように、コントローラを二重化するためには、稼働状態(オンライン側)のコントローラの時々刻々と変化するデータを待機状態(スタンバイ側)のコントローラに送信し、両者のデータを等値化する必要がある。両者は互いに相手局の状態を監視しており、オンライン側に異常が発生した場合には、直ちにスタンバイ側がオンラインに昇格して動作を継続する。
 本実施の形態1では、通常は第1のコントローラ10が稼働状態であり、第2のコントローラ20が待機状態である。そのため、以降の説明では、第1のコントローラが稼働状態であり、第2のコントローラ20が待機状態であるとして説明する。第1のコントローラ10が待機状態であり、第2のコントローラ20が稼働状態である場合には、以降の説明における両者の関係が入れ替わる。
 第1のコントローラ10は、産業プラントの「制御データ」を記憶する第1の記憶部11と、自局である第1のコントローラ10の動作状態を表す「自局情報」を記憶する第2の記憶部12と、相手局である第2のコントローラ20の動作状態を表す「相手局情報」を記憶する第3の記憶部13と、自局の動作を制御する制御部14とを含んでいる。
 第2のコントローラ20は、産業プラントの「制御データ」を記憶する第1の記憶部21と、自局である第2のコントローラ20の動作状態を表す「自局情報」を記憶する第2の記憶部22と、相手局である第1のコントローラ10の動作状態を表す「相手局情報」を記憶する第3の記憶部23と、自局の動作を制御する制御部24とを含んでいる。
 第1のコントローラ10と第2のコントローラ20とは、トラッキングイーサネット30を介して互いに通信可能に接続されている。第1のコントローラ10の制御部14は、自局の第1の記憶部11に記憶されている制御データを、トラッキングイーサネット30を介して第2のコントローラ20に送信する。これを受信した第2のコントローラ20の制御部24は、受信された制御データによって、自局の第1の記憶部21に記憶されている制御データを更新する。
 また、第1のコントローラ10の制御部14は、自局の第2の記憶部12に記憶されている自局情報を、トラッキングイーサネット30を介して第2のコントローラ20に送信する。これを受信した第2のコントローラ20の制御部24は、受信された情報によって自局の第3の記憶部23に記憶されている相手局情報を更新する。
 同様に、第2のコントローラ20の制御部24は、自局の第2の記憶部22に記憶されている自局情報を、トラッキングイーサネット30を介して第1のコントローラ10に送信する。これを受信した第1のコントローラの制御部14は、受信された情報によって自局の第3の記憶部13に記憶されている相手局情報を更新する。
 次に、本実施の形態1に係る制御システム100における、第1のコントローラ10から第2のコントローラ20に制御データを送信する際の処理について詳細に説明する。
 第1のコントローラ10の制御部14は、高速スキャンタスクと標準スキャンタスクという2つのタスクをそれぞれ所定の周期で繰り返し実行する。詳細には、高速スキャンタスクと標準スキャンタスクは、制御部14によって実行されるリアルタイムOS上で動作するタスクであり、両者は見かけ上は並列に動作する。
 高速スキャンタスクは、第1の周期T1で繰り返し実行される。高速スキャンタスクでは、第1の記憶部11に記憶されている制御データの中で予め決定されている特に重要なデータのみがスキャンされ、第1のサイズS1の高速スキャンデータが作成される。標準スキャンタスクは、第2の周期T2で繰り返し実行される。標準スキャンタスクでは、第1の記憶部11に記憶されている制御データがすべてスキャンされ、第2のサイズS2の標準スキャンデータが作成される。
 本実施の形態1において、高速スキャンタスクの第1の周期T1は、標準スキャンタスクの第2の周期T2よりも短く、T1<T2である。また、高速スキャンデータの第1のサイズS1は、標準スキャンデータの第2のサイズS2よりも小さく、S1<S2である。また、トラッキングイーサネット30を介して送信される際に、高速スキャンデータは優先度の高いデータとして送信され、標準スキャンデータは優先度の低いデータとして送信される。
 第1のコントローラ10の制御部14は、高速スキャンタスクと標準スキャンタスクのそれぞれの完了時に、図2のフローチャートに示されるパケット生成処理を実行する。パケット生成処理では、優先度の高い高速スキャンデータから単一のパケットが生成されるとともに、優先度の低い標準スキャンデータを分割して複数のパケットが生成される。以降の説明では、一例として、標準スキャンデータを分割して6個のパケットが生成されるが、生成されるパケットの数は標準スキャンデータのサイズ等に依存して異なる。以降の説明では、図3に示されるデータフローも併せて参照されたい。
 図2のステップS101において、制御部14は、現在処理しているスキャンデータよりも優先度の高いスキャンデータが存在するか否かを判定する。詳細には、現在処理しているスキャンデータが高速スキャンデータ41である場合には、それよりも優先度の高いスキャンデータは存在しないため、処理フローはNOに進む。一方、現在処理しているスキャンデータが標準スキャンデータ51である場合には、それよりも優先度の高いスキャンデータ、すなわち高速スキャンデータ41が存在するため、処理フローはYESに進む。
 ステップ102において、制御部14は、優先度の高い高速スキャンデータ41から生成される単一のパケット42のサイズを設定する。詳細には、単一のパケット42のサイズは、高速スキャンデータ41の第1のサイズS1と等しくなるように設定される。トラッキングイーサネット30の場合、ジャンボフレームを用いることにより、このような設定を行うことができる。
 ステップS103において、制御部14は、上記のステップS102で生成された単一のパケット42を、第1のキュー43の末尾に追加する。第1のキュー43は、次に述べる第2のキュー53よりも優先度の高いキューである。
 一方、ステップS104において、制御部14は、優先度の低い標準スキャンデータ51を分割して生成される複数のパケット52a~52fの各サイズを設定する。詳細には、末尾のパケット52fを除いて、複数のパケット52a~52eの各サイズはすべて等しく、以下の式(1)に従って設定される。
  ΔS=(T1/N)*R                  (1)
 ただし、上式において、ΔSは複数のパケット52a~52eの各サイズ、T1は高速スキャンタスクの第1の周期、Nは所定の正数、Rはトラッキングイーサネット30の送信レートである。また、末尾のパケット52fのサイズは、上記のΔSよりも小さい。
 上記の式(1)は、高速スキャンタスクの第1の周期T1の1/Nの時間の間に、トラッキングイーサネット30を介して送信可能なデータのサイズを意味している。例えば、高速スキャンタスクの第1の周期T1=1秒、所定の正数N=10、トラッキングイーサネット30の送信レートR=1Gbpsの場合、複数のパケット52a~52eの各サイズΔSは、ΔS≒12Mバイトに設定される。式(1)の定義より、末尾のパケット52fを除く複数のパケット52a~52eのうちの1つのパケットを送信するのに要する時間は、1/10=0.1秒である。また、末尾のパケット52fを送信するのに要する時間は、0.1秒よりも短い。
 ステップS105において、制御部14は、上記のステップS104で生成された複数のパケット52a~52fを、第2のキュー53に追加する。第2のキュー53は、上述した第1のキュー43よりも優先度の低いキューである。
 ステップS105において、制御部14は、図4のフローチャートに示されるパケット送信処理を呼び出す。
 図4のフローチャートに示されるパケット送信処理は、図2のパケット生成処理のステップS105から呼び出されるか、あるいは、図4のパケット送信処理のステップS205の送信完了割り込みから呼び出される。
 図4のステップS201において、第1のコントローラ10の制御部14は、パケット送信処理の実行中であるか否かを判定する。詳細には、送信中フラグの値が1である場合には、パケット送信処理の実行中であると判定される(S201=YES)。この場合、処理フローはリターンに進み、図4のパケット送信処理は終了する。一方、送信中フラグの値が0である場合には、パケット送信処理の実行中でないと判定される(S201=NO)。この場合、処理フローはステップS202に進む。
 ステップS202において、制御部14は、第1のキュー43および第2のキュー53がともに空である否かを判定する。詳細には、第1のキュー43および第2のキュー53がともに空である場合(S202=YES)には、処理フローはリターンに進み、図4のパケット送信処理は終了する。一方、第1のキュー43または第2のキュー53のいずれかまたは両方にパケットが入っている場合(S202=NO)には、処理フローはステップS203に進む。
 ステップS203において、制御部14は、送信中フラグの値を1に設定する。ステップS204において、制御部14は、優先度の高いキューの先頭からパケットを1つ取り出す。詳細には、第1のキュー43にパケットが入っている場合には、制御部14は、第1のキュー43の先頭からパケット42を1つ取り出す。一方、第1のキュー43が空である場合には、制御部14は、第2のキュー53の先頭からパケット52a~52fのうちの1つを取り出す。
 ステップS205において、制御部14は、上記のステップS204で取り出した1つのパケットを、トラッキングイーサネット30を介して第2のコントローラ20に送信する。ステップS206において、制御部24は、送信中フラグの値を0に設定し、送信完了割り込みを発生させる。
 上記の図2および図4の処理が実行される際の第1のコントローラ10から第2のコントローラ20に送信されるパケットの流れは、図5のタイミングチャートに示されるようになる。優先度の高い高速スキャンデータ41から生成された単一のパケット42が第1の周期T1で繰り返し送信される空き時間に、優先度の低い標準スキャンデータ51を分割して生成された複数のパケット52a~52fが送信される。なお、図5の中の下向きの三角印は、パケットの送信が開始されるタイミングを示している。
 図5では、優先度の低い標準スキャンデータ51から生成された複数のパケット52a~52fのうちの1つのパケット52aの送信中に、優先度の高い高速スキャンデータ41から生成された単一のパケット42の送信タイミングがやってきたとしても、現在送信中の優先度の低い1つのパケット52aの送信が完了すれば、直ちに優先度の高い単一のパケット42の送信が開始される。このように、優先度の高い高速スキャンデータ41から生成された単一のパケット42の送信開始までの遅延時間は、優先度の低い標準スキャンデータ51から生成された複数のパケット52a~52fのうちの1つのパケットの送信に要する時間よりも必ず短くなる。したがって、優先度の高い高速スキャンデータ41から生成された単一のパケット42の送信遅延を極力抑えながら、優先度の低い標準スキャンデータ51から生成された複数のパケット52a~52fの送信を併せて行うことができる。
 図6は、本実施の形態1のように優先度の低い標準スキャンデータ51を分割せずに単一のパケット652によって送信する場合の第1のコントローラ10から第2のコントローラ20に送信されるパケットの流れの一例を示すタイミングチャートである。この場合、優先度の低い標準スキャンデータ51から生成された単一のパケット652の送信中に、優先度の高い高速スキャンデータ41から生成された単一のパケット42の送信タイミングがやってきたとしても、単一のパケット42の送信が開始されるのは、パケット652の送信が完了した後である。そのため、優先度の高い高速スキャンデータ41から生成された単一のパケット42の送信遅延が大きくなってしまう。
 以上説明したように、本実施の形態1に係る第1のコントローラ10の制御部14は、高速スキャンデータ41から、第1の周期で繰り返し送信が開始される単一のパケット42を生成するとともに、標準スキャンデータ51を分割して、第2の周期で繰り返し送信が開始される複数のパケット52a~52fを生成し、単一のパケット42および複数のパケット52a~52fを、トラッキングイーサネット30を介して第2のコントローラ20に送信する。
 この際、優先度の高い高速スキャンデータ41から生成された単一のパケット42は、優先度の低い標準スキャンデータ51から生成された複数のパケット52a~52fよりも優先して送信され、複数のパケット52a~52fの各サイズは、第1の周期T1およびトラッキングイーサネット30の送信レートRに基づいて決定される。
 上記の特徴により、本実施の形態1に係る制御システム100では、第1のコントローラ10から第2のコントローラ20にデータを送信する際に、優先度の高いデータの送信遅延を抑えながら、優先度の低いデータの送信を併せて行うことができる。したがって、本実施の形態1に係る制御システム100では、一方のコントローラから他方のコントローラにデータを送信する際に、異なる優先度のデータを効率的に送信することができる。
 なお、上記の実施の形態1では、優先度の高いデータとして高速スキャンデータを送信するとともに、優先度の低いデータとして標準スキャンデータを送信する例を示したが、優先度の高いデータは、2種類以上存在してもよい。図7は、優先度の高いデータとして自局情報および高速スキャンデータを送信するとともに、優先度の低いデータとして標準スキャンデータを送信する場合のタイミングチャートである。優先度の高い自局情報から生成された単一のパケット62と、同じく優先度の高い高速スキャンデータから生成された単一のパケット42とが繰り返し送信される空き時間に、優先度の低い標準スキャンデータを分割して生成された複数のパケット52a~52fが送信される。
 また、優先度の高いデータは、2種類以上のデータを含んでもよい。図8は、優先度の高いデータとして自局情報と高速スキャンデータを送信するとともに、優先度の低いデータとして標準スキャンデータを送信する場合のタイミングチャートである。優先度の高い自局情報と高速スキャンデータとを結合したデータから生成された単一のパケット72が繰り返し送信される空き時間に、優先度の低い標準スキャンデータを分割して生成された複数のパケット52a~52fが送信される。
 また、上記の実施の形態1において、トラッキングイーサネット30でパケットの渋滞が発生するか否かを事前に判定する処理を追加してもよい。詳細には、第1のコントローラ10の制御部14は、図2および図4の処理の実行に先立って、下記の2つの条件が成立するか否かを判定する。
  (T1-E1) > S1/R
  (T2-E1)-(T2-E2)/T1*(S1/R) > S2/R
 ただし、上式において、T1は高速スキャンタスクの周期、E1は高速スキャンタスクの実行時間、S1は高速スキャンデータのサイズ、T2は標準スキャンタスクの周期、E2は標準スキャンタスクの実行時間、S2は標準スキャンデータのサイズ、Rはトラッキングイーサネット30の送信レートである。また、標準スキャンタスクの実行時間E2には、高速スキャンタスクが割り込んだ時間が含まれる。
 上記の2つの条件が成立する場合には、トラッキングイーサネット30でパケットの渋滞は発生しない。一方、上記の2つの条件が成立しない場合には、トラッキングイーサネット30でパケットの渋滞が発生する。この場合、第1のコントローラ10の制御部14は、二重化が正しく動作しないことをオペレータに警告することができる。

Claims (6)

  1.  第1のコントローラと、
     第2のコントローラと、
     前記第1のコントローラと前記第2のコントローラとを互いに通信可能に接続するネットワーク回線と
    を備える制御システムであって、
     前記第1のコントローラの制御部は、
     第1のデータから、第1の周期で繰り返し送信が開始される単一のパケットを生成するとともに、第2のデータを分割して、第2の周期で送信が開始される複数のパケットを生成する、パケット生成処理と、
     前記単一のパケットおよび前記複数のパケットを、前記ネットワーク回線を介して前記第2のコントローラに送信する、パケット送信処理と
    を実行し、
     前記パケット送信処理において、前記単一のパケットは前記複数のパケットよりも優先して送信され、
     前記複数のパケットの各サイズは、前記第1の周期および前記ネットワーク回線の転送レートに基づいて決定される、制御システム。
  2.  前記複数のパケットの末尾のパケットを除く各サイズは、以下の式に従って決定され、
      ΔS=(T1/N)*R
     上式において、ΔSは前記複数のパケットの各サイズ、T1は前記第1の周期、Nは所定の正数、Rは前記ネットワーク回線の転送レートである、請求項1に記載の制御システム。
  3.  前記第1のデータは2種類以上のデータを含む、請求項1または2に記載の制御システム。
  4.  前記第1の周期は前記第2の周期よりも短い、請求項1~3のいずれか一項に記載の制御システム。
  5.  前記第1のデータのサイズは前記第2のデータのサイズよりも小さい、請求項1~4のいずれか一項に記載の制御システム。
  6.  前記制御部は、前記パケット生成処理および前記パケット送信処理の実行に先立って、以下の条件が成立しているか否かを判定し、
      (T1-E1) > S1/R
      (T2-E1)-(T2-E2)/T1*(S1/R)
                        > S2/R
     上式において、T1は前記第1の周期、E1は前記第1のデータの生成に要する時間、S1は前記第1のデータのサイズ、T2は前記第2の周期、E2は前記第2のデータの生成に要する時間、S2は前記第2のデータのサイズ、Rは前記ネットワーク回線の送信レートである、請求項2に記載の制御システム。
PCT/JP2023/002393 2022-03-18 2023-01-26 制御システム WO2023176164A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-044548 2022-03-18
JP2022044548A JP2023138057A (ja) 2022-03-18 2022-03-18 制御システム

Publications (1)

Publication Number Publication Date
WO2023176164A1 true WO2023176164A1 (ja) 2023-09-21

Family

ID=88022718

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/002393 WO2023176164A1 (ja) 2022-03-18 2023-01-26 制御システム

Country Status (2)

Country Link
JP (1) JP2023138057A (ja)
WO (1) WO2023176164A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011956A (ja) * 2005-07-04 2007-01-18 Mitsubishi Electric Corp プログラマブルコントローラ
JP2019215818A (ja) * 2018-06-14 2019-12-19 オムロン株式会社 制御装置およびその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011956A (ja) * 2005-07-04 2007-01-18 Mitsubishi Electric Corp プログラマブルコントローラ
JP2019215818A (ja) * 2018-06-14 2019-12-19 オムロン株式会社 制御装置およびその制御方法

Also Published As

Publication number Publication date
JP2023138057A (ja) 2023-09-29

Similar Documents

Publication Publication Date Title
EP3610614B1 (en) Time sensitive network (tsn) scheduler with verification
Mahfouzi et al. Stability-aware integrated routing and scheduling for control applications in Ethernet networks
US11070491B2 (en) Control system and communication method
EP3582459B1 (en) Communication system, communication device, and communication method
CN107171892B (zh) 一种基于qt的跨平台数据通信方法及系统
JP2019036043A (ja) 制御装置
CN110235418B (zh) 通信系统、通信装置以及通信方法
JP6950385B2 (ja) 制御装置および制御方法
WO2021079599A1 (ja) 制御装置及び分散制御システム
US20220147022A1 (en) Control system
Hanzálek et al. Profinet IO IRT message scheduling
US9106678B2 (en) Method and apparatus for interchanging data between two devices in an automation network
CN110300055B (zh) 异构现场总线用网关系统
WO2023176164A1 (ja) 制御システム
US11269313B2 (en) Controller and control system that stores data in current control cycle for output in next control cycle
JPWO2022176031A5 (ja)
Wen et al. Design of high-performance networked real-time control systems
JP2010072915A (ja) 割込制御装置、割込制御システム、割込制御方法および割込制御プログラム
US11522762B2 (en) Coordination device and method for providing control applications via a communication network for transmitting time-critical data
JP7231073B2 (ja) 制御装置および制御システム
JP7277206B2 (ja) 通信制御装置および方法
JP7335124B2 (ja) データ変換装置
US20220331951A1 (en) Robot control system, lower-level control apparatus, and control method for robot
Akbulut et al. Control in networked systems with fuzzy logic
Ethernet IEEE TSN (Time-Sensitive Networking): A Deterministic Ethernet Standard

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23770126

Country of ref document: EP

Kind code of ref document: A1