恭喜,你发布的帖子
发布于 2016-07-19 18:12:32
23楼
周期通讯报文中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字长的参数读写)
请填写推广理由:
分享
只看
楼主