找回密码
 立即注册

QQ登录

只需一步,快速开始

工控课堂 首页 工控文库 上位机编程 查看内容

基于Socket访问西门子PLC系列教程

2022-2-20 15:04| 发布者: gk-auto| 查看: 1401| 评论: 9|原作者: gk-auto

摘要: 来源:dotNet工控上位机 1、引言西门子PLC是每个人都非常熟悉的一款PLC品牌,大家在使用西门子软件或者逛西门子论坛,经常会看到一个词叫做Open User Communication或开放式通信,其实就是TCP/UDP通信方式。我们可以 ...
来源:dotNet工控上位机
1、引言
西门子PLC是每个人都非常熟悉的一款PLC品牌,大家在使用西门子软件或者逛西门子论坛,经常会看到一个词叫做Open User Communication或开放式通信,其实就是TCP/UDP通信方式。我们可以从以下两张图中看出,分别为S7-200Smart编程软件Micro/Win Smart V2.5及博途TIA V15.1编程软件中关于通信库的部分截图:




我们可以看到无论是西门子的中高端PLC还是低端PLC,都是支持开放式TCP/UDP通信的,本案例以西门子S7-1200PLC作为TCP服务器,上位机作为TCP客户端来实现上位机与PLC之间的通信。
2、PLC程序编写
(1)通过博图软件创建一个新的PLC项目根据硬件型号插入新设备,这里选择CPU 1214C DC DC DC


(2)双击PLC的以太网口,设置IP地址,这里设置为192.168.1.210


(3)创建一个新的DB块用于发送和接收数据,这里定义为DB100,其中SendBuffer和ReceiveBuffer分别为100个字节的数组,注意DB块要去除优化的块访问


(4)打开OB1,将指令TSEND_C拖拽至OB1的程序段1中,根据操作提示添加背景数据块


(5)在TSEND_C选择属性>组态>连接参数:
  • 伙伴选择“未指定”
  • 设置客户端主动建立连接
  • 连接类型选择TCP
  • 新建一个连接数据
  • 连接ID设置为1
  • 本地端口设置为2000


(6)双击CPU,启用系统存储区和时钟存储区字节,使用默认的MB0和MB1


(7)回到OB1,填写REQ和DATA,REQ采用1秒钟的脉冲,DATA为SendBuffer和ReceiveBuffer的结合


(8)将指令TRCV_C拖拽至OB1的程序段1中,根据操作提示添加背景数据块,连接数据选择之前创建好的


(9)回到OB1,填写ENR和DATA,ENR填写True,保持接收,DATA为ReceiveBuffer


(10)编译PLC程序,下载PLC程序


(11)打开NetAssist连接PLC,进行通信测试 :
  • 设置TCP Client
  • 远程主机地址填写PLC的IP
  • 端口号填写设置的2000
  • 接收选择Hex显示
  • 点击连接
  • 观察返回数据及长度


2、上位机程序编写
PLC作为TCP服务器,上位机作为TCP客户端,因此上位机开发流程就是TCP客户端的编写流程,如下图所示:


TCP客户端编程步骤:
  • 客户端初始化 Socket,得到文件描述符
  • 客户端调用Connect,连接服务器
  • 连接成功调用Send向客户端发送消息
  • 通过Receive接收客户端消息
根据上述流程编写UI界面如下图所示:


PLC程序中,每隔一秒钟会往客户端中发送200个字节数据,因此只要我们连接上服务器,然后通过开启一个线程来持续接收,即可获取到PLC发送的数据。

[groupid=83]工控上位机学习[/groupid]
0f9e467eab8c41b3b07a6cb56c11d53d.jpg
关注公众号,加入500人微信群,下载100G免费资料!
发表评论

最新评论

引用 wx_Lh3GY7Wv 2025-11-21 18:37
打卡路过,支持优质原创内容~
引用 贤海 2025-11-21 18:44
这波反向操作,我属实没想到!
引用 yue1372373368 2025-11-21 18:45
求个链接 / 教程,楼主好人一生平安~
引用 JIE 2025-11-21 18:46
谁懂啊!这内容我能循环看十遍
引用 张胜关 2025-11-21 18:49
哈哈哈哈笑不活,楼主这脑洞绝了!
引用 聚贤庄950 2025-11-21 18:51
同款经历!简直是世另我
引用 bioler 2025-11-21 18:51
蹲一波同款,有没有小伙伴推荐?
引用 顾鑫 2025-11-21 18:55
我先占个楼,等下再慢慢看~
引用 奋力奔跑 2025-11-21 18:56
来凑个热闹,增加点人气~

查看全部评论(9)

热门文章
关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 20:06 , Processed in 0.118579 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部