基于Socket访问西门子PLC系列教程(二)
本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:【公众号dotNet工控上位机:thinger_swj】
基于Socket访问西门子PLC系列教程(一)
在完成上述步骤后,接下来就是编写上位机软件与PLC之间进行通信。上位机UI界面设计如下图所示:
从上图可以看出,上位机需要完成以下功能:
TCP建立连接与断开连接多线程接收服务器数据各种数据类型通用数据解析各种数据类型的通用写入接下来我们将按照功能顺序来逐个完成,具体如下:(1)TCP的建立连接与断开连接:TCP连接与断开主要是调用Socket的API函数来实现,代码如下所示:
(2)开启多线程持续接收服务器数据:上位机连接上PLC后,PLC会定时向上位机发送数据,上位机需要持续接收数据,因此在连接成功后,开启一个线程来接收服务器数据。
(3)各种数据类型通用数据解析:当已经获取到所有的数据(字节数组)时,如果想任意一种数据类型的解析,通过分析发现,至少需要三个元素,分别为起始字节、数据类型、偏移(针对布尔是位偏移,针对字符串是长度),因此我们首先针对这三个元素,创建了一个实体类,如下所示:
通过控件显示数据,因此需要给控件做下绑定,这里是通过Tag属性来做,按照DataType;Start.Offset的格式,DataType按照枚举类型填写数据,Start填写一个整数,对于Offset,如果不是布尔类型或者字符串,该项可以不填,填写格式如下所示:
Tag绑定方式如下所示:【公众号dotNet工控上位机:thinger_swj】
获取到控件绑定的Tag之后,需要编写一个方法,实现Tag和实体对象BindVariable之间的转换。
通用数据更新实现思路:遍历所有的控件,首先判断其Tag属性是否满足要求,如果满足要求,将Tag转换为BindVariable对象,再根据BindVariable对象来进行数据解析,这里可以将实时更新单独封装成一个方法,多线程中直接进行调用,完成上述步骤后,可以直接运行上位机软件,进行读取功能测试,先在博途中创建一个监控表,填入一些随机数,然后通过上位机进行读取对比,监控表如下图所示:
上位机运行读取数据如下图所示:
西门子PLC modbus协议网关
西门子PLC modbus协议网关 华辰智通西门子PLC modbus协议网关即Gateway,是一款支持单网口/两网口/五网口,支持4G/3G/WIFI /WAN网络,内嵌工业控制协议,支持远程自定义配置、远程部署、网关状态监控等技术于一体的内嵌网络操作系统的工业级智能网关。
它适合作为大规模的分布式设备的接入节点,内嵌协议分析器可以通过协议分析把现场设备的数据先收集到网关节点计算分析,然后再通过MQTT物联网协议传送到客户自定义的MQTT云平台,方便用户利用先进的物联网技术和两化融合技术快速构建一套高效、高并发的工业互联网系统及工业4.0服务平台。西门子PLC modbus协议网关功能介绍: 1、接口丰富,支持以太网、串口、CAN口、IO口等设备接入及以太网、2G/3G/4G全网通网络接入;2、内嵌上百种工业协议,支持99%以上PLC及绝大多数工业设备接入;3、8GB本地存储+SD卡支待,支持本地数据缓存及离线应用;4、三合一串口,支持RS485/RS232/RS422三种电气接口;5、支持LED灯自定义,用户可根据需要定义LED灯(如设备状态、边缘计算结果等);6、支持DC9~36V宽压输入,适应多种复杂工业现场;7、支持边缘计算,在物联网边缘节点实现数据优化、实时响应、敏捷连接、模型分析等业务,有效分担云端计算资源 支持多台设备同时接入;
8、无需客户端,支持按需连接的远程上传、下载,有效节省网络流量;9、工业边缘计算网关G111,数据采集最大支持5000点;10、支持多种标准的VPN (PPTP/ L2TP/IPSec/OpenVPN) ;11、支持网络主备模式,根据网络情况智能切换网络接入方式(支持智能网络诊断);12、支持多种远程控制模式(无密码/有密码/禁用),同时具备物理远程控制开关,一键开关远程控制功能;13、支持4G流量详情分析及流量控制;14、支持网络自动恢复;支持网关健康自诊断,快捷检测网关故障;15、强大的云端软件中心支持,可根据实际应用场景安装对应的固件、应用等;
16、支持网关远程管理;17、支持基站定位模式及本地WEB端位置呈现;18、支持本地WEB端点表配置,支持本地组态设计和呈现;19、支持多链接井发数据采集;20、支持数据多路转发和第三方平台接入。
华辰智通西门子PLC modbus协议网关广泛应用于智能工厂、智慧水利、环境监测、污水处理、电梯监控、包装机械、印染机械、工程机械、纺织机械、供水设备、热力锅炉等工业领域。多种网络接入、丰富的协议库、稳定可靠的接入、完善的网关管理及应用功能协助工业客户构建工业4.0服务系统。
相关问答
nx支持多线程的版本?
NX支持多线程的版本是NX10及以上版本。从NX10开始,Siemens在其CAD/CAM/CAE软件中加入了多线程支持,使得软件能够更好地利用多核处理器来提升性能。多线程技术...
人工智能领域有哪些“闷声发大财”的公司?
说起人工智能产业全球的领头羊,大多数人首先想到的应该是谷歌、特斯拉、百度等企业。相比之下,公有云巨头亚马逊在人工智能领域看上去却名声不显。但这并不意味...
ton指令如何定时?
要让ton指令定时执行,可以使用操作系统提供的定时器功能,或者使用编程语言中的定时器库。在定时器回调函数中调用需要执行的ton指令即可。定时器的设置可以根...
孩子游泳后发烧怎么办
[回答]你好,根据你上面说的情况来看,考虑应该是有些感冒引起的症状。建议你服用一些消炎感冒类的药物观察看看,如果发烧厉害,要服用退烧药物,平时多喝些...
哪款烤箱比较好?
这里摘录整理一段《现代主义烹调》中关于蒸烤箱的文字:(对,就是那套售价3000多块钱的烹饪界神书,小窝家里有一套用于镇宅)https://item.jd.com/12056365.ht...
宏基笔记本按键变数字-ZOL问答
如果是多线程,还得环境变量一次才得出结果dimenvba="23424"+0b=a有用(0)回复展开查看全部4条讨论精品应用推荐新浪微博天气通淘宝特价版...
奔腾G4560配什么主板比较好?-ZOL问答
奔腾G4560双核四线,性能是不错的,搭配的主板只要差不多就可以了,微星H110M-PROVD主板,339块,采用四相数字供电,以后升级到i57500四核,i77700四核八线,这个主...
如何理解目前的工业物联网?
因为控制器中已经有非常多可用的数据,这些数据和设备的故障、状态、工艺参数、能耗参数等都息息相关。同时,在一些应用场景下需要下发命令到控制器上(下发配方...
AMDFX-8300与Intel酷睿i34150哪个更好-ZOL问答
3,从单线程性能来看,i34150要比FX8300好很多。4,从多线程性能来看,FX8300凭借八个核心压制双核四线程,比i34150强很多。5,多开程序比较多的用户选择FX8300不...
foxmail设定过滤器后将邮件分类后怎么把我在服务器上的邮...
你认为要支持1w并发需要什么样服务器配置?4651浏览10回答什么是根服务器,有什么作用,中国现在有这样的技术发展根服务器吗?5270浏览10回答WordPress建站...