PZD PKW到底什么意思PROFINET经常出现这2个词,却没有详细介绍,到底是什么单词的缩写?那个手册上有介绍
----------这不仅仅是PROFINET。所有ProfiBus; ProfiNet 驱动通讯报文都是一样的。
手册里有说明。可以看 MM440大全。
-------还包括USS通讯也是。PZD是周期通讯的参数,其速度快,但个数受限制,PKW是非周期通讯参数,不受个数限制,但刷新响应速度比较慢。所以,PKW通讯的参数尽量少用,用PZD的通讯控制传动系统。
-----我们一般应用,PZD也足够了。
-----PZD用于控制字,Soll Ist等实时数据 PKW主要用于参数的访问修改,非周期性
------PZD---ProZess Daten----过程数据通道,用于读写包含了控制字、状态字、给定值和实际反馈值等信息。 PKW---Parameter Kanal id Wert--=参数通道,用于读写参数值。
------头一次见有人把单词写出来,我以前还纳闷呢,PZD 跟 过程数据 的缩写总是差一点呢,原来是德文啊
-----1. 周期性通讯的PKW通道(参数数据区):通过PKW通道PROFINET IO控制器可以读写变频器参数,每次只能读或写一个参数,PKW通道的长度固定为4个字。 2. 非周期性通讯:PROFINET IO控制器通过非周期通讯方式访问变频器数据记录区,每次可以读或写多个参数。
-----周期性通讯,不是PZD吗?PKW也可以周期通讯吗?
------这两个都是周期性通讯,两者的不同是: PKW可以任意的读写变频器的参数,但是速度要比PZD慢。而PZD传输的变量由PPO和变频器决定,也就是说有的参数PZD是不能传输的,只能传输一些例如电流、频率、电压、速度、扭矩等这些特定的参数。
-------在我的印象里,PZD 都是可以更改BiCo的参数;PKW都是直接更改那些不能BiCo的参数,嘻嘻
另外,PZD和PKW如果都是周期通讯的话,他们的通讯周期是怎么确定的?PKW是不确定的吧?
---------是的,PKW是不确定的。PZD和PKW都是走PROFI,或者是bus或者是net,但PROFI本身这种通讯就是周期性的。所以这两种方式自然也就都是周期性的了,具体的周期频率我没有研究过。这种周期性的通讯方式在高响应的运动控制里是不能被接受的,有的时候加个第三方机械手如果要求响应较快,不会选择这种通讯方式,直接采用硬接线方式以满足工艺要求。
------从USS通讯协议分析来看,一条通讯报文不论是请求还是返回,都包括PZD和PKW两部分。
PZD部分需要预先设定好,包括PZD的个数和BICO的互连,通讯期间是不能修改的。每条通讯报文都会主动修改PZD的发送缓冲区和接收缓冲区,这就是所谓的周期通讯。而不是主从双方按照一个固定的周期发送和接收报文。如果请求方没有发出求情报文,接受方就不会主动返回,尽管此时已经建立了通讯连接。 PKW是面向于读写参数的,通过它你可以修改任何P参数,不论是数值还是BICO的互连都可以修改。就像你在用STARTER一样。但是一条通讯报文只能修改一个参数,效率比PZD要低。 以MM440为例最多可以支持到8个PZD,也就是一条请求报文可以写8个参数的值,一条返回报文可以读取8个参数的值,这里读和写的参数可以是不同的参数,它取决于接受和发送的BICO设置。最好的情况下,一条请求报文和一条返回报文通过PZD可以对16个参数进行访问,效率是非常高的! 所以PZD的目的在于速度和效率,PKW目的在于灵活性。
------这个问题有必要展开说明一下吗?我一直以为,PKW是非周期通讯,而PZD是周期通讯,这主要是受了你的影响呦。现在有不同的解释,所以,能不能展开交流一下呢?主要是搞清楚PZD和PKW他们的通讯区别。
我为什么这么关注此楼的讨论呢?因为,我们采用的PLC与变频器通讯,都是以PZD为主,PKW为辅。但是最近有一个题目,,采用上位机,通过动态链接库直接与变频器装置net通讯,采用的是pkw模式,PZD反倒是不会用。也就是不知道怎么改BiCo的参数。但我发现,net的PKW通讯,一点都不慢,完全是瞬时的,PC只要确认修改了,瞬间PKW对应的参数就被改变了。
PKW的相关问题,在关注中。
-----看过几次这个帖子,我没吱声,就是想知道大家是怎么理解的。有不同的声音,才好交流。 我说一下我的理解: 首先,这两个协议(ProfiBusrofiNet)是国际组织针对分布式 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响应执行的结果(成功/失败)。 这完全根据需要远程执行具体指令的情况啦。 所以,这仍然是非周期的通讯。
--------我之所以这样认为是看了几本书,我推荐大家也看一下,如果我这么理解错了,那么我觉得这几本书也是错的。但是我觉得书没错。如有错误请指明
西门子变频器中PZD PKW到底什么意思
-------好。感谢楼上的链接,给出自己理解问题的出处。也特别感谢y版原创的发言。对于一个技术问题的理解,我认为就应该有这种对立观点的交流和阐述。这才是论坛的永恒主题。交流,切磋。
我还是有疑问,难道PKW通讯是一个一个读或写吗?不是批量的读写?比如说,我有一百个参数需要读或写(有读有写),然后一个命令,瞬间完成?是广播式的,不是轮循的。
----------周期通讯报文中PKW字段每次就执行一个指令(读/写)。 但是,好在西门子提供了相关的系统功能块(FB。像PN下的FB286/FB287),免去了你自己组织一次次的读写。例如:“一次” 读回全部故障代码所有下标内容。
关于这些,我想应该从硬件上理解。实际上所有通讯端口都有自己的缓冲区。(不管是DP/PN还是串口、485,也不管是用模块还是使用本体的通讯口/卡。)缓冲区的使用方法是通过组态来分配的。没有组态有PKW字段的报文,它的缓冲区将不被“关注”。 通讯是装置主控程序一小部分,主程序只是在特定的时间与缓冲区打交道。所以,变频器 IO也要组态报文(结构)。例如:组态为 0PKW。2/2PZD(2发送/2接收);那报文就没有PKW字段。 对于PZD,需要组态(BICO)那些控制参数(转速、电流、电压、转矩、代码等等)放入缓冲区,那些参数需要从缓冲区读回执行。所以PZD字段长度是有限的,事前可以组态规定好的。 对于PKW字段,你说装置发展到现在,有了成千上万个参数,无法事前给规定好。其结果,只能根据主站的报文内容,通过异步的方式来执行。
PKW字段长度:PKW字段并不是规定死的。不同设备规定的不同。例如:MicroMaster系列就有所不同。 那时MM3 参数没那么多,它就是 3字长。而有的伺服驱动可能需要更长的字段。 (有趣的是USS通讯中,MM440的PKW长度还可以设为127,可变长度。它可以适应3字长(U16)和4字长的参数读写)
-------PKW与PZD都属于周期通讯,这属于PROFIDRIVE的基本通讯功能,PKW读写参数现在很少用,除非是第三方的驱动;非周期读写参数其实就是S7通讯,即PLC通过S7通讯读写西门子驱动内的参数,一次可以读写多个参数,比较方便
--------应该是VB.NET,用了一个动态链接库。过两天,准备把BiCo的功能也实现,都可以自制一个“STARTER”了。
我今天用STARTER与S120通讯,不用他的操作面板,直接用参数改写的方式,想让电机启动,结果没反应。r0002 = 41,意思是ON / OFF1 = 0,合闸不可能。我仔细检查,明明是P0840 = 1了呀,怎么回事呢?问热线技术支持才知道,P840必须要有沿触发。改参数值的方式不行。我才明白。启动还需要一个沿触发的激励。改用DCC的一个触发块,就OK了。挺好玩的。用变频器装置干些PLC的活。有意思。
------德文版的简写,不讲清楚真不好理解呀! “直接采用硬接线方式”?那这个硬接线的IO逻辑是不是也有一个刷新周期呢?是不是也需要硬件中断呢? 现场总线、背板总线、计算机内部总线……这些林林总总的总线,都有总线周期(时钟频率),所不同的就是对总线的控制机制(协议规范)。我理解现场总线也就是计算机内部总线的一个扩展,而DMA(直接内存访问,或者说直接缓冲区访问)方式就类似硬件中断这样的一种改变“周期轮询”的通信方式。
------PROFIBUS使用不同的SAP来进行通讯,根据调用的哪一个SAP确认是不是周期通讯。 DPV0仅支持周期通讯,DPV1和DPV2才有非周期通讯。 官方例程里面的非周期通讯,使用SFC52/53时,是通过调用SAP51进行的非周期通讯
------从用户的角度来看,PKW看做非周期通信更容易理解点,PKW是用来读写参数的,不可能需要重复的进行读写同一个参数,尤其是写操作,而如果是读操作(针对同一个命令),那么用PZD不是更省事。
|