西门子全国电源经销商
工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务。西门子中国有限公司授权合作伙伴——浔之漫智控技术(上海)有限公司,作为西门子中国有限公司授权合作伙伴,浔之漫智控技术(上海)有限公司代理经销西门子产品供应全国,西门子工控设备包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和全球**芯片制造商台积电毗邻,作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,
,建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品与此同时,我们
向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。
常规信息 简介 此处给出的同时包含在 CP440_PtP_Com 项目中的项目实例描述操作 CP 440 通信处理器所 需使用的标准功能。 可以使用*少的硬件设备执行本实例。 还使用了 STEP 7 功能监视/修改变量(例如修改传送 的数据)。 目的 项目实例的任务如下: • 旨在显示*重要的功能, • 能查看所连接的硬件的正常功能(因此实例简单易行,以便模仿) • 可轻松进行扩展,以适合您的用途。 项目实例由下列五个单独的组件组成: • CP440 SEND RECV: 与 ASCII/3964(R) 的 SEND 和 RECV 互连 • CP440 1CYC: 与 ASCII/3964(R) 的 SEND 和 RECV 互连,循环作业处理 • CP440 ASCII BCC: 带有块校验格式的 ASCII 的互连 • CP440 MASTER: 用于 ASCII 协议的互连的主站 • CP440 SLAVE: 采用 ASCII 协议互连的从站 CPU 启动时将为 CP 440 分配参数(系统服务)要试验该程序实例,可使用以下设备: • 一台 S7-400 PLC(安装机架、电源、CPU) • 一个带有通信伙伴(例如第二个 CP)的 CP 440,或者您可以插入一个“短路连接器”, 也就是说将发送线路跨接到接收线路 • 一台编程设备(例如 PG 740) 9.3 设置 通过 STEP 7 完成 CPU 中的设置 使用 STEP 7 如下所述组态您的控制器。 • 插槽 1:电源 • 插槽 2:CPU • 插槽 4: CP 440,起始地址 512 • 插槽 5: CP 440,起始地址 528 在“CP440 MASTER”和“CP440 SLAVE”实例中,插槽 5 上没有 CP 440。 CP 440 上的设置 不能在 CP 440 上进行任何硬件设置。 使用 STEP 7 组态所有相关的数据,包括使用 CP 440: 点对点连接,参数分配界面设置 CP 440 的参数,并将这些参数上传到 CPU。 使用下列配置,无需对用户程序进行任何更改,便可以运行“CP440 SEND RECV”或“CP440 1CYC”程序实例: • 3964(R) 程序 • 使用“字符延迟时间结束时”结束标准的 ASCII 驱动程序 • 使用“接收到固定消息帧长度时”结束标准的 ASCII 驱动程序。 对于使用“接收到结束字符时”结束标准的 ASCII 驱动程序,下表包含一份程序实例中所用块的清单。 表格 9-1 CP 440 SEND RECV 块 符号 描述 OB 1 CYCLE 循环程序处理 OB 100 RESTART 冷重启动处理 DB 21 SEND IDB 用于 SEND_440 FB 的背景数据块 DB 22 RECV IDB 用于 RECV_440 FB 的背景数据块 DB 40 SEND WORK DB 用于标准 FB 10 的工作 DB DB 41 RECV WORK DB 用于标准 FB 9 的工作 DB DB 42 SEND SRC DB 发送数据块 DB 43 RECV DST DB 接收数据块 FB 9 RECV_440 用于数据的接收标准 FB FB 10 SEND_440 用于数据的发送标准 FB FC 21 SEND 发送数据 FC 22 RECEIVE 接收数据 表格 9-2 CP 440 1 CYC 块 符号 描述 OB 1 CYCLE 循环程序处理 OB 100 RESTART 冷重启动处理 DB 21 SEND IDB 用于 SEND_440 FB 的背景数据块 DB 22 RECV IDB 用于 RECV_440 FB 的背景数据块 DB 40 SEND WORK DB 用于标准 FB 10 的工作 DB DB 41 RECV WORK DB 用于标准 FB 9 的工作 DB DB 42 SEND SRC DB 发送数据块 DB 43 RECV DST DB 接收数据块 FB 9 RECV_440 用于数据的接收标准 FBCP 440 的项目实例和CP 440:点对点通信,参数分配界面随功能块和该手册提供在一张 CD 上。 程序实例随参数分配界面一起安装,“安装编程界面 (页 56)”一章阐述了这些内容。 安装之 后,实例保存在下列项目中: CP440_PtP_Com 通过在 STEP 7 SIMATIC Manager 中选择文件 > 打开 > 项目 (File > Open > Project) 打开该 项目。 可使用项目实例编译后的形式和源文件。 还包括一份实例中所用所有符号的清单。 如果没有另一个 CP 440 可用作通信伙伴,则必须通过在 HW ConfiH 中选择编辑 > 删除 (Edit > Delete) 删除 CP 440。在实例“CP440 SEND RECV”、“CP440 1CYC”和“CP440 ASCII BCC”中, 也必须注释在 OB1 中的调用 FC 22(用于接收的 FC)语句。 下载至 CPU 实例的硬件设置已完成且编程设备已连接。 CPU 执行一次总复位之后(工作模式 STOP),将整个实例传送到用户存储器。 然后使用工 作模式开关从 STOP 切换到 RUN。 故障 如果启动时出现错误,则终止循环处理的块调用,并输出一条错误消息。 如果没有错误消息,则复位模块的 ERROR 参数输出。 随后将一个更加**的错误描述保存 在块的 STATUS 参数中。 如果 STATUS 中包含错误消息 16#1E0E 或 16#1E0F 中的一个,则 准确的错误描述保存在背景数据块的 SFCERR 变量中。激活、启动程序和循环程序 9.6.1 “CP440 SEND RECV”程序实例 激活、启动程序 启动程序位于 OB 100 中。 启动过程中将控制位和计数器复位。 循环程序 在组织块 OB 1 中定义循环程序。 在本例中,功能块 FB 9 “RECV_440”和 FB 10 “SEND_440”与功能 FC 21 和 FC 22 以及作为背 景数据块的数据块 DB 21 和 DB 22 和 作为发送或接收 DB 的 DB 42 和 DB 43 一起工作。 在本例中,部分通过常数,部分通过符号方式寻址的实际操作数为功能块分配参数。 数据传输 数据传输发生的起始点为从插槽 4 上的 CP 440 的到插槽 5 上的 CP 440。如果您使用其它通 信伙伴,则不调用 FC 22 (RECEIVE)。 对 FC 21 (SEND) 的说明 “生成跳沿”(Generate edge) 程序部分: *初当=0 时,SEND_440 运行一次,然后 被设置为 1。当在 控制参数上检测到信号状态从“0”变为“1”时,SEND_440 作业启动。 当 SEND_DONE=1 或 SEND_ERROR=1 时, 复位为 0。 “SEND_DONE=1”程序部分: 如果传输成功,在 SEND_440 的参数输出上 SEND_DONE 被置为“1”。 为了区分连续进行的传输,源块 DB 42 的数据字 0 中包含有一个发送计数器 (SEND_COUNTER_OK)。 “SEND_ERROR=1”程序部分: 如果 SEND_ERROR=1 时 SEND_440 运行了一次,则数据字 2 中的 SEND_COUNTER_ERR 错 误计数器递增 1。对 SEND_STATUS 进行复制,因为它将在下次运行中被 0 覆盖,这意味着 将不能够读取它的值。接收数据使能”(Enable Receive Data) 程序部分: 必须将块 RECV_440 的接收使能端 (RECV_EN_R) 设置为“1”,才能接收数据。 “RECV_NDR=1”程序部分: 当 RECV_NDR 置位时,新数据已接收到,同时 RECV_COUNTER_O 接收计数器的值递增。 “RECV_ERROR=1”程序部分: 如果执行不成功(也就是说,RECV_440 的参数输出端置位了错误位),则 RECV_COUNTER_ERR 错误计数器的值递增。 复制了 RECV_STATUS,因为在下次运行时它将 被 0 覆盖,因此将不再能够读出它的值。 在变量表中,可以观察所有相关的值,以用于测试。 9.6.2 “CP440 1 CYC”程序实例 本实例的建立与实例“CP440 SEND RECV”完全相同。 不过,已经将 FC 21 修改为允许循环处 理一项 SEND 作业。 对 FC 21 (SEND) 的说明 循环处理一项 SEND 作业的过程如下: • 每次块调用时,通过设置=0 使 SEND_440 运行一次。如果 SEND_DONE 和 SEND_ERRO 均未出现,则块终止。 • 如果出现 SEND_DONE,通过设置=1 使 SEND_440 再运行一次。 • 如果出现 SEND_ERROR,通过设置=0 然后设置=1 使 SEND_440 再 运行一次。 为了确保在*开始的第一次能够通过设置=1 使 SEND_440 运行一次,在“检查 是否出现 SEND_DONE 或 SEND_ERROR 或并非第一个周期”(Check if SEND_DONE or SEND_ERROR or not first Cycle) 程序部分还对 SEND_STARTUP_ENDED 位进行检测。 在第一 次运行中,该位的值为 0,然后固定为 1。