S_SEND:发送数据(S7-300, S7-400) 说明 S_SEND 指令根据 DB_NO、DBB_NO 和 LEN 参数指定的内容将数据块从 DB传输至 ET 200S 1SI。为进行数据传输,可在循环或者时间控制程序中的静态(无条件)操作中调用 S_SEND 指令。 工作原理在 REQ 输入的上升沿开始传输数据。 数据传输可能会进行多次调用(程序周期),具体取 决于数据量。 通过将参数输入 R的信号状态设置为“1”,可在循环中调用 S_SEND 指令。 该设置会取消向 ET 200S 1SI模块进行的传输,并将 S_SEND 指令复位为初始状态。 ET 200S 1SI 模块已接 收到的数据仍会传送给通信伙伴。输入 R 的静态信号状态“1”指示数据传输已禁用。 参数 LADDR 指定要寻址的 ET 200S 1SI的地址。 输出 DONE 指示“作业已完成且无错”,ERROR 指示错误事件。如果发生错误,会在 STATUS 中显示相应的事件编号。如果未发生错误,STATUS 的值为 0。对于 S_SEND 指令的 RESET, 还会输出 DONE 和ERROR/STATUS(请参见时序图)。如果出现错误,则复位二进制结果 BR。 如果块已完成且无错,则二进制结果的状态为“1”。参数 参数 声明 数据类型 说明 REQ INPUT BOOL 作业在上升沿触发 R INPUT BOOL 取消作业取消正在进行的作业。 传输被禁止。 LADDR INPUT INT ET 200S 1SI 模块的起始地址 起始地址从 STEP 7获取。 DB_NO INPUT INT 数据块号 发送 DB 号:依 CPU 而定,不允许为零 DBB_NO INPUT INT数据字节号(传输数据) S7-1500: 0 ≤ DBB_NO 且 DBB_NO + LEN ≤ 数据块大小 S7-300/400:0 ≤ DBB_NO 且 DBB_NO + LEN < 8190说明 必须将输入 EN_R 设置为静态信号状态“1”。在接收请求的持续时间内,必须给参数 EN_R 提 供逻辑运算结果“1”。 规则 说明 S_RCV 指令没有参数检查。如果参数分配错误,CPU 可以切换到 STOP 模式。 说明 必须先完成 S_RCV 指令的 ET 200S 模块的 CPU启动例程,ET 200S 1SI 模块才能接收 CPU 的状态从 STOP 转换为 RUN 后启动的作业。
参数 声明数据类型 说明 LEN INPUT INT 数据长度 1 ≤ LEN ≤ 224 按字节数指定 DONE 1 OUTPUT BOOL作业已完成且无错 STATUS 参数 == 16#00 ERROR 1 OUTPUT BOOL 作业已取消但有错误 STATUS 参数(页 9036)包含错误信息。 STATUS 1 OUTPUT WORD 错误规范 如果 ERROR == 1,则STATUS 参数 (页 9036)包含错误信息。 COM_RST IN_OUT BOOL 指令重新启动 1传输作业成功完成后,DONE、ERROR 和 STATUS 参数仍在 一个 CPU 周期的时间内可用。 数据区中的分配 S_SEND指令与 I_SEND 背景数据块结合使用。 调用时包含 DB 号。禁止访问背景数据块中 的数据。 说明 例外:如果出现错误STATUS == W#16#1Exx,可以检查 SFCERR 变量以获得其它详细信息。该错误变量必须通过对背景数据块进行符号访问来装载。 启动 S_SEND 指令的 COM_RST 参数用于向指令报告启动。 在启动 OB中将参数 COM_RST 设置为 1。 在循环模式中调用指令,无需设置或复位 COM_RST 参数。 如果设置了 COM_RST参数: • 该指令获取有关 ET 200S 1SI 模块的信息(I/O 区域中的字节数,无论是否为分布式 I/O)。 •该指令会复位本身,取消之前启动的任何作业(在上一次 CPU 切换为 STOP 之前)。 该指令获取有关 ET 200S 1SI模块的信息后,会自动复位 COM_RST 参数。说明 输入 REQ 通过沿来触发。 输入 REQ 上的一个上升沿便足够。在整个传输期间,RLO(逻辑 运算结果)不一定必须为“1”。 规则 说明 S_SEND 指令没有参数检查。 如果参数分配错误,CPU可以切换到 STOP 模式。 说明 必须先完成 S_SEND 指令的 ET 200S 模块的 CPU 启动例程(请参见上文),ET 200S 1SI 模块才能执行 CPU 的状态从 STOP 切换为 RUN 后启动的作业。 在此期间启动的作业不会丢 失。启动协调完成后,会将该作业发送至 ET 200S 1SI 模块。S_VSTAT: 读取 RS 232C接口的伴随信号 (S7-300, S7-400) 说明 S_VSTAT 指令读取 ET 200S 1SI 模块的 RS 232C伴随信号,并使用户可以在块参数中使用它 们。 为进行数据传输,可通过循环中的(无条件)静态操作或在时间控制的程序中调用 S_VSTAT指令。 操作原理 每次调用该指令(循环轮询)时,都会更新 RS 232C 伴随信号。 要寻址的ET 200S 1SI 模块的地址在 LADDR 参数中指定。 参数 参数 声明 数据类型 说明 REQINPUT BOOL 作业在上升沿触发 R INPUT BOOL 取消作业 取消正在进行的作业。传输被禁止。 LADDR INPUTINT ET 200S 1SI 模块的起始地址 起始地址从 STEP 7 获取。 DONE1 OUTPUT BOOL指示指令是否已终止。 (ET 200S 1SI 输出) ERROR1 OUTPUT BOOL 作业已取消但有错误STATUS 参数 (页 9036)包含错误信息。 STATUS1 OUTPUT WORD 错误规范 如果 ERROR ==1,则 STATUS 参数 (页 9036)包含错误信息。 DTR_OUT 1 OUTPUT BOOL 数据终端准备就绪,ET 200S 1SI 已做好运行准备。 (ET 200S 1SI 输出) DSR_IN 1 OUTPUTBOOL 数据集准备就绪;通信伙伴已做好运行 准备。 (ET 200S 1SI 输入)参数 声明 数据类型 说明RTS_OUT 1 OUTPUT BOOL 请求发送, ET 200S 1SI 允许发送。(ET 200S 1SI 输出) CTS_IN 1 OUTPUT BOOL 允许发送;通信伙伴可以从 ET200S 1SI 模块接收数据(对 ET 200S 1SI 的 RTS = ON 进行响应)。(ET 200S 1SI 输入) DCD_IN 1 OUTPUT BOOL 数据载体检测(ET 200S 1SI 输入) COM_RST IN_OUT BOOL 指令重新启动 1作业成功完成后,这些参数仍在一个 CPU 周期的时间内可用。 数据区中的分配 S_VSTAT 指令与 I_STAT背景数据块结合使用。 调用时包含 DB 号。 禁止访问背景数据块中 的数据 说明 检测信号更改需要Zui小脉冲宽度。 确定因素包括 CPU周期时间、ET 200S 1SI 模块上的更新 时间以及通信伙伴的响应时间。 启动 S_VSTAT 指令的 COM_RST参数用于向指令报告启动。 将启动 OB 中的 COM_RST 参数设置为 1。 在循环模式中调用指令,无需设置或复位 COM_RST参数。 如果设置了 COM_RST 参数: • 该指令获取有关 ET 200S 1SI 模块的信息(I/O区域中的字节数,无论是否为分布式 I/O)。 • 该指令会复位本身,取消之前启动的任何作业(在上一次 CPU 切换为 STOP之前)。 该指令获取有关 ET 200S 1SI 模块的信息后,会自动复位 COM_RST 参数。S_VSET: 写入 RS 232C接口的伴随信号 (S7-300, S7-400) 说明 可以使用 S_VSET 指令的相应参数输入来设置和复位接口输出。可在循环或者时间控制的 程序的静态(无条件)操作中调用 S_VSET 指令。 要寻址的 ET 200S 1SI模块的地址在 LADDR 参数中指定。 参数 参数 声明 数据类型 说明 REQ INPUT BOOL 作业在上升沿触发 RINPUT BOOL 取消作业 取消正在进行的作业。传输被禁止。 LADDR INPUT INT ET 200S 1SI模块的起始地址 起始地址从 STEP 7 获取。 RTS INPUT BOOL 请求发送, ET 200S 1SI 允许发送。 (控制ET 200S 1SI 输出) DTR INPUT BOOL 数据终端准备就绪, ET 200S 1SI已做好运行准备。 (控制 ET 200S 1SI 输出) DONE1 OUTPUT BOOL(ET 200S 1SI 输出) ERROR1 OUTPUT BOOL 作业已取消但有错误 STATUS 参数(页 9036)包含错误信息。 STATUS1 OUTPUT WORD 错误规范 如果 ERROR == 1,则STATUS 参数 (页 9036)包含错误信息。 COM_RST IN_OUT BOOL 指令重新启动 1作业成功完成后,这些参数仍在一个 CPU 周期的时间内可用。 数据区中的分配 S_VSET 指令与 I_SET 背景数据块结合使用。调用时包含 DB 号。 禁止访问背景数据块中的 数据.