收藏 分销(赏)

第八章通讯功能 第三节.doc

上传人:s4****5z 文档编号:8062503 上传时间:2025-02-02 格式:DOC 页数:10 大小:2.60MB 下载积分:10 金币
下载 相关 举报
第八章通讯功能 第三节.doc_第1页
第1页 / 共10页
第八章通讯功能 第三节.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
第8章 通讯功能 8.3 Modbus协议通讯 8.3.1简介 MK120S内置通讯功能支持Modicon产品的Modbus通讯协议。它支持ASCII数据的ASCII模式和十六进制数据的RTU模式。通过MODBUS中所支持的功能代码实现通讯,特殊功能代码如:01, 02, 03, 04, 05, 06, 15和16等。 请参阅“Modicon Modbus 通讯协议指南”( 8.3.2基本规范 1) ASCII 模式 (1) 使用ASCII数据通讯。 (2) 每个帧使用“: (冒号: H3A)”作为头,CRLF (Carriage Return-Line Feed:H0D H0A),作 为尾。 (3) 允许在字符之间的间隔是1秒。 (4) 使用LRC检查错误。 (5) 帧结构(ASCII 数据) 项目 头 地址 功能代码 数据 LRC 尾(CR/LF) 大小 1字节 2字节 2字节 n字节 2字节 2字节 2) RTU模式 (1) 使用十六进制数据通讯。 (2) 没有头和尾的区分。从地址开始,到带有CRC的帧结束。 (3) 在2个 帧之间至少有 3.5字符时间。 (4) 当在字符之间时间过去1.5倍的字符时间时,忽略当前帧。 (5) 使用16位CRC检查错误。 (6) 帧结构 (十六进制数据)。 项目 地址 功能代码 数据 CRC 大小 1字节 1字节 n字节 2字节 释注释注 1) 组成一个字母的大小是1个字符。因此一个字符是8位,称为一个字节。 2) 1个字符时间是指发送一个字符所需要的时间。 例) 1个字符时间的计算结果是1200 bps。 1200 bps是指1秒钟可以发送1200位。发送一个字节的时间是1 秒/1200 位= 0.83 毫秒。因此一个字符时间是0.83毫秒 * 8 位 = 6.64毫秒。 3) 584, 984 A/B/X 使用在过程中没有LRC的大于1秒的间隔,执行帧区分。 3) 地址区域 (1) 设定范围是从1到247,但是MK120S支持从1到31。 (2) 地址0被用做传送地址。传送地址是所有从站设备接收和自身地址响应的地址,MK120S不支持此项功能。 4) 功能代码区域 (1) MK120S仅支持在Modicon产品功能代码中的01, 02, 03, 04, 05, 06, 15, 和16。 (2) 如果响应格式是确认+(ACK),它使用相同的功能代码。 (3) 如果响应格式是确认-(NCK),它返回同时设置功能代码的第8位为1。 例) 如果功能代码是03, (这里我们只写了功能代码的一部分,因为仅有功能代码是不同的。) [请求] 0000 0011 (H03) [确认+] 0000 0011 (H03) [确认-] 1000 0011 (H83) 它返回且把请求帧的第8位设置成1。 5) 数据区域 (1) 发送数据类型为:ASCII数据(ASCII模式)或者十六进制(RTU模式)。 (2) 数据根据每个功能代码改变。 (3) 响应帧的数据区域是响应数据或者是错误代码。 6) LRC 检测/CRC 检测区域 (1) LRC (LRC (纵向冗余检测):工作方式是ASCII模式。它是除了头和尾之外转换成ASCII的所有帧和的补码。 (2) CRC (循环冗余检测):工作方式是RTU模式。 使用2个字节的CRC 检测规则。 1) 所有的数值数据可以是十六进制,十进制和二进制类型。如果我们把十进制7 和10 转换成各种类型,结果如下: 十六进制 : H07, H0A or 16#07, 16#0A 十进制 : 7, 10 二进制 : 2#0111, 2#1010 备注 7) 功能代码类型和内存映射 代码 功能代码名称 Modicon PLC 数据地址 注释 01 读取输出触点状态 0XXXX(位输出) 读位 02 读取输入状态 1XXXX(位输入) 读位 03 读取输出寄存器 4XXXX(字输出) 读字 04 读取输入寄存器 3XXXX(字输入) 读字 05 强制单个触点输出 0XXXX(位输出) 写位 06 设置单个寄存器 4XXXX(字输出) 写字 15 强制多个触点输出 0XXXX(位输出) 写位 16 设置多个寄存器 4XXXX(字输出) 写字 · MASTER-K120S映射 位区域 字区域 地址 数据类型 地址 数据类型 h0000 P区域 h0000 P区域 h1000 M区域 h1000 M区域 h2000 L区域 h2000 L区域 h3000 K区域 h3000 K区域 h4000 F区域 h4000 F区域 h5000 T区域 h5000 T区域(当前值区域) h6000 C区域 h6000 C区域(当前值 区域) h7000 S区域 h8000 D区域 8) Modbus 地址规则 MK120S基本单元从的地址是从0开始,Modicon产品数据的地址是从1开始。因此MK120S的地址n与Modicon产品地址n+1相对应。这就意味着Modicon产品的输出触点1 (0001)和以通讯地址0开始一样。Modicon产品的输入触点1 (0001)以MK120S的通讯地址0做为开始。 9) 使用数据的大小 作为数据大小,MK80S基本单元支持128字节(ASCII模式)和256字节(RTU模式)。Modicon产品的数据最大大小对每个产品是不同的。请参阅“Modicon Modbus协议参考指南”。 10) 接线图 1 2 3 4 5 6 7 8 9 针类型 MASTER-K120S 基本单元 接线号和方向 通讯 (9针) 针号 针号 信号 1 1 CD 2 2 RXD 3 3 TXD 4 4 DTR 5 5 SG 6 6 DSR 7 7 RTS 8 8 CTS 9 9 · 当通道2使用 RS-485联接。 8.3.3参数设定 1) 设定通讯参数 (1) 在KGLWIN中打开一个新的工程。 · K120S应该在PLC类型中选择。 · 为每个主和从设备打开一个新的工程文件名。 (2) 在KGLWIN 中选择一个通讯参数,双击打开以下的窗体。 如果通讯模式是ASCII模式,一定设置成7位。 (3) 设定的内容如下: 项目 Setting contents 站号 从0到31 (不要指定0号作为主站,否则会出现错误运行。) 波特率 1200, 2400, 4800, 9600, 19200, 38400, 或 57600 bps. 数据位 设定7 或 8. ASCII 模式:设定7位。 RTU 模式:设定8 位 奇偶位 设定为无, 奇,偶中的一个。 停止位 设定1或2 位 当奇偶位设定时, 设定1位。 当奇偶位没有设定时, 设定2位 通讯通道 · RS232C空调制解调器或RS422/485:它是一个使用MK120S基本单元内置通讯和Cnet I/F 模块(G7L-CUEC)之间通讯的通讯通道。 · RS232C 调制解调器 (专用线):使用带有Cnet I/F 模块(G7L-CUEB)的专用调制解调器进行通讯的通道。 · RS232C 拨号调制解调器:通过电话线把拨号调制解调器和Cnet I/F模块(G7L-CUEB)相连的通讯。 · 注脚) 使用支持RS232C 的Cnet I/F模块(G7L-CUEB), 完成RS232C专用或者拨号调制解调器通讯。但不能使用支持RS422/485Cnet I/F 模块(G7L-CUEC)。 主模式的 暂停时间 · 当主MK120S基本单元发送一个请求帧开始, 等待响应帧的时间。 · 默认值是 500ms。 · 必须考虑主PLC发送/接收的最大周期时间。 · 如果比最大的发送/接收周期时间短, 则会发生错误。 Modbus 主/从 如果设定为主, 它在通讯系统中是主要部件,如果被设定成从站,它仅能接收从主站来的请求帧。 传送模式 选择ASCII模式或者RTU 模式 8.3.4指令和举例 1) MODBUS 通讯说明(MODCOM) MODBUS 通讯 MODCOM 指令 有效设备 步数 标志 M P K L F T C S D #D 整数 错误 (F110) 零 (F111) 进位 (F112) Ch ○ 7 ○ S1 ○ ○ ○ ○ ○ ○ ○ ○ ○ S2 ○ ○ ○ ○ ○ ○ ○ ○ S3 ○ ○ ○ ○ ○ ○ ○ ○ Designation Flag 错误 (F110) 当设定区域的数据超出设定范围并且此指令不执行,此错误标志位为1。 Ch 指定通讯通道 S1 设置通讯代码和站号 S2 保存通讯数据 S3 显示通讯状态 ■ MODCOM Ch S1 S2 S3 (1) 编程举例 ·指定主站号,功能代码,地址.,读取的号。 ·当输入条件(M0020)满足,使用MODBUS通讯。 ·接收数据保存在D1000,M100保存通讯状态。 · 当作为从站运行时, MASTER-K120S 的应答不用控制指令来控制。当做为主站运行时,在当输入条件的上升沿满足时, MASTER-K120S 利用MODBUS通讯协议和控制指令中的S1发送数据, · S3 格式如下 位15 位8 bit 1 bit 0 错误代码 NDR bit 错误位 · NDR : 当通讯正常结束时,这个位在一次扫描期间变成on。 · 错误位:当通讯错误出现时,这个位在一次扫描期间变成on。这是,错误代码保存在位 8 ~ 位15。 · 错误代码如下 代码 错误类型 含义 01 不合规定的功能 输入功能代码错误 02 不合规定的地址 在从站得读写区域超出设定范围 03 不合规定的数据值 不能从从站读取数据和向从站写入数据 04 从设备失败 从站处于错误状态 05 确认 当请求命令的处理占用太多的时间时, 这是从站向主站发送的阻止主站时间太长错误的响应代码。主站标记一个错误代码,同时等待一个没有任何请求的特定时间段。 06 从设备繁忙 当请求命令处理时间过长时,发生错误。此时主站将重新请求一次。 07 时间超时 当通讯时, 通讯参数的时间极限超出错误。 08 数值错误 数据时0或者大于256 09 参数错误 设定参数(模式,主/从)错误 10 站错误 本身的站号和由指令的S1设定的站号相同时,发生错误。 备注 在MASTER-K120S 系列中, ‘MODBUS’ 指令 与MK80S 系列一样。 但是, 它只适合于通讯通道 0。 2) 举例程序1 假定MASTER-K120S基本单元是主站,读取17号站的触点状态,Modicon产品。 主站读取17号从站触点的00020 ~ 00056的状态。假定从站的触点如下,同时读取到的数据保存在D1000。 输出 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 状态 X X X 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1 1 十六进制 1 B 0 E B 输出 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 状态 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 1 十六进制 2 6 B C D · 绕组57, 58, 59的状态是多余的。 · 数据从字节为单元的低位开始发送。如果位不足的话, 其余位补0。发送以上数据的例子如下。 ① ④ ③ ② 例1) CD 6B B2 0E 1B ① 指定了从站和功能代码 站号: h11(17),功能代码:h01 ② 地址设定 MODBUS协议中地址‘0’意味地址‘1’。如果用户想要指定地址‘20’,可改写成地址‘19’。 ③ 读取数目设定 读取的数目应该是从20到56,共37个。 ④ MODBUS通讯指令 -数据从字节为单元的低位开始发送。如果位不足的话, 其余位补0。发送以上数据的例子如下。 -数据传送是从低字节开始的。字节的剩余部分补0。 ⑤ 保存在D1000,D1001,D1002 设备 保存数据 D1000 h CD 6B D1001 h B2 0E D1002 h 00 1B 3) 举例程序2 假定MASTER-K120S基本单元是主站,读取17号站的触点状态,Modicon产品。 主站读取17号从站的输入接点10197 ~ 10218的状态。 从站的输入接点假定如下,读取的数据保存在M015。 输入 10220 10219 10218 10217 10216 10215 10214 10213 10212 10211 10210 10209 状态 X X 1 1 0 1 0 1 1 1 0 1 十六 进制 3 5 D 输入 10208 10207 10206 10205 10204 10203 10202 10201 10200 10199 10198 10197 状态 1 0 1 1 1 0 1 0 1 1 0 0 十六 进制 B A C · 输入接点10219,10220的状态是多余的。 · 数据从字节为单元的低位开始发送。如果位不足的话, 其余位补0。发送以上数据的例子如下。 ② ① 例2) AC DB 35 ③ ④ ① : 指定从站和功能代码 (站号 : h11(17) , 功能代码 : h02 ) ② : 地址设定 MODBUS协议中地址‘0’意味地址‘1’。如用户想指定地址‘10197’,改写地址‘10196’。 ③ : 读取数目设定(读取的数目应该是从10197到10220,共22个)。 ④ : MODBUS通讯指令 数据从字节为单元的低位开始发送。如果位不足的话, 其余位补0。 ⑤ 保存的数据在 D200,D201 设备 保存的数据 D200 h AC DB D201 h 00 35 4) 举例程序3 主站把D1000 ~ D1003的数据写到从站的以地址40000 开始的地址,站号为10。 ④ ③ ② ① ① : 指定从站和功能代码 (站号 : h0A(10) , 功能代码 : h10 ) ② : 地址设定 代码 ‘16’的地址为0, 在 MODBUS 通讯协议中实际地址为 ‘40000’ 。 ③ : 读取数目设定(读取的数目4) ④ : MODBUS通讯指令 5) 举例程序4 主站把从站的以地址40000 开始的地址的数据写到D1000 ~ D1003中去。 ④ ③ ② ① ① : 指定从站和功能代码 (站号: h0A(10) , 功能代码: h06 ) ② : 地址设定 代码 ‘16’的地址为0, 在 MODBUS 通讯协议中实际地址为 ‘40000’ 。 ③ : 读取数目设定 (读取的数目1) ④ : MODBUS通讯指令 8-66
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服