It would be hard to make one for less than the cost of a PLC from Automation Direct, EZAutomation, or Triangle Research. Either way, you can possibly get started for under $150 USD.
Yes, even for a guy who firmly believes in "Do it yourself and learn something" I doubt that you could build one for less than the click and then you would have to write the software. The Click software is free and quite usable. There are some simulators for various types, but PLC programming has a fairly strong hands on component. I have seen many whiz through the computer based training and be at a total loss when they sat down with the real thing.
MAKE A PLC!!! you will end up spending more money, that is if you could finally make one. Please, do not try to reinvent the wheel.
Anyway, you either may:
1) Get Soft PLC (software plc) without physical I/Os, and run all the application programmes ,which you will be creating, in PC-simulated mode
or
2) simply get a small PLC with software included!!! .. try the smallest TWIDO from Modicon/Schneider Electric ... You can also get a DEMO PACK from them .. it is CHEAP and it supports ALL functions, i.e. Analogue, Discrete, and even High Speed Inputs.
It comes with Free Software and Programming Cable as well.
I guess the total cost is around 200US$, or may be less.
Below are the two highest quality, yet cost effective solutions to hands-on self taught PLC training.
1. the PLC Trainer (Pre-assembled, MicrolLogix, wired lights and switches, cable, usb converter, free PLC access software download, + 7 PLC Programming Training Lesson on CD) cost US$269.00 See "PLC Trainer" at bin95.com
2. PLC Training 2 CD set. (One CD teaches basics, and use of software, the other CD has real world simulations to challenge you to write programs for each, working out you logic and learning while you do.) US$159.99 This second CD option, while less expensive than the PLC Trainer mentioned above that uses actual PLC, requires more of the student when on their own, and student won't get experience going online with actual PLC.
Both options available at the above site, I would recommend option 1, fist, then maybe later, tackle option 2.