Keyvan, what PLC's are you thinking of specialising on, although knowledge of as many as possible is a good thing I suggest you certainly concentrate at first on a couple, also consider if ladder, FBD or ST is the ones you want to start with.
Ladder is still used extensively but FBD & ST are making ladder increasingly obsolete.
To learn (if at your cost) then consider some of the freebies out there although rarely used in real situations as the most used systems do cost. Many now have simulators so you do not need a real PLC, although the functionality may be limited i.e. no real I/O especially analogues or special function cards.
Real projects are fine but the things you really need to get your head around are the Boolean logic, how a PLC program is scanned (you often can utilise the way a program works to make your logic work well i.e. a program ( in most cases scans from left to right, top to bottom) so for example creating a one shot (on for one scan) is simple.
Think about simple projects i.e. a set of traffic lights, batching process (filling a tank with different ingredients & mixing, perhaps heating & discharge).
In many respects a PLC program will be a set of sequences so step sequences are a thing to learn, how to create this is up to you but the main two ways are using Boolean bits to step on or even better a sequence word where you put a number into a variable, compare then when that bit of sequence has completed, move another value into it i.e. step on so the "ENGINE" of the sequence uses values to determine what logic is next processed.