回复:自由口通讯求助

zhangluht

西门子1847工业学习平台

  • 帖子

    12
  • 精华

    0
  • 被关注

    1

论坛等级:游民

注册时间:2007-12-02

普通 普通 如何晋级?

发布于 2016-07-20 09:37:14

6楼

主程序是这样写的:首先初始化PORT1口,9600、N、8、1,SMB187设成B0(以结束字符结束接收)、SMB189设成16#0A,或者SMB187设成94(以时间结束)、SM192设成20ms,以空闲线开始,空闲时间SMW190设为5ms,最大接收字符SMB194设14。开启发送完成中断和接收完成中断。如图:

 

 

设置发送2个字节:1B 70,并发送。因为接收的数据量很小,所以采用SM0.5每秒发送一次,发送时首先将SM187.7复位,并执行RCV,以保证不会出现同时XMT/RCV的故障。(这个是在网上学的,刚开始的时候一直出现同时XMT/RCV的故障,无法解决。向这位前辈致敬!)如图:

 

 

 

 

在发送中断中做以下程序:置位SM187.7,并执行RCV,开始接收数据。为了断判断RCV有没有工作,在这里置位M1.0,并在接收完成中断里复位M1.0。

 

把程序下到PLC,打开程序监控、状态表监控,发现无“同时XMT/RCV”的故障,发送完毕中断一闪一闪地运行,状态表中SM187.7一直显示E0或者94,SM186.7一直显示00,SMB2一直显示0,我的接收区域VB210、VB211等一直显示0,M1.0一直显示1。后来把置位M1.0这句删掉,只保留接收完成中断里复位M1.0,M1.0还是一直显示1。这证明RCV根本就没有运行。

现在的问题是,我错在哪里了?

文档1.docx


要为成功想办法,不为失败找理由。办法总比困难多!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。