如图,在窗口的Address栏位输入需要监视的变量的地址。我们输入MW40到MW46,此4 Words为我们试先写入准备用来访问变频器的数据。最后再输入MW10,此地址存放的是我们写数据到变频器的操作的返回值,如果操作正确此值为0。点击菜单Variable -> Monitor或按Ctrl+F7或点击眼镜图标,开始监视所输入的地址的变量值。从监视的结果中,我们看到MW40的值为12BCHEX,接下去的3 words的值都为0,这与我们试先写入的值相符,另外,MW10的返回值为0,则表示送数据到变频器的操作成功。
接着,我们输入MW30到MW36的位址,此位址存放从变频器读回来的数据。后面接着再输入MW12,这个位址存放从变频器读数据回来的操作是否成功,为0则表示成功。
从数据中,我们可以看到,MW30为12BCHEX,与发送的相同,MW32,MW34为0,MW36值为0006HEX,这个位址表示从变频器读回来的参数值,即我们需要读取的参数量0700的值为6。 MW12为0表示此读数据操作成功。
同理,可以使用此方法去监视不同的其它变量。
也许我们更关心DP总线上面的数据,上面看到的数据都是由PLC内存区里面提取的,那么,作为DP从站,PLC是如何把数据送达到变频器,而变频器又是如何将数据送回给PLC的呢? 这些部分都是由Profibus/DP总线的协议来完成的。Profibus/DP协议是一个复杂的通讯协议,在此我们只作简单的概述,以方便描述其数据通讯的过程。 首先我们来看看Profibus的重要电文结构
1) 令牌信息。Profibus支持多主站系统,每个主站按时间分配其总线控制权,使用令牌在
主站之间传递信息,如果主站获得上一个主站传递来的令牌,则立即有对总线的控制权,当其令牌时间到达,则使用此电文将令牌传递给下一个主站。
2) FDL状态请求电文。在进行Cyclic 数据交换之前,主站间通讯,主站与从站间通讯都交
由FDL状态请求电文来实现。
3) Profibus所有的数据交换都使用此电文来实现,包括诊断等。
我们继续了解DP从站的状态机制。一个DP的从站有四种状态:No Power、WAIT_PRM、WAIT_CFG、DATA_EXCH。当从站Power On,如果从站支持Set_Slave_Add报文,则处理此报文,如果不支持,则跳过。此时,从站等待主站的请求诊断电文(Slave_Diag),然后把自己的状态告知主站,此时从站进入WAIT_PRM状态,主站知道从站正在等待参数化(Parameterization)报文,于是就会发出参数化报文。从站收到后取出报文中的参数对自身进行配置,并立即进入WAIT_CFG状态,主站继续送Configuration的报文到从站,Configuration报文里所带的数据主要是从站IO长度的数据,它表明从站可与主站进行的PKW和PZD的IO数据长度各是多少。从站会将此数据与自身比对,如果符合自身所支持的某一个格式,则配置通讯格式。最后主站会使用(Slave_Diag)报文来再次获取从站的状态,如果从站配置成功,则进入DATA_EXCH状态,此时主站知道从站已经在等待进行IO数据交换,立即会发送IO数据报文与从站进行数据交换。这样的数据交换被称为Cyclic数据交换,会一直持续下去。
接下来,我们找寻一些方法,来抓取DP总线上实际在运行的数据,分析整个数据交换的过程。 由于Profibus采用高速的RS485通讯,但支持的频率范围从9.6Kbit/s到12Mbit/s,故我们在低速(9.6Kbit/S)的情况下,可以使用PC的COM口来采集总线上面的数据。具体的实现方法很简单,我们用一个RS485到RS232的转换模块,如研华的Data Acquisition Modules ADAM-4520 RS232 to RS485 isolated converter,将PC与总线相连接,DP总线的A和B分别接到converter的输入(注意数据的方向),转换模块需要9V的DC供电。另一端与PC相连,为使用简单,我们使用CVFD软件的数据接收功能来接收总线上面的 数据。
Profibus的数据为11bit,数据格式为<8,E,1>,这里我们要设定baud rate 为9.6K,因前面配置Profibus网络的时候,我们设定了速率为9.6Kbit/s,选择RTU模式。
点击START,开始接收数据,这时总线上面的所有数据就被采集到PC上了。为了我们可以看到一个从站连接的全过程,我们将MMX的总线接头拨下,然后再插上插头,这样我们可以看到MMX与主站进行连接的过程。当拨下插头时,主
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库ProfibusDP数据传递通信原理(3)在线全文阅读。
相关推荐: