跪求:s7-200(CPU224)自由口通讯问题 点击:715 | 回复:1



qingke@plc

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2005年5月23日
发表于:2005-05-23 17:18:00
楼主
毕业设计中碰到了S7-200(CPU224)的问题,现在时间紧,任务重,跪求各位大侠帮助。 背景:S7-200(CPU224)和pc的串口通讯 问题一:在一个计时器中断10中,我用VB103是否等于某个特定直接字节来做为条件判断发送哪一段缓冲区的问题,代码如下: LD SM0.0 LPS DTCH 10 //关闭定时器中断 AB= VB103, 16#30 //如VB103=16#30,发送VB50开始的缓冲区的内容 XMT VB50, 0 LRD AB= VB103, 16#31 //如VB103=16#30,发送VB150开始的缓冲区的内容 XMT VB150, 0 LRD AB= VB103, 16#32 //如VB103=16#30, //发送VB50开始的缓冲区的内容 MOVB VB104, MB0 MOVB VB105, MB1 XMT VB50, 0 在初始化中使用了发送消息完成的中断,我的本意是如果进入某条分支发送消息,发送完成后调用发送中断就跳出这个计时器中断。但现在奇怪的是从串口调试器上看,PLC发送的消息会出现混乱,比如VB103为16#30,应发送VB50开始的一段缓冲区,但串口调试器可能看到VB150开始的一段缓冲区的内容(即VB103为16#31时应发送的内容,但我在发送消息中返回VB103的值,确定它不等于16#31)。请问这是为什么?是不是我的思路有问题,对于这种根据条件发送不同消息的功能,实现的正确思路是什么? 问题2,我在主程序里加一个网络: LD SM0.0 CALL SBR_2 其中SBR_2实现的功能是VD>999,则发送消息,否则VD自加100——也是根据条件发送消息,代码如下: LD SM0.0 AD>= VD0, +999 MOVD +0, VD0 MOVB 5, SMB35 ATCH INT_3, 11 //INT_3执行发送消息的动作 NOT +D +100, VD0 但实际调试中,PLC似乎不会发送消息,我在用户手册里看到的例子对PLC自动发送消息描述,似乎对发送消息的描述都是在初始化,也就是以SM0.7为条件的的过程中完成的。但我初始化中要完成接收消息并作回应(问题1即属于这一部分),我该如何完成PLC自动发送消息的编程? 谢谢



qingke@plc

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2005年5月23日
发表于:2005-05-25 13:20:00
1楼
没人帮忙吗??

热门招聘
相关主题

官方公众号

智造工程师