制御対象機器を制御する制御装置であって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段と、前記ユーザプログラムを含むタスクを実行するタスク実行手段と、前記第1記憶手段に記憶されたプログラム構成単位を更新する更新手段とを備え、前記タスク実行手段は、複数のタスクを並行に実行するとともに、各タスクを各タスクに応じた周期で実行するように構成され、前記更新手段は、前記タスク実行手段による複数のタスクの実行が完了してから、前記タスク実行手段により前記複数のタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていることを特徴とする制御装置。請求項1に記載の制御装置であって、前記更新手段は、前記タスク実行手段により実行される全てのタスクが完了してから、前記タスク実行手段により前記全てのタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていることを特徴とする制御装置。請求項1に記載の制御装置であって、前記更新手段によるプログラム構成単位の更新を受け付ける受付手段を備え、前記更新手段は、前記タスク実行手段により実行される複数のタスクのうち、前記受付手段により更新を受け付けたプログラム構成単位を含むタスクの実行が完了してから、前記受付手段により更新を受け付けたプログラム構成単位を含むタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていることを特徴とする制御装置。請求項3に記載の制御装置であって、前記タスク実行手段により実行されるタスクに関する情報を記憶する第2記憶手段と、前記第2記憶手段に記憶されたタスクに関する情報に基づいて、前記受付手段により更新を受け付けたプログラム構成単位が前記タスク実行手段により実行されるタスクに含まれているか否かを判断する判断手段とを備えることを特徴とする制御装置。請求項1から請求項4までのいずれか一つに記載の制御装置であって、前記タスク実行手段は、複数のタスクを同時に並行して実行するように構成されていることを特徴とする制御装置。請求項1から請求項4までのいずれか一つに記載の制御装置であって、前記タスク実行手段は、時分割により複数のタスクを並行して実行するように構成されていることを特徴とする制御装置。請求項1から請求項6までのいずれか一つに記載の制御装置であって、複数のタスクは、基準のタスクと、基準のタスク以外のタスクとを含み、前記基準のタスク以外のタスクの周期は、前記基準のタスクの周期の整数倍に設定されていることを特徴とする制御装置。制御対象機器を制御する制御装置で実行されるシステムプログラムであって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段を備える制御装置に、前記ユーザプログラムを含む複数のタスクを並行に各タスクに応じた周期で実行させる手順と、実行される複数のタスクが完了してから前記複数のタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新させる手順と、を実行させるためのシステムプログラム。しかしながら、特許文献1に開示された従来のPACでは、マルチタスクで処理が行われている際にツール装置によりユーザプログラムの更新を行うことが困難であるという問題点がある。具体的には、ユーザプログラムを構成するプログラム構成単位ProgramOrganizationUnit:POUが複数のタスクで用いられる場合において、そのプログラム構成単位が編集対象である場合には、各タスクの周期が異なることにより、プログラム構成単位の変更が反映されるタイミングが異なることによって、各タスクの演算結果の整合性が保てなくなることが生じ得るという問題点がある。すなわち、複数のタスクで用いられるプログラム構成単位が変更される場合において、周期の短いタスクにおいてその変更が反映される一方、周期の長いタスクにおいて変更前のプログラム構成単位が保持され変更が反映されない状態が生じ得る。本発明は、上記の課題を解決するためになされたものであり、本発明の目的は、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことが可能な制御装置およびその制御装置で実行されるシステムプログラムを提供することである。本発明による制御装置は、制御対象機器を制御する制御装置であって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段と、前記ユーザプログラムを含むタスクを実行するタスク実行手段と、前記第1記憶手段に記憶されたプログラム構成単位を更新する更新手段とを備え、前記タスク実行手段は、複数のタスクを並行に実行するとともに、各タスクを各タスクに応じた周期で実行するように構成され、前記更新手段は、前記タスク実行手段による複数のタスクの実行が完了してから、前記タスク実行手段により前記複数のタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていることを特徴とする。なお、複数のタスクを並行に実行するとは、複数のタスクを同時に並行して実行する場合と、時分割により複数のタスクを並行して実行する場合とを含む。このように構成することによって、実行される複数のタスクが完了してから複数のタスクが再び実行されるまでの間にプログラム構成単位を更新することにより、各タスクの周期が異なっている場合にも、各タスクにおいてプログラム構成単位の変更を同時に反映させることができる。これにより、複数のタスクで用いられるプログラム構成単位が変更される場合において、周期の短いタスクにおいてその変更が反映される一方、周期の長いタスクにおいて変更前のプログラム構成単位が保持され変更が反映されない状態が発生しない。したがって、各タスクの演算結果の整合性を保つことができるので、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことができる。上記制御装置において、前記更新手段は、前記タスク実行手段により実行される全てのタスクが完了してから、前記タスク実行手段により前記全てのタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていてもよい。このように構成すれば、容易に、各タスクにおいてプログラム構成単位の変更を同時に反映させることができる。上記制御装置において、前記更新手段によるプログラム構成単位の更新を受け付ける受付手段を備え、前記更新手段は、前記タスク実行手段により実行される複数のタスクのうち、前記受付手段により更新を受け付けたプログラム構成単位を含むタスクの実行が完了してから、前記受付手段により更新を受け付けたプログラム構成単位を含むタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていてもよい。このように構成すれば、更新を受け付けたプログラム構成単位が含まれていないタスクの周期が長い場合に、そのタスクの完了を待つ必要がないので、プログラム構成単位を迅速に更新することができる。この場合において、前記タスク実行手段により実行されるタスクに関する情報を記憶する第2記憶手段と、前記第2記憶手段に記憶されたタスクに関する情報に基づいて、前記受付手段により更新を受け付けたプログラム構成単位が前記タスク実行手段により実行されるタスクに含まれているか否かを判断する判断手段とを備えていてもよい。このように構成すれば、各タスクに更新を受け付けたプログラム構成単位が含まれているか否かを容易に判断することができる。上記制御装置において、前記タスク実行手段は、複数のタスクを同時に並行して実行するように構成されていてもよい。このように構成すれば、タスクの処理能力の向上を図ることができる。上記制御装置において、前記タスク実行手段は、時分割により複数のタスクを並行して実行するように構成されていてもよい。このように構成すれば、タスクの処理を効率的に行うことができる。上記制御装置において、複数のタスクは、基準のタスクと、基準のタスク以外のタスクとを含み、前記基準のタスク以外のタスクの周期は、前記基準のタスクの周期の整数倍に設定されていてもよい。このように構成すれば、複数のタスクの周期を揃えやすくすることができる。本発明によるシステムプログラムは、制御対象機器を制御する制御装置で実行されるプログラムであって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段を備える制御装置に、前記ユーザプログラムを含む複数のタスクを並行に各タスクに応じた周期で実行させる手順と、実行される複数のタスクが完了してから前記複数のタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新させる手順と、を実行させるためのシステムプログラムであることを特徴とする。このように構成することによって、制御装置にマルチタスクで処理を行いながらユーザプログラムの更新を行わせることができる。本発明によれば、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことが可能な制御装置およびその制御装置で実行されるシステムプログラムを提供することができる。以下、本発明の実施形態について図面を参照して説明する。<第1実施形態>まず、図1~図3を参照して、第1実施形態によるCPUユニット1を備えるPAC100の構成について説明する。PAC100は、図1に示すように、PAC100を制御するCPUユニット1と、センサ50からの信号が入力される入力ユニット2と、産業用機械などの制御対象機器60に制御信号を出力する出力ユニット3と、各ユニットに電力を供給する電源ユニット4と、各ユニットを接続する内部バス5とを備えている。なお、CPUユニット1は、本発明の制御装置の一例である。PAC100は、タスクを実行することにより、センサ50からの入力に基づいて制御対象機器60を制御するように構成されている。ここで、タスクには、制御対象機器60を制御するためのユーザプログラムの実行が含まれている。CPUユニット1では、システムプログラム121図2参照がインストールされており、そのシステムプログラム121が実行されることによりCPUユニット1の動作が制御されるように構成されている。なお、システムプログラム121には、入力ユニット2に入力された信号をCPUユニット1に取り込む処理を実行するためのプログラムや、CPUユニット1による演算結果を出力ユニット3に送り出す処理を実行するためのプログラムなどが含まれている。CPUユニット1は、図2に示すように、CPU11と、ROM12と、RAM13と、通信インターフェース以下、通信IFという14および15とを含んでいる。なお、CPU11は、本発明のタスク実行手段、更新手段および判断手段の一例である。また、ROM12は、本発明の第1記憶手段および第2記憶手段の一例であり、通信IF15は、本発明の受付手段の一例である。CPU11は、システムプログラム121を実行する機能を有する。CPU11は、シングルコアであり、時分割により複数のタスクを並行して実行するように構成されている。すなわち、CPU11では、マルチタスクで処理が実行される。ROM12は、不揮発性のメモリであり、たとえば、フラッシュメモリである。ROM12には、インストールされたシステムプログラム121が記憶されている。また、ROM12には、CPUユニット1において実行されるタスクに関する情報L1図3参照が記憶されている。タスクに関する情報L1には、各タスクの名称と、各タスクの優先度と、各タスクが実行される周期と、各タスクで実行されるユーザプログラムの構成と、各タスクのユーザプログラムを構成するプログラム構成単位以下、POUというとが含まれている。なお、タスクは、優先度の値が小さいタスクが優先的に実行される。また、CPUユニット1では、予め設定された時間間隔たとえば、1msの制御サイクルを処理全体の共通サイクルとして採用している。また、ユーザプログラムは、たとえば、ラダー言語で記述されている。ここで、POUは、プログラム管理上の最小単位であり、プログラムと、ファンクションと、ファンクションブロックとを含んでいる。そして、POUのファンクションおよびファンクションブロックは、再利用することが可能である。すなわち、POUのファンクションおよびファンクションブロックは、複数のユーザプログラムで共用することが可能である。なお、ファンクションは、所定の入力値が入力された場合に、所定の入力値に対応する一定の出力値を出力する関数であり、ファンクションブロックは、内部状態を持てることにより、入力値に対する出力値が一定ではない関数である。図3の例では、タスクAは、タスクBおよびCよりも優先的に実行されるとともに、1msの周期で実行される。すなわち、タスクAは、1回分の制御サイクル1msの時間間隔を実行サイクルとしている。また、タスクAは、プログラムPa1およびPa2により構成されるユーザプログラムUPaを含んでいる。また、タスクAには、プログラムPa1で利用されるファンクションブロックFB1が含まれている。なお、タスクAは、本発明の基準のタスクの一例である。また、タスクBは、タスクCよりも優先的に実行されるとともに、2msの周期で実行される。すなわち、タスクBは、2回分の制御サイクル2msの時間間隔を実行サイクルとしている。また、タスクBの周期は、タスクAの周期の整数倍2倍に設定されている。また、タスクBは、プログラムPb1およびPb2により構成されるユーザプログラムUPbを含んでいる。また、タスクBには、プログラムPb2で利用されるファンクションブロックFB1が含まれている。なお、タスクBは、本発明の基準のタスク以外のタスクの一例である。また、タスクCは、タスクAおよびBよりも劣後して実行されるとともに、4msの周期で実行される。すなわち、タスクCは、4回分の制御サイクル4msの時間間隔を実行サイクルとしている。また、タスクCの周期は、タスクAの周期の整数倍4倍に設定されている。また、タスクCは、プログラムPc1により構成されるユーザプログラムUPcを含んでいる。また、タスクCには、プログラムPc1で利用されるファンクションブロックFB2およびFB3が含まれている。なお、タスクCは、本発明の基準のタスク以外のタスクの一例である。また、ROM12には、ユーザプログラムUPa~UPcが記憶されている。このため、ROM12には、POUのプログラムPa1、Pa2、Pb1、Pb2およびPc1と、POUのファンクションブロックFB1~FB3とが記憶されている。RAM13は、揮発性のメモリであり、たとえば、DRAMである。RAM13は、CPU11により実行されるシステムプログラム121などを一時的に記憶する機能を有する。通信IF14は、内部バス5に接続されており、CPUユニット1が内部バス5を介して各ユニットと通信するために設けられている。通信IF15は、ツール装置70に接続されており、CPUユニット1がツール装置70と通信するために設けられている。ツール装置70は、たとえば、パーソナルコンピュータであり、PAC100において実行されるユーザプログラムの作成編集機能を有する。また、ツール装置70は、ユーザプログラムをPAC100からダウンロードする機能を有するとともに、ユーザプログラムをPAC100にアップロードする機能を有する。CPUユニット1は、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことが可能なように構成されている。すなわち、CPUユニット1は、オンラインエディットを行うことが可能なように構成されている。なお、オンラインエディットとは、CPUユニット1の運転タスクのユーザプログラムの実行を停止させることなく、ツール装置70を用いてユーザプログラムの一部を変更追加することをいう。CPUユニット1は、ツール装置70からアップロードされたユーザプログラムを通信IF15により受信した後、実行されている複数のタスクが完了してから複数のタスクが再び実行されるまでの間に、ROM12に記憶されるユーザプログラムを更新するように構成されている。具体的には、CPUユニット1は、ユーザプログラムを受信した後、実行されている複数のタスクの実行サイクルが揃う際複数のタスクが同期した際に、ROM12に記憶されるユーザプログラムを更新するように構成されている。つまり、第1実施形態によるCPUユニット1は、ユーザプログラムのPOUファンクションブロックFB1aを通信IF15により受信した後、実行される複数のタスクタスクA、BおよびCのうち、全てのタスクタスクA、BおよびCの実行サイクルが揃う際に、ROM12に記憶されるユーザプログラムのPOUファンクションブロックFB1を受信したPOUファンクションブロックFB1aに変更するように構成されている。次に、図4を参照して、第1実施形態によるCPUユニット1の通常時の動作について説明する。なお、以下の動作は、CPUユニット1図2参照のCPU11によりシステムプログラム121が実行されることにより行われる。すなわち、システムプログラム121は、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。CPUユニット1では、電源が投入されると、所定の初期処理が実行される。そして、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、タスクAは1msの周期で実行され、タスクBは2msの周期で実行され、タスクCは4msの周期で実行される。具体的には、まず、最も優先度の高いタスクAの処理が開始される。このとき、タスクBおよびCは、タスクAよりも優先度が低いことから、実際の処理が開始されることなく待機状態になる。そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が開始される。このとき、タスクCは待機状態のままである。そして、タスクBのユーザプログラムUPbが実行される。次に、タスクA、BおよびCの実行サイクルが同時に開始されてから1ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムUPbが中断され、タスクAの実行が開始される。このとき、タスクBおよびCは待機状態である。そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、中断されたタスクBの処理が再開される。これにより、タスクBのユーザプログラムUPbの残りが実行される。そして、タスクBの処理が完了すると、タスクCの処理が開始され、タスクCのユーザプログラムUPcが実行される。次に、タスクA、BおよびCの実行サイクルが同時に開始されてから2ms経過すると、タスクAの実行サイクルが経過することから、タスクCのユーザプログラムUPcが中断され、タスクAの実行が開始される。このとき、タスクBの実行サイクルも経過することから、タスクBおよびCは待機状態である。すなわち、タスクA、BおよびCの実行サイクルが同時に開始されてから2ms経過すると、タスクAおよびBの実行サイクルが再び同時に開始される。そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、タスクBの処理が開始される。このとき、タスクCは待機状態である。そして、タスクBのユーザプログラムUPbが実行される。次に、タスクA、BおよびCの実行サイクルが同時に開始されてから3ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムUPbが中断され、タスクAの実行が開始される。このとき、タスクBおよびCは待機状態である。そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、中断されたタスクBの処理が再開される。これにより、タスクBのユーザプログラムUPbの残りが実行される。そして、タスクBの処理が完了すると、中断されたタスクCの処理が再開される。これにより、タスクCのユーザプログラムUPcの残りが実行される。そして、タスクCの処理が完了した後、タスクA、BおよびCの実行サイクルが同時に開始されてから4ms経過すると、タスクAの実行サイクルが経過することから、タスクAの実行が開始される。このとき、タスクBおよびCの実行サイクルも経過することから、タスクBおよびCは待機状態である。すなわち、タスクA、BおよびCの実行サイクルが同時に開始されてから4ms経過すると、タスクA、BおよびCの実行サイクルが再び同時に開始される。その後、上記した動作が繰り返し行われる。次に、図5を参照して、第1実施形態によるCPUユニット1のオンラインエディット時の動作について説明する。なお、オンラインエディットとは、CPUユニット1図2参照の運転タスクのユーザプログラムの実行を停止させることなく、ツール装置70図2参照を用いてユーザプログラムの一部を変更追加することをいう。なお、以下では、上記した通常時の動作が行われている際に、ツール装置70からユーザプログラムがアップロードされることにより、通信IF15図2参照によるユーザプログラムの受信が地点P1で完了した場合の動作について説明する。また、以下では、オンラインエディットの編集内容として、タスクAのプログラムPa1およびタスクBのプログラムPb2で利用されるファンクションブロックFB1をファンクションブロックFB1aに変更する場合を例に説明する。また、以下の動作は、CPUユニット1のCPU11によりシステムプログラム121が実行されることにより行われる。すなわち、システムプログラム121は、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。まず、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、このときのタスクA、BおよびCの処理については通常時と同様である。そして、通信IF15によるファンクションブロックFB1aの受信が地点P1で完了される。その後、タスクA、BおよびCの実行が完了されてからタスクA、BおよびCが再び実行されるまでの間に、オンラインエディットの編集内容が反映される。具体的には、タスクA、BおよびCの実行サイクルが同時に開始される際タスクA、BおよびCの実行が完了されてからタスクA、BおよびCの実行サイクルが再び同時に開始されるまでの間に、オンラインエディットの編集内容が反映される。すなわち、地点P2においてタスクA、BおよびCの実行サイクルが揃う際に、ROM12図2参照に記憶されたファンクションブロックFB1がファンクションブロックFB1aに更新される。これにより、ファンクションブロックFB1aの受信が完了した後であっても、タスクA、BおよびCの実行サイクルが同時に開始されるまでは、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1が用いられる。そして、タスクA、BおよびCの実行サイクルが同時に開始された後は、編集内容が反映されていることにより、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1aが用いられる。つまり、タスクA、BおよびCの実行サイクルが揃う地点P2までは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1が用いられ、タスクA、BおよびCの実行サイクルが揃う地点P2からは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1aが用いられる。第1実施形態では、上記のように、ユーザプログラムファンクションブロックFB1aを受信した後、実行される複数のタスクタスクA、BおよびCのうち、全てのタスクタスクA、BおよびCの実行サイクルが揃った場合に、ROM12に記憶されるユーザプログラムファンクションブロックFB1を受信したユーザプログラムファンクションブロックFB1aに変更する。このように構成することによって、各タスクの周期が異なっている場合にも、各タスクにおいてユーザプログラムの変更が同時に反映される。これにより、タスクA、BおよびCの実行サイクルが揃う地点P2までは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1を用いるとともに、タスクA、BおよびCの実行サイクルが揃う地点P2からは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1aを用いることができる。したがって、タスクAおよびBで用いられるファンクションブロックFB1が受信したファンクションブロックFB1aに変更される場合において、周期の短いタスクAにおいてその変更が反映される一方、周期の長いタスクBにおいて変更前のファンクションブロックFB1が保持され変更が反映されない状態が発生しない。つまり、タスクAのユーザプログラムPa1ではファンクションブロックFB1aが用いられるとともに、タスクBのユーザプログラムPb2ではファンクションブロックFB1が用いられる状態が発生しない。その結果、各タスクの演算結果の整合性を保つことができるので、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことができる。つまり、マルチタスクで処理が行われている際にオンラインエディットを適切に行うことができる。また、第1実施形態では、全てのタスクタスクA、BおよびCの実行サイクルが揃った場合に、ROM12に記憶されるPOUを更新することによって、容易に、各タスクにおいてPOUの変更を同時に反映させることができる。また、第1実施形態では、CPU11が、シングルコアであり、時分割により複数のタスクを並行して実行することによって、CPU11の処理能力を効率的に利用することができる。また、第1実施形態では、タスクBおよびCの周期がタスクAの周期の整数倍であることによって、タスクA、BおよびCの実行サイクルを揃えやすくすることができる。<第2実施形態>まず、第2実施形態によるCPUユニット1の構成について説明する。第2実施形態によるCPUユニット1図2参照は、ツール装置70からアップロードされたユーザプログラムのPOUファンクションブロックFB1aを通信IF15により受信した後、実行される複数のタスクタスクA、BおよびCのうち、オンラインエディットの対象となるPOUファンクションブロックFB1を含むタスクタスクAおよびBの実行サイクルが揃う際に、ROM12に記憶されるユーザプログラムのPOUファンクションブロックFB1を受信したPOUファンクションブロックFB1aに変更するように構成されている。なお、CPUユニット1では、CPU11により、ROM12に記憶されたタスクに関する情報L1に基づいて、オンラインエディットの対象となるPOUを含むタスクの判別を行うことが可能である。なお、第2実施形態によるCPUユニット1のその他の構成は、第1実施形態によるCPUユニット1と同様である。また、第2実施形態によるCPUユニット1の通常時の動作は、第1実施形態によるCPUユニット1と同様である。次に、図6を参照して、第2実施形態によるCPUユニット1のオンラインエディット時の動作について説明する。なお、以下では、通常時の動作が行われている際に、ツール装置70からユーザプログラムがアップロードされることにより、通信IF15によるユーザプログラムの受信が地点P1で完了した場合の動作について説明する。また、以下では、オンラインエディットの編集内容として、タスクAのプログラムPa1およびタスクBのプログラムPb2で利用されるファンクションブロックFB1をファンクションブロックFB1aに変更する場合を例に説明する。また、以下の動作は、CPUユニット1のCPU11によりシステムプログラム121が実行されることにより行われる。すなわち、システムプログラム121は、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。まず、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、このときのタスクA、BおよびCの処理については通常時と同様である。そして、通信IF15によるファンクションブロックFB1aの受信が地点P1で完了される。また、ROM12に記憶されたタスクに関する情報L1に基づいて、タスクA、BおよびCにファンクションブロックFB1が含まれているか否かが判断される。その結果、タスクAおよびBにはファンクションブロックFB1が含まれ、タスクCにはファンクションブロックFB1が含まれていないと判断される。その後、タスクAおよびBの実行が完了されてからタスクAおよびBが再び実行されるまでの間に、オンラインエディットの編集内容が反映される。具体的には、タスクAおよびBの実行サイクルが同時に開始される際タスクAおよびBの実行が完了されてからタスクAおよびBの実行サイクルが再び同時に開始されるまでの間に、オンラインエディットの編集内容が反映される。すなわち、地点P3においてタスクAおよびBの実行サイクルが揃う際に、ROM12に記憶されたファンクションブロックFB1がファンクションブロックFB1aに更新される。これにより、ファンクションブロックFB1aの受信が完了した後であっても、タスクAおよびBの実行サイクルが同時に開始されるまでは、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1が用いられる。そして、タスクAおよびBの実行サイクルが同時に開始された後は、編集内容が反映されていることにより、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1aが用いられる。つまり、タスクAおよびBの実行サイクルが揃う地点P3までは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1が用いられ、タスクAおよびBの実行サイクルが揃う地点P3からは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1aが用いられる。第2実施形態では、上記のように、ユーザプログラムファンクションブロックFB1aを受信した後、実行される複数のタスクタスクA、BおよびCのうち、編集対象のユーザプログラムファンクションブロックFB1を含むタスクタスクAおよびBの実行サイクルが揃う際に、ROM12に記憶されるユーザプログラムファンクションブロックFB1を受信したユーザプログラムファンクションブロックFB1aに変更することによって、編集対象のユーザプログラムファンクションブロックFB1が含まれていないタスクタスクCの周期が長い場合に、そのタスクタスクCの完了を待つ必要がないので、ユーザプログラムを迅速に更新することができる。また、第2実施形態では、ROM12がタスクに関する情報L1を記憶することによって、各タスクに編集対象のPOUが含まれているか否かをCPU11が容易に判断することができる。なお、第2実施形態のその他の効果は、上記第1実施形態と同様である。<第3実施形態>まず、図7および図8を参照して、第3実施形態によるCPUユニット1aの構成について説明する。なお、第1実施形態によるCPUユニット1と同一部分には同一符号を付して重複する説明を省略する。CPUユニット1aでは、図7に示すように、システムプログラム121aがインストールされており、そのシステムプログラム121aが実行されることによりCPUユニット1aの動作が制御されるように構成されている。なお、CPUユニット1aは、本発明の制御装置の一例である。CPUユニット1aは、CPU11aと、ROM12aと、RAM13と、通信IF14および15とを含んでいる。なお、CPU11aは、本発明のタスク実行手段、更新手段および判断手段の一例である。また、ROM12aは、本発明の第1記憶手段および第2記憶手段の一例である。CPU11aは、システムプログラム121aを実行する機能を有する。CPU11aは、デュアルコアであり、複数のタスクを同時に並行して実行するように構成されている。すなわち、CPU11aでは、マルチタスクで処理が実行される。なお、CPU11aのその他の構成は、上記したCPU11と同様である。ROM12aには、インストールされたシステムプログラム121aが記憶されている。また、ROM12aには、CPUユニット1aにおいて実行されるタスクに関する情報L2図8参照が記憶されている。タスクに関する情報L2には、各タスクの名称と、各タスクの優先度と、各タスクが実行される周期と、各タスクで実行されるユーザプログラムの構成と、各タスクのユーザプログラムを構成するPOUとが含まれている。なお、ROM12aのその他の構成は、上記したROM12と同様である。図8の例では、タスクDは、タスクEよりも優先的に実行されるとともに、1msの周期で実行される。すなわち、タスクDは、1回分の制御サイクル1msの時間間隔を実行サイクルとしている。また、タスクDは、プログラムPd1およびPd2により構成されるユーザプログラムUPdを含んでいる。また、タスクDには、プログラムPd1で利用されるファンクションブロックFB4が含まれている。なお、タスクDは、本発明の基準のタスクの一例である。また、タスクEは、タスクDよりも劣後して実行されるとともに、2msの周期で実行される。すなわち、タスクEは、2回分の制御サイクル2msの時間間隔を実行サイクルとしている。また、タスクEの周期は、タスクDの周期の整数倍2倍に設定されている。また、タスクEは、プログラムPe1およびPe2により構成されるユーザプログラムUPeを含んでいる。また、タスクEには、プログラムPe2で利用されるファンクションブロックFB4が含まれている。なお、タスクEは、本発明の基準のタスク以外のタスクの一例である。第3実施形態によるCPUユニット1aは、ユーザプログラムのPOUファンクションブロックFB1aを通信IF15により受信した後、実行される複数のタスクタスクDおよびEのうち、全てのタスクタスクDおよびEの実行サイクルが揃う際に、ROM12aに記憶されるユーザプログラムのPOUファンクションブロックFB1を受信したPOUファンクションブロックFB1aに変更するように構成されている。次に、図9を参照して、第3実施形態によるCPUユニット1aの通常時の動作について説明する。なお、以下の動作は、CPUユニット1a図7参照のCPU11aによりシステムプログラム121aが実行されることにより行われる。すなわち、システムプログラム121aは、CPUユニット1aに以下の動作を実行させるためのシステムプログラムである。CPUユニット1aでは、電源が投入されると、所定の初期処理が実行される。そして、制御サイクルと同時にタスクDおよびEの実行サイクルが開始される。なお、タスクDは1msの周期で実行され、タスクEは2msの周期で実行される。第3実施形態によるCPUユニット1aでは、タスクDおよびEが並行して処理される。そして、タスクDの処理が完了した後、タスクDおよびEの実行サイクルが同時に開始されてから1ms経過すると、タスクDの実行サイクルが経過することから、タスクDの実行が開始される。その後、タスクDの処理が完了され、タスクEの処理が完了された後、タスクDおよびEの実行サイクルが同時に開始されてから2ms経過すると、タスクDおよびEの実行サイクルが経過することから、再びタスクDおよびEが実行される。その後、上記した動作が繰り返し行われる。なお、第3実施形態によるCPUユニット1aのオンラインエディット時の動作は、第1実施形態によるCPUユニット1と略同様である。第3実施形態では、上記のように、CPU11aが、デュアルコアであり、複数のタスクを同時に並行して実行することによって、タスクの処理能力の向上を図ることができる。なお、第3実施形態のその他の効果は、上記第1実施形態と同様である。なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。たとえば、第1実施形態では、PAC100がCPUユニット1と、入力ユニット2と、出力ユニット3と、電源ユニット4とを備える例を示したが、これに限らず、PACが通信ユニットなどのその他のユニットを備えていてもよいし、PACに入力ユニットが設けられていなくてもよい。また、第1実施形態では、PAC100が複数のユニットにより構成される例を示したが、これに限らず、PACが1つの筐体により構成され、その筐体に各ユニットの機能が組み込まれていてもよい。また、第1~第3実施形態において、タスクには、定期的に実行されるタスク定周期タスクに加えて、予め設定された実行条件が成立した場合に実行されるタスクイベントタスクが含まれていてもよい。また、第1~第3実施形態では、編集対象がファンクションブロックである例を示したが、これに限らず、編集対象がファンクションであってもよい。また、第1~第3実施形態では、編集対象のPOUファンクションブロックが1個である例を示したが、これに限らず、編集対象のPOUが複数であってもよい。また、第1および第2実施形態では、ROM12が、タスクに関する情報L1を記憶するとともに、ユーザプログラムを記憶する例を示したが、これに限らず、タスクに関する情報を記憶するROMと、ユーザプログラムを記憶するROMとが別個に設けられていてもよい。なお、第3実施形態についても同様である。また、第3実施形態において、タスクの数が3個以上ある場合に、CPUが、実行される複数のタスクのうち、編集対象のPOUを含むタスクの実行サイクルが揃う際に、ROMに記憶されるPOUを更新するようにしてもよい。また、第3実施形態では、CPU11aがデュアルコアである例を示したが、これに限らず、たとえば、CPUがクアッドコアであってもよい。すなわち、CPUのコアの数はいくつであってもよい。