Industrial plants are controlled using sequence control programs running on programmable controllers. Sequence control program design has been carried out manually, and an increase in applications of programmable controllers has caused a shortage of programmers. Therefore, automatic programming systems are strongly required in this field. Controllers receive operation signals from plant operators and current plant states through sensors, then select actions that have to be executed. Sequence control programs consist of a large amount of control logic (about 100K program steps) for such decisions. The following problems were found in previous manual designs of sequence control programs: First, control logic is often omitted. Second, programs might include some mutual contradictions. Third, information that is necessary to complete one program step is distributed in several different kinds of specification document. It costs too much time for program designers to understand specifications. Fourth, alteration of control specifications often occurs, resulting in a wide range of program modifications. The purpose of the automatic programming system (cad-pc/ai) described in this chapter is to reduce these difficulties to increase productivity and improve the quality of sequence control program design. Moreover, it aims to facilitate a systematic accumulation of design knowledge.