发布于 2011-07-16 19:25:27
3楼
做主站时,增加了内存数据共享这一环。用一个位来判断、指定的内存单元是禁止写还是可写,否则会导致多地设定时数据来回乱跳。在一拖多的场合,内存数据共享判断就更多层判断。而且读、写通讯时要加以判断,如果是本地改写了数据,下一个通讯指令就是写刚才本地修改过值写到的从机对应的寄存器上。当其中之一的从机有数据改写时,在一个通讯循环结束后,先要把数据写到其他的从机上和本地对应的内存上,才能开始新一轮的读取从机数据,否则等着数据混乱了。要利用自身是主机的情况,尽量延长点时间保证数据写到从机后再次读取时不会出错。
还有就是当其中一台从机通讯中断时,也要加以判断不接受它改写本地数据,一般3分钟后再去读尝试读取数据,不要每个循环都读取。否则一拖多的场合整个循环会很浪费时间,特别是多机场合只有一台从机能通讯的情况。
国内的所谓教材,基本上没看到这种说明,就连西门子的依然没有。是废柴还是教材,令人深省呢。
唉,废话太多了....