西门子s7-200短信通讯(自由口通讯)的方法

来源:电工天下时间:2015-10-26 20:27:33 作者:老电工手机版>>

西门子s7-200短信通讯的方法

西门子s7-200自由口通讯

自由口模式允许应用程序控制S7-200 CPU 的通讯端口,使用PC/PPI 电缆和自由口功能,可以将S7-200 连接到带有RS-232 兼容接口的多种设备,比如调制解调器。

这里讲解如何用S7-200 连接GSM 调制解调器发送短消息,应用S7-200 自由口编程的一般原则时及应注意的问题。

将用到:
1、PC/PPI 电缆(10 位;9 600 波特;DIP 开关设置:0 1 0 1 1)
2、西门子 S7-200 CPU22X
3、TC35 Terminal GSM 调制解调器
4、一个9 直通针转接头(用来连结PC/PPI 电缆与TC35 Terminal 调制解调器)
5、一根九针直通电缆(用来连结计算机与TC35 Terminal 调制解调器)
6、STEP 7-Micro/Win V3.2 或更高版本软件

一、 TC35 调制解调器AT 指令

要使用TC35 发送短消息需要使用TC35 的AT 指令,首先介绍如何用Windows 自带的超级终端连接TC35 发送短消息。

1、用九针直通的电缆将TC35 连接到计算机的串口上

2、打开超级终端(开始程序附件通讯超级终端)

3、为连接取名Connect to TC35T

4、选择TC35 连接的串口COM1

5、按照下图的参数设置端口。19 200 bps 为TC35 默认的端口波特率,如果该波特率已被更改,请选择正确的波特率。

6、在窗口中键入AT 回车测试与TC35 的连接,如果连接正确,TC35 将返回OK。

7、TC35 可以发送两种格式的短消息,普通文本格式和PDU 格式。应用普通文本格式时,
短消息内容以ASCII 码格式直接输入,操作比较简单,缺点是只能发送英文短消息;应用PDU 格式时,短消息内容以Unicode 格式输入,可以发送任何文字,缺点是短消息内容需要转换成Unicode 码,并且要把短消息按PDU 格式打包,操作比较复杂(编程复杂)。通过指令AT+CMGF=0 设置TC35 以PDU 格式发送短消息(默认),AT+CMGF=1设置TC35 以普通文本格式发送短消息。

8、如何以普通文本格式发送短消息可以在S7-200 的网站上找到,这里我们将介绍如何发送中文短消息。要发送中文短消息必须把短消息内容转换成Unicode 码,并按照PDU 格式打
包发送给TC35。PDU 数据格式涉及手机开发的相关知识,我们不作详细介绍,这里指给出一个标准格式供大家使用。以下就是一个PDU 格式的数据包:
0001000D91683108214365F700080459296C14
其中,红色的数字(3108214365F7)代表对方的手机号码,在PDU 格式中,手机号码每两位需要对调。比如在上面这个例子里,对方的手机号码为13801234567,F 用来补充7 后面的空位。蓝色的数字(59296C14)是短消息内容的Unicode 码,这里5929 代表“天”6C14 代表“气”。Unicode 码同样可以用来表示中一般英文字母和数字,方法是在英文或数字的ASCII前加00。

紫色的数字(04)代表短消息的长度,它等于其后所有字符个数除以2。黑色的数字每次发送短消息时都是相同的,使用时可以照抄,但前提是所使用的SIM卡在使用前要用手机设置好短消息服务中心号码(+8613800100500)。汉字的Unicode 码可以通过编码转换软件得到,使用的是Megaton Technology 公司的一个编码转换软件。

9、在使用PDU 格式发送短消息时,还必须计算整个PDU 数据包的长度,PDU 数据包的长度等于(PDU 数据包字符数-2)/2,在上面的例子里:(38-2)/2=18。发送短消息时,我们先向TC35 发送AT+CMGS=<Length>回车(Length 是计算好的PDU数据包的长度),TC35 收到指令后返回一个“〉”符号,然后我们发送整个PDU 数据包并以组合键Ctrl+Z结束。
如果短消息被成功的发送,TC35 会返回+CMGS: x,其中“x”代表该模块以及发送的短消息个数,同时返回OK。

二、设置TC35

在将TC35 连接到S7-200 之前我们先要对TC35 作一些设置,使其适合与PLC 通讯。

1、通过指令AT+IPR=9600 设置TC35 的端口波特率为9 600 bps

2、重新建立一个波特率为9 600 bps 的连接,用指令ATE0 禁止回波功能。回波功能使调制解调器将收到的指令回发给发送方,这项功能会给PLC 编程来来不便,当禁止回波功能后,TC35 只返回指令执行的结果,比如OK 等等

3、键入AT&W0 回车将当前设置存为用户配置文件(掉电保持),再键入ATZ0 以用户配置文件重新启动。此后TC35 重新上电时将按照前面所作的设置启动。

三、plc编程

通过以上介绍,已知道如何用AT 指令发送短消息,剩下的工作是用PLC 程序来发送这些AT指令。S7-200 的通讯端口为RS-485 接口,RS-485 接口为半双工接口,因此,编写PLC 程序的
关键是避免在通讯端口上同时发送和接收。我们下面将介绍一种标准的编程模式,按照这种模式编写自由口通讯程序可以有效的避免因同时发送和接收造成的通讯冲突,从而保证程序的正常运行。

四、 总结

自由口编程的一般原则:

1、SM0.1 触发端口初始化,连接发送完成和接收完成中断(中断事件9 和23)

2、SM0.0 触发RCV 指令

3、XMT 指令用上升沿触发,并在指令运行前先停止端口0 的接收(复位SM87.7,执行RCV 指令)

4、在发送完成中断中,重新置端口0 为接收状态(置位SM87.7,执行RCV 指令),清空RCV 指令的接收缓冲区

5、尽量减少在中断程序中编程,如果时间允许仅在中断程序中置标志位,然后在主程序中扫描该位执行具体的程序

6、根据将要接收信息的不同,合理设置SMB87~SMB94

相关文章
  • 西门子s7-200系列plc顺序控制指令的功能详解

    西门子s7-200系列plc顺序控制指令的功能详解

    西门子s7-200系列plc顺序控制指令的功能,每一个scr程序段一般有三种功能,驱动处理,指定转移条件和目标,转移源自动复位功能,顺序控制指令的应用说明。

    时间:2022-09-20 19:49:31

  • 西门子s7-200系列plc定时中断指令编程入门

    西门子s7-200系列plc定时中断指令编程入门

    西门子s7-200系列plc定时中断指令编程入门,

    时间:2022-02-05 08:11:01

  • 西门子S7-200系列PLC中断指令第二部分

    西门子S7-200系列PLC中断指令第二部分

    西门子S7-200系列PLC中断指令第二部分,先来复习下中断指令的三要素:激活中断(1次即可);中断事件连接中断程序;开放中断。以上提到的三要素,要求必须包含在中断指令的主程序中。

    时间:2022-02-05 06:42:51

  • 西门子S7-200系列PLC中断指令第一部分

    西门子S7-200系列PLC中断指令第一部分

    西门子S7-200系列PLC中断指令第一部分,中断跟扫描周期无关,响应快,只要中断事件发生才会去执行程序,可以节省时间,避免等待和浪费时间。

    时间:2022-02-05 06:38:11

  • 西门子S7-200 Plc之比较指令入门教程

    西门子S7-200 Plc之比较指令入门教程

    西门子S7-200 Plc之比较指令入门教程,本节来学习下西门子s7-200“比较指令”的知识,下面是比较指令的常见类型:常见操作数,针对B\I\DI\R做下简单的解释。

    时间:2021-10-23 07:16:16

  • 西门子s7-200同一数据源不同时间的比较方法

    西门子s7-200同一数据源不同时间的比较方法

    西门子s7-200同一数据源不同时间的比较方法,问题:s7-200同一数据源不同时间怎么比较?同一个地址在不同的时间下获取的数值,然后把这些数值进行比较。

    时间:2021-10-23 07:06:27

  • 西门子S7-200中BCD码入门教程

    西门子S7-200中BCD码入门教程

    有关西门子s7-200的入门教程,BCD码是什么,其数据格式是什么样的,在s7-200编程中进程转换时,BCD码应该怎么操作,下面一起来学习下。

    时间:2021-10-23 06:56:47

  • 西门子s7-200有符号数和无符号数的区别

    西门子s7-200有符号数和无符号数的区别

    有关西门子s7-200的入门教程,介绍了s7-200中数的类型,一是有符号数,二是无符号数,那么西门子s7-200有符号数和无符号数的区别有哪些,下面一起来学习下。

    时间:2021-10-23 06:52:27

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有