C#与西门子PLC1500的ModbusTcp服务器通信1--项目背景

最近在一个120万元的项目中,涉及到modbustcp通信,我作为软件总工负责项目的通信程序开发,modbus是一个在工业自动化领域中的通信协议,可以是modbusrtu,modbusascii,modbustcp三个形式,具体来说是三个不同的数据包结构,具体的细节请读者自行熟悉,这里只讲项目中应用过程,本项目中总工设计的环境是上位机软件与PLC走modbustcp协议通信,那就是说上位机必须通过网线与PLC连接,当然中间是有交换机的,两者通信时,PLC是服务器,上位机是客户端,这个角色关系千万别搞错了,理解这个定位后,才好理解整个过程,记住:PLC是tcp服务器,上位机是tcp客户端

这是工控机,就是一台PC电脑,但与普通电脑不同的是,对外的接口有更多,如多个串口,USB口

这是PLC,它有网口,通过网线连接交换机

, 通信模型如下:

我简化下

服务器这边的工作:1、搭建tcp服务器,明确IP地址和端口,2、提供modbus寄存器地址和数据

客户机这边的工作:1、开发winform程序,连接服务器,2、读取和写入寄存器数据

工业软件调试中往往会遇到需要与modbus tcp设备进行通讯的情况,为减少程序设计中存在的Bug,通常我们需要对其进行简单的模拟测试,便于缩短真机调试。

本篇将会以西门子PLC1500软件搭建ModbusTCP仿真环境,并通过仿真环境,介绍基础知识及模拟实际应用中写一个简单的通信读取PLC数据方法,并简介了编写上位机的方法。

搭建ModbusTCP仿真环境可以采用以下两种方式

  • ModbusSlave可以快速搭建一个ModbusTCP服务器,但这个不符合本项目需要 。
  • 可以用西门子PLC来做ModbusTCP仿真环境,这个正合胃口,项目中正是西门子1500PLC

搭建西门子仿真环境,需要先前掌握这些

windows10企业版安装西门子博途V15---01准备环境

windows10企业版安装西门子博途V15---02安装软件

windows10企业版安装西门子博途V15---03安装仿真软件

windows10企业版安装西门子博途V15---04连接测试

网上看了很多使用PLC搭建MODBUSTCP服务器的文章,写得一般,都是从一个电气工程师的角度来说的,而且还不怎么样,但作为一个传统的应用软件人才来看,有些迷茫不解,很多地方糊涂,而我这个文章就不一样,不但从电气工程师来讲,更多的是从软件开发人员的角度来讲明白,能看到这个文章,你是幸运的。

软件效果如图:

相关推荐
冰封之寂7 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
treesforest7 小时前
平时上网留下的IP地址,到底能被查到什么?
网络·网络协议·tcp/ip·ip地址·ip查询·定位服务
多巴胺梦想家8 小时前
06 代数系统:运算背后的结构之美
网络·拓扑学
小柯南敲键盘8 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
小锋学长生活大爆炸8 小时前
【福利】最新免费领取云服务器和虚拟主机攻略
网络·github
云计算磊哥@9 小时前
运维开发宝典058-大型网站nginx服务器管理全集4
服务器·nginx·运维开发
952369 小时前
Docker - 基础
运维·后端·docker·容器
Promise微笑9 小时前
智能激光清障仪选型指南:高效运维与安全保障的关键考量
运维·安全
8125035339 小时前
第 60 篇:IP选项:那些被遗忘的功能
网络·tcp/ip·智能路由器
Code_Ignis9 小时前
docker国内可用源(持续维护)
运维·docker·容器