WinCC与S7-200PLC通过PPI协议进行通信的实现
详细内容
Win如何读取PLC数据profibus通讯,加EM277模块,CP5611卡,建立与S7-200通讯,各项设置完成,WIN中新建了profibus的外部变量ReadPLc,对应PLC单元地址。下一步是win如何获得PLC单元的值?也就是说win如何读取外部变量并存储在全局脚本中的一个全局变量中.问题补充:各位大虾,好象S7-200加了EM277模块就可以不用pc AESS ,走PROFIBUS通讯就行了,S7-200和WIN中的PROFIBUS、cp5611 都配煤昧耍琖IN--- 变量中新建了PROFIBUS DP ,在CP5412 BORD1 中新建了变量ReadPLc,剩下就是如何读取ReadPLc的值?最佳答案电脑要安装PC AESS软件.在PC AESS中,把要取的PLC的变量设置好.例如:取PLC的VB10数值,在PC AESS中设置VB10.
在WIN中要选择OPC的通道.硬件连接好后,在OPC通道中就能够看到PC AESS中设置的VB10,把VB10选中后就相当与你把VB10的数值取到了WIN中.
VB10就是WIN的外部变量.在WIN中你在把VB10的数值写入一个全局变量中就行了.外部变量就是全局变量-----------------------------------------------------------------------------------------------------------------------------------
1、主站:win5应该带有modbus通讯驱动,win6可以通过modbus opc server实现。从站:在s7200项目中添加modbus slave协议库(microwin帮助中有详细介绍)。主从站的通讯参数必须一致。
2、pc aess其实就是一个s7 200 opc server(ppi),比采用modbus简单易用,由于采用ppi协议,plc项目中不必另嵌通讯处理程序。
3、pc/ppi电缆也可以用市售的rs232/485转换器代替。
Win与S7-200系列PLC通过PPI协议进行通信的实现。
PPI协议是西门子S7-200系列PLC常用通信协议,但Win中没有集成该协议,即Win不能直接监控S7-200系列PLC组成的控制系统。S7-200 OPC Server是西门子公司推出的专为解决上位机监控S7-200系列PLC控制系统的接口软件。因此,Win可以通过该软件与S7-200系列PLC很方便的建立通信。
(1) 软硬件要求:
* PC机 ,Windows 98操作系统;
* S7-200系列PLC。
* PC/PPI电缆。
* 安装S7-200 OPC Server 软件。
* 安装Win 4.0软件。
(2)连接:
在控制面板中设定PG/PC接口参数。在Aess Point of the Application中选择puting,Interface参数选择PC/PPI Cable。
在Win变量管理器中添加一个新的驱动程序,新的驱动程序选择OPC.CHN,在OPC GROUP中新建一个连接,打开属性,选择 OPC Group Setting,OPC服务器名称为OPCServer.Microputing。然后在新添加的连接中新建变量,变量的Item Name与S7-200系列PLC中用于监控的变量名对应。例如:Item Name为M0.0。
(3)优缺点
优点:该方法连接简单、硬件投资少、可以读写S7-200系列PLC中所有存储区域。缺点:通信速度比较慢、需要OPC软件及相应授权、系统扩展不方便。应用场合:用于低速、实时性要求不高、系统投资资金有限的系统。
另外,也可以通过其他公司的OPC软件进行通信,例如用开普的KEPServerEx作为OPC服务器,用Win作为OPC客户端来读写S7-200系列PLC内部数据区。实现与上述第二种方法类似,不同的是必须在OPC服务器中建立标签与S7-200系列PLC中存储地址对应。
在复杂系统中,如果系统中同时有S7-200系列PLC和S7-300系列PLC存在,S7-200系列PLC一般作为S7-300系列PLC的从站挂到Profibus总线上,Win通过S7-300系列PLC对S7-200系列PLC进行监控。
-----------------------------------------------------------------------------------------------------------------------------------
由于win推出比s7-200要晚,故其对s7-200的支持不好。所以s7-200(即使支持MPI)不能想s7-300/400那样直接和win通讯。西门子为此专门编写了PC Aess 软件来解决win与s7-200的通讯问题。
结构如上图所示。PC Aess与s7-200直接通讯,然后作为winnc的OPC Server为win提供数据;win作为OPC Client使用这些数据,间接与PLC通讯。
网上的经验之谈:
采用OPC通讯
1,用STEP7 MICROWIN完成S7-200的工程建立和编程,其中必须为OPC准备好符号表。注意符号表名称以及表中变量名都禁用中文,这是OPC的要求。
2,安装PC AESS,然后导入前面建立的S7-200符号表,同时定义PC aess到S7-200的通讯。这在PG/PC INTERFACE中完成。具体通过PPI,或MPI,或PROFIBUS,或以太,或MODEM均可以,根据所用硬件定。
3,进入win,添加OPC驱动,定义OPC的属性时点击浏览。浏览路径是LOCAL/SIMATIC S7-200 OPC SERVER,由此按提示将导入到PC AESS中的变量添加到win。
4,进入win完成其他组态,即可引用S7-200中的变量。
5,注意如果通过以太网访问时,需要在STEP7 MICROWIN中完成通讯的连接定义,以及通讯双方的TSAP的定义。
特别要注意几点
1、只有将所希望采集的数据地址在符号表里标明后,才能自动输入到PC AESS里
2、建议文件名和符号表的名字都别用中文,因为我出过问题,改成英文就OK了,也没有多加验证
3、采集过来的带D的数据区(如VD100)默认是双整,如果在程序中是实数,则需要修改数据类型,文件中有图
4、WIN中的OPC条目管理器可能不会显示你PC AESS所在的计算机,可以通过单击"计算机",然后输入计算机名来搜索
问题:pc/ppi在9.6kbit的波特率下,win与s7-200的通讯正常;而在19.2kbit的波特率下(PC/PPI电缆已设置且PC Aess软件也已设置),win与PLC的通讯中断。
我的PLC的型号比较老,不是2.0版,是1.1版,有关系吗?
