对于学习上位机开发,有一种通信方式是必须要了解的,那就是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之间的通信的更多相关文章

  1. vc 基于对话框多线程编程实例——线程之间的通信

     vc基于对话框多线程编程实例——线程之间的通信 实例:

  2. 基于samba实现win7与linux之间共享文件_阳仔_新浪博客

    基于samba实现win7与linux之间共享文件_阳仔_新浪博客 然后启动samba执行如下指令: /dev/init.d/smb start 至此完成全部配置.

  3. 基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)

    基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具 支持一对一,一对多,多对一和多对多的数据传输方式. 一对一 - 一个mongodb的collection对应一 ...

  4. vue的父子组建之间的通信(-),基于props和$emit之间的传递

    对于vue而言,以为其核心思想为前端组建化.所以组建之间的通信必不可少. 相信接触过Angularjs的童鞋都知道angularjs的控制器之间的通信机制. 1:父传子:官方的$broadcast() ...

  5. 基于WSAAsyncSelect模型的两台计算机之间的通信

    任务目标 编写Win32程序模拟实现基于WSAAsyncSelect模型的两台计算机之间的通信,要求编程实现服务器端与客户端之间双向数据传递.客户端向服务器端发送"请输出从1到1000内所有 ...

  6. 基于S7-PLCSIM Advanced搭建S7通信仿真环境

    写在前面: 之前有专门讲过一期如何搭建西门子PLC的S7通信仿真环境,感兴趣的可以点击查看:戳↓ 1.基于TIA搭建西门子PLC仿真环境及通信方案-联合出品 2.手把手教你搭建西门子PLC仿真环境 那 ...

  7. elasticsearch基于RBAC认证和集群之间的TLS通讯

    elasticsearch基于RBAC认证和集群之间的TLS通讯 一.背景 二.需要解决的问题 三.给es增加用户名和密码访问 1.修改config/elasticsearch.yml 2.访问es集 ...

  8. 【Unity3D技巧】在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 (二) : 引入中间层NotificationCenter

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 一对多的观察者模式机制有什么缺点? 想要查看 ...

  9. Android Framework------之ActivityManagerService与Activity之间的通信

    研究Android系统的童鞋,想必都已经了解一个Activity的启动过程了.而且在网上,关于Activity的启动的文章非常多,很容易就能找到的.这篇文章的重点放在ActivityManagerSe ...

随机推荐

  1. js数组的遍历(API)

    1.for 循环 普通遍历方法,可优化,存下数组的length,避免每次都去获取数组的length,性能提升 for(var i=0;i<arr.length;i++){ console.log ...

  2. Floyd-例题-实现-我的第一篇博客

    https://www.cnblogs.com/lbssxz/p/11014911.html 这是网上看到的题目,以上是原博主的解答和题目来源(没找到别的题目来源) 题目大意: 城市交通费 [问题描述 ...

  3. 5个有趣的Python小知识,结果令人意外

    1 字符串驻留 如果上面例子返回True,但是下面例子为什么是False: 这与Cpython 编译优化相关,行为称为字符串驻留,但驻留的字符串中只包含字母,数字或下划线. 2 相同值的不可变对象 这 ...

  4. D - Fox And Two Dots DFS

    Fox Ciel is playing a mobile puzzle game called "Two Dots". The basic levels are played on ...

  5. reactnavigation 5.x简单例子

    随着RN和reactnavigation的版本更新,网上很多老版的例子都不能用了. 自己摸索着跑通了一些简单的功能. 使用的是最新的    "react-native": &quo ...

  6. 关于C++线程池的实现的思考

    今天突然对前些日子一直很疑惑的c++线程池有了新的想法.其实所谓的线程池无非就是两个技术点,一个,多线程,指工作线程和主线程分离,或者说数据接收和处理分两个线程,一般就是讲需要运行的函数放到子线程执行 ...

  7. css特效sh

    1   opacity=0.5:                                                             透明度 2    选择器   .btn1:ho ...

  8. 12. 前后端联调 + ( proxy代理 ) + ( axios拦截器 ) + ( css Modules模块化方案 ) + ( css-loader ) + ( 非路由组件如何使用history ) + ( bodyParser,cookieParser中间件 ) + ( utility MD5加密库 ) + ( nodemon自动重启node ) + +

    (1) proxy 前端的端口在:localhost:3000后端的端口在:localhost:1234所以要在webpack中配置proxy选项 (proxy是代理的意思) 在package.jso ...

  9. 不借助多余参数也可交换两个参数(c++,swap函数)

    利用a^a=0异或属性 [示例代码] #include<stdio.h> void data_swap(int &a,int &b){ a = a ^ b; b = a ^ ...

  10. php 判断是否手机端还是pc端

    来自:https://www.cnblogs.com/webenh/p/5621890.html 用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC ...