![d568145c1a7170e6cb1e4d5afa719352.png](https://img-blog.csdnimg.cn/img_convert/d568145c1a7170e6cb1e4d5afa719352.png)
写在前面
现今社会每时每刻都在产生数据,很多情况下工程项目的上位机系统只能在中控室或者局域网内查看,巡视人员不停往返于现场和中控室,造成管理困难,由于智能手机的高速发展,人手一台已经很普及开了。此时做为工控人也需要与时俱进,最初的想法就是把项目的数据传到云端,用户通过管理权限登陆到手机端进行查看。
而目前很多数据都是需要经过网关传到第三方平台,对保密性、安全性、稳定性都不能完全把握,故有了自己做私有云的打算。现场液位、流量、PH、氟离子、总氮、COD、DO等等,每个数据每时每刻都在产生数据通过公司内部平台,直接传输到阿里云、腾讯云等服务器上实时保存,数据的可靠性、和保密性有一定的保障。
现在手机端、网页端往往都无法直接对PLC进行直接读写,往往需要通过数据库进行读写;而PLC又无法直接写入到数据库,这时就引入了KEPWARE 6.6做为OPC一个桥架,将数据存入到SQL数据库。
通过 KEPWARE 6.6实现PLC 以太网 与sql2016 SQL Server中表双向通讯,并不是新知识,这里实验的过程也得到朋友的帮忙,再次表示感谢,以下的步骤,提供给需要的人。
详细步骤:
1、SQL新建一个库,2个表,用于测试area用于SQL写入PLC;Table_2用于PLC写入SQL;其实也可以新建一个表;同步更新读写;
![be66fee815f24d421cee62096da5b515.png](https://img-blog.csdnimg.cn/img_convert/be66fee815f24d421cee62096da5b515.png)
![ae07c39cd7a9ef0b0d9c76db5d459409.png](https://img-blog.csdnimg.cn/img_convert/ae07c39cd7a9ef0b0d9c76db5d459409.png)
![72af5467dd892956bbe4289504f1ea16.png](https://img-blog.csdnimg.cn/img_convert/72af5467dd892956bbe4289504f1ea16.png)
这里注意新增的表,必须增加新增一行数据,否则后面OPC会无非和SQL同步;
![9f849a8e2fb249485ab67a8089ce33b4.png](https://img-blog.csdnimg.cn/img_convert/9f849a8e2fb249485ab67a8089ce33b4.png)
2、新建chanel通道
![5b3926622618487b24eef2d1a78e6a96.png](https://img-blog.csdnimg.cn/img_convert/5b3926622618487b24eef2d1a78e6a96.png)
3.新增一个系统DNS
注意:要选择系统DSN,用户DNS不好用,可能因为64为系统的原因。
![95a77a4b1358bcf5121d89c80d06d25e.png](https://img-blog.csdnimg.cn/img_convert/95a77a4b1358bcf5121d89c80d06d25e.png)
![4dcbdca06b7f85899cbf97b47ca3c72e.png](https://img-blog.csdnimg.cn/img_convert/4dcbdca06b7f85899cbf97b47ca3c72e.png)
这里根据需要选择网络登陆还是ID登陆;
![303ed81c3d3412c92a726b6cb4eccbe8.png](https://img-blog.csdnimg.cn/img_convert/303ed81c3d3412c92a726b6cb4eccbe8.png)
这里选择,SQL里面的库名称
![034827402b31041d73b0003be6d38173.png](https://img-blog.csdnimg.cn/img_convert/034827402b31041d73b0003be6d38173.png)
这里测试成功,就ok了;
4:这里新增一个通道,如果用ID登陆,就输入账号和密码
![a5649488c77d540740e8e106c4522f96.png](https://img-blog.csdnimg.cn/img_convert/a5649488c77d540740e8e106c4522f96.png)
5.新增设备
![dff836df5fa755a2a3fc1aa4fa566ac4.png](https://img-blog.csdnimg.cn/img_convert/dff836df5fa755a2a3fc1aa4fa566ac4.png)
设置过程需要注意:
![4d31100651ecfa91b281fec2c1fc627c.png](https://img-blog.csdnimg.cn/img_convert/4d31100651ecfa91b281fec2c1fc627c.png)
![9c3ff2299391941ba4042ca84f6e3616.png](https://img-blog.csdnimg.cn/img_convert/9c3ff2299391941ba4042ca84f6e3616.png)
这里选择前面新建的表
![0d717268246a669da11eca7778713608.png](https://img-blog.csdnimg.cn/img_convert/0d717268246a669da11eca7778713608.png)
连接完毕后,必须连接一下。
![7cb5cb68833f83333b46e9140dd210af.png](https://img-blog.csdnimg.cn/img_convert/7cb5cb68833f83333b46e9140dd210af.png)
![500dd0e2f7feff9fc7d7cc3dd0897dae.png](https://img-blog.csdnimg.cn/img_convert/500dd0e2f7feff9fc7d7cc3dd0897dae.png)
此时会自动新建了很多的变量。
此时OPC与数据已经连接成功。
6.下面开始做数据库与PLC数据交互;
在Advanced Tags中新增link tag;
![f9b89bfec76c829d2f802f3211209f0a.png](https://img-blog.csdnimg.cn/img_convert/f9b89bfec76c829d2f802f3211209f0a.png)
Sql_to_plc
![2981914bc61fd2207fa91a0a4be62a59.png](https://img-blog.csdnimg.cn/img_convert/2981914bc61fd2207fa91a0a4be62a59.png)
![644efec810272522ccb6c0ee50599322.png](https://img-blog.csdnimg.cn/img_convert/644efec810272522ccb6c0ee50599322.png)
![f31b2cc5f4484cb71817d893a5ba62a9.png](https://img-blog.csdnimg.cn/img_convert/f31b2cc5f4484cb71817d893a5ba62a9.png)
建立了两个标签名;
7、实验测试
![5ba84e004bacb342c2cc3ace307baebf.png](https://img-blog.csdnimg.cn/img_convert/5ba84e004bacb342c2cc3ace307baebf.png)
![0281e74cb81fa210a36bf6963aa6eb0f.png](https://img-blog.csdnimg.cn/img_convert/0281e74cb81fa210a36bf6963aa6eb0f.png)
Value列写1,PLC的Q0.0继电器吸合,写0,继电器断开,测试成功,可实现plc根据sql表中数据数值而动作。
![c90c25288216aba2e9cc5a4ad268bce5.png](https://img-blog.csdnimg.cn/img_convert/c90c25288216aba2e9cc5a4ad268bce5.png)
输入数值56.8后,查看表中数据也是56.8,测试成功,plc数值能存入sql表中。
![c70fc0c8e78cfbaaf2ecfd2d13d94970.png](https://img-blog.csdnimg.cn/img_convert/c70fc0c8e78cfbaaf2ecfd2d13d94970.png)
写在最后
经过以上步骤,已经完成了从PLC中读取数据,并且插入到SQL表中,同时也能从SQL读取数据到PLC中,从而实现了数据的交换。但往往这样还是不够,这个时候需要从事IT人员将数据通过页面的方式进行展示,网页读写SQL数据库就行,形式很多,表达方式也很多,不再深入叙述。
以下是此次数据平台的大致样子,通过管理员权限进入查看数据:
![62103f26dba77db2a1b84576e165a04f.png](https://img-blog.csdnimg.cn/img_convert/62103f26dba77db2a1b84576e165a04f.png)
![c27109cca7e7974cf35be6b8b45348f5.png](https://img-blog.csdnimg.cn/img_convert/c27109cca7e7974cf35be6b8b45348f5.png)
![2dda0a595b06064a22369a1ed8073c98.png](https://img-blog.csdnimg.cn/img_convert/2dda0a595b06064a22369a1ed8073c98.png)
免责申明:本机构号所载文章为本号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!
本文为剑指工控原创技术类文章,2015年5月6日首次发表于《剑指工控》公众号。
特别鸣谢本文作者
赖伯海
从事自动化控制十余载,从事各种水处理自动化控制,熟悉AB、施耐德、西门子、三菱等主流PLC程序开发及画面组态制作及应用,对各自控仪表也有深入研究。
本账号为《剑指工控》官方知乎账号。剑指工控由一群带有工控情结的技术青年组织在一起,他们都是在工控一线的技术达人,如果你是工控一线的工程师,如果你在日常工控工作当中会遇到种种的技术问题,如果你热爱工控技术和工控生活,欢迎加入我们,随手提出你的技术问题会有技术达人第一时间为你解答。可以分享你的工控喜怒哀乐,会有兄弟们跟你产生共鸣。可以获得最新的工控资讯,指明技术和行业路线,做到未雨绸缪。
欢迎大家关注我们的公众号剑指工控(JZGKCHINA),更多的了解我们。
Ps. 进入公众号,“群&社区”菜单中有各个”技术交流学习群“的入口链接,获取小编微信号,添加小编微信并备注“行业+微信名+城市”(格式不对能通过好友验证,但一律不加群)
高校在校生请告知小编,进入“高校自动化专业交流群”~
高校自动化专业群,旨在专业课程学习,专业方向选择,课程设计,毕业设计,就业方向,考研方向,高校杯自动化竞赛等方面进行交流和经验分享~
期待你的加入~