德国西门子冗余系统经销商
德国西门子冗余系统经销商其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。
与此同时,我们还提供西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务。
西门子(中国)授权代理商在空闲模式下,如果没有要处理的发送请求,程序将等待通信伙伴建立连接。
如果空闲程序接收到 STX 或 NAK 以外的任何控制代码,它将等待字符延迟时间结束,然
后发送代码 NAK。
接收数据
如果程序接收 STX 代码并且有可用的空接收缓冲区,则以 DLE 进行响应。 引入的接收
字符现存储在接收缓冲区中。 如果接收到两个连续的 DLE 代码,则只有其中一个存储在
接收缓冲区中。
每接收一个字符,程序都要等到字符延迟时间结束后再接收下一个字符。 如果字符延迟
时间结束后还没收到另一个字符,则向通信伙伴发送一个 NAK。 然后系统程序将向功能
块 P_RCV(输出参数 STATUS)报告错误。
如果通过 STX 建立连接期间没有可用的空接收缓冲区,则将开始 400 ms 的等待时间。
如果字符延迟时间到期后仍没有空的接收缓冲区,则系统程序将报告错误(FB 的
STATUS 输出中的错误消息),然后程序将发送 NAK 并返回空闲模式。 否则,程序将发
送 DLE 并按上述步骤接收数据。如果接收过程中发生传输错误(丢失字符、帧出错、奇偶校验出错等),程序将继续接收
直到连接关闭,然后将 NAK 发送给通信伙伴。 然后重复以上步骤。 如果重复尝试的次
数达到参数分配定义的次数后仍无法接收无损块,或者通信伙伴没有在 4 秒的块等待时间
内开始重复,则程序将中止接收操作。 然后系统程序将向功能块 P_RCV(输出参数
STATUS)报告错误。
如果 3964 程序检测到 DLE ETX 字符串,它将停止接收并通过向通信伙伴发送 DLE 字符
确认已成功接收块。 如果在接收到的数据中发现错误,程序将向通信伙伴输出 NAK 信
号。 然后重复以上步骤。
如果 3964R 程序检测到字符串 DLE ETX BCC,它将停止接收。 如果 BCC 正确并且没
有发生其它接收错误,则 CP 340 将向通信伙伴发送 DLE 代码。 如果 BCC 正确并且没
有发生其它接收错误,则 3964R 程序将发送 DLE 然后返回空闲模式。 如果 BCC 故障或
发生其它接收错误,则将 NAK 发送给通信伙伴。 然后重复以上步骤。
说明
一旦准备就绪,3964(R) 程序会立即将一个 NAK 发送给通信伙伴接收 DLE、ETX、BCC 之后,CP 340 会将通信伙伴的 BCC 与其内部计算的值进行比
较。 如果 BCC 正确且未发生其它接收错误,则 CP 340 将用 DLE 响应。
否则,其将用 NAK 响应并等待 4 秒的块等待时间 (T) 以进行新尝试。 如果在定义的传输
尝试次数内接收不到该块,或者如果在块等待时间内未进行进一步的尝试,则 CP 340 将
终止接收操作。如果一个设备在确认延迟时间内通过发送代码 STX 而不是发送确认 DLE 或 NAK 来响应
通信伙伴的发送请求(代码 STX),则出现初始化冲突。 双方设备都想执行发送请求。
低**级的设备撤销其发送请求并用代码 DLE 响应。 高**级的设备将按上述方式发送
其数据。 一旦终止连接,低**级设备便可执行其发送请求。
为了能够解决初始化冲突,必须为通信分配不同的**级。程序可识别由通信伙伴引起的错误和由线路故障引起的错误。
在这两种情况下,程序都将重复尝试正确地发送/接收数据块。 如果在设置的大重复尝
试次数内无法实现(或者如果出现新的错误状态),程序将终止发送或接收过程。 程序
将报告检测到的个错误的错误编号,然后返回空闲状态。 这些错误消息显示在 FB 的
STATUS 输出中。
如果系统程序时常报告在 FB 的 STATUS 输出中有针对发送和接收重复的错误编号,则
表明数据通信中偶尔有干扰。 但是,高重复频率可以将其抵消。 在这种情况下,建议检
查传输链接以查找可能的干扰源,因为频繁重复会降低用户数据的传输率和传输的完整
性。 干扰也可能是由通信伙伴方的故障引起。
如果接收线路中断,则系统程序将报告 BREAK 状态(通过 CP 340 上的诊断中断显示中
断)(请参见“通过 S7-300 背板总线进行诊断 (页 155)”一章)。 不启动任何重复。 在恢
复线路的连接后,FB 的 STATUS 输出中的 BREAK 状态会自动复位。 仅当没有通过参
数分配用户界面取消 BREAK 监视时,才会发生 BREAK 判断。
对于检测到的每个传输错误(丢失字符、帧或奇偶校验错误),无论该错误是在发送还是
接收数据块期间检测到的,都将报告标准编号使用 ASCII 驱动程序进行
引言
ASCII driver 通过 CP 340 和通讯伙伴之间的点对点连接控制。 该通讯协议包含
物理层(* 1 层)。
通过 S7 用户将完整的发送消息帧传递给 CP 340 使消息帧的结构保持打开状态。关于接
收方向,必须将消息的结束标准参数化。 发送消息帧的结构与接收消息帧的结构可能会
不同。
通过 ASCII driver 可以发送和接收任何结构的数据,包括所有可打印的 ASCII 字符以及从
00 到 FFH [带有 8 个数据位字符帧] 或从 00 到 7FH [带有 7 个数据位字符帧] 的所有其它
字符。
2.5.1 RS 232C 伴随信号
RS 232C 伴随信号
以下 RS 232C 伴随信号可在 CP 340-RS 232C 上使用:
● DCD(输入)数据载体检测;
检测到数据载体
● DTR(输出)数据终端就绪;
CP 34x 已做好运行准备
● DSR(输入)数据集就绪;
通信伙伴已做好运行准备
● RTS(输出)请求发送;
CP 34x 已做好发送准备
● CTS(输入)允许发送;
通信伙伴可以从 CP 34x 接收数据打开 CP 340-RS 232C 时,输出信号处于 OFF 状态(不活动)。
可以参数化 DTR/DSR 和 RTS/CTS 控制信号的使用(通过 CP 340: 点对点通信,参数
分配 [CP 340: Point-to-Point Communication, Parameter Assignment] 用户界面)或通过
用户程序中的功能 (FC) 控制它们。
使用 RS 232C 伴随信号
RS 232C 伴随信号可在下列情况下使用:
● 在组态所有 RS 232C 伴随信号的自动控制后
● 在组态数据流量控制 (RTS/CTS) 后
● 通过 V24_STAT 和 V24_SET FC
说明
在组态 RS 232C 伴随信号的自动控制后,无论是 RTS/CTS 数据流量控制还是 RTS
和 DTR 控制,都无法通过 V24_SET FC 实现。 而在组态 RTS/CTS 数据流量控制
后,则无法通过 V24_SET FC 实现 RTS 控制。
另一方面,通过 V24_STAT FC 来读取所有的 RS 232C 伴随信号始终是可能的。
以下章节说明了控制和判断 RS 232C 伴随信号的基本原理。
伴随信号的自动控制
按以下方式对 CP 340 上的 RS 232C 伴随信号实现自动控制:
● 一旦组态 CP 340 以 RS 232C 伴随信号的自动控制模式运行,便将 RTS 线路设置为
OFF 并将 DTR 线路设置为 ON(CP 340 可以运行)。
这可以防止发送报文,直到 DTR 线路设置为 ON。 只要 DTR = OFF,RS 232C 接口
就不会接收到任何数据。 所有发送作业将被取消,同时生成一条相应的错误消息。
● 当发送作业待定时,RTS 设置为 ON 并启动已组态的数据输出等待时间。 当数据输
出时间过期并且 CTS = ON 时,数据通过 RS 232C 接口发送。
● 如果在数据输出等待时间内 CTS 线路未设置为 ON 或在传送期间 CTS 改为 OFF,
则模块将终止发送作业并生成错误消息