A technique for enabling reduction in user operations. A program generating apparatus includes a control distribution unit and a communication function adding unit. The control distribution unit allocates respective control blocks of a control model to controllers, based on the control model received by a control model input unit, and setting information and connection information received by a setting information input unit. The communication function adding unit adds, when first and second ones of the control blocks are connected to each other, a communication control block to a connected part between the first and second control blocks, the first and second control blocks being allocated to different ones of the controllers in the allocated control model.
Cary A. Henry