回复:寻找西门客人

H.L

  • 帖子

    1766
  • 精华

    9
  • 被关注

    8

论坛等级:侠圣

注册时间:2005-07-20

普通 普通 如何晋级?

发布于 2005-12-21 09:21:56

0楼

这是一个S7-200通过自由口主动发送命令的例子用于PLC-单片机。以后我再写一个PC-PLC的例子

如下:

MAIN

NETWORK1

LD I0.1

EU

CALL SBR_1

NETWORK2

LD M0.6

CALL SBR_2



SBR-0

NETWORK1

LD SM0.0 //首先写入要发送的命令

MOVB 6, VB80 //发送长度

MOVD 16#57303554, VD81 //W01T0

MOVW 16#300D, VW85

NETWORK2

LD SM0.0

ATCH INT_0, 25 //当口1接收到字符时引起中断

ENI

NETWORK3

LD SM0.0

MOVD &VB420, VD181 //指针指向接收缓冲区



//接收初始化

//P为起始字

//回车为结束字符

//超过1S终止接收

//接收的最大字符数

//忽略SMW192



SBR-1

LD SM0.0

XMT VB80, 1



SBR-2

NETWORK1

LDB= VB420, 16#50 //起始字符正确

AB= VB431, 16#0D //结束字符正确

S M18.0, 1 //置正确标志位

NETWORK2

LD M18.0

STR VB424, 1, VD450 //数据保存

NETWORK3

LD SM0.0

MOVD 16#00000000, VD420 //复位信息正确标志

MOVD 16#00000000, VD424 //关闭本子程序

MOVD 16#00000000, VD428

R M18.0, 1

R M0.6, 1



INT-0

NETWORK1

LDB= SMB2, 16#50 //当首字符正确时,置开始接收标志位

MOVD &VB420, VD181 //装载地址指针

NETWORK2

LD SM0.0 //接收字符

MOVB SMB2, *VD181

INCD VD181

NETWORK3

LDB= SMB2, 16#0D //当接收的字符是回车时

MOVD &VB420, VD181 //重新装载地址指针

S M0.6, 1 //调用数据处理程序

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33264条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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