S7-S7 1200如何使用Hsp276怎么安装


  (一)硬盘和文件资源

  硬盘和CD-ROM设备使用块设备接口.硬盘设备文件存储在/dev目录下.

  字符设备文件存于rdsk子目录下块设备文件存在dsk子目录下.

}

最多可以连接三个 CM(类型不限)外加一个 CB因而总共可提供四个通信接口。 请将CM 安装到 CPU 或另一个 CM 的左侧将 CB 安装在 CPU 的前端。 有关模块安装和拆卸的详细说明请参见 S7-S7 1200如何使用 系统手册中的“安装”一章 (页 55)。

串行通信接口具有以下特征:

  • 通过扩展指令和库功能进行组态和编程
  • 通过 LED 显示传送和接收活动
  • 显示诊斷 LED(仅限 CM)
  • 均由 CPU 供电: 不必连接外部电源请参见 通信接口 (页 895)的技术规范。

通信模块有三个 LED 指示灯:

  • 诊断 LED (DIAG): 在 CPU 找到通信模块前诊断 LED 将一矗以红色闪烁。 CPU 在上电后会检查 CM并对其进行寻址。 诊断 LED 开始以绿色闪烁 这表示 CPU 寻址到 CM,但尚未为其提供组态 将程序下载到 CPU 后,CPU 会将組态下载到组态的 CM 执行下载到 CPU 操作后,通信模块上的诊断 LED 应为绿色常亮
  • 发送 LED (Tx): 从通信端口向外传送数据时,发送 LED 将点亮
  • 接收 LED (Rx): 通信端口接收数据时,该 LED 将点亮
    1. 偏置和端接 RS485 网络连接器
    2. 偏置和端接 RS485 网络连接器

Siemens 提供了一个 RS485 网络连接器 (页 923),可用来方便地将多台设备连接到

RS485 网絡 该连接器带有两组端子,分别用于连接输入和输出网络电缆 连接器还包括用于选择性地偏置和端接网络的开关。

但只能端接和偏置 RS485 網络的两端 不会端接或偏置这两个终端设备之间的设备。无电缆屏蔽: 所有位置的金属导线必须接触大约 12 mm (1/2 in)

① 开关位置 = 开 (On):端接且偏置

② 开关位置 = 关 (Off):无端接或偏置

③ 开关位置 = 开 (On):端接且偏置

CB 1241 提供了用于端接和偏置网络的内部电阻。 要终止或偏置连接应将 TRA 连接到TA,将 TRB 连接到 TB以便将内部电阻接到电路中。 CB 1241 没有 9 针连接器 下表列出了与通信伙伴上的 9 针连接器之间的连接。

最多可以连接三个 CM(类型不限)外加一个 CB因而总共可提供四个通信接口。 请将CM 安装到 CPU 或另一个 CM 的左侧将 CB 安装在 CPU 的前端。 有关模块安装和拆卸的详细说明请参见 S7-S7 1200如何使鼡 系统手册中的“安装”一章 (页 55)。

串行通信接口具有以下特征:

  • 通过扩展指令和库功能进行组态和编程
  • 通过 LED 显示传送和接收活动
  • 显示诊断 LED(仅限 CM)
  • 均由 CPU 供电: 不必连接外部电源请参见 通信接口 (页 895)的技术规范。

通信模块有三个 LED 指示灯:

  • 诊断 LED (DIAG): 在 CPU 找到通信模块前诊断 LED 将一直鉯红色闪烁。 CPU 在上电后会检查 CM并对其进行寻址。 诊断 LED 开始以绿色闪烁 这表示 CPU 寻址到 CM,但尚未为其提供组态 将程序下载到 CPU 后,CPU 会将组態下载到组态的 CM 执行下载到 CPU 操作后,通信模块上的诊断 LED 应为绿色常亮
  • 发送 LED (Tx): 从通信端口向外传送数据时,发送 LED 将点亮
  • 接收 LED (Rx): 通信端ロ接收数据时,该 LED 将点亮
    1. 偏置和端接 RS485 网络连接器
    2. 偏置和端接 RS485 网络连接器

Siemens 提供了一个 RS485 网络连接器 (页 923),可用来方便地将多台设备连接到

RS485 网络 该连接器带有两组端子,分别用于连接输入和输出网络电缆 连接器还包括用于选择性地偏置和端接网络的开关。

但只能端接和偏置 RS485 网絡的两端 不会端接或偏置这两个终端设备之间的设备。无电缆屏蔽: 所有位置的金属导线必须接触大约 12 mm (1/2 in)

① 开关位置 = 开 (On):端接且偏置

② 開关位置 = 关 (Off):无端接或偏置

③ 开关位置 = 开 (On):端接且偏置

CB 1241 提供了用于端接和偏置网络的内部电阻。 要终止或偏置连接应将 TRA 连接到TA,将 TRB 连接箌 TB以便将内部电阻接到电路中。 CB 1241 没有 9 针连接器 下表列出了与通信伙伴上的 9 针连接器之间的连接。

0 0

① 将 M 连接到电缆屏蔽

CPU 支持下列有关基於字符的串行协议的点对点通信 (PtP) PtP 可提供最大的自由度和灵活性,但需要在用户程序中包含大量的实现

PtP 可用于实现多种可能性:

  • 能够将信息直接发送到外部设备,例如打印机
  • 能够从其它设备(例如,条码阅读器、RFID 阅读器、第三方照相机或视觉系统以及许多其它类型的设備)接收信息
  • 能够与其它设备(例如GPS 设备、第三方照相机或视觉系统、无线调制解调器以及更多其它设备)交换信息(发送和接收数据)

PtP 通信属于串行通信,它使用标准 UART 来支持多种波特率和奇偶校验选项 RS232

和 RS422/485 通信模块及 RS485 通信板提供了用于执行 PtP 通信的电气接口。

许多 PtP 指令使鼡 REQ 输入在由低电平向高电平切换时启动操作 REQ 输入在指令执行一次的时间内必须为高电平 (TRUE),不过 REQ 输入可以在所需时间内一直保持为 TRUE 在 REQ 输叺为 FALSE 时调用指令以便能复位 REQ 输入的历史状态之前,指令不会启动其它操作 只有这样,指令才能检测低电平到高电平的跳变以启动下一个操作

将 PtP 指令放入程序时,STEP 7 会提示用户指定背景数据块 对每个 PtP 指令调用使用一个唯一的背景数据块。 这样可确保每个指令都能正确地处悝诸如 REQ 等输入

在通信设备组态过程中分配端口地址。 组态后可以从参数帮助下拉列表中选择默认端口的符号名称。 分配的 CM 或 CB 端口值为設备配置属性“硬件标识符” 端口

符号名称在 PLC 变量表的“常量”(Constants) 选项卡中分配。

有几个参数以位时间(通过组态的波特率确定)为单位指定的 以位时间为单位指定参数可以使参数与波特率无关。 所有以位时间为单位的参数都可以被指定为最多
设置为 TRUE 并持续执行一次所需嘚时间以表明上一请求已经完成且没有出现错误;否则为 FALSE。
设置为 TRUE 并持续执行一次所需的时间以表明请求的动作已经完成且没有出现錯误并已接收新的数据;否则为FALSE。
设置为 TRUE 并持续执行一次所需的时间以表明上一请求已经完成但出现了错误,相应的错误代码在 STATUS
0
  • 如果设置了 ERROR 位则 STATUS 被设置为一个错误代码。
  • 如果没有设置以上任何一位则指令会返回说明功能当前状态的状态结果。

STATUS 在该功能执行期间一直保歭其值

DONE、NDR 和 ERROR 参数仅置位一个执行周期的时间。 程序逻辑必须将临时输出状态值保存在数据锁存器中以便能检测到后续程序扫描中的状態变化。

表格 12- 5 公共条件代码

功能忙于处理第一个调用
功能忙于处理后续调用(第一个调用后的轮询)。
参数 x 中的指针非法
所有内部实例存储器都被占用正在执行的并发指令过多
超时、模块错误或其它内部错误
由于正在后台进行参数化,参数化失败

CM 或 CB 返回一条接收到的消息,该消息的长度大于长度参数所允许的值

内部错误: 错误的消息长度、错误的子模块或非法消息请联系客户支持。
内部错误: 参数囮消息中的版本错误请联系客户支持
内部错误: 参数化消息中的记录长度错误请联系客户支持。

表格 12- 6 常见的错误类别

用于定义常见端口組态错误
用于定义常见传送组态错误
用于定义常见接收组态错误
用于定义常见传送运行时错误
用于定义常见接收运行时错误
用于定义与所囿信号处理相关的常见错误
PORT_CFG 可用于通过用户程序更改端口参数如波特率等参数。

可以在设备配置属性中设置端口的初始静态组态或者僅使用默认值。 可以在用户程序中执行 PORT_CFG 指令来更改组态

PORT_CFG 组态更改不会永久存储在 CPU 中。 CPU 从 RUN 模式切换到 STOP 模式和循环上电后将恢复设备配置中組态的参数 更多信息,请参见 组态通信端口 (页 630)和管理流控制 (页 632)

表格 12- 8 参数的数据类型

在该输入的上升沿激活组态更改。 (默认值: False)
安裝并组态 CM 或 CB 通信设备之后端口标识符将出现在

PORT 功能框连接的参数助手下拉列表中。 分配的 CM 或 CB 端口值为设备配置属性“硬件标识符” 端ロ符号名称在 PLC 变量表

0 - 点对点通信协议(默认值)

1..n - 用于在将来定义特定的协议

端口波特率(默认值:0):
端口奇偶校验(默认值:0):

1 = 无奇耦校验、2 = 偶校验、3 = 奇校验、4 = 传号校验、5 = 空号校验

每个字符的位数(默认值:):
停止位(默认值:0):
流控制(默认值:0):
指定用作 XON 字苻的字符。 这通常是 DC1 字符 (11H) 只有启用流控制时,才会评估该参数(默认值:0)
指定用作 XOFF 字符的字符。 这通常是 DC3 字符 (13H) 只有启用流控制时,才会评估该参数(默认值:0)
指定在接收 XOFF 字符后等待 XON 字符的时间,或者指定在启用

RTS 后等待 CTS 信号的时间(0 到 65535 ms) 只有启用流控制时,才會评估该参数 (默认值:2000)

上一请求已完成且没有出错后,保持为 TRUE 一个执行周期时间
上一请求已完成但出现错误后保持为 TRUE 一个执行周期时间
执行条件代码(默认值:0)
特定奇偶校验选项不存在。
特定流控制类型不存在
等待时间为 0 且流控制启用
XON 和 XOFF 是非法值(例如,同一個值)
SEND_CFG 可用于动态组态 PtP 通信端口的串行传输参数 执行 SEND_CFG 时,将放弃 CM 或 CB 内所有排队的消息

可以在设备配置属性中设置端口的初始静态组态,或者仅使用默认值 可以在用户程序中执行 SEND_CFG 指令来更改组态。

SEND_CFG 组态更改不会永久存储在 CPU 中 CPU 从 RUN 模式切换到 STOP 模式和循环上电后将恢复设备配置中组态的参数。 请参见 组态传送(发送)参数 (页 634)

表格 12- 11 参数的数据类型

在该输入的上升沿激活组态更改。(默认值: False)
安装并组态 CM 或 CB 通信设备之后端口标识符将出现在

PORT 功能框连接的参数助手下拉列表中。 分配的 CM 或 CB 端口值为设备配置属性“硬件标识符” 端口符号名称茬 PLC 变量表的“系统常量”(System constants) 选项卡中分配。 (默认值:0)

启用 RTS 后执行任何 Tx 数据传输前要等待的毫秒数 只有启用硬件流控制时,该参数才有效 有效范围是 0 - 65535 ms。值 0 表示禁用此功能 (默认值:0)
执行 Tx 数据传输后禁用 RTS 前要等待的毫秒数: 只有启用硬件流控制时,该参数才有效 有效范围是 0 - 65535 ms。值 0 表示禁用此功能 (默认值:0)
该参数指定在各消息开始时将发送指定位时间的中断。 最大值是

65535 个位时间最多为 8 秒。 值 0 表礻禁用该功能 (默认值:12)

该参数指定在各消息开始前线路将保持空闲指定的位时间。 最大值是 65535 个位时间最多为 8 秒。 值 0 表示禁用该功能
上一请求已完成且没有出错后,保持为 TRUE 一个执行周期时间
上一请求已完成但出现错误后保持为 TRUE 一个执行周期时间
执行条件代码(默認值:0)
不允许传送中断组态。 请联系客户支持
中断时间大于允许的最大值。
空闲时间大于允许的最大值
RCV_CFG 可用于动态组态 PtP 通信端口的串行接收方参数。 该指令可组态表示接收消息开始和结束的条件 执行 RCV_CFG

时,将放弃 CM 或 CB 内所有排队的消息

可以在设备配置属性中设置通信端口的初始静态组态,或者索性使用默认值 可以在用户程序中执行 RCV_CFG 指令来更改组态。

RCV_CFG 组态更改不会永久存储在 CPU 中 CPU 从 RUN 模式切换到 STOP 模式和循环上电后将恢复设备配置中组态的参数。 有关详细信息请参见 组态接收参数(页 634)。

表格 12- 14 参数的数据类型

在该输入的上升沿激活组态更改(默认值:False)
安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在

PORT 功能框连接的参数助手下拉列表中分配的 CM 或

CB 端口值为设备配置属性“硬件标识符”。端口符号名称在

如下文所述条件数据结构指定消息开始和结束条件。
上一请求已完成且没有出错后保持为 TRUE 一个扫描周期时间
上一请求已完成但出现错误后,保持为 TRUE 一个扫描周期时间
执行条件代码(默认值:0)

RCV_PTP 指令使用 RCV_CFG 指令指定的组态来确定点对点通信消息的开始和结束消息开始由开始条件确定。 消息开始可以由一个开始条件或开始条件的组合来确定 如果指定多个开始条件,则只有满足所有条件后才能使消息开始

有关消息开始条件的说明,请参见主题“组态接收参数 (页 635)”

参数 CONDITIONS 数据类型结构的第 1 部分(开始条件)
指萣开始条件(默认值:1)
线路空闲超时所需的位时间数。 (默认值:40) 仅与线路空闲条件一起使用。 0 到 65535
用于开始字符条件的开始字符 (默认值: B#16#2)
针对每个字符执行的序列 1 忽略/比较控制: (默认值:

它们是为开始序列中各字符启用的位。

禁用与某个字符关联的位意味着該序列位置中的任意字符均符合条件

序列 1 开始字符(5 个字符)。 默认值: 0
针对每个字符执行的序列 2 忽略/比较控制 (默认值:
序列 2 开始芓符(5 个字符)。 默认值: 0
针对每个字符执行的序列 3 忽略/比较控制 默认值:
序列 3 开始字符(5 个字符)。 默认值: 0
针对每个字符执行的序列 4 忽略/比较控制默认值:
序列 4 开始字符(5 个字符),默认值:0

请注意以下所接收的十六进制编码消息: "“68 10 aa 68 bb 10 aa 16”以及下表中列出的已组态开始序列 在成功接收到第一个 68H 字符时,开始评估开始序列 在成功接收到第

四个字符(第二个 68H)时,开始条件 1 得到满足 只要满足了开始條件,就会开始评估结束条件

开始序列处理会因各种奇偶校验、成帧或字符间时间错误而终止。 由于不再满足开始条件因而这些错误將导致不会有接收消息。

消息结束由指定的结束条件确定 消息结束由第一次出现的一个或多个已组态结束条件来确定。 主题“组态接收參数 (页 635)”中“消息结束条件”部分介绍了可以在 RCV_CFG 指令中组态的结束条件

可以在设备配置的通信接口的属性中组态结束条件,或者通过 RCV_CFG 指囹组态结束条件 只要 CPU 从 STOP 模式切换到 RUN 模式,接收参数(开始条件和结束条件)就将恢复为设备配置设置 如果 STEP 7 用户程序执行 RCV_CFG,则这些设置將更改为

参数 CONDITIONS 数据类型结构的第 2 部分(结束条件)
该参数指定消息结束条件:
最大消息长度: 仅当选择最大长度结束条件时使用 1 到 1024 个字節
长度域在消息中的字节位置。 仅与 N + LEN + M

结束条件一起使用 1 到 1022 个字节

字节域的大小(1、2 或 4 个字节)。 仅与 N + LEN + M 结束条件一起使用
指定跟在长度域后、不包含在长度域值内的字符数。 该参数仅与 N + LEN + M 结束条件一起使用 0 到 255 个字节
指定接收第一个字符所需的等待时间。 如果在指定时间内沒有成功接收到字符接收操作将被终
止且包含错误。 该参数仅与响应时间条件一起使
此参数不是消息结束条件因为在接收到第一个
响應字符时评估即终止。 由于在预期有响应时却
接收不到响应因此仅就其能够终止接收方操作
而言,它又是一个结束条件 必须选择一个單独
指定在接收到第一个字符后完成接收整条消息所需的等待时间。 只有选择了消息超时条件时才会使用该参数。 (0 到 65535 毫秒)
指定字符間的位时间数 如果字符间的位时间数
超出指定值,则结束条件得到满足 该参数仅与
字符间隙条件一起使用。 (0 到 65535 个位时
针对每个字符執行的序列 1 忽略/比较控制:
它们是为结束序列中各字符启用的位 字符 1 是
位 0,字符 2 是位 1依此类推,字符 5 是位 4
禁用与某个字符关联的位意味着该序列位置中的
序列 1 开始字符(5 个字符)
所选结束条件非法;未选择结束条件
启用了接收中断,但不允许此操作
启用了最大长度結束条件,最大长度是 0 或大于 1024
启用了计算长度,但长度不是 1、2 或 4
启用了计算长度,但 M 值大于 255
启用了计算长度,但计算长度大于 1024
启鼡了响应超时,但响应超时为零
启用了字符间隙超时,但该字符间隙超时为零
启用了线路空闲超时,但该线路空闲超时为零
启用了結束序列,但所有字符均“不相关”
启用了开始序列(4 个中的任何一个),但所有字符均“不相关”
SEND_PTP 用于启动数据传输,并将分配的緩冲区传送到通信接口 在 CM 或 CB 块以指定波特率发送数据的同时,CPU 程序会继续执行 仅一个发送操作可以在某一给定时间处于未决状态。 如果在 CM 或 CB 已经开始传送消息时执行第二个 SEND_PTPCM

或 CB 将返回错误。

表格 12- 20 参数的数据类型

在该传送使能输入的上升沿激活所请求的传送 这会启动将緩冲区数据传送到点对点通信接口。 (默认值: False)
安装并组态 CM 或 CB 通信设备之后端口标识符将出现在 PORT 功能框连接的参数助手下拉列表中。 汾配的 CM 或 CB 端口值为设备配置属性“硬件标识符” 端口符号名称在 PLC 变量表的“系统常
该参数指向传送缓冲区的起始位置。 (默认值:0) 注: 不支持布尔数据或布尔数组
传输的帧长度(字节)(默认值:0) 传输复杂结构时,始终使用长度 0
该参数选择普通点对点协议或 Siemens 提供嘚特定协议所在的缓冲区,这些协议在所连接的 CM 或 CB 中实施 (默认值: False)

FALSE = 用户程序控制的点对点操作。 (仅限有效选项)

上一请求已完成苴没有出错后保持为 TRUE 一个扫描周期时间
上一请求已完成但出现错误后,保持为 TRUE 一个扫描周期时间
执行条件代码(默认值:0)

如果通信接ロ接受传送数据则该指令将返回状态值 16#7001。 如果 CM 或 CB 仍在忙于传送则后续的 SEND_PTP 执行将返回 16#7002。 传送操作完成后CM 或 CB 将返回传送操作状态 16#0000(如果未出错)。 后续执行 REQ 为低电平的 SEND_PTP 时 将返回状态 16#7000(不忙)。

下图显示了输出值与 REQ 的关系 假设定期调用该指令以检查传送过程的状态。 在丅图中假设每次扫描都调用该指令(用 STATUS 值表示)。

下图显示通过 REQ 线路脉冲(持续一个扫描周期)启动传送操作时DONE 和 STATUS

参数是如何仅在一個扫描周期内有效。

传送方激活期间发出新请求
由于在等待时间内没有 CTS 信号传送中止
由于没有来自 DCE 设备的 DSR,传送中止
由于队列溢出(传送 1024 个字节以上)传送中止
反向偏置信号(断线检测)

SEND_PTP 指令可以传送的最小数据单位是一个字节。 BUFFER 参数决定要传送的数据的大小 BUFFER 参数不接受 Bool 数据类型或 Bool 数组。

可以将 LENGTH 参数始终设置为 0从而确保 SEND_PTP 发送 BUFFER 参数表示的整个数据结构。 如果仅要传送 BUFFER 参数中的部分数据结构则可对 LENGTH 进荇以下设置:

发送 BUFFER 参数中定义的全部数据。 当 LENGTH = 0 时用户无须指定传送字节数。
LENGTH 值必须包含此数据类型的字节计数 例如,对于 Word 值LENGTH 值必须為二。 对于 Dword 或 RealLENGTH 值必须为四。 否则不会传送任何数据并返回错误 8088H。
LENGTH 值可以包含小于结构完整字节长度的字节数在这种情况下,将仅发送 BUFFER 中的结构的前 LENGTH 个字节 由于
结构的内部字节组织不总是确定不变的,所以可能得到无法预料
的结果 在这种情况下,使用值为 0 的 LENGTH 来发送整个结
LENGTH 值必须包含小于数组完整字节长度的字节数而且还必须为数据元素字节计数的倍数。 例如对于 Word 数组,

LENGTH 参数值必须为二的倍数;對于 Real 数组必须为四的倍数。 指定 LENGTH 后将传送 LENGTH 字节中包含的相应数量的数组元素。 例如如果 BUFFER 包含由 15 个 Dword 构成的数组(总共 60 个字节),LENGTH 指定為 20则将传送数组

参数 LENGTH 包含要传送的字符数。 只传送 String 中相应数量的字符 而不会传送 String 的最大长度和实际长度的字节数。
RCV_PTP 用于检查 CM 或 CB 中已接收的消息 如果有消息,则会将其从 CM 或 CB 传送到 CPU 如果发生错误,则会返回相应的

表格 12- 24 参数的数据类型

该输入为 TRUE 并且有消息时会将消息从 CM 戓 CB 传送到
安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在 PORT 功能框连接的参数助手下拉列表中分配的 CM 或 CB 端口值为设备配置属性“硬件标識符”。 端口符号名称在 PLC 变量表的“系统常
该参数指向接收缓冲区的起始位置 该缓冲区应该足够大,可以接收最大长度消息

不支持布爾数据或布尔数组。 (默认值:0)

新数据就绪且操作无错完成后保持为 TRUE 一个执行周期时间。
操作已完成但出现错误后保持为 TRUE 一个执行周期时间。
执行条件代码(默认值:0)
返回消息的长度(字节)(默认值:0)

NDR 或 ERROR 为 TRUE 时STATUS 值有效。 STATUS 值提供 CM 或 CB 中的接收操作终止的原因 它通瑺是正值,表示接收操作成功且接收过程正常终止 如果

STATUS 值为负数(十六进制值的最高有效位置位),则表示接收操作因错误条件终止唎如,奇偶校验、组帧或超限错误

每个 PtP 通信接口最多可缓冲 1024 字节。 这可以是一个大消息或几个较小的消息 如果 CM 或 CB 中存在多个消息,则 RCV_PTP 指令将返回最早的可用消息 随后执行

RCV_PTP 指令将返回下一个最早的可用消息。

因接收缓冲区已满消息被终止
因出现奇偶校验错误,消息被終止
因组帧错误消息被终止
因出现超限错误,消息被终止
因计算长度超出缓冲区大小消息被终止
反向偏置信号(断线检测)
因接收到朂大字符长度,消息被终止
因消息超时消息被终止
消息因字符间超时而终止
因已满足“N+LEN+M”长度条件,消息被终止
因已满足结束序列消息被终止

表格 12- 27 参数的数据类型

该使能输入出现上升沿时将激活接收方复位(默认值:False)
安装并组态 CM 或 CB 通信设备之后,端口标识符将出现在 PORT 功能框连接的参数助手下拉列表中分配的 CM 或 CB 端口值为设备配置属性“硬件标识符”。端口符号名称在 PLC 变量表的“系统常
在一个扫描周期內为 TRUE 时表示上一个请求已完成且没有错误。
为 TRUE 时表示上一个请求已完成但有错误。 此外该输出为

TRUE 时,STATUS 输出还会包含相关错误代码

錯误代码(默认值:0)

表格 12- 29 参数的数据类型

在该输入的上升沿获取 RS232 信号状态值(默认值:False)
安装并组态 CM 或 CB 通信设备之后,端口标识符将出現在 PORT 功能框连接的参数助手下拉列表中 分配的 CM 或 CB 端口值为设备配置属性“硬件标识符”。 端口符号名称在 PLC 变量表的“系统常
新数据就绪苴操作无错误地完成时在一个扫描周期内为 TRUE
操作已完成但出现错误后,保持为 TRUE 一个扫描周期时间
执行条件代码(默认值:0)
数据终端就緒模块就绪(输出)。 默认值: False
数据设备就绪通信伙伴就绪(输入)。 默认值: False
请求发送模块已做好发送准备(输出)。 默认值: False
尣许发送通信伙伴可以接收数据(输入)。 默认值: False
数据载波检测接收信号电平(始终为 False,不支持)
响铃指示器来电指示(始终为 False,不支持)

表格 12- 32 参数的数据类型

在该输入的上升沿启动设置 RS232 信号的操作(默认值:
安装并组态 CM 或 CB 通信设备之后端口标识符将出现在PORT 功能框连接的参数助手下拉列表中。分配的 CM 或 CB 端口值为设备配置属性“硬件标识符”端口符号名称在 PLC 变量表的“系统常量”(System constants) 选项卡中分配。 (默认
选择要设置的信号: (允许多个) 默认值: 0
请求发送,模块准备好将值发送到设备(真或假)默认值:
数据终端就绪,模块准備好将值发送到设备(真或假) 默认值: False
数据设备就绪(仅适用于 DCE 型接口),不使用
上一请求已完成且没有出错后,保持为 TRUE 一个执行周期时间
上一请求已完成但出现错误后保持为 TRUE 一个执行周期时间
执行条件代码(默认值:0)
因硬件流控制的原因而无法设置信号

可以通過以下两种方式组态通信接口:

  • 使用 STEP 7 中的设备组态组态端口参数(波特率和奇偶校验)、发送参数和接收参数。 设备组态设置存储在 CPU 中 茬循环上电和从 RUN 模式切换到 STOP 模式后会应用这些设置。

组态硬件设备 (页 121)之后通过选择机架上的某个 CM 或 CB(如果已组态)来组态通信接口的参數。

巡视窗口中的“属性”(Properties) 选项卡显示所选 CM 或 CB 的参数 选择“端口组态”(Port

  • 流控制(仅限 RS232)

外),无论是组态 RS232 或 RS485 通信模块还是 RS485 通信板端口組态参数都是相同的。 但是参数值可以不同。

    • 全双工 (RS422) 四线制模式(点对点连接)
    • 全双工 (RS422) 四线制模式(多点主站)
    • 全双工 (RS422) 四线制模式(多點从站)

在用户程序中通过 PORT_CFG 指令设置的参数值会覆盖设备组态中设定的端口组态设置 请注意,发生掉电时S7-S7 1200如何使用 不会保留通过 PORT_CFG 指令設置的参数。

奇偶校验的默认值是无奇偶校验 有效选项有: 无奇偶校验、偶校验、奇校验、传号(奇偶校验位始终设为 1)和空号(奇偶校验位始终设为 0)。
字符中的数据位数 有效选择为 7 或 8。
停止位的数目可以是 1 或 2 默认值是 1。
对于 RS232 通信模块可以选择硬件或软件流控制,如“管理流控制 (页 632)”

部分所述 如果选择硬件流控制,则可以选择是 RTS 信号始终激活还是切换

RTS 如果选择软件流控制,则可以定义 XON 和 XOFF 字符

等待时间是指 CM 或 CB 在断言 RTS 后等待接收 CTS 的时间,或者在接收

XOFF 后等待接收 XON 的时间具体取决于流控制类型。 如果在通信接口收到预期的 CTS 或 XON 之前超过了等待时间CM 或 CB 将中止传送操作并向

用户程序返回错误。 指定等待时间以毫秒表示。 范围是 0 到 65535 毫秒

选择偏置选项。 有效值为无、囸向偏置和反向偏置 反向偏置用于检测电缆断线。

流控制是指为了不丢失数据而用来平衡数据发送和接收的一种机制 流控制可确保传送设备发送的信息量不会超出接收设备所能处理的信息量。 流控制可以通过硬件或软件来实现 RS232 CM 支持硬件及软件流控制。 RS485 CM 和 CB 不支持流控制 CM 1241 RS422/485 模块的 422 模式支持软件流控制。 可在组态端口 (页 630)时或使用PORT_CFG 指令 (页 613)指定流控制类型

硬件流控制: RTS 切换

如果为 RS232 CM 启用 RTS 切换的硬件流控制,则模塊会将 RTS 信号设置为激活状态以发送数据 它还会监视 CTS 信号以确定接收设备是否能接收数据。 CTS 信号激活后只要 CTS 信号保持激活状态,模块便鈳发送数据 如果 CTS 信号变为非激活状态,则传送必须停止

CTS 信号变为激活状态时,传送会继续执行 如果 CTS 信号在组态的等待时间内未激活,则模块会中止传送并向用户程序返回错误 在端口组态 (页 630)中指定等待时间。

对于需要“传送已激活”信号的设备适合使用 RTS 切换流控制。 例如无线调制解调器使用 RTS 作为“键”信号来激励无线发送器。 RTS 切换流控制对于标准电话调制解调器不起作用 对电话调制解调器使用“RTS 始终激活”选项。

硬件流控制: RTS 始终激活

在“RTS 始终激活”模式下CM 1241 默认情况下将 RTS 设置为激活状态。 设备(如电话调制解调器等)监视来洎 CM 的 RTS 信号并将该信号用作允许发送信号。 调制解调器仅在 RTS 处于激活状态时才向 CM 传送数据即,电话调制解调器在见到激活的 CTS 信号后发送數据如果 RTS 处于非激活状态,电话调制解调器不向 CM 传送数据

要使调制解调器随时都能向 CM 发送数据,请组态“RTS 始终激活”硬件流控制 CM 因此会将 RTS 信号设置为始终激活。 即使模块无法接受字符CM 也不会将 RTS 设置为非激活状态。 传送设备必须确保不会使 CM 的接收缓冲区超负荷运行

利用数据终端就绪 (DTR) 和数据设备就绪 (DSR) 信号

对于这两种硬件流控制类型的任何一种,CM 都会将 DTR 设置为激活状态 只有当 DSR 信号变为激活状态时,模塊才会进行传送 仅在发送操作开始时评估 DSR 的状态。 如果 DSR 在传送操作开始后变为非激活状态将不能暂停传送操作。

软件流控制使用消息Φ的特殊字符来实现流控制 将组态表示 XON 和 XOFF 的十六进制字符。

XOFF 指示传送必须停止 XON 指示传送可以继续。 XOFF 和 XON 不得是相同的字符

传送设备从接收设备收到 XOFF 字符时,将停止传送 传送设备收到 XON 字符时,传送又继续进行 如果 CM 在通过端口组态 (页 630)指定的等待时间内没有收到 XON 字符,它將中止传送并向用户程序返回错误

软件流控制需要全双工通信,因为在传送过程中接收伙伴必须能够将 XOFF 发送到传送伙伴 软件流控制只能用于仅包含 ASCII 字符的消息。 二进制协议无法使用软件流控制

组态传送(发送)和接收参数

在 CPU 可进行 PtP 通信前,必须组态传送(或发送)消息和接收消息的参数 这些参数决定了在向目标设备传送消息或从目标设备接收消息时的通信工作方式。

在设备组态中可以通过指定所選接口的“已传送消息的组

message) 属性,来组态通信接口传送数据的方式

还可以使用 SEND_CFG (页 615) 指令,通过用户程序动态组态或更改传送消息参数说奣

在用户程序中通过 SEND_CFG 指令设置的参数值会覆盖该端口组态设置。 请注意发生掉电时,CPU 不会保留通过 SEND_CFG 指令设置的参数

指定在 RTS 激活后传送啟动前需等待的时间。 范围是 0 到 65535 ms默认值为 0。仅当 端口组态 (页 630)指定的是硬件流控制时该参数才有效。 在经过

RTS 接通延迟时间后才会评估 CTS

該参数仅适用于 RS232 模块。

指定传送完成后 RTS 禁用前需等待的时间 范围是 0 到 65535 ms,默认值为

0仅当 端口组态 (页 630)指定的是硬件流控制时,该参数才有效

该参数仅适用于 RS232 模块。

指定在每条消息开始时在 RTS 接通延时(如果已组态)已到且 CTS 已激活

用户指定多少个位的时间构成一个中断,线蕗在中断期间保持空号状态 默认

值为 12,最大值为 65535即最长 8 秒的限制。
发送中断后线路空闲信号 指定在消息开始前发送线路空闲信号 如果组态了中断,则将在中断后发送
“中断后线路空闲”(Idle line after a break) 参数指定多少个位时间构成一次线路空闲,线路在空闲期间保持传号状态 默认徝为 12,最大值为 65535即最长8 秒的限制。

通过设备组态可以组态通信接口接收数据以及识别消息开始和结束的方式。 在所选接口的接收消息組态中指定以上参数

还可以在用户程序中使用 RCV_CFG 指令 (页 616)来动态组态或更改接收消息参数。说明

在用户程序中通过 RCV_CFG 指令设置的参数值会覆盖該端口组态设置 请注意,发生掉电时CPU 不会保留通过 RCV_CFG 指令设置的参数。

用户可以决定通信接口识别消息开始的方式 在满足所组态的结束条件之前,开始字符以及组成消息的字符会一直进入接收缓冲区

可以指定多个开始条件。 如果指定多个开始条件则只有在满足所有開始条件后才认为消息开始。 例如如果用户组态了线路空闲时间和特定开始字符,CM 或 CB 将首先查找要满足的线路空闲时间要求然后 CM 将查找指定的开始字符。 如果收到其它某个字符而不是指定的开始字符CM 或 CB 将通过再次查找线路空闲时间来重新启动消息开始条件搜索。

“任意字符”条件指定成功接收任何字符都将表示消息开始。 该字符是消息中的第一个字符
“线路中断”条件指定在接收中断字符后开始消息接收操作。
“线路空闲”条件指定在接收线路空闲或平静了指定位时间后开始消息接收操作 一旦出现该条件,即启动消息接收

② 偅启线路空闲定时器

③ 检测到线路空闲并启动消息接收操作

通过单个字符识别消息开始

指定通过特殊字符指示消息开始。 然后该字符便荿为消息中的第一个字符。在该特定字符前接收到的任何字符都将被丢弃 默认字符是 STX。
指定通过最多四个组态序列中的一个特殊字符序列来指示消息开始 可以为每个序列最多指定 5 个字符。 对于每个字符位置可以指定一个特定的十六进制字符,或者指定在序列匹配时忽畧该字符(通配符字符) 字符序列中最后一个特定字符终止该开始条件序列。

程序根据组态的开始条件对进入序列进行评估直到满足開始条件为止。 只要满足了开始序列就会开始评估结束条件。

最多可组态四个特定字符序列 如果几个不同的字符序列都指示消息开始,则使用多序列开始条件 如果与其中一个字符序列相匹配,消息就会开始

检查开始条件的顺序是:

检查多个开始条件时,如果有一个條件没有满足则 CM 或 CB 将从第一个所需的条件开始重新启动检查。 CM 或 CB 确定已满足启动条件后将开始评估结束条件。

组态示例 - 消息在两个字苻序列出现一个时开始

请注意以下消息开始条件组态:

对于该组态只要出现其中一个序列,即会满足开始条件:

  • 接到一个由五个字符构荿的序列且其第一个字符是 0x6A 而第五个字符是 0x1C

时。 对于该组态位置 2、3 和 4 的字符可以是任意字符。 在接到第五个字符后将开始评估结束條件。

  • 接到两个连续的 0x6A 字符(前面为任意字符)时 在这种情况下,会在接到第二个

0x6A 后开始评估结束条件(3 个字符) 第一个 0x6A 前面的字符包含在开始条件中。

满足该开始条件的实例序列有:

用户还可以组态通信接口识别消息结束的方式 可以组态多个消息结束条件。 如果出現组态条件中的任何一个消息就会结束。

例如可以采用消息超时 300 ms、字符间超时 40 个位的时间以及最大长度 50 个字节作为消息结束的结束条件。 如果接收消息的时间超过 300 ms、任意两个字符间的间隔超过

40 个位的时间或接收到 50 个字节消息即会结束。

经过了组态的消息结束等待时间後视为消息结束。 消息超时时间从满足开始条件开始计算 默认值是 200 ms,有效范围是 0 到 65535 ms

② 满足消息开始条件: 消息定时器启动

③ 消息定時器时间已到并终止消息

如果在接收到有效的开始序列之前超过了组态的响应等待时间,视为消息结

束 响应超时时间从传送结束和 CM 或 CB 开始接收操作时开始计算。 默认响应超时时间为 200 ms取值范围是 0 到 65535 ms。如果在响应时间段RCVTIME 内没有接收到字符将向相应的 RCV_PTP 指令返回错误。 响应超時不定义具体结束条件 它仅指定必须在指定时间内成功接收字符。 用户必须另组态一个结束条件来指示实际的消息结束

③ 必须在该时間之前成功接收到第一个字符。

通过字符间隙识别消息结 经过了组态的消息中两个连续字符间的最大超时后视为消息结束。 字符间隙的默认值是 12 个位的时间最大值是 65535 个位的时间,即最长 8 秒

③ 字符间定时器时间已到并终止消息。

通过最大长度识别消息结 在接收到组态的朂大字符数后视为消息结束。 最大长度的有效范围是 1 到
使用该条件可以防止消息缓冲区超负荷运行错误 如果将该结束条件与超时结
束條件结合使用,在出现超时条件时即使未达到最大长度也会提供所有有效
的已接收字符。 仅当最大长度已知时该条件才支持长度可变嘚协议。
消息本身指定消息长度 在接收到指定长度的消息后,视为消息结束 以下说明了用于指定和解释消息长度的方法。
在接收到指萣的字符后视为消息结束。
通过字符序列识别消息结 在接收到指定的字符序列后视为消息结束。 可以指定最多由 5 个字符组成的
序列 對于每个字符位置,可以指定一个具体的十六进制字符或者指定在序
结束条件不包括被忽略的前导字符。 结束条件包括被忽略的尾随字苻
组态示例 - 出现字符序列时结束消息

请注意以下消息结束条件组态:

在这种情况下,在接收到两个连续的 0x7A 字符(后跟任意两个字符)时即满足结束条件。 0x7A 0x7A 序列前面的字符不是结束字符序列的组成部分 终止结束字符序列时需要跟在 0x7A 0x7A 序列后面的两个字符。 字符位置 4 和 5 中接收的值不相关但必须接收它们才能满足结束条件。

选择在消息中包括消息长度这一特殊条件时必须提供三个用于定义消息长度相关信息的参数。

实际消息结构会因所用的协议而变化 三个参数如下所示:

  • n: 消息中出现长度说明符的字符位置(从 1 开始)
  • 长度大小: 长度说奣符的字节数(1、2 或 4)
  • 长度 m: 跟在长度说明符后、不包括在长度计数范围内的字符数

结束字符可不连续。 “长度 m”值可用于指定大小不包含在长度字段中的校验和字段的长度

这些字段位于设备属性的接收消息组态中:

实例 1: 假设某条消息是根据以下协议构造的:

长度计数包括字符 3 到 14

请按以下说明组态该消息的接收消息长度参数:

  • n = 2(消息长度从字节 2 开始。)
  • 长度大小 = 1(消息长度在一个字节中定义)
  • 长度 m = 0(長度说明符后没有不包括在长度计数中的字符。 长度说明符后有 12 个字符)

在本例中,从 3 到 14(包括 3 和 14)的字符都是 Len (n) 计数的字符实例 2: 假設另一条消息是根据以下协议构造的:

长度计数包括字符 5 到 10
数据单元 = 3 个字节

请按以下说明组态该消息的接收消息长度参数:

  • n = 3(消息长度从芓节 3 开始。)
  • 长度大小 = 1(消息长度在一个字节中定义)
  • 长度 m = 3(长度说明符后有 3 个字符不包括在长度计数中。 在本实例的协议中字符 SD2、FCS 囷 ED 不包括在长度计数中。 其它 6 个字符均包括在长度计数中;因此长度说明符后总共有 9 个字符。)

在本例中从 5 到 10(包括 5 和 10)的字符都是 Len (n) 計数的字符。

STEP 7 提供了一些扩展指令使得用户程序能够使用程序中设计和指定的协议来执行点对点通信。 这些指令可以分为以下两类:

必須先组态通信接口端口以及用于发送数据和接收数据的参数然后才能通过用户程序执行 PtP 通信。

可以通过设备配置或用户程序中的如下指囹对各个 CM 或 CB 执行端口组态和消息组态:

PtP 通信指令使用户程序能够与通信接口交换消息。 有关使用这些指令传送数据的信息请参见 数据┅致性 (页 154)部分。

所有 PtP 功能都是异步运行的 用户程序可以使用轮询架构来确定传送和接收的状态。

SEND_PTP 和 RCV_PTP 可以同时执行 通信模块和通信板根據需要对传送和接收消息进行缓冲,最大缓冲区大小为 1024 字节

CM 和 CB 与实际的点对点设备交换消息。 消息协议位于一个缓冲区中该缓冲区与特定通信端口交换信息。 缓冲区和端口是发送和接收指令的参数:

以下指令可用于复位接收缓冲区以及获取和设置特定的 RS232 信号:

必须循環/周期性调用 S7-S7 1200如何使用 点对点指令以检查收到的消息。 发送轮训可在发送结束时刻即告知用户程序

主站的典型轮询顺序如下:

  • 后续扫描期间会执行 SEND_PTP 指令以轮询传送完成状态。
  • 当 SEND_PTP 指令指示传送完成时用户代码可以准备接收响应。
  • RCV_PTP 指令反复执行以检查响应 在 CM 或 CB 收到响应消息后,RCV_PTP 指令将响应复制到 CPU 并指示已接收到新数据
  • 用户程序随即可处理响应。
  • 转到第 1 步并重复该循环

从站的典型轮询顺序如下:

  1. 每次扫描用户程序都会执行 RCV_PTP 指令。
  2. CM 或 CB 收到请求后RCV_PTP 指令将指示新数据准备就绪并将请求复制到 CPU
  1. 用户程序随即处理请求并生成响应。
  2. 使用 SEND_PTP 指令将该響应往回发送给主站
  3. 反复执行 SEND_PTP 以确保执行传送。
  4. 转到第 1 步并重复该循环

从站在等待响应期间,必须尽量频繁地调用 RCV_PTP以便能够在主站超时之前接到来自主站的传送。 要完成该任务用户程序可以从循环 OB 调用 RCV_PTP,且循环时间应足够大以便能在超时时间用完之前接到来自主站的传送。 如果将 OB 循环时间设置为可在主站的超时时间内执行该指令两次则用户程序便可接到主站的传送,而不会错过任何传送

在此礻例中,S7-S7 1200如何使用 CPU 通过 CM 1241 RS232 模块与装有终端仿真器的 PC 通信此示例中的点对点组态和 STEP 7 程序说明了 CPU 如何从 PC 接收消息和将该消息回送到 PC。

必须将 CM 1241 RS232 模塊的通信接口连接到 PC 的 RS232 接口(通常为 COM1)由于这两个端口都是数据终端设备 (DTE),所以在连接这两个端口时必须交换接收和发送引脚(引脚 2 和 3)可通过以下任何一种方法实现交换:

  • 使用 NULL 调制解调器适配器和标准 RS232 电缆交换引脚 2 和 3。
  • 使用已交换引脚 2 和 3 的 NULL 调制解调器电缆 通常可以將电缆两端是否带有两个 9 针 D 型母头连接器作为识别 NULL 调制解调器电缆的依据。

可通过 STEP 7 中的设备组态或通过用户程序指令来组态 CM 1241 此示例使用設备组态方法。

  • 端口组态: 在“设备组态”(Device configuration) 中单击 CM 模块的通信端口然后如下所示组态该端口:

“操作模式”和“接收线路初始状态”的組态设置,只适用于 CM 1241 (RS422/RS485) 模块 其它 CM 1241 模块没有这些端口组态设置。 请参见组态 RS422 和 RS485

  • 传送消息组态: 接受传送消息组态的默认值 在消息开始时将鈈发送中断信号。
  • 接收消息开始组态: 将 CM 1241 组态为在通信线路处于非激活状态至少 50 个位时间(在 9600 波特时约为 5 毫秒 = 50 * 1/9600)时开始接收消息:

接收消息结束组态: 将 CM 1241 组态为在最多接收到 100 个字节或换行字符(十进制数 10 或十六进制数 A)时结束消息 结束序列最多允许序列中具有五个结束字苻。 该序列中的第五个字符是换行字符 前面四个结束序列字符均是“不相关”字符或不选择的字符。 CM 1241 不评估“不相关”字符但会在零戓更多“不相关”字符后面寻找指示消息结束的换行字符。

对于 RS422 模式有三种工作模式,具体取决于网络组态 根据网络中的设备选择其Φ一种工作模式。 接收线路初始状态的不同选择参考了如下所示的详细情况

  • 全双工 (RS422) 四线制模式(点对点连接): 在网络中有两台设备时選择此选项。在接收线路初始状态中:
    • 在提供偏置和终端时(第 3 种情况)选择无。
    • 选择正向偏置以使用内部偏置和终端(第 2 种情况)
    • 選择反向偏置以使用内部偏置和终端,并为两台设备启用电缆断线检测(第 1 种情况)
  • 全双工 (RS422) 四线制模式(多点主站): 当网络具有一个主站和多个从站时,为主站选择此选项 在接收线路初始状态中:
    • 在提供偏置和终端时(第 3 种情况),选择无
    • 选择正向偏置以使用内部偏置和终端(第 2 种情况)。
    • 在此模式下不能进行电缆断线检测。
  • 全双工 (RS422) 四线制模式(多点从站): 当网络具有一个主站和多个从站时為所有从站选择此选项。 在接收线路初始状态中:
    • 在提供偏置和终端时(第 3 种情况)选择无。
    • 选择正向偏置以使用内部偏置和终端(第 2 種情况)
    • 选择反向偏置以使用内部偏置和终端,并为从站启用电缆断线检测(第 1 种情况)
第 1 种情况: RS422,带电缆断线检测
  • 电缆断线: 启鼡电缆断线检测(发送器始终处于激活状态)

?我俱??杤 330 ?

第 2 种情况: RS422不带电缆断线检测,正向偏置
  • 电缆断线: 无电缆断线检测(发送器仅在发送时才启用)
第 3 种情况: RS422: 不带电缆断线检测无偏置
  • 接收线路初始状态: 无偏置
  • 电缆断线: 无电缆断线检测(发送器仅在发送时才启用)

偏置和终端由用户在网络末端节点处添加。

对于 RS485 模式只有一种工作模式。 接收线路初始状态的不同选择参考了如下所示的詳细情况

  • 半双工 (RS485) 两线制模式。 在接收线路初始状态中:
    • 在提供偏置和终端时(第 5 种情况)选择无。
    • 选择正向偏置以使用内部偏置和终端(第 4 种情况)
第 4 种情况:RS485: 正向偏置
第 5 种情况:RS485: 无偏置(外部偏置)
  • 接收线路初始状态: 无偏置(需要外部偏置)

此示例程序使用铨局数据块作为通信缓冲区,使用 RCV_PTP 指令 (页 625)从终端仿真器接收数据使用 SEND_PTP 指令 (页 622)向终端仿真器回送缓冲数据。 要对该示例编程需要添加数據块组态和程序 OB1,如下所述

全局数据块“Comm_Buffer”: 创建一个全局数据块 (DB) 并将其命名为“Comm_Buffer”。在该数据块中创建一个名为“buffer”数据类型为“芓节数组 [0 .. 99]”的值。

MW20.0 中的 Tag_8 在发送操作完成时进行指示因此是在通信模块相应地准备好接收消息时进行指示。

程序段 3: M20.0 标记置位时启用 SEND_PTP 指令 同时还使用此标记将 REQ 输入设置为 TRUE 一个扫描周期时间。 REQ 输入会通知 SEND_PTP 指令要传送新请求

REQ 输入必须仅在 SEND_PTP 的一个执行周期内设置为 TRUE。 每个扫描周期都会执行 SEND_PTP 指令直到传送操作完成。 CM 1241 传送完消息的最后一个字节时传

送操作完成。传送操作完成后DONE 输出(M10.0 中的 Tag_5)将被置位为 TRUE 并持續 SEND_PTP 的一个执行周期。

程序段 4: 监视 SEND_PTP 的 DONE 输出并在传送操作完成时复位传送标记(M20.0 中的 Tag_8) 传送标记复位后,程序段 1 中的 RCV_PTP 指令可以接收下一条消息

必须设置终端仿真器以支持此示例程序。 几乎可以在 PC 上使用任何终端仿真器例如,超级终端 确定终端仿真器处于断开模式后,洳下所述编辑各设置:

  1. 将终端仿真器设置为使用 PC 上的 RS232 端口(通常为 COM1)
  2. 将端口组态为 9600 波特、8 个数据位、无奇偶校验(无)、1 个停止位和无鋶控制。
  3. 更改终端仿真器设置使其仿真 ANSI 终端
  4. 组态终端仿真器 ASCII 设置,使其在每行后(用户按下 Enter 键后)发送换行信号
  5. 本地回送字符,以便終端仿真器显示输入的内容

要运行示例程序,请执行以下步骤:

  1. 单击终端仿真器上的“连接”(connect) 按钮以应用组态更改并启动与 CM 1241 的终端会话

终端仿真器会将输入的字符发送到 CM 1241 和 CPU。 然后CPU 程序将这些字符回送到终端仿真器。

USS 协议使用主从网络通过串行总线进行通信主站使用哋址参数向所选从站发送消 息。 如果未收到传送请求从站本身不会执行传送操作。 各从站之间无法进行直接消息传送 USS 通信以半双工模式执行。 以下 USS 图示显示了一个驱动器应用示例的网络图

使用 USS 协议的要求

四条 USS 指令使用 1 个 FB 和 3 个 FC 来支持 USS 协议。 一个 USS 网络使用一个USS_PORT 背景数据块 (DB) USS_PORT 背景数据块包含供该 USS 网络中所有驱动器使用的临时存储区和缓冲区。 各 USS 指令共享此数据块中的信息

533?$26?$" ????┓刦慃惰 533 ??朝?峨朗?徝?④?

??慃??┌????l6 ?殚????? l ? l6 ?? 殚?????悼

连接到一个 RS485 端口的所有驱动器(最多 16 个)是同一 USS 网络的一部分。 连接到另一 RS485 端口的所有驱动器是另一 USS 网络的一部分 各 USS 网络通过单独的数据块进行管理。 与各 USS 网络相关的所有指令必须共享该数据块 这包括用于控制各

USS_DRV 指令是函数块 (FB)。 在程序编辑器中放置 USS_DRV 指令时系统将通过“调用选项”(Call options) 对话框提示您为该 FB 分配 DB。 如果对于该 USS 网络而言它是該程序中的第一条 USS_DRV 指令,则可以接受默认的 DB 分配(或根据需要更改名

称)将相应地创建一个新 DB。 但是如果对于该通道它不是第一条 USS_DRV 指囹,则必须使用“调用选项”(Call options) 对话框中的下拉列表选择先前为该 USS 网络分配的 DB 名称

FC 时不分配 DB。 而您必须给这些指令的“USS_DB”输入分配合适的 DB 引用 双击该参数字段,然后单击参数助手图标可查看可用的 DB 名称

USS_PORT 函数通过点对点 (PtP) RS485 通信端口处理 CPU 和驱动器之间的实际通信。 每次调用此功能可处理与一个驱动器的一次通信 用户程序必须尽快调用此功能以防止与驱动器通信超时。 可在主程序循环 OB 或任何中断 OB 中调用此函数

通常,应在循环中断 OB 中调用 USS_PORT 函数该循环中断 OB 的循环时间应设置为最小调用间隔的一半左右(例如,S7 1200如何使用 波特的通信应使用 350 ms 或更短嘚循环时

用户程序通过 USS_DRV 函数块可访问 USS 网络上指定的驱动器 其输入和输出是驱动器的状态和控制。 如果网络上有 16 个驱动器则用户程序必須具有至少 16 个

USS_DRV 调用,每个驱动器一个调用 应该以控制驱动器工作所需的速率调用这些块。

只能在主程序循环 OB 中调用 USS_DRV 函数块

USS_RPM 放置在循环Φ断 OB 中。如果未能防止 USS_PORT 执行的中断则会产生

USS_RPM 和 USS_WPM 功能可读取和写入远程驱动器工作参数。 这些参数控制驱动器的内部运行 有关这些参数嘚定义,请参见驱动器手册 用户程序可包含尽可能多的这些功能,但在任何特定时刻每个驱动器只能激活一个读或写请求。 只能在主程序循环

计算与驱动器通信所需的时间

与驱动器进行的通信与 S7-S7 1200如何使用 扫描周期不同步 在完成一个驱动器通信事务之前,

S7-S7 1200如何使用 通常唍成了多个扫描

USS_PORT 间隔是一个驱动器事务所需}

最近需要将一个项目从Linux平台迁移箌Solaris对Solaris进行了一点研究,总结如下

}

" 最近一段时间自己一直在复习學习S7 1200如何使用的相关知识,也在熟悉博途的软件偶有一天同事问我,4MB存储卡够了吗?碰巧了解过这方面知识顺嘴就说西门子只支持朂大4MB的有效存储空间。依据相关手册的说明就是这样

作为一名工程师来讲,做了这么久还少能用到2MB存储卡。但是看到博途居然支持到32GB和相关手册的对比,发现很难理解毕竟西门子专用的存储卡很贵的。

打电话给西门子技术支持就此事进行询问,毕竟以前看过书说僦是4MB最大的有效程序

第一次:我:你好我想问西门子S7 1200如何使用存储卡有效存储程序

西门子:你能具体说说吗?

我:S7 1200如何使用的存储卡的囿效存储空间是不是不能大于内部装载空间(4MB)

西门子:不是的,你可以根据你的程序大小去选择相应的存储卡

最终的结果证明 博途嘚最新手册都不是最新的。最新的PLC ,S7 1200如何使用的存储卡可以超过现手册所规定的4MB .

通过此事也让了解到不能尽信书不过好像没多少人的程序能突破4MB吧 呵呵呵!

感谢西门子工程师的耐心,毕竟经过2天的反复论证

西门子的工程师也要与时俱进的跟进。我们也要努力的学习希望夶家了解。

}

我要回帖

更多关于 S7-1200 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信