Process Data Acquisition – PDA -- Detailed
analysis of quality manage&industrial big data sources |
|||||
56 PDA
system scheme for converter, RH furnace, LF furnace in steel plant |
|||||
22
Modbus TCP Memory block
Modbus was invented by Modicon (now Schneider Electric) in 1979 and is the world's first truly industrial field bus protocol. Schneider Modicon 984/Quantum, GE Funce 9070/9030/PACSystems and other PLC series support Modbus related protocols. Modbus network is an industrial communication system composed of programmable controllers with intelligent terminals and computers connected through public or local dedicated lines. Its system structure includes hardware and software, which can be applied to various data acquisition and process monitoring. The Modbus network has only one host, and all communication is sent out by it. The network can support up to 247 remote slave controllers, but the actual number of supported slaves depends on the communication equipment used. With this system, each PC can exchange information with the central host without affecting the execution of its own control tasks. In order to better popularize
and promote the distributed application of Modbus based on Ethernet, Schneider
has transferred ownership of the Modbus protocol to the IDA (Interface for
Distributed Automation) organization and established the Modbus-IDA
organization, laying the foundation for the development of Modbus. In Modbus protocol is a universal language applied to electronic controllers. Through this protocol, controllers can communicate with each other, and with other devices through a network (such as Ethernet). It has become a universal industrial standard. With it, control devices produced by different manufacturers can be connected to an industrial network for centralized monitoring. This protocol defines the message structures that a controller can recognize and use, regardless of the network through which they communicate. It describes the process of a controller requesting access to other devices, how to respond to requests from other devices, and how to detect and record errors. It establishes a common format for message domain patterns and content. When communicating on the same Modbus network, this protocol determines that each controller needs to know their device address, recognize messages sent by address, decide what action to take, and if a response is required, the controller will generate feedback information and send it using the Modbus protocol. On other networks, messages containing the Modbus protocol are converted into frame or packet structures used on this network, This transformation also extends the methods for addressing node addresses, routing paths, and error detection based on specific networks. This protocol supports traditional RS-232, RS-422, RS-485, and Ethernet devices. Many industrial devices, including PLCs, DCS, intelligent instruments, etc., use Modbus protocol as their communication standard. Modbus has the following characteristics: (1) Standard and open, users can use the Modbus protocol for free and with confidence, without paying license fees or infringing intellectual property rights. Currently, there are over 400 manufacturers that support Modbus and over 600 products that support Modbus. (2) Modbus can support various electrical interfaces, such as RS-232, RS-485, etc., and can also transmit on various media, such as twisted pair, fiber optic, wireless, etc. (3) The frame format of Modbus is simple, compact, easy to understand, easy for users to use, and easy for manufacturers to develop. The implementation of Modbus on TCP/IP networks is called Modbus Tcp, which is an open protocol. IANA (Internet Assigned Numbers Authority) has assigned TCP/UDP port 502 to the Modbus protocol. Modbus protocol is a standard protocol, and the International Internet Engineering Task Force (IETF) proposes to use Modbus protocol as the Internet standard protocol, which is a widely used "practical" standard in the field of automation. Schneider Modicon 984/Quantum, GE Funce 9070/9030/PACSystems and other PLC series support Modbus related protocols. 22.1 Create new project
We use Quantum PLC for an example; Unity Pro XL is selected as programme tool. 1. Select toolbar button "New Project". 2. Replace rack and config all modules into it’slot. 3. Define CPU’s ram range; they are not exceeded by PDA server. 4. Define DDT type TPDA according to variables collected, 10*REAL+16*BOOL+20*INT+32*BOOL+String1+String2+String3, A WORD is equal to BOOL*16. Define a variable pdaData:TPDA and allocate the first address %mw2000. 5. Create a new task and application program. 6. Create an ethernet_1 and set its IP address. 22.2 Login PLC
1. Load DriverPack.iso, run \USB\Windows\disk1\setup.exe to setup driver of "PLC USB". 2. Connect PC and PLC’CPU by usb cable. 3. "PLC USB Device" will be detected when PLC is powered, select automation setup driver, below is shown when it is completed. 4. PLC->Standard Mode. 5. PLC->Set Address…Select USB to login PLC. 6. Compile and download the project, PLC’IP address will become 192.168.0.211 or 192.168.0.210, PLC’IP will toggle between them after you reboot PLC every time. 7. Setup online tool to ethernet for monitoring PLC. 22.3 PDA server config
PDA server’s Config.csv is below, Data source type is 28S, pay attention to swapping bytes, digit may be gathered together with analog if they are transmitted to %MW register, and otherwise they should be gathered alone by special connection. Most 250 bytes can be collected by one ModbusTcp frame, The style may collect more than 250 bytes by one connection; more connection will be created for more memory areas. To bring all data of all type into a continue memory area %MW is suggested, All data will be collected once, Time base is 10ms level. FC3 is Modbus function code: 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 %MW1 is Modbus register start address, corresponding relation is: 0 -> %M1 -> 00001 -> %Q00001 0 -> %I1 -> 10001 -> %I00001 0 -> %MW1 -> 40001 -> %R00001 0 -> %IW1 -> 30001 -> %AI00001 BIT, INT, DINT, WORD, DWORD, REAL, DOUBLE, CHAR(corresponding to PLC STRING) are supported, BYTE is not supported(1 register is 2bytes). Start address is 1, 9, 17, 25, 33, 41, 49, 57, 65……when FC1 FC2 are used to read digital variable. 22.4
Mixed collection of REAL, BOOL, INT, STRING
The example of collecting 10 * REAL+16 * BOOL+20 * INT+32 * BOOL+String1+String2+String3 is as follows. Create a PDA program in ST language and assign the data to be collected to the corresponding array. 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'; Config.csv in PDA server is below: [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, 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
Address space mapping of GE Funce Modbus
Modbus address space mapping should be done in GE PACSystems. |
|||||
|
|||||
Apparatus test&Fault diagnosis&Quality analysis |
Millisecond data sampling Real-time data compression Capture signal instantaneous mutation |
||||
友情链接 百度 腾讯 新浪 网易 搜狐 凤凰 淘宝 京东 中国自动化网 中国工控网 西门子 罗克韦尔 华军软件园 天空软件站 非凡软件站 多多软件站 携程 知乎 中国五矿 中冶集团 中冶赛迪 中冶南方 中冶京诚 中冶华天 中冶长天 中冶北方 中冶焦耐 中国宝武 宝信 宝钢 武钢 鞍钢 河钢 首钢 沙钢 山钢 涟钢 鄂ICP备2025092850号 版权所有©Copyright:2025-2035. 经纬铭月科技(武汉)有限公司 |
|||||
Develop
communication protocol, Customized analysis function, XinChuang domestic
obsession
PDAServer
PDAClient