S7-1200 西门子 6ES7321-1BL00-0AA0 湖南代理商
S7-200和S7-300之间的MPI通信
S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC与S7-300 PLC之间的通讯。调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为 P#DB1.DBX50.0 BYTE 10.
首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三 种波特率,例子程序当中选用了19.2K的速率。
S7-200 PLC中通过系统块定义自身的MPI地址和波特率,参考下图:
图1 S7-200 设置MPI地址
S7-300 PLC修改MPI地址可以参考下图:
图2 S7-300 设置MPI地址
例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:
图3 程序编写
分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:
图4 S7-200监控结果
图5 S7-300监控结果
通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:
图6 CP5611诊断结果(站地址0为进行编程的计算机)
图7 使用STEP7 MicroWin32诊断结果
注意事项
1 虽然MPI的波特率可以达到12M,但是受到S7-200通信能力的限制,所以可设为9.6K,19.2K,187.5K三 种波特率。
2 如果PPI或者MPI的通信距离超过50m,需要加中继器;如果中继器之间没有任何站点的情况下,最远距离可为1000米。
3 MPI不能与作为PPI主站的S7-200PLC通信。
系列视频:S7-200跟我学/跟我做:
S7-200CN: PROFIBUS通信效果演示-跟我学 - 173/185 | http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=422 |
S7-200CN: PROFIBUS通信效果演示-跟我做 - 174/185 | http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=423 |
S7-200和S7-300之间的PROFIBUS通信
S7-300与S7-200通过EM277进行PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。
EM277的地址,在模块本身上的拨码设置分为X0(地址个位)和X10(地址十位);EM277是波特率自适应的,取决于S7-300的组态。
配置步骤
首先,在STEP 7项目里插入一个S7-300的站:
图1 S7-300组态
选中STEP7的硬件组态窗口中的菜单 Option-install new GSD(GSD 文件下载:113652) ,导入SIEM089D.GSD文件,安装EM277从站配置文件,如下图:
图2 安装GSD
在SIMATIC文件夹中有EM277的GSD文件:
图3 安装GSD
导入GSD文件后,在右侧的设备选择列表中找到EM277从站,PROFIBUS DP-Additional Field Device-PLC-SIMATIC-EM277,并且根据通讯字节数,选择一种配置,本例选择8字节入/8字节出的方式,如下图:
图4 通信区域组态
确定S7-300硬件组态中所设置EM277的地址,如下图红框标注,为DP从站EM277的站地址。
图5 组态DP通信地址
组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。
在S7-200侧断电的情况下,将EM277的拨位开关拨到与S7-300侧硬件组态的设定值一致。
在S7-200中编写程序将进行交换的数据存放在VB0-VB15,对应S7-300的PQB0-PQB7和PIB0-PIB7,打开 STEP7中的变量表和STEP7 MicroWin32的状态表进行监控,它们的数据交换结果如下图:
图6 通信数据监控
图7 通信数据监控
注意:VB0-VB7是S7-300写到S7-200的数据,VB8-VB15是S7-300从S7-200读取的值。EM277上拨位开 关的位置一定要和S7-300中组态的地址值一致。如果使用的S7-200通信区域不从VB0开始,则需要设置地址偏移,在S7-300硬件组态中双击 EM277,修改数值0为实际使用的数值即可,如下图所示:
图8 地址区域偏移设置
常问问题
DP通信所需要传输的数据超过64字节怎么办?
方法1:以64字节通信区为例,若超过最大配置。那么可以将通信区的第一个字节作为标志位,这样需要在S7-200中分时或条件判断,将数据放置或读取通信区域。同理,在S7-300中也需要判断标志位。
方法2:满足扩展要求的前提下,同一个200PLC可以扩展多个EM277,具体可以参考本文中最大I/O扩展能力的要求,那么在同一个S7-300的项目里可以组态多个PROFIBUS从站。
方法1可以增大通信的数据量,但由于通过标志位来分时分次传输的,所以通信数据的刷新会比方法2慢;方法2通过扩展DP从站或者200PLC的通信端口来实现数据扩展的,但增加了成本,且需要考虑是否满足扩展要求。
S7-200和S7-300的以太网通信
S7-200 PLC本体没有以太网口,需要通过以太网模块CP243-1来扩展以太网通信,且一个S7-200PLC只能扩展一个CP243-1。CP243-1不是即插即用模块,需要通过其他方式对S7-200下载一个包含以太网向导的项目文件才可以使用。
通过以太网向导,最多8个以太网S7控制器通信,每个连接既可以是服务器连接也可以是客户机连接。除此之外,CP243-1还可以同时支持一个STEP 7-Micro/WIN的编程连接。
一个客户端(Client)可以包含1-32个数据传输操作,一个读写操作最多可以传输212个字节。如果CP243-1作为服务器运行,每个读操作可以传送222个字节。
S7-200 可以通过 CP243-1 作为服务器端和客户端建立 S7 连接,这意味着以下可能:
1. 在 S7-200 中配置一个客户端,因此S7-200将主动激活与远程服务器的 S7 连接。
2. 在S7-200中配置服务器连接,因此S7-200可被动的响应建立好的S7连接,远程的客户端将与S7-200建立连接,S7-200作为服务器提供数据。
S7-200作为客户机
可以把S7-200的以太网模块CP243-1配置为CLIENT,使用STEP 7 Micro/WIN中的向导进行通信的配置即可。在命令菜单中选择工具--以太网向导。
图1 打开以太网向导
第一步是对以太网通信的描述,点击下一步开始以太网配置。
图2 向导介绍
在此处选择模块的位置,CPU后的第一个模块位置为0,往后依次类推;或者在线的情况下,点击读取模块搜寻CP243-1模块(在线读取将该模块的命令字节载入模块命令字节向导屏幕)。点击下一步;
图3 读取模块
选择模块相匹配的MLFB版本,本例中的CP243-1模块型号为6GK7243-1EX01-0XE0,如下图所示:
图4 模块版本选择
在此处填写IP地址和子网掩码。点击下一步;
图5 地址设置
下面的对话框将组态CP243-1进行S7连接的连接数量的设置,通过S7连接可以与通信伙伴进行读写数据操作。点击“下一步”按钮继续进行S7连接组态。
图6 模块占用地址设置
选择此为客户机连接,远程属性TSAP (Transport Service Access Point)填写为03.02,输入S7-300侧的IP地址。点击数据传输按钮进入数据交换的定义。
注意:如果连接远程对象是 S7-300,TSAP为03.02;如果连接远程对象是 S7-400,TSAP为03.0x,其中x为CPU模块的槽位,可以从S7-400 站的硬件组态中找出PLC的槽号。
图7 连接设置
选择"数据传输"标记,并单击"新传输"按钮,进行配置:选择是读取数据还是写入数据,填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址。
本例中为从S7-300的MB200开始读取8个字节到VB1000开始的8个字节的区域中;从S7-200的VB2000开始的8个字节写到S7-300的QB0开始的8个字节的区域中,点击确认按钮:
注意: 本地PLC中的地址必须是V内存字节地址,远程对象中的地址必须代表字节地址。当您为S7-300/ S7-400设备输入远程地址时,若是数据块请使用DBx.DBBy格式。
图8 数据区域设置
选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。
图9 使用CRC
填写模块所占用的V存储区的起始地址。你也可以通过“建议地址”按钮来获得系统建议的V存储区的起始地址, 点击下一步按钮。
图10 配置存储区
S7-200 CPU 编程通信
完成以太网向导配置后需要在程序中调用以太网向导所生成的ETHx_CTRL和ETH0_XFR, 然后,将整个项目下载到作客户端的S7-200 CPU上。
1. 调用向导生成的子程序,实现数据传输
对于S7-200的同一个连接的多个数据传输,不能同时激活,必须分时调用。下面的程序就是用前一个数据传输的完成位去激活下一个数据传输,如图11.图12.图13. 所示
图11 S7-200程序段1
图12 S7-200程序段2
图13 S7-200程序段3