S7-200自由口通讯示例

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

S7通讯的编程步骤-----自由口通讯 S7-200 通讯的编程步骤---自由口通讯

S7-200 自由口通讯是基于 RS485 通讯基础的半双工通讯, 因此, 发送和接收指令不能同时执行。 自由口通讯使用 SMB30(口 0)和 SMB130(口 1)来定义通讯口 的工作模式。SMB30/SMB130 各位的定义如下:

图 1:通讯口工作模式寄存器

使用自有口通讯,SM30.0 和 SM30.1(SM130.0 和 SM130.1=0) 必须分别为 1 和 0。 发送指令(XMT) 一、 发送指令(XMT) 使用 XMT 发送指令可以把存于缓冲区中的数据, 一次发送一个或

1

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

多个字节的数据,最多为 255 个。发送完最后一个字符后还可以连接 到一个发送完中断(端口 0 为 9,端口 1 位 26,见下表) 。

图 2:中断事件表

2

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

发送缓冲区的格式如下表所示:

图 3:发送缓冲区的格式 说明: T+0:发送信息的字节个数需要提前定义。 T+1~T+255:要发送的数据字节

和 XMT 有关的寄存器:SMB4 的 SM4.5 和 SM4.6。SM4.5=1 时,口 0 发送完毕;SM4.6=1 时,口 1 发送完毕。 由以上可以看出,有两种方法可以检测端口 0 或 1 的数据发送 状态:一种是利用中断,一种是利用寄存器 SMB4 的第 5 位(口 0) 和第 6 位(口 1) 。 接收指令(RCV) 二、 接收指令(RCV) 使用接收指令(RCV)可以从端口 0 或 1 接收一个或多个字节的 数据(最多 255 个) ,并存于数据缓冲区。接收完最后一个字节后可 以连接到一个接收完中断(口 0 是 23,口 1 是 24,见图 2 所示) 。 接收缓冲区的格式如下表所示:

3

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

图 4:接收缓冲区的格式 说明: 说明: T+0:接收字符计数,在接收到结束字符时自动清零 T+1:起始字符,在 SMB88(口 0)或 SMB188(口 1)中定义 T+2~T+244:接收到的数据字节 T+255:结束字符,在 SMB89(口 0)或 SMB189(口 1)中定义

和接收有关的寄存器及定义如下表所示:

4

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

5

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

图 5:接收有关寄存器 说明: 说明: 1、SMB86/SMB186:接收终止状态信息寄存器,含有接收终止原因的信息; 2、SMB88/SMB188:信息起始位字节(如发送的信息有起始位,将把此寄存 器的内容和接受信息的每一字节相比较来, 检测确认后续字节是否是信息。 因此, 在编程时,需要在通讯初始化时,把信息启动位字节传入 SMB88 或 SMB188) ; 3、SMB89/SMB189:信息停止位字节(如发送的信息有停止位,将把此寄存 器的内容和接受信息的每一字节相比较来, 检测确认信息是否已传送完毕。 因此, 在编程时,需要在通讯初始化时,把信息启动位字节传入 SMB89 或 SMB189) ; 4、SMB90/SMB190:信息空闲状态的时间(ms) ,空闲线时间后接受的第一 个字节是信息的开始; 5、SMB94/SMB194:接受的最大字符数(1~255) 。

三、编程步骤 初始化通讯参数。 1、利用 SM0.1 初始化通讯参数。 ● 使用 SMB30(口 0)或 SMB130(口 1)选择自由口通讯模式,并选 定自由口通讯的波特率,数据位数和校验方式。 ● 定义通讯口接收格式 SMB87(口 0)或 SMB187(口 1) 。包括启动 信息接收(第 7 位=1) ,是否有起始位(第 6 位) ,是否有结束位(第 5 位)以及是否检测空闲状态(第 4 位)等。 ● 设定起始位(SMB88 或 SMB188)或结束位(SMB89 或 SMB189) 、空 闲时间信息(SMB90 或 SMB190)及接收的最大字符数(SMB94 或 SMB194) 。 ● 如利用中断,连接接收完(事件 23)和发送完(事件 9)中断到

6

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

中断程序,并且开中断(ENI) 。 ● 一般还要利用 SMB34 定义一个定时中断,来定时发送数据(一般 为 50ms,即间隔发送数据的时间) 。 2、编写主程序 自由口通讯主程序的任务是把要发送的数据放到送区, 并接收数 据到接收区,当然此部分也可以用一个子程序来完成。 3、编写 SMB34 的定时中断程序 把要发送的数据传送到发送区,一般包括:发送的字节数,发送 的数据及结束字符,最后再利用 XMT 指令启动发送。 4、编写发送完中断和接收完中断子程序 ● 发送完中断子程序的主要任务是发送完后断开 SMB34 定时中断, 并利用 RCV 指令准备接收数据。 ● 接收完中断子程序的任务是接收数据完成后重新连接 SMB34 的定 时中断,准备发送数据。 四、例程 本例的主要作用是利用甲机控制乙机的电机星-角起动,乙机控 制甲机的电机星-角起动。I/O 分配如下所示:

发送和接收数据缓冲区的分配如下所示:

7

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

甲机(2 号站)程序梯形图: 甲机(2 号站)程序梯形图: 主程序: 主程序:

8

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

初始化子程序(initialize) : 初始化子程序(initialize)

9

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

10

甲机星角运行子程序(XingJiao)甲机星角运行子程序(XingJiao) (XingJiao)

中断程序0(50ms 间隔发送程序)间隔发送程序)

中断程序1(发送完中断)发送完中断)

中断程序2(接收完中断)接收完中断)

乙机(3号站)的程序和甲机类似,只要在编程过程中注意发送和接收区和甲机的对应就可以了,不再缀述。

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

S7通讯的编程步骤-----自由口通讯 S7-200 通讯的编程步骤---自由口通讯

S7-200 自由口通讯是基于 RS485 通讯基础的半双工通讯, 因此, 发送和接收指令不能同时执行。 自由口通讯使用 SMB30(口 0)和 SMB130(口 1)来定义通讯口 的工作模式。SMB30/SMB130 各位的定义如下:

图 1:通讯口工作模式寄存器

使用自有口通讯,SM30.0 和 SM30.1(SM130.0 和 SM130.1=0) 必须分别为 1 和 0。 发送指令(XMT) 一、 发送指令(XMT) 使用 XMT 发送指令可以把存于缓冲区中的数据, 一次发送一个或

1

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

多个字节的数据,最多为 255 个。发送完最后一个字符后还可以连接 到一个发送完中断(端口 0 为 9,端口 1 位 26,见下表) 。

图 2:中断事件表

2

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

发送缓冲区的格式如下表所示:

图 3:发送缓冲区的格式 说明: T+0:发送信息的字节个数需要提前定义。 T+1~T+255:要发送的数据字节

和 XMT 有关的寄存器:SMB4 的 SM4.5 和 SM4.6。SM4.5=1 时,口 0 发送完毕;SM4.6=1 时,口 1 发送完毕。 由以上可以看出,有两种方法可以检测端口 0 或 1 的数据发送 状态:一种是利用中断,一种是利用寄存器 SMB4 的第 5 位(口 0) 和第 6 位(口 1) 。 接收指令(RCV) 二、 接收指令(RCV) 使用接收指令(RCV)可以从端口 0 或 1 接收一个或多个字节的 数据(最多 255 个) ,并存于数据缓冲区。接收完最后一个字节后可 以连接到一个接收完中断(口 0 是 23,口 1 是 24,见图 2 所示) 。 接收缓冲区的格式如下表所示:

3

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

图 4:接收缓冲区的格式 说明: 说明: T+0:接收字符计数,在接收到结束字符时自动清零 T+1:起始字符,在 SMB88(口 0)或 SMB188(口 1)中定义 T+2~T+244:接收到的数据字节 T+255:结束字符,在 SMB89(口 0)或 SMB189(口 1)中定义

和接收有关的寄存器及定义如下表所示:

4

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

5

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

图 5:接收有关寄存器 说明: 说明: 1、SMB86/SMB186:接收终止状态信息寄存器,含有接收终止原因的信息; 2、SMB88/SMB188:信息起始位字节(如发送的信息有起始位,将把此寄存 器的内容和接受信息的每一字节相比较来, 检测确认后续字节是否是信息。 因此, 在编程时,需要在通讯初始化时,把信息启动位字节传入 SMB88 或 SMB188) ; 3、SMB89/SMB189:信息停止位字节(如发送的信息有停止位,将把此寄存 器的内容和接受信息的每一字节相比较来, 检测确认信息是否已传送完毕。 因此, 在编程时,需要在通讯初始化时,把信息启动位字节传入 SMB89 或 SMB189) ; 4、SMB90/SMB190:信息空闲状态的时间(ms) ,空闲线时间后接受的第一 个字节是信息的开始; 5、SMB94/SMB194:接受的最大字符数(1~255) 。

三、编程步骤 初始化通讯参数。 1、利用 SM0.1 初始化通讯参数。 ● 使用 SMB30(口 0)或 SMB130(口 1)选择自由口通讯模式,并选 定自由口通讯的波特率,数据位数和校验方式。 ● 定义通讯口接收格式 SMB87(口 0)或 SMB187(口 1) 。包括启动 信息接收(第 7 位=1) ,是否有起始位(第 6 位) ,是否有结束位(第 5 位)以及是否检测空闲状态(第 4 位)等。 ● 设定起始位(SMB88 或 SMB188)或结束位(SMB89 或 SMB189) 、空 闲时间信息(SMB90 或 SMB190)及接收的最大字符数(SMB94 或 SMB194) 。 ● 如利用中断,连接接收完(事件 23)和发送完(事件 9)中断到

6

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

中断程序,并且开中断(ENI) 。 ● 一般还要利用 SMB34 定义一个定时中断,来定时发送数据(一般 为 50ms,即间隔发送数据的时间) 。 2、编写主程序 自由口通讯主程序的任务是把要发送的数据放到送区, 并接收数 据到接收区,当然此部分也可以用一个子程序来完成。 3、编写 SMB34 的定时中断程序 把要发送的数据传送到发送区,一般包括:发送的字节数,发送 的数据及结束字符,最后再利用 XMT 指令启动发送。 4、编写发送完中断和接收完中断子程序 ● 发送完中断子程序的主要任务是发送完后断开 SMB34 定时中断, 并利用 RCV 指令准备接收数据。 ● 接收完中断子程序的任务是接收数据完成后重新连接 SMB34 的定 时中断,准备发送数据。 四、例程 本例的主要作用是利用甲机控制乙机的电机星-角起动,乙机控 制甲机的电机星-角起动。I/O 分配如下所示:

发送和接收数据缓冲区的分配如下所示:

7

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

甲机(2 号站)程序梯形图: 甲机(2 号站)程序梯形图: 主程序: 主程序:

8

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

初始化子程序(initialize) : 初始化子程序(initialize)

9

PLC 和变频器 频器博客原创(http://zhyo720211.gkbk.com)

10

甲机星角运行子程序(XingJiao)甲机星角运行子程序(XingJiao) (XingJiao)

中断程序0(50ms 间隔发送程序)间隔发送程序)

中断程序1(发送完中断)发送完中断)

中断程序2(接收完中断)接收完中断)

乙机(3号站)的程序和甲机类似,只要在编程过程中注意发送和接收区和甲机的对应就可以了,不再缀述。


相关内容

  • 专业课综合课程设计
  • 专业课综合课程设计说明书 系 部: 信息与控制工程学院 专 业: 自动化 班 级: 学生姓名: 学 号: 2013年 12 月 12 日 第 一 部 分 PLC 控制与应用部分 ............................................................. ...

  • plc自动售货机说明书
  • < 电气控制与PLC >综合训练 说 明 书 专业名称:电气自动化技术 班 级:学 号:姓 名:指导教师:日期:年月日 < 电气控制与PLC >综合训练课程设计评阅书 本实验设计基于西门子S7-200系列PLC 进行自动售货机控制系统的设计,阐述了自动售货机系列设计的基本原理 ...

  • 机电一体化专业毕业论文
  • 毕业论文 题目名称:机械手控制 系部名称:机电工程系 班 级:机电一体化二班 学 号:0000 学生姓名:XX 指导教师:XX 2011年 11月 郑州经贸职业学院机电系毕业论文 机械手控制 摘 要 生产技术和生产力的高速发展,要求现代化企业必须有更高的生产效率,更高的自动化程度及其安全可靠性.机械 ...

  • PLC与变频器控制电机
  • 目 录 1 实训的目的 ................................................. 1 2 变频器控制电机.............................................. 3 2.1 变频器的工作原理 3 2.2 变频器控制电机的正 ...

  • PLC通信协议
  • 各种PLC 通讯介质和协议介绍 紫金桥软件技术有限公司 自从第一台PLC 在GM 公司汽车生产线上首次应用成功以来,PLC 凭借其方便性.可靠性以及低廉的价格得到了广泛的应用.但PLC 毕竟是一个黑盒子,不能实时直观地观察控制过程,与DCS 相比存在比较大的差距.计算机技术的发展和普及,为PLC 又 ...

  • 基于PLC的多向模锻压机模拟机
  • 中国科技期刊数据库 工业C 基于PLC 的多向模锻压机模拟机 樊玉新 中国二十二冶集团有限公司,河北 唐山 063000 摘要:为了更好的向客户演示说明40MN 多向模锻压机的工作过程与工作原理,设计了基于PLC 的多向模锻压机模拟机系统. 关键词:多向模锻压机:PLC :步进电机 中图分类号:TP ...

  • 三工位旋转工作台的PLC控制设计
  • 制造业信息化 仿真/建模/CAD /CAM /CAE /CAPP MA NUFACTURING INFORMATIZATION 三工位旋转工作台的PLC 控制设计 江德松 )(安徽机电职业技术学院,安徽芜湖241000 摘介绍了利用西门子S7-200PLC 对三工位旋转工作台的控制,阐述了控制方案, ...

  • 西门子PLC彩色样本
  • SIMATIC S7-1200 S7-1200 可编程控制器 使用TIA博途 产品样本09.2014 软件平台进行工程组态 Answers for industry. 2 S7-1200 可编程控制器 产品样本 • 09.2014 SIMATIC S7-1200 技术综述 西门子控制器家族产品 西门 ...

  • 基于PLC和变频器的电机控制技术
  • 基于PLC和变频器的电机控制技术 卞永龙 1概述 变频调速能够提升绞车.提升机以及通风机等大型设备的使用效率,实现对电机的有效控制,这也成为最有发展前景和最理想的调速方式之一.采用变频器构成变频调速传动系统的主要目的:一是可以节约能源,降低生产成本,在实际的应用中用户可以根据现场的需要组合选择不同类 ...