来自西门子技术支持热线的故事:MD720-3采用SMS库最多能发送多少个中文字符

已锁定

西门子Auto

官方工程师

  • 帖子

    126
  • 精华

    16
  • 被关注

    234

论坛等级:侠圣

注册时间:2007-08-03

普通 普通 如何晋级?

来自西门子技术支持热线的故事:MD720-3采用SMS库最多能发送多少个中文字符

3152

5

2012-05-17 15:11:15

热线上经常遇到客户询问如何使用200PLC和无线通讯模块MD720-3实现发送中文以及能发送多个中文字符的问题。一般情况下,参考文档A0324就可以成功实现发送一条中文短信。关于最多能发送多少个中文字符,我们结合A0324文档的进一步的讨论:
文档编号:A0324
下载链接:http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0324
通过A0324文档的学习我们已经清楚的了解到发送中文字符时需要采用PDU方式:
AT+CMGF=0 …………………………………设置短信发送方式为PDU模式
AT+CMGS=18…………………………………向被叫号码发送PDU的长度
>0001000D91683108214365F700080459296C14

SMS_init, SMS_send功能块的参数:如图1.



图1
&VB1001定义了:SIM卡的PIN码,默认值为1234。
&VB1006定义了:电信运营商提供的短信中心服务号。(中国移动短信中心号码的格式为:138+地区区号(4位,如不够,首位用0代替)+0500)
&VB1028定义了:发送TPDU的长度。
&VB2048定义了:发送TPDU的内容。
例如:发送“天气”到+13801234567的TPDU内容如下:
0001000D91683108214365F700080459296C14
其中5929是中文字符“天”的Unicode码
VB1001、VB1006、VB1028、VB2048数据块值:如图2



图2
TPDU的数据是以字符串的格式存储在数据块中,每个字符占用一个字节存储单元,所以图2字符串VB2048共包含30+8个字符,一个汉字Unicode码包含4个字符占用4个存储字节,当需要发送N个汉字时,字符串VB2048包含字符数=30+2×N。由于发送TPDU时还需要附加一个字符(16#1A)用于结束TPDU并发送SMS,所以发送N个汉字的TPDU时将发送30+2×N+1个字符。

打开程序中符号表:如图3



图3
图3中我们了解到使用短信库最大发送字符数要小于175字符,
既(30+2×N+1)<175,所以S7-200采用短信库最多只能发送35个汉字。
如果发送汉字大于35,发送缓冲区将于占用字符串VB197区域,修改字符串VB197值(AT指令正确响应判断字符串),使得AT指令无法判断是否正确响应,造成发送SMS失败。

库程序的下载链接地址:
http://support.automation.siemens.com/CN/view/zh/21063345
来自西门子技术支持热线的故事:MD720-3采用SMS库最多能发送多少个中文字符 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。