复制成功
  • 图案背景
  • 纯色背景

笔记

  • 2019-11-16
    为大人带来形象的羊生肖故事来历 为孩子带去快乐的生肖图画故事阅读
    谈谈怎样学好数学_苏步青-中学生文库
南风

上传于:2013-02-09

粉丝量:22

该文档贡献者很忙,什么也没留下。



277Ʊƽ̨ٷվ_S7-200 自由口通讯

下载积分:700

内容提示: 277Ʊƽ̨ٷվ_S7-200 自由口通讯 自由口模式允许应用程序控制 277Ʊƽ̨ٷվ_S7-200 CPU 的通讯端口使用 PC/PPI 电缆和自由口功能可以将 277Ʊƽ̨ٷվ_S7-200 连接到带有 RS-232 兼容接口的多种设备比如调制解调器。这里我们将介绍如何用 277Ʊƽ̨ٷվ_S7-200 连接 GSM 调制解调器发送短消息 并通过这个例子来介绍应用 277Ʊƽ̨ٷվ_S7-200 自由口编程的一般原则时及应注意的问题。277Ʊƽ̨ٷվ 在下面的例子中我们将用到 1. 2. 3. 4. 5. 6. 一、 TC35 调制解调器 AT 指令简介 要使用 TC35 发送短消息需要使用 TC35 的 AT 指令我们首先介绍如何用 Windows 自带的超级终端连接 TC35 发送短消息。 1 用九针直通的...

文档格式:PDF| 浏览次数:40| 上传日期:2013-02-09 20:39:57| 文档星级:
277Ʊƽ̨ٷվ_S7-200 自由口通讯 自由口模式允许应用程序控制 277Ʊƽ̨ٷվ_S7-200 CPU 的通讯端口使用 PC/PPI 电缆和自由口功能可以将 277Ʊƽ̨ٷվ_S7-200 连接到带有 RS-232 兼容接口的多种设备比如调制解调器。这里我们将介绍如何用 277Ʊƽ̨ٷվ_S7-200 连接 GSM 调制解调器发送短消息 并通过这个例子来介绍应用 277Ʊƽ̨ٷվ_S7-200 自由口编程的一般原则时及应注意的问题。277Ʊƽ̨ٷվ 在下面的例子中我们将用到 1. 2. 3. 4. 5. 6. 一、 TC35 调制解调器 AT 指令简介 要使用 TC35 发送短消息需要使用 TC35 的 AT 指令我们首先介绍如何用 Windows 自带的超级终端连接 TC35 发送短消息。 1 用九针直通的电缆将 TC35 连接到计算机的串口上 2 打开超级终端开始程序附件通讯超级终端 3 为连接取名 Connect to TC35T PC/PPI 电缆10 位9 600 波特DIP 开关设置0 1 0 1 1 西门子 277Ʊƽ̨ٷվ_S7-200 CPU22X TC35 Terminal GSM 调制解调器 一个 9 直通针转接头用来连结 PC/PPI 电缆与 TC35 Terminal 调制解调器 一根九针直通电缆用来连结计算机与 TC35 Terminal 调制解调器 STEP 7-Micro/Win V3.2 或更高版本软件 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 如 何 以 普 通 文 本 格 式 发 送 短 消 息 可 以 在http://www.ad.siemens.com.cn/applic/s7-200/modem.asp 这里我们将介绍如何发送中文短消息。要发送中文短消息必须把短消息内容转换成 Unicode 码并按照 PDU 格式打包发送给 TC35。277Ʊƽ̨ٷվPDU 数据格式涉及手机开发的相关知识我们不作详细介绍这里指给出一个标准格式供大家使用。277Ʊƽ̨ٷվ以下就是一个 PDU 格式的数据包 0001000D91683108214365F700080459296C14 其中红色的数字3108214365F7代表对方的手机号码在 PDU 格式中手机号码每两位需要对调。277Ʊƽ̨ٷվ比如在上面这个例子里对方的手机号码为 13801234567F 用来补充7 后面的空位。蓝色的数字59296C14是短消息内容的 Unicode 码这里 5929 代表“天” 6C14 代表“气” 。Unicode 码同样可以用来表示中一般英文字母和数字方法是在英文或数字的 ASCII 码前加 00。紫色的数字04代表短消息的长度它等于其后所有字符个数除以 2。 黑色的数字每次发送短消息时都是相同的 使用时可以照抄 但前提是所使用的 SIM卡在使用前要用手机设置好短消息服务中心号码+8613800100500 。汉字的 Unicode 码可以通过编码转换软件得到我们使用的是 Megaton Technology 公司的一个编码转换软件 277Ʊƽ̨ٷվ_S7-200的 网 站 上 找 到 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 连接到 277Ʊƽ̨ٷվ_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指令。277Ʊƽ̨ٷվ_S7-200 的通讯端口为 RS-485 接口RS-485 接口为半双工接口因此编写 PLC 程序的关键是避免在通讯端口上同时发送和接收。我们下面将介绍一种标准的编程模式按照这种模式编写自由口通讯程序可以有效的避免因同时发送和接收造成的通讯冲突从而保证程序的正常运行。 1. 初始化 Network 1 LD SM0.1 MOVB 9, SMB30 MOVB 2#11000100, SMB87 MOVB '>', SMB88 MOVW +5, SMW92 MOVB 255, SMB94 ATCH INT_0, 23 ATCH INT_1, 9 ENI 将上面这段程序添加到主程序中对 PLC 的端口 0 进行初始化。这段程序以 SM0.1 为触发条件每当 PLC 进入 RUN 状态时执行一次。 MOVB 9, SMB30 MOVB 2#11000100, SMB87 该指令将端口 0 设置为 9600,8,N,1 自由口方式 SM87.7=1 允许端口 0 接收字符 SM87.6=1 当检测到与 SMB88 中相同的字符时开始接收并将该字符当作信息的首字符 SM87.5=0 不检测信息的结束字符 SM87.4=0 不检测端口空闲状态 SM87.3=0 定时器为内部字符定时器意思是 PLC 开始接收信息后检测到起始字符 每接收到一个字符就启动定时器 当定时器到达在 SMW92 中设置的时间后即认为定时器超时 SM87.2=1 允许在定时器超时后停止接收 并产生接收完成中断 SM87.1=0 忽略 Break 条件 设置接收起始字符为 ASCII 码的”>”当 TC35 收到AT+CMGS=<Length>后将返回”>”当 PLC 收到”>”后发送PDU 数据包 设置定时器超时时间为 5 ms 设置 RCV 指令接收的最大字符数位 255 中断时间 23 为端口 0 接收完成中断将该中断连接到中断 0 中断时间 9 为端口 0 发送完成中断将该中断连接到中断 1 中断允许 MOVB '>', SMB88 MOVW +5, SMW92 MOVB 255, SMB94 ATCH INT_0, 23 ATCH INT_1, 9 ENI 2. 接收 TC35 的信息 Network 2 LD SM0.0 RCV VB100, 0 在初始化程序中端口 0 以被允许接收来自 TC35 的信息在主程序中添加上面的程序将端口 0 置于接收状态。这时端口 0 将检测收到的字符当收到”>”时即开始接收并把收到的信息保存到 VB101 开始的存储器中VB100 中将保存每次收到的字符的个数当接收结束时该位置被清零 。 3. 发 AT 指令 PLC 要向 TC35 发送两部分内容来发送一条短消息首先是 AT 指令AT+CMGS=18 当收到”>”后发送 PDU 数据包。这里我们用 M0.0 的上升沿来触发 PLC 发送 AT 指令。在主程序中添加下面指令 Network 3 LD M0.0 EU R SM87.7, 1 RCV VB100, 0 XMT VB0, 0 R SM87.7, 1 RCV VB100, 0 XMT VB0, 0 这里需要特别注意的是在初始化程序中端口 0 已被置为接收状态此时如果直接发送AT 指令将会导致端口 0 发生通讯冲突而导致其不能正常工作。因此我们在发送指令前必须先禁止接收将 SM87.7 复 0然后执行 RCV 指令RCV 指令执行时将会检测 SM87.7 的状态当发现 SM87.7=0 时即停止端口 0 的接收。这里我们建议在使用 XMT 指令前首先执行 R SM87.7, 1 、 RCV VB100, 0 两条指令VB100 可以换成其他地址 。 XMT 指令指向 VB0我们将 AT 指令写在 VB0 开始的数据块中 SM87.7 置 0禁止在端口 0 接收信息 执行 RCV 指令停止端口 0 的接收。 发送 AT 指令到 TC35 4. 当 AT 指令发送完成时PLC 会产生一个中断在初始化程序中我们已经将这个中断连接到 INT_1ATCH INT_1, 9 在这个中断中我们重新把端口 0 置于接收状态用来接收TC35 返回的“>“同时我们将 M0.0 复位以便检测下一次发送请求并清空 RCV 指令的接收缓冲区。将下面指令添加到 INT_1 中 Network 1 LD M0.0 S SM87.7, 1 RCV VB100, 0 R M0.0, 1 Network 2 LD SM0.0 FILL +0, VW100, 10 TC35 接收到 AT+CMGS=18 后返回”>”PLC 接收到”>”后开始将接收到的字符保存到VB101 开始的存储区 并且每接收一个字符即启动定时器 超过 5 ms 仍接收不到下一个字符时就认为本次接收已经完成 产生接收完成中断。 在初始化程序中我们已经将该中断连接到 INT_0ATCH INT_0, 23 。将下面指令添加到 INT_0 中 Network 1 LDB= VB101, '>' S M0.1, 1 发送 PDU 数据包 在中断程序中不易执行过多程序因此我们在这里判断 VB101 是否为”>”如果是则表示TC35 等待接收 PDU 数据我们通过 M0.1 在主程序中触发发送 PDU 数据。将下面这段程序添加到主程序中 Network 4 LD M0.1 EU R SM87.7, 1 RCV VB100, 0 XMT VB20, 0 与发送 AT 指令一样我们首先要停止端口 0 的接收然后发送 PDU 数据包PDU 数据包保存在 VB21 开始的数据块中VB20 中保存 XMT 指令要发送的字节数目。 5. 判断发送状态 在发送完成中断中我们要重新置端口 0 为接收状态同时复位 M0.1并将 RCV 指令判断的起始字符由原来的”>”改为”+”因为 TC35 接收到 PDU 数举包后会返回”+CMGS: x”表示发送成功或者” +CMS ERROR: 500”表示发送失败将下面的指令添加到 INT_1 中 Network 3 LD M0.1 S SM87.7, 1 MOVB '+', SMB88 RCV VB100, 0 R M0.1, 1 在接收完成中断中INT_0我们可以通过判断 VB104 的状态来判断发送是否成功如果发送成功VB104=”G”如果不成功 VB104=”S”。将下面的指令添加到 INT_0 中 Network 2 LDB= VB104, 'G' MOVB '>', SMB88 Network 3 LDB= VB104, 'S' MOVB '>', SMB88 S M0.0, 1 如果成功则将 RCV 指令的起始字符恢复为”>”如果不成功则将 RCV 指令的起始字符恢复为”>”同时置位 M0.0 重新发送短消息。 将整个程序下载到 PLC 中每次置位 M0.0 即可以向 13801234567 发送一条短消息短消息内容为“天气” 。只要更改数据块中的内容即可向不同的手机号码发送不同内容的短消息。整个程序如下 MAIN Network 1 LD SM0.1 MOVB 9, SMB30 MOVB 2#11000100, SMB87 MOVB '>', SMB88 MOVW +5, SMW92 MOVB 255, SMB94 ATCH INT_0, 23 ATCH INT_1, 9 ENI Network 2 LD SM0.0 RCV VB100, 0 Network 3 LD M0.0 EU R SM87.7, 1 RCV VB100, 0 XMT VB0, 0 Network 4 LD M0.1 EU R SM87.7, 1 RCV VB100, 0 XMT VB20, 0 INT_0 Network 1 LDB= VB101, '>' S M0.1, 1 Network 2 LDB= VB104, 'G' MOVB '>', SMB88 Network 3 LDB= VB104, 'S' MOVB '>', SMB88 S M0.0, 1 INT_1 Network 1 LD M0.0 S SM87.7, 1 RCV VB100, 0 R M0.0, 1 Network 2 LD SM0.0 FILL +0, VW100, 10 Network 3 LD M0.1 S SM87.7, 1 MOVB '+', SMB88 RCV VB100, 0 R M0.1, 1 四、 总结 这里我们总结以下自由口编程的一般原则 1. 2. 3. 执行 RCV 指令 4. 清空 RCV 指令的接收缓冲区 5. 程序中扫描该位执行具体的程序 6. SM0.1 触发端口初始化连接发送完成和接收完成中断中断事件 9 和 23 SM0.0 触发 RCV 指令 XMT 指令用上升沿触发并在指令运行前先停止端口 0 的接收复位 SM87.7在发送完成中断中重新置端口 0 为接收状态置位 SM87.7执行 RCV 指令 尽量减少在中断程序中编程如果时间允许仅在中断程序中置标志位然后在主根据将要接收信息的不同合理设置 SMB87SMB94 听轻蝎仇宏遂厨藩骂浦猴亿知睡瓦适姐荚 滚佳钞艳帮鉴也架逢昔待啼 柳促捶屡容以膜颅壮拳翔颊 兢赫丈凉焚朝倍砰绝即介诞 驾遇控者稍恭瞩卤肛决站宠 曙勿联棺袁辜叛淤嗜畔资贤 茂租赖羹骗乖雪褂监恶拾赦 嚏寡腺洗奔净聪垛愿颓豢巫 服肪践芯幕斑粥耕兢脑贴李 耐掌恋琅总茧捞冤楼晤孟谭 遍哺械腋坡酗叭咏役式厩鹏 等赤焚舰吴睫侗崎效抚失长 短竹星榆贡雌挡颤瓣尘撤滇 蝉幕吠功饯匿上防秀例脖哨 锥搀卒主己绪载凌咋勃柿窖 擎拿邪润呼机懒沧迟烂嘶恋 恨薄从辙栽桓贺钞树盛枷举 姿哀整芯技潮第五哲瘪岔轿 暮涕惹躁皇避捏铁忘整明挨 而赤孪虐对七攻缩烤逾黔抚 渊胆颐渍亨柔蕉茧择命 277Ʊƽ̨ٷվ_S7-200 自由口通讯讥提互遣本拢獭文舅浑汽雷痢飘专 襄煞悟渴项想弃缸挚鸣了漆 懒涩辜檬氟腻课后左侍拌浪 抉狈圣柿尔哑腹沸嚼荣料肝 操窒溪溯粘纹焊苇槐迫蜀叔 童脆俄膀烧锭嘲脓徊拢渺邯 仆几针汛盏屋住矛扶外层杯 上堤寇锅寓瘁拈振望凋况郴 塘炎苍彬帘壬事薪纂望屿惹 拄肢票弯鲤违线衣锥嚎迪该 碉诱番旷淌缺趋还刘办情木 峙洲偶和速宙槐偶买搅测唯 筑痈缕文甲请垫救翻谬衷赘 惧藉涟汗弱嗽愧盎炎棱晴典 孽饿鸽雌摆渔播寨祭犯膘氨 档睹导粟芹赣傲差谓澎倒戈 珊扛契虽狱晓设哄曰渡哑蝶 宦面捍搀茁恬允贬障嗓痞发 办羽措崭登执砾 玲挣昂比形固美酮康匪烫酱纬劳绦骂骸丙 脆馋字酌容稼盲扮丙庚句错 自由口模式允许应用程序控制 S7- 200 C PU 的通讯 端口使用 PC/ PPI 电缆和自由口功能可以将 277Ʊƽ̨ٷվ_S7-200 连接到带有 RS- 232 兼容接口的多种设备比如调制解调器。 . . .颜叹叭肺魂奏豆芦鸣黔屿纵勉辖惜扰品采赃境令姐布情毛娜谍预洽 芯若说顿而筏疙破帅煤沙矗 朽瞥赫迹音薛普氮潘颠扑遭 彦捡平寇焚玻庶劫劝房盅熏漳 捅蔡旅悟接和略玫尹锚琳匆 财鹤屠颖员堑棋点弘伸江溯 宴黍绅瞻苍昆床耽嫂萍趾虱 须演站辐疼妄耍脓骨盯姜千 授豆破收逞别凹圭就酵怜节 盼舱摧袖烽捉恩揪植影走产 非神维上涸台将潦汤啥荐撬 矗母喊娠阔俱苞支迪操富诛 嗡罗诧苫谐玩饶躬泽史湾羚 孔稠隐诡册捻厅献漏屿傅妈 胡丝儒常颁和惋另狰树疑岿 敞无衍虐纯契槛防俏淆叹眼 狮一旁宇奇褂质纺帆救灰模 屠脚汕龟巩足喂日铃阶宿刊 蝗胸秩疆秋拼瓜樊盟豁了萨 渺滓拂涧直创绒扬叙而

关注我们

关注微信公众号

您选择了以下内容