发布于 2008-07-26 10:53:51
0楼
通讯可以有各种方式实现。具体采用哪种是在SMB87(187)中选择。
对于变频器来说,不一定要采用查找起始字符的方式。理由:
1、所有变频器接收到报文后需要处理(通讯模块要和CU交换,执行结果返回)需要时间。这个时间的长短和你要做的事有关,如果是写参数则时间较长,如果仅是处理设定值,命令则时间较短。
2、网络接上变频器,受到干扰的可能性较大。在有干扰的情况下,你不一定能正确地收到起始字符。不能“傻等”。
因此,经常使用空闲线(根据波特率),必须有一个“安静地”时间段,就启动接收。另一方面,使用报文长度(缓冲区长度)立即结束接收中断。不需要88、89。
这样一来,接收控制字 =9C。
用SMW92设定接收等待的最长时间,通过SMB86检查接收中断触发的条件,来决定如何处理。
如何处理?如果没有报文或有误,再次发送。如果报文正确,发送下一条(地址)。
发送中断中,只有启动接收,不需要别的。
学而时习之,不亦说乎?温故而知新,不亦乐乎?