恭喜,你发布的帖子
发布于 2016-07-19 13:07:45
20楼
看过几次这个帖子,我没吱声,就是想知道大家是怎么理解的。有不同的声音,才好交流。
我说一下我的理解:
首先,这两个协议(ProfiBus;ProfiNet)是国际组织针对分布式 IO 建立的公开规则。任何厂家遵守这个规则就可以“互联互通”。
因为不是集中控制(控制器和IO设备在一起),而是分布式(控制器与远程 IO设备)所以有通讯;交换信息的需要。
在被控 IO设备上,有不同处理优先等级;
1、有接到指令立即执行;不给予返回响应。(例如:执行广播的指令。没有返回报文)
2、有接到指令立即执行;同时返回响应状态。(例如:启动/停止;打开/关闭;加速/减速;同时立即返回当前状态;)
3、有接到指令,需要在合适的情况下执行;执行完成后,返回执行的结果。(例如:设置参数的修改,执行工厂复位;清除记录等等。这些需要较长的时间才能响应,告诉控制器是否正确完成。)
这些在没有以上两个协议的时候,也是这样的情况。只不过各厂家的通讯协议有各自的规则。
在PB/PN中针对上述第二点,称之为(控制)过程数据,它由PZD字段;通过周期通讯来实现。
怎么实现呢?
首先,要建立个轮询的周期通讯。它可以是由单独的模块构成;也可以是在双边控制单元通过数据缓冲区构成。反正就是,远程 IO(IO模块;变频器等)随时将状态放入这里,当控制器(PLC等)指令到来时,IO设备读取执行,同时缓冲区的数据发送回控制器。
指令交换的速度取决于通讯总线的周期。
一旦组态,你控制器发不发报文,这个周期报文交换都是存在的。
针对那些有要求的IO;伺服是有时间响应要求的。例如要求周期在10毫秒,因此就有了同步模式;还有成组同步模式(例如需要多台同时开始动作,这时,缓冲区的数据将不被执行。等接到同步指令时一起动作等等);如果10毫秒不够,那么还有等时同步模式,使周期固定在1毫秒。
如果需要更快,那么就像Drive-CLiQ采用千兆的速率,使之达到微秒级的控制。
硬线的接法是属于逐渐被淘汰的范畴。
组态的报文,可以仅使用PZD,完全不使用PKW字段。例如:我只需要控制远程IO,参数由其方式(AOP/BOP)设置。当然,也可以完全不用PZD,仅使用PKW字段(反正我不嫌有点慢。)
下面说说PKW字段。(针对第三点)
这个字段是为了对远程 IO设备做设置、读写使用的。在PB/PN中专门为它规定了格式DB47。
如果组态存在周期通讯,它就嵌入在周期报文中执行。如果没有周期通讯,它就单独执行。就像你用的DriveMonitor与MM4通讯。
例如:在含有周期通讯时,读取过程:首先要发送写指令,告诉变频器控制器需要读操作;当收到远程做好准备的响应后;下个周期,发送要读那个参数、什么格式(U16?U32?浮点?);然后就是一个一个周期等待远程 IO的执行情况的回复响应。(那当然了,要是执行个工厂复位写指令,你就等吧。你在DriveMonitor中看到的就是一串红字无响应。)直到远程IO响应执行的结果(成功/失败)。
这完全根据需要远程执行具体指令的情况啦。
所以,这仍然是非周期的通讯。
我去吃饭啦。回头再聊。。。。
请填写推广理由:
分享
只看
楼主