One of the best methods would be to use an OPC Server to handle the communication to the PLC. Then, LabVIEW can talk to the OPC Server using DataSocket functions (or the DSC module, if the channel count is high). A general overview of this technique is described in the KnowledgeBase "Where Can I Find Drivers for Communicating to PLCs, RTUs, and Other Industrial Hardware", linked below. Also linked below are some articles specific to the S7 series PLCs.
I am assuming you are not using LabVIEW RT, even though this is posted in the "Real-Time Data Acquisition" group. So one warning - if you are indeed using RT, then the OPC solution will not work.
KnowledgeBase : Where Can I Find Drivers for Communicating to PLCs, RTUs, and Other Industrial Hardware:
h
ttp://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/13ee0a9e2c43f0db86256a6100722651?OpenDocument
KnowledgeBase: Siemens S7 PLC With HMI Adapter:
http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/cc021cd15890283286256a33006eba74?OpenDocument
KnowledgeBase: Siemens S7_HMI OPC Driver: What is an HMI Adapter?
http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/e1e8217c676e56e4862569fb00734615?OpenDocument
Regards,
Greg Caesar