Classes for automation programming of PLCs are offered through manufacturers as well as through colleges and universities. The classes offered by manufacturers provide instruction specific to their brand of PLC. Formal classes will provide everything necessary for hands-on training and book learning.
Many students don't have the hours available to attend formal classes. Training online is available for these students to learn how to program PLCs for automation. Any equipment necessary for hands-on training will need to be provided by the student.
Some students don't have the time or money for in-person or online classes. Those students often choose to teach themselves using the resources online and at their place of employment. There are simulator programs that only require a computer to program and simulate the automation process.