A programmable logic controller comprising: a function block (FB) executing unit configured to execute an FB including a function of changing an operation setting value of a control object device , wherein the operation setting value is usable to cause the control object device to perform a desired operation; and a storage in which a setting data file referred to during operation of the FB is stored, wherein the setting data file includes at least destination information and the operation setting value, wherein the FB executing unit comprises an object specification unit configured to specify a destination of the control object device , and the object specification unit is adapted to switch, in accordance with a setting change instruction from a human machine interface, between the specification of the destination of the control object device based on the destination information comprised in the setting data file and the specification of the destination of the control object device based on destination information comprised in instruction data from the human machine interface, wherein the destination of the control object device is at least one of - a node address of a network managed by the programmable logic controller , - a unit number of a slave device (300-1, 300-2) including a plurality of units, the slave device (300-1, 300-2) being connected to the programmable logic controller , and - a port number of the slave device (300-1, 300-2) including the plurality of units, the slave device (300-1, 300-2) being connected to the programmable logic controller , wherein the setting data file is an IODD file, and the control object device is an IO-Link device. a function block (FB) executing unit configured to execute an FB including a function of changing an operation setting value of a control object device , wherein the operation setting value is usable to cause the control object device to perform a desired operation; and a storage in which a setting data file referred to during operation of the FB is stored, wherein the setting data file includes at least destination information and the operation setting value, wherein the FB executing unit comprises an object specification unit configured to specify a destination of the control object device , and the object specification unit is adapted to switch, in accordance with a setting change instruction from a human machine interface, between the specification of the destination of the control object device based on the destination information comprised in the setting data file and the specification of the destination of the control object device based on destination information comprised in instruction data from the human machine interface, - a node address of a network managed by the programmable logic controller , - a unit number of a slave device (300-1, 300-2) including a plurality of units, the slave device (300-1, 300-2) being connected to the programmable logic controller , and - a port number of the slave device (300-1, 300-2) including the plurality of units, the slave device (300-1, 300-2) being connected to the programmable logic controller , wherein the setting data file is an IODD file, and the control object device is an IO-Link device. wherein the setting data file is an IODD file, and the control object device is an IO-Link device. <EOS>