发布于 2008-01-11 09:43:51
0楼
不编址是不行的,485通讯协议有两大类,一类的原理是ASCII方式,用特殊字符来区分一个数据帧的头、尾,如三菱用02、03,而数据字符都是ASCII表示的16进制数据,不过,一个字节的16进制数据要编程两个字节的ASCII,如16进制3A,编程ASCII后是30、41(都是16进制的ASCII),这种方式的通信效率很低,比另外一种方式低一半。
另外一类是用二进制方式通讯,这种通讯方式比较先进,代表性的通讯协议有施奈德的MODBUS-RTU、西门子的USS等(估计DP、MPI、PPI也都是这种模式)。这种方式数据帧头的识别是靠总线上的空闲时间来实现的,我们编程实现MODBUS-RTU时,是总线当总线上空闲时间超过4个字符的时间时(协议规定好象时3.5字符),下一个收到的字节是数据帧的头。
ASCII、二进制绝对不能在一条总线上混用,否则可能出现不可预测的错误。就是同一种方式的协议,最好也不要混用,否则出现问题的可靠性很大。
“就和赵本山喊“驾!!”,只有他的毛驴听懂,范伟就压根不懂一样。”
总线上只是识别通讯的数据字节,只要波特率等参数一样,即使范伟喊“驾”,赵本山的毛驴也会听懂。
国人当自强 共同努力 抵制日货