网络数据 DB (S7-300, S7-400) 说明 参数 DB包含通信控制所需的程序参数。用户需要为通信系统生成该块并设置适当的默认值 (S_USSI 或手动)。将按从站在DBPA(轮询列表)中的输入顺序对其进行处理。 还可以在参数 DB 中多次输入某个从站,以有效提高其优先级等级。 操作原理 参数 DB的长度取决于要在总线周期中进行寻址的从站数 (n)。 参数 DB 的数据字的数目 = (n x 4) + 5。 每个从站通信实例需要4 个数据字,并且这 4 个数据字需要为系统参数一次分配。DBW0 保 留。参数错误 1 字节 来自 S_USSR指令的错误消息,参数 DB 中的参数分配错误 • 值 0:没有错误 • 值 1:PKW/PZD 的数据错误 参数错误 2 字节 来自S_USSR 指令的错误消息,参数 DB 中的参数分配错误 • 值 0:没有错误 • 值 1:PKW/PZD 的数据错误发送缓冲区中的参数 ID PKE 用户必须分配参数编号(位 0 到 10)和作业 ID(位 12 到 15)。参数更改报告的切换位(位11)由 S_USSR 和 S_USST 指令屏蔽。
系统参数 DBCP通信处理器 DB 的块编号 SANZ 参数 DB 中的从站参数设置的总数。如果总线周期中某些从站的寻址频率多于其 它从站,则在参数DB 中输入这些从站的从站参数的次数必须多于一次。必须相 应地调整 SANZ 系统参数。 SLAV当前从站的编号(连续)。S_USST FC 和 S_USSR FC 需要该编号以计算当前参数 设置。该数据字必须预设为 1。如果使用S_USSI FC,则由该 FC 来执行预设操作。 WDH 允许的 PKW 作业重复数(取值范围:0 到 32,767)。如果当前PKW 作业未在设 置的数字处结束,将在 PKW 接口处报告问题。从站通信参数 PKW 的数目, PZD 的数目 网络数据结构的定义左侧字节:PKW 区的字数(0、3、4) 右侧字节:PZD 区的字数(0 到 16) 任何与此不符的情况均被检测为参数分配错误(通过S_USST 和 S_USSR FC)并在网络数据 DB 的参数分配错误 1 字节、参数分配错误 2 字节中输入。 TUN对应于在驱动器上设置的总线地址的节点编号(0 到 31)。 DBND 网络数据 DB 的块编号。 KSTW 网络数据 DB中的从站的通信控制字的地址。 通信处理器 DB (S7-300, S7-400) 说明 该数据块用户处理 CPU 和串行接口模块 ET200S Modbus/USS 之间的数据通信。 请为该块 提供足够的长度。 通信处理器 DB 的长度必须至少为 50 个字(DBW0 到 98)。 通信处理器 DB 的语法 DBW 0 通信状态 SEND 和 RECEIVE FC17 FC17 FC17,OB1SEND DBW 2 等待接收数据时要 到期的Zui大周期数 等待接收数据 时超时信息的 周期计数器 DBW 4 测量的启动时间间隔DBW 6 上一周期的持续时间 (OB1_MIN_CYCLE) DBW 8 传输帧长度 (LEN)通信状态 DBW0 位编 号 0S_SEND 的输入 REQ 如果对位 8 置位,则会复位该位。 1 S_SEND 的输入 R S_USST 以循环时间间隔复位该位。2 S_SEND 的输出 DONE 3 S_SEND 的输出 ERROR 4 S_RCV 的输入 EN_R S_USSR以循环时间间隔置位该位。 5 S_RCV 的输入 R S_USSR 以循环时间间隔复位该位。 6 S_RCV 的输出 NDR 7S_RCV 的输出 ERROR 8 正在进行的作业(S_SEND 会 保存 DONE 位) S_USST 以循环时间间隔复位该位。上一周期 DBW6 的持续时间 S_USST 使用此参数测量从站响应时间。 每次调用 S_USST 之前,用户程序必须将自动化系统的周期时间 (OB1_MIN_CYCLE) 复制到该参数。SIMATIC NET CP (S7-300, S7-400) 工业以太网(S7-300, S7-400) 以太网简介 (S7-300, S7-400) FC/FB 的一般性说明 (S7-300,S7-400) 可用指令 下表列出了提供的程序块(指令)编号。 可以对这些编号进行更改。 请注意,S7300 和 S7400必须使用不同的指令(单独的库)。1) PN_InOut/PN_InOut_Fast 随 SIMATIC iMap 工程工具提供。 2)不可用于当前 CP,且不再是当前 SIMATIC_NET_CP 库的一部分 3) 取决于 CP 的类型 我应该使用哪个版本的指令?下列说明还包括各种指令版本之间的不同特性信息。 请检查并记录所使用的指令的版本标 识符。 可以使用以下条目 ID 在 Internet上找到 SIMATIC NET 指令版本历史的Zui新发布: 9836605 随 Automation Workbench安装的全局库包括发布 Workbench 时的当前指令版本。 说明 建议所有模块类型都使用Zui新版本的指令。 可以在 Internet的客户支持中获取有关当前版本指令的信息以及要下载的当前指令的信息: 对于较早的模块类型,本建议假定您正在使用该特定块类型的Zui新固件。更换模块时使用的指令 模块更换通常是指用一个更新版本的模块更换现有模块。 说明请记住,如果进行模块更换,那么在用户程序中只能使用已组态 CP 类型所允许的指令。 建议所有模块类型都使用Zui新版本的指令。对于较早的模块类型,本建议假定您正在使用 该特定块类型的Zui新固件。 您可以在 Internet的客户支持中获取有关更换模块的更多信息。设置用于 FC 调用的参数 (S7-300, S7-400)在详细描述该指令之前,关于调用和设置指令参数的一些常规注释将非常有用。 下面的常规信息适用于所有指令的以下现有参数组: • 用于 CP和连接分配的参数(输入参数) • 用于指定 CPU 数据区的参数(输入参数) • 状态信息(输出参数) 调用 S7300 的通信指令注意 不得在多个优先级等级中调用 S7-300 通信指令! 例如,如果在 OB1 和 OB35 中调用通信 指令,那么,优先级较高的OB 可能会中断该指令的执行。 如果在一个以上 OB 中调用指令,那么程序的编写必须确保当前正在执行的通信指令不会被其它通信指令中断(例如,通过禁用/启用系统指令中断)。 用于指定 CPU 数据区的参数(输入参数) (S7-300, S7-400)指定 CPU 上的数据区 调用指令时,会传送 CPU 上的数据区的地址和长度,可以在数据区中获取用户数据或存储用户数据,或在数据区中包含更多参数信息。 ANY 指针数据类型用于对该数据区进行寻址。状态信息(输出参数) (S7-300,S7-400) 评估状态代码 为了进行状态评估,必须在用户程序中对下列参数进行计算: • DONE 或 NDR 这些参数(DONE用于发送作业,NDR 用于接收作业)指示(成功)完成作业。 • ERROR 该参数指示没有无错执行作业。 • STATUS该参数提供关于作业执行的详细信息。在作业执行期间可以返回状态代码(DONE = 0 和 ERROR = 0)。 说明请记住,每次调用指令时,都会更新状态代码 DONE、NDR、ERROR 和 STATUS。 CP 启动期间的状态代码 如果以太网 CP进行暖启动或热启动,指令的输出参数会复位为以下值: • DONE = 0 • NDR = 0 • ERROR = 0 • STATUS= – 8180H(对于 AG_RECV/AG_LRECV) – 8181H(对于AG_SEND/AG_LSEND/AG_SSEND)用于开放式通信服务的指令(SEND/RECEIVE 接口) (S7-300,S7-400) 用于 SEND/RECEIVE 接口的指令 (S7-300, S7-400) 概述 下列指令均可用于在SEND/RECEIVE 接口上传送数据: 指令 可用于 1) 含义 S7-300 S7-400 AG_SEND x x 用于发送数据AG_RECV x x 用于接收数据 AG_LSEND x 用于发送数据 AG_LRECV x 用于接收数据 AG_SSEND x用于发送数据 AG_SRECV x 用于接收数据 1) S7300 和 S7400 的指令的注意事项 • 以下规则适用于 S7300:– 对于Zui新版本的以太网 CP,仅使用 AG_SEND 和 AG_RECV;数据长度Zui大为 8192 字 节。 – 对于 S7–300CP(到固件为 V2.2 的 6GK7 343–1EX10–0XE0 为止),在 TCP 连接上 使用指令 AG_LRECV,而不是AG_RECV。 • 以下规则适用于 S7400: – 使用 AG_SEND/AG_RECV 时,每个作业的数据长度限制为 <=240 个字节。 可以使用 AG_LSEND 或 AG_LRECV 指令传送更长的数据记录(Zui多 8192 个字节)。 – 通过在CPU 和 S7 站中的 CP 之间使用优化的通信,AG_SSEND 和 AG_SRECV 可用于加速的数据传送。快速通讯对局域网通讯没有任何影响。从 STEP 7 V5.4 SP3 起支持这 两个指令。 – 在 S7–400上,无法在 TCP 连接上使用 AG_RECV,而只能使用 AG_LRECV 或 AG_SRECV 指令。 更多信息请在专用设备的手册中检查所使用的 S7CP 支持的数据区。可以在 SIMATIC NET 块历史中找 到指令版本的概述。