注: 64位LabVIEW不支持使用DataSocke连接至OPC服务器。
在项目开发过程中,需要在labview上读取西门子plc的参数实时参数值,于是查找了很多资料,可以实现的方法有多种,这里记录的是其中成功实现的一种。
准备软件:opc scout v10,labview
1.plc搭建opc服务器,设定通信的ip,包括plc的ip和电脑端的ip,导出xdb文件;(这里由于负责plc部分的不是我,所以只能概括该怎么做,具体可查阅各品牌plc的搭建过程)
2.将xdb文件导入,打开程序(图2-1),修改station name为xdb文件名,import导入xdb文件(图2-2);
图2-1
图2-2
3.打开opc scout v10,选择西门子opc.simaticNET\s7\s7_connection1\objects\M,选择[new definition]新建变量,填入变量类型、变量地址、(number of val)1个(图3-1),再讲变量拖放到右下角监视区域(图3-2),点击开始监视即可获得数据。
图3-1
图3-2
4.此时电脑已经可以读取到plc的数据了,下一步是将数值读取到labview,labview通过datasocket的方式将plc的opc server进行数据读取;首先要知道变量地址在哪,labview才能去访问,新建程序如图,打开程序便会选择需要连接的变量,路径的选择与第三步一致,找到MREAL272(图3-1),点击确定,即可在文本框中生成labview可以访问的路径形式,后续程序将以此为基础进行读写。
图4-1
5.参数读写,编写labview程序
在前面板创建一个显示控件,右键属性-如图5-1配置,其中路径处填入第4步生成的路径,确认;
启动程序,如果右上角的datasocket指示灯绿色,则表示已经读取到,否则为红色(参考图5-2);
那么恭喜,剩下可以根据自己的需求进行编写程序了,需要注意的是,对于程序逻辑要清晰,可能出现plc操作时被电脑控制而无法修改等程序上的问题,这只需要在labview程序中就能解决。
图5-1
图5-2