基于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的多线程是如何实现的?和操作系统有什么关系?
本文是作者原创,版权归作者所有.若要转载,请注明出处.本文只贴我觉得比较重要的源码,其他不重要非关键的就不贴了 本文操作系统是centos7 1.查看 pthread_create 函数显示及其示例 ...
- linux基础知识点扫描
1.tty:查看自己的虚拟终端 2.echo "你的服务器已经被我控制,请立刻打钱给我,账号12312312312314123421,否则后果自负!!!" > /dev/ ...
- 关于 System.IO.File.Exists 需要注意的事项
各位: .NET Framework 本省在设计的时候,他对于异常没有完全做到抛出,这样可能会有很多意想不到的问题. 比如 你在asp.net 应用程序中判断文件是否存在,这个文件可能是一个共 ...
- HPU第一次团队赛
D. Tom的战力问题 Tom被斯派克揍了TAT.Tom下定决心要战胜斯派克.但是在战胜最强的斯派克之前,Tom要先打败其他的狗.为此,他打算先收集一下信息.现在Tom在了得到了一些关于战斗力的小道消 ...
- mapstruct使用详解
我们都知道,随着一个工程的越来越成熟,模块划分会越来越细,其中实体类一般存于 domain 之中,但 domain 工程最好不要被其他工程依赖,所以其他工程想获取实体类数据时就需要在各自工程写 mod ...
- Jmeter实现multipart/form-data类型请求
http请求有三种content-type:application/json.x-www-form-urlencoded.multipart/form-data,前两种比较常见,这里主要说multip ...
- python爬虫面试题集锦及答案
1.爬取数据后使用哪个数据库存储数据的,为什么? - 2.你用过的爬虫框架或者模块有哪些?优缺点? - 3.写爬虫是用多进程好?还是多线程好? - 4.常见的反爬虫和应对方法? - 5.需要登录的网页 ...
- Java锁之自旋锁
Java锁之自旋锁 自旋锁:spinlock,是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁,这样的好处是减少线程上下文切换的消耗,缺点是循环会消耗CPU 原来提到的比较并交换,底层 ...
- 关于“xxx”object is not callable的异常
参考博文:https://blog.csdn.net/yitiaodashu/article/details/79016671 所谓callable对象是指一个后边可以加()的对象,比如函数, 所以这 ...
- 地点下来框的实现(php)
效果图: 样式(bootstrap): class="selectpicker show-tick form-control",就是多了个form-contro就行了 概念: 这里 ...