The paper proposes a new method to automatically extract all fuzzy parameters of a Fuzzy Logic Controller (FLC) in order to control nonlinear industrial processes. The learning of the FLC is performed from controller input/output data and by a hierarchical genetic algorithm (HGA). The algorithm is composed by a five level structure, where the first level is responsible for the selection of an adequate set of input variables. The second level considers the encoding of the membership functions. The individual rules are defined on the third level. The set of rules are obtained on the fourth level, and finally, the fifth level, selects the elements of the previous levels, as well as, the t-norm operator, inference engine and defuzzifier methods which constitute the FLC. To demonstrate and validate the effectiveness of the proposed algorithm, it is applied to control a simulated water tank level process.