lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
楼主  发表于: 2009-05-14 09:30
大家好,我现在碰到一个问题,系统采用S7-200自由口和主控板通讯,轮询发送通讯命令。但不知为何往下发的轮询命令不是按照顺序轮询,其轮询代码如下:
Network 9
LDN    M1.3
AN     M1.5
TON    T32, 100
Network 10 // 原PV值为7,现更改为9
LD     T32
EU
LD     C0
CTU    C0, 7
Network 11
LD     T32
=      M1.5
Network 12 // 申请状态
LDW=   C0, +0
A      T32
FILL   +0, VW200, 20
MOVB   16#08, VB200
MOVB   0, VB201
MOVB   0, VB202
MOVB   0, VB203
MOVB   0, VB204
MOVB   0, VB205
MOVB   0, VB206
MOVB   0, VB207
MOVB   0, VB208
CALL   SBR4
Network 13 // 输出电流
LDW=   C0, +1
A      T32
FILL   +0, VW200, 20
MOVB   8, VB200
MOVB   1, VB201
MOVB   1, VB202
MOVB   1, VB203
MOVB   1, VB204
MOVB   1, VB205
MOVB   1, VB206
MOVB   1, VB207
MOVB   1, VB208
CALL   SBR4
Network 14 // 本地设定频率
LDW=   C0, +2
A      T32
FILL   +0, VW200, 20
MOVB   2, VB201
MOVB   2, VB202
MOVB   2, VB203
MOVB   2, VB204
MOVB   2, VB205
MOVB   2, VB206
MOVW   VW1000, VW207
CALL   SBR2
MOVW   VW300, VW209
CALL   SBR4
---------------------------
要怎么做才能做到按照顺序轮询呢?
伟大的光荣的正确的中国人民万岁!!
lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
1楼  发表于: 2009-05-14 09:41
有时系统会报通讯故障,完整代码如下:

--------------------
LDN    M1.3
AN     M1.5
TON    T32, 100
LD     T32
EU
LD     C0
CTU    C0, 7
LD     T32
=      M1.5
LDW=   C0, +0
A      T32
FILL   +0, VW200, 20
MOVB   16#08, VB200
MOVB   0, VB201
MOVB   0, VB202
MOVB   0, VB203
MOVB   0, VB204
MOVB   0, VB205
MOVB   0, VB206
MOVB   0, VB207
MOVB   0, VB208
CALL   发送
LDW=   C0, +1
A      T32
FILL   +0, VW200, 20
MOVB   8, VB200
MOVB   1, VB201
MOVB   1, VB202
MOVB   1, VB203
MOVB   1, VB204
MOVB   1, VB205
MOVB   1, VB206
MOVB   1, VB207
MOVB   1, VB208
CALL   发送LDW=   C0, +2
A      T32
FILL   +0, VW200, 20
MOVB   2, VB201
MOVB   2, VB202
MOVB   2, VB203
MOVB   2, VB204
MOVB   2, VB205
MOVB   2, VB206
MOVW   VW1000, VW207
CALL   发送CRC计算
MOVW   VW300, VW209
CALL   发送LDW=   C0, +3
A      T32
FILL   +0, VW200, 20
MOVB   16#08, VB200
MOVB   3, VB201
MOVB   3, VB202
MOVB   3, VB203
MOVB   3, VB204
MOVB   3, VB205
MOVB   3, VB206
MOVB   3, VB207
MOVB   3, VB208
CALL   发送
。。。。
LDB=   SMB186, 0
AB<>   VB1, 16#33
AN     M10.0
TON    T96, +400

LD     T96
MOVB   16#0, SMB130
=      M10.0
LD     M10.0
EU
LDB=   VB1, 16#33
CTU    C1, +100
LD     C1
=      通信故障M
伟大的光荣的正确的中国人民万岁!!