通信协议的制定!
在实际应用中,一个系统可能由很多台互相关联的设备组成,这些设备之间往往通过各种现场总线连接起来.为了使设备之间能够正确有效地进行数据的传输,我们需要制定相应的通信协议来管理总线上的数据传输.下面以ALEC协议为例来说明通信协议的制定需要注意的一些事项.注:ALEC为世界著名的安防设备制造商.
此主题相关图片如下:
由上图可以看到,一个通信协议一般都有一个HEADER,即"头"字节,ALEC协议的头字节是0x02,接下来是地址.然后是命令字(Command),命令字的具体含义可以随意规定,比如当命令字是0x01时,执行某某操作,当命令字是0x02时,又执行另外的某某操作;再接下来是Data1和Data2,是数据信息,它们可以包含非常多的内容.命令字是告诉"做什么",而Data1和Data2则可以补充"做"的内容以及一些具体的参数.比如,现在要控制一个设备的指示灯闪烁5次,那么命令告诉这个设备指示灯要闪烁,而数据信息则告诉设备闪烁的次数是5次;协议的最后一个字节是校验和,当然,在很多协议里也可以用其它的校验方式,比如异或校验,CRC校验等等.
具体到某一个实际项目中,通信协议的内容可能有所不同,但框架基本上和上述ALEC协议相似.可能会根据需要对协议的内容做相应的裁剪和扩充.