【每周都要SMART!】SMART PLC的自由口通信

2022-11-09 10:05 上海利倾电气
图片


大家好,欢迎观看“每周都要SMART”系列视频,本期我们分享的内容是,SMART PLCSMART PLC的自由口通信


图片

点击下方视频,立刻学起来吧!


 小型自动化产品解决方案【第四十九期】—SMART PLC的自由口通信



自由口通信概述


S7-200 SMART CPU本体集成的RS485通信口和扩展信号板可以设置为自由口模式。所谓自由口,即通讯功能完全由用户程序控制,通讯协议完全由用户编写,在与非标第三方的设备通讯时更加灵活应用更广泛。


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


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

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

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

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

设置通信参数


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


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


图片



发送指令


图片

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


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

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


接收指令


图片


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


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

CPU将在接收到最后一个字符后产生一个中断事件(端口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:
图片


昵称:
内容:
提交评论
评论一下