分享好友 环保知识首页 环保知识分类 切换频道

M20 GSM Modem的通信

2013-03-23 15:43460工控之家工控之家网

  概述

  本例说明如何以自由协议实现S7-200与M20 GSM Modem的通信。可实现的功能为:当M20收到GSM短信息时,可以自动向发送方回发一条短信息,信息的内容由用户自行定义。

  AT指令:

  本例中使用的AT指令主要有四个:

  短信息格式选择指令CMGF

  ---- M20支持两种格式的短信息,PDU格式和TEXT格式。

  ---- AT+CMGF=0 设置短信为PDU格式(默认)

  ---- AT+CMGF=1 设置短信为TEXT格式

  ---- 本例中将使用TEXT格式,因此必须对M20进行初始化。

  读短信息指令CMGR

  ---- 指令格式为:AT+CMGR=《 index 》,index一般为1到15的整数,视SIM卡的容量而定,它表示所要阅读的短信息在SIM卡中的存储位置。在本例中,由于收到的短信息在阅读后都会被删除,因此每次收到的短信息都会被保存到第一个存储位置,在收到短信息后,用AT+CMGR=1即可阅读。

  发送短信息指令CMGS

  ---- 指令格式为:AT+CMGS=《 da 》,da为目标手机号,如“13800138000”。M20接到指令后返回一个“〉”提示输入短信内容,短信内容以CHR(26)结束。

  删除短信息指令CMGD

  ---- 指令格式为:AT+CMGD=《 index 》,index与读指令中的index含义相同。本例中使用AT+CMGD=1来删除收到的短信息。

  ---- 注:所有的指令都以CHR(13)作为结束

  PLC程序执行过程:

  ---- PLC在第一次扫描时执行初始化子程序,对端口及RCV指令进行初始化,并向M20发送AT+CMGF=1设置短信息格式为TEXT格式。初始化完成后,运行RCV指令使端口处于接受状态。

  ---- 当M20收到短信息时,会发送 +CMTI: “SM”, 1 在PLC的接收完成中断中判断CMTI这四个字符来对M1.0进行置位,在主程序中通过该标志位调用ReadSMS子程序。

  ---- ReadSMS子程序中执行的操作为:复位子程序的触发条件(复位M1.0),置位M0.0,停止端口的接收,然后向M20发送AT+CMGR=1阅读收到的短信息。置位M0.0的目的是在发送完成中断中判断是哪个子程序执行了发送操作,从而重新对RCV指令进行设置,以接收Modem返回的信息(其他的子程序也采用了相同的做法:SendSM1的触发位为M1.1,子程序执行时置位M0.1;SendSM2的触发位为M1.2,子程序执行时置位M0.2;DelSM的触发位为M1.3,子程序执行时置位M0.3;ReSend的触发位为M1.4,子程序执行时置位M0.4)。Modem在接收到AT+CMGR=1后会将收到短信息的内容发送给PLC,信息的格式为:

  ---- +CMGR: “REC UNREAD”,“+8613801184286”,,“02/03/05,13:44:12+32”

  ---- CALL ME

  ---- OK

  ---- 其中“CALL ME”为短信息的实际内容,该信息转换为十六进制的形式为:

  ---- 0D 0A 2B 43 4D 47 52 3A 20 22 52 45 43 20 55 4E 52 45 41 44 22 2C 22 2B 38 36 31 33 38 30 31 31 38 34 32 38 36 22 2C 2C 22 30 32 2F 30 33 2F 30 35 2C 31 33 3A 34 34 3A 31 32 2B 33 32 22 0D 0A 43 41 4C 4C 20 4D 45 0D 0A 0D 0A 4F 4B 0D 0A

  ---- 这样,在发送完成中断中,以M0.0为条件,将RCV指令的接收的起始字符设置为空格符CHR(32)(十六进制的20)用以接受M20发送的短信息内容。在接收完成中断中,用接受缓冲的第一个字节等于CHR(32)来触发SendSMS1子程序。

  ---- SendSMS1子程序将从收到短信息的内容中提取出发送方的电话号码,并向M20发送AT+CMGS=“发送方号码”,Modem在接到该指令后返回的信息为:

  ---- 》

  ---- 对应的十六进制形式为:

  ---- 0D 0A 3E 20

  ---- 其中0D 0A为不可显示字符,20为空格符

  ---- 这样,在发送完成中断中以M0.1位条件设置接收的起始字符为“〉”CHR(62)用以接受M20发送的提示信息。在接收完成中断中,用接受缓冲的第一个字节等于CHR(62)来触发SendSMS2子程序。

  ---- SendSMS2子程序将所要发送的内容加上结束字符CHR(26)发送个给M20。如果短信息正确发送,M20返回 +CMGS: xxx(xxx为该SIM卡已发送的短信数量);如果信息未能正确发送,则M20返回 +CMS ERROR。在接收完成中断中,用CMGS来触发DelSMS子程序,用ERROR来触发ReSend子程序。

  ---- DelSMS子程序向M20发送AT+CMGD=1用来删除收到的短信息,ReSend子程序重新发送SendSMS1中的指令AT+CMGS=“ 发送方号码”。

  

点赞 0
举报
收藏 0
打赏 0
评论 0
分享 1
更多相关评论
暂时没有评论,来说点什么吧
预测机器视觉市场的发展
机器视觉的一个重要作用在于对工业自动化水平提升的推动,这正是目前国内机器视觉市场的发展动力。而用户的需求无疑是机器视觉得以普及发展的诸多因素中最具决定性的。随着中国制造业的进一步发展,对机器视觉的需求也有了进一步的提高,这不仅仅表现在市场的

0评论2021-12-18698

静止无功发生器SVG技术说明
在有色金属冶炼加工企业中,供电的质量指标、电网运行的安全可靠性和经济性是最根本的问题。近年来,随着有色冶炼加工企业的发展,有色金属冶炼加工设备尤其是轧制设备趋向设备大型化、大容量、数字化、智能化,由电力电子器件构成的各种交交变频、交-直-交

0评论2021-12-18723

真空成型机中的温度控制系统设计
真空成型机是利用热成型工艺制造冰箱内胆的大型塑料加工机械,是冰箱制造企业的主力设备之一。由于长期以来,我国塑料加工机械的设计水平有限,不能在高端成型机领域满足国内市场的需要,这部分空缺主要由国外的品牌来填充。在过去的十几年间,我国从国外引进

0评论2021-11-07699

台达PLC的发酵罐PH值控制和管理系统
1 系统简介1.1 原加碱工艺说明发酵是生产黄原胶的其中一个重要的工艺过程,发酵过程的好坏直接影响到产品的质量和产量,在发酵的过程中,发酵物产生大量酸,影响细菌的生长和正常发酵,需要在发酵过程中加入碱液对产生的酸中和。目前,发酵过程加入碱液

0评论2021-11-07680

储能技术:优化新能源发电 增强新能源发电的稳定性
储能可以依据风、光的瞬时变化,减弱甚至消除新能源发电的波动,增强新能源发电的稳定性。变成稳定的电源《经济学人》2013年2月2日一篇报道显示,在德国,即便是现有的风电水平,在大风的日子,电网操作员也必须关闭机轮,因为没地方来储存这些能量。当

0评论2021-11-07715

DCS控制系统与PLC控制系统的主要区别
PLC控制和DCS控制系统不是一个逻辑层次上的概念,从名称上就能看出:PLC是以功能命名,DCS是以体系结构命名。从原理上看PLC就可以组成DCS。当然两者性能差异还是存在的,要具体看产品和需要。从应用角度来说,简单地以PLC,DCS来区分

0评论2021-11-07621

3D打印迷你肝脏可观察药物疗效
OFweek工控网讯:在实验室培育可移植肝脏过程中,美国科学家取得一项重大突破。他们利用装有细胞的3D打印机打印出迷你肝脏,深0.5毫米,宽4毫米,拥有很多与真实肝脏一样的功能,包括产生负责将激素、盐和药物运送到身体各处的蛋白质。打印3D迷

0评论2021-11-07669

伺服系统的主要作用和分类
如今,随着技术的不断成熟,交流伺服电机技术凭借其优异的性价比,逐渐取代直流电机成为伺服系统的主导执行电机。交流伺服系统技术的成熟也使得市场呈现出快速的多元化发展,并成为工业自动化的支撑性技术之一。主要作用1、以小功率指令信号去控制大功率负载

0评论2021-11-07668