当前位置: 首页 > news >正文

欧姆龙plc内置 EIP 口实现 TCP SOCKET 通讯

1. 系统概述,硬件搭建和接线

本案例中设置 NJ 的 IP 地址为 10.110.59.2, 计算机 IP 地址为 10.110.

2. 操作步骤

(1) 软件操作:

a. NJ 的 IP 地址设置:

图片

2) 编程说明

a. 插入程序-段,在编辑窗口中进行主程序的编写,内容如下所示:

编写 SktTCPAccept 功能块, NJ 作为 TCP 服务器建立连接:

设置 NJ 的 SOCKET 端口号为 5000, TimeOut=0 不限超时时间,SOCKET 相关参

数反馈到 TCPacp_PARAMETER 变量中。

指令相关变量说明如下:

b. 编写 SktTCPSend 功能块:

图片

设置从 TCPacp_SENDADDRESS[0]开始,发送 TCPacp_SENDSIZE 变量中指定的字节数到计算机客户端, 其中 SOCKET 变量要与 SktTCPAccept 功能块中的变量设置同一个。

指令相关变量说明如下:

c. 编写 SktTCPRcv 功能块:

图片

设 置 接 收 TCPacp_RECEIVESIZE 变 量 中 指 定 的 字 节 数 , 保 存 到 从TCPacp_RECEIVEADDRESS[0]开始的数组中,其中 SOCKET 变量要与 SktTCPAccept功能块中的变量设置同一个。

指令相关变量说明如下:

d. 编写 SktClose 功能块,用于关闭 SOCKET 端口:

图片

SOCKET 变量要与 SktTCPAccept 功能块中的变量设置同一个。

指令相关变量说明如下:

图片

编写 SktTCPconnect 功能块,将 NJ 作为 TCP 客户端,

在 connect 功能块里写入目标,也就是 PC 的 IP 地址和端口号,以及本地 socket的端口号,此处设置为 6000(勿与 NJ 里 FINS/TCP、 UDP 的端口号重复默认是9600)。

指令相关变量说明如下:

NJ 用于 TCP 客户端时,剩余指令编写方法与作为服务器时一致,请参考上述

服务器相关功能块编写。

3. 现象和结论

(1) NJ 作为服务器:

a. SOCKET TOOL 创建 TCP 客户端,指定 NJ 的 IP 地址,和 NJ socket 端口号

5000(跟功能块设定的端口一致):

b. 先触发 START_ACPTCP 打开 socket 端口,然后点网口工具的连接, 正常会

显示已连接:

图片

指令正常接通,无错误代码。

之后可在监视窗口看到, NJ 会自动读入 PC 的参数。

正常建立连接之后,会自动读入 socket 参数。

c. 在监视窗口写入发送数据,再在 send 功能块写发送的字节数 2 字节。

图片

可看到网口工具收到 NJ 发来的数据,如下:

图片

d. 在串口工具写入要发送给 NJ 的数据。

图片

在工程里先写入要接受的字节长度 2。

触发接收,可看到数据正常接收进来。

e. 关闭连接。

执行 CLOSE 功能块,断开连接。

图片

(2) NJ 作为客户端:

a. SOCKET TOOL 创建 TCP 服务器:

注意此处要正常识别 PC 的 IP 地址,识别不了更换电脑。

图片

软件自动分配的端口为 10000。

b. NJ 触发 star_client 进行客户端连接, 正常会发现网口工具自动显示为“已连接”状态,并正常识别 NJ 的 IP 和端口号:

图片

c. 在 send 功能块里写入发送的 SIZE 位 2 字节,以及发送的数据 1234:

图片

可看到网口调试工具正常接收到数据:

图片

d. 在网口工具发送窗口,给 NJ 发送 FFFF。

图片

在接收功能块里 SIZE 填入接收字节 2,触发接收,可在监视窗口看到接收到的

数据:

图片

e. 关闭连接。

执行 CLOSE 功能块,断开连接。

4. 注意事项

(1) SktUDPCreate 指令、 SktUDPRcv 指令、 SktUDPSend 指令、 SktTCPAccept指令、 SktTCPConnect 指令、 SktTCPRcv 指令、 SktTCPSend 指令、 SktGetTCPStatus指令、 SktClose 指令、 SktClearBuf 指令可同时执行的数量最多为 32。

(3) 如果接收缓存中无数据,则按照超时时间“TimeOut”中设定的时间等待

接收数据,本实例中为设置接收等待时间,则为一直接收。

(4) 一次可发送/接收的数据容量最大为2000字节,SendDat[]的数组容量高于

2000字节时,最多也只能发送2000字节。指定广播地址时,最多只能发送 1472 字节。

(5) TCP通讯时,可以通过SktGetTCPStatus读取TCP状态, SktClearBuf清除接

收缓存。

http://www.dtcms.com/a/520194.html

相关文章:

  • 渲染相关(Markdown、ByteMD、ReactMarkdown)
  • 安庆信德建设咨询有限公司网站wordpress商城建站
  • esp8266初始化流程
  • SymPy矩阵到NumPy数组转换的深度解析:解决lambdify广播陷阱
  • ClickHouse迁移Starrocks脚本工具
  • LeeCode 74. 搜索二维矩阵
  • 网站建设报价单wordpress type参数
  • 长沙网站建设与维护樟木头镇仿做网站
  • Pandas DataFrame:深入理解数据分析的利器
  • Python嵌入(绿色免安装)版:解决安装第三方包后仍无法使用问题
  • 鸿蒙:将Resource类型的image转成 image.PixelMap 类型
  • 如何创建自己的网站平台网站项目建设措施
  • 网站论坛制作滕州手机网站建设案例
  • CANoe学习(一)软件安装和基本使用
  • transform和LLM回顾一下知识点(复习笔记(专业:AI))
  • 怎样创建网站或网页ui设计师怎么做自己的网站
  • Java的抽象类实践-模板设计模式
  • 手记鲁班猫树莓派部署python服务
  • 国企员工学PMP完全是多此一举,听劝好吧
  • 【数论】欧拉函数
  • 【工具】Docker 的基础使用
  • 网站流量与广告费编辑wordpress文章页
  • java基础:String字符串的用法详解
  • 唐河网站制作品牌推广文案
  • VSCode/PyCharm解决“无法加载文件 ***\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本”
  • 做设计的需要网站下载素材吗wordpress菜单添加图标
  • HTML游戏开发:使用视频作为特效自动播放的方法
  • 单芯片USB拓展坞+百兆网卡+读卡器+100W快充芯片CH336F
  • 考研数学——一元函数微分学篇
  • MATLAB基于改进灰色聚类的装备技术风险评估方法