自由口模式允许应用程序控制S7-200 CPU的通讯端口,使用PC/PPI电缆和自由口功能,可以将S7-200连接到带有RS-232兼容接口的多种设备,比如调制解调器。这里我们将介绍如何用S7-200连接GSM调制解调器发送短消息,并通过这个例子来介绍应用S7-200自由口编程的一般原则时及应注意的问题。
WWW_P※LCJS_COM-PLC-)技.术_网
在下面的例子中我们将用到:
WWW_PL※CJS_COM-PLC-技.术_网
1. PC/PPI电缆(10位;9 600波特;DIP开关设置:0 1 0 1 1)
WWW_PLCJS_COM-PLC-技.术_网
2. 西门子 S7-200 CPU22X
WWW_P※LCJS_COM-PLC-)技.术_网
3. TC35 Terminal GSM调制解调器
WWW_PL※CJS_COM-PLC-技.术_网
4. 一个9直通针转接头(用来连结PC/PPI电缆与TC35 Terminal调制解调器)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
5. 一根九针直通电缆(用来连结计算机与TC35 Terminal调制解调器)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
6. STEP 7-Micro/Win V3.2或更高版本软件
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS@_COM%-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWW.PLCJS.COM——可编程控制器技术门户
W1WW_P4LCJS_COM-PLC-技.术_网
一、 TC35 调制解调器AT指令简介
——可——编——程——控-制-器-技——术——门——户
要使用TC35发送短消息需要使用TC35的AT指令,我们首先介绍如何用Windows自带的超级终端连接TC35发送短消息。
W1WW_P4LCJS_COM-PLC-技.术_网
1. 用九针直通的电缆将TC35连接到计算机的串口上
WWW.PLCJS.COM——可编程控制器技术门户
2. 打开超级终端(开始à程序à附件à通讯à超级终端)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
plcjs.技.术_网
3. 为连接取名Connect to TC35T
WWW_PLCJS@_COM%-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
——可——编——程——控-制-器-技——术——门——户
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WW.W_PLCJS_COM-PLC-技.术_网
4. 选择TC35连接的串口COM1
WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW.PLCJS.COM——可编程控制器技术门户
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
P.L.C.技.术.网——可编程控制器技术门户
WWW_P※LCJS_COM-PLC-)技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_P※LCJS_COM-PLC-)技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
5. 按照下图的参数设置端口。19 200 bps为TC35默认的端口波特率,如果该波特率已被更改,请选择正确的波特率。
WWW_P※LCJS_COM-PLC-)技.术_网
——可——编——程——控-制-器-技——术——门——户
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
——可——编——程——控-制-器-技——术——门——户
WWcW_PLCJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
plcjs.技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS_COM-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWW.PLCJS.COM——可编程控制器技术门户
WWW_P※LCJS_COM-PLC-)技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
6. 在窗口中键入AT回车测试与TC35的连接,如果连接正确,TC35将返回OK。
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
7. TC35可以发送两种格式的短消息,普通文本格式和PDU格式。应用普通文本格式时,短消息内容以ASCII码格式直接输入,操作比较简单,缺点是只能发送英文短消息;应用PDU格式时,短消息内容以Unicode格式输入,可以发送任何文字,缺点是短消息内容需要转换成Unicode码,并且要把短消息按PDU格式打包,操作比较复杂(编程复杂)。通过指令AT+CMGF=0设置TC35以PDU格式发送短消息(默认),AT+CMGF=1设置TC35以普通文本格式发送短消息。
WWcW_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
plcjs.技.术_网
8. 如何以普通文本格式发送短消息可以在S7-200的网站上找到http://www.ad.siemens.com.cn/applic/s7-200/modem.asp ,这里我们将介绍如何发送中文短消息。要发送中文短消息必须把短消息内容转换成Unicode码,并按照PDU格式打包发送给TC35。PDU数据格式涉及手机开发的相关知识,我们不作详细介绍,这里指给出一个标准格式供大家使用。以下就是一个PDU格式的数据包:
WWW_P※LCJS_COM-PLC-)技.术_网
0001000D91683108214365F700080459296C14
WWcW_PLCJS_COM-PLC-技.术_网
其中,红色的数字(3108214365F7)代表对方的手机号码,在PDU格式中,手机号码每两位需要对调。比如在上面这个例子里,对方的手机号码为13801234567,F用来补充7后面的空位。蓝色的数字(59296C14)是短消息内容的Unicode码,这里5929代表“天”
WWW_PLC※JS_COM-PmLC-技.术_网
6C14代表“气”。Unicode码同样可以用来表示中一般英文字母和数字,方法是在英文或数字的ASCII码前加00。紫色的数字(04)代表短消息的长度,它等于其后所有字符个数除以2。黑色的数字每次发送短消息时都是相同的,使用时可以照抄,但前提是所使用的SIM卡在使用前要用手机设置好短消息服务中心号码(+8613800100500)。汉字的Unicode码可以通过编码转换软件得到,我们使用的是Megaton Technology公司的一个编码转换软件
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
plcjs.技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLCJS_COM-PLC-技.术_网
9. 在使用PDU格式发送短消息时,还必须计算整个PDU数据包的长度,PDU数据包的长度等于(PDU数据包字符数-2)/2,在上面的例子里:(38-2)/2=18。发送短消息时,我们先向TC35发送AT+CMGS=回车(Length是计算好的PDU数据包的长度),TC35收到指令后返回一个“〉”符号,然后我们发送整个PDU数据包并以组合键Ctrl+Z结束。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PL※CJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_P※LCJS_COM-PLC-)技.术_网
如果短消息被成功的发送,TC35会返回+CMGS: x,其中“x”代表该模块以及发送的短消息个数,同时返回OK。
WWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
二、 设置TC35
WWW_PLCJS_COM-PLC-技.术_网
在将TC35连接到S7-200之前我们先要对TC35作一些设置,使其适合与PLC通讯。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
1. 通过指令AT+IPR=9600设置TC35的端口波特率为9 600 bps
WW.W_PLCJS_COM-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
plcjs.技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_P※LCJS_COM-PLC-)技.术_网
2. 重新建立一个波特率为9 600 bps的连接,用指令ATE0禁止回波功能。回波功能使调制解调器将收到的指令回发给发送方,这项功能会给PLC编程来来不便,当禁止回波功能后,TC35只返回指令执行的结果,比如OK等等
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
WW.W_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS_COM-PLC-技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
3. 键入AT&W0回车将当前设置存为用户配置文件(掉电保持),再键入ATZ0以用户配置文件重新启动。此后TC35重新上电时将按照前面所作的设置启动。
WWW_PLCJS@_COM%-PLC-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
三、 PLC编程
WWW_PLCJS@_COM%-PLC-技.术_网
现在,我们已经知道如何用AT指令发送短消息,剩下的工作是用PLC程序来发送这些AT指令。S7-200的通讯端口为RS-485接口,RS-485接口为半双工接口,因此,编写PLC程序的关键是避免在通讯端口上同时发送和接收。我们下面将介绍一种标准的编程模式,按照这种模式编写自由口通讯程序可以有效的避免因同时发送和接收造成的通讯冲突,从而保证程序的正常运行。
WWW_P※LCJS_CO※M-PLC-技-.术_网
1. 初始化
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Network 1
LD SM0.1
P.L.C.技.术.网——可编程控制器技术门户
MOVB 9, SMB30
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
MOVB 2#11000100, SMB87
——可——编——程——控-制-器-技——术——门——户
MOVB >, SMB88
WWW_P※LCJS_CO※M-PLC-技-.术_网
MOVW +5, SMW92
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
MOVB 255, SMB94
——可——编——程——控-制-器-技——术——门——户
ATCH INT_0, 23
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
ATCH INT_1, 9
WW.W_PLC※JS_C,OM-PL,C-技.术_网
ENI
WWW_P※LCJS_COM-PLC-)技.术_网
将上面这段程序添加到主程序中,对PLC的端口0进行初始化。这段程序以SM0.1为触发条件,每当PLC进入RUN状态时执行一次。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)