求助:s7-200 CPU和伺服驱动器做自由口通讯问题

已锁定

小徒弟

  • 帖子

    2
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2009-12-02

普通 普通 如何晋级?

求助:s7-200 CPU和伺服驱动器做自由口通讯问题

658

1

2010-11-18 11:37:04

小弟新学PLC,最近在搞自由口通讯,调试中发送数据一路顺风。
但是接收数据遇到问题:有时候接收正常,有时候不能接收,提示同时执行XMT/RCV指令。。。
实在是无语了,请大哥们帮我看看程序,看哪里有问题,多谢!!!
驱动器是接收到查询命令后返回查询值。我用I0.0触发查询命令,I0.1清零。
程序如下:
ORGANIZATION_BLOCK MAIN:OB1
TITLE=
// PROGRAM COMMENTS
BEGIN
Network 1
// 将查询命令写入VB200及以后的字节
LD SM0.1
MOVW +7, VW198
MOVD 16#7E80047C, VD200
MOVD 16#0, VD204

Network 2 // NETWORK TITLE (single line)
LD SM0.1
MOVB 16#45, SMB30 //端口0,19200,偶校验,8位
MOVB 2#11000100, SMB87 //启用接收,使用SMB88做信息开始,超出SMW92时间后接收终止
MOVB 16#7E, SMB88 //开始信息
MOVW 10, SMW92 //超时时间
MOVB 10, SMB94 //最大接收长度
FILL 0, VW100, 5 //清零
ATCH INT2, 9 //连接中断2到传输完成事件
ENI //启用中断

Network 3
LD I0.0
EU
XMT VB199, 0 //发送查询信息从端口0

Network 4
LD I0.1
EU
FILL 0, VW100, 5 //清零
END_ORGANIZATION_BLOCK


INTERRUPT_BLOCK INT_2:INT2
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
LD SM0.0
RCV VB100, 0 //接收信息
Network 2
LD SM0.0
CRETI //返回
END_INTERRUPT_BLOCK

正常的时候返回数据如下:

错误的时候SMB86变成0了。
求助:s7-200 CPU和伺服驱动器做自由口通讯问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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