You are facing an incredibly steep learning curve if you select the Siemens PLC. I use these daily, and I can tell you that they are nowhere near as comprehensible as Allen Bradley products, and many others.
One reason is the fact that Siemens documentation is poorly translated from the original German, and the logical mindset of German engineers doesn't quite line up with ours (USA). It's definitely not wrong, it works very well, its just different, and hard to wrap your mind around.
There's that, and there's the enormous expense of the software and licenses, the I/O modules, and the grey hair that you will certainly develop as you attempt to get the PLC to do the simplest things.
Around here we say that "Siemens make the difficult tasks easy, and the easy tasks impossible!"
Programming these devices requires the use of Siemens Step7 software, which has been constructed over the years from an antique kludge of patches that mainly fixed bugs that arose as Microsoft updated its Windows offerings with service packs that many times broke the functionality of the Step7 software.
Want to address an array in Step7 using an index variable? Forget it!
That's right, one of the most fundamental functions in programming has been ignored by Siemens for better than 15 years!
Why? Because you can use indexed arrays only if you purchase a license for Siemens SCL, and then learn how to use it, and it ain't cheap!
Or, you could take another 4 years of computer science so you can understand Siemens implementation of indirect addressing using STL, which is Siemens diabolical clone of assembly programming. You think pointers are a pain in C++? Just try STL.
Look at Automation Direct's (www.automationdirect.com) lineup; the DL06 is extremely powerful, expandable, easy to learn and use, and cheap. You could buy additional DL06's cheaper than one Siemens I/O module, slave them to a master (I've done this because a DL06 is cheaper than some of its expansion modules) and have a nearly unlimited network of home automation devices that won't cost you tens of thousands to construct, and won't expose you to the time and frustration that Siemens products will.
If Siemens were selling these products to REAL mainstream-type IT programmers, they would be out of business in a month.
Siemens products work very well, but their implementation process sucks big time.