还是MODBUS主站指令库的问题,大家帮帮忙吧

已锁定

汪子曰

  • 帖子

    27
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2007-12-03

普通 普通 如何晋级?

还是MODBUS主站指令库的问题,大家帮帮忙吧

487

0

2007-12-04 10:55:49

我用MODBUS主站指令库来实现PLC与DSP的通信.我按照西门子的例程序编写了我的通信程序,即先读从站的数据,再往从站写数据,所有的MBUS_MSG指令都是用前一个的完成位作为下一个的触发位.我把这个通信模块作为一个子程序,在主程序中用了一个接通延时定时器来定时,每隔0.5S来调用一次通信子程序.在调试的过程中,发现其实不是按照我想要的定时来调用通信子程序的,而且通信的时间间隔似乎也不固定.我不知道是我的定时器用的不对,还是我调用库的时候出了问题.

程序如下:
主程序:
LD SM0.1
R M2.0, 8
R M4.0, 8
R M0.0, 2

LDN M14.0
AN T38
TON T37, 5

LD T37
TON T38, 2
CALL SBR_0:SBR0

子程序:
LD M0.0
EU
S M0.1, 1

LD SM0.0
= L60.0
LD SM0.0
= L63.7
LD L60.0
CALL MBUS_CTRL:SBR1, L63.7, 9600, 0, 1000, M0.0, MB1

LD M0.1
O M2.5
= L60.0
LD M0.1
EU
LD M2.5
EU
OLD
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 1, 0, 40002, 16, &VB600, M2.1, MB3

LD M2.1
R M0.1, 1
R M2.5, 1

LD M2.1
= L60.0
LD M2.1
EU
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 1, 0, 40003, 16, &VB632, M2.2, MB5

LD M2.2
R M2.1, 1

LD M2.2
= L60.0
LD M2.2
EU
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 1, 0, 40004, 16, &VB664, M2.3, MB6

LD M2.3
R M2.2, 1

LD M2.3
= L60.0
LD M2.3
EU
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 1, 0, 40005, 16, &VB696, M2.4, MB7

LD M2.4
R M2.3, 1

LD M2.4
= L60.0
LD M2.4
EU
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 1, 1, 40017, 1, &VB52, M2.5, MB8

LD M2.5
R M2.4, 1
还是MODBUS主站指令库的问题,大家帮帮忙吧 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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