关于profibus-DP的认识及疑问 点击:590 | 回复:2



aoterjia

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 194回
  • 年度积分:0
  • 历史总积分:270
  • 注册:2004年2月24日
发表于:2008-03-29 12:00:00
楼主
我以前做过modbus通讯,modbus通讯是建立在RS485物理接口上的通讯协议。我想RS485芯片只是简单的光耦隔离或电平转换芯片(据说成本只有十几块钱),并没有数据处理功能。modbus协议的处理全都要靠plc的cpu和内存来完成,所以在PLC里编写协议时必须使用收发指令,还要为这些指令分配数据交换区。因为要占用一定PLC资源,所以modbus协议的传输速率不可能太快,数据量也不能太大。
    现在我接触了profibus-dp通讯,据说嵌入式dp协议芯片成本要几百块钱,我想dp芯片里一定有单独的cpu和缓存,dp通讯工作都由dp芯片自动完成了,不会占用plc的cpu资源。在dp主站里,每个dp从站都分配到了站地址和用于数据交换的I/O地址,理论上来讲,dp主站只要读写这些本地的I/0地址,就实现了和dp从站的通讯。因此,dp协议可以实现很高的通讯速率。
    请问给高手,我以上这些认识对不对?
    我还有个疑问,dp芯片是不是每个周期都在收发数据?也就是说即使Q区没有转载指令,I区的数据也在不断的更新?
    



aoterjia

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 194回
  • 年度积分:0
  • 历史总积分:270
  • 注册:2004年2月24日
发表于:2008-03-29 12:31:00
1楼
有些从站的dp数据会超过四个字节,例如变频器的ppo5数据结构,收发区加起来有56个字节(28个I字节,28个Q字节),按西门子手册上说的“访问I/O的装载指令最多只能读四个

连续字节”,这个装载指令是指move吧,难道s7-300PLC里没有类似三菱BMOV之类的指令吗?
手册上讲对DP从站超过4个字节的I/O访问必须使用SFC14(收)及SFC15(发)指令。如果dp通讯都是由dp芯片单独完成的,不管PLC里有没有使用这两个访问指令,那些分配给DP从站的I/O地址里都会有交换好的数据存在吧?所以我认为SFC14的作用就是把I区的数据转移到L区、M区或DB里面,而SFC15的作用就是就是向Q区装载指令,指定需要dp从站的哪些数据。如果是简单的dp仪表从站,要交换的数据都是固定不变的几个地址,那样根本就不会用到任何转移指令了,把Q区的指令固定住,直接读取I区就好了。
但很多实例上都将I区的数据转移到L区、M区或DB后再做处理,是不是有些指令不支持I数据?

aoterjia

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 194回
  • 年度积分:0
  • 历史总积分:270
  • 注册:2004年2月24日
发表于:2008-03-31 12:32:00
2楼
希望高手指导一下,我觉得作为一个初学者都可能会遇到这些问题。

热门招聘
相关主题

官方公众号

智造工程师