logo资料库

GE7i系列MODBUS通讯.pdf

第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
资料共38页,剩余部分请下载后查看
Modbus RTU 主站 通讯
概述
支持产品
操作模式
COMMREQ
时间限制
串行连接
标准
多支路 连接
四线连接 (4-Wire)
无中继器情况下的四线连接
接地 和 接地回路
使用主站 RS-232 端口 的四线连接
双线 (2-Wire)
典型双线连接
点对点
COMMREQ 功能块 格式
COMMREQ 功能块 参数
COMMREQ 功能块 输出
COMMREQ 命令/数据块
Modbus RTU 主站 状态字格式
Modbus RTU 主站 COMMREQ队列的长度限制
Local 数据
可供Modbus RTU 主站 COMMREQ使用的本地有效 内存类型 和范围
Modbus RTU 主站 诊断状态字
诊断状态字的格式
Modbus RTU 主站 命令
Initialize 初始化RTU 主站 端口 : 65520 (FFF0)
命令 块 格式
命令字的说明
错误代码
Modbus RTU主站和从站的格式差异:
Clear RTU 主站 诊断状态字: 08000 (1F40)
命令块格式
命令字说明
错误代码
读RTU 主站 诊断状态字: 08001 (1F41)
命令 块 格式
命令字说明
错误代码
发送 RTU 读/强制/预置 查询: 08002 (1F42)
命令 块 格式
命令字说明
发送 RTU 诊断 查询: 08003 (1F43)
命令 块 格式
说明 of the 命令 字
发送 32-位 RTU 读/强制/预置 查询: 08004 (1F44)
命令 块 格式
命令字说明
字节/字顺序
RTU 主站 命令错误代码
Example Application应用示例
主块示例
_MAIN 程序块
RTUINIT 示例
RTUINIT 程序 块, 部分 1
RTUINIT 程序块, Part 2
RTUSTAT示例
RTUSTAT 程序块, Part 1
RTUSTAT 程序块, Part 2
RTU_SLV Example
RTU_SLV 程序块, Part 1
RTU_SLV 程序块, Part 2
RTU_SLV 程序块, 部分 3
RTU_TMR举例
Modbus RTU 主站 通讯 文档说明了Modbus® RTU 主站的操作。 这些信息可以作为串行通讯手册(GFK- 0582)的补充。 本文档包含以下内容: 概述 支持产品 操作的模式 COMMREQ 命令 时间限制条件 串行 连接 标准 多支路 连接 驱动器和接收器 电缆 接地 连接器接线 四线 双线 点对点 COMMREQ 功能块 格式 COMMREQ 功能块 参数 COMMREQ 功能块 输出 COMMREQ 命令 数据块 Modbus RTU 主站 状态字格式 Modbus RTU 主站 COMMREQ 的队列限制 本地数据 Modbus RTU 主站 诊断状态字 Modbus RTU 主站 命令 Initialize RTU 主站 端口 : 65520 (FFF0) Clear RTU 主站 诊断状态字: 08000 (1F40) 读 RTU 主站 诊断状态字: 08001 (1F41) 发送 RTU Read/强制/预置 查询: 08002 (1F42) 发送 RTU 诊断 查询: 08003 (1F43) 错误代码 应用范例 ® Modbus 是Schneider Electric公司的商标. GFK-2220B 1
概述 Modbus 串行通讯协议是一项开放标准,用于 PLC 之间以及相关设备间的数据通讯 串行通讯,串行通讯协议是一种开放的 数据通讯标准 。 Modbus 串行通讯标准提供 两种传输模式,一种是使用专用的可打印字符 (Modbus ASCII), 另一种是使用二进 制数 (Modbus RTU)。 这篇文档说明了 GE Fanuc PLC CPU 产品的 Modbus RTU 主 站通讯。 支持产品 90™-30 系列中的IC693CPU363 以及 VersaMax® 的CPU 模块 IC200CPU001, IC200CPU002, IC200CPU005 和IC200CPUE05 目前均支持Modbus RTU 主站 通讯。 操作模式 Modbus RTU 主站设备(客户端)通过串行网络向一个或多个从站设备 (服务器 )发送 查询 消息。 查询可能包含数据及对数据、 状态及的命令请求。 网上的从站有一个唯一的设备地址。 任何查询根此确定特定从站设备或特定的广 播地址。 使用广播地址的查询被称作广播 查询。 需要回应的查询不可以用广播地 址。 接到一个完整的非广播查询后,从站必须向主站发送一个回应 消息。 当主站接收 一个完整的回应时,查询/回应的一个周期就完成了 。 从站 不会响应 广播 查询。 当发送出 广播 查询之后, 在完成这个周期并发下一个 查询之前,主站必须等待一段特定的时间 。 某些广播查询会包含 命令,要求从站 执行特定的动作。 COMMREQ PLC CPU 中运行的应用程序控制计时和所有查询的内容,这些内容通过发送 COMMREQ 消息 。 COMMREQ 必须访问连在 Modbus RTU 串行网络的 CPU 串行 端口 。 COMMREQ 数据指定了查询的内容。 当 查询/回应 周期完成时, COMMREQ 状态值会表明这个周期是成功了还是失败了。 欲了解细节,请参见本 文档的 COMMREQ 功能块 格式 及以后的几个小节。 时间限制 串行通讯上运行 Modbus 规范及实现指南 V1.01包含若干重要的时间限制要求。 串行连接 ™ Series 90 和 VersaMax 都是 GE Fanuc Automation公司的商标. 1 最新的Modbus RTU 规范在文档 Modbus Application应用协议规范 V1.1 与串行线路上的 Modbus 规范及实现指南 V1.0 中提供,后者两个规范可以在 http://www.modbus.org/找到. 按照Modbus 标 准库链接查找它们. Modbus RTU Master Communications - December 2003 GFK-2220B 2
一个 Modbus RTU 网络具有一台主站设备和一台或多台(最多 247 台) 从站设备。 串行 网络 互连所有。 如果只有一台从站,则使用点对点 连接 。 如果有 两台或更多 台从站就需要多支路 连接。 标准 实际上,所有的 PLC 串行 通讯 端口 (包括了GE Fanuc PLC CPU上的所有 串行端口) 都会支持异步串行通讯三个物理层标准中的一个 (有时可能是两个或三个) 。 三个 标准的最新修订版可从Telecommunications Industries Association 购得, http://www.tiaonline.org/standards/。 EIA/TIA-232-F: 采用 串行二进制数据交换方式的数据 终端设备和 数据 回路-终端设备 之间的接口 (ANSI/TIA/EIA-232-F-1997) 这个 标准 通常称作 “RS-232” 或 “RS-232C” 因为更早的修订版命名为“RS-232-C”。 RS-232 端口使用非平衡回路传送和接收数据并且控制信号 。 所以, 所有数据和控 制回路需要一根 信号地 (Signal Ground)电线以构成 回路 。 RS-232 端口 适合长度在 25 米左右的点对点连接, 而不适合于更长的线路或多支路 连接。 规范推荐把 速率(有效)限制在 每秒 19,200 位 (bps)以内或更低,但在使用短 的电缆 (大约 2 米)时,速率常可达 115,200 bps。 EIA/TIA-422-B: 平衡电压型数字接口回路电气特性 (ANSI/TIA/EIA-422-B-94, 2000 年 修订 ) 这个标准经常称作“RS-422” 因为初期的修订版使用它作为标题。 它规定了任何回 路中的双绞 线和平衡线路驱动器以及 接收器 。 与 RS-232 相比, RS-442 的传送速 率比更高而且传送距离更远 。 双绞回路电缆推荐使用阻抗标称为 100-欧姆的, 并且 每个回路接收端推荐使用 100-欧姆的终端电阻 。 有些 RS-422 端口 支持多支路 (多点) 操作。 然而,标准并不保证实现这一能力标 准。 试图在多支路网络中使用 an RS-422 设备时需要注意。 EIA/TIA-485-A: 平衡数字多点系统中所用的发送器和接收器的电气特性 (ANSI/TIA/EIA-485-A-98) 这个标准的原始版本 被冠以 “RS-485”;它经常以这个名字提及。 这个标准已经有效 地 替换了 RS-422 因为它确保增加了多支路 (多点) 能力。 数据回路里的线路驱动器 在不传送数据时 需要切换到高阻抗状态(自身的“三态” ), 而且 控制和状态 回路 很少 通过电缆以 多支路方式 连接 。 因此, 多路 数据线路驱动器能并联到每个 数据 回 路。 端口固件保证在一个时刻只有一个端口尝试在每个回路传送。 RS-485 使用 120-欧姆电缆和终端电阻。 因为传送器不总是连接到线路上, 所以每 个回路的两端必须使用终端电阻。 值得注意的是某些 RS-485 设备可能需要 pull-up 和 pull-down 电阻来偏振 (bias) 接收 数据回路到 mark 状态,当所有的传送器处于高阻抗状态。 GE Fanuc RS-485 端口 不需要 pull-up 和 pull-down 电阻。 GFK-2220B 3
多支路 连接 四线连接 (4-Wire) 在下面的网络配置中 , RTU 主站 设备发送 数据 (SD) 的成对信号线 连到所有从站 接收 数据 (RD) 的成对信号线 , 并且 所有从站 SD 的成对信号线 连到 主站 RD 的成 对信号线 。 从站设备必须全部使用兼容 RS-485 的串行 端口 以便在不传送数据时 它们的传送器全部禁止工作。 尽管某些 RS-442 设备在不传送数据时 禁止输出 , 但 是 RS-442 规范并不强制要求这样 t。 主站 可以使用 RS-422 或 RS-485 端口中的任 意一种,因为它的传送器是那对信号线上唯一的一个传送器。 所有设备 的串行端 口都应当设置成 :流控制 无。 这两对信号线必须在两端接上合适的电阻。 每对线的一端必须是由内置于末端口 的终端电阻 (RT 针)截止。 另一端由连接器壳内的 120 欧姆, ¼ 瓦 电阻截止 。 如果末端 设备缺少了内置的终端电阻, 再用一个 120-欧姆, ¼ 瓦 电阻接在连接器壳 内部一对 RD 信号线上。 无中继器情况下的四线连接 注意: 1. 连接电缆的连接器使用 终端电阻 (RT) 针连接. 其他连接器不能连接 RT 2. 在 SD 信号线两端要用终端电阻 在连接器外壳内接有一个 120 欧姆, ¼ 瓦 的电阻. 3. 在两个端点设备之间的连接器。如图所示 其他的连接器最多 可以使用 31 个. 4. 所有连接器都接到 GE Fanuc CPU 模块的 15-针 RS-485 端口上 . Modbus RTU 主站设备必须 接到左侧的连接器. 其他设备都是从站 CTS 和 RTS 之间的跳线是可选的。 . 非 GE Fanuc 15-针 支持 Modbus RTU 的 RS-485 端口需要这些跳线 SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT SD(A) SD(B) RD(A’) RD(B’) RTS(B) CTS(A’) 120 MODBUS RTU 主站 (终端连接器) 1 2 3 4 5 6 7 8 9 12 13 10 11 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 从站连接器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) 终端连接器 5. 。6. 主站和从站设备的接地回路有通过 SHLD 连接 和 frame 接地。 接地电流过大会导致数据错误。 参见关于这个问题相应的讨论。 7. 改变连接头的接线方式以适应第三方 RTU 从站设备。 120 任意高质量屏蔽两对双绞电缆都适于 短 电缆情况 (最长到 15 米左右)。 需要更长 的情况,需要使用标称阻抗是 120 欧姆的 电缆。 请使用专为 RS-485 传送设计的 Belden2 9842 或性能相当的电缆 。 2 Belden 是 Belden Technologies Inc公司的商标. Modbus RTU Master Communications - December 2003 GFK-2220B 4
接地 和 接地回路 要让电缆的外壳正确接地,需要仔细规划网络和电力线。 为避免间歇的电子噪音 造成数据错误, 把电缆 外壳接到网络上的每个设备的 SHLD (shield) 针上 显得尤为 重要。 不幸的是,这会形成至少 N-1 型个接地回路, 这里的 N 是网络上设备数量 。 每个接地回路由两个设备间的电缆段的屏蔽层和与接地路径组成。 回路从一个设 备的 柜体接地点开始,经过它的接地端到公共地,然后通过其他设备的接地端到它柜 体的接地点。 接地电流通过仔细地接地必须限制 在一个可承受的范围内。 否则, 公共-模式 由接 地回路电流引入到数据信号线对上的噪音,会 产生 数据错误。 在设计接地接线方案时,需考虑以下要求: 1. 系统中必须有一个公共地,要求与地之间的阻抗极小。 2. 每个设备柜体与公共地之间连接线的阻抗极小。 3. 在设计柜体接地点和公共地之间的连接时必须考虑使用推荐的柜体地线的粗 细、长度及正确的接线 。 4. 数据电缆与地线走线时必须与其他可能带偶合噪音的数据电缆或者接地电缆在 物理上隔离开。 5. 电缆屏蔽层接到设备的 SHLD 针可以减少数据错误。如果不接电缆屏蔽层, 网 络有接到回路隐患。 早先的 GE Fanuc 手册推荐在一端接电缆屏蔽层以消除接 地回路电流。 现在不推荐这样做。 如果屏蔽层仅在一端接地, 网络很容易收到 电磁干扰(EMI) 的增加而变得容易发生数据错误。 这些错误不是立即出现,而 是实际安装之后诊断和排除中最常发现的原因。 如果接地回路产生的数据错误无法避免 (例如,由于电缆长度太长,无法将所有设 备都接到一个共地点), 请在网络中增加一台或多台光隔离RS-485 中继器 。 网络分 段以便每个网段都有一个共同的地。 使用诸如BLACK BOX® 模式l IC158A 的中继 器隔离网段 http://www.blackbox.com/。 详细内容,参见 中继器生产商的产品数据 表 。 前页的图示显示了一个典型的无中继器的四线网络。 ® BLACK BOX 是 Black Box Corporation公司的注册商标. GFK-2220B 5
6 使用主站 RS-232 端口 的四线连接 主站也可使用 RS-232 端口 ,该端口再外接一个 RS-232/RS-442 或 RS-232/RS-485 转换器。 例如, 使用 GE Fanuc IC690ACC901 电缆自带的微型转换器 和 附件 。 设 备由 GE Fanuc PLC 上的 15 针接头的电源针供电。 电源针和接地针按如下所示 接 到一台从站设备上 。 我们在这里重申, 两对信号线的两端必须接上失当的电阻。 微型转换器上的发送器 一直为使能并且充当连接到 SD 针的信号线的终端电阻 。 信号线的另一端由端口 内置的终端电阻 (RT pin) 截止。 另外一对信号线由 各端终端接头内置的 120-欧姆, ¼ 瓦 电阻截止 。 如果终端设备未能提供内置终端电阻, 必须再用一个 120-欧姆, ¼ 瓦 电阻接到接头外 壳内的 RD 信号线上 Notes: 1. 将 Modbus RTU 主站设备 SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT SD(A) SD(B) RD(A’) RD(B’) RTS(B) CTS(A’) 1 2 3 4 5 6 7 8 9 12 13 10 11 14 15 RS-232 MODBUS RTU 主站的 微型连接器的 15-针侧 通过它的 RS-232 端口与左侧微型- 连接器连接起来. 其他所有设备为 RS-485 从站. 2. 使用微型连接器内的 120 欧姆 ¼ 瓦的电阻截止 RD 信号线, . 微型-连接器在针 9 和针 10 之间 有一个内置的跳线 3. 在最远端 SD 信号线使用 微型-连接器内置的 120 欧姆¼ 瓦的终端 . 电阻截止 4. 仅在最远端的从站连接 终端电阻(RT) 其他所有的 RT 都不接. 5. 在 CTS 和 RTS 之间的跳线是可选的 支持 Modbus RTU 的非 GE Fanuc 15-针 RS-485 端口需要它们 其他的连接器最多可以有 8 个 7. 在 SHLD 连接和主站从站柜体 接地连接之间存在接地回路 可参考关于这个问题的其他文字 6. 图中给出了两个终端设备的连接器 120 120 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 从站连接器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) 终端连接器 RS-442 和 RS-485 主站所能驱动的从站端口的数目必须小于两个规范中的理论值。 据经验, 带 RS-422 端口的主站可用驱动 6 至 7 台从站, 而带 RS-485 端口的主站能驱 动大约 15 到 18 台带 RS-485 端口的从站。 确切的数字回根据电缆长度和 电缆上从 站所处位置的不同而不同。 对于更多的从站, 需要在网络上加入一个台或多台 RS- 485 中继器(例如, BLACK BOX Models IC155A 和 IC158A)。 了解细节请查阅中继 器厂商的产品数据表。 Modbus RTU Master Communications - December 2003 GFK-2220B
双线 (2-Wire) 由于在一个时刻只能有一台设备传送数据, 支持 Modbus RTU 的网络 仅需一对数据 线。 双线 接法有节省电缆 成本的优点。 双线网络上的全部设备都由主站配置。 在双线网络上, 所有设备的 发送 数据 (SD) 和 接收 数据 (RD) 信号线并联到一对信 号线上。 线的两端使用 120-欧姆 电阻截止。 为了能让传送器仅在传送发送时才工 作,所有设备必须兼容 RS-485。 在有数据传送时所有设备的 接收器都必须禁止工 作。 注意 GE Fanuc IC690ACC901 微型转换器不能满足这些要求。 在信号线的两端,使用末端端口内置的终端电阻(RT pin) 截止 。 如果末端设备没 有内置终端电阻,则必须在接头壳内接上一个 120-欧姆, ¼ 瓦 电阻。 如果电缆比较短(最长 15 米),可以使用 高质量的屏蔽双绞电缆 。如果电缆距离很 长,请用标称阻抗是 120 欧姆的电缆。 Use a 请使用 RS-485 专用电缆,如 Belden 3105A 或同类产品。 所有设备的串行 端口必须能够配置成无流控制方式。 典型双线连接 Notes: 1. 电缆的两端使用终端电阻 (RT)针 SHLD N/C N/C N/C +5VDC RTS(A) SG CTS(B’) RT RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 终端连接器 连接起来 其他所有的 RT 都不接 2. 图中给出了两端设备之间的连接器 . 其他的连接器最多可有 31 个 Modbus RTU 主站设备可以 3. 连接 GE Fanuc CPU 模块的 15-针 RS-485 4. CTS 和 RTS 之间的跳线是可选的 端口和所有连接器. 接到任意一个连接器.其他所有 设备都是从站. 支持 Modbus RTU 的非 GE Fanuc 15-针 RS-485 端口需要这个跳线 5. 在 SHLD 连接和主站从站柜体 连接之间存在接地回路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 N/C SHLD N/C N/C +5VDC SG RTS(A) RT CTS(B’) RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) N/C SHLD N/C N/C +5VDC SG RTS(A) RT CTS(B’) RD(A’) RD(B’) SD(A) SD(B) RTS(B) CTS(A’) 终端连接器 参见关于这个问题的相关文档 6. 根据需要变更和第三方 RTU 从站设备 的接线方式 . RS-485 中继器也可用于双线网络。 点对点 当网络中仅有一个从站设备, 主站和从站可以使用点对点 连接。 电缆连接 可以是 RS-232 或 RS-422/485。 设备上的串行端口必须都能配置成无流控制方式 。 GFK-2220B 7
COMMREQ 功能块 格式 Modbus RTU 主站 通讯使用 标准 COMMREQ 功能块来发起 Modbus RTU 查询 并 (可选地) 根据端口配置。 PLC CPU 上的 Modbus RTU 端口 由机架号、槽号和任务 号指定。 ENABLE COMM REQ IN FT SYSID TASK COMMREQ 功能块 参数 IN SYSID COMMREQ 命令/数据块的参数地址; 例如, %R00101。 在下页定义的命令/数 据块中 Word 1 的位置。 一个常量,用来指定 CPU 机架/槽地址 IC693CPU363: 1 (机架 0, 槽 1) IC200CPUxxx: 0 (机架 0, 槽 0) TASK CPU 给定 的用于 Modbus RTU 端口的内部任务号 : 19 = 为 IC693CPU363 和 IC200CPUxxx 上的端口 1 20 = 为 IC693CPU363 and IC200CPUxxx 的端口 2 COMMREQ 功能块 输出 故障;无论发生下列哪种情况都会接通: IN 参数地址或数据块的任何 部分无效,或者 SYSID 和 TASK 参数给了一个 COMMREQs 不支持的数据。 只有 VersaMax 的 CPU: COMMREQ 状态字位置在数据块无效中给定 。 接通状态表明 COMMREQ 没有成功完成。 如果 COMMREQ 是一个 Modbus RTU 查询消息, 它没有从端口发送出去 。 FT Modbus RTU Master Communications - December 2003 GFK-2220B 8
分享到:
收藏