基于KepServer实现与S7-1200PLC之间的通信
对于学习上位机开发,有一种通信方式是必须要了解的,那就是OPC是OLE for Process Control的简称,然而随着技术的不断发展,人们开始对它有了新的定义,比如Open Platform Communications,但是无论它怎么定义,它的初衷和目标始终没有改变,就是为了消除自动化软件与硬件平台之间的互操作性的障碍,说白了就是解决上位机与下位机之间的通信问题。本文以KepServer为例,跟大家介绍一下如何基于KepServer实现与S7-1200PLC之间的通信。
1. KepServer软件下载安装
KepServer软件是需要自行安装的,版本也有很多种,很早之前用的可能是4.X版本,但是随着OPCUA的发展,最新的KepServer版本已经达到了6.5,并且支持OPCUA,大家如何需要KepServer软件,可以通过微信搜索喜科堂官方公众号:dotNet工控上位机,发送关键词 KepServer即可。
软件下载之后,安装过程就不多说了,安装之前最好将相关软件退出,或者重启电脑后安装,这里要着重说明一下授权的过程,KepServer本身是商业软件,大家如果是项目使用,建议大家购买正版,如果是学习使用,可以参考授权,授权方式可以通过微信搜索喜科堂官方公众号:dotNet工控上位机,发送关键词 KepServer Crack即可。
2. KepServer配置1200PLC
(1)打开KepServer软件后,通过菜单新建一个项目,然后按照下图进行操作:

图表 1 添加通道
(2)添加设备:添加设备按照向导进行添加,这里的型号选择S7-1200,并设置正确的IP地址,其他默认下一步:

图表 2 添加设备
(3)添加组,如果变量较多,可以按照类型添加组进行分类:

图表 3 添加组
(4)添加标记:KepServer中的标记指的就是OPC变量,直接右击新建标记,然后按照说明填写即可,名称根据需要填写,地址需要按照说明填写,这里以布尔量为例,就填写DB1.DBX4.0这种格式,其他的数据类型根据提示编写。

图表 4 添加标记
(5)保存项目:添加完成之后,直接保存项目,然后通过菜单 >> 运行时 >> 连接实现与PLC之间的连接。

(6)监控变量:连接正常之后,通过点击Quick Client进行监控,点击相应的标记点,即可看到通信数值及通信状态。

图表 5 快速监控
3. 整体总结
本次主要针对基于KepServer实现与西门子S7-1200PLC之间的通信做了较为详尽的描述,其实更多的是配置的问题,大家只要按照步骤去做,一般是没问题的。对于其他不同的PLC或者协议,都是按照这样的步骤去配置即可。KepServer软件的目的是通过配置快速实现与下位机之间的通信,开发者只需要与KepServer服务器进行通信即可,对于一些复杂的协议或者开发者对底层协议不太了解,会有比较大的帮助。
基于KepServer实现与S7-1200PLC之间的通信的更多相关文章
- vc 基于对话框多线程编程实例——线程之间的通信
vc基于对话框多线程编程实例——线程之间的通信 实例:
- 基于samba实现win7与linux之间共享文件_阳仔_新浪博客
基于samba实现win7与linux之间共享文件_阳仔_新浪博客 然后启动samba执行如下指令: /dev/init.d/smb start 至此完成全部配置.
- 基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)
基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具 支持一对一,一对多,多对一和多对多的数据传输方式. 一对一 - 一个mongodb的collection对应一 ...
- vue的父子组建之间的通信(-),基于props和$emit之间的传递
对于vue而言,以为其核心思想为前端组建化.所以组建之间的通信必不可少. 相信接触过Angularjs的童鞋都知道angularjs的控制器之间的通信机制. 1:父传子:官方的$broadcast() ...
- 基于WSAAsyncSelect模型的两台计算机之间的通信
任务目标 编写Win32程序模拟实现基于WSAAsyncSelect模型的两台计算机之间的通信,要求编程实现服务器端与客户端之间双向数据传递.客户端向服务器端发送"请输出从1到1000内所有 ...
- 基于S7-PLCSIM Advanced搭建S7通信仿真环境
写在前面: 之前有专门讲过一期如何搭建西门子PLC的S7通信仿真环境,感兴趣的可以点击查看:戳↓ 1.基于TIA搭建西门子PLC仿真环境及通信方案-联合出品 2.手把手教你搭建西门子PLC仿真环境 那 ...
- elasticsearch基于RBAC认证和集群之间的TLS通讯
elasticsearch基于RBAC认证和集群之间的TLS通讯 一.背景 二.需要解决的问题 三.给es增加用户名和密码访问 1.修改config/elasticsearch.yml 2.访问es集 ...
- 【Unity3D技巧】在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 (二) : 引入中间层NotificationCenter
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 一对多的观察者模式机制有什么缺点? 想要查看 ...
- Android Framework------之ActivityManagerService与Activity之间的通信
研究Android系统的童鞋,想必都已经了解一个Activity的启动过程了.而且在网上,关于Activity的启动的文章非常多,很容易就能找到的.这篇文章的重点放在ActivityManagerSe ...
随机推荐
- Java正则表达式基础知识及实例说明
众所周知,在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力.因此,学习及使用正则表达式,便成了解决这一矛 ...
- sql server临时删除/禁用非聚集索引并重新创建加回/启用的简便编程方法研究对比
前言: 由于新型冠状病毒影响,博主(zhang502219048)在2020年1月份从广东广州工作地回到广东揭阳产业转移工业园磐东街道(镇里有阳美亚洲玉都.五金之乡,素以“金玉”闻名)老家后,还没过去 ...
- Vue + d3.js实现在地图上选点
需求:用户在地图上单击选点,页面获取到具体坐标并返回. 首先比较重要的是Vue中的$nextTick,因为vue是异步更新的,如果是想打开Dialog或者是其他操作dom后才加载地图,使用nextTi ...
- G. 蚂蚁的镜像串
单点时限: 1.0 sec 内存限制: 512 MB 一只聪明的蚂蚁在学习了回文串之后,一直觉得回文串不够优美,所以它决定自己定义一种新的字符串——镜像串 所谓镜像串,就是对一个字符串进行一整个完全的 ...
- python基础--str.split
string = 'This +is -a /string' process = string.split('-') process1 = string.split('-')[-1]#-1和-2可能存 ...
- Git 创建远程仓库并克隆到本地,创建本地仓库并推送到远程仓库
配置用户信息 配置的是你个人的用户名称和电子邮件地址.这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,会随更新内容一起被永久纳入历史记录 git config --glo ...
- [HarekazeCTF2019] web
在 buuoj 上看到的这个比赛题目,期间平台关了,就拿了 Dockerfile 本地做了,web 题目感觉还不错 encode_and_encode [100] 打开靶机,前两个页面都是 html ...
- 实战 | 将Apache Hudi数据集写入阿里云OSS
1. 引入 云上对象存储的廉价让不少公司将其作为主要的存储方案,而Hudi作为数据湖解决方案,支持对象存储也是必不可少.之前AWS EMR已经内置集成Hudi,也意味着可以在S3上无缝使用Hudi.当 ...
- 聊聊Spring Boot Actuator
概述 在本文中,我们将介绍Spring Boot Actuator.我们将首先介绍基础知识,然后详细讨论Spring Boot 1.x和2.x中的可用内容. 我们将在Spring Boot 1.x中学 ...
- 敏捷与OKR实践(如何让OKR与敏捷计划共存)
僵化的详细长期计划(根据消耗的预算跟踪进度)正在敏捷组织中迅速成为对过去的褪色怀旧记忆,这由预测和非静态路线图代替.定期在这些可视化文件前聚会,您将能够学习.共享并触发重要的对话,解决依赖性并邀请服务 ...