
一、概述
西门子PLC是目前测控领域使用比较广泛的PLC,要使用LabVIEW通过TCP
与西门子PLC通信,必须对PLC进行相应的编程,建立TCP通信接口才能实现。本文介绍了一种完全不需要对PLC进行编程的方法,完全通过LabVIEW编写,包含Siemens_S7_createConn、Siemens_S7_Readbyte[]、Siemens_S7_Writebyte[]3个子VI。子VI由电子发烧友论坛SevenLi8408提供,经过作者二次验证S7-200、S7-200Smart、S7-300、S7-1200、S7-1500均可通信成功。子VI可到电子发烧友论坛输入“破解西门子协议,实现PLC无编程即可直接访问。完全替代落伍的OPC”搜索,找到后自行下载。
二、Siemens_S7_createCon
该子VI用于与西门子PLC建立连接,如图1所示。
1 Siemens_S7_createCon子VI
三、Siemens_S7_Readbyte[]
该子VI可用于读取西门子PLC的数字量输入输出点、M存储区、数据块等,如图2所示。西门子PLC的输入点8个为一组,count表示有几组。Readdata是一个数组,Readdata[0]表示I0.0-I0.7。
图2 Siemens_S7_Readbyte[]
四、Siemens_S7_Writebyte[]
该子VI可用于写西门子PLC的数字量输入输出点、M存储区、数据块等,如图3所示。写布尔量也是8个一组,所以要写Q0.0-Q0.7和Q1.0-Q1.7时需要使用两个写子VI。
图3 Siemens_S7_Writebyte[]
五、读布尔量
六、写布尔量
