A Flexible Manufacturing System (FMS) is an integrated, computer-controlled system of machines, automated handling systems, and storage systems that can be used to simultaneously manufacture a variety of jobs. FMSs can be characterized as asynchronous, concurrent, distributed and parallel systems in which multiple operations share multiple resources so that the performance criteria are optimized. Petri nets (PNs) have recently become a promising approach for modeling FMSs. PNs are formal graphical modeling tool that can be efficiently utilized as a process analysis and modeling tool, because it shows graphically and dynamically to simulate a process in an integrated manner. It is a mathematical modeling technique that is useful for modeling concurrent, asynchronous, distributed, parallel, nondeterministic, and stochastic systems. Unreasonably the dispatching resources/jobs to machine in FMS may result in a deadlock situation and the situation is studied thoroughly and avoided through PN techniques. From the design and analysis point of view, the uses of nets have many advantages in modeling, performance evaluation, qualitative analysis and code generation. Scheduling a manufacturing system is usually a Non-Polynomial hard problem. This means that only heuristic algorithms can be used to provide near-optimal schedule when it is merged with PN. The merging of PNs with knowledge based heuristic techniques seems to be very promising to deal with large complex discrete event dynamic systems. This paper presents a comprehensive survey of FMS that combines PNs with other methods.