1. ISO-on-TCP通信协议特点
1) 与TCP相比,它的消息提供了数据结束标示符并且它是面向消息的
2) ISO-on-TCP数据信息以数据报文形式出现:发送端和接收端的数据长度可以不一致
3) 发送端的长度不能大于接收端的数据报文长度
4) 可用于实现动态数据长度
5) 适用于中等大小或较大的数据量传输 (<=8192 bytes)
2. 关于TSAP号
1) 对于 ISO-on-TCP 连接,必须同时为两个通信伙伴分配传输服务访问点 (TSAP)。
2) 分配 TSAP 时,必须遵守某些规则。 TSAP 必须包含一定数量的字节,这些字节可以ASCII 字符 (ASCII-TSAP) 或十六进制值 (TSAP-ID)的形式显示和输入。
3) 如果 TSAP 包含无效的 ASCII 字符,则 TSAP 将只显示为 TSAP-ID,而不显示为 ASCII-TSAP。 刚创建连接后就是如此(是系统自动分配的),其前两个十六进制字符作为 TSAP-ID,用来标识通信类型和机架/插槽。 因为这些字符对于 CPU 是无效 ASCII 字符,所以在这种情况下不显示 ASCII-TSAP。
3. S7-1200 ISO-on-TCP通信发送和接收数据长度不一致会怎样?
ISO-on-TCP的消息提供了数据结束标示符,接收端接到结束符后读取缓冲区。所以如果:
1) 发送长度 > 指定的接收长度
接收发无法收到结束符, TRCV/TRCV_C不会将任何数据复制到接收数据区。接收指令的ERROR=1,STATUS=W#16#8088。
2) 发送长度 < 指定的接收长度:
接收端将接收到所有发送长度字节的数据。
4. S7-1200 ISO-on-TCP 通信实现动态长度数据传输
1) 接收指令块的LEN参数赋0,以实现动态长度数据传输;
2) 接收指令块的DATA引脚需要填写符号寻址方式的DB块。