RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。 备注:以上是官方的专业描述, 看不懂没有关系,大致有个印象就可以了,有兴趣的可以上网可以买一些专业书籍做深入研究,我再用通俗的语言补充描述一下。1. RS485通讯协议. 主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。串行通讯,数据帧11位,1个起始,8个数据位,2个停止位. 数据传输格式采用标准ASCⅡ码. 通讯数据字符集0(30H) 1(31H) 2(32H) 3(33H) 4(34H)5(35H) 6(36H) 7(37H) 8(38H) 9(39H)A(41H) B(42H) C(43H) D(44H) E(45H)F(46H) .(2EH) -(2DH) +(2BH). 通讯控制字符集DC1(11H):读瞬时值 DC2(12H):读参数DC3(13H):写参数 DC4(14H):读写FCC5000STX(02H):从机起始符 ETX(03H):主机结束符 ETB(17H):从机结束符 RS (1EH):数据间隔符 US (1FH):参数间隔符 ACK(06H):接收正确 NAK(15H):接收错误 CAN(18H):通讯复位 SP (20H):空白符. 通讯协议. 读瞬时值. 读单通道瞬时值 主机发送: DC1 AAA CC ETX DC1(11H) : 读瞬时值 AAA : 从机地址码(=001~254) CC : 通道号(=01-99) ETX(03H) : 主机结束符 从机回送: STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETB STX(02H) : 从机起始符 AAA : 从机地址码(=001~254) CC : 通道号(=01-99) US(1FH) : 参数间隔符 MM : 表型字(=00~99)DDDDDDD : 瞬时值(-32167~32767,32767=brok,16000=,小数点在实际位置) EEEE : 报警1~4报警状态(E=0:OFF E=1:ON) SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 从机结束符 例子: 主机发送 : 11H 30H 30H 31H 30H 31H 03H(读001号表01通道瞬时值) 从机回送 : 02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H 30H 30H 34H17H(001号表为XMA5000系列,01号通道瞬时值=,报警1动作,报警2不动作,校验和=1004). 读多通道瞬时值 主机发送: DC1 AAA CC ETX DC1(11H) : 读瞬时值 AAA : 从机地址码(=001~254) CC : 通道号(=00) ETX(03H) : 主机结束符 从机回送1: STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETB STX(02H) : 从机起始符 AAA : 从机地址码(=001~254) CC : 通道号(=01,表示不支持多通道批读,由表型号字判断通道数,逐个通道读取瞬时值) US(1FH) : 参数间隔符 MM : 表型字(=00~99)DDDDDDD : 瞬时值(-32167~32767,32767=brok,16000=,小数点在实际位置) EEEE : 报警1~4报警状态(E=0:OFF E=1:ON) SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 从机结束符从机回送2: STX AAA CC US MM US RS FF US GGGGGG US HHHH … US SSSSS ETB STX(02H) : 从机起始符 AAA : 从机地址码(=001~254) CC : 通道号(=00,表示支持多通道批读) US(1FH) : 参数间隔符 MM : 表型字(=00~99) RS : 数据间隔符 FF : 通道号(=01~99)GGGGGGG : 瞬时值(-32167~32767,32767=brok,16000=,小数点在实际位置) HHHH : 报警1~4报警状态(E=0:OFF E=1:ON) SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 从机结束符 注 : 下划线为通道数据格式. 读参数 主机发送: DC2 AAA CC US PP ETX DC2(12H) : 读参数值 AAA : 从机地址码(=001~254) CC : 通道号(=01-99) US(1FH) : 参数间隔符 PP : 参数号(=01-69) ETX(03H) : 主机结束符 从机回送: STX AAA CC US PP US DDDDDDD US SSSSS ETB STX(02H) : 从机起始符 AAA : 从机地址码(=001~254) CC : 通道号(=01-99) US(1FH) : 参数间隔符 PP : 参数号(=01~69) DDDDDDD : 参数值(=-1999~15999) SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 从机结束符 例子: 主机发送 : 12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读001号表01通道参数号12量程零点值) 从机回送 : 02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H33H 2EH 34H 1FH 30H 30H 37H 37H 37H 17H(001号表01通道参数号12量程零点值=,校验和=777). 写参数 主机发送: DC3 AAA CC US PP US DDDDDDD US SSSSS ETX DC3(13H) : 写参数值 AAA : 从机地址码(=001~254) CC : 通道号(=01-99) US(1FH) : 参数间隔符 PP : 参数号(=11-69) DDDDDDD : 参数值(=-1999~15999) SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETX(03H) : 主机结束符 从机回送: ACK(06H) : 接收正确 NAK(15H) : 接收错误 例子: 主机发送 : 13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H33H 2EH 34H 1FH 30H 30H 37H 39H 34H 17H(写001号表01通道参数号12量程零点值=,校验和=797) 从机回送 : 06H (写参数成功) . 读写FCC下挂仪表数据. 读单通道瞬时值 主机发送: DC4 FF DC1 AAA CC ETXDC4(14H) : 读写FCC5000FF : FCC5000地址码(=01~99) DC1(11H) : 读仪表瞬时值 AAA : 仪表地址码(=001~254) CC : 仪表通道号(=01~99) ETX(03H) : 主机命令结束符 FCC回送: DC4 FF STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETB或DC4 FF NAKDC4(14H) : 读写FCC5000FF : FCC5000地址码(=01~99) STX(02H) : 数据起始符 AAA : 仪表地址码(=001~254) CC : 仪表通道号(=01~99) US(1FH) : 参数间隔符 MM : 仪表表型字(=00~99) DDDDDDD : 瞬时值(-32767~32767,32767=brok,16000=,-2000=,-32767=仪表故障,小数点在实际位置) EEEE : 报警1~4报警状态(E=0:OFF E=1:ON) FFFFF : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 数据结束符 NAK(15H) : 错误命令或错误地址 例子: 主机发送 : 14H 30H 31H 11H 30H 30H 31H 30H 31H 03H(读01号FCC下挂001号表01通道瞬时值) FCC回送 : 14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H31H 32H 31H 17H(001号表为XMA5000系列,01号通道瞬时值=,报警1动作,报警2不动作,校验和=1121). 读参数 主机发送: DC4 FF DC2 AAA CC US PP ETXDC4(15H) : 读写FCC5000FF : FCC5000地址码(=01~99) DC2(12H) : 读仪表参数值 AAA : 仪表地址码(=001~254) CC : 仪表通道号(=01~32) PP : 仪表参数号(=01~69) ETX(03H) : 主机命令结束符 FCC 回送: DC4 FF STX AAA CC US PP US DDDDDDD US SSSSS ETB 或DC4 FF NAKDC4(14H) : 读写FCC5000FF : FCC5000地址码(=01~99) STX(02H) : 数据起始符 AAA : 仪表地址码(=001~254) CC : 仪表通道号(=01~32) US(1FH) : 参数间隔符 PP : 仪表参数号(=00~69) DDDDDDD : 仪表参数值 SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 数据结束符 NAK(15H) : 错误命令或错误地址或错误参数 例子: 主机发送 : 14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读01号FCC下挂001号表01通道,参数号12量程零点值) FCC回送 : 14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 38H 39H 14H(001号表01通道,参数号12量程零点值=,校验和=894). 写参数 主机发送: DC4 FF DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC4(14H) : 读写FCC5000FF : FCC5000地址码(=01~99) DC3(13H) : 写仪表参数值 AAA : 仪表地址码(=001~254) CC : 仪表通道号(=01~32) PP : 仪表参数号(=01~69) DDDDDDD : 仪表参数值 SSSSS : 校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数) ETB(17H) : 数据结束符 FCC回送: DC4 FF ACK或DC4 FF NAKDC4(14H) : 读写FCC5000FF : FCC5000地址码(=01~99) ACK(06H) : 正确接收 NAK(15H) : 接收错误 例子: 主机发送 : 14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 39H 31H 31H 17H(写01号FCC下挂001号表01通道,参数号12量程零点值=,校验和=911) FCC回送 : 14H 30H 31H 06H (写参数成功). 读FCC时间 主机发送: DC4 FF DC2 00101 US 70 ETXFF : FCC5000地址码(=01~99)FCC回送: DC4 FF STX 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETBYYYYMMDDhhmmss : YYYYMMDDhhmmss(年月日时分秒) 例子: 主机发送 : 14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 37H 30H 03H(读01号FCC参数号70实时时间) FCC回送 : 14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 34H 34H 17H(01号FCC实时时间2003年10月1日8点0分0秒,校验和=1244). 写FCC时间 主机发送: DC4 FF DC3 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETXFCC回送: DC4 FF ACK或DC4 FF NAK 例子: 主机发送 : 14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 36H 31H 03H(写01 FCC实时时间2003年10月1日8点0分0秒,校验和=1261) FCC回送 : 14H 30H 31H 06H (写参数成功). 读FCC下挂仪表地址范围 主机发送: DC4 FF DC2 00101 US 71 ETXFCC回送: DC4 FF STX 00101 US 71 US AAA RS BBB US SSSSS ETBAAA : 起始地址BBB : 终止地址. 读FCC下挂故障仪表地址 主机发送: DC4 FF DC2 00101 US 72 ETXFCC回送: DC4 FF STX 00101 US 72 US AAA RS … US SSSSS ETBAAA : 故障地址 注 : 下划线为故障地址发送格式;数据为空表示无故障地址. 读所有通道瞬时值主机发送: DC4 FF DC2 00101 US 73 ETX FCC回送: DC4 FF STX 00101 US 73 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … US SSSSS ETB AAA : 仪表地址码(=001) BB : 仪表通道号(=01) US(1FH) : 参数间隔符 PP : 仪表参数号(=00~99) CCCCCCC : 瞬时值(-32767~32767,32767=brok,16000=,-2000=,-32767=仪表故障,小数点在实际位置) DDDD : 报警1~4报警状态(E=0:OFF E=1:ON) 注 : 下划线为通道数据格式,故障仪表数据只发送01通道. 读取FCC下一条历史数据记录主机发送: DC4 FF DC2 00101 US 74 ETX FCC回送: DC4 FF STX AAA CC US 74 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … US SSSSS ETB 注 : 下划线为通道数据格式;通道数据为空表示历史数据已经读空 发送方式同73参数,只是故障仪表数据不发送. 重读FCC上一条历史数据记录主机发送: DC4 FF DC2 00101 US 75 ETX FCC回送: DC4 FF STX AAA CC US 75 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … US SSSSS . 读取FCC时间历史数据记录读指针对应时间点 主机发送: DC4 FF DC2 00101 US 76 ETXFCC回送: DC4 FF STX 00101 US 76 US YYYYMMDDhhmmss US SSSSS . 移动FCC时间历史数据记录读指针对应时间点 主机发送: DC4 FF DC3 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETBFCC回送: DC4 FF ACK或DC4 FF NAK 用途:FCC历史数据记录读指针通过74号参数读来一条一条移动,大量历史数据记录读取可能需要很长时间,可用76号参数直接移动到所需数据时间点,然后用74读取。当时间点晚于当前时间,删除所有历史数据记录。. 仪表表型字00:XMZ5000 01:XMT/XMB5000 02:XMDI5000 03:XMS5000 04:XML6000 05:XMD5XX16 (16)06:XMA5000 07:XMH5000 08:XML5000 (3)09:XMJ5000 10:XMD5XX08 (8) 11:XMPHT/XMPHB5000 12:XMD5XX32(32) 13:XME5000 (3) 14:XMDO500015:XMLH5000 (4+1) 16:XMD5XX24 (24) 17:XMAF5000 (2)18:XMC5000(24) 19:XMB8000 (4) 20:XMGB5000 21:XMGB7000 (2)30:XMG5000 31:XMGI5000 32:XMG7000 (2)33:XMG8000 (3) 34:XMHG5000 35:XMGA5000/6000 (4)36:XMGAF5/6/7000 (4) 37:XMRA5000/6000 (5) 38:XMRAF5000/6000 (5)39:XMPA7000 (5) 40:XMPAF7000 (5) 41:XMRA7000 (6)42:XMRAF7000 (6) 43:XMPHGA5000/6000 44:XXS45:XMRH5000 46:DFD/DFQ/DFDA/DFDQ5000/DFQA7000 47:DFQA6000 50:XMPA8000 (7) 51:XMPAF8000 (7) 52:XMRA8000 (8) 53:XMRAF8000 (8) 54:BBC5000(7) 55:PHAB6000 58:XMRY5000/8000(4) 59:XMY5000/8000(4) 60:XMLY5000 61:XMLY6000 62:XMLRY5000/8000(4)63:XMJY5000/8000(4) 64:XMJRY5000/8000(4) . 仪表分度号00:0~10mA线性 01:4~20mA线性 02:0~5V线性 03:1~5V线性 04:0~100线性 05:0~10mA开方06:4~20mA开方 07:0~5V开方 08:1~5V开方09:0~100开方 10:Pt100 11::Pt10 13:Cu100 14:Cu5015:30~350Ω 16:G53 17:BA118:BA2 19:F1 20:F221:B 22:R 23:S24:N 25:K 26:E27:J 28:T 29::钨铼3-钨铼26 31:EA2 32:EU233:0~. 仪表参数号. 只读参数号01:功能码 02:流量积算值 03:DA1值 04:DA2值 05:SP值 06:累计时间07: 08: 09:批读 PV 10:批读参数 71:读FCC所挂接仪表地址72:读FCC所挂接故障仪表地址73:读FCC所挂接仪表瞬时值(PV)74:读FCC所挂接仪表历史值75:重读FCC所挂接仪表历史值. 读写参数号11:分度号 12:量程零点 13:量程满度14:开方小信号切除 15:DA1方式 16:DA2方式 17:报警回差 18:报警一值 19;报警二值 20:报警三值 21:报警四值 22:报警方式23:付屏 24:小数点 25:仪表时钟26:输出零点 27:输出满度 28:运算模式29:DI/DO 30:通讯给定值31:PID P 值 32:PID I 值 33:PID D值34:PID 上限幅 35:PID 下限幅 36:PID 安全阀位37:PID 变化率 38:PID SP0 值 39:PWM 周期40:(程序起点) 41: (程序时间) 42:启停程序(0=启动)43:手自动切换(0=自动) 44:PID输出值 45:锅炉高度零点46:锅炉高度满度 47:运算系数K 48:运算小值切除 49:阀门行程时间 50:阀门调节死区51:(风煤比系数或风油比系数或风气比系数 数值范围~9999)52:(负荷70%时炉温T01 数值范围850 ~ 1050)53:(负荷20%时炉温T02 数值范围850 ~ 1050)54:(负荷70%时含氧量X01 数值范围1 ~ 10)55:(负荷20%时含氧量X02 数值范围1 ~ 10)56:(床温调节系数Kt 数值范围0 ~ 30)57:(含氧量调节系数Kx 数值范围0 ~ 30)58:控制模式 59:偏置值60:本机/远程给定切换(0=本机)61:远程给定系数K 62:远程给定偏值B 63:(气分起点) 64: (气分时间) 65:选用曲线号66:BBC保留 67:BBC保留 68:BBC保留70:读写FCC时钟76:移动FCC所挂接仪表历史值时间指针128:参数上锁 129:参数开锁 130:通讯地址 130:通讯波特率 131:OLD1值 132:NEW1值 133:OID2值 134:NEW2值 135:标定室温值 136:标定输入零点 137:标定输入满度 138:标定输出零点 139:标定输出满度2 仪表分类说明. XMZ5000表型字 = 00通道数 = 01参数号 = 11(分度号参数值范围 00 ~ 99)参数号 = 12(量程零点参数值范围 -01999 ~ 15999 或 – ~ 或 – ~ 或 – ~ )参数号 = 13(量程满点参数值范围 -01999 ~ 15999 或 – ~ 或 – ~ 或 – ~ )参数号 = 14(开方小信号切除参数值范围 -01999 ~ 15999 或 – ~ 或 – ~ 或 – ~ )参数号 = 24(小数点参数值范围 00000 ~ 00003,0=小数点在个位,1=小数点在十位,2=小数点在百位,3=小数点在千位)
多机通信避免冲突发生。1、为了防止在多机器人系统中发生冲突,经常采用不断广播每个机器人轨迹计划的方法。但是,这需要大量数据传输,并且在轨迹明显不相交时并不必要。最近的一篇论文提出了一种有效的微型航空器通信策略和轨迹规划方法。多主体强化学习用于确定何时以及与谁进行交流最有用。使用其他机器人的请求轨迹和估算轨迹,可以确定最安全的轨迹。2、分散的多机器人系统通常通过不断地广播其意图来执行协调的运动计划,以解决缺乏协调所有机器人工作的中央系统的问题。特别是在复杂的动态环境中,通信所允许的协调性提高对于避免协作机器人之间的冲突至关重要。
81 浏览 6 回答
229 浏览 7 回答
322 浏览 8 回答
144 浏览 3 回答
348 浏览 3 回答
108 浏览 6 回答
170 浏览 6 回答
264 浏览 4 回答
291 浏览 3 回答
172 浏览 3 回答
278 浏览 2 回答
337 浏览 2 回答
149 浏览 2 回答
345 浏览 4 回答
277 浏览 3 回答