新闻中心

EEPW首页>嵌入式系统>设计应用> 一种S7-300与S7-200自由口无线通信实现方法

一种S7-300与S7-200自由口无线通信实现方法

作者: 时间:2016-12-16 来源:网络 收藏

  S7-200通信程序详细介绍(1号站)
  主程序MAIN(只给出与通信有关程序)
  LD SM0.1
  MOVB 1, VB1
  //设置站地址
  LD SM0.7
  EU
  O SM0.1
  CALL SBR_0
  //首次运行或模式开关从TERM打到ON时定义通信口为自由口
  LD SM0.7
  ED
  CALL SBR_1
  //模式开关从ON拨到TERM时定义通信口为PPI从站
  子程序SBR_0
  LD SM0.0
  MOVB 16#09, SMB30
  ENI
  ATCH INT_11, 8
  //定义通信口0为自由口模式,9.6K波特率,无校验,8位数据位,连接接收字符中断为中断程序INT_11
  子程序SBR_1
  LD SM0.0
  MOVB 16#C0, SMB30
  DTCH 8
  DTCH 9
  //恢复普通PPI通信设置
  中断程序INT_11
  LD SM0.0
  AB= SMB2, VB1
  MOVW +5, VW200
  MOVD &VB640, VD688
  ATCH INT_12, 8
  //若站地址正确,连接接收字符中断到中断程序INT_12,并使VW200=5来计数,在INT_12中连续接收五个字节;若站地址错误,则继续由INT_11接收字节数据,要在S7-300中程序中将其余六个字节的高位进行设计,避免出现为内容1或2地址信息的字节,即使传输过程中因外界干扰,其余六个字节出现为1或2的假地址情况,程序也会在接下来1~2个接收过程中,因INT_13中断程序中的校验指令作用,得到错误校验值,而恢复到正常接收状态。
  中断程序INT_12
  LD SM0.0
  MOVB SMB2, *VD688
  INCD VD688
  DECW VW200
  //接收5个字节
  LD SM1.0
  MOVB 1, VB639
  MOVW VW639, VW700
  XORW VW641, VW700
  ATCH INT_13, 8
  //通过异或指令进行数据校验,连接接收字符中断到中断程序INT_13,即由第七个字节触发中断程序INT_13
  中断程序INT_13
  LD SM0.0
  DTCH 8
  //中断分离
  LDW= VW700, VW643
  MOVD VD640, VD400 //校验正确,将控制信息数据存到VB400~VB402
  MOVB 6, VB600
  MOVB VB1, VB601
  BMB VB100, VB602, 5
  ATCH INT_14, 9
  XMT VB600, 0
  //校验正确,使能发送,发送6字节数据VB601~VB606,连接发送指令结束到中断程序INT_14
  LDW《》 VW700, VW643
  ATCH INT_11, 8
  //校验不正确,连接接收字符中断到中断程序INT_11,进行新一次接收
  中断程序INT_14
  LD SM0.0
  DTCH 9
  ATCH INT_11, 8
  //发送结束则连接接收字符中断到中断程序INT_11,进行新一次接收
4 电台选型和故障判断
  数传电台选择了深圳友讯达科技发展公司的FC-201/B,该数传电台以其价格合理、运行稳定在国内得到广泛应用。通过友讯达提供的电台软件pfc5对电台进行参数设置,在S7-200两个站处将电台参数设置为:发射频率453.00,接收频率465.00,空中速率1200bps,工作模式为透明模式,串口波特率9600bps,串口校验和设为无;在S7-300站处将电台的参数中发射频率设为465.00,接收频率设为453.00,与S7-200站处电台收发频率对应,其余参数一致。
  FC-201/B数传电台有一个发送和接收指示灯,当发送数据时为红灯,接收数据时为绿灯。根据此灯可以方便的判断通讯是否正常,正常情况下,S7-300轮循方式与两S7-200通信,即第一秒内向1号站发送数据,然后接收1号站返回的数据(S7-200在接收到S7-300发送的数据后会立刻向S7-300发送数据);第二秒内向2号站发送数据,然后接收2号站返回的数据,不停地循环通信。S7-300站处电台通讯指示灯红闪一下,接着绿闪一下,处在不停的红-绿-红-绿循环状态。而S7-200站在接收S7-300发送的数据时,要经过地址数据字节判断,确认地址为本站,并且对接收数据进行校验,确定接收数据无误才回传S7-300数据,但是只要S7-300发送数据,S7-200就接收数据,即使是发送给另一个S7-200站的数据。所以在无外界干扰,数据发送没有校验错误的情况下,S7-200站处的电台通讯灯是绿闪两下,红闪一下,处在不停的绿-绿-红循环状态,即接收两次数据,发送一次数据。如果通讯出现故障,根据通讯灯的闪烁状态,便可很容易查出通讯故障所在。
5 结束语
  上位机WINCC通过访问S7-300的数据块DB2和DB22,就可以实现对两个S7-200PLC站的监控。自本系统投入运行以来,运行稳定可靠,收到用户好评。本通信方案经济、灵活,程序可移植性强,对于类似项目具有很高的借鉴意义。

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭