新闻中心

EEPW首页>嵌入式系统>设计应用> PLC“入驻”手机控制领域

PLC“入驻”手机控制领域

作者: 时间:2012-03-08 来源:网络 收藏

AT指令执行过程中有关问题的说明如下:

[1]、AT指令中的指令符号、常数、PDU数据包等内容以ASCII码形式传送。如字符“A”的ASCII码为41H,数字“0”的ASCII码为30H等。

[2]、每发送一条指令,必须以回车符(ASCII码为0DH)作为该条指令的结束标志。如发送“AT+CMGL=0”指令,其ASCII码序列为“41H、54H、2BH、42H、4DH、47H、4CH、3DH、30H、0DH”,其中0DH为回车符,表示该条指令结束,若没有回车符,将不识别这条指令。

[3]、当手机接收到一条AT指令后,并不立即执行该指令,而是先把接收到的AT指令的ASCII码序列全部回送出去(含0DH);其次发送一个回车符和换行符的ASCII码分别为0DH和0AH;最后执行该条指令,成功后返回一个“OK”的ASCII码,即50H和4BH。

在发送短信时,首先要向手机发送“AT+CMGS=XX”

(XX为发送短信长度的两倍加上15)指令,当手机收到这条指令后会向PLC返回该条指令以及回车符、换行符的ASCII码并随后返回字符“>”的ASCII码,即3EH;然后等待PLC向它发送短信内容的ASCII码,当短信发送成功后,手机还会向PLC发送“OK”的ASCII码。发送短信的AT指令和发送短信的内容要分次向PLC发送,在发送AT指令后需等待手机返回字符“>”的ASCII码后,才可再向手机发送新的短信内容的ASCII码,否则,就会失败。因此在PLC编程中首先定义接收信息的结束符为“OK”的ASCII码,当开始发送短信时要把接收信息的结束符改为“>”的ASCII码,再发送AT指令,当把短信内容都发送给手机后,再把接收信息的结束符改回为“OK”的ASCII码。

[4]、手机向PLC传送短信息内容时,其PDU数据包的内容是以16进制格式表示的数据,但向PLC传递的并不是16进制的数据,而是每一位16进制数的ASCII码。这样,二个字节的16进制数就变成了4个字节的ASCII码。在PDU数据包中的数据字节长度仍为实际字节长度,而不是ASCII码的长度,否则,接收的数据就不完整。PLC接收到PDU数据包数据后,必须将其恢复成16进制数据,采用的算法如下:

设:a为接收的ASCII码,b为转换后的16进制数。如果a39H,则b=a-30H;如果a>39H,则b=a-30H-07H。最后把前后两个数合并为一个字节。

[5]、手机向PLC应答PDU数据包的字节数不包括前9个字节数据(短信服务中心地址),但向PLC传送PDU数据包时,包括这9个字节的数据。例如,手机应答的PDU数据长度为50,而实际向PLC传送的16进制数据为59字节,ASCII码为2*59字节,所以PLC必须按2*59个字节接受PDU数据。

[6]、手机与PLC之间的通信就是利用短信作为信息载体并把信息传给PLC,从而利用短信实现远程监控。手机向PLC传送短信息内容是以ASCII码形式,从手机返回的ASCII码不仅有对方发送的短信内容,还有一些不是短信内容的ASCII码并且在真正短信内容的前面,如何从手机向PLC传送的短信息内容中提取有用信息显得十分重要。经过大量的测试和实验,发现真正短信应该从手机返回给PLC短消息内容的ASCII码的第77位开始,如PLC接收短消息的存储区是从VB500开始,那么真正短消息内容(也就是在手机中看到的信息)存储在VB576以后的连续单元中。在具体应用中可以规定发送短信的格式,对于固定格式的短信可以直接赋予接收信息的存储区。不过这样接收信息的存储区就是固定的而不是动态的了。

3 结束语

该论文探讨PLC嵌入手机技术涉及的PLC与手机的软硬件接口,详细分析了PLC手机的工作原理等内容;并利用PLC嵌入手机技术实现了基于短距离无线通信的智能家居遥控遥测系统,本系统运行稳定,利用手机短信对家电可进行实时监控。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭