WinCC学习笔记第二弹——WinCC与PLC之间的通讯

在《驼子的学习笔记——利用TIA创建WinCC画面,监控电机的正反转》一文中,我们介绍了如何用WinCC与S7-300/400PLC建立起联系,并实时监视与控制过程数据。利用TIA来创建WinCC画面简单、快捷,但我们仍然要了解WinCC与PLC之间的通讯机制,今天我们就一起探讨一下这个话题。

以下所有的讨论都是基于WinCC与仿真PLC(即PLCSIM,如图1所示)之间的通讯的。

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图1 PLCSIM

一、添加驱动程序

新建一个WinCC项目,右键单击"变量管理",选择"添加新的驱动程序",在打开的窗口中,选择"S7协议集",如图2所示。WinCC与S7-300/400之间的通讯都是基于S7协议集的。

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图2 添加新的驱动程序

二、建立连接

S7协议集中,包含了诸多通讯协议,如:MPI、PROFIBUS、工业以太网等。根据PLC端实际的硬件配置,选择合适的通讯协议(这里我们选用PROFIBUS协议),按照图3所描述的步骤建立PROFIBUS下的通讯连接。

建立好连接后,要设置连接属性,步骤如图4所示。主要要设置好"站地址","机架号"、"插槽号"等几个值。其信息要到PLC的硬件配置中查询,如图5所示。这几个值不能写错,不然通讯无法建立。

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图3 建立连接

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图4 设置连接属性

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图5 PLC侧的硬件配置信息

三、新建外部变量

在上面建立的连接"connect1"下,新建变量,并与PLC的工程数据建立关联。如图6所示,这里新建一个二进制变量NewTag,并将其与PLC的M0.0关联起来。这样,若PLC侧M0.0变化,则NewTag的值也随之变化;相反,WinCC侧的NewTag改变,M0.0也会相应改变。

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图6 新建变量

四、设置PG/PC接口

如图7所示,右键点击"PROFIBUS",查看或修改逻辑设备名称,这里要记住其逻辑设备名称:CP_L2_1:。然后打开"设置PG/PC接口"窗口,在"应用程序访问点"中,写入逻辑设备名称"CP_L2_1:",并选择通讯板卡,这里选择"PLCSIM(PROFIBUS)",如图8所示。如此,WinCC与PLC通讯的最后一步也完成了。

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图7 逻辑设备名称

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图8 设置PG/PC接口

五、新建画面,测试

新建画面,在画面中分别放置一个"输入/输出域"和一个按钮,实现以下功能:

1、"输入/输出域"关联变量"NewTag",其可以更改并显示"NewTag"的实时值,即M0.0的状态;

2、按下按钮,NewTag的状态反转,即"NewTag=0"时,按下按钮,"NewTag=1",反之,亦然;

3、按钮的背景颜色随"NewTag"的不同而不同,"NewTag=0",背景色为蓝色;"NewTag=1",背景色为绿色。

上述功能的具体实现过程,这里暂时留下不表,图9为仿真测试结果。

WinCC学习笔记第二弹——WinCC与PLC之间的通讯

图9 通讯测试

五、思考

惯例留下思考问题,供有兴趣的小伙伴发散思维:

1、 WinCC与多个PLC进行数据交换,在通讯组态上有什么异同?

2、 测试画面的各个功能是如何实现的?


分享到:


相關文章: