S7 PLC与WINCC的MPI通讯
图解西门子PLC与Wincc间的通讯方式

图解西门子PLC与Wincc间的通讯方式西门子WINCC与SiemensPLC通讯连接有多种方式,下面介绍两种常用的通讯方式。
一、采用普通网卡通过TCP/IP与PLC通讯,通过以太网实现WICC与PLC系统连接的前提条件是PLC系统配置有以太网模块或者使用带PN接口的PLC,以太网模块如CP443-1或者CP343-1,带PN接口的PLC如CPU 315-2PN/DP。
以下为采用普通网卡CP443-1的通讯连接。
1. STEP7硬件组态使用STEP7编程软件对PLC系统进行硬件组态,在“硬件”配置窗口插入实际的PLC硬件,如图1所示:▲图1 STEP7硬件组态2. 双击CP443-1槽的CP443-1,弹出属性对话框,如图2所示:▲图2 CP443-1属性对话框3. 点击图2属性对话框,弹出网络参数设置对话框,点击“新建”按钮,新建一个以太网络,输入以太网模块CP443-1的IP地址,通常情况下,不需要启用网关。
如图3所示:▲图3 参数设置注意事项:如果采用TCP/IP协议通讯方式,必须启动“正在使用IP协议”,将组态好的硬件下载到CPU,则PLC设置完成了!4. 设置安装WINN(通常为工程师站ES和操作员站OS)计算机Windows操作系统的TCP/IP参数,将WINN组态计算机的IP地址设置成为与PLC以太网通讯模块或者PN接口地址保持在一个网段内。
如图4所示:▲图4 设置计算机IP地址5. 添加新的驱动程序和设置系统参数,打开新创建的工程“test”,在项目管理栏里选择“变量管理”,单击右键选择“添加新的驱动程序”,如图5所示。
▲图5 添加驱动程序6. 在添加新的驱动程序文件夹里选择“SIMATIC S7 Protocol Suite.chn”,如6所示:▲图6驱动程序7. 右键单击TCP/IP,在弹出菜单中点击“系统参数”,如图7所示。
弹出“系统参数-TCP/IP对话框”,选择“单元”标签,查看“逻辑设备名称”,一般默认安装后,逻辑设备名为CP-TCP/IP。
运用VC#编程通过MPI方式与西门子S7系列PLC通讯

运用VC#编程通过MPI方式与西门子S7系列PLC通讯运用VC#编程通过MPI方式与西门子S7系列PLC通讯西门子S7300/400系列的PLC没有公开通讯协议,但西门子公司提供的ProDave软件公开了一系列库函数,使用计算机高级语言调用这些函数,可实现以MPI的方式与PLC通讯。
当今的高级语言VC#有着非常高效的开发手段,在把基础类库、标准模块都编好的情况下,开发监控界面的速度比WinCC 慢不了多少,但灵活性却是WInCC无法比的。
大家只要找到西门子的ProDave中的动态连接库:W95_S7.DLL,并把它注册到你的计算机即可(当然,你若有一套完整的ProDave安装程序,安装即可自动注册),然后在C#这边编程调用,下面来讲解如何在C#中调用动态库。
由于W95_S7.DLL是用C语言编写的,很多函数接口不适用于C#,因此我们可以创建一个C#类库,把这些函数进行封装,每次开发监控界面调用此类库即可。
一、 C#中调用DLL库的方法1、在名称空间之前使用:using System.Runtime.InteropServices; //用于调用动态库的接口,一定要引用2、导入每一个库函数,均要在函数声明之前使用属性字段:[DllImport("w95_s7.dll")]譬如与PLC建立连接的库函数load_tool(),应使用如下的方式进行声明:[DllImport("w95_s7.dll")]private extern static int load_tool(byte nr,string device,byte[,] adr_table);二、 ProDave中的重要库函数介绍1、与PLC建立通讯连接的库函数:load_tool()该函数必须在其他所有函数调用之前被调用,在C中的声明为:intload_tool(int nr,char* device,char* adr_table);由于C#在安全模式下不容许使用指针,因此我们把它转换成C#模式:private extern static int load_tool(byte nr,string device,byte[,] adr_table);参数 nr: 指定连接号1-4,一般设为1device: 设备名称,西门子的示例是设为"s7online",测试时,若改成其他名称好像连不上。
PLC WINCC mpi 通信

PLC 与监控软件WINCC 的MPI 通讯c ommunication between PLC and WINCC through MPI network关键词 PLC、WINCC、MPIKey Words PLC、WINCC、MPIA&D Service & Support Page 2-9目录1. PC 机上MPI 网卡的安装和设置 (4)2. 在WINCC 上添加SIAMTIC S7 通信协议 (4)3. 在WINCC 通信连接参数设置 (5)4.在WINCC 上建立通讯连接 (5)5.通信诊断 (6)6. WINCC 和PLC 之间的远程通讯 (7)A&D Service & Support Page 3-9A&D Service & SupportPage 4-91. PC 机上MPI 网卡的安装和设置与连接操作员面板类似,WINCC 与S7 PLC 通过MPI 网络通信时,在PLC 侧不须进行任何编程和组态;在WINCC 上需要对S7 CPU 的站地址和槽号及网卡组态。
将MPI 网卡例如CP5611 插入PC 机上并固定好,然后启动计算机,在PC 机的控制面板中双击”Setting PG/PC interface “ 图标, 弹出窗口中就会显示已安装的网卡,例如图1所示的是CP5611网卡安装完成后的界面:图1 CP5611的安装2. 在WINCC 上添加SIAMTIC S7 通信协议网卡安装完成后,打开WINCC,选择“Tag Management””击右键选择“Add New driver” ,在弹出窗口中选择“SIAMTIC S7 protocol suite”连接驱动并将其添加到“Tag Management” 下,如图2:A&D Service & SupportPage 5-9图2 添加通信连接S7 协议组包括在不同网络上应用的S7 协议,如MPI 网,PROFIBUS 网,以及工业以太网等,在这些网络上,应用层是S7 协议,这里介绍MPI 网络的通信设置。
使用MPI(CP5611)建立的WinCC与S7之间的在线连接

问题:使用MPI(CP5611)建立的WinCC与S7之间的在线连接有哪些要求?解答:请检查以下几点:1. 必须安装S7-DOS。
在WinCC V5.0 + SP2及更高的版本中,S7-DOS是自动安装的。
如果需要的话,可以从WinCC CD上重新安装它。
启动WinCC设置然后选择命令“选择想要的组件.... > 通讯> S7DOS”。
2. 在PG/PC接口中定义的访问点必须与MPI通道的逻辑设备名相匹配。
例如,使用的是“S7ONLINE”访问点,则必须在MPI通讯处理器上设置PG/PC接口。
在系统设置中打开设置PG/PC接口程序。
选择“S7ONLINE”作为访问点然后选择MPI通讯处理器。
如果它没有显示在选项对话框中,可以使用“选择...”按钮来安装它。
3. 必须要有一个通讯通道。
打开WinCC项目然后添加通道到变量列表中。
为此,点击鼠标右键打开“添加新驱动程序”对话框,然后安装WinCC通讯驱动程序“SIMATIC S7 Protocol Suite.CHN”。
4. 访问点必须是正确的。
如果在第2步中选择了访问点“S7ONLINE”,则设置MPI通道的逻辑设备名也为“S7ONLINE”。
双击“SIMATIC S7 Protocol Suit.CHN”通讯驱动程序然后选择通道。
点击鼠标右键打开“系统参数”对话框。
在对话框中选择逻辑设备名为“S7ONLINE”。
5. 然后点击鼠标右键添加一个新连接到S7或S7程序,然后取一个连接名。
例如:“S7Program_AS1”。
6. 设置连接的属性。
点击“属性”然后设置连接参数。
在本例中,CPU的MPI地址为“30”,MPI段的ID为“0”。
CPU被插入到机架上,位置在0号,插槽3。
关键字:连接,通讯设置,MPI接口。
wincc与plc的常用连接方式

wincc与plc的常用连接方式Wincc与plc连接的常见方式:1.MPI通讯:设置方法:1先在装有SIMATIC Manager 的电脑上硬件组态plc (MPI的地址,波特率等)2 在装有wincc的上位机上安装通讯卡如cp5611(装驱动程序),打开控制面板——设置PG/PC Interface ——找到MPI(wincc)(注:此设备名称是通过wincc组态界面中,添加SIMATIC S7 PROTOCOL SUITE——MPI中的系统参数得到的),cp5611(即插即用)——测试诊断(ok后)3在wincc组态界面中,组态MPI通讯:右键MPI ——添加新的连接——点击属性——设置cpu的地址,插槽号等即可4 点击wincc——tool工具——channel diagnosis——显示绿色√则表示连接成功(注:此时plc必须在运行状态,wincc处于激活状态)2.PROFIBUS通讯:设置方法:1 先在装有SIMATIC Manager 的电脑上硬件组态plc (profibus的地址,波特率等)2 在装有wincc的上位机上安装通讯卡如cp5611(装驱动程序),打开控制面板——设置PG/PC Interface ——找到PROFIBUS (wincc)(注:此设备名称是通过wincc组态界面中,添加SIMATIC S7 PROTOCOL SUITE——PROFIBUS中的系统参数得到的),cp5611(即插即用)——测试诊断(ok后)3在wincc组态界面中,组态PROFIBUS通讯:右键PROFIBUS ——添加新的连接——点击属性——设置cpu的地址,插槽号等即可4 点击wincc——tool工具——channel diagnosis——显示绿色√则表示连接成功(注:此时plc必须在运行状态,wincc处于激活状态)3.TCP/IP通讯:设置方法:1.先在装有SIMATIC Manager 的电脑上硬件组态plc 的ip的地址,及子网掩码等(注:有的cpu集成以太网通讯模块,有的需要单独配置cp343,cp443等的通讯模块)2.配置装有wincc上位机的ip地址(注:此处的plc与plc的通讯模块的ip地址处于同一网段)及子网掩码——进入dos中利用ping 命令查看网络是否通。
S7-300 PLC与WINCC通讯故障

PLC与WINCC通讯故障基于SIEMENS PLC wincc链接不上电脑,检查步骤:如果是S7-300,走的是MPI通讯先检查PLC能否与STEP 7通讯,如不能则检查一下几点:1.检查通讯线是否正常2.打开STEP7编程软件,打开PG/PC口,在弹出的查看物理链路MPI适配器上的拨码开关上的波特率是否与PG/PC硬件组态上的通讯口设置一致。
3.检查电脑端口(设备管理器中设置)设置上波特率是否与PG/PC口波特率设置一致4.重新删除PG/PC口上的MPI接口,重新添加一遍5.检查硬件组态是否与实际组态匹配一致6.在线可连接点删除以前的程序块基于以上几点,基本能连上step 7,可以通讯STEP 7能通讯,但wincc通讯不上检查一下几项:1.检查通讯线是否正常,安装到位2.检查电脑是否有漏电,电压不稳现象3.检查wincc通道的系统设置,参数有无匹配4.检查PG/PC口设置是否匹配5.检查电脑本地链接协议是否添加完整如果是S7-300,走的是以太网通讯也是先检查PLC能否与STEP 7通讯(这里所指直接网线与PLC下载组态,当然也可以MPI 硬件组态,MPI组态检查上面已经罗列,这里不在解释),如不能检查一下几点1.检查网线是否完好2.检查PG/PC口的设置是否设置成本地网卡接口3.检查本地电脑网卡是否工作正常,能否自适应,具体现象:本地电脑和PLC网线连上显示无连接(不能自适应),解决办法:电脑与CP343-1中加个交换机4.检查本地电脑,PLC是否有漏电,电压不稳现象5.检查硬件组态是否与实际组态一致6.检查CP343-1上的指示灯,是否有闪烁(如有,则是软件问题)7.检查本地链接属性中SIMATIC NET是否安装完成基于以上几点,基本能解决S7-300与STEP 7的通讯,若是能通讯STEP7,不能通讯WINCC1.检查wincc通道的系统设置,参数有无匹配,是否指向本地网卡2.检查PG/PC口设置是否匹配3.检查电脑本地链接协议是否添加完整4.IP地址是否与本地电脑在同一个网段,(ping一下PLC)5.电脑命名是否与wincc程序命名一致以上就是本人的一点点经验,希望可以帮助你们。
WINCC和与PLC之间的通讯方式

第四章S7-400与WINCC通讯连接技术本章讲述WINCC与可编程控制器间的通讯方式。
WINCC是目前工业现场应用较为广泛的可视化软件技术,能实现工业现场的模拟画面,使现场设备除了提供专用的通道,用于连接到SIMATIC 55/57/5505等系列的PLC外,还提供了如PROFIBUS DP/FMS,DDE(动态数据交换)和OPC(用于过程控制的OLE)等通用通道连接到第三方控制器。
此外,WINCC还以附加件(add-ons)的形式提供连接到其他控制器的通讯通道。
另外,还提供了一个CDK选件,可以用它来开发一些专用通讯通道。
4.1过程通讯原理4.1.1通讯术语下面列举了一些在通讯中应用的术语。
其中有关各种通讯网络的详细介绍已经在上章里详细介绍过,对于WINCC与PLC之间的通讯连接方式的掌握,熟悉下面几种通讯术语,能更好的加深对本章的了解和应用。
(1)通讯通讯用于描述两个通讯伙伴之间的数据交换。
(2)通讯伙伴通讯伙伴是指可以互相进行通讯的模块,也就是说它们可以互相交换数据。
它们可以是PLC中的中央处理器板和通讯处理器,也可以是PC中的通讯处理器。
(3)站站是可以作为一个单元与一个或多个子网连接的设备。
它可以是PLC,也可以是PC。
(4)子网、子网是用于描述一个通讯单元的术语。
该单元包含建立链接所必需的所有物理组件以及相关的数据交换方式。
(5)网络网络是由一个或多个互相连接的子网组成的单元,它包括所有可以互相通讯的站。
(6)通讯驱动程序在WINCC中通讯驱动程序也指通道。
它是一个软件组织,可在自动化系统和WINCC 中的变量管理器之间设置连接,以便能向WINCC变量提供过程值。
在WINCC中有很多通讯驱动程序,可通过不同的总线系统连接不同的自动化系统。
每个通讯驱动程序只需被集成到WINCC项目一次。
通讯驱动程序具有扩展名.chn,安装在系统中所有的通讯驱动程序可在WINCC安装目录下的子目录、bIN中查到。
S7 200直连WINCC

S7 200PLC通过BCNet-S7PPI直连WINCC
一.利用TCP/IP连接
1.打开WINCC软件,新建一个项目,右键“变量管理”,选择“添加新的驱动程序”,选择“SIMATIC S7 Protocol Suite.chn”。
2.右击“TCP/IP”连接,选择“新驱动程序的连接”,定义一个连接名,点击“属性”,在“IP地址(I)”处填入BCNet-S7PPI的IP地址,点击“确定”。
3.右击“TCP/IP”连接,选择“系统参数”,在“单元”选项中的“逻辑设备名
称(D)”中选择“TCP/IP->你的网卡”。
二.利用驱动连接
1.打开WINCC软件,新建一个项目,右键“变量管理”,选择“添加新的驱动程序”,选择“SIMATIC S7 Protocol Suite.chn”。
2. 右击“MPI”连接,选择“新驱动程序的连接”,定义一个连接名,点击“属性”,在“站地址(S)”处填入PLC的站地址,点击“确定”。
3.右击“MPI”连接,选择“系统参数”,在“单元”选项中的“逻辑设备名称(D)”中选择“S7ONLINE”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7 PLC与WINCC的MPI通讯
WINCC与S7 PLC通过MPI协议通讯时,在PLC侧不须进行任何编程和组态;在WINCC上要对S
7 CPU的站地址和槽号及网卡组态。
1、PC机上MPI网卡的安装和设置
首先,将MPI网卡CP5611插入PC机上并不固定好,然后,启动计算机,在PC机的控制面板中双击“Setting PG/PC interface”图表,弹出窗口中就会显示已安装的网卡,例如下图所示的是CP5611网卡
安装后的界面:
2、在WINCC上添加SIAMTIC S7通讯协议
网卡安装正确后,打开WINCC,选择“Tag Management”击右键选择“Add New driver”,再弹出窗口中选择”SIAMTIC S7 protocol suite”连接驱动,将其添加到”Tag Management”向下,如下图:
S7协议组包括在不同网络上应用的S7协议,如MPI网,PROFIBUS网,以及工业以太网等,在这些网络上,应用层是S7协议,这里我们通过MPI网通讯。
3、在WINCC通讯连接参数设置
选择MPI通讯协议并按右键选择“System parameter”进入如下图系统参数设置界面:
4、在WINCC上建立通讯连接
选择MPI通讯驱动并按右键选择“New driver connection”建立一个连接,如果连接多个CPU,每连接一个CPU就需要建立一个连接,所能连接的CPU的数量与上位机所用网卡有关,例如CP5611所能支持的最大连接数是8个,网卡的连接数可以在手册中查找。
这里需要修改每个连接的属性,如选择CPU的
站地址和槽号等,具体如下图:
连接S7-300 CPU时槽号都是2,连接S7-400 CPU时,槽号应参照STEP7硬件组态中的槽号,所
有这些工作完成之后通讯就可直接以建立起来。
5、通讯诊断
如果此时通讯有问题,应检查网卡是否安装正确,通讯电缆和接头是否接触良好,组态参数是否正确等,如果使用CP5511,CP5611或CP5613通讯卡,诊断起来就比较简单,在PC机的控制面板PG/PC
接口中,利用这些CP
自身的诊断功能读就能出MPI网络上所以站地址,具体可参见下图:
如果CP5611的站地址是0,CPU的MPI的站地址是4,其诊断结果是0,4站被读出来,这样就可以判断连接电缆和插头是否接触良好,若网卡及站地址都没有错误,则WINCC的组态参数肯定有问题,
须对此做进一步检查。
如果用户通讯使用的是PC adapter而不是上面提到的专用通讯卡,则问题的诊断就比较麻烦。