The invention relates to a serial communication method without parity check controller and serial communication with parity check server, which is used for realizing serial communication between a parity free controller and a parity check server. This method does not change the basic structure of the existing electrical system, by changing the format of data packet, the serial communication controller and server; according to the Modbus RTU protocol to generate a data packet insertion interval between each byte byte data packets, and then use the serial interface to send, the server can correctly identify the initial a byte, and then make the correct response, the serial communication function is normal; when solving the parity controller and the server are not the same, because communication byte length is not the same, the controller sends data cannot be resolved properly to avoid the server, dislocation phenomenon analysis.
【技术实现步骤摘要】
无奇偶校验控制器与有奇偶校验伺服器的串口通信方法
本专利技术涉及一种串口通信方法,在不改变系统硬件结构的情况下,改变串口通信数据包的格式,避开串口通信中的奇偶校验,使得无奇偶校验控制器与有奇偶校验伺服器能够正常通信。
技术介绍
由于串口通信技术成熟,部署方便,传输距离远,支持多种系统与设备,因此在工业中应用非常广泛。特别是ModbusRTU协议,得到了几乎所有自动化控制系统的支持。作为广泛使用的通信协议,ModbusRTU为用户定义了多种格式,例如奇偶校验、多路读写等功能。然而在实际应用中,会出现因为设备通信格式不匹配而导致通信失败的问题。当控制器与伺服器奇偶校验不匹配时,会出现数据无法正常解析的情况,进而影响工业系统功能的实现。虽然控制器发出了串行指令,但是由于解析错误,驱动器没有给出应有的响应。比如无奇偶校验功能的UMAC和有奇偶校验功能的华大伺服器之间就无法正常通信。由于通信格式的不匹配,控制器发送的数据无法被伺服器正确地解析,因此无法得到正确的响应。对于奇偶校验不匹配导致的通信失败,通常有两种解决方案。一种是把工控机作为中转站,使用工控机读取伺服器的数据,再通过以太网接口回传给控制器。另外一种方案是在控制器与伺服器之间接入一块单片机,使用单片机将控制器无奇偶校验的数据转化为伺服器可以识别的有奇偶校验的数据。方案一需要购买工控机,增加了产品成本。即使在配备有工控机的情况下,也需要编写串口通信程序,并对控制器做二次开发来实现数据的传输,研发难度较大。第二种方案使用单片机,成本较第一种方案减少不少,但是单片机的开发难度比软件开发难度更大。此外引入单片机还 ...
【技术保护点】
一种无奇偶校验控制器与有奇偶校验伺服器的串口通信方法,该方法按如下步骤进行:1)通过串行通信接口连接控制器与伺服器;2)根据被访问数据的地址等信息,按标准Modbus RTU格式生成8字节数据包,各字节如下:a.下位机地址位字节;b.通信指令位字节;c.访问地址高位字节;d.访问地址低位字节;e.访问数据长度高位字节;f.访问数据长度低位字节;g.CRC校验码的低位字节;h.CRC校验码的高位字节;以上每个字节的长度与校验方式有关,当有奇偶校验时字节长度为11比特,无奇偶校验时字节长度为10比特;3)对于步骤2)中生成的8字节数据包,通过在两两字节之间插入间隔字节,生成总长15字节的数据包;其中间隔字节由为8比特长度的逻辑正组成,以十六进制表示为0xFF;4)配置控制器的串口发送寄存器与接收寄存器;5)将步骤3)中生成的数据包依次存储到步骤4)中配置的串口发送寄存器当中;6)使能控制器串口发送,依次发送步骤5)中串口发送寄存器所存储的数据;7)伺服器对步骤6)中发来的数据进行解析,并做出相应的响应;8)等待3.5个字符周期以上,在步骤4)中配置的串口接收寄存器中读取伺服控制器的响应数据 ...
【技术特征摘要】
1.一种无奇偶校验控制器与有奇偶校验伺服器的串口通信方法,该方法按如下步骤进行:1)通过串行通信接口连接控制器与伺服器;2)根据被访问数据的地址等信息,按标准ModbusRTU格式生成8字节数据包,各字节如下:a.下位机地址位字节;b.通信指令位字节;c.访问地址高位字节;d.访问地址低位字节;e.访问数据长度高位字节;f.访问数据长度低位字节;g.CRC校验码的低位字节;h.CRC校验码的高位字节;以上每个字节的长度与校验方式有关,当有奇偶校验时字节长度为11比特,无奇偶校验时字节长度为10比特;3)对于步骤2)中生成的8字节数据包,通过在两两字节之间插入间隔字节,生成总长15字节的数据包;其中间隔字节由为8比特长度的...
【专利技术属性】
技术研发人员:吴军,于振洋,王立平,付鹏,
申请(专利权)人:清华大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。