关于DP通讯 点击:571 | 回复:7



y6843

    
  • 精华:0帖
  • 求助:7帖
  • 帖子:79帖 | 205回
  • 年度积分:0
  • 历史总积分:891
  • 注册:2003年9月05日
发表于:2007-11-18 16:11:00
楼主
各位高手,目前我用3个PLC S7-300做个工程,要用到DP通讯,但我对PROFIBUS不通,请教
1.调用SFC15/14来打包发送/解包接收,在CONFIGURATION中定义了主从通讯区,I/Q的地址在实际的主从站中有何具体的意义?
2.还有如下
          CALL "DPRD_DAT"    SFC14
           LADDR :=W#16#0
           RET_VAL:=MW2
           RECORD:=P#DB1.DBX0.0 BYTE 10
       这段的解释是:把IB0-IB9中的数据包解开并存放在DB1.DBB0-DBB9中,
请问LADDR后的W#16#0就是IB0开始的数据区,那如果换成 LADDR :=W#16#10呢,是从IB10开始的吗?
3.我参看过一些用CP342-5的DP通讯,用FC1/2来进行数据交换的,如
           CALL "DP_SEND"      FC1
           CPLADDR:=W#16#100
           SEND   :=P#M20.0 BYTE 2
           DONE   :=M1.1
           ERROR  :=M1.2
           STATUS :=MW2
    在解释中说CPLADDR是CP342-5的地址,他是指CP342的DP地址吗?

谢谢高手们,本菜鸟的水平有限,提的问题可能太肤浅了,但对我较重要,我在线等



youhm

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 709回
  • 年度积分:0
  • 历史总积分:2593
  • 注册:2005年2月16日
发表于:2007-11-18 17:27:00
1楼
CPLADDR 是硬件组态的IO地址

如果你用的CPU的DP口用SFC14/15,用CP342-5则用FC1/FC2

heidai

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 1835回
  • 年度积分:0
  • 历史总积分:2824
  • 注册:2007年5月23日
发表于:2007-11-18 18:11:00
2楼
关注

yycctt

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 27回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2007年11月14日
发表于:2007-11-18 18:58:00
3楼
CALL "DPRD_DAT"    SFC14
           LADDR :=W#16#0
           RET_VAL:=MW2
           RECORD:=P#DB1.DBX0.0 BYTE 10
这段程序中LADDR :=后是DP的地址

y6843

  • 精华:0帖
  • 求助:7帖
  • 帖子:79帖 | 205回
  • 年度积分:0
  • 历史总积分:891
  • 注册:2003年9月05日
发表于:2007-11-19 06:20:00
4楼
首先要谢谢两位,另外我还想请教:我列出的仅是通讯的一段程序,那么在SFC14\SFC15的LADDR:=W#16#0中,一定要相同吗?也就是说IB与QB的地址是否可以不同,谢谢

yycctt

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 27回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2007年11月14日
发表于:2007-11-19 18:40:00
5楼
地址是在硬件配置时自动生成的,如子站是传动输入输出的起始地址一般都是一样的。

y6843

  • 精华:0帖
  • 求助:7帖
  • 帖子:79帖 | 205回
  • 年度积分:0
  • 历史总积分:891
  • 注册:2003年9月05日
发表于:2007-11-19 21:53:00
6楼
地址不是在CONFIGURATION中程序员定的吗,只要不与其他地址冲突就行了,不是吗?

yycctt

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 27回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2007年11月14日
发表于:2007-11-20 20:50:00
7楼
输入输出地址也可以自己设定

热门招聘
相关主题

官方公众号

智造工程师