PDA高速数据采集分析系统

详尽解析质量管理及工业大数据来源

高速数采方案

High speed data acquisition scheme

系统

System

联系我们

1 S7-1500及从站数据采集方案

21 Modbus寄存器地址

41 三菱Q系列UDP方式

2 S7-400以太网高速定周期2ms方案

22 Modbus TCP内存块

42 智能电表DL/T645-2007协议

3 S7-300太网高速定周期方案

23 Modbus TCP寄存器地址

43 S7-200 smart

4 Profinet

24 FM458 Profibus-DP网关方式

44 汽车CAN总线

5 S7-400/300/TDC/FM458以太网变量存取

25 GE Fanuc SRTP/SNPX

45 阿尔斯通Alstom HPCi系列 - UDP

6 标准以太网-UDP

26 Wago万可

46 通过Opc Ua采集KEPServer数据

7 标准以太网-TCP

27 MOOG PLC

47 通过Opc Ua采集S7-1500数据

8 S7 PLC程序调试工具pdaTools

28 ABB PLC

48 侦听Profibus总线所有数据并采集

9 S7-400/300/TDC/FM458符号表/变量表/DB块存取

29 Beckhoff Ethernet

49 ABB主传动ACS6000

10 S7-400/300 iso(MAC地址)

30 Beckhoff Realtime Ethernet

50 采集PCI/PCIe卡数据

11 S7-400/300标准以太网

31 Beckhoff Ads

51 采集TMEIC TC-net网络数据

12 TDC标准以太网

32 EtherCAT

52 采集Tc-net转发的UDP数据

13 S7-1500/1200

33 RS232 / RS485

53 采集国产PLC数据

14 MPI/DP变量存取

34 Rockwell AB PLC

54 其它数据采集方式

15 Profibus-DP

35 Opc / Opc Ua

55 高速数据转发

16 内存映象网Reflective Memory

36 辅传动S120

56 炼钢厂转炉、RH炉、LF

17 CoDeSys

37 主传动SL150

57 连铸液压振动PDA系统

18 接口模块

38 贝加莱B&R - 机器人

58 热连轧TDC.GDM.PDA系统改造

19 Simotion D

39 三菱MC协议-格式4

59 USB HID

20 EGD(Ethernet Global Data)

40 三菱MELSECT协议-QnA兼容3E

60 AnyControl

22 Modbus TCP内存块

Modbus是由Modicon(现为施耐德电气公司)在1979年发明,是全球第一个真正用于工业现场的总线协议。施耐德-莫迪康984/QuantumGE Funce 9070/9030/PACSystems等系列PLC支持Modbus相关协议。

Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成,其系统结构包括硬件、软件,可应用于各种数据采集和过程监控。

Modbus网络只有一个主机,所有通信都由他发出,网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定,采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。

为了更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDAInterface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus的发展奠定了基础,在中国Modbus已经成为国家标准GB/T19582-2008

Modbus协议是应用于电子控制器上的一种通用语言,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,它已经成为一种通用工业标准,有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录,它制定了消息域格局和内容的公共格式。

当在同一Modbus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动,如果需要回应,控制器将生成反馈信息并用Modbus协议发出,在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构,这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

此协议支持传统的RS-232RS-422RS-485和以太网设备,许多工业设备,包括PLCDCS,智能仪表等都在使用Modbus协议作为他们之间的通信标准。

Modbus具有以下几个特点:

1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权,目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。

2Modbus可以支持多种电气接口,如RS-232RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

3Modbus的帧格式简单、紧凑,通俗易懂,用户使用容易,厂商开发简单。

ModbusTCP/IP网络上的实现即为Modbus-Tcp,是一个开放性协议,IANAInternet Assigned Numbers Authority 互联网编号分配机构)已为 Modbus协议指配TCP / UDP 端口502

Modbus协议是一个标准协议,IETFThe Internet Engineering Task Force)国际互联网工程任务组织提议将Modbus协议作为因特网标准协议,是自动化领域中广泛使用的“实事”标准。

施耐德-莫迪康984/QuantumGE Funce 9070/9030/PACSystems等系列PLC支持Modbus相关协议。

22.1 新建工程项目

Quantum PLC为例,编程工具选Unity Pro XL

1、选择工具栏按钮“New Project”。


2、更换背板并组态各槽模块。


3、定义好CPU内存范围,PDA采集的数据不能超过它。

4、根据要采集的变量定义数据类型TPDA10*REAL+16*BOOL+20*INT+32*BOOL+String1+String2+String31WORD相当于16BOOL

定义变量pdaData:TPDA并分配首地址%mw2000

5、新建一个任务和应用程序pda

6、新建一个以太网并设置好IP地址。

 

22.2 PLC联机

1、加载DriverPack.iso,运行\USB\Windows\disk1\setup.exe安装PLC USB驱动。

2、用USB线将PCPLCCPU连接起来。

3PLC上电会自动检测到"PLC USB Device",选择自动安装驱动,完成后如下图。

4PLC->Standard Mode

5PLC->Set Address…选择用USBPLC联机。

6、将项目下载后PLCIP地址为192.168.0.211192.168.0.210,每次PLC重启IP地址会在这两者间变化。

7、将在线工具设为以太网即可用以太网在线监控。

22.3 PDA服务器端配置

PDA服务器组态Config.csv如下,数据源类型为28S,注意字节交换,数字量在PLC中传到%MW寄存器便可与模拟量一起采集,否则需专门建一个连接采集数字量。

一个ModbusTcp帧最多采集250字节的数据,本方式一个连接可采集>250字节的数据,多个内存区要建立多个连接。建议将要采集的各种类型的所有数据集中到一个连续的%MW块中,一次性采集完,采样周期可到10ms

FC3Modbus功能码:

FC1:%M (0x... memory area) read coil status

FC2:%I (1x... memory area) read discrete input status

FC3:%MW(4x... memory area) read output/holding register

FC4:%IW(3x... memory area) read input register

%MW1Modbus寄存器起始地址,对应关系为:

0 -> %M1 -> 00001 -> %Q00001

0 -> %I1 -> 10001 -> %I00001

0 -> %MW1 -> 40001 -> %R00001

0 -> %IW1 -> 30001 -> %AI00001

PDA数据类型支持BITINTDINTWORDDWORDREALDOUBLECHAR(对应PLCSTRING)不支持BYTE(1个寄存器为2bytes)

FC1FC2读开关量时,起始地址为1917253341495765……


22.4 混合采集REALBOOLINTSTRING

采集10*REAL+16*BOOL+20*INT+32*BOOL+String1+String2+String3例子如下。

创建ST语言的pda程序,将要采集的数据赋值给相应的数组。

if pdaData.pdaReal[0]>3000.0 then pdaData.pdaReal[0]:=-3000.0;end_if;

 

pdaData.pdaReal[0]:=pdaData.pdaReal[0]+0.001;

pdaData.pdaReal[1]:=sin(pdaData.pdaReal[0]);

pdaData.pdaReal[2]:=cos(pdaData.pdaReal[0]);

pdaData.pdaReal[3]:=3.0;

pdaData.pdaReal[4]:=4.0;

pdaData.pdaReal[5]:=5.0;

pdaData.pdaReal[6]:=6.0;

pdaData.pdaReal[7]:=7.0;

pdaData.pdaReal[8]:=8.0;

pdaData.pdaReal[9]:=9.0;

 

pdaData.pdaBool16[0].0:=1;

pdaData.pdaBool16[0].1:=0;

pdaData.pdaBool16[0].2:=1;

pdaData.pdaBool16[0].3:=1;

pdaData.pdaBool16[0].4:=1;

pdaData.pdaBool16[0].5:=0;

pdaData.pdaBool16[0].6:=0;

pdaData.pdaBool16[0].7:=0;

pdaData.pdaBool16[0].8:=1;

pdaData.pdaBool16[0].9:=1;

pdaData.pdaBool16[0].10:=0;

pdaData.pdaBool16[0].11:=0;

pdaData.pdaBool16[0].12:=0;

pdaData.pdaBool16[0].13:=0;

pdaData.pdaBool16[0].14:=1;

pdaData.pdaBool16[0].15:=1;

 

pdaData.pdaInt[0]:=2000;

pdaData.pdaInt[1]:=2001;

pdaData.pdaInt[2]:=2002;

pdaData.pdaInt[3]:=2003;

pdaData.pdaInt[4]:=2004;

pdaData.pdaInt[5]:=2005;

pdaData.pdaInt[6]:=2006;

pdaData.pdaInt[7]:=2007;

pdaData.pdaInt[8]:=2008;

pdaData.pdaInt[9]:=2009;

pdaData.pdaInt[10]:=2010;

pdaData.pdaInt[11]:=2011;

pdaData.pdaInt[12]:=2012;

pdaData.pdaInt[13]:=2013;

pdaData.pdaInt[14]:=2014;

pdaData.pdaInt[15]:=2015;

pdaData.pdaInt[16]:=2016;

pdaData.pdaInt[17]:=2017;

pdaData.pdaInt[18]:=2018;

pdaData.pdaInt[19]:=2019;

 

pdaData.pdaBool32[0].0:=1;

pdaData.pdaBool32[0].1:=1;

pdaData.pdaBool32[0].2:=1;

pdaData.pdaBool32[0].3:=0;

pdaData.pdaBool32[0].4:=0;

pdaData.pdaBool32[0].5:=0;

pdaData.pdaBool32[0].6:=1;

pdaData.pdaBool32[0].7:=1;

pdaData.pdaBool32[0].8:=1;

pdaData.pdaBool32[0].9:=1;

pdaData.pdaBool32[0].10:=0;

pdaData.pdaBool32[0].11:=0;

pdaData.pdaBool32[0].12:=0;

pdaData.pdaBool32[0].13:=0;

pdaData.pdaBool32[0].14:=1;

pdaData.pdaBool32[0].15:=1;

pdaData.pdaBool32[1].0:=1;

pdaData.pdaBool32[1].1:=1;

pdaData.pdaBool32[1].2:=1;

pdaData.pdaBool32[1].3:=0;

pdaData.pdaBool32[1].4:=0;

pdaData.pdaBool32[1].5:=0;

pdaData.pdaBool32[1].6:=0;

pdaData.pdaBool32[1].7:=0;

pdaData.pdaBool32[1].8:=1;

pdaData.pdaBool32[1].9:=1;

pdaData.pdaBool32[1].10:=1;

pdaData.pdaBool32[1].11:=1;

pdaData.pdaBool32[1].12:=1;

pdaData.pdaBool32[1].13:=1;

pdaData.pdaBool32[1].14:=0;

pdaData.pdaBool32[1].15:=0;

 

pdaData.pdaString1:='a1234567890xxxxxxxxb';

pdaData.pdaString2:='cyyyyyyyyd';

pdaData.pdaString3:='ezzzzzzzzzzzzzzzzzzzzzzzzzzf';

PDA服务器中Config.csv组态如下:

[1000,81CH,10.000ms,192.168.0.211,28S,Note,192.168.0.216,,,,FC3,%MW2000]

No,   Name,Adr/note,Unit,Len,Offset  ,Gain    ,Type,ALM,HH   ,HI   ,LO   ,LL   ,Opr

CH1=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH2=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH3=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH4=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH5=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH6=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH7=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH8=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH9=,     ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH10=,    ,        ,    ,4  ,0.000000,1.000000,REAL,0  ,0.000,0.000,0.000,0.000,0 

CH11=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH12=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH13=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH14=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH15=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH16=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH17=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH18=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH19=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH20=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH21=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH22=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH23=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH24=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH25=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH26=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH27=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH28=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH29=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH30=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH31=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH32=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH33=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH34=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH35=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH36=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH37=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH38=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH39=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH40=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH41=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH42=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH43=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH44=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH45=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH46=,    ,        ,    ,2  ,0.000000,1.000000,INT ,0  ,0.000,0.000,0.000,0.000,0 

CH47=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH48=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH49=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH50=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH51=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH52=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH53=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH54=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH55=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH56=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH57=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH58=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH59=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH60=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH61=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH62=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH63=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH64=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH65=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH66=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH67=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH68=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH69=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH70=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH71=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH72=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH73=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH74=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH75=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH76=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH77=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH78=,    ,        ,    ,1  ,0.000000,1.000000,BIT ,0  ,0.000,0.000,0.000,0.000,0 

CH79=,    ,        ,    ,20 ,0.000000,1.000000,CHAR,0  ,0.000,0.000,0.000,0.000,0 

CH80=,    ,        ,    ,10 ,0.000000,1.000000,CHAR,0  ,0.000,0.000,0.000,0.000,0 

CH81=,    ,        ,    ,30 ,0.000000,1.000000,CHAR,0  ,0.000,0.000,0.000,0.000,0 

22.5 GE Funce Modbus地址映射

GE PACSystems中要作Modbus地址映射。

 

 

设备测试 故障诊断 质量分析

毫秒级的数据采样

高效实时数据压缩

捕捉信号瞬时突变

友情链接 百度 腾讯 新浪 网易 搜狐 凤凰 淘宝 京东 中国自动化网 中国工控网 西门子 罗克韦尔 华军软件园 天空软件站 非凡软件站 多多软件站 携程 知乎

中国五矿 中冶集团 中冶赛迪 中冶南方 中冶京诚 中冶华天 中冶长天 中冶北方 中冶焦耐 中国宝武 宝信 宝钢 武钢 鞍钢 河钢 首钢 山钢 涟钢

ICP2025092850 版权所有©Copyright:2025-2035. 经纬铭月科技(武汉)有限公司

 

通讯协议开发  分析功能定制  数据接口开放  信创国产执念

 

PDAServer    PDAClient