1 引言
随着计算机技术、通信网络技术和PLC技术的飞速发展,目前针对工业以太网技术的PLC应用技术已经成熟;而针对因特网、GSM/GPRS通讯网络的PLC应用技术还处于初级阶段。本文将GSM公网作为信息传递的载体,手机作为监控设备,在PLC嵌入手机控制技术应用到控制领域的研究课题中,对关于PLC与手机软硬件接口技术和控制手机的工作原理进行了深入的研究,并利用该技术实现了基于短距离无线通信的智能家居遥控遥测系统。
2 GSM数字移动通信系统
GSM的全称是“全球移动通信系统”(Global system for mobile communications),它是数据通信技术和移动通信技术的结合。GSM数字移动通信系统源于欧洲,在蜂窝移动通信系统的基础上发展起来。GSM无线数据业务使得人们可随时随地获取所需的信息,可以在移动中收发E-mail、收发传真、访问Internet等服务。GSM数字移动通信系统支持的业务包括:电信业务、电话业务、紧急呼叫业务、短消息业务、智能用户电报传送业务、承载业务。此外,GSM数字移动通信系统还能提供号码类、呼叫提供类、呼叫完成类、多方通信类、计费类、集团类、附加信息传送类和呼叫限制类8大类补充业务。PLC嵌入手机控制技术就是利用GSM的短信息业务来实现的。
3 PLC嵌入手机控制技术
3.1 PLC与手机的硬件接口连接
手机通过其数据口以串行方式可以接收/发送数据。手机的数据线采用RS-232接口标准,专为连接PC机的RS-232串口设计的;PLC串口的采用RS-485标准,通过RS-232到RS-485转换器就可以与手机数据线直接连接。本文采用的是在手机串口数据线与PLC串口之间进行了改动而进行连接,具体连接如图1所示:
 图1 PLC与手机数据口连接电路图
手机内部电源一般为3.8V,与PLC通信时,双方发送握手协议信号为DSR(Modem准备好)信号和DTR(数据终端准备好)信号。采用图1 连接方式可始终保持DSR信号和DTR信号有效,起到欺骗电压的作用,欺骗电压一般在+3V~+9V为有效状态,手机电压仅为3.8V,欺骗电压不够,易产生干扰,故需外接+6V直流电源,分别与图1中的1、2 端子相接,1、2端子分别接电源的正极和负极。转接时,第9端口一般不用。
3.2 PLC与手机的软件接口及控制原理
表1 AT指令的执行过程
|
AT指令 |
步骤 |
PLC发送手机接收 |
手机发送PLC接收 |
含义 |
|
ATE |
1 |
ATE+回车 |
|
初始化手机 |
|
2 |
|
ATE和空格回车 |
|
AT+CMGL=0 |
1 |
AT+CMGL=0+回车 |
|
没有新短信时,读未读短信 |
|
2 |
|
AT+CMGL=0,空格回车,OK |
|
1 |
AT+CMGL=0+回车 |
|
有新短信时,读未读短信 |
|
2 |
|
AT+CMGL=0
+CMGL: 16,0,,152
08916831083……
OK |
|
AT+CMGS=39 |
1 |
AT+CMGS=XX |
|
发送短信的AT指令 |
|
2 |
|
AT+CMGS=XX
> |
|
|
3 |
发送短消息内容的ASCII 编码 |
|
|
|
4 |
|
返回短消息内容的ASCII 编码 |
|
|
5 |
|
空格,回车,OK |
若返回OK,则发送成功 |
|
|
空格,回车,ERROR |
若返回ERROR,则发送失败 |
|
AT+CMGR=1 |
1 |
AT+CMGR=1 |
|
读一区短信 |
|
2 |
|
AT+CMGR=1和回车,换行 |
|
|
3 |
|
+CMGR: 1,,160
08916831083015 ……
OK |
一区有短信并正确读取可读. |
PLC与手机的软件接口是指PLC通过使用与GSM短信息有关的AT指令控制手机的控制技术,如读取手机的短消息内容,删除短消息内容,列出手机中还未读的短消息等。关于AT指令的功能描述请参考相关资料,此处不再赘述。AT指令的执行过程需要PLC与手机交互应答完成,每一次发送或接受的字节数都有严格的规定,二者必须依据这些规定实现数据交换,否则,通信就会失败。手机与PLC之间的数据传输采用ASCII码形式,为清楚了解PLC与手机的通信过程,在表1中没有采用ASCII码形式,而是采用字符格式进行说明。表1中列出了最常用的AT指令的执行过程,其它AT指令的执行过程与上述的基本相同。
AT指令执行过程中有关问题的说明如下:
[1]、AT指令中的指令符号、常数、PDU数据包等内容以ASCII码形式传送。如字符“A”的ASCII码为41H,数字“0”的ASCII码为30H等。
[2]、PLC向手机每发送一条指令,必须以回车符(ASCII码为0DH)作为该条指令的结束标志。如PLC向手机发送“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。
在发送短信时,PLC首先要向手机发送“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进制数。如果a<39H,则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嵌入手机控制技术实现了基于短距离无线通信的智能家居遥控遥测系统。该系统的控制核心采用西门子S7-200系列PLC并连接了一款带有串行数据口的西门子手机,利用手机通过GSM公网实现的功能如下:
(1)、用手机控制家用电器(如:微波炉、电饭煲、电灯等),以达到远程控制的目的。
(2)、利用手机远程实时查询家居环境各种参数,如:温度、湿度、煤气、家电使用情况等。当某个参数超标(如:煤气超标,非法闯入等)可及时向用户手机发出报警信号。
用手机控制家用电器和查询家居环境参数主要是通过发送特定的短信来实现的。用手机编辑相应的短信(如果要控制家用电器就先输入控制两字,要查询家居环境参数就先输入查询两字)并输入密码,然后发送给与中心控制器相连的手机上,这样短信被送入PLC中,先判断是控制还是查询的,再比较密码,正确后再发给对方相应的短信。所发的短信内容是在程序中提前写入PLC中的。
4 结束语
该论文探讨PLC嵌入手机控制技术涉及的PLC与手机的软硬件接口,详细分析了PLC控制手机的工作原理等内容;并利用PLC嵌入手机控制技术实现了基于短距离无线通信的智能家居遥控遥测系统,本系统运行稳定,利用手机短信对家电可进行实时监控。
本论文创新点:利用PLC嵌入手机控制技术实现了基于短距离无线通信的智能家居遥控遥测系统,本系统运行稳定,利用手机短信对家电可进行实时监控。
参考文献
[1] 殷洪义. 可编程控制器选择设计与维护[M].北京:机械工业出版社,2004
[2] 吴振纲,陈虎.PLC的人机接口与编程[J].微计算机信息,2005,8-1:21-23。
[3] 范逸之. Visual Basic 6.0与RS-232串行通信控制[M].北京:中国青年出版社,2001
[4] 马潮. 嵌入式GSM 短信息接口的软硬件设计 单片机及嵌入式应用 2002
|