进口调节阀

进口调节阀

进口减压阀

进口电磁阀

微信扫码
在线客服
用户中心 意见反馈
热线电话
返回顶部
广州鸿懿电气设备有限公司

    S7-200SMARTCPU与S7-300/400以太网接口进行S7通信

    分享到:
    点击次数:1845 更新时间:2017年10月17日13:20:58 打印此页 关闭

    S7-200 SMART CPU与S7-300/400以太网接口进行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

    INPUT

    BOOL

    I、Q、M、D、L

    上升沿触发调用功能块

    ID

    INPUT

    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: 
    ADDR_1
    S7-400: 
    ADDR_i
    (1 ≤ i ≤ 4)

    IN_OUT

    ANY

    M、D

    I、Q、M、D、 
    T、C

    从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。

    S7-300: 
    RD_1
    S7-400: 
    RD_i
    (1 ≤ i ≤ 4)

    IN_OUT

    ANY

    S7-300:M、D
    S7-400 I、Q、 
    M、D、T、C

    本站接收数据地址


    图13 FB15调用
    表3.FB15参数说明 :

    参数

    描述

    数据类型

    存储区

    描述

    REQ

    INPUT

    BOOL

    I、Q、M、D、L

    上升沿触发调用功能块

    ID

    INPUT

    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: 
    ADDR_1
    S7-400: 
    ADDR_i
    (1 ≤ i ≤ 4)

    IN_OUT

    ANY

    M、D

    I、Q、M、D、 
    T、C

    从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。

    S7-300: 
    SD_1
    S7-400: 
    SD_i
    (1 ≤ i ≤ 4)

    IN_OUT

    ANY

    S7-300:M、D

    S7-400 I、Q、 
    M、D、T、C

    本站发送数据地址

        注意:

    S7-200 SMART PLC 不需要编程。 S7-200 SMART 中的V存储区在S7-300/400 PLC 编程中以DB1数据块的形式体现。

    上一条:西门子200SMARTCPU与1200进行S7通信 下一条:西门子S7-200SMART通信端口以及连接方式
    • 发表评论
    • 查看评论
    文明上网理性发言,请遵守评论服务协议。
    首页 上一页 下一页 尾页