今日头条
在LabVIEW中使用OPC连接PLC,通过LabVIEW前面板的端口控制PLC输出端口(输入端口的读取很简单,看完输出控制输入肯定也懂了):
遇到问题: 1. OPC连接不上PLC
2. LabVIEW只能读取PLC输入端口,无法控制PLC输出端口
3. LabVIEW控制PLC输出端口延时太长(将近1分钟相应)
下面详细介绍从OPC软件到PLC软件再到LabVIEW方面之间的详细操作流程:
使用软件: PLC : STEP7V13 OPC : LabVIEW2016下的DSC模块 LabVIEW: LabVIEW2016
PLC部分:
这里使用的是博图STEP7V13软件,在完成基本的组态(这里只有一个CPU1214C,所以只要在组态面板中添加一个CPU即可)
之后需要将PLC设置为允许远程伙伴(PLC,HMI,OPC...)使用PUT/GET通信访问 这样OPC才能够通过以太网进行访问。
基本的设置完成之后,写一个简单的程序,即由线圈M0.0~M0.3输出控制Q0.0~Q0.3,如下:
之后保存项目,然后下载到PLC中(PLC的IP地址需要和电脑网卡的IP地址在同一网段)。
第一次下载会出现下面的界面,然后选定好之后,通过搜索可以检索到同一网段下的PLC,之后下载。
这样PLC方面的工作就结束了。
OPC软件部分:
打开OPC软件,选择 file->new 创建一个新的OPC文件,点击 Click to add a channel 来添加一个通道
接下来就一直都是按照默认选项,知道完成。
之后会出现一个通道,然后在下面需要添加设备
下面就一直按照默认,直到完成创建。
创建完成之后,保存项目,然后点击 Runtime -> Connect 使得OPC连接到PLC
然后 点击 Tools -> Launch OPC Quick Client 来模拟检测运行OPC。
出现下面的监控界面:
可以点击某一个变量,然后 右键 -> Synchronous Write 出现如下界面:
这时候,PLC的输出Q0.0应该已经被点亮
到此为止,OPC连接PLC方面也解决完毕。
LabVIEW部分:
此时,在OPC软件打开的情况下,在LabVIEW中创建一个项目,然后新建IO服务器,如下图所示。
点击OPC Client,然后 点击继续
之后选择NI的OPC服务器,点击OK
然后保存项目,将刚才创建的OPC服务器的Lib重命名。
之后点击OPC服务器下面的OPC1,右键 -> 创建绑定变量
然后添加OPC中的变量。
之后就会在项目列表中出现这些变量:
在LabVIEW中创建一个VI,将刚才创建的变量拖入到程序框图面板中
这个变量可以 右键 -> 访问模式 -> 读取/写入 来调整变量的输入输出,这里要注意的是 这里面的变量在前面板是没有显示控件的
然后程序框图和前面板如下::
运行后,就可以通过LabVIEW前面板上面的按键控制PLC的输出(延时时间基本在1s左右)
至此,LabVIEW通过OPC控制PLC就完成了。
相应的测试程序见附件
问题解决:
1.OPC连接不上PLC
解决办法: 在STEP7V13里面组态的时候,需要将常规 -> 保护 -> 允许远程伙伴(PLC,HMI,OPC...)使用PUT/GET通信访问 ,重新下载就能解决。
2.LabVIEW只能读取PLC输入端口,无法控制PLC输出端口
解决办法: 之前PLC中的程序是I0.0~I0.3直接控制Q0.0~Q0.3,这样因为输入一直为0,而LabVIEW控制只是单次输出,所以会出现输出端口闪一下之后就一直为低电平,之后将输入控制的程序删除就好。
3.LabVIEW控制PLC输出端口延时太长(将近1分钟相应)
解决办法: 之前出现这个原因是 PLC中没有程序(空程序),然后OPC中建立的变量直接连接输出端口Q0.0~Q0.3,,这样就会出现延迟将近1分钟的现象。现在在PLC的程序中使用中间继电器M0.0~M0.3控制Q0.0~Q0.3,之后OPC建立的变量是控制M0.0~M0.3,从而实现控制,这样延迟基本在1s左右。
全部0条评论
快来发表一下你的评论吧 !