SEND_PTP:传送“发送缓冲区数据” (S7-1200) 说明 使用 CM1241 仅固件版本 V2.1 及以上版本的模块,该指令才能与CM1241 一同使用。 说明 使用“SEND_PTP”指令启动数据传输。“SEND_PTP”指令不执行数据的实际传输。发送缓冲区中的数据传输到相关点对点通信模块 (CM)。由 CM 来执行实际传输。 参数 下表列出了“SEND_PTP”指令的参数: 参数 声明数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或 常量 在该使能输入的上升沿启用所请求的传输。缓冲区中的内容传输到点对点通信模块 (CM)。 PORT Input PORT I、Q、M、D、L 或 常量 标识通信端口 (HW-ID)BUFFER Input VARIANT I、Q、M、D、L 或 常量 指向发送缓冲区起始地址的指针。不支持布尔值 或 Arrayof BOOL。
消息接收的结束条件(ENDCOND 参数) 如果满足组态的结束条件,则接收方识别到消息开始。可将以下条件定义为消息接收的结束 条件:• 响应超时:如果超出指定的接收一个字符的Zui长时间,则接收消息结束。这个Zui长时间在 RCVTIME参数中定义。定义的这个时间从完成上次传输后开始倒计时,RCV_PTP 指令启 用消息接收。如果定义的这段时间 (RCVTIME)内未接收任何字符,则 RCV_PTP 指令会报 告错误。 •消息超时:如果超出指定的接收一条消息的Zui长时间,则接收消息结束。这个Zui长时间在 MSGTIME参数中定义。定义的这个时间从接收到消息的第一个字符时开始倒计时。 • 字符串内超时:如果接收两个连续字符时的时间间隔大于CHARGAP 参数的值,则接收消 息将结束。 • Zui大长度:如果超出了 MAXLEN 参数定义的消息长度,则接收消息将结束。 •读取消息长度 (N+LEN+M):如果达到指定消息长度,则接收消息将结束。该长度通过以 下参数的值来计算: –N:消息中该字符的位置(长度字段的起始位置)。 – LENGTHSIZE:长度字段的大小(字节) –LENGTHM:长度字段后的结束字符数。计算消息长度时不考虑这些字符。 •字符串:如果接收到定义的字符序列,则接收消息将结束。该字符串Zui多包含五个字符。对于字符串中的每个字符,都可以使用位号来定义在计算中是考虑还是忽略该字符。参数 声明 数据类型 存储区 说明 LENGTH InputUINT I、Q、M、D、L 或 常量 发送缓冲区的长度 PTRCL Input BOOL I、Q、M、D、L 或 常量此参数选择使用正常的点对点通信缓冲区还是在 连接的 CM 中执行的特定 Siemens 协议缓冲区。 FALSE =由用户程序控制的点对点操作(仅有效 选项) DONE Output BOOL I、Q、M、D、L 状态参数,可具有以下值: •0:作业尚未启动或仍在执行 • 1:作业已执行,且无任何错误 ERROR Output BOOL I、Q、M、D、L状态参数,可具有以下值: • 0:无错误 • 1:出现错误 STATUS Output WORD I、Q、M、D、L 指令的状态有关有效数据类型的更多信息,请参见“有效数据类型概述。LENGTH 和 BUFFER 参数“PTP_SEND”指令可发送的Zui小数据大小为一个字节。参数 BUFFER 用于定义要发送数据的大 小。BUFFER 参数不能使用BOOL 或 Array of BOOL 数据类型。 LENGTH 参数 BUFFER 参数 说明 LENGTH = 0 未使用 发送BUFFER 参数所定义的完整数据。如果 LENGTH = 0,则 无需指定传输的字节数。 LENGTH > 0 基本数据类型LENGTH 值必须包含该数据类型的字节数。否则,将不会传 输数据,并且输出错误 8088。 STRUCT LENGTH值包含的字节数可以小于该结构的整个字节长度。 此时,仅传输 LENGTH 指定的前几个字节。 ARRAY LENGTH值包含的字节数可以小于该字段的整个字节长度。 此时,仅传输满足 LENGTH 所指定字节数的字段元素。 LENGTH值必须为该数据元素字节数的倍数。否则,STATUS = 8088,ERROR = 1,且不传输任何数据。 STRING将传输字符序列格式的完整存储器排列以及有关字符串Zui大 长度和字符串实际长度的信息。 LENGTH值必须包含Zui大长度、实际长度以及字符串字符的 字节数。 对于数据类型 STRING,所有长度和字符的大小都为一个字 节。 如果BUFFER 参数为字符串,则 LENGTH 值必须还包含两个字节用于保存这些长度字段。 参见 转换程序状态的显示格式RCV_PTP: 启用消息接收 (S7-1200) 说明 使用 CM1241 仅固件版本 V2.1 及以上版本的模块,该指令才能与CM1241 一同使用。说明 使用 RCV_PTP 指令可启用已发送消息的接收。必须单独启用每条消息。只有相关通信伙伴确认消息后,发送的数据才会传送到接收区中。 参数 下表列出了“RCV_PTP”指令的参数: 参数 声明 数据类型 存储区 说明EN_R Input BOOL I、Q、M、D、L 或常量 在上升沿启用接收 PORT Input PORT I、Q、M、D、L或常量 标识通信端口 (HW-ID) BUFFER Input VARIANT I、Q、M、D、L 或常量指向接收缓冲区的起始地址。请勿在接收缓冲区 中使用 STRING 类型的变量。 NDR Output BOOL I、Q、M、D、L状态参数,可具有以下值: • 0:作业尚未启动或仍在执行 • 1:作业已执行,且无任何错误 ERROR Output BOOLI、Q、M、D、L 状态参数,可具有以下值: • 0:无错误 • 1:出现错误 STATUS Output WORDI、Q、M、D、L 指令的状态 LENGTH Output UINT I、Q、M、D、L 接收缓冲区中消息的长度有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 STATUS 参数 错误代码*(W#16#....) 说明 80E0 由于接收缓冲区已满,终止了消息接收。 80E1 由于出现奇偶校验错误,终止了消息接收。80E2 由于出现帧错误,终止了消息接收。 80E3 由于出现溢出错误,终止了消息接收。 80E4 由于计算的消息长度(N+LEN+M) 超过接收缓冲区大小,终止了消息接收。 8080 为通信端口号输入的标识符无效。说明使用“RCV_RST”指令可删除通信伙伴的接收缓冲区。 参数 下表列出了“RCV_RST”指令的参数: 参数 声明 数据类型 存储区说明 REQ Input BOOL I、Q、M、D、L 或 常量 在上升沿激活接收缓冲区的删除操作 PORT Input PORTI、Q、M、D、L 或 常量 标识通信端口 (HW-ID)参数 声明 数据类型 存储区 说明 DONE Output BOOLI、Q、M、D、L 状态参数,可具有以下值: • 0:作业尚未启动或仍在执行 • 1:作业已执行,且无任何错误 ERROROutput BOOL I、Q、M、D、L 状态参数,可具有以下值: • 0:无错误 • 1:出现错误 STATUS OutputWORD I、Q、M、D、L 指令的状态 有关通信指令中常见错误代码的更多详细信 息,请参见“通信块的常规状态信息(页 6216)”。 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 SGN_GET:查询 RS-232 信号 (S7-1200) 说明 使用 CM1241 仅固件版本 V2.1 及以上版本的模块,该指令才能与CM1241 一同使用。 说明 使用“SGN_GET”指令可查询 RS-232 通信模块多个信号的当前状态。 参数下表列出了“SGN_GET”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或常量 在上升沿启用查询 PORT Input PORT I、Q、M、D、L 或 常量 标识通信端口 (HW-ID) NDROutput BOOL I、Q、M、D、L 如果新数据准备好发送且指令已无错执行, 则置位一个周期。 DTR Output BOOLI、Q、M、D、L 数据终端就绪,模块就绪。参数 声明 数据类型 存储区 说明 DSR Output BOOL I、Q、M、D、L数据设备就绪,通信伙伴就绪 RTS Output BOOL I、Q、M、D、L 发送请求,模块已准备好发送 CTS OutputBOOL I、Q、M、D、L 清除并发送,通信伙伴可以接收数据(响应 模块的 RTS = ON)。 DCD Output BOOLI、Q、M、D、L 数据载波检测,接收的信号电平 RING Output BOOL I、Q、M、D、L 振铃显示,来电显示 ERROROutput BOOL I、Q、M、D、L 状态参数,可具有以下值: • 0:无错误 • 1:出现错误 STATUS OutputWORD I、Q、M、D、L 指令的状态 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。STATUS 参数 错误代码* (W#16#....) 说明 80F0 通信模块是 RS-485 模块且没有信号可用。 *在程序编辑器中,错误代码可显示为整数或十六进制值。有关切换显示格式的信息,请参见“另请参见”。有关通信指令中常见错误代码的更多详细信息,请参见“通信块的常规状态信息 (页 6216)”。 参见 转换程序状态的显示格式(页 10442) SGN_SET: 设置 RS-232 信号 (S7-1200) 说明 使用 CM1241 仅固件版本V2.1 及以上版本的模块,该指令才能与 CM1241 一同使用。 说明 使用“SGN_SET”指令可设置 RS-232通信模块输出信号的状态。