加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
SMART PLC的自由口通信
发布时间: 2023-11-28 22:43 更新时间: 2024-11-21 09:10
S7-200 SMART CPU本体集成的RS485通信口和扩展信号板可以设置为自由口模式。所谓自由口,即通讯功能完全由用户程序控制,通讯协议完全由用户编写,在与非标第三方的设备通讯时更加灵活应用更广泛。


CPU本体集成的通信口在自由口通讯时有以下特点:


  • 标准半双工接口,发送和接收不可同时进行;

  • 支持1.2K-115.2K的通讯速率;

  • 支持1个起始位,7或8个数据位,1个停止位,1个校验位(奇偶无);

  • 通讯时,发送和接收是以字节为单位进行。

  • 设置通信参数


    自由口通信的端口定义,是通过对特殊寄存器赋值实现的。集成的RS485端口和扩展信号板的通信参数设定特殊寄存器分别为SMB30和SMB130。


    具体的设定对应情况如图所示,如果将SMB30设定为2#01001001,则代表通信端口0被组态为自由口通信模式,8位数据位,偶校验,9600波特率。


    图片



    发送指令


    图片
    XMT发送指令用于在自由端口模式下通过通信端口发送数据,其中:


  • TBL:发送缓冲区的起始地址,其中一次Zui多可以发送255个字符,缓冲区首地址为要发送字符的个数。

  • PORT:通讯端口号,端口0为本体集成的RS485通信口,1为扩展信号板。


  • 接收指令


    图片


    RCV接收指令可用于在自由端口模式下启动或终止接收消息功能,其中:


  • TBL:接收缓冲区的起始地址,数据长度Zui多为255个字符,缓冲区首地址为接收到字符的个数。
  • PORT:通讯端口号,端口0为本体集成的RS485通信口,1为扩展信号板。

  • CPU将在接收到Zui后一个字符后产生一个中断事件(端口0为中断事件23,端口1为中断事件24),可通过关联中断子程序来处理接收完成的逻辑。
    如果不使用中断,也可以通过监视接收信息状态字节SMB86(端口0)或SMB186(端口1)来判断接收是否完成。
    SMB86/SMB186等于0时表示相应的通信端口正在处于接收状态中。


    图片


    执行RCV指令时,必须预先使用接收信息控制字节SMB87(端口0)或SMB187(端口1)来定义接收消息的起始和结束条件。


    接收消息的起始条件或结束条件均可以同时包含多个条件,只有所有条件都满足才开始接收消息或结束消息的接收。接收信息控制字节SMB87/SMB187的说明如图所示。


    图片




    应用实例


    实例部分,实现2台S7-200 SMART CPU(端口0)采用自由口通信方式相互通信,CPU1每秒触发一次XMT指令将CPU的实时时钟发送到CPU2;CPU2接收到CPU1发送的信息后立即将CPU2的实时时钟回复到CPU1。


    PLC1程序:

    MAIN:

    图片图片图片

    INT_0:

    图片

    PLC2程序:


    MAIN:图片图片

    INT_0:

    图片


    INT_1:图片


    联系方式

    • 电  话:18126392341
    • 联系人:梁涛
    • 手  机:15267534595
    • 微  信:15267534595