西门子 6ES7288-2DT32-0AA0 湖南长沙 报价单
S7-300集成DP口与200smart的DP主从通信(STEP7 & TIA)
STEP7 V5.x 中Smart DP01与S7-300的Profibus DP通讯
TIA 中Smart DP01与S7-300的Profibus DP通讯
S7-300与S7-200 SMART 通过 DP01 进行 PROFIBUS DP 通讯,需要进行S7-300站组态,在S7-200 SMART系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放到相应的 V 存储区,并且S7-300组态DP01从站时设置正确的地址即可。DP01的地址,在模块本身上的拨码设置分为X0(地址个位)和X10(地址十位);DP01是波特率自适应的,取决于S7-300的组态。
注意:S7-200 SMART系统虽然不需要对通讯进行组态和编程,但是需要在STEP 7-Micro/WIN SMART 系统块中组态EM DP 01 模块。
西门子热线工程师内部学习讲座-EM DP01模块部分:
DP01 作为一个特殊的PROFIBUS-DP从站模块,其相关参数(包括上述的数据一致性)是以GSD(或GSE)文件的形式保存的。在主站中配置DP01,需要安装相关的GSD文件。
假设 DP 主站已定义一个 I/O 组态,其包含两个插槽且 V 存储器偏移量为 1000。将第一个插槽组态为 32 字节的输入输出,第二个插槽组态为 8 字节的输入输出。S7-200 SMART CPU 的输出与输入缓冲区均为 40 字节 (32 + 8)。输出数据(来自 DP 主站)缓冲区起始于 VB1000;输入数据(送入 DP 主站)缓冲区紧随输出缓冲区并起始于 VB1040。
STEP7 V5.x 中Smart DP01与S7-300的Profibus DP通讯
首先,在STEP 7项目里插入一个S7-300的站并建立PROFIBUS DP 主站网络:
STEP7的硬件组态窗口中的"Options"菜单中点击“Install GSD File..”,导入EM DP 01 GSD文件,安装DP01配置文件,如下图:
选择DP01 GSD文件所在路径:
导入EM DP 01 GSD文件后,在右侧的设备选择列表中找到DP01从站,PROFIBUS DP-Additional Field Device-PLC-SIMATIC-EM DP 01 PROFIBUS-DP,并且根据通讯字节数,选择相应的配置。本例中的插槽一包含"4Bytes In/Out"预组态 I/O 选项,插槽二包含"8 Bytes In/Out"预组态 I/O 选项。如下图:
确定S7-300硬件组态中所设置DP01的DP 从站地址,如下图红框标注,为DP从站DP01的站地址。
如果使用的S7-200 SMART通信区域不从VB0开始,则还需要在“Parameter Assignment”选项卡中设置"I/O Offset in the V-memory"参数,
该参数的设置如下图所示(本例中S7-200 SMART通信区域是从VB0开始,所以此参数设置为0):
组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。 在S7-200 SMART 侧断电的情况下,将DP01的拨位开关拨到与S7-300侧硬件组态的设定值一致。
打开 STEP7中的变量表和STEP 7-MicroWIN SMART状态表进行监控,它们的数据交换结果如下图:
VB0-VB11是S7-300写到S7-200 SMART 的数据,VB12-VB23是S7-300从S7-200 SMART读取的值。
注:可以在S7-300 CPU Properties的 “Cycle/Clock Memory”标签下修改过程映像区的大小,使DP通讯的数据区在过程映像区之内,这样设置的话就可以直接对过程映像区进行操作。
DP01上拨位开关的位置一定要和S7-300中组态的地址值一致。
TIA 中Smart DP01与S7-300的Profibus DP通讯
插入 CPU 315-2 DP 作为 DP 主站。
在项目视图中,找到菜单栏并选择:"选项 > 管理通用站描述文件(GSD)"(Options > Manage general station debion files (GSD))
在"源"(Source) 路径中,找到之前加载到计算机中的 EM DP01 GSD 文件。 选中相应 GSD 文件行的复选框。 单击"安装"(Install) 按钮。
插入 EM DP01 PROFIBUS DP 模块。如下图所示,在 DP 主站和设备之间创建 PROFIBUS 网络。
设备视图中组态DP01的通讯区,本例中的插槽一包含"4 Bytes In/Out"预组态 I/O 选项,插槽二包含"8 Bytes In/Out"预组态 I/O 选项。在"Properties"、"General"选项卡区域,单击"Device-specific beters"以显示"I/O Offset in the V memory"字段。在此处可分配为该操作预留的那部分 V 存储器的启动地址。
注意:VB0-VB11是S7-300写到S7-200 SMART 的数据,VB12-VB23是S7-300从S7-200 SMART读取的值。
打开博图软件中的监控表和STEP 7-MicroWIN SMART状态表进行监控,它们的数据交换结果如下图:
常见问题:
通信指示灯都正常,但数据读取不到?
如果组态的io地址较大,则可能超过了300CPU默认的过程映像区。此时将IB,IW改为PIB,PIW读取。
DP通信所需要传输的数据超过64字节怎么办?
方法1:软件里固定的通讯长度最大64bytes out/64 bytes in, 可以选择图中的“通用模块”根据实际需求自由设置输入/输出区域,而DP01最大的通讯字节数是64 word out/64 word in。
方法2:分时通讯。以64字节通信区为例,若超过最大配置。那么可以将通信区的第一个字节作为标志位,这样需要在S7-200Smart中分时或条件判断,将数据放置或读取通信区域。同理,在S7-300中也需要判断标志位。
方法3:满足扩展要求的前提下,同一个200smart可以扩展多个DP01,具体可以参考本文中最大I/O扩展能力的要求,那么在同一个S7-300的项目里可以组态多个PROFIBUS从站。
方法2可以增大通信的数据量,但由于通过标志位来分时分次传输的,所以通信数据的刷新会比方法3慢;方法3通过扩展DP从站或者200PLC的通信端口来实现数据扩展的,但增加了成本,且需要考虑是否满足扩展要求。
S7-300/400与S7-200SMART之间的以太网S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-300/400通过集成的PN口或CP343-1/CP443-1与S7-200 SMART PLC 之间的S7通信也是可以成功的, 但是需要S7-300/400侧编程调用PUT/GET指令。
注意:
1.S7-200 SMART CPU 与S7-300/400 CPU 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!
2.S7-200 SMARTPLC V2.0 版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信时,则需要采用Standard或Advanced类型通信模块,CP343-1 Lean模块不支持。
4.本文仅介绍S7-300集成PN口与S7-200 SMART CPU S7通信。
S7通信介绍
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
S7-300/400通过以太网接口与S7-200 SMART PLC 之间的S7通讯经过测试是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令,见表1所示。
表 1 PUT和GET :
S7-400 | S7-300 | 描述 | 简要描述 |
SFB 14 | FB 14 | 读数据 | 单边编程读访问。 |
SFB 15 | FB 15 | 写数据 | 单边编程写访问。 |
S7-300/400根据使用通信接口(集成的PN口或CP343-1/CP443-1)不同,调用的功能块来源也不同。
通信接口为S7-300 集成PN接口时,需要使用Standard Library中PUT/GET指令,如图1所示。
图1 S7-300PN接口需采用Standard Library
通信接口为S7-300 CP通信模块时,需要使用SIMATIC_NET_CP 库中PUT/GET指令,如图2所示。
图2 S7-300 CP模块接口需采用SIMATIC_NET_CP库
S7-400 CPU不区分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令块,如图3所示。
图3 S7-400 需采用SFB程序块
硬件及网络组态
本文以采用1个315-2PN/DP,1个S7-200 SMART PLC为例,介绍它们之间的S7通信。
在STEP7中创建一个新项目,项目名称为S7-300-SMART。插入1个S7-300站,在硬件组态中插入CPU 315-2 PN/DP。如图4所示。
图4 STEP7 项目中插入S7-300站点
设置CPU 315-2PN/DP的IP地址:192.168.0.1,如图5所示。硬件组态完成后,即可下载该组态。
图5 设置CPU PN IP地址
打开“NetPro”设置网络参数,选中CPU 315-2PN/DP,在连接列表中建立新的连接。步骤如图6所示。
图6 NetPro组态视图中插入新连接
选择 Unspecified 站点,选择通讯协议 S7 connection,点击 Apply,如图7所示。
图7 组态新连接
在弹出的S7 connection属性对话框中,勾选 Establish an active connection,设置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如图8所示。
图8 设置S7连接参数
点击 "Address Details" ,再弹出来的对话框设置 Partner 的 Slot 为1,如图9所示。点击 OK即可关闭该对话框。
图9 设置“address details”参数
网络组态创建完成后,需要编译,如图10所示。
图10 保存并编译连接
网络组态编译无错,鼠标先点击 CPU 315-2PN/DP ,然后点击下载按钮下载网络组态,步骤如图11所示。
图 11 下载组态连接
程序编程
可以通过SFB/FB 14 "GET",从远程CPU中读取数据。
S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。
S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在 下一个SFB/FB调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面 要相互匹配。
通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果 正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。
通过使用SFB/FB 15 "PUT",可以将数据写入到远程CPU。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。
S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。 远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在编号、长度和数据类 型方面相互匹配。
如果没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DONE来指示,其数值为1。只有在最后一个作业完成之后,才能再次激活写作业。远程 CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出 表示。
打开SIMATIC 315 PN-1的OB1,在OB1中依次调用FB14,FB15如图12、图13所示:
图12 FB14调用
表2.FB14参数说明 :
参数 |
描述 |
数据类型 |
存储区 |
描述 |
REQ |
bbbbb |
BOOL |
I、Q、M、D、L |
上升沿触发调用功能块 |
ID |
bbbbb |
WORD |
M、D、常数 |
地址参数ID |
NDR |
OUTPUT |
BOOL |
I、Q、M、D、L |
为1时,接收数据成功 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
接收到新数据 |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代码 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D |
本站接收数据地址 |
图13 FB15调用
表3.FB15参数说明 :
参数 |
描述 |
数据类型 |
存储区 |
描述 |
REQ |
bbbbb |
BOOL |
I、Q、M、D、L |
上升沿触发调用功能块 |
ID |
bbbbb |
WORD |
M、D、常数 |
地址参数 |
DONE |
OUTPUT |
BOOL |
I、Q、M、D、L |
为1时,发送完成 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
为1时,有故障发生 |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代码 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D
S7-400 I、Q、 |
本站发送数据地址 |
注意:
S7-200 SMART PLC 不需要编程。 S7-200 SMART 中的V存储区在S7-300/400 PLC 编程中以DB1数据块的形式体现。
S7-300与S7-200Smart DP01之间的MPI通信
S7-200 SMART PLC 通过EM DP01 模块与 S7-300 PLC之间采用 MPI 通讯方式时,S7-200 SMART PLC 中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 SMART PLC 与 S7-300 PLC之间的通讯。
S7-300 PLC调用 SFC67 和 SFC68 时,该系统功能的"VAR_ADDR" 参数需要填写S7-200 SMART PLC侧数据地址区。由于S7-200 SMART PLC 的数据区为 V 区,如果这个参数填写为 P#DB1.DBX×× BYTE n 则对应的就是S7-200 SMART PLC侧VB×× ~ VB(××+n -1)的数据区。 例如交换的数据存在S7-200 SMART PLC 中 VB50 到 VB59 这10个字节当中,则“VAR_ADDR”参数应为 P#DB1.DBX50.0 BYTE 10。首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-300出厂默认的MPI地址是2,需要保证DP 01模块站地址与S7-300 地址不冲突。例子程序当中将S7-300 MPI地址设定为2,DP01 地址通过外部拨码设定3,另外DP01 模块自支持自适应波特率,S7-300侧可以根据实际需要设置波特率。
S7-200 SMART 组态
S7-200 SMART系统中需根据 EM DP 01模块所在的实际位置在系统块中添加EM DP01模块,但添加的DP01 模块无需再进行其他设置,本例中DP01模块紧邻CPU,MPI地址通过DP01模块外部拨码开关进行调节。系统块设置如下图:
S7-300 CPU 在 Step7 平台下组态
S7-300 PLC修改MPI地址可以参考下图:
例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图所示:
分别在 STEP 7-MicroWIN SMART 和STEP7当中监视S7-300 PLC和 S7-200 SMART PLC当中的数据,数据监视界面如下:
S7-300 CPU 在 TIA 平台下组态
S7-300 PLC修改MPI地址可以参考下图:
例子程序在OB1当中调用数据读写功能块:X_PUT和X_GET。
分别在 STEP 7-MicroWIN SMART 和STEP7当中监视S7-300 PLC和 S7-200 SMART PLC当中的数据,数据监视界面如下:
湖南长沙西门子6ES7288-2DT32-0AA0报价单 西门子 湖南长沙
- 公司类型私营有限责任公司
- 经营模式经销商-私营有限责任公司
- 联系人姚善雷
- 联系手机13874941405
- 联系固话0731-526565255
- 公司地址湖南省长沙市岳麓区天顶街道雷锋大道金科世界城468号