A controller (154, 164) for performing a control operation associated with a control target, the controller (154, 164) comprising: a communication interface configured to electrically connect at least one function unit to the controller (154, 164) through a data transmission path; and a writing unit configured to write an observation value obtained through the function unit into a database; characterized in that the controller (154, 164) further comprises: a delay obtaining unit configured to obtain a delay time taken from when a signal indicating an observation value is input into the function unit to when data representing the observation value becomes usable in the controller (154, 164), and store information indicating the obtained delay time; a time determination unit configured to determine a time at which the signal indicating the observation value has appeared based on the information indicating the delay time obtained by the delay obtaining unit; and wherein: the writing unit is configured to associate the observation value with the time at which the observation value becomes usable in the controller (154, 164), and to write the observation value and the time into the database, and the time determination unit is configured to correct the time associated with an observation value read from the database based on the information indicating the delay time obtained by the delay obtaining unit to determine the time at which the signal indicating the observation value has appeared. a communication interface configured to electrically connect at least one function unit to the controller (154, 164) through a data transmission path; and a writing unit configured to write an observation value obtained through the function unit into a database; characterized in that the controller (154, 164) further comprises: a delay obtaining unit configured to obtain a delay time taken from when a signal indicating an observation value is input into the function unit to when data representing the observation value becomes usable in the controller (154, 164), and store information indicating the obtained delay time; a time determination unit configured to determine a time at which the signal indicating the observation value has appeared based on the information indicating the delay time obtained by the delay obtaining unit; and wherein: the writing unit is configured to associate the observation value with the time at which the observation value becomes usable in the controller (154, 164), and to write the observation value and the time into the database, and the time determination unit is configured to correct the time associated with an observation value read from the database based on the information indicating the delay time obtained by the delay obtaining unit to determine the time at which the signal indicating the observation value has appeared. a delay obtaining unit configured to obtain a delay time taken from when a signal indicating an observation value is input into the function unit to when data representing the observation value becomes usable in the controller (154, 164), and store information indicating the obtained delay time; a time determination unit configured to determine a time at which the signal indicating the observation value has appeared based on the information indicating the delay time obtained by the delay obtaining unit; and wherein: the writing unit is configured to associate the observation value with the time at which the observation value becomes usable in the controller (154, 164), and to write the observation value and the time into the database, and the time determination unit is configured to correct the time associated with an observation value read from the database based on the information indicating the delay time obtained by the delay obtaining unit to determine the time at which the signal indicating the observation value has appeared. the writing unit is configured to associate the observation value with the time at which the observation value becomes usable in the controller (154, 164), and to write the observation value and the time into the database, and the time determination unit is configured to correct the time associated with an observation value read from the database based on the information indicating the delay time obtained by the delay obtaining unit to determine the time at which the signal indicating the observation value has appeared.