回复:plc通信

co2

  • 帖子

    28
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2014-03-05

普通 普通 如何晋级?

发布于 2014-07-25 15:07:57

4楼

大神帮我看下程序哪里有问题:
主程序:
LD SM0.1
///串口0设置///
MOVB 16#09, SMB30 ///8位数据///
///2400波特率///
///自由端口///
///无较检///
MOVB 16#B0, SMB87 //初始化RCV信息控制字节:
//--RCV使能
//--检测信息结束字符
//--检测空闲线信息条件
MOVB 16#FF, SMB88 //设定信息开始字符为FF(开始字符)
MOVW +5, SMW90 //设置空闲线超时为5ms
MOVW 15, SMW92 //设置接收超时为15ms
MOVB 9, SMB94 //设置最大字符数为9


ATCH INT_0:INT0, 23 //串口0接收结束事件
ATCH INT_1:INT1, 9 // 串口0发送结束事件 26 数据发送完毕必须RCV VB100, 0

ENI
RCV VB100, 0

LD M0.2
MOVB VB101, VB111
MOVB VB102, VB112
MOVB VB103, VB113
MOVB VB104, VB114
MOVB VB105, VB115
MOVB VB106, VB116
MOVB VB107, VB117
MOVB VB108, VB118
MOVB VB109, VB119
R SM87.7, 1
RCV VB100, 0
MOVB 9, VB110
XMT VB110, 0
MOVB 16#B0, SMB87
RCV VB100, 0
R M0.2, 1
接收结束中断:
LD SM0.0
S M0.2, 1
MOVB 16#B0, SMB87
RCV VB100, 0
CRETI
发送结束中断:
LD SM0.0
MOVB 16#B0, SMB87
RCV VB100, 0
CRETI

实验中出现的问题:在发送给plc的数据中含有0a字符,送回来的数据就不是我发送的数据内容。
如果数据中不含0a,送回来的数据就是我发送的数据。(给的数据首位为FF,9位)
如果发送的数据首位为FF ,最后一位是0A返回的数据没有问题。(中间的字符不含0a)
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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