S7-200通信编程 点击:844 | 回复:4



唐进

    
  • 精华:20帖
  • 求助:0帖
  • 帖子:301帖 | 1339回
  • 年度积分:0
  • 历史总积分:106
  • 注册:2004年9月02日
发表于:2007-06-26 10:43:00
楼主

可编程控制器(简称PLC)作为新型的工业控制计算机,以其程序设计简单,改变程序灵活方便,通用性好,可靠性高,能在恶劣的工业环境下长期工作等显著特点,已广泛地应用于工业自动化控制的各个领域。目前功能较强的PLC已从早期的单一逻辑控制功能,发展到不仅能够实现开关量的实时处理,而且还能够实时处理各类模拟量,实现浮点运算和PID调节,并且还具有较强的通信功能,可以组成不同规模的适应工业环境的实时网络系统。
2.正文
    S7-200系列通信模式有两种:一种是点对点(PPI)通信协议,用于PLC与其编程器或西门子公司的人机接口产品之间的通信;另一种是对用户完全开放的自由口模式(free port mode),由用户自行规定通信的协议.PPI模式只能在PLC停止方式(STOP)下通信,而自由口模式只能在PLC运行方式(RUN)下通信。我们通常采用自由口通信方式。
在进行通信之前,应先对串口初始化。对S7-200 PLC的初始化是通过设置特殊标志位SMB30来实现的。对于发送,S7-200系列PLC有专门的发送指令用于发送数据,格式为: XMT TABLE PORT。 TABLE为发送数据的字节数即数据长度,最大为255。而要发送的数据必须存储在TABLE的后面。例如,TABLE的存储区域为VB100,要发送“ABC”三个字符,存储格式应为图1所示。PORT指定通信口,必须为0;当正在发送数据时,PLC特殊标志位SM4.5为0,发送完后,SM4.5为1。因此可通过判断SM4.5的状态来进行发送后处理。
对于接收,S7-200没有专门的接收指令,它是通过读特殊标志位符一个一个由SMB2送入接收数据存储区,所以在成批传送数据时应注意频率。如果上位机发送太快,下位机来不及取走SMB2中的字符时,下一个到达的字符将会冲掉尚未取走的字符。下位机接收数据还存在一个问题,就是如何知道已经收到了数据。这里S7-200 PLC提供了一个接收中断,每接受一个字符产生一次中断。中断事件号为8。这样我们就可以编一段中断程序,用来处理接受到的字符。中断程序应短一些。在实际应用中,我们只在中断程序中设置一个标志位,而把字符处理放在中断程序之外。图2给出通信流程图,及已调试通过的部分程序附在结尾。
PLC通信程序
下面给出的程序包括软件握手和数据传输。
Vb101-vb104 发送数据缓存区
Vb200-vb206 接收数据缓存区
Vb300 握手信号
Vb302 回握信号
Vb401 接收数据计数器
M1.0 开始数据传输
M2.0 开始握手
M2.1 握手与数据传输切换
LD SM0.1          :设置接受缓存区指针
MOVD &VB200 AC3   :设置接受中断程序
ATCH K0 K8        :开中断
INT K0            :接收中断程序0
LD SM0.0
A M2.1            :如果为数据传输
S M1.0
LD SM0.0
AN M2.1           :如果为握手
S M2.0            :M2.0置位
TETI
LD M2.0           :开始握手
MOVB SMB2.0 VB300
R M2.0            :握手标志复位
LDB=VB300 K15     :判断是否为握手信号
TON T96 K1
LD T96
XMT VB302 K0      :发送回握信号
MOVB K0 VB300     :握手信号存储器清零
S M2.1            :切换至数据传输状态
LD M1.0           :开始数据传输
A M2.1
MOVB SMB2 *AC3    :接收数据
INCD AC3
INCD AC3
INCW VW400
R M1.0 K1
LDB=VB401 K7      :判断是否已全部接收
TON T32 K1
LD T32
XMT VB100 K0      :开始发送
MOVD &VB200 AC3   :重新置接收指针
MOVW K0 VW400 
R M2.1 K1         :切换至握手状态




xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-06-26 20:58:00
1楼
顶一下

徐孝斌

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 106回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2004年9月16日
发表于:2009-04-18 11:51:03
2楼

very good and thank you

黄上飞

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 53回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2008年10月30日
发表于:2009-04-18 12:10:57
3楼
顶一下 。。。。。。。。。。。。。

求学求是

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 74回
  • 年度积分:0
  • 历史总积分:167
  • 注册:2008年8月25日
发表于:2009-04-18 13:46:27
4楼
学习了························

热门招聘
相关主题

官方公众号

智造工程师