电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

西门子S7-300 PLC经过MD720-3发送短音讯

2017-10-10 07:16分类:PLC基础知识 阅读:

 

1、SMS根底知识介绍
SMS(Short Messaging Service)是最早的短音讯事务,也是如今遍及率最高的一种短音讯事务。如今,这种短音讯的长度被束缚在140字节以内,这些字节可所以文本的。SMS以简略便利的运吃苦用遭到群众的等候,却一向是归于榜首代的无线数据效劳,在内容和运用方面存在技能标准的绑缚。
  一个SMS音讯最长可包含 160个字符(偶数二进制)。
  SMS是一种存储和转发效劳。也即是说,短音讯并不是直接从发送人发送到接纳人,而一向经过SMS基地进行转发的。假定接纳人处于未联接状况(或许电话已封闭),则音讯将在接纳人再次联接时发送。
SMS具有音讯发送供认的功用。这意味着
SMS与寻呼纷歧样,用户不是简略地宣告短音讯然后信赖音讯已发送成功;而是短音讯发送人能够收到回来音讯,告诉他们短音讯是不是现已发送成功。
  SMS 音讯的发送和接纳能够和 GSM 语音同步进行。
  SMS 音讯按音讯收费,因而要比经过依据 IP 的网络(例如,运用 GPRS [通用分组无线事务])发送的数据贵重得多(每字节)。
  要运用 SMS,用户需求预定支撑 SMS 的移动网络,而且有必要为该用户启用 SMS 的运用。用户需求有发送短音讯或接纳短音讯的意图地。该意图地通常是别的的移动电话,但也可所以效劳器。究竟,用户还需求有支撑 SMS 的移动电话,并需求了解怎么运用其特定类型的移动电话发送或阅览短音讯。
SMS发送的办法分有两种:Text办法和PDU办法.
运用Text办法收发短信代码简略,完毕起来非常简略,可是最大的缺陷是不能收发中文短信, PDU办法彻底能够处理这个疑问,PDU办法不只支撑中文短信,也能发送英文短信, PDU办法收发短信能够运用三种编码: 7-bit、8-bit和UCS2编码。 7-bit编码用于发送通常的ASCII字符,8-bit编码通常用于发送数据音讯,UCS2编码用于发送Unicode字符。咱们要完毕中文短信的发送,所以挑选UCS2,即中文Unicode码。下面是对于两种办法发送的示例AT指令:
典范:向手机号码13801234567发送短信“Weather”
(1) TEXT办法
AT+CMGF=1<CR> …………设置短信发送办法为TEXT办法
AT+CMGS=”13801234567”<CR> …………向被叫号码发短信
> Weather <CTRL+Z>
(2) PDU办法
AT+CMGF=0<CR> ……………设置短信发送办法为PDU办法
AT+CMGS=018<CR> ……………向被叫号码发送PDU的长度
>0001000D91683108214365F700080459296C14<CTRL+Z>

注:PDU办法中AT+CMGS指令阐明:
AT+CMGS=XXX<CR> …XXX标明PDU中TPDU的长度
>PDU ...输入PDU信息

0001 :底子参数
00 :音讯基准值TP-MR
0D :方针地址数字个数(十进制,不包含91)
91 :方针地址格局
68 :方针地址为中国
3108214365F7 :方针地址(13801234567)
00 :协议标明TP-PID
08 :用户信息编码格局TP-dcs(08标明UCS2编码)
00 :有用期TP-VP
04 :用户信息长度TP-UDL
59296C14 :用户信息(“气候”)

其间,赤色的数字(3108214365F7)代表对方的手机号码,在PDU格局中,手机号码每两位需求对调。比方在上面这个比方里,对方的手机号码为13801234567,F用来抵偿7后边的空位。蓝色的数字(59296C14)是短音讯内容的Unicode码,这儿5929代表“天”6C14代表“气”。Unicode码一样能够用来标明中通常英文字母和数字,办法是在英文或数字的ASCII码前加00。紫色的数字(04)代表短音讯的长度,它等于这往后悉数字符个数除以2。黑色的数字每次发送短音讯时都是一样的,运用时能够照抄,但条件是所运用的SIM卡在运用前要用手机设置好短音讯效劳基地号码(+8613800100500)。汉字的Unicode码能够经过编码改换软件得到。
PDU格局发送短音讯时,还有必要核算悉数PDU数据包的长度,PDU数据包的长度等于(PDU数据包字符数-2)/2,在上面的比方里:(38-2)/2=18。

2、网络构造图
硬件的联接, S7-300CP后接CP340(RS232串口)或CP341(RS232串口),再经过串口直连线联接CP340或CP341到MD720-3的串口上,MD720-3插一块SIM卡。直连线的1针到9对于应联接。


图1、网络构造图


3、需求的软件及硬件

硬件

ComponentQty.MLFB / Order numberNote
PS307 5A16ES7307-1EA00-0AA0
CPU317-2PN/DP16ES7317-2EJ10-0AB0
CP34116ES7341-1AH01-0AE0
MD720-316NH9720-3AA00
直连线16ES7901-3CB30-0XA0
SIM card

表1、硬件列表


软件

ComponentNo.MLFB / Order numberNote
STEP 7 5.4 SP416ES7810-4CC08-0YA5

表2、软件列表

4、以TEXT的办法发送SMS
在这儿不介绍用安闲口编程的办法编写AT的指令来发送SMS,而是选用西门子供应库功用块来编写程序。库程序的下载联接地址如下:26100569

上面库程序是紧缩文件,先解紧缩到一个目录下,在该目录下又会看到3个紧缩文件,再解压这三个紧缩文件,解紧缩后如下图所示:


图2、寄存目录

从上图中,解压三个紧缩文件后Sms_bloc;SMS_MD720_Application;Sms_MD720_Simple
Sms_bloc: 包含了运用CP340、CP341、CP442-1收发短信的库功用。
Sms_MD720_Application:包含了用CP341和CP442-1收发短信的运用程序。
Sms_MD720_Simple:包含了一个用Cp341收发短信的简略运用程序
由于三个文件夹的程序只需Sms_MD720_Simple的程序是无缺的,别的两个文件夹下的程序由于编者的忽略,程序不无缺,致使无法正常编译经过。所以在这篇文章里咱们只能介绍,经过仿制Sms_MD720_Simple项目下的功用块到实习的项目中来完毕发送短信的功用。
在新建项如今,需求硬件依照网络图设备好,并加电。MD720加电后康复出厂设置,让其作业在终端办法下(在MD720的体系手册上介绍怎么康复出厂设置,这儿不再作详细介绍),康复后用串口直连线,联接MD720与核算机的串口,翻开核算机的超级终端程序,翻开办法如下图:


图3、翻开超级终端

翻开后在联接描绘的窗口里输入一个联接名如下图:


图4、输入联接名

点击OK后,挑选与核算机联接的串口,这儿联接的是串口1,所以设置如下图:


图5、挑选COM端口

在上图点击OK按钮后,设置串口的通讯参数如下:


图6、COM口的参数设置

点击OK按钮后,在呈现的串口里先输入 “+++”后,输入“AT”查看与Modem的联接是不是正常,若正常则Modem会回来OK,如下图:


图7、查验与Modem的联接

然后在输入指令“AT+IRP=9600”批改通讯波特率为9600如下图所示:


图8、设置Modem的波特率

批改成功后,把联接核算机上的串口拔下后,把9针口联接到CP341的串口上。

翻开Step7 Manger,翻开后点击File菜单下的New…,新建一个项目,在新建项意图串口里输入项目SMS_CP341,然后点击新建,项意图硬件组态如下图所示:


图9、S7-300站的硬件组态

双击CP341-RS232C,翻开特征窗口如下图:


图10、CP341的硬件地址设置

点击Parameter...,设置串口的通讯协议为


图11、挑选通讯协议为ASCII

双击Protocol协议包,配备串口通讯的参数如下图:


图12、设置ASCII的通讯参数


图13、设置传输的操控办法


图14、设置接纳的缓存区

配备完硬件后,编译并下载硬件组态,然后翻开Sms_MD720_Simple项目,并仿制Sms_MD720_Simple项目下的除OB1功用块外的悉数功用块到SMS_CP341项目相应的目录下,一同需求仿制Source下的源代码到SMS_CP341项目下的Source目录下。
仿制后如下图:


图15、仿制库程序到项目下

翻开OB1块,在OB1里调用FB100,布景数据块为DB100,如下图所示:


图16、OB1中调用短音讯功用块

在CP_ADR中只需输入CP341的逻辑地址256。输入后保留程序。编写OB1后翻开DB100数据块如下图:


图17、在发送功用块的布景数据块中设置批改CP341的硬件地址

这儿SIM卡无PIN码,要发送的信息是“Weather”;发送的手机号为“13801234567”;设置DB100的参数如下图:


图18、在发送功用块的布景数据块中设置PIN码、意图手机号及信息

批改后保留DB100,并下载悉数的程序块到CPU中。下载后翻开翻开变量监控表并在线监控,如下图:


图19、经过变量监控表触发信息发送

在变量监控表里先置位”SMS”.b_init,然后在置位”SMS”.SEND,等候一霎时刻,能够看到变量监控表里的”SMS”.n_status当置位”SMS”.b_init时会从1002成为201,然后当置位”SMS”.SEND时会从201成为202、204、206,过一霎时刻又回到201的值,这么接能够再意图手机上接纳到“Weather”的短信。
上面的调试进程仅仅从功用上完毕了发短信的功用,要完毕收发多条信息到多个多个手机,能够参看Sms_MD720_Application和Sms_MD720_Simple下的编程思路开发适宜自个运用的程序。

留神:假定比方项目文件打不开,请把核算机的言语设置为德语。


5、以PDU的办法发送中文SMS
要发送中文短信,需求设备Step7 SCL编程言语包,发送短信库功用块是由FB100来完毕的,FB100是由SCL言语编写,要想使其能发送中文的短信,那么就需求用SCL言语批改FB100功用块。批改办法如下:
在发送文本办法进程的根底上,用SCL言语翻开SMS_CP341项目下目录Source下的SMS_Send源代码,如下图:


图20、翻开发送功用块的源文件

翻开后如下图:


图21、SCL批改器翻开后的源文件

批改源程序代码MD720_SMS_Textmode := '$R$LAT+CMGF=1$R'为MD720_SMS_Textmode := '$R$LAT+CMGF=0$R'如下图所示:


图22、批改短信的发送办法为PDU办法

str_outbox := SMS_Textmode_Attr;改为str_outbox :=MD720_SMS_Textmode;如下图:


图23、批改程序中的发送办法

批改后,点击File下Save,然后再点击File下的Complie,如下图:


图24、从头编译批改后的程序

封闭SCl批改窗口,若发送的意图手机号为13801234567发送的内容为“气候”翻开DB100,批改发送参数如下图:


图25、批改为PDU办法下的信息格局

其间5929为PDU码的“天”;6C14为PDU码的“气。
批改后下载FB100和DB100功用块到CPU。翻开变量监控表,在变量监控表里先置位”SMS”.b_init,然后在置位”SMS”.SEND,等候一霎时刻,能够看到变量监控表里的”SMS”.n_status当置位”SMS”.b_init时会从1002成为201,然后当置位”SMS”.SEND时会从201成为202、204、206,过一霎时刻又回到201的值,这么接能够再意图手机上接纳到“气候”短信。
前面介绍用CP341发送短信,若用CP340发送短信,则需求批改库程序中。由于批改对比繁琐,这儿就不再作介绍,若有需求。可经过热线联络西门子技能与支撑。

上一篇:PLC的底子指令

下一篇:西门子PLC怎么把DB快做成源文件

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部