S7-200自由口通讯方式无法读取到数字式温度传感器的数据

已锁定

游子6

  • 帖子

    13
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2012-12-24

普通 普通 如何晋级?

S7-200自由口通讯方式无法读取到数字式温度传感器的数据

1644

7

2014-11-10 20:32:47

各位晚上好!
我现在要用西门子s7-200 PLC(CPU 224 CN )实时读取数字式温度传感器的温度值,该传感器采用了485串口通讯协议,波特率9600。
我使用了XMT/RCV指令。在SM0.1触发的初始化子程序中,进行了如下参数设置:由SMB30设定为偶校验,波特率9600,自由口模式,SMB87设定允许接收字符,使用SMB88检测起始状态;使用SMB89检测结束状态,忽略检测空闲状态;最大接收字符数量SMB94设置为26。在VB200中设定接收数据字节的个数(为26),接收的数据依次存放于VB201/VB202/VB203/...地址区中。(即SMB30的值设置为16#09,SMB87设置为16#E0,SMB88设置为16#54,SMB89设置为16#0A,SMB94设置为16#1A)。另外在该子程序中,还按传感器通讯协议要求,装载了所应该由主机发送给传感器芯片的字符,装载在VB101-VB105地址区中,VB100装载了发送字符个数5。接着启用XMT指令从0端口发送VB100之后地址区的数据。
主程序的逻辑是这样的:每次发送完毕,触发中断事件9。中断9中,先触发一个300ms的定时器,时间一到在启用RCV指令从端口0接收数据,数据存储在VB201-VB226中。当接收完毕,再触发中断事件23,在本中断中再启用XMT指令重新发送数据。特别说明,300ms的延时是由于传感器读取到一路温度数据所需的时间。
然而,我在接好线(传感器信号线A/B线分别焊接到一个*串口背面对应的针脚,然后将该*串口插到PLC串口上,并保证线序没错。)之后上电调试,发现怎么PLC怎么也收不到传感器回传的数据字符(这点是通过用QB0上的点位信号的亮/灭来验证)。
由于试了较长时间无果,没找到问题所在,束手无策,比较痛苦。所以在此详细写出来,请求高手指点迷津。非常感谢!
PS: 本人还用了无中断的方式来编程,即通过监控SMB4.5以及SMB86来处理收发数据完毕,但仍旧行不通。
S7-200自由口通讯方式无法读取到数字式温度传感器的数据 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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