基于KEPServerEX的PLC1200与KIngSCADA的连接
一、软件准备
TIA Portal、KEPServer EX6以及Nettoplcsim-S7o-v-1-2-5-0
二、PLC配置
首先打开TIA Portal V16——新建项目——打开项目视图——添加新设备——控制器——选择一个CPU型号——确定
- 第一步 双击设备组态,在PROFINET 接口里的以太网地址中设置PLCIP地址,需要和电脑IP在同一网段(本机IP:192.168.15.135)
- 第二步 防护与安全——连接机制——勾选“允许来自远程对象的PUT/GET通信访问”
- 程序块中编写两个简单的程序
新建数据块DB时,需要取消“优化的块访问”,否则可能导致通讯失败,取消之后就可以看到变量的偏移量,如程序段1中的变量都是DB1数据块中的变量,Tag_1偏移量为0.0
- 编译——启动仿真——下载到设备——开始搜索——下载——装载——完成,开始仿真,启动监视
三、NetToPLCsim
以管理员身份运行NetToPLCsim,Network IP Address填写电脑IP地址,Plcsim IP Address填写PLC IP地址,Slot选择1,添加之后Start Server
四、KEPServerEX
打开软件,右击连接性新建通道——选择Siemens TCP/IP Ethernet通道类型——通道命名——网络适配器——其余默认
通道建完之后开始添加设备,选择S7-1200型号,
ID填写的是电脑IP地址(即NetToPLCsim中的Network IP Address),不是PLC的IP地址(可能如果有实物PLC,不需要通过NetToPLCsim连仿真时填的就是PLC的IP地址,还未试)
ID填写的是电脑IP地址(即NetToPLCsim中的Network IP Address)对于这一步我的理解是PLC的仿真通过NetToPLCsim已经和Network IP Address也就是电脑连接成了,这时KEPServerEX是和电脑相连的,不是和PLC连的。前期不成功也是因为这里一直填的都是PLC的IP地址
最后开始添加标记,根据PLC中的程序添加所需要读取的变量
接下来就开始连接通讯了,需要保持PLC仿真开启,以及NetToPLCsim中我们创建的连接处于RUNNING状态,然后点击KEPServerEX中的按钮,就可以看到通讯结果了
在数据块中修改Tag_1的值为2.0,在KEPServerEX中Tag_2的值也随即变为2
在KEPServerEX中也能修改变量值传到PLC中:右击Tag_2,选择Synchronous Write…,修改Tag_2的值为3,点击Apply,可以看到数据块中的Tag_2值被修改为3了,连接成功!
五、KingSCADA
- 首先先将数据采集到IOServer中,新建IOServer项目,右击OPC DA新建OPCServer,选择KEPServerEX6,之后新建Group
添加变量,找到我们KEPServerEX中的变量添加过去,如图所示
添加完变量之后进行编译,然后运行,启动采集,可以看到质量戳Good,说明KEPServerEX中的数据已经被采集过来了
2. 打开KingSCADA新建工程,网络配置——IOServer服务器——站点管理,添加站点
建点——数据词典——新建变量Tag1,在IO里访问名称选择
依次添加变量Tag2、Tag3
人机界面——视图——画面——新建画面,打开,选择基本工具箱中“T”,双击调出动画编辑,点击“+”,值输出,模拟量输出,然后在表达式中点"…",在local中选择需要显示的变量
画面添加完成之后,点击全部保存和编译,运行,选择刚刚的画面
但是!但是!最后没出来结果,不明白!!!怎么是???呢?因为网络配置错误,应该是192.168.15.135
成功的画面
六、PLC1200直接与KingSCADA连接通信
- PLC配置:与第二步一样
- NetToPLCsim配置:与第三步一样
- KIngSCADA的配置,也是先在IOServer中采集数据,这个数据是来自PLC的,不是通过KEPServerEX传来的,
3.1 打开IOServer,新建项目,添加设备(西门子——S7-1200——S71200Tcp),设备地址:IP地址:CPU槽号/端口号,端口号不填默认是102,这里的IP地址和NetToPLCsim的电脑IP地址一样
在变量中新建变量,如图
接下来编译,运行,开始采集数据,可以看到质量戳也是Good,通讯成功
之后就开始打开KIngSCADA,新建工程——添加站点——在数据词典中添加变量——建画面——配置变量,显示成功!!