西门子低压电器|模块代理

发布
浔之漫智控技术(上海)有限公司
品牌
西门子
型号
模块
产地
德国
电话
15821971992
手机
15821971992
发布时间
2023-07-19 17:06:40
产品详情

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 指令,我们首先介绍如何用bbbbbbs 自带的
超级终端连接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 的网站上找到
//www.ad.siemens.com.cn/applic/s7-200/modembbbb ,这里我们将介绍如何发送中文
短消息。要发送中文短消息必须把短消息内容转换成Unicode 码,并按照PDU 格式打
包发送给TC35。PDU 数据格式涉及手机开发的相关知识,我们不作详细介绍,这里指
给出一个标准格式供大家使用。以下就是一个PDU 格式的数据包:0001000D965FC14
其中,红色的数字(F7)代表对方的手机号码,在PDU 格式中,手机号
码每两位需要对调。比如在上面这个例子里,对方的手机号码为,F 用来补充
7 后面的空位。蓝色的数字(59296C14)是短消息内容的Unicode 码,这里5929 代表“天”
6C14 代表“气”。Unicode 码同样可以用来表示中一般英文字母和数字,方法是在英文或数
字的ASCII 码前加00。紫色的数字(04)代表短消息的长度,它等于其后所有字符个数除
以2。黑色的数字每次发送短消息时都是相同的,使用时可以照抄,但前提是所使用的SIM
卡在使用前要用手机设置好短消息服务中心号码(+86)。汉字的Unicode 码可
以通过编码转换软件得到,我们使用的是Megaton Technology 公司的一个编码转换软件
9. 在使用PDU 格式发送短消息时,还必须计算整个PDU 数据包的长度,PDU 数据包的
长度等于(PDU 数据包字符数-2)/2,在上面的例子里:(38-2)/2=18。发送短消息时,
我们先向TC35 发送AT+CMGS=回车(Length 是计算好的PDU数据包的长度),
TC35 收到指令后返回一个“〉”符号,然后我们发送整个PDU 数据包并以组合键Ctrl+Z
结束。

我有一个改造项目新系统的313C plc需要从老系统上用MpI通讯读取一个模拟量和16个数字量的数据,现在问题是用定义全局数据通讯还是在新系统plc中用sfc67和sfc68通讯,是不是编程通讯比全局数据通讯速度快更稳定?请高手指点。(还要问一句如果用编程通讯的话怎么把定义好的全局数据给删除掉)如果不用全局数据的话,用编程,两个plc在组态里用不用连?是不是只用设置一下地址就行了吧?

答:全局数据通信是PLC之间进行的不需要编程通过MPI接口在CPU间循环地交换少量数据,当过程映像被刷新时,在循环扫描检测点上进行数据交换;而无组态的连接的MPI通信(编程通信)通过调用SFC67和SFC68来实现,MPI无组态连接就是MPI通信时,不需要组态,只要编写通信程序即可实现通信,PLC之间可以采用双边编程通信和单边编程通信方式,你这里应该是采用单边编程通信方式,因为CPU313C需要从老系统上用MpI通讯读取一个模拟量和16个数字量的数据,只要在CPU313C上进行编程就可以实现数据交换,编程通信要比全局数据传输的数据量要大,速度更快;
你首先必须把两个PLC之间的MPI端口连接起来,设定主站CPU313C的MPI通信参数(波特率187.5kbit/s)和主站的MP地址如“3”,不能与老的PLC的MPI地址重复,把两个站的波特率设定一样,各自下载到PLC中;因为你只想老系统上用MpI通讯读取一个模拟量和16个数字量的数据,在CPU313C中单边编程,在读取数据区只要指定对方的PLC的MPI地址和数据区就可以了。
X_PUT(SFC68)为发送数据的指令,通过此指令将数据写入不在同一个本地S7站中的通信伙伴,其中DEST_ID为对方的MPI地址(这里指你的老系统PLC的MPI地址)和VAR_ADDR为对方的数据区,SD为本地数据区,必须保证SD参数定义的数据长度和数据类型与通信伙伴上VAR_ADDR一致;
X_GET(SFC67)为接收数据的指令,可以从本地站S7站以外的通信伙伴(这里指老系统上PLC站)中读取数据,其中参数DEST_ID和VAR_ADDR分别指对方的MPI地址和对方的数据区,RD为本机的数据区必须保证RD参数定义的接收区(CPU313C)至少和由VAR_ADDR参数定义的要读取的区域一样大,而且类型必须相匹配。
如果不想要全局数据通信,只要在硬件组态界面中选择菜单Options(选项)/Define Global Data“(定义


如果短消息被成功的发送,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


浔之漫智控技术(上海)有限公司

联系人:
聂聪(先生)
电话:
15821971992
手机:
15821971992
地址:
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
邮件:
2724917714@qq.com
行业
负荷开关 上海负荷开关
我们的其他产品
低压电器相关搜索
拨打电话 请卖家联系我