您好!欢迎光临工博士商城

西门子品牌服务商

产品:4086    

咨询热线:18597848426

QQ QQwx 微信
您当前的位置:首页 » 西门子新闻中心 » 西门子PLC模块 SMART PLC的自由口通信
产品分类
西门子新闻中心
西门子PLC模块 SMART PLC的自由口通信
发布时间:2022-11-16        浏览次数:2852        返回列表
自由口通信概述:
S7-200 SMART CPU本体集成的RS485通信口和扩展信号板可以设置为自由口模式。所谓自由口,即通讯功能完全由用户程序控制,通讯协议完全由用户编写,在与非标第三方的设备通讯时更加灵活应用更广泛。

CPU本体集成的通信口在自由口通讯时有以下特点:
● 标准半双工接口,发送和接收不可同时进行;
● 支持1.2K-115.2K的通讯速率;
● 支持1个起始位,7或8个数据位,1个停止位,1个校验位(奇偶无);
● 通讯时,发送和接收是以字节为单位进行。

设置通信参数
自由口通信的端口定义,是通过对特殊寄存器赋值实现的。集成的RS485端口和扩展信号板的通信参数设定特殊寄存器分别为SMB30和SMB130。
具体的设定对应情况如图所示,如果将SMB30设定为2#01001001,则代表通信端口0被组态为自由口通信模式,8位数据位,偶校验,9600波特率。

西门子PLC模块

发送指令

西门子PLC模块

XMT发送指令用于在自由端口模式下通过通信端口发送数据,其中:
● TBL:发送缓冲区的起始地址,其中一次多可以发送255个字符,缓冲区首地址为要发送字符的个数。
● PORT:通讯端口号,端口0为本体集成的RS485通信口,1为扩展信号板。

接收指令

西门子PLC模块

RCV接收指令可用于在自由端口模式下启动或终止接收消息功能,其中:
● TBL:接收缓冲区的起始地址,数据长度多为255个字符,缓冲区首地址为接收到字符的个数。
● PORT:通讯端口号,端口0为本体集成的RS485通信口,1为扩展信号板。
CPU将在接收到后一个字符后产生一个中断事件(端口0为中断事件23,端口1为中断事件24),可通过关联中断子程序来处理接收完成的逻辑。
如果不使用中断,也可以通过监视接收信息状态字节SMB86(端口0)或SMB186(端口1)来判断接收是否完成。
SMB86/SMB186等于0时表示相应的通信端口正在处于接收状态中。

西门子PLC模块

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

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

西门子PLC模块


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

PLC1程序:
MAIN:

西门子PLC模块
西门子PLC模块
西门子PLC模块



INT_0:

西门子PLC模块

PLC2程序:
MAIN:

西门子PLC模块
西门子PLC模块

INT_0:

西门子PLC模块

INT_1:

西门子PLC模块


本文摘自:网络



 

联系热线:18597848426   联系人:曾经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 西门子品牌服务商