打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
自由口通信模式的应用

  项目25 

自由口通信模式的应用


    使用S7-200 CPU的自由口通信模式。

    自由口通信是一种基于 RS485 硬件,允许应用程序控制S7-200的通信端口,来实现一些自定义 通信协议的通信方式。
    S7-200处于自由口通信模式时,通信功能完全由用户程序控制,所有的通信任务和信息定义均需由用户编程实现。
    借助自由口通信模式,S7-200可与许多通信协议公开的设备、控制器等进行通信,其波特率为 1200~115200bit/s。
    S7-200可通过自由口通信协议访问带用户端软件的PC、条形码阅读器、串口打印机、并口打印机、S7-200、S7-300(带CP 340模块)、非Siemens PLC、调制解调器等,如图25-1所示。

    对于自由口通信,还要注意以下几点:
    (1)由于S7-200通信端口是半双工通信口,所以发送和接收不能同时进行。
    (2)S7-200通信口处于自由口模式下时,该通信口不能同时工作在其他通信模式下;如不能在端口1进行自由口通信时,又使用端口1进行 PPI 编程。
    (3)S7-200通信端口是RS-485标准,因此如果通信对象是RS-232设备,则需要使用RS232/PPI电缆。
    (4)自由口通信只有在S7-200处于RUN模式下才能被激活,如果将 S7-200设置为STOP模式,则通信端口将根据S7-200系统块中的配置转换到PPI协议。
    使用自由口通信前,必须了解自由口通信工作模式的定义方法,即控制字的组态。S7-200的自由口通信的数据字节格式必须含有一个起始位、一个停止位,数据位长度为7位或8位,校验位和校验类型(奇、偶校验)可选。
    S7-200的自由口通信定义方法为将自由口通信操作数传入特殊寄存器SMB30(端口0)和SMB130(端口1)进行端口定义,自由口通信操作数定义如图25-2所示。

    自由口通信模式主要使用XMT(发送)、RCV(接收)两条指令以及相应的特殊寄存器。
    XMT 指令利用数据缓冲区指定要发送的字符,用于向指定通信口以字节为单位发送一串数据字符,一次最多发送255个字节。XMT 指令完成后,会产生一个中断事件(Port 0为中断事件9,Port1为中断事件26)。XMT 指令的缓冲区格式如表25-1所示。

    RCV指令可以从S7-200的通信口接收一个或多个数据字节,接收到的数据字节将被保存在接收数据缓冲区内。RCV 指令完成后,会产生一个中断事件(Port 0为中断事件23,Port1 为中断事件24)。特殊寄存器 SMB86 和 SMB186 则分别提供Port0 和 Port1 的接收信息状态字节。RCV 指令的缓冲区格式如表25-2所示。


    为便于实验,以S7-200与Windows 操作系统提供的通信测试程序—超级终端(Hyper Terminal)进行自由口通信为例,计算机通过串口与S7-200连接。
    1.自由口发送实例
    任务:记录定时中断次数,将计数值转化为ASCII字符串,通过CPU224XP的Port0发送到计算机串口,计算机接收并利用超级终端显示与S7-200通信的内容。
    (1)规定缓冲区为VB100~VB114,使用数据块进行缓冲区定义如表25-3所示,其中,16#0D和16#0A用于计算机的超级终端显示的需要。图25-3所示为定义的数据块。

    (2)程序清单
    本例PLC程序包括主程序,子程序SBR_0、SBR_1和中断子程序INT_0,程序清单及注释如图25-4~图25-7所示。



    需要说明的是中断事件10是由中断0产生的时间中断,该时间中断的间隔的范围为1~255ms,中断间隔的数值由 SMB34 定义。由于RS-232传输线由空闲状态切换到接收模式需要切换时间 (一般为0.15~14ms),故为防止传送失败,设置的中断间隔必须大于切换时间,并再增加一些余量。 
    (3)超级终端接收组态
    超级终端组态步骤如下:
    第一步:单击“开始→附件→通信→超级终端”,为要新建的连接输入连接名称,如图25-8所示。 
    第二步:选择连接时要使用的串口,如图25-9所示。

    第三步:设置串口通信参数并保存连接,注意此处设置要与PLC程序中对应,如图25-10所示。

    第四步:使用超级终端接收 S7-200发送的信息。将I0.3置为ON,单击按钮进行连接,超级终端的窗口会自动显示 S7-200发送的字符串,如图25-11所示。
    图25-11  超级终端接收窗口
    2.自由口接收实例
    任务:S7-200从端口0接收计算机发送的字符串,并在信息接收中断服务程序中把接收到的第 一个字节传送到CPU输出字节QB0上显示。
    (1)程序清单
    本例PLC程序包括主程序,子程序SBR_0、SBR_1和中断子程序INT_0,程序清单及注释如图25-12~图25-15所示。



    (2)超级终端发送组态
     第一步:打开刚才建立好的超级终端链接,进入该链接的属性窗口,如图25-16所示。点击“ASCII 码设置”按钮,在弹出的ASCII码设置窗口中,按图25-17所示方式进行设置。

    第二步:把 PLC 转换到运行状态,同时把I0.3置为ON,在超级终端中输入字符串,如图25-18所示。

    第三步:在Micro/Win软件中使用状态表监测缓冲区和 QB0 内容,如图25-19所示。图25-19  使用状态表进行监测

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
自由口通信
西门子S7-200 SMART自由口通信参数如何设置?如何编写发送程序和接收程序?如何测试?
TIA||如何通过S7-1200与第三方设备实现自由口通信
S7-200 SMART 自由口通讯常见问题
西门子PLC自由口通讯 中断,这么用很方便!
S7
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服