Profibus单主站实时性问题请教? 点击:2440 | 回复:11



张琦

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 47回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月25日
发表于:2007-03-25 12:57:00
楼主
问题来源:
在西门子PLC(如S7-300,S7-400)与ET-200M组成的单主站分散控制系统中,PLC作为主站,ET-200M作为从站,两者通过Profibus总线相连。在PLC的周期循环扫描过程中(约为100ms),有一个I/O刷新时间片,通过总线完成I/O轮询。然而Profibus总线采用了简化的总线协议,它通过设定TTR (目标令牌循环时间),调整令牌循环时间上限以及高低优先级报文的传输。
我们在研究上述系统的实时性时遇到下面问题:
问题一:从PLC主站角度看,上述TTR 是否就是I/O刷新的给定时间片?若是,则Profibus总线信息报文传输为断续过程,不知如何理解?
问题二:S7-300和S7-400PLC中完成与Profibus通信是通过其CPU还是另有CPU来处理,从而使得Profibus总线信息报文传输为连续过程?
问题三:Profibus中的令牌循环和信息传输与PLC的循环扫描在时间上是什么关系?
问题四:据有关Profibus资料,DP单主站的请求报文为‘高优先级’,而DP从站发出的响应报文为‘低优先级’。但一般Profibus总线报文传输方式如:SRD(发送和请求数据需应答)是一个完整的过程,这对于主站来看,应该按什么优先级考虑?



张琦

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 47回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月25日
发表于:2007-03-26 15:21:00
1楼
自己顶一下!
期待大家的讨论!

明远

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 22回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2007年3月13日
发表于:2007-03-26 23:09:00
2楼
我没用过profibus,不过按照令牌总线协议和控制系统要求理解,令牌循环时间必然等于PLC周期循环扫描时间,而PLC周期扫描时间应该小于I/O刷新时间片。 Profibus总线不可能满载。本来就是不连续的。 节点只能说带有智能端口,自动完成MAC层及部分DLC层协议。而不会是两个CPU。(如果真有两个CPU,一定会做两个独立端口,一个接从站链路扫描,一个PLC令牌循环。)关键是,有没有两个CPU的芯片?除了LONWorks。

张琦

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 47回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月25日
发表于:2007-03-27 18:50:00
3楼
楼上的回答很专业阿!
不过,我认为PLC周期扫描时间应该大于I/O刷新时间片!

因为PLC扫描周期包括:故障诊断和通信处理为主的公共操作,工业现场I/O刷新,执行用户程序,外设请求操作。你认为呢?

一开始我也认为:令牌循环时间必然等于PLC周期循环扫描时间,但是我看到有关Profibus-DP的有关资料上面讲到“固定的DP循环时间模式”即每一次循环时间都是固定不变的,这又如何理解呢?

第四个问题谁能帮我解释一下呢?

明远

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 22回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2007年3月13日
发表于:2007-03-27 23:49:00
4楼
我理解的I/O刷新时间片是对一个PLC主站来说的,但是PLC周期扫描时间是相对全局来说的。如果全局循环时间大于局部I/O刷新时间片,那如何保证这个时间片内能得到刷新?

张琦

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 47回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月25日
发表于:2007-03-28 17:39:00
5楼
明远,你说的I/O在时间片内得不到刷新的现象是存在的!

我查看了相关资料:PLC在每个周期中集中一段时间对I/O信号进行处理,而当输入信号在I/O刷新时间尚未到来时发生变化,并且在I/O刷新时间到来时输入信号的变化已经过去了,此时将造成I/O信号的丢失!
也就是你所说的:如果全局循环时间大于局部I/O刷新时间片,那如何保证这个时间片内能得到刷新?

现在我想问:Profibus总线令牌循环时间与PLC周期循环扫描时间的关系是什么呢? 是相等的关系吗?

明远

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 22回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2007年3月13日
发表于:2007-03-28 22:43:00
6楼
可以想象:PLC周期循环扫描时间就是主站与从站交换信息所需要的时间。
显然:
单主系统时,总线令牌循环时间与PLC周期循环扫描时间相等。
多主系统时,总线令牌循环时间是各个PLC周期循环扫描时间的叠加。

还能有什么可能?

张琦

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 47回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月25日
发表于:2007-04-02 18:01:00
7楼
    有个朋友是这样说的:
1、在PLC单机运行的环境中,CPU通过硬件组太了解到,没有相应的网络接口,在这种情况下,I/O刷新是通过C总线完成的,此时总线令牌循环时间与PLC周期循环扫描时间之间根本不相干;

2、在配置有网络的环境中,CPU通过组太了解到部分(或全部)I/O数据需要来自网络。因此在PLC周期循环扫描时间的I/O刷新阶段,即提出对总线的要求,很多情况下,通过总线提取数据不可能在一个周期就完成,在这种情况下,CPU应该分时操作,因此我估计,在I/O刷新区间,CPU仅提申请,并读或写缓冲区,所谓通信是分时操作完成的。由此可以说明,无论你的通信有多快,都没有C总线连接的I/O模块的刷新快!

3、综上所述,总线令牌循环时间的长短与总线本身的性质有关,如设置,如速率、如站的数量等有关,而与PLC周期循环扫描时间之间没有必然联系!

大家怎样认为呢?

gougunsk

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 113回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2007年2月24日
发表于:2007-05-05 12:33:00
8楼
很专业!

    这不单是一个总线时间的问题,是一个终端嵌入式操作系统在编程时如何处理外部数据的问题.一个终端方案的内部总线通常快于外部总线(相于与终端设备而言,这里指现场总线),操作系统主进程的调度各模块的模式,决定了PLC通过现场总线的通信方式,为了外部总线的利用率与内部CPU的执行效率,对外部不同数据的采集也不是完全等时与等间隔,采集频度也会不同,这取决于数据的性质与需要.
    我认为单存的以总线周期与时间片来说明Profibus总线的实时性也不全面.其实实时性是整系统性能的一方面,是相对于整个系统而言的,而不单存相对于总线.总线仅是为实现系统实时要求的一种方法.如果足够快,你采用人送的方法也可以,只要系统能接受!完全相同的硬件系统可以实现差别很大的实时性系统.对于总线,则存在可实现的最快的实时响应性能指标.
   

雄心壮志

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2007年7月04日
发表于:2007-10-13 12:43:00
9楼

tommy6

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 143回
  • 年度积分:0
  • 历史总积分:199
  • 注册:2006年4月18日
发表于:2007-10-24 17:20:00
10楼
good

shmkyd021

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 294回
  • 年度积分:0
  • 历史总积分:448
  • 注册:2008年8月04日
发表于:2008-08-22 14:17:47
11楼
上海电热器材网 www.dryqw.com
联系人:赵忠媛 丁传勇                         
电 话:021-51575233 021-5157234                
传真:021-54891600
QQ:980487776
MSN:mkyd_zzy@hotmail.com
网址:www.dryqw.com

热门招聘
相关主题

官方公众号

智造工程师