Send_Config: 组态PtP 发送方 (S7-1200, S7-1500) 说明 使用 CM1241 自模块的固件版本 V2.1 起,才能通过 CM1241使用该指令。 说明 Send_Config 指令(发送组态)允许用户使用程序在运行时更改发送参数(确定待发送数据开始和结束的条件)。CM 中未决的任何数据将在执行 Send_Config 时删除。 Send_Config 的组态更改将保存在 CM中,而不是 CPU 中。设备配置中保存的参数将在 CPU 或通信模块恢复电压时恢复。 参数 参数 声明 数据类型 默认值 说明 S7-1200/ 1500 S7- 300/400/ WinAC REQ IN Bool FALSE 激活在此输入上出现上升沿时更改组态。PORT IN PORT (UInt) Word 0 指定用于以下通信的通信模块: • 对于S7-1500/S7-1200:设备组态中的“硬件 标识符”。 符号端口名称在 PLC 变量表的“系统常 数”(Systemconstants) 选项卡中指定并可应用 于此处。 • 对于 S7-300/S7-400:设备组态中的“输入地 址”。 在S7-300/400/WinAC 系统中,在 HWCN 中分 配的输入地址中分配端口参数。
参数 声明 数据类型 默认值 说明 S7-1200/ 1500 S7- 300/400/ WinAC RTSONDL Y IN UInt Word 0 从激活 RTS后到开始传输发送数据之前等待的毫秒 数。仅当硬件流控制处于活动状态时此参数才有 效。有效范围是 0 至 65535 ms。值为 0将取消激 活该功能。 RTSOFFD LY IN UInt Word 0 传输发送数据之后到 RTS 取消激活之前所等待的毫秒数:仅当硬件流控制处于活动状态时此参数才有 效。有效范围是 0 至 65535 ms。值为 0 将取消激 活该功能。 BREAKIN UInt Word 0 此参数指定,在每帧开始时,将在指定数量的位时 间内发送中断。Zui大值为 65535 位时间。值为 0将取消激活该功能。 IDLELINE IN UInt Word 0 该参数指定,在每帧开始前,线路将在指定数量的位时间内保持空闲状态。Zui大值为 65535 位时间。 值为 0 将取消激活该功能。 USR_END IN STRING[2] 0输入结束符。 Zui多可组态 2 个结束符。 发送包括结束符在内的所有数据,与所组态的帧长 度无关。 APP_END INSTRING[5] 0 输入要添加的字符。 Zui多可添加 5 个字符。 COM_RST IN/OUT --- Bool FALSE指令的初始化 将使用 TRUE 对指令进行初始化。随后会将 COM_RST 复位为 FALSE。 DONE OUT BoolFALSE 如果上一个请求无错完成,将变为 TRUE 并保持一 个周期 ERROR OUT Bool FALSE如果上一个请求有错完成,将变为 TRUE 并保持一 个周期 STATUS OUT Word 16#7000 错误代码(请参见错误消息)有关通用参数的其它信息,请参见“用于自由口操作的通用参数Receive_Config: 组态 PtP 接收方 (S7-1200,S7-1500) 说明 使用 CM1241 自模块的固件版本 V2.1 起,才能通过 CM1241 使用该指令。 说明Receive_Config 指令(接收组态)允许在运行期间更改接收参数(使用程序)。该指令可组态标记所接收数据的开始和结束的条件。CM 中未决的任何数据将在执行 Receive_Config 时 删除。Receive_Config 的组态更改以非保持性方式保存到 CM 上。设备组态中保存的参数将在 CPU或通信模块恢复电压时恢复。因此,当 CPU 或通信模块恢复电压时,必须再次从用户程序 调用 Receive_Config指令,以覆盖存储在设备组态中的参数。 参数 参数 声明 数据类型 默认值 说明 S7- 1200/ 1500 S7- 300/400/ WinAC REQ IN Bool FALSE 激活在此输入上出现上升沿时更改组态。 PORT IN PORT (UInt)Word 0 指定用于以下通信的通信模块: • 对于 S7-1500/S7-1200:设备组态中的“硬件 标识符”。 符号端口名称在PLC 变量表的“系统常 数”(System constants) 选项卡中指定并可应用 于此处。 • 对于S7-300/S7-400:设备组态中的“输入地 址”。 在 S7-300/400/WinAC 系统中,在 HWCN 中分配的输入地址中分配端口参数。 RECEIVE_ CONDITI ONS IN Variant Any ‑Receive_Conditions 的数据结构指定用于识别帧的 开始和结束条件。参数 声明 数据类型 默认值 说明 S7-1200/ 1500 S7- 300/400 / WinAC COM_RST IN/OUT --- Bool FALSE 指令的初始化将使用 TRUE 对指令进行初始化。随后会将 COM_RST 复位为 FALSE。 DONE OUT Bool FALSE如果上一个请求无错完成,将变为 TRUE 并保持一 个周期 ERROR OUT Bool FALSE 如果上一个请求有错完成,将变为TRUE 并保持一 个周期 STATUS OUT Word 16#7000 错误代码(请参见错误消息 (页 6120))有关通用参数的更多信息,请参见“用于自由口操作的通用参数 (页 6089)”。 Receive_P2P 指令的开始条件Receive_P2P 指令使用设备组态中指定的组态或通过 Receive_Config 指令确定自由口通信帧的开始和结束。帧的开始由开始条件定义。可以使用一个或多个开始条件确定帧开始。如果中断和空闲线路均已激活,则必须先满足中断的条件,然后满足空闲线路的条件。之后,满足其它条件之一(开始字符或开始序列)便足以开始数据传输。 开始条件“任意字符”(Any character)不能与其它开始条件结合使用。Receive_Conditions 参数的数据类型结构,第 1 部分(开始条件) 表格 4-151开始条件的 Receive_Conditions 的结构 参数 声明 数据类 型 默认值 说明 START.STARTC OND INWord 16#0002 指定开始条件 • 01H - 开始字符的检测 • 02H - 任意字符 • 04H - 换行符的检测 •08H - 空闲线路的检测 • 10H - 开始序列 1 的检测 • 20H - 开始序列 2 的检测 • 40H - 开始序列 3的检测 • 80H - 开始序列 4 的检测 将这些值相加即可组合开始条件。 START.IDLETI ME IN Word16#0028 空闲状态下检测到新的帧开始所需的位时间数量(默认 值:W#16#28)。仅当与“检测空闲线路”(Detectionof an idle line) 条件关联时。 0 到 FFFF START.STARTC HAR IN Byte 16#0002条件“起始字符”(Start character) 的起始字符。(默认 值:B#16#2) START.SEQ[1]. CTL INByte 0 开始序列 1,禁用/激活每个字符的比较:(默认值: B#16#0) 这些是起始字符串的每个字符的激活位。 • 01H -字符 1 • 02H - 字符 2 • 04H - 字符 3 • 08H - 字符 4 • 10H - 字符 5当禁用特定字符的某个位时,这意味着字符串中该位置 的每个字符都表示有效的开始字符串(例如,1FH = 已解 释的全部 5 个字符)。START.SEQ[1]. STR[1] .. START.SEQ[1]. STR.[5] IN Char[5] 0 开始序列1,开始字符(5 个字符)参数 声明 数据类 型 默认值 说明 START.SEQ[2]. CTL IN Byte 0 开始序列2,禁用/激活每个字符的比较。默认值: B#16#0) START.SEQ[2]. STR[1] .. START.SEQ[2].STR.[5] IN Char[5] 0 开始序列 2,开始字符(5 个字符) START.SEQ[3]. CTL IN Byte 0开始序列 3,禁用/激活每个字符的比较。默认值: B#16#0 START.SEQ[3]. STR[1] ..START.SEQ[3]. STR.[5] IN Char[5] 0 开始序列 3,开始字符(5 个字符) START.SEQ[4].CTL IN Byte 0 开始序列 4,禁用/激活每个字符的比较。默认值: B#16#0 START.SEQ[4]. STR[1].. START.SEQ[4]. STR.[5] IN Char[5] 0 开始序列 4,开始字符(5 个字符) 示例以十六进制编码格式查看下列接收到的数据:“68 10 aa 68 bb 10 aa 16”。下表中提供了组态的起始字符串。成功收到第一个字符 68H 后,即会评估起始字符串。成功收到第四个字符 (第二个 68H)后,即满足开始条件1。一旦满足开始条件,即开始评估结束条件。 起始字符串的处理可能因字符之间的校验、成帧或时间间隔中存在不同错误而取消。由于不满足开始条件,因此这些错误将阻止接收数据(输出错误消息)。