关闭

FX2N通讯监控记录, PLC程序/参数/注释/文件寄存器的写入和读出

2924人阅读 评论(0) 收藏 举报

//============================================================================================//
// 写PLC参数步骤:
//============================================================================================//

1. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

2. 读区扫描时间(D8010-D8012)

3. 读入01C0处1字节 ??

4. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

5. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

6. 读入01C0处1字节 ??

7. 读存储器类型(D8003)

8. 读程序参数区地址0E08处8字节,为一字符串,意义不详

9. 读存储器容量(D8102)

10. 写参数区(0x8000-0x805B),92字节,分2次写入,一次64字节,一次28字节

11. B指令(如果存储器类型是Flash,则增加此操作)

12. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

//============================================================================================//
// 写PLC程序步骤:
//============================================================================================//

1. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

2. 读区扫描时间(D8010-D8012)

3. 读入01C0处1字节 ??

4. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

5. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

6. 读入01C0处1字节 ??

7. 读寄存器类型(D8003)

8. 读程序参数区地址0E08处8字节,为一字符串,意义不详

9. E7760E指令(如果存储器类型是Flash,则增加此操作)

10.写参数区(0x805C-0x881C+10),一次最多写64字节, 2000字节,1000步

11.E8760E指令(如果存储器类型是Flash,则增加此操作)

12.B指令(如果存储器类型是Flash,则增加此操作)

//============================================================================================//
// 写文件寄存器步骤:
//============================================================================================//

1. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

2. 读区扫描时间(D8010-D8012)

3. 读入01C0处1字节 ??

4. 查询PLC型号及硬件版本(D8001), 读入参数区(0x8000-0x805B), 4 8000 0F00 , 读入配置区(D8000-D8127)

5. 读入01C0处1字节 ??

6. 写文件寄存器区(0x8830-0x8BF0+28),一次最多写64字节, 1000字节


PLC参数区已知意义:

__IO uint16_t const PGM_PARA[92/2]                 __at( FLASH_PAGE_ADR(PAGE_CODE) - 92 ) =
{
        0x0002,                // 程序总步数 => 2000
       
        0x0000,                // ??
        0x0000,
        0x0000,
       
        0x2020,0x2020,0x2020,0x2020,        //
        0x2020,0x2020,0x2020,0x2020,        // PLC名-标题,最多16个汉字,占32字节
        0x2020,0x2020,0x2020,0x2020,
        0x2020,0x2020,0x2020,0x2020,
        0x2020,0x2020,0x2020,0x2020,

        0x09F4,                // M锁存起始:M500               
        0x0BFF,                // M锁存结束:M1023       
       
        0x01F4,                // S锁存起始:M500
        0x03E7,                // S锁存结束:M999

        0x0E64,                // C锁存起始:C100               
        0x0EC7,                // C锁存结束:C199               

        0x0EDC,                // C锁存起始:C220               
        0x0EFF,                // C锁存结束:C255               
       
        0x0190,                // D锁存起始:D200               
        0x03FE,                // D锁存结束:D511               
       
        0x0000,
        0x0000,
       
        0x0000,                // 文件寄存器起始地址:1096/2096/3096...
        0x0000,                // 文件寄存器容量块数:一块=500点=1000字节
       
        0x0000,                // 注释起始地址:1096/2096/3096...
        0x0000,                // 注释容量块数:一块=50点=1000字节
       
        0x0000,
        0x0000,
        0x0000,
        0x0000,
        0x0000,
        0x0000,
};

关于D8001的意义,就是PLC类型和版本号的解释:

读PLC的D8001后,PLC返回字串"9C5E" ,即是24220,它表示PLC类型是FX2N/FX2NC,版本为2.20。

PLC返回的是用ASCII字符表示的16进制数,它是以字节为单位的,如果要把两字节拼成一个字(Word),则要把,"9C5E"要把它理解为5E9Ch,FX即PLC是以10进制表示它的型号和版本的,5E9Ch=24220。查下表:

10进制数高两位表示PLC类型:
   10: FX1
   20: FX0,FX0S,FX0N,FX2(C)
   24: FX2N,FX2NC

10进制数低三位表示PLC版本:


        _D8000_  = 200;            // D8000 : 监视定时器 (ms)
        _D8001_  = 25210;    // D8001 : PLC类型和系统版本号,5位数字,前两位位PLC类型号(22/26/25=>1S/1N/2N)
       
        _D8002_  = 8;        // D8002 : 寄存器容量 (2/4/8=>2K/4K/8K步) 16K步时訢8102=16
        _D8102_  = 8;        // D8002 : 寄存器容量 (2/4/8=>2K/4K/8K步) 16K步时訢8102=16
        _D8003_  = 0x02;     // D8003 : 寄存器类型

 

 

这两天把程序/参数/注释/文件寄存器下载上传全做好了,RAM的读写和强制也好了。完全仿2N资源,除了D少点外。

现在主要的问题是监控机制没有完全搞明白。

FX2N-48MR 捕获的串口通讯记录
ourdev_536513.rar(文件大小:21K)(原文件名:FX_常用命令通讯记录.rar)

地址分配问题基本上是搞清楚了,地址搞清楚了,很多监控到得指令的意义就清楚了。

比如读0E02,就是读D8001,因为特殊寄存器的D8000-8255的地址是0x0E00,地址是字节为单位的,每个D单元占两字节,因此我们可以得到下表:

单元名称        地址        十六进制值        意义                 十进制值        D单元名称        读入
D8000        0E00        00C8        监控定时器        200         8000        C800
D8001        0E02        5EF6        PLC型号和系统版本号        24310         8001        F65E
D8002        0E04        0008        内存容量        8         8002        0800
D8003        0E06        0010        内存类型        16         8003        1000
D8004        0E08        1F7C        PLC错误时的特M的号码        8060         8004        7C1F
D8005        0E0A        0025        电池电压值        37         8005        2500
D8006        0E0C        001E         电池电压降低的检测值        30         8006        1E00
D8007        0E0E        0000        瞬时停止检测次数        0         8007        0000
D8008        0E10        000A        停电检测时间        10         8008        0A00
D8009        0E12        0000        24V DC故障模块号码        0         8009        0000
D8010        0E14        0000        当前扫描值        0         8010        0000
D8011        0E16        0000        最小扫描时间        0         8011        0000
D8012        0E18        0000        最大扫描时间,        0         8012        0000
D8013        0E1A        002A        秒        42         8013        2A00
D8014        0E1C        0034        分        52         8014        3400
D8015        0E1E        000A        小时        10         8015        0A00
D8016        0E20        0002        日        2         8016        0200
D8017        0E22        0003        月        3         8017        0300
D8018        0E24        000A        年        10         8018        0A00
D8019        0E26        0002        星期        2         8019        0200
D8020        0E28        000A        输入滤波设定        10         8020        0A00
D8021        0E2A        0000        输入滤波设定        0         8021        0000
D8022        0E2C        0000                0         8022        0000
D8023        0E2E        0000                0         8023        0000
D8024        0E30        0000                0         8024        0000
D8025        0E32        0000                0         8025        0000
D8026        0E34        0000                0         8026        0000
D8027        0E36        0000                0         8027        0000
D8028        0E38        0000        Z(Z0) 寄存器内容        0         8028        0000
D8029        0E3A        0000        V(V0) 寄存器内容        0         8029        0000
D8030        0E3C        003D        No1 模拟容量值        61         8030        3D00
D8031        0E3E        001C        No2 模拟容量值        28         8031        1C00
D8032        0E40        0000                0         8032        0000
D8033        0E42        0000                0         8033        0000
D8034        0E44        0014        ?        20         8034        1400
D8035        0E46        00FF        ?        255         8035        FF00
D8036        0E48        03D7        ?        983         8036        D703
D8037        0E4A        0000                0         8037        0000
D8038        0E4C        0000                0         8038        0000
D8039        0E4E        0000        恒定扫描时间        0         8039        0000
D8040        0E50        FFFF        第1个活动STL状态号        65535         8040        FFFF
D8041        0E52        FFFF        第2个活动STL状态号        65535         8041        FFFF
D8042        0E54        FFFF        第3个活动STL状态号        65535         8042        FFFF
D8043        0E56        FFFF        第4个活动STL状态号        65535         8043        FFFF
D8044        0E58        FFFF        第5个活动STL状态号        65535         8044        FFFF
D8045        0E5A        FFFF        第6个活动STL状态号        65535         8045        FFFF
D8046        0E5C        FFFF        第7个活动STL状态号        65535         8046        FFFF
D8047        0E5E        FFFF        第8个活动STL状态号        65535         8047        FFFF
D8048        0E60        0000                0         8048        0000
D8049        0E62        FFFF        最小的活动状态        65535         8049        FFFF
D8050        0E64        0000                0         8050        0000
D8051        0E66        0000                0         8051        0000
D8052        0E68        0000                0         8052        0000
D8053        0E6A        0000                0         8053        0000
D8054        0E6C        0000                0         8054        0000
D8055        0E6E        0000                0         8055        0000
D8056        0E70        0000                0         8056        0000
D8057        0E72        0000                0         8057        0000
D8058        0E74        0000                0         8058        0000
D8059        0E76        0000                0         8059        0000
D8060        0E78        0406        I/O配置错误        1030         8060        0604
D8061        0E7A        0000        PLC硬件错误        0         8061        0000
D8062        0E7C        0000        PLC硬件错误        0         8062        0000
D8063        0E7E        0000        串行口通讯错误[Ch1]        0         8063        0000
D8064        0E80        0000        参数错误        0         8064        0000
D8065        0E82        0000        语法错误        0         8065        0000
D8066        0E84        0000        回路错误        0         8066        0000
D8067        0E86        0000        操作错误        0         8067        0000
D8068        0E88        0000        操作错误步号        0         8068        0000
D8069        0E8A        0000        错误M8065至M8067的步        0         8069        0000
D8070        0E8C        01F4        并行链接错误判定时间        500         8070        F401
D8071        0E8E        0000                0         8071        0000
D8072        0E90        0000                0         8072        0000
D8073        0E92        0000                0         8073        0000
D8074        0E94        0000        剩余取样次数        0         8074        0000
D8075        0E96        0000        取样次数设定        0         8075        0000
D8076        0E98        0000        取样周期        0         8076        0000
D8077        0E9A        0000        触发指定        0         8077        0000
D8078        0E9C        0000        触发条件设置        0         8078        0000
D8079        0E9E        0000        取样数据指针        0         8079        0000
D8080        0EA0        0000        位设备号码No.0        0         8080        0000
D8081        0EA2        0000        位设备号码No.1        0         8081        0000
D8082        0EA4        0000        位设备号码No.2        0         8082        0000
D8083        0EA6        0000        位设备号码No.3        0         8083        0000
D8084        0EA8        0000        位设备号码No.4        0         8084        0000
D8085        0EAA        0000        位设备号码No.5        0         8085        0000
D8086        0EAC        0000        位设备号码No.6        0         8086        0000
D8087        0EAE        0000        位设备号码No.7        0         8087        0000
D8088        0EB0        0000        位设备号码No.8        0         8088        0000
D8089        0EB2        0000        位设备号码No.9        0         8089        0000
D8090        0EB4        0000        位设备号码No.10        0         8090        0000
D8091        0EB6        0000        位设备号码No.11        0         8091        0000
D8092        0EB8        0000        位设备号码No.12        0         8092        0000
D8093        0EBA        0000        位设备号码No.13        0         8093        0000
D8094        0EBC        0000        位设备号码No.14        0         8094        0000
D8095        0EBE        0000        位设备号码No.15        0         8095        0000
D8096        0EC0        0000        字设备号码No.0        0         8096        0000
D8097        0EC2        0000        字设备号码No.1        0         8097        0000
D8098        0EC4        0000        字设备号码No.2        0         8098        0000
D8099        0EC6        0000        高速循环计数器        0         8099        0000
D8100        0EC8        0064                100         8100        6400
D8101        0ECA        5EF6        序列器机种名/版本        24310         8101        F65E
D8102        0ECC        0008        内存容量        8         8102        0800
D8103        0ECE        0000                0         8103        0000
D8104        0ED0        0000        功能扩展存储种类代码        0         8104        0000
D8105        0ED2        0000        功能扩展存储器的版本        0         8105        0000
D8106        0ED4        0000                0         8106        0000
D8107        0ED6        0000        设备注释登记数        0         8107        0000
D8108        0ED8        0000        特殊模块连接台数        0         8108        0000
D8109        0EDA        0000        输出刷新错误        0         8109        0000
D8110        0EDC        0000                0         8110        0000
D8111        0EDE        0000                0         8111        0000
D8112        0EE0        0000        Ch1数字值(FX1N-2AD-BD)        0         8112        0000
D8113        0EE2        0000        Ch2数字值(FX1N-2AD-BD)        0         8113        0000
D8114        0EE4        0000        Ch1数字值(FX1N-1AD-BD)        0         8114        0000
D8115        0EE6        0000                0         8115        0000
D8116        0EE8        BAB7                47799         8116        B7BA
D8117        0EEA        6892                26770         8117        9268
D8118        0EEC        0000                0         8118        0000
D8119        0EEE        0000                0         8119        0000
D8120        0EF0        0000        FNC80(RS) 计算机链接[Ch1]通讯格式设置        0         8120        0000
D8121        0EF2        0000        计算机连接[Ch1]本地站号设置        0         8121        0000
D8122        0EF4        0000        FNC80(RS)发送数据的残余量        0         8122        0000
D8123        0EF6        0000        FNC80(RS)收信份数监视器        0         8123        0000
D8124        0EF8        0002        FNC 80(RS)标题        2         8124        0200
D8125        0EFA        0003        FNC 80(RS)终端        3         8125        0300
D8126        0EFC        0000                0         8126        0000
D8127        0EFE        0000        计算机链接[Ch1]根据需求先头号码指定        0         8127        0000


同理整理出PLC参数区数据:

参数        地址        十六进制值        十进制值        意义
0        0x8000        0008        8         程序总步数
1        0x8002        B658        46680        
2        0x8004        0000        0        
3        0x8006        0000        0        
4        0x8008        2020                PLC密码
5        0x800A        2020               
6        0x800C        2020               
7        0x800E        2020               
8        0x8010        2020                PLC名-标题
9        0x8012        2020               
10        0x8014        2020               
11        0x8016        2020               
12        0x8018        2020               
13        0x801A        2020               
14        0x801C        2020               
15        0x801E        2020               
16        0x8020        2020               
17        0x8022        2020               
18        0x8024        2020               
19        0x8026        2020               
20        0x8028        2020               
21        0x802A        2020               
22        0x802C        2020               
23        0x802E        2020               
24        0x8030        09F4        2548         M锁存起始:M500
25        0x8032        0BFF        3071         M锁存结束:M1023
26        0x8034        01F4        500          S锁存起始:M500
27        0x8036        03E7        999          S锁存结束:M999
28        0x8038        0E64        3684         C锁存起始:C100
29        0x803A        0EC7        3783         C锁存结束:C199
30        0x803C        0EDC        3804         C锁存起始:C220
31        0x803E        0EFF        3839          C锁存结束:C255
32        0x8040        0190        400         D锁存起始:D200
33        0x8042        03FE        1022         D锁存结束:D511
34        0x8044        0000        0        
35        0x8046        0000        0        
36        0x8048        0000        0         文件寄存器起始地址:1096/2096/3096…
37        0x804A        0000        0         文件寄存器容量块数:一块=500点=1000字节
38        0x804C        0000        0         注释起始地址:1096/2096/3096...
39        0x804E        0000        0         注释容量块数:一块=50点=1000字节
40        0x8050        0000        0        
41        0x8052        0000        0        
42        0x8054        0000        0        
43        0x8056        0000        0        
44        0x8058        0000        0        
45        0x805A        0000        0        


另外发现,2N的波特率竟然是可以自适应的,虽然只有两个9600和19.2K,波特率升高时,先向0EEC就是写4字节,就是写D8118和D8119,感觉是些了两个随机数,然后发一个A1命令,然后就用新的波特率通讯了。波特率降低时,上位机没用发送特别的指令。

 

 

三菱监视机制研究:

简单说就是先向PLC内存地址0x1400处写入PLC监控指令,然后就从PLC内存地址0x1790处反复读取PLC监控数据

关键就是要搞清楚写入的监控指令的意义,及返回的PLC监控数据的格式。

来几个图片:


在线-监视-软件登陆进入的设置画面 (原文件名:待监控内容1.jpg)


下发的监视指令和数据 (原文件名:1400命令1.jpg)


10进制显示 (原文件名:1790返回1.jpg)


16进制显示 (原文件名:1790返回11.jpg)

捕获的串口通讯数据:

[00000000] - Open port

[00000001] - Write  Size: 1               05                                                                   
[00000001] - Read  Size: 1              06                                                                   

[00000001] - Write  Size: 11             02 30 30 45 30 32 30 32 03 36 43                      00E02026C     
[00000003] - Read  Size: 8               02 46 36 35 45 03 46 39                                       F65EF9        

[00000005] - Write  Size: 11             02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     
[00000007] - Read  Size: 8              02 46 36 35 45 03 46 39                                        F65EF9        

[00000008] - Write  Size: 11            02 30 30 45 30 32 30 32 03 36 43                       00E02026C     
[00000010] - Read  Size: 8             02 46 36 35 45 03 46 39                                        F65EF9        

[00000012] - Write  Size: 11            02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     
[00000013] - Read  Size: 8              02 46 36 35 45 03 46 39                                   F65EF9        

[00000016] - Write  Size: 13             02 34 38 30 30 30 30 46 30 30 03 44 35                480000F00D5   

[00000017] - Read  Size: 1            06                                                                   

[00000037] - Close port

[00000000] - Open port

[00000001] - Write  Size: 1
05                                                                   

[00000001] - Read  Size: 1
06                                                                   

[00000003] - Write  Size: 11
02 30 30 45 30 32 30 32 03 36 43                      00E02026C     

[00000004] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000006] - Write  Size: 11
02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     

[00000008] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000010] - Write  Size: 11
02 30 30 45 30 32 30 32 03 36 43                      00E02026C     

[00000011] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000014] - Write  Size: 11
02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     

[00000016] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000017] - Write  Size: 13
02 45 30 31 38 30 30 30 34 30 03 44 35                E01800040D5   

[00000018] - Read  Size: 132
02 30 38 30 30 35 42 42 36 30 30 30 30 30 30 30       08005BB60000000
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30       0F409FF0BF401E70
33 36 34 30 45 43 37 30 45 44 43 30 45 46 46 30       3640EC70EDC0EFF0
45 03 46 30                                           EF0            

[00000068] - Write  Size: 13
02 45 30 31 38 30 34 30 31 43 03 45 39                E0180401CE9   

[00000069] - Read  Size: 60
02 39 30 30 31 46 45 30 33 30 30 30 30 30 30 30       9001FE030000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 03 42 42                   000000000BB   

[00000090] - Write  Size: 13
02 34 38 30 30 30 30 46 30 30 03 44 35                480000F00D5   

[00000091] - Read  Size: 1
06                                                                   

[00000092] - Write  Size: 13
02 45 30 30 30 45 30 30 34 30 03 45 31                E000E0040E1   

[00000193] - Read  Size: 132
02 43 38 30 30 46 36 35 45 30 38 30 30 31 30 30       C800F65E0800100
30 37 43 31 46 32 35 30 30 31 45 30 30 30 30 30       07C1F25001E00000
30 30 41 30 30 30 30 30 30 30 30 30 30 30 30 30       00A0000000000000
30 30 30 30 30 32 41 30 30 33 34 30 30 30 41 30       000002A0034000A0
30 30 32 30 30 30 33 30 30 30 41 30 30 30 32 30       0020003000A00020
30 30 41 30 30 30 30 30 30 30 30 30 30 30 30 30       00A0000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 33 44 30 30 31 43 30       0000000003D001C0
30 03 33 42                                           03B            

[00000245] - Write  Size: 13
02 45 30 30 30 45 34 30 34 30 03 45 35                E000E4040E5   

[00000247] - Read  Size: 132
02 30 30 30 30 30 30 30 30 31 34 30 30 46 46 30       000000001400FF0
30 44 37 30 33 30 30 30 30 30 30 30 30 30 30 30       0D70300000000000
30 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46       0FFFFFFFFFFFFFFF
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46       FFFFFFFFFFFFFFFF
46 30 30 30 30 46 46 46 46 30 30 30 30 30 30 30       F0000FFFF0000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 36 30 34 30 30 30 30 30 30 30 30 30 30 30       0060400000000000
30 03 37 34                                           074            

[00000288] - Write  Size: 13
02 45 30 30 30 45 38 30 34 30 03 45 39                E000E8040E9   

[00000289] - Read  Size: 132
02 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       000000000000000
30 30 30 30 30 30 30 30 30 46 34 30 31 30 30 30       000000000F401000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 03 31 45                                           01E            

[00000340] - Write  Size: 13
02 45 30 30 30 45 43 30 34 30 03 46 34                E000EC040F4   

[00000342] - Read  Size: 132
02 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       000000000000000
30 36 34 30 30 46 36 35 45 30 38 30 30 30 30 30       06400F65E0800000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 42 37 42 41 39 32 36 38 42 32 43 45 35 33 32       0B7BA9268B2CE532
35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       5000000000000000
30 30 32 30 30 30 33 30 30 30 30 30 30 30 30 30       0020003000000000
30 03 46 30                                           0F0            

//================================================================================//
// 关键点1:向1400写入数据0x3A字节
//================================================================================//
[00000398] - Write  Size: 129
02 45 31 30 31 34 30 30 33 41 30 41 38 31 31 31       E1014003A0A8111
30 30 30 30 30 41 30 30 31 30 31 34 30 45 30 30       00000A0010140E00
30 45 31 34 30 41 31 34 31 30 31 38 30 45 30 36       0E140A1410180E06
30 45 30 30 34 30 44 30 34 37 30 30 30 45 30 30       0E0040D047000E00
30 30 30 41 30 30 30 38 30 43 30 38 31 32 30 30       000A00080C081200
30 43 30 30 31 32 30 41 31 34 30 30 32 37 30 30       0C00120A14002700
32 38 30 41 30 46 30 41 31 30 30 30 30 46 30 30       280A0F0A10000F00
31 30 30 41 32 37 30 41 32 38 30 30 31 34 03 38       100A270A2800148
43                                                    C               

[00000412] - Read  Size: 1
06                                                                   

//================================================================================//
// 关键点2:读1700数据0x17字节
//================================================================================//
[00000413] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000415] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000436] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000437] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000457] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000458] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000485] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000486] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000491] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000493] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000517] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000518] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000558] - Close port


(原文件名:1790返回分析.jpg)


(原文件名:1790返回1.jpg)
三菱监视机制研究:

简单说就是先向PLC内存地址0x1400处写入PLC监控指令,然后就从PLC内存地址0x1790处反复读取PLC监控数据

关键就是要搞清楚写入的监控指令的意义,及返回的PLC监控数据的格式。

来几个图片:


在线-监视-软件登陆进入的设置画面 (原文件名:待监控内容1.jpg)


下发的监视指令和数据 (原文件名:1400命令1.jpg)


10进制显示 (原文件名:1790返回1.jpg)


16进制显示 (原文件名:1790返回11.jpg)

捕获的串口通讯数据:

[00000000] - Open port

[00000001] - Write  Size: 1
05                                                                   

[00000001] - Read  Size: 1
06                                                                   

[00000001] - Write  Size: 11
02 30 30 45 30 32 30 32 03 36 43                      00E02026C     

[00000003] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000005] - Write  Size: 11
02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     

[00000007] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000008] - Write  Size: 11
02 30 30 45 30 32 30 32 03 36 43                      00E02026C     

[00000010] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000012] - Write  Size: 11
02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     

[00000013] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000016] - Write  Size: 13
02 34 38 30 30 30 30 46 30 30 03 44 35                480000F00D5   

[00000017] - Read  Size: 1
06                                                                   

[00000037] - Close port

[00000000] - Open port

[00000001] - Write  Size: 1
05                                                                   

[00000001] - Read  Size: 1
06                                                                   

[00000003] - Write  Size: 11
02 30 30 45 30 32 30 32 03 36 43                      00E02026C     

[00000004] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000006] - Write  Size: 11
02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     

[00000008] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000010] - Write  Size: 11
02 30 30 45 30 32 30 32 03 36 43                      00E02026C     

[00000011] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000014] - Write  Size: 11
02 30 30 45 43 41 30 32 03 38 45                      00ECA028E     

[00000016] - Read  Size: 8
02 46 36 35 45 03 46 39                               F65EF9        

[00000017] - Write  Size: 13
02 45 30 31 38 30 30 30 34 30 03 44 35                E01800040D5   

[00000018] - Read  Size: 132
02 30 38 30 30 35 42 42 36 30 30 30 30 30 30 30       08005BB60000000
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32       0202020202020202
30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30       0F409FF0BF401E70
33 36 34 30 45 43 37 30 45 44 43 30 45 46 46 30       3640EC70EDC0EFF0
45 03 46 30                                           EF0            

[00000068] - Write  Size: 13
02 45 30 31 38 30 34 30 31 43 03 45 39                E0180401CE9   

[00000069] - Read  Size: 60
02 39 30 30 31 46 45 30 33 30 30 30 30 30 30 30       9001FE030000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 03 42 42                   000000000BB   

[00000090] - Write  Size: 13
02 34 38 30 30 30 30 46 30 30 03 44 35                480000F00D5   

[00000091] - Read  Size: 1
06                                                                   

[00000092] - Write  Size: 13
02 45 30 30 30 45 30 30 34 30 03 45 31                E000E0040E1   

[00000193] - Read  Size: 132
02 43 38 30 30 46 36 35 45 30 38 30 30 31 30 30       C800F65E0800100
30 37 43 31 46 32 35 30 30 31 45 30 30 30 30 30       07C1F25001E00000
30 30 41 30 30 30 30 30 30 30 30 30 30 30 30 30       00A0000000000000
30 30 30 30 30 32 41 30 30 33 34 30 30 30 41 30       000002A0034000A0
30 30 32 30 30 30 33 30 30 30 41 30 30 30 32 30       0020003000A00020
30 30 41 30 30 30 30 30 30 30 30 30 30 30 30 30       00A0000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 33 44 30 30 31 43 30       0000000003D001C0
30 03 33 42                                           03B            

[00000245] - Write  Size: 13
02 45 30 30 30 45 34 30 34 30 03 45 35                E000E4040E5   

[00000247] - Read  Size: 132
02 30 30 30 30 30 30 30 30 31 34 30 30 46 46 30       000000001400FF0
30 44 37 30 33 30 30 30 30 30 30 30 30 30 30 30       0D70300000000000
30 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46       0FFFFFFFFFFFFFFF
46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46       FFFFFFFFFFFFFFFF
46 30 30 30 30 46 46 46 46 30 30 30 30 30 30 30       F0000FFFF0000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 36 30 34 30 30 30 30 30 30 30 30 30 30 30       0060400000000000
30 03 37 34                                           074            

[00000288] - Write  Size: 13
02 45 30 30 30 45 38 30 34 30 03 45 39                E000E8040E9   

[00000289] - Read  Size: 132
02 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       000000000000000
30 30 30 30 30 30 30 30 30 46 34 30 31 30 30 30       000000000F401000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 03 31 45                                           01E            

[00000340] - Write  Size: 13
02 45 30 30 30 45 43 30 34 30 03 46 34                E000EC040F4   

[00000342] - Read  Size: 132
02 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       000000000000000
30 36 34 30 30 46 36 35 45 30 38 30 30 30 30 30       06400F65E0800000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       0000000000000000
30 42 37 42 41 39 32 36 38 42 32 43 45 35 33 32       0B7BA9268B2CE532
35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30       5000000000000000
30 30 32 30 30 30 33 30 30 30 30 30 30 30 30 30       0020003000000000
30 03 46 30                                           0F0            

//================================================================================//
// 关键点1:向1400写入数据0x3A字节
//================================================================================//
[00000398] - Write  Size: 129
02 45 31 30 31 34 30 30 33 41 30 41 38 31 31 31       E1014003A0A8111
30 30 30 30 30 41 30 30 31 30 31 34 30 45 30 30       00000A0010140E00
30 45 31 34 30 41 31 34 31 30 31 38 30 45 30 36       0E140A1410180E06
30 45 30 30 34 30 44 30 34 37 30 30 30 45 30 30       0E0040D047000E00
30 30 30 41 30 30 30 38 30 43 30 38 31 32 30 30       000A00080C081200
30 43 30 30 31 32 30 41 31 34 30 30 32 37 30 30       0C00120A14002700
32 38 30 41 30 46 30 41 31 30 30 30 30 46 30 30       280A0F0A10000F00
31 30 30 41 32 37 30 41 32 38 30 30 31 34 03 38       100A270A2800148
43                                                    C               

[00000412] - Read  Size: 1
06                                                                   

//================================================================================//
// 关键点2:读1700数据0x17字节
//================================================================================//
[00000413] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000415] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000436] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000437] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000457] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000458] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000485] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000486] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000491] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000493] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000517] - Write  Size: 13
02 45 30 30 31 37 39 30 31 37 03 45 31                E00179017E1   

[00000518] - Read  Size: 50
02 45 38 30 33 44 30 30 37 32 43 30 31 42 38 30       E803D0072C01B80
42 41 30 30 46 38 38 31 33 44 32 30 30 30 32 30       BA00F8813D200020
30 37 30 31 37 35 38 31 42 46 46 46 46 30 31 03       07017581BFFFF01
46 42                                                 FB              

[00000558] - Close port


(原文件名:1790返回分析.jpg)


(原文件名:1790返回1.jpg)

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7087次
    • 积分:127
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条
    文章分类