smart200PLC TCP通讯

编程方法: OUC指令库
点击库,选择开放式用户通讯
在这里插入图片描述

要求: 通讯双方均要调用指令
通讯数据量 :1024字节
程序模块详解:
TCP_CONNECT(建立连接指令):
EN:使能端,接SM0.0;
Req:启用连接操作,一般加上升沿;
Active:设置本都CPU在通讯中的角色,作为主动方(为1)还是被动方(为0);
ConnID:CPU使用的连接ID(标识连接),(Word类型),范围为0~65534;
IPaddr1~4:另外一方的IP地址。 192.168.0.101 分别对应1 ~ 4;
RemPort:远程设备的端口号,范围为1~49151,建议采用2000 ~ 5000;
LocPort:本地设备的端口号,范围为1~49151;
Done:完成位,执行完成无错时置一;
Busy:正在执行这个操作时置一;
Error:连接操作发生错误为一;
Status:错误代码。

TCP_SEND(发送指令):
EN:使能端,接SM0.0;
Req:启动发送操作,可用SM0.5+上升沿(每隔0.5s发一次);
ConnID:和主动方一样,对应起来;
Datalen:发送多少个字节,范围为1~1024个字节;
DataPtr:要发送数据的起始地址,如要发送VB0开始的8个字节,则设为&VB0;
Done:完成位,执行完成无错时置一;
Busy:正在执行这个操作时置一;
Error:连接操作发生错误为一;
Status:错误代码。

TCP_RECV(接收指令):
EN:使能端,接SM0.0;
ConnID:和被动方一样,对应起来;
MaxLen:要接受的最大字节数,和DataLen保持一致;
DataPtr:接收来自发送方数据的起始地址,如要发送VB100开始的8个字节,则设为&VB100;
Done:完成位,执行完成无错时置一;
Busy:正在执行这个操作时置一;
Error:连接操作发生错误为一;
Status:错误代码;
Length:实际接受的字节数。

下载程序过程
①设置本地CPU的IP地址(主动方/被动方都要设置):
在这里插入图片描述
②因为我们用了库里面的指令,所以我们右击程序块,选择库存储器,随便设个数即可:
在这里插入图片描述

主动方程序:

在这里插入图片描述
在这里插入图片描述

被动方程序:

注意:
①被动方一直要接受数据,所以需要Req保持置一;
②ConnID不能和主动方相同;
③RemPort和LocPort要互换;
④TCP_CONNECT指令的右边四位和主动方保持一致;
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42308217/article/details/108436881