使用IOT-Tree Server的连接西门子PLC S7-200 Smart

1 项目背景

最近做的工业控制项目,需要对整个工艺进行总体整合控制。现场已经有部分的环节已经有局部的控制系统。其中一个环节做过滤处理,现场有个PLC控制柜,使用西门子S7-200 Smart做本地过滤控制,型号为SR20。

整合控制项目除了要接入新安装的一些传感器数据,也需要此PLC接入,最终统一到中控计算机中。

2 PLC端接入调整

我们使用的方案是利用SR20的以太网接口,接入中控计算机网络。然后,修改里面的控制程序,增加Modbus Tcp Server的支持。然后,中控计算机使用Modbus Tcp Client进行连接。如下图,我们通过Step7-MicroWIN SMART软件导出SR20的原始程序,然后加入Modbus Tcp Server支持。下载程序之后,就支持对接了。

这里面有个坑:S7-200 Smart  Modbus Tcp Server只允许一个Client和它建立连接,超过就会出问题。我在调试过程中,用了2个软件测试,老出问题把自己折腾的够呛。

3 使用IOT-Tree Server连接SR20

在我的IOT-Tree Server项目中,为连接SR20,建立一个Tcp Client连接。如下图所示。SR20的ip地址为192.168.1.10,端口502

我们新建了一个通道,并且使得此通道使用Modbus Tcp驱动,并且关联此通道到上面建立的Tcp Client 链接。如下图

我们在通道下面建立了一个sr20设备。设置设备地址1。接下来,我们需要在此设备下面添加Tag,每个tag都需要设定值类型和对应的地址。这些地址对应SR20的开关量或模拟量值。先在Step7-MicroWIN SMART查看现场S7-200 Smart CPU和扩展模块对应的点位地址,如下图:

 可以看出,我们现场的cpu和一个扩展模块,以及对应的输入输出起始地址。然后我们查看西门子官方提供的“Modbus地址与CPU中数据区域地址对应关系”,如下表

功能码(十进制)功能描述RWAddrCountCPU地址
01

读数字量输出 位

0

00001-09999

1-1920 位

Q0.0-1151.7

02

读数字量输入 位

0

10001-19999

1-1920 位

I0.0-1151.7

03

读寄存器 字

0

40001-49999

400001-465535

1-120 字

V区

04

读模拟量输入 字

0

30001-39999

1-120 字

AIW0-AIW110

05

写数字量输出 单个位

1

00001-09999

1位

Q0.0-Q1151.7

06

写寄存器 单个字

1

40001-49999

400001-465535

1个字

V区

15

写数字量输出 多个位

1

00001-09999

1-1920 位

Q0.0-1151.7

16

写寄存器 多个字

1

40001-49999

400001-465535

1-120 字

V区

参考这个表的地址,我们添加了需要读取的对应点位数据:

为了方便使用,我们在通道filter下面针对此过滤环节,专门建立了一个监控画面——fui,这个画面可以被外面的UI使用。

 最后,我们在项目根下面,建立了一个总工艺监控画面——mainui,这个画面引用了过滤系统的fui:

以上就是本次项目对接S7-200 smart SR20的过程,并且使之成为项目的一部分。感觉IOT-Tree Server还是很强大的。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值