文件名称:算法步骤-proteus:simulation is not running in real time解决方法
文件大小:911KB
文件格式:PDF
更新时间:2024-07-05 20:32:22
RS485
3.1 算法设计思想 基于 RS-485 总线的集中监控系统中一般满足会出现如下两种情况: 情况 1:两个及以上的从机在总线上按不同的时间发送应答主机,主机可以完整的接收到所有数据; 情况 2:两个及以上的从机在总线上同时发送应答主机的数据,会发生总线冲突:主机可能完全收不 到任何数据,或者接收到不完整的数据,即:无起始或结束标志,数据包校验值错误。 当出现情况 1 时,主机根据所接收数据即可识别出从机的 ID(例如生产序列号),从而分配地址;当 出现情况 2时,主机不能获得有用信息。因此,如何使某一时刻只有一个从机信息在数据链路上传递,以 便主机能正确识别出该从机的 ID 是进行自动地址分配的关键。因此可以设定从机回复的时间随机延迟, 使得各从机的信息同时在数据链路上出现的可能性减小,以便主机能快速根据回复信息设定从机地址。 3.2 算法条件 要通过主机,自动地识别从机的地址,必须要求主机和从机能够进行通信,即要求主机与各从机遵循 共同约定的通信协议,通信协议须包括:数据起始和结束标志、通信目的地址、数据包校验值(例如 16bit 的 CRC 值)。此外,要求系统中每台从机均具备不重复的 ID(例如生产序列号)。 3.3 算法步骤 步骤 1:操作人员在主机设置半双工集中监控系统的从机数量 M(M 默认为 100),启动分配控制命令; 步骤 2:主机根据需要获取的从机数量值 M 构造协议数据包,并将其广播给总线上的所有从机。主机 发送数据后处于接收数据状态,并设定接收数据等待定时时间 T1=(M+1)K,其中系数 K 为物理链路连接