Uncategorized |
2010-08-25 |
Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的ASCII和RTU协议。 下表是ASCII协议和RTU协议进行的比较: 协议 开始标记 结束标记 校验 传输效率 程序处理 ASCII :(冒号) CR,LF LRC 低 直观,简单,易调试 RTU 无 无 CRC 高 不直观,稍复杂 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0×39和0×46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。 下面对两种协议的校验进行一下介绍。 1、LRC校验 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC校验比较简单,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它的VC代码: BYTE GetCheckCode(const char * pSendBuf, int nEnd)//获得校验码 { BYTE byLrc = 0; char pBuf[4]; int nData = 0; for(i=1; i<end; i+=2) //i初始为1,避开“开始标记”冒号 { //每两个需要发送的ASCII码转化为一个十六进制数 [...]
Uncategorized |
2010-08-17 |
今天在考虑产品批量进行程序烧录时,受阻于板子上使用的UJA1065.因为UJA1065上电工作后会启动硬件看门狗,而我的mc9s08dz60是用UJA1065的来供电的,这样一来会导致单片机无法正常供电。此时有一种方法就是在UJA1065加电之前先给其TEST引脚上加+12V的电压,从而禁止看门狗,让UJA1065能够持续地给MCU供电,且不产生复位。
Uncategorized |
2010-07-24 |
突然来了点灵感,想去看看那些撞墙的网站,譬如twitter和blogspot之类的。但是用Tor翻墙的龟速真是让我难以忍受,自由门速度虽然还可以但是也常常会断。索性试试SSH,嘿嘿,速度不错而且相当稳定。还真对得起这一年30元,30元买了个2G的国外空间用来放博客还可以用SSH来翻墙,真是太值了。具体怎用SSH翻墙,网上的教程不胜枚举,我是用PUTTY+PLINK来做的,很是方便,那感觉——飞一般的。
Uncategorized |
2010-07-06 |
These day I working on CAN based ECU programming.In this project CAN bit rate is specified to 500kbps.Nominal bit time can be 10tq 12tq 16tq & 20tq.Sample point must between 75%~80%. When nominal bit time is 10tq SJW must be 2tq.Nominal bit time is 12tq SJW must be 3tq.And nomimal bit time is 16tq or [...]
Moments of Life |
2010-05-14 |
在网上看到这篇文章觉得很有道理,尤其适合做技术的朋友们。 有两个和尚住在隔壁,所谓隔壁就是隔壁那座山,他们分别住在相邻的两座山上的庙里。这两座山之间有一条溪,于是这两个和尚每天都会在同一时间下山去溪边挑水,久而久之他么变成为了好朋友。
Uncategorized |
2010-04-28 |
一 、使用电烙铁的安全性,应认真做到以下几点 1.使用前,应认真检查电源插头、电源线有无损坏。并检查烙铁头是否松动。 2.电烙铁使用中,不能用力敲击。要防止跌落。烙铁头上焊锡过多时,可用耐高温棉沾水擦掉。不可乱甩,以防烫伤他人。
摘要 汽车产业是我国国民经济的支柱产业;汽车电子产品是汽车的重要组成部分。将汽车电子产品分为车载电子产品和车控电子产品,并分析车控电子产品的嵌入式技术基础。通过对当前国际上主流车控软件标准OSEK/VDX的分析,提出我国自主发展车控电子的基于OSEK/VDX的产品开发流程;总结车控电子产品发展的趋势。
Programming |
2010-04-06 |
今天在写程序时,感到程序中的逻辑判断挺多的,一个函数里的判断太多后自己前后翻来翻去自己搞得都有点晕。所以就想画出流程图来。但是为了这事来画流程图却觉得有点麻烦,这就想到有没有通过通过代码来生成流程图的工具。没想到网上还真有这么些软件。首先搜到的就是CSDN上一位朋友提到的AutoFlowchart。
About Control |
2010-04-03 |
PID常用口诀:参数整定找最佳,从小到大顺序查,先是比例后积分,最后再把微分加,曲线振荡很频繁,比例度盘要放大,曲线漂浮绕大湾,比例度盘往小扳,曲线偏离回复慢,积分时间往下降,曲线波动周期长,积分时间再加长,曲线振荡频率快,先把微分降下来,动差大来波动慢,微分时间应加长,理想曲线两个波,前高后低4比1。
About Control |
2010-03-30 |
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。 PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。