技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > S7-200自由口通讯接收不到任何字符

S7-200自由口通讯接收不到任何字符

刘玉蓉 发布于2014-12-02 17:25 5 0 标签:

自己参考做了一个自由口通讯的简单程序,VB100开始接收数据,利用接收到字符中断触发(收到@38*后转码成56放在VW120)输出。实验后发现接收不到任何字符。串口调试助手试过了串口线 波特率等等没有设置错误。请教找找问题~
程序:LD     SM0.1
MOVB   16#09, SMB30
MOVB   16#F0, SMB87
MOVB   16#40, SMB88
MOVB   16#2A, SMB89
MOVW   5, SMW90
MOVB   10, SMB94
ATCH   INT_0:INT0, 23
ENI
RCV    VB100, 0
INT_0:
LD     SM0.0
ATH    VB102, VB121, 2
LD     SM0.0
AW=    VW120, 56
O      Q1.3
AN     M4.2
=      Q1.3

问题补充:
测试后可以收到数据,但是不是发送的数据。情况如下:发送1,PLC中VB4有符号(0)VB5 ASCLL(g)VB6 ASCLL(?)VB7 ASCLL(?),再发1,PLC中VB8有符号(0)VB9 ASCLL(g)VB10 ASCLL(?)VB7 ASCLL(?);重下载程序,发送2,PLC中VB4有符号(0)VB5 ASCLL(3)VB6 ASCLL(?)VB7 ASCLL(=),再发2,PLC中VB8有符号(0)VB9 ASCLL(3)VB10 ASCLL(?)VB7 ASCLL(=);SMB86 1000_0000
补充一下,我自己程序测试时候,串口调试助手收发数据正常,波特率等等都匹配,用的普通串口线。自己程序收不到任何数据时候无错误代码SMB186 0000_0000(串口1)

佳答案

你的是接收程序,你用串口调试助手可以收到通信对象的数据,而PLC接收不到么?通讯协议是否对应呢?
你接收起始条件为:空闲+起始字符,条件略苛刻呐。改为空闲或起始字符,再试试。

或者用下面的程序,再试试可否接收到数据。如果可以,就是你SMB87设置有问题。
MAIN:
LD     SM0.1
MOVB   16#49, SMB30                //自由口,9600,偶校验
MOVD   &VB4, VD0
ATCH   INT_0:INT0, 8               //连接8号中断
ENI

INT_0:
LD     SM0.0
MOVB   SMB2, *VD0                  //将接收到的字符依次存入VB4等
INCD   VD0

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签