A programmable logic controller system that is connectable to a plurality of program development support apparatuses capable of generating or changing a user program, the programmable logic controller system including a controller, the controller comprising: a task execution unit configured to execute a task repeatedly in a predetermined period, the task including processing for executing a user program for controlling a control target device; characterized by: a first storage unit configured to store a data container, which is a data folder containing a user program resource (119a-1) comprising a file including a source program used to generate the user program; a first change management unit configured to: when the data container stored in the first storage unit is changed by any of the program development support apparatuses, store a change record (119b-1) of the data container into a first update history, and store a new data container generated using the change record into the first storage unit; and a first user program generation unit configured to generate the user program using a new user program resource (119a-1) contained in the new data container stored in the first storage unit. a task execution unit configured to execute a task repeatedly in a predetermined period, the task including processing for executing a user program for controlling a control target device; characterized by: a first storage unit configured to store a data container, which is a data folder containing a user program resource (119a-1) comprising a file including a source program used to generate the user program; a first change management unit configured to: when the data container stored in the first storage unit is changed by any of the program development support apparatuses, store a change record (119b-1) of the data container into a first update history, and store a new data container generated using the change record into the first storage unit; and a first user program generation unit configured to generate the user program using a new user program resource (119a-1) contained in the new data container stored in the first storage unit. a first storage unit configured to store a data container, which is a data folder containing a user program resource (119a-1) comprising a file including a source program used to generate the user program; a first change management unit configured to: when the data container stored in the first storage unit is changed by any of the program development support apparatuses, store a change record (119b-1) of the data container into a first update history, and store a new data container generated using the change record into the first storage unit; and when the data container stored in the first storage unit is changed by any of the program development support apparatuses, store a change record (119b-1) of the data container into a first update history, and store a new data container generated using the change record into the first storage unit; and a first user program generation unit configured to generate the user program using a new user program resource (119a-1) contained in the new data container stored in the first storage unit.