大家帮忙看下我这个程序,程序卡住了

已锁定

心语无量

  • 帖子

    32
  • 精华

    0
  • 被关注

    2

论坛等级:游侠

注册时间:2011-12-07

普通 普通 如何晋级?

大家帮忙看下我这个程序,程序卡住了

694

3

2011-12-30 22:11:35

主程序
TITLE=程序注释
Network 1
// 预置皮重
LD SM0.1
MOVD 30, VD500
Network 2 // 网络标题
// 间接寻址清0
LD SM0.1
MOVD 0, VD300
MOVD 0, VD600
MOVD &VB300, VD600
R M1.0, 1
Network 3 // 网络标题
// 接收存储区VB100,发送存储区VB200
LD SM0.0
CALL SBR0
Network 4
LD SM0.0
AN M1.0
AB<= VB10, 5
MOVD VD850, *VD600
+D 4, VD600
Network 5
LDB= VB10, 5
S M1.0, 1
MOVD 0, VD600
MOVB 0, VB10
Network 6
LD SM0.0
A M1.0
CALL SBR3
Network 7
LDB= SMB86, 0
A SM4.5
TON T33, 5
Network 8
LD T37
R SM87.7, 1
RCV VB100, 1
ATCH INT2, 10
R T37, 1

仪表通信子程序
TITLE=接收存储区VB100,发送存储区VB200
Network 1 // 网络标题
// 定义端口1自由口通信模式,Bps4800,8数据位,1位停止位,无校验,设置起始符和结束符号位
LD SM0.1
MOVB 16#0D, SMB130
MOVB 2#11100100, SMB187
MOVB 16#02, SMB188
MOVB 16#03, SMB189
MOVW 50, SMW192
MOVB 28, SMB194
Network 2
// 定义自由口中断
LD SM0.1
MOVB 100, SMB34
ATCH INT2, 10
ATCH INT0, 26
ATCH INT1, 24
ENI
Network 3
// 把要发送的数据存储到数据缓冲区,格式 读毛重02 41 42 30 35 03
LD SM0.0
MOVB 6, VB200
MOVB 16#02, VB201
MOVB 16#41, VB202
MOVB 16#42, VB203
MOVB 16#30, VB204
MOVB 16#33, VB205
MOVB 16#03, VB206

数据分析子程序
TITLE=子程序注释
Network 1
// 比较判断使能
LD SM0.0
LPS
AB= VB101, 16#02
AB= VB102, 16#41
AB= VB103, 16#42
AB= VB104, 16#2B
AB= VB114, 16#03
= M12.1
LPP
AB= VB104, 16#2D
= M12.0
Network 2
// 取回数据进行转换
LD M12.1
LPS
ATH VB105, VB800, 6
BTI VB800, AC0
AENO
MOVW AC0, VW810
BCDI VW810
LRD
BTI VB801, AC0
AENO
MOVW AC0, VW812
BCDI VW812
LPP
BTI VB802, AC0
AENO
MOVW AC0, VW814
BCDI VW814
Network 3 // 网络标题
// 直接数据累加,存储形式是双整数存放在VD850
LD SM0.0
LPS
ITD VW810, AC0
AENO
*D 10000, AC0
LRD
ITD VW812, AC1
AENO
*D 100, AC1
LRD
ITD VW814, AC2
AENO
*D 1, AC2
LPP
MOVD AC0, AC3
AENO
+D AC1, AC3
AENO
MOVD AC3, VD850
+D AC2, VD850
Network 4
LD M12.0
*D -1, VD850
数据累加子程序
TITLE=把取回5次值作比较,进行累加
Network 1
LD SM0.0
AD> VD300, 0
LDD>= VD304, VD300
AD>= VD308, VD304
LDD>= VD308, VD304
AD>= VD312, VD308
OLD
LDD>= VD312, VD308
AD>= VD316, VD312
OLD
ALD
= M13.1
Network 2
LD SM0.0
AD> VD300, 0
LDD< VD304, VD300
AD< VD308, VD304
LDD< VD308, VD304
AD< VD312, VD308
OLD
LDD< VD312, VD308
AD< VD316, VD312
OLD
ALD
= M13.2
Network 3
LD M13.1
AN M13.2
= M13.3
Network 4
LD M13.3
AD= VD300, VD304
AD= VD304, VD308
AD= VD308, VD312
MOVD VD308, VD400
AENO
= M13.0
Network 5
// 把数值传入VD404
LD M13.0
MOVD VD400, VD404
Network 6
LD SM0.0
AD> VD404, 50
MOVD VD404, AC0
-D VD500, AC0
+D AC0, VD0
FILL 0, VW300, 8
MOVD 0, VD400
MOVD 0, VD404
MOVD 0, AC0
Network 7
LD SM0.0
MOVD 0, VD600
MOVB 0, VB10
FILL 0, VW300, 10
R M1.0, 1

发送完成中断
Network 1 // 网络标题
// 先关闭定时中断
LD SM0.0
DTCH 10
S SM87.7, 1
RCV VB100, 1

接收完成中断
TITLE=中断程序注释
Network 1
LD SM0.0
CALL SBR2//数据分析
Network 2
LD SM0.0
INCB VB10
Network 3
LD SM0.0
AN M1.0
ATCH INT2, 10

定时中断
Network 1 // 网络标题
// 网络注释
LD SM0.0
AN M1.0
XMT VB200, 1
大家帮忙看下我这个程序,程序卡住了 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33266条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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