CP342-5 的使用与常见问题 CP342-5 APPLICATION AND FAQ Getting-started Edition (2008 年 2 月 )
摘要本文档主要说明 :CP342-5 的使用 配置和常见问答,CP342-5 可以进行 PROFIBUS 或 MPI 协议的通讯, 可以使用此模块对 S7-300 系列的 CPU 进行通讯口的扩展 关键词 DP 主站,DP 从站,PROFIBUS-DP Key Words DP MASTER,DP SLAVE,PROFIBUS-DP A&D Service & Support Page 2-29
目 录 CP342-5 的使用与常见问题... 1 1.CP342-5 使用说明... 4 1.1 协议... 4 1.2 速率... 4 1.3 属性... 4 1.4 交换数据量 :... 7 1.5 出错处理 :... 7 1.6 连接 HMI:... 7 1.7 出错检查 :... 8 1.8 连接资源 :... 8 1.9 启动处理 :... 8 1.10 附加说明 :... 8 2. 使用 CP342-5 的步骤... 9 2.1: CP342-5 模板分别组态成 PROFIBUS 主站或从站的过程 :... 9 2.2: CP342-5 作为主站, 第三方产品作为 PROFIBUS 从站的过程 :... 12 2.3: 关于 CP342-5 上的 LED 灯显示所表示的含义说明 :... 13 3: 关于 CP342-5 模块的一些常见问题解答 :... 14 3.1: 将 CP342-5 配置成 DP Master 时, 需要注意什么?... 14 3.2: 如何将 STEP7 不同项目 (Project) 中的 CP342-5 模块配置成 PROFIBUS Master 和 Slave 通讯?... 24 3.3: 通过 CP342-5, 如何实现对 PROFIBUS 网络和站点的诊断功能?... 26 3.4: 为什么当 CP342-5 模块作为 PROFIBUS DP 主站, 而 ET200( 如 IM151-1 或 IM153-2) 作为从站时,CP342-5 上的 SF 等不停闪烁?... 27 A&D Service & Support Page 3-29
1.CP342-5 使用说明 CP342-5 是西门子 S7-300 型 PLC 使用的 PROFIBUS 通讯处理器, 它可以作为 S7 编程接口 连 接 Siemens 人机界面的接口 PROFIBUS 主站 PROFIBUS 从站, 订货信息如下 : 订货号 6GK7342-5DA02-0XE0 注释 RS485 接口 07/01/2001 发行最高速率 12M 最新版本 V5.7.3 6GK7342-5DF00-0XE0 PCF 塑料光纤接口最高速率 12M 最新版本 V5.6.0 6AG1342-5DA02-2XE0 SIPLUS 模块基于 6GK7342-5DA02-0XE0 安装温度 -25 ~60/40 6AG1342-5DA02-4XE0 SIPLUS 模块基于 6GK7342-5DA02-0XE0 安装温度 0 ~60/40 关于 CP342-5 模块的下载信息 : CP PROFIBUS 通讯模板手册下载链路 : http://support.automation.siemens.com/cn/view/zh/1158693 CP342-5 的 GSD 文件下载链路 : http://support.automation.siemens.com/cn/view/zh/113652 1.1 协议 :CP342-5 支持 PROFIBUS DP 协议, 不能用于 PROFIBUS FMS 协议通讯, 同样 CP343-5 只支持 PROFIBUS FMS 协议, 不能用于 PROFIBUS DP 协议通讯, 而 CP342-5 和 CP343-5 都 支持 PROFIBUS FDL 的链接方式 ; 1.2 速率 :CP342-5 FO 不支持 3MB,6MB 的通讯速率, 如果您购买的是 5.7 版本的 CP342-5, 而 STEP7 中没有 V5.7 版的 CP342-5 时, 则可以插入一个 V5.0 版的 CP342-5 模块, 功能不受影响 CP342-5 在 S7-300 系统中的安装位置与普通的 S7-300 I/O 模块一样, 可以插在 4 至 11 这 8 个槽位中的任何一个 ; 1.3 属性 : 当您在 S7-300 站中插入一个 CP342-5 模块时, 可以用鼠标双击该模块, 打开 它的属性窗口, 下面我们向您介绍这些属性的含义 : A&D Service & Support Page 4-29
General 标签页 : CP342-5 可以进行 PROFIBUS 或 MPI 协议的通讯, 您可以点击 General 标签页中 PORFIBUS 的属性按钮, 创建一个新的 PROFIBUS 网络或选择连接到某一个已经存在的 PROFIBUS 网络上, 这样页面中的 Networked 状态就为 Yes 了, 并分配一个 PROFIBUS 站地址, 再进一步设置 PROFIBUS 网络的属性, 您可以选择通讯速率和采用 DP 协议或 Standard 协议方式,CP342-5 不支持 PROFIBUS FMS 协议 CP342-5 的 MPI 地址不能与 CPU 的 MPI 地址冲突, 也不能和 CP342-5 连接其他的 Siemens 的设备通讯口的 MPI 地址冲突 ; Addresses 标签页 : 在地址标签页中, 您可以设定 S7-300 的 CPU 访问 CP342-5 模块时所对应的硬件地址 使用 CP342-5 进行 PROFIBUS 通讯, 必须调用 FC1 和 FC2 功能块, 完成 CPU 与 CP342-5 之间的数据交换, 请记录这个地址值 (256), 它对应的是 FC1 和 FC2 的 LADDR 参数, 填写时应以 16 进制格式, 故而为 W#16#100, 下面我们会对此做详细说明 Operating Mode 标签页 : A&D Service & Support Page 5-29
您可以在该窗口内设置 CP342-5 的工作方式 : No DP 方式下 : 可以用 CP342-5 通讯口进行 S7 编程或进行 PROFIBUS 的 FDL 连接, 连接人机界面 ; DP Master 方式下 :CP342-5 除了作为网络中的 PROFIBUS 主站之外, 也可用于 S7 编程 FDL 连接和连接人机界面 DP delay time 参数一般不需设定, 除非您采用 FDL 连接时, 要与 DP 的 I O 点刷新时间相一致, 才根据 PROFIBUS 网络性能进行调整 ; DP Slave 方式下 :CP342-5 除了作为网络中的从站之外, 如果选择了 The module is an active node on the PROFIBUS subnet 选择框, 那么 CP 342-5 也可用于 S7 编程 FDL 连接和连接人机界面, 否则 CP342-5 只能作为从站使用 ; Option 标签页 : 第一个选择框 (Replace Module without PG) 意思是将 CP342-5 的组态信息保存在 CPU 中, 更换 CP342-5 时, 直接进行硬件替代, 不需要再通过 PC 将硬件组态重新下载 否则, 组态信息保存在 CP342-5 模板中, 更换 CP342-5 时, 要用 PC 机中的 STEP7 重新下载系统的硬件配置 ; A&D Service & Support Page 6-29
第二个选择框用于优化 CP342-5 连接操作面板时的资源分配, 使得 CP342-5 可以同时连接 16 个 Operation Panel, 否则系统连接面板个数受 CPU 的连接性能限制 ; Diagnostics 标签页 : 连接 PC 机和 PLC 控制系统, 点击 Run 按键可以在线读出 PLC 系统中的 CP342-5 模块的运行状 态, 和诊断缓冲区中的内容, 得到 CP342-5 的事件和报错信息 您可以打开 CP342-5 属性窗口, 点击 Help 按键, 就可以得到以上信息 ; 1.4 交换数据量 : 一套 S7-300 系统中最多可以同时使用 4 块 CP342-5 模块, 每块 CP342-5 能够支持 16 个 S7 Connection,16 个 S5-Compatible Connection 当 CP342-5 处在 No DP 模式下工作时, 最多同时支持 48 个通讯链接, 而处在 DP Slave 或 DP Master 模式下时, 最多同时支持 44 个通讯链接 CP342-5 作为 PROFIBUS DP 主站时, 最多链接 124 个从站, 和每个从站最多可以交换 244 个输入字节 (Input) 和 244 个输出字节 (Output), 与所有从站总共最多交换 2160 个输入字节和 2160 个输出字节 CP342-5 作为从站时, 与主站最多能够交换 240 个输入字节和 240 个输出字节 CP342-5 可以最多连接 16 个操作面板 (OP) 以及最多创建 16 个 S7 Connnection 1.5 出错处理 : 无论您采用 CP342-5 模块还是 CPU 集成的 DP 通讯口进行 PROFIBUS 通讯 时, 为了实现在从站断电 通讯失败或从站通讯口损坏等现象出现时, 主站能够不停机, 那么您需要在您的 STEP7 项目中插入相应组织块 插入这些组织块时, 不需要编程内容, 当从站断电 通讯失败等现象出现时, 主站只报总线故障, 但不停机 这样, 无论从站先上电, 还是主站先上电, 系统都能正常运行 : 在 S7-300 中加入 OB82 OB86 OB122; 在 S7-400 中加入 OB82~OB87 OB122; 1.6 连接 HMI: 如果您只是用 CP342-5 连接上位机软件或操作面板 (OP), 这时通讯采 用的是 S7 协议, 那么建议您选择 No DP 模式, 并且不需要调用 FC1(DP_SEND) 和 FC2(DP_RECV) 功能块, 它们只是在 PROFIBUS DP 通讯时才使用 ; A&D Service & Support Page 7-29
1.7 出错检查 : 如果您的系统上电后, 即使 CP342-5 开关已经拨至 Run, 但始终处于 STOP 状态, 那么您应当检查 STEP7 程序和组态是否正确 ( 删除程序, 只下载硬件组态 ) 检查 CP342-5 连接的 24V 电源线是否正常 M 端是否与 CPU 的 M 端短接 通讯电缆连接是否正确 ( 确认通讯电缆未内部短路 ),CP 的 firmware 是否正确 如果您确认可以排除以上原因, 那么可能您的 CP342-5 已经损坏, 请更换 ; 1.8 连接资源 : 当通过 CP342-5 模块连接 16 个操作面板和 16 个 S7 通讯链接时 ( 请选 中以上第 3 条中的 Multiplexing of the OP connections 选项 ), 整个 CP342-5 模块只占用 S7-300 CPU 一个通讯链接资源, 从而使 CPU 的通讯处理负担减少 但是, 通过 CP342-5 模块不能增加 PLC 系统连接 PC 机或 WinCC 的个数, 因为每个 PC 或 WinCC 都必须独自占用掉 S7-300 CPU 的一个通讯链接资源 ; 1.9 启动处理 : 如果您的 CP342-5 没有足够的自检时间, 用来装载系统数据 (system data), 系统可能无法启动 您可以在 CPU 的属性中修改 Runtime 属性, 如下 : 1.10 附加说明 : 使用通讯处理器 CP 342-5, 就不能使用系统功能 SFC14 DPRD_DAT 和 SFC15 DPWR_DAT A&D Service & Support Page 8-29
以上产品的订货号会因为产品软硬件的升级略有调整, 产品特性以产品订货样本中的描述为 准 2. 使用 CP342-5 的步骤 2.1: CP342-5 模板分别组态成 PROFIBUS 主站或从站的过程 : 组态 PROFIBUS 从站 : 1. 在 STEP7 中生成一个新的项目, 并插入一个 S7-300 站 2. 在硬件组态窗口中选择一个 S7300 的导轨以及相应的 CPU 3. 硬件组态窗口中, 在路径 "SIMATIC 300 > CP 300 > PROFIBUS > CP342-5" 选中于您订货号和版本号对应的 CP342-5, 插入到 S7300 站对应的槽位中, 注意如果您购买的是 Version5.7, 而组态中只能够找到 Version5.0, 您可以选用 Version5.0 替代 Version5.7. 4. 在插入 CP342-5 的过程中, 会弹出一个 PROFIBUS 属性窗口, 请点击 New 按钮, 创建一个 PROFIBUS 网络 PROFIBUS(1), 并设定 CP342-5 作为从站的站地址为 3 5. 双击 CP342-5, 打开 CP342-5 的属性窗口, 在 "Operating Mode" 标签页下选择 "DP Slave" 选项, 此时会弹出一个警示窗口, 告知您如果要用 CP342-5 实现 CPU 和 PROFIBUS 从站的通讯, 必须调用 FC1(DP_SEND) 和 FC2(DP_RECV) 功能块, 实现 CPU 与 CP342-5 之间的数据交换, 而 CP342-5 与 PROFIBUS 的数据交换是自动完成的, 不用编程 FC3 和 FC4 用于诊断和通讯功能的控制, 一般不用调用 6. 点击 OK, 存盘编译. 组态 PROFIBUS 主站 : 1. 在 STEP7 的 SIMATIC Manager 窗口中在插入一个 S7300 站 ; 2. 重复以上组态从站步骤的 2-4 步, 注意插入 CP342-5 时, 不能点击 new 按钮, 而直接用鼠标选中以上创建的 PROFIBUS(1) 网络, 点击 OK; 3. 在 "Operating Mode" 标签页中选择 "DP Master" 选项 ; 连接 CP342-5 主站和 CP342-5 从站 : 1. 在硬件组态窗口下 : 从路径 "PROFIBUS-DP > Configured Stations > S7-300 CP 342-5" 中, 用鼠标选中与您从站对应订货号和版本号的产品, 拖到 PROFIBUS(1):DP Master system 的网络线上 : A&D Service & Support Page 9-29
2. 这时弹出一个连接窗口, 您可以选择该项目下所列出的 PROFIBUS 从站, 点 击 Connect 按钮和 OK 键 : 3. 在 "PROFIBUS-DP > Configured Stations > S7-300 CP 342-5" 路径下点开 V5.x, 从 中选出您想通讯的字节数量, 多少个输入字节, 多少个输出字节, 我们这里选择自定 义, 即选择了两个 Universal module 用于输入 / 输出 : A&D Service & Support Page 10-29
4. 双击 Universal module, 打开它的属性窗口 设置一个 Universal module 的 I/O Type 为 Input, 另一个 Universal module 的属性为 Output, 默认 Consistent Over 属性为 Unit 代表数据按单元 ( 字节 字 ) 组装数据包, 而 Total Length 代表数据整体组装为一个数据包 然后再设定 PROFIBUS 主站访问 CP342-5 从站时, 使用的硬件地址, 和要交换的字节数 : 5. 存盘编译. CPU 与 CP342-5 之间的数据传输 : A&D Service & Support Page 11-29
除了完成以上的组态以外, 您还必须在程序中调用 FC1(DP_SEND) 和 FC2(DP_RECV) 实现主站 从站上 CPU 与 CP342-5 模块之间的数据交换, 而 CP342-5 模块之间的数据交换是自动进行的, 不需要编程 关于如何调用 FC1 和 FC2 您可以阅读下面的问题内容, 或直接打开例子程序进行阅读 2.2: CP342-5 作为主站, 第三方产品作为 PROFIBUS 从站的过程 : 这里我们采用 EM277 作为 PROFIBUS 从站,CP342-5 作 PROFIBUS 主站 : 1. 选择 STEP7 的 Option 菜单, 导入第三方产品 (PROFIBUS 从站 ) 的 GSD 配置文件 : 2. 选择相应路径和文件 : A&D Service & Support Page 12-29
3. 在 S7-300 系统中插入 CP342-5 模块, 并配置成主站, 再将 EM277 从站拖至 PROFIBUS 总线上, 并选择交换的数据字节长度 : 4. 完成组态后, 存盘编译 ; 5. 再在 S7-300 的 OB1( 或是 OB35) 中调用 FC1(DP_SEND) 和 FC2(DP_RECV), 实现 CP342-5 与 CPU 的数据交换, 而在 S7-200 中不需要编写通讯程序, 但要将与 S7-300 交换的输入 / 输出数据存放在对应的 VB 存储区 ; 6. 请注意, 使用 EM277 时,Input(I Address) 区的 32 个字节对应 S7-200 的 VB0-VB31, 而 Output(Q Address) 区的 32 个字节对应的数 S7-200 的 VB32- VB63 2.3: 关于 CP342-5 上的 LED 灯显示所表示的含义说明 : 通过 LED 不同显示状态, 您可以获取当前 CP342-5 运行的状态和问题信息 : SF( 系统错 BUSF( 总线错误 RUN( 运行灯 ) STOP( 停止灯 ) CP 状态说明 误灯 ) 灯 ) 绿色 黄色 红色 红色 CP 从停止转向运行状态 (STOP RUN) A&D Service & Support Page 13-29
CP 处在运行状态 (RUN) CP 从运行转向停止状态 (RUN STOP) 停止 (STOP) 停止, 系统错误 (STOP) 由于 编程原因引起, 如 FC1,FC2 调用 错误 运行,PROFIBUS 总线上存在干扰 运行, 下挂的 PROFIBUS 从站出 错 从站调电, 通讯连接断开等原因造成 等待下载新的 firmware( 保持 10 秒钟 ) 正在下载新的 firmware 下载了错误的 firmware 需要更新 firmware (CP 中的 firmware 不完整 ) 模板错误 / 系统问题 注 : : 红色灯闪烁 ; : 绿色灯闪烁 ; : 黄色灯闪烁 ; : 红色灯点亮 ; : 绿色灯点亮 ; : 黄色灯点亮 ; : 红色灯熄灭 ; : 绿色灯熄灭 ; : 黄色灯熄灭 ; 3: 关于 CP342-5 模块的一些常见问题解答 : 3.1: 将 CP342-5 配置成 DP Master 时, 需要注意什么? 以下我们向您说明将 CP342-5 模板配置成 DP Master 时常见的几个问题, 包括以下 5 个方 面 : A&D Service & Support Page 14-29
1. 采用 CP342-5 的 DP 通讯口与采用 CPU 集成的 DP 通讯口进行通讯有什么不同, 这两种通讯口功能有什么不同? 2. CPLADDR 参数的含义是什么, 如何设置该参数? 3. 如何填写功能块 FC1 ( SEND ) 和 FC2 ( RECV ) 的参数? 4. 功能块 FC1 FC2 的返回值代表什么意思, 如何理解? 5. DP 从站,CP 模板以及 CPU 之间的数据通讯过程是如何进行的? 1. 采用 CP342-5 的 DP 通讯口与采用 CPU 集成的 DP 通讯口进行通讯有什么不同, 这两种通讯口功能有什么不同 : 您可以通过 CPU 集成的 DP 通讯口或 CP443-5 模板的 DP 通讯口, 调用 Load/Transfer 指令 ( 语句表编程, 如图 2) Mov 指令 ( 梯形图编程 ) 或系统功能块 SFC14/15 访问从站上的 I/O 数据 : Fig. 1: 采用 CPU DP 通讯口的配置 Note: 您可以参考 http://support.automation.siemens.com/cn/view/zh/689920 的文章, 该文章解释了 CPU 的 DP 口与 342-5 的 DP 口的区别 ; A&D Service & Support Page 15-29
Fig. 2: Using Load/Transfer commands or bit combination operations 如果您使用 342-5 模块的 DP 通讯口进行通讯, 那么您就不能使用 Load/Transfer 指令 ( 语句表编程, 如图 2) Mov 指令 ( 梯形图编程 ) 直接访问 PROFIBUS 从站的 I/O 数据 采用 CP342 进行 PROFIBUS 通讯包括两个步骤 :1.CPU 将数据传输到 CP 通讯卡的数据寄存器当中 ; 2. 数据从 CP342-5 的数据寄存器当中写到 PROFIBUS 从站的 Output 数据区 ( 反过来就是 CPU 读取从站 Input 数据的过程 );CP342-5 与从站的 Input/Output 数据区的通讯过程是自动进行的, 但是您还必须自己手动的调用功能块 FC1( SEND ) 和 FC2 ( RECV ), 完成 CP342-5 与 CPU 之间的数据交换 Fig. 3: CP342-5 作为 Master 的配置 Note: 硬件组态过程中, 当您插入一个 CP342-5 后, 界面中会弹出如下窗口 : A&D Service & Support Page 16-29
Fig. 4: 组态 CP342-5 模板时的警告信息该窗口告诉您必须调用 FC1 "DP_SEND" 和 FC2 "DP_RECV" 功能块, 才能实现 CP342-5 与 CPU 之间的数据交换, 功能块 FC3 和 FC4 用于对通讯的诊断和特性控制上 功能块 "SEND" FC1 和 "RECV" FC2 都需要填写 "CPLADDR" 参数, 下面我们将向您说明它的含义 2. "CPLADDR" 输入参数的含义以及如何填写 "CPLADDR". 参数表示的是 CP342-5 模板的硬件起始地址, 您可以在硬件组态窗口 (HW Config) 中得到 CP342-5 的 16 个字节的硬件地址 : Fig. 5: CP342-5 模板的硬件地址这个地址区为 16 个字节, 但它的长度并不影响主站所带的从站个数以及从站和主站交换数据的长度, 这个 16 字节长度的地址是 CPU 分配给 CP342-5 的硬件地址, 是 CPU 和 CP342-5 之间进行数据交换的缓存,CPU 就是通过这个硬件地址进行寻址访问到 CP342-5 模块, 所以这 16 字节的地址数据区与 CP342-5 所连接的 PROFIBUS 从站没有任何关系, 而 CP342-5 与 PROFIBUS 从站进行数据交换使用的是另外一个独立的数据存储区,Input 区为 2160 个字节,Output 区为 2160 个字节 如上所说, 实现 CP342-5 的 PROFIBUS 通讯, 您必须在 CPU 的程序中调用 "DP_SEND" FC1 和 "DP_RECV" FC2, 实现 CPU 与 CP342-5 之间的数据交换, 所以在调用 FC1 和 FC2 时, 您必须填写 CP342-5 的硬件地址参数,CPU 才能寻址到 CP342-5, 这个地址参数就是 "CPLADDR" 这里你需要注意的是, 记录下硬件组态窗口 CP342-5 硬件地址的起始值, 如图 5 中所示为 256, 再将这个十进制数转换成十六进制数, 即为 100, 如下图 : A&D Service & Support Page 17-29
然后将转换得到的十六进制值填写到 FC1 和 FC2 的 "CPLADDR" 参数上 : A&D Service & Support Page 18-29
Fig. 6: 填写 FC1 和 FC2 的硬件起始地址参数 "CPLADDR" 3. 参数化 "DP_SEND"(FC1) 和 "DP_RECV"(FC2) 的参数 : DP_SEND(FC1) 功能块的 "SEND" 参数是您需要定义的一个数据区, 该数据区是主站发送给从站 output 区的数据源 同样,DP_RECV(FC2) 功能块的 "RECV" 参数定义的是主站将读到从站 Input 区的数据存放在 CPU 的某个数据地址区 "SEND" 和 "RECV" 参数需要填写一个指针类型的数据, 如 :"P#DB1.DBX3.0 BYTE 37", 这个数据的含义是 :1. 对于 "DP_SEND" 发送功能块的 Send 参数来讲, 就是发送从数据块 DB1 的第 3 个字节的第 0 位开始, 长度为 37 个字节的数据到 CP342-5 模块当中 ;2. 对于 "DP_RECV" 接收功能块的 RECV 参数来讲, 就是将从 CP342-5 接收来的数据存放在数据块 DB1 的第 3 个字节的第 0 位开始, 长度为 37 个字节的一个数据区当中 ; 虽然从规则上讲, 指针类型参数也允许以其他数据类型定义长度 ( 字类型, 位类型等 ), 如 P#DB1.DBX3.0 WORD 37, 但是 "DP_SEND" 和 "DP_RECV" 功能块的 "SEND" 和 "RECV" 参数必须是以字节定义长度的指针类型, 即 "P#DB1.DBX3.0 BYTE 37": A&D Service & Support Page 19-29
Fig. 7: "SEND" 和 "RECV" 参数的填写 4. 功能块 FC1 FC2 的返回值代表什么意思, 如何理解 : "DP_SEND" 功能块包括有 "DONE","ERROR" 和 "STATUS" 三个参数, 用来指示数据传输的状态和成功与否 "DP_RECV" 功能块包括有 "NDR", "ERROR", "STATUS" 和 "DPSTATUS" 四个参数, 用来指示数据传输的状态和成功与否 您可以定义相应的数据地址区, 存放这些返回值, 分析返回值, 评估 CPU 和 CP342-5 之间数据交换的状态 如下图将返回的数据存放在 M 地址区 : Fig. 8: 将功能块的输出返回值存到 M 区 A&D Service & Support Page 20-29
对于这两个功能块来讲 : 当 Error=False,STATUS=0,DONE=True,NDR=True 时, 说明 CPU 与 CP342-5 之间的数据交换成功进行 注意 : 在您的程序中循环调用 FC1 和 FC2, 如果没有任何错误的话,"STATUS" 参数的值会不断变化为 0 或 8180H, 当 "STATUS" 的值为 8180H 时, DONE 参数的数值为 False ; 如果 CPU 与 CP342-5 数据传输不成功, 那么主站 CPU 将无法获取任何一个从站的 I/O 数据 ; 您可以在 STEP7 的 Help 文档中找到关于 STATUS 参数值所对应的具体信息, 在 STEP7 中选中 FC1/FC2, 按 F1 键就可以打开 Help 文档 ; 5. DP 从站,CP 模板以及 CPU 之间的数据通讯过程是如何进行的? 使用 CP342-5 模块, 无论调用 "DP_SEND" 功能块还是 "DP_RECV" 功能块, 您都不能直接读写某个 PROFIBUS 从站的 I/O 数据 CP342-5 模块有一个内部的 Input 和 Output 存储区, 用来存放所有 PROFIBUS 从站的的 I/O 数据, 较新版本的 CP342-5 模板内部存储器的 Input 和 Output 区分别为 2160 个字节,Output 区的数据循环写到从站的输出通道上, 循环读出从站输入通道的数值存放在 Input 区, 整个过程是 CP342-5 与 PROFIBUS 从站之间自动协调完成的, 您不需编写程序 您可以在 PLC 的用户程序中调用 "DP_SEND" 和 "DP_RECV" 功能块, 读写 CP342-5 这个内部的存储器 功能块的 SEND 和 RECV 参数是一个指针类型数据, 填写时, 需要说明传送 ( 接收或发送 ) 的字节长度, 它对应的是 CP342-5 内部存储器从地址 0 开始相同字节数的一段数据区 如果您填写 SEND 的参数值为 P#DB2.DBX3.0 BYTE 17, 则对应 DB2 中的 Byte3 到 Byte19, 总共 17 个字节传送到了 CP342-5 内部存储器 Output 区地址 0 至 16, 所以您不能在 PLC 中直接读写某个 PROFIBUS 的 I/O 数据,PLC 中的从站 I/O 数据总是从 CP342-5 内部存储器地址 0 开始, 全部更新 如何指定指针参数的字节长度 : 指针参数 ( SEND 或 RECV ) 的字节长度 = 最后一个 PROFIBUS 从站的 I/O 地址的最高 地址值 + 1 A&D Service & Support Page 21-29
例子 : 假设您的 DP 从站是 16 点的 ET200B, 输出地址 ( 硬件组态时从站的 Q Address) 区为 200 到 201, 那么指针参数的长度应当为 202 个字节, 即 P#DB88.DBX13.0 BYTE 202, 所以这里我们建议链接在 CP342-5 上的 PROFIBUS 的 I/O 地址最好从 0 开始, 这样不会浪费 CPU 的 I/O 地址, 或避免 CPU 上的 I/O 地址与 DB 块覆盖的区域冲突 下图表示用 CP342-5 实现图 2 中程序功能所需编写的程序内容 : Fig. 9 用 CP342-5 实现图 2 功能所需程序内容 如下的两个图 (Fig. 10 and Fig. 11) 显示了 DB1 和 DB2 中的数据结构, 该数据结构中包括了 主站与从站之间读写的 I/O 数据地址和功能块的返回值 : A&D Service & Support Page 22-29
Fig.10: 用于接收 Input 数据的全局数据块 DB1 Fig.11: 用于发送 Output 数据的全局数据块 DB22 根据以上图中定义的数据块,FC1 和 FC2 的指针地址参数有一个偏移量, 即 DB 块的前 3 个字节用来存放功能块的返回值, 当然您也可以不定义这个偏移量, 而将返回值存放在 M 区, 或其他的 DB 块中 编程中的注意事项 : 一般来讲, 在 STEP7 的项目中插入输入和输出对应的 DB 块, 您应当首先调用 DP_SEND 功能块, 然后立即调用 DP_RECV, 在程序中可以用 Mov( 梯形图 ) 或 Load/Trans( 语句表 ) 读写 DB 块中的值, 相当于读写 PROFIBUS 从站的 I/O 数据值 A&D Service & Support Page 23-29
3.2: 如何将 STEP7 不同项目 (Project) 中的 CP342-5 模块配置成 PROFIBUS Master 和 Slave 通讯? 在项目 1 中的组态步骤 : 1. 打开包含 S7-300 CPU 的项目的 HW Config 2. 从目录 "SIMATIC 300 > CP-300 > PROFIBUS > CP342-5" 中添加正在使用的 CP342-5 重要事项 : 确保始终使用来自 HW Config 的硬件目录中的正确 CP( 明确的 MLFB 号和产品版本 ), 但版本 5.7 可以用版本 5.0 替代 3. 插入 CP 模板时要创建一个 PROFIBUS, 并设置所要求的网络参数 ( 传输率,DP 地址, 总线通讯协议 :DP) 4. 切换到 "Operating Mode" 标签, 选择 "DP Slave" 作为操作模式 5. 保存并编译组态 然后将该组态加载到 CPU 6. 现在打开 "SIMATIC NET" 块程序库, 并将两个功能 FC1"DP_SEND" 和 FC2 "DP_RECV" 添加到块容器中 7. 在一个循环组织块中调用这些功能, 并给这些功能所需的参数 在项目 2 中的组态步骤 : 对这些组态步骤, 需要 CP 的 GSD 文件 该文件位于 http://support.automation.siemens.com/cn/view/zh/113652 中 如何在 HW Config 中集成 GSD 文件在 http://support.automation.siemens.com/cn/view/zh/2383630 中有所描述 然后, 通过 GSD 文件安装的从站位于在 "Additional Field Devices > I/O > SIMATIC" 下的硬件目录中 A&D Service & Support Page 24-29
1. 打开含有 DP 主站的项目的 HW Config 2. 添加一个 DP 主站系统, 按照在 "Configuration steps in project 1:" 下的第三点下所作的组态设置同样的总线参数 3. 现在从硬件目录将 "Additional Field Devices > I/O > SIMATIC" 中的 CP 添加到主站系统 4. 分配与 "Configuration steps in project 1:" 下的第三点中同样的 DP 地址 5. 标记 CP 并且添加所需作为模块的 I/O 区到 CP 通过这些地址, 可以从主站访问从站 6. 保存并且编译组态, 将其加载到 CPU A&D Service & Support Page 25-29
3.3: 通过 CP342-5, 如何实现对 PROFIBUS 网络和站点的诊断功能? 使用 "SIMATIC_NET_CP" 库指令中的 FC 功能块 "DP_DIAG" (FC 3), 可以实现通过用户程序从 342-5 中查询和评估诊断信息 可以实现的工作有, 例如请求 DP 诊断列表 请求 DP 信号状态 非循环的读取 DP 从站的输入输出数据 读取旧的 DP 诊断 也可以实现从 CP 中读取 DP 站列表 为了实现这些功能, 您必须需要传送如下的输入参数到诊断块中 FC 参数用于站诊断 : 参数 声明 类型 值 描述 CPLADDR INPUT WORD W#16#... CP 模块的起始地址 DTYPE INPUT BYTE B#16#0 用于站诊断的代码 STATION INPUT BYTE B#16#0 与站诊断无关 DIAG INPUT ANY ANY length 诊断信息的存储区域 16 bytes NDR OUTPUT BOOL 1: 新的数据 ERROR OUTPUT BOOL 错误显示 STATUS OUTPUT WORD 状态显示 DIAGLNG OUTPUT BYTE 可以得到的数据长度, 在这种应用中 一直为 16 个字节 如果您参照如上参数调用该功能块, 您能得到 16 个字节的诊断信息 信息中描述了您配置的 站是否访问失败, 您可以读取到相应出错的站地址 数据记录格式 : 16 个字节的每一个位用来代表 0 到 127 个站的地址, 如果组态的站点访问不到, 则想应的站 点对应的位置一 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Byte 1.: 0 1 2 3 4 5 6 7 从站地址 A&D Service & Support Page 26-29
Byte 2 8 9 10 11 12 13 14 15 从站地址 Byte 3. 16 17 18 19 20 21 22 23 从站地址........................................ Byte 16 120 121 122 123 124 125 126 127 从站地址 通过监视 CP 的数据记录, 您可以检测到站点的失败, 并且得到出错的从站地址 注意 : 功能块 "DP_DIAG" 只用于 DP 主站模式 更多的信息可以从在线帮助中得到 3.4: 为什么当 CP342-5 模块作为 PROFIBUS DP 主站, 而 ET200( 如 IM151-1 或 IM153-2) 作为从站时,CP342-5 上的 SF 等不停闪烁? 当 S7-300 系统中的 CP342-5 作为 DP 主站, 下挂 IM153-2 模块时,IM153-2 只能作为 DP 主站, 而不是 S7 从站运行 出错现象 : S7 从站的第一个模块 (IM153) 在 NCM S7 PROFIBUS 诊断 中被登记为有缺陷 由于 DP 段中至少有一个模块有缺陷, 于是 DP 主站上的 SF 发光二极管闪动 出错原因 : S7 从站模块是从 DP 主站接收 S7 参数化数据记录的 对于这种 S7 从站, 这些数据记录必须要传递到第一个模块 (IM153) 上 但这在把 CP 342-5 作为 DP 主站运行时是不可能的 背景 : 为第一个模块分配数据记录是通过 DP 从站的诊断地址来完成的 然而, 如果 CP 342-5 作 DP 主站, 这样对于 DP 从站将没有诊断地址可用, 因此参数化数据记录不产生 补救措施 : 通过 GSD 文件将 ET200 从站组态进你的系统 随后 IM153 模块可作为 DP 标准从站运行 为此, 您必须将 GSD 文件安装到硬件目录中 ( 通过菜单序列 Tools > "Install new GSD file") 在更新了硬件目录后您会在"PROFIBUS-DP > Additional Field Devices". 中发现 DP 从站 A&D Service & Support Page 27-29
A&D Service & Support Page 28-29
附录 - 推荐网址 AS 西门子 ( 中国 ) 有限公司自动化与驱动集团客户服务与支持中心网站首页 :http://www.ad.siemens.com.cn/service/ 专家推荐精品文档 :http://www.ad.siemens.com.cn/service/recommend.asp AS 常问问题 :http://support.automation.siemens.com/cn/view/zh/10805055/133000 AS 更新信息 :http://support.automation.siemens.com/cn/view/zh/10805055/133400 找答案 AS 版区 :http://www.ad.siemens.com.cn/service/answer/category.asp?cid=1027 A&D Service & Support Page 29-29