- 作者:朱泰坪
- 发表时间:2021-07-11 08:54
- 来源:
S7-300数据采集网关与上位机软件通讯和数据采集
西门子数据采集网关(以下简称为数据采集网关)主要为工业设备联网项目提供硬件支持,帮助上层终端通过以太网的方式采集底层工业设备(主要为PLC,但不局限于PLC的设备)的数据,进而对这些数据进行统计和分析。
WTGNet-S7MPI数据采集网关用于西门子S7300/400系列PLC,同时支持西门子840D等数控系统。
2.1、设置PG/PC接口
打开控制面板中的【设置PG/PC接口】,【应用程序访问点】选择S7ONLINE(STEP7)指向编程驱动,点击【属性】按钮,在弹出的对话框中输入数据采集网关的IP地址,点击【确定】按钮。
2.2、SETP7编程设
打开西门子编程软件Step7,新建项目,选择菜单栏的【PLC】--【将站点上传到PG..】;
点击【确认】按钮。在弹出的对话框中,点击【view】按钮,可以搜索到在线的PLC设备,选中设备后,点击【确定】按钮,即可上载PLC程序。
2.3、TIA Portal博图编程
打开博途软件,新建项目,点击菜单栏的【在线】--【将设备作为新站上传(硬件和软件)】;
在弹出的对话框中,【PG/PC接口的类型】选择MPI;【PG/PC接口】选择编程驱动;点击【开始搜索】按钮,即可搜索出在线的PLC设备,选中设备,点击【从设备上传】按钮,即可上载PLC程序;
点击菜单栏的下载按钮,在弹出的对话框中,【PG/PC接口的类型】选择MPI;【PG/PC接口】选择编程驱动;点击【开始搜索】按钮,即可搜索出在线的PLC设备,选中设备,点击【转至在线】按钮,即可下载PLC程序。
用户使用标准组态软件可以通过西门子的S7TCP协议(以下均以此协议驱动为例)或者MODBUS TCP协议采集设备数据。
3.1、KEPServerEX通讯
新建channel,选择Siemens TCP/IP Ethernet驱动,点击【下一步】按钮,其它参数默认直至channel建立完成;
新建device,在【Device model】处选择S7-300,点击【下一步】按钮;
在【Device ID】处输入数据采集网关的IP地址,默认为192.168.1.188,点击【下一步】按钮;
以下步骤默认即可,直至完成。
3.2、组态王(KingView)通讯
新建设备,选择【S7-300(TCP)】--【TCP】,点击【下一步】按钮;
任意设定一个设备名称,点击【下一步】按钮;
输入数据采集网关的地址,格式为【IP地址:CPU机架号:CPU槽号】,默认为192.168.1.188:0:2,点击【下一步】按钮;
以下步骤默认即可,直至完成。
3.3、力控(ForceControl)通讯
新建IO设备,这里选择S7-300/400(TCP)协议驱动,在设备配置中的【通讯方式】选择TCP/IP网络,点击【下一步】按钮;
在【设备IP地址】处输入数据采集网关的IP地址,在【端口】处输入数据采集网关的端口号,默认为102,点击【下一步】按钮;
以下步骤默认即可,直至完成。
3.4、杰控(FameView)通讯
选择【设备通讯】下的【安装驱动】,这里选择S7TCP驱动,然后点击【安装】按钮;
选择需要启动的驱动后,点击【确定】按钮;
新建【设备数据表】,在【CPU类型】处选择S7-300,在【设备IP地址】处输入数据采集网关的IP地址,然后设置好通讯数据后,点击【确认】按钮。
3.4、WINCC通讯
新建工程,双击【变量管理】,在【TCP/IP】驱动协议下新建连接,并为连接取名,例如:test;
右击刚新建的连接【test】,点击【连接参数】按钮;
在弹出的对话框中,【IP地址】处输入数据采集网关的IP地址,点击【确定】按钮;
右击【TCP/IP】,点击【系统参数】;
在弹出的对话框中,选择【单位】选项页,【逻辑设备名称】选择计算机的网卡(后缀为TCPIP,不要选带Auto的网卡),点击【确定】按钮。
4.1、PLC内部寄存器地址与MODBUS地址对应表
Modbus地址表
▼
Modbus地址 | PLC内部寄存器地址 | 数据类型 | 计算公式 | MODBUS功能号 | 指令数 |
000001~ | Q0.0~ | 位 | Qm.n = 000001 + m*8 + n ① | FC1(读线圈) | S7-200:119 |
S7-300:784 | |||||
050001~ | M0.0~ | Mm.n = 050001 + m*8 + n | FC5(写线圈) | FC5:1 | |
100001~ | I0.0~ | Im.n = 100001 + m*8 + n | FC2(读输入) | S7-200:119 | |
S7-300:784 | |||||
400001~ | DBx.DBW0~ | 字 | DB1.DBWm = 400001 + m/2,m为偶数 ② | FC3(读乘法寄存器) | FC3:111 |
FC16(写乘法寄存器) | FC16:111 | ||||
450001~ | MW0~ | MWm= 450001 + m/2,m为偶数 | FC6(写单一乘法寄存器) | FC6:1 |
注释说明:
①:如Q1.5,其对应的modbus地址为:Q1.5=000001+8*1+5=000014;
②:如DB1.DBW100,其对应的modbus地址为:DB1.DBW100=400001+100/2=400051;
默认情况下:modbus地址区的400001-450000对应西门子300PLC的DB1数据块,这里也可以自由指定对应多个DB数据块,通过WTGLink 工具修改:
将【DB块地址映射】开启,并指定DB块号与modbus地址区的对应关系;
如DB2.DBW100,其对应的modbus地址为:DB2.DBW100=405001+100/2=405051;
4.2、ModScan32测试
打开软件,设置需要测试的数据,例如:读取400001开始的111个字,设置如下:
选择菜单栏【Connection】--Connect,在对话框中的【IP Address】处输入数据采集网关的IP地址,点击【OK】按钮;
测试正常的画面如下: