您当前的位置:五五电子网电子知识电器控制PLC工业控制西门子S7-200PLC自由口通讯的实现及应用设计 正文
西门子S7-200PLC自由口通讯的实现及应用设计

西门子S7-200PLC自由口通讯的实现及应用设计

点击数:7597 次   录入时间:03-04 11:55:44   整理:http://www.55dianzi.com   PLC工业控制

1  引言
    为了达到和通讯协议已知的控制设备进行数据交换,以提高自动化控制系统的灵活性,很多plc制造商都相继的开发出了方便、灵活的自由口通讯方式,例如三菱公司的fx2系列plc, omron公司的cjm1系列的plc, 西门子公司的s7-200系列plc等都提供了自由口通讯模式。自由口通讯是指plc提供了串行的通讯硬件,和用于定制通讯协议的相关指令,在控制系统中,当要和plc连接的控制设备的通讯协议已知时,可以在plc中进行编程定制通讯协议,和控制设备进行数据通讯。本文主要介绍西门子s7-200的自由口和计算机的串口进行的通讯,计算机中采用visual basic进行编程,从而实现计算机与可编程控制器的直接控制。该通讯方式具有效率高、容易实现、通讯硬件简单、容易配置等特点在工业控制领域中被广泛应用。

2  s7-200通讯指令及特殊字节
    采用自由口通讯方式时,s7-200上的rs485口完全由用户控制,可以与任何协议已知的设备进行通讯,在这种情况下通讯协议完全由用户制定,为此,s7-200提供了用于进行通讯协议定制的特殊标志位以及相关的通讯指令。
2.1 特殊标志字节
    s7-200用于自由口通讯模式定义的特殊标志字节有smb30和smb130,smb30用于s7-200的端口0的通讯,smb130用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb130为例,介绍其组成。smb130各位的含义如下:

    pp:两位用于选择通讯的校验方式  当这两位的组合是: 
    00无校验  01 偶校验  10 无校验  11 奇校验
    d:这一位用于选择通讯的数据位数  d=1时7个数据位,d=0时8个数据位
    bbb:用于选择自由口通讯是的波特率,这三位的组合和通讯波特率的关系如下:
    000 ——38400bps  
    001 ——19200bps  
    010 ——9600bps   
    011 ——4800bps 
    100 ——2400bps  
    101 ——1200bps  
    110 —— 600  bps   
    111 —— 300  bps 
    mm: 用于通讯协议的选择,当这两位的组合是:
    00  ppi从站模式   01 自由口通讯模式  10  ppi主站模式
2.2 接收信息的状态字节
    s7-200在自由口通讯时用于接受信息的状态有smb86和smb186,smb86用于s7-200的端口0的通讯,smb186用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb186为例,介绍其组成。smb186各位的含义如下:

    n=1时:表示禁止接收信息
    r=1时:表示接收信息结束
    e=1时:表示收到结束字符
    t=1时:表示接收信息超时错误
    c=1时:表示接收信息字符超长错误
    p=1时:表示接收信息奇、偶校验错误
2.3 接收信息的控制字节
    s7-200在自由口通讯时用于接受信息的控制字节有smb87和smb187,smb87用于s7-200的端口0的通讯,smb187用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb187为例,介绍其组成。smb187各位的含义如下:

    en=0时:禁止接收信息        
    en=1时:允许接收信息
    sc=0时:不使用起始字符开始  
    sc=1时:使用起始字符做为接收信息的开始
    ec=0时:不使用结束字符结束   
    ec=1时:使用结束字符做为接收信息的结束
    il=0时:不使用空闲线检测     
    il=1时:使用空闲线检测
    c/m=0时:定时器是字符定时器    
    c/m=1时:定时器是信息定时器
    tmr=0时:不使用超时检测       
    tmr=1时:使用超时线检测
    bk=0时:不使用中断检测        
    bk=1时:使用中断检测
2.4 其它和自由口通讯有关的特殊字节(见表1)


2.5 自由口通讯的指令
    (1) 发送指令xmt 其指令格式如图所示:  

    发送指令用于激活发送数据缓冲区tbl中的数据,数据格式如下所示,数据缓冲区中的第一个数据是指定要发送的数据的总字节数,最大为255个,从第二个数据开始是依次要发送的数据。port指定用于发送的端口,在发送完缓冲区中的最后一个数据时产生中断事件。
    (2) 发送指令rcv其指令格式如图所示:

    接收指令rcv 用于从指定的端口接收数据,并将接收到的数据存储与其参数tbl所指定的缓冲区内,缓冲区的第一个字节指示接收到的字节数量,第二个字节指示接收的起始字符,最后一个字节指示的是结束字符,起始字符和结束字符之间的是接收到的数据,同发送缓冲区一样,接收缓冲区的最大数量也是255个字节。
    (3) 与自由口通讯有关的中断(见表2)

3  plc自由口通讯的程序设计
3.1 自由口通讯的初始化子程序(见图1)

图1(a)

图1(b)

图1(c)

图1(d)

3.2 自由口通讯的发送子程序(见图2)


 

图2(a)

图2(b)

3.3 自由口通讯的接收程序(见图3)

[1] [2]  下一页


本文关键字:西门子  PLC工业控制电器控制 - PLC工业控制