PROFIBUS-DP从站的工作原理 点击:0 | 回复:8



冬水先生

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:5帖 | 20回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2001年10月15日
发表于:2004-07-22 12:49:00
楼主
PROFIBUS-DP站点可分为主站和从站,开发从站设备要比开发主站设备容易得多,因为从站只需要响应来自主站的请求即可。从站接收总线上的每条报文,如果与自己无关,则忽略不处理,如果是发给自己的则按照下图给出的状态机进行响应。 (图略) 该状态机中有四个状态: 1、Power_On(上电)状态 在上电后从站进入Power_On状态,在这个状态下从站首先需要进行初始化,设置各项参数如站地址和报文缓冲区等等。 2、Wait-Prm(等待参数化)状态 初始化完毕后,从站进入Wait-Prm状态,等待来自一个主站的Set_Prm报文。通俗地讲,参数化相当于一个主站告诉一个从站,你是属于我的,同时也指定了从站的一些运行参数。主站只对被它参数化的从站进行数据轮询。 3、Wait_Cfg(等待组态)状态 在进行正确的参数化后,从站进入Wait_Cfg状态,等待Check_Cfg报文。Check_Cfg报文规定输入和输出字节数,也就是主站和从站每次交换的数据量。 4、Date_Exchange(数据交换)状态 当进行正确的参数化和组态后,从站进入Date_Exchange状态,这个时候从站才可以和主站进行正常的数据交换。 下面是我从一个PROFIBUS-DP网络中采集下来的部分报文数据,该网络中有一站地址为1的主站和站地址为3的从站。我结合有关报文解释一下从站3的工作机制。(报文数据为16进制) ...... (从站已经完成初始化) ...... 10 03 01 49 4D 16 (该报文为主站1发给从站3的请求帧,查询从站3的FDL状态,即从站3是否“活着”。) 10 01 03 00 04 16 (该报文为从站3对主站1的应答帧,告诉主站1“我活着呢”。) ..... 68 05 05 68 83 81 6D 3C 3E EB 16 (该报文为主站1发给从站3的请求帧,读取查询从站3的诊断报文,以获取从站3的进一步信息。) 68 0B 0B 68 81 83 08 3E 3C 02 05 00 FF 00 08 94 16 (该报文为从站3对主站1的应答帧,其中包含6个字节的诊断数据:02 05 00 FF 00 08,具体含义可参阅协议,其中第四字节为FF表明从站3尚未被任何主站所参数化。) ...... 68 11 11 68 83 81 5D 3D 3E 88 02 FD 0B 00 08 00 00 00 00 00 00 76 16 (该报文为主站1发给从站3的参数化报文帧,包含12个字节的参数化数据: 88 02 FD 0B 00 08 00 00 00 00 00 00) E5 (该报文为从站3对主站1的短应答帧,告诉主站1参数化成功。) ...... 68 07 07 68 83 81 7D 3E 3E 11 21 2F 16 (该报文为主站1发给从站3的组态报文帧,包含2个字节的组态数据: 11 21,表明从站3应有两个字节输入和两个字节输出。) E5 (该报文为从站3对主站1的短应答帧,告诉主站1组态成功。) ...... 68 05 05 68 83 81 5D 3C 3E DB 16 (该报文为主站1发给从站3的请求帧,读取查询从站3的诊断报文。) 68 0B 0B 68 81 83 08 3E 3C 00 0C 00 01 00 08 9B 16 (该报文为从站3对主站1的应答帧,其中包含6个字节的诊断数据:00 0C 00 01 00 08,其中第四字节为01表明从站3已经被主站1成功地参数化,从站3进入数据交换状态。) ...... 68 05 05 68 03 01 7D 00 00 81 16 (该报文为主站1发给从站3的请求帧,包含两个字节的输出数据:00 00, 并请求从站3的输入数据。此后主站1周期性地发送此报文) 68 05 05 68 01 03 08 00 00 8C 16 (该报文为从站3对主站3的应答帧,包含两个字节的输入数据:00 80) ...... ...... 上述报文交互过程基本上描述了一个从站的工作机制,各个报文的具体含义以后再进一步给出。 (更多内容请访问http://ebug.mysmth.net)



辣辣

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 15回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2004年3月23日
发表于:2004-07-26 16:45:00
1楼
写的很好,不错

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14399帖 | 54471回
  • 年度积分:0
  • 历史总积分:579
  • 注册:2008年9月08日
发表于:2004-07-26 23:10:00
2楼
http://ebug.mysmth.net 为什么上不去!

吹风会

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 29回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2003年4月02日
发表于:2004-07-28 10:37:00
3楼
date-exchange?

冬水先生

  • 精华:2帖
  • 求助:0帖
  • 帖子:5帖 | 20回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2001年10月15日
发表于:2004-08-12 12:52:00
4楼
to we: 抱歉,是data-exchange的笔误

毛毛2006

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 26回
  • 年度积分:0
  • 历史总积分:87
  • 注册:2003年7月14日
发表于:2004-08-31 11:10:00
5楼
我现在有一称重仪表带有RS485接口,请问如何将其挂在PROFIBUS-DP总线上?谢谢!

冬水先生

  • 精华:2帖
  • 求助:0帖
  • 帖子:5帖 | 20回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2001年10月15日
发表于:2004-09-01 12:57:00
6楼
to cjw: 可以用PROFIBUS/485的转换器,把仪表的协议写到转换器里

初学A

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:116
  • 注册:2004年7月07日
发表于:2004-09-05 23:08:00
7楼
冬先生:你好! 我手头有个项目需要用PLC(是西门子S7,CPU为214)与三台丹佛斯的TVL-5000进行通讯,请问该怎么做?

远 方

  • 精华:1帖
  • 求助:0帖
  • 帖子:18帖 | 401回
  • 年度积分:0
  • 历史总积分:561
  • 注册:2002年1月29日
发表于:2004-09-07 10:24:00
8楼
VLT-5000的變頻器需要購買選購的Profibus/DP卡,才可以通過DP網絡與主站相連,但你只是說需要用PLC與三臺變頻器進行通訊,那不一定要用PROFIBUS,通常變頻器的控制有通訊,有IO端口,或者使用控制面板,你可以自己選擇

相关主题

官方公众号

智造工程师