S7-200与仪表的自由口通讯 点击:3797 | 回复:10



leo ren

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 10回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2006年3月16日
发表于:2008-04-14 12:19:33
楼主

本人做了一个S7-200与仪表的自由口通讯,发现PLC发送了数据却不调用接受中断,请各位高手帮忙看看我的程序哪有问题。

以下是我的程序:

MAIN
Network 1 // 网络标题
// 开机延时启动通讯,并调用自由口初始化程序
LD SM0.1
CALL SBR0
S M10.0, 1
ENI
Network 2
//延时到后,取通讯限制,开始通讯
LD M10.0
TON T40, +50
A T40
R M10.0, 1
Network 3
//VW10累加到5时,向P0发送一次
LDW= VW0, VW40
AN M10.0
CALL XMT_0:SBR1Network 4
LDW= VW0, 10
MOVW 0, VW0

SBR0
Network 1
//p0:no,1start,8bit,1stop,9600,free
LD SM0.0
MOVB 16#09, SMB30 //p0:no,1start,8bit,1stop,9600,free
MOVB 16#A0, SMB87 //接收允许控制字
MOVB 16#0D, SMB89 //接收结束字符
MOVB 18, SMB94 //最多接收18个字节
MOVW 5, VW40
ENI
Network 2
LD SM0.0
MOVB 100, SMB34
ATCH DT_0:INT1, 10

SBR1 //发送数据
Network 0
LD SM0.0
MOVB 5, VB200
MOVB 16#02, VB201 //STX
MOVB 16#32, VB202 //2
MOVB 16#55, VB203 //U
MOVB 16#42, VB204 //B
MOVB 16#0D, VB205 //CR
MOVD &VB301, VD220 //接收指针指向VB300
ATCH RCV_0:INT0, 8 //连接接收中断
ENI
XMT VB200, 0 //发送数据到0口


SBR2//数据处理
Network 1//仪表回复的消息STX 2 U B 数据 CR
LDB= VB302, 16#32 //VB302的字符=2时
STR VB300, 4, VD330 //字符转为实数

INT0
Network 1
LD SM0.0
MOVB SMB2, *VD220
INCD VD220
MOVB SMB2, VB320
Network 2
LDB= SMB2, 16#0D //收到结束字符
CALL DATA_0:SBR2

INT1
LD SM0.0
INCW VW0




leo ren

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 10回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2006年3月16日
发表于:2008-04-14 12:21:12
1楼
程序中做了一个时间中断,定义每半秒PLC向仪表发送读数据请求,各位PLC高手请帮我找找问题,先谢过了!

leo ren

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 10回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2006年3月16日
发表于:2008-04-14 13:57:24
2楼

仪表接受到STX 2 U B CR后应该回复STX 2 U B 数据 CR,其中2是仪表的地址。

各位高手帮我看看啊!

leo ren

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 10回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2006年3月16日
发表于:2008-04-14 18:17:37
3楼

就没高手路过吗?

 

Aerk

  • 精华:0帖
  • 求助:1帖
  • 帖子:32帖 | 171回
  • 年度积分:0
  • 历史总积分:394
  • 注册:2007年5月16日
发表于:2008-04-21 17:19:11
4楼

我感觉你那MOVB 16#A0, SMB87 //接收允许控制字 中的A0是不是有点问题..应该是A2吧,
我刚学西门子,不知道是否正确.

展翅变频

  • 精华:1帖
  • 求助:0帖
  • 帖子:111帖 | 803回
  • 年度积分:0
  • 历史总积分:1072
  • 注册:2003年7月23日
发表于:2008-04-21 20:32:12
5楼
我也是在做这个。也有你同样的问题。也是很郁闷。所以请有高手就现身吧

展翅变频

  • 精华:1帖
  • 求助:0帖
  • 帖子:111帖 | 803回
  • 年度积分:0
  • 历史总积分:1072
  • 注册:2003年7月23日
发表于:2008-04-21 20:39:13
6楼
我的QQ是576287886  可以交流一下

皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2008-04-21 20:43:44
7楼

我做过s7-200与仪表的自由口通讯,上面的程序美仔细看,但是有一点,如果成功的话,也比较单一,比如仅能跟一台通讯等等

liumingqin623@hotmail.com

leo ren

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 10回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2006年3月16日
发表于:2008-05-19 18:44:27
8楼

好久没来。这个程序是对的,我通讯上了,但是后来再试的时候发现有问题。仪表上的4个端子TX+,TX-,RX+,TX-;TX+和RX+短接后接DP头的A,TX-和RX-短接后接DP头的B,发现连不上,但是把屏蔽线反接后能输出乱码,不知道啥问题?

老不知

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:87
  • 注册:2006年10月24日
发表于:2008-05-31 22:27:53
9楼
我做了一个和东辉仪表通讯得程序,比较成功,。你做得程序没问题,出现乱码可能与你的仪表有关把,建议再看一下仪表通讯协议和接线。

ahljj

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 806回
  • 年度积分:0
  • 历史总积分:3791
  • 注册:2002年10月03日
发表于:2010-10-09 08:26:46
10楼
学习一下通讯技术.以利于提高技术

热门招聘
相关主题

官方公众号

智造工程师