首页 > 其他分享 >汇川AM401的TCP服务端通信

汇川AM401的TCP服务端通信

时间:2024-07-31 17:19:05浏览次数:8  
标签:END Receive 汇川 TCP iState Send AM401 Connect

VAR
    x建立连接: BOOL;
    abySendData_0 : ARRAY[0..3] OF BYTE := [76, 79, 78, 13];
    abyRecvData_0 : ARRAY[0..19] OF BYTE;
    TCP_Server_0: TCP_Server;
    TCP_Connect_0: TCP_Connect;
    TCP_Receive_0: TCP_Receive;
    TCP_Send_0: TCP_Send;
    iState: INT;
END_VAR

(* 注意:TCP_Connect_0.hConnection客户端连接上后,只要再断开,必须重新使能一次, 不然下次客户端会连不上*)
(* 功能: 接收到客户端的任意数据后原路返回字符串"LON"  *)

//创建TCP服务器
TCP_Server_0(
    xEnable:= x建立连接 , 
    strIpAddrLocal:= '192.168.1.88', 
    uiPortLocal:= 1000, 
    xDone=> , 
    xBusy=> , 
    xError=> , 
    dwErrorID=> , 
    hServer=> );

//建立连接
TCP_Connect_0(
    xEnable:= TCP_Server_0.hServer<>0, 
    hServer:= TCP_Server_0.hServer, 
    xNotKeepAlive:= , 
    xDone=> , 
    xBusy=> , 
    xError=> , 
    dwErrorID=> , 
    xActive=> , 
    hConnection=> );    

//接收数据
TCP_Receive_0(
    xEnable:= , 
    hConnection:= TCP_Connect_0.hConnection, 
    uiSize:= SIZEOF(abyRecvData_0), 
    pbyData:= ADR(abyRecvData_0), 
    xDone=> , 
    xBusy=> , 
    xError=> , 
    dwErrorID=> , 
    xReady=> , 
    uiCount=> );

//发送数据
TCP_Send_0(
    xExecute:= , 
    hConnection:= TCP_Connect_0.hConnection, 
    uiSize:= SIZEOF(abySendData_0), 
    pbyData:= ADR(abySendData_0), 
    udiTimeOut:= 10000, 
    xDone=> , 
    xBusy=> , 
    xError=> , 
    dwErrorID=> );
    
CASE iState OF
    00 :
        IF TCP_Connect_0.xActive THEN
            iState:=10;
        END_IF;
    10 :
        TCP_Receive_0.xEnable:=TRUE;
        IF TCP_Receive_0.xReady THEN
            iState:=15;
        END_IF
    15 :
        TCP_Receive_0.xEnable:=FALSE;    
        IF NOT TCP_Receive_0.xReady THEN
            iState:=20;
        END_IF
    20 :
        TCP_Send_0.xExecute:=TRUE;
        IF TCP_Send_0.xDone THEN
            iState:=25;
        END_IF
    25 :
        TCP_Send_0.xExecute:=FALSE;    
        IF NOT TCP_Send_0.xDone THEN
            iState:=30;
        END_IF
    30 :
        iState:=0;
END_CASE    
    

 

标签:END,Receive,汇川,TCP,iState,Send,AM401,Connect
From: https://www.cnblogs.com/csflyw/p/18335045

相关文章

  • docker 拉取镜像超时:error pulling image configuration: download failed after atte
    之前是正常的,今天就罢工了,可能原因是国外镜像不稳定,被针对了吧。errorpullingimageconfiguration:downloadfailedafterattempts=6:dialtcp168.143.171.189:443:i/otimeout那就改为国内镜像:1.创建/etc/docker目录(已有的跳过)sudomkdir-p/etc/docker 2.修改......
  • TCP状态转移图说明及使用tcpdump进行观测
    一、TCP状态转移图说明图1.TCP状态转移图 这张图展示了TCP(TransmissionControlProtocol,传输控制协议)的状态转移图,描述了TCP连接在不同阶段之间的状态变化和相互转换。(一)、建立连接(三次握手) 图2.TCP三次握手示意图1、服务器准备好接受外来连接,通常通过socke......
  • 搭建 STM32 网关服务器的全流程:集成嵌入式 C++、TCP/IP 通信、Flash 存储及 JWT 认证(
    引言随着物联网(IoT)技术的快速发展,基于STM32的服务器(类似网关)在数据采集、设备控制等方面的应用越来越广泛。本文将介绍搭建一个基于STM32的服务器所需的技术栈,以及详细的搭建步骤和代码示例。技术栈介绍在搭建基于STM32的服务器时,我们需要用到以下技术栈和组件:1.硬......
  • ICSTCP控件
    delphi7代码:unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ExtCtrls,OverbyteIcsWndControl,OverbyteIcsWSocket,OverbyteIcsWSocketS;typeTForm1=class(TForm)WSocketServer1:TWSock......
  • STM32F103+FreeRTOS的使用ESP8266与手机APP实现TCP连接通信控制
    前言本人初学FreeRTOS,来自不知名普通院校,大二物联网专业,简单看完百问网韦东山老师FreeRTOS就想随便找个小项目试试看,手头里没什么元器件,只有一块ESP8266wifi模块以及温湿度模块显示屏模块,所以用到的模块不多,这俩个模块可能不太适用于FreeRTOS,但主要目的想着以最少的资源练练......
  • Tcpdump简直就是命令行抓包中的神!
    Tcpdump是一款功能强大的命令行包分析工具,可用于捕获和显示计算机网络中传输或接收的数据包。它由LawrenceBerkeleyNationalLaboratory开发,并作为一个开源项目发布。Tcpdump允许用户监控和分析网络通信,从而帮助网络管理员和安全专业人员进行网络故障排除和分析。无论是日......
  • Linux应用编程——TCP实现文件传输
    1、常用编程接口1.1socket函数创建一个套接字intsocket(intdomain,inttype,intprotocol);入参:domain:协议族,如AF_INET表示IPv4。type:套接字类型,如SOCK_STREAM表示TCP套接字。protocol:协议,一般为0。返回值:成功时返回新创建的套接字的文件描述符,失败时返回-1。......
  • TCP
    packagecom.itheima.threadpool;importjava.io.*;importjava.net.Socket;publicclassClientDemo{publicstaticvoidmain(String[]args)throwsIOException{Socketsocket=newSocket("127.0.0.1",10000);//是本地的流,用来读取本地文......
  • TCP为什么需要四次挥手?
    tcp为什么需要四次挥手?答案有两个:1.将发送fin包的权限交给被动断开方的应用层去处理,也就是让程序员处理2.接第一个答案,应用层有了发送fin的权限,可以在发送fin前继续向对端发送消息为了搞清楚这个问题,我们先要了解四次挥手的过程:1.注意事项tcp四次挥手过程中没有客户......
  • Winform程序控制网络继电器(康耐德,泥人..)运用Socket,TCP协议
    //继电器官网查看命令https://www.konnad.com/service/download/product-model/sdd4040-ad3staticbyte[]DOON=newbyte[]{0x00,0x01,0x00,0x00,0x00,0x06,0xFF,0x05,0x00,0x64,0xFF,0x00};//控制继电器打开(DO-1灯亮)staticbyte[]DOOFF=new......