您好!欢迎光临工博士商城

西门子品牌服务商

产品:4086    

咨询热线:18597848426

QQ QQwx 微信
您当前的位置:首页 » 西门子新闻中心 » 西门子PLC SMART 的ISO on TCP通信,你真的了解吗?
产品分类
西门子新闻中心
西门子PLC SMART 的ISO on TCP通信,你真的了解吗?
发布时间:2022-09-08        浏览次数:2711        返回列表
ISO on TCP通信概述
ISO-on-TCP是一种使用RFC 1006的扩展协议。ISO-on-TCP的主要优点是数据有一个明确的结束标志,可以知道何时接收到了整条消息。

S7协议(Put/Get)使用了ISO-on-TCP协议。而ISO-on-TCP仅使用102端口,并利用TSAP(Transport Service Access Point)传输服务访问点将消息路由至适当接收方(而非TCP中的某个端口)。

S7-200 SMART之间的ISO-on-TCP通讯,可以通过两边调用OUC(开放式用户通信)库指令中的ISO_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令来实现。

安装软件后,这些指令位于软件项目树中指令-库-Open User Communication文件夹中,通过开放式用户通信库指令,可以帮助客户快速便捷的实现设备间的ISO on TCP通信。


开放式用户通信库指令
创建连接ISO_CONNECT指令

西门子PLC模块

● EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
● Req:请求通信参数,置位时表示启动连接操作,主动连接一般使用沿触发,被动连接一般使用电平触发。
● Active:1=主动连接(客户端);0=被动连接(服务器)。
● ConnID:连接ID,为其他指令标识该连接,可能范围为0-65534。
● IPAddr1-4:IP地址的从高到低四个字节。
● RemTsap:远程TSAP字符串,程序使用指针来传递字符串。
● LocTsap:本地TSAP字符串,程序使用指针来传递字符串。
● Done:当连接操作完成且没有错误时,该位置位输出。
● Busy:当连接操作正在进行时,该位置位输出。
● Error:当连接操作完成但发生错误时,该位置位输出。
● Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。

终止现有连接DISCONNECT指令

西门子PLC模块

● EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
● Req:请求断开参数,置位时表示启动断开连接操作,一般使用沿触发。
● Conn_ID:CPU使用连接ID(ConnID)标识要终止的连接。
● Done:当断开连接操作完成且没有错误时,该位置位输出。
● Busy:当断开连接操作正在进行时,该位置位输出。
● Error:当断开连接操作完成但发生错误时,该位置位输出。
● Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。

请求发送TCP_SEND指令

西门子PLC模块

● EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
● Conn_ID:是此接收操作所用连接的编号。
● MaxLen:要接收的***大字节数(1到1024)。
● DataPtr:是指向接收数据存储位置的指针,如&VB100。
● Done:当接收操作完成且没有错误时,该位置位输出。
● Busy:当接收操作正在进行时,该位置位输出。
● Error:当接收操作完成但发生错误时,该位置位输出。
● Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。
● Length:实际接收的字节数。仅当指令置位Done或Error输出时,Length才有效。Done输出时,指令接收整条消息;Error位输出时,则超出缓冲区大小的部分被截断。


应用实例
通过开放式用户通信库指令,实现CPU之间的数据交换,其中客户端IP地址为192.168.2.1,服务器IP地址为192.168.2.2,客户端TSAP为“smart1”,服务器TSAP为“smart2”,ConnID设定为10,将服务器VB1000-VB1004中的数据读取至客户端VB100-VB104中,将客户端中VB200-VB204的数据写入服务器VB2000-VB2004。

客户端程序:

西门子PLC模块

服务器程序:

西门子PLC模块

执行结果:

西门子PLC模块


本文摘自:网络



 

联系热线:18597848426   联系人:曾经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 西门子品牌服务商