以下指令均為16進制數,PC IP地址:192.168.250.24,PLC IP地址:192.168.250.23
一、Fins Tcp
1. 握手指令
1.1. 發送
46494E53 0000000C 00000000 00000000 00000018
46494E53:ASCII編碼:FINS;
0000000C:指后面跟的字節長度;
00000000:固定命令;
00000000:錯誤代碼;
00000018:PC節點IP,當設置為0時,會自動獲取節點IP。
1.2. 反饋
46494E53 00000010 00000001 00000000 00000018 00000017
46494E53:ASCII編碼:FINS;
00000010:指后面跟的字節長度;
00000001:固定命令;
00000000:錯誤代碼;
00000018:本機電腦節點IP;
00000017:PLC節點IP。
2. 讀取指令
讀D100開始的2個地址,注:一次最多讀1000個地址。
2.1. 發送
46494E53 0000001A 00000002 00000000 80 00 02 001700 001800 FF 0101 82 006400 0002
46494E53:ASCII編碼:FINS;
0000001A:指后面跟的字節長度;
00000002:固定命令;
00000000:錯誤代碼;
80:ICF;
00:RSV;
02:GCT;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
FF:SID;
0101:讀指令;
82:讀地址區(D位:02,D字:82,W位:31,C位:30,W字:B1,C字:B0);
006400:起始地址;
0002:讀個數。
2.2. 反饋
46494E53 0000001A 00000002 00000000 C0 00 02 001800 001700 FF 0101 0000 AABB CCDD
46494E53:ASCII編碼:FINS;
0000001A:指后面跟的字節長度;
00000002:固定命令;
00000000:錯誤代碼;
C0:ICF;
00:RSV;
02:GCT;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
FF:SID;
0101:讀指令;
0000:讀取成功標識;
AABB CCDD:讀到的數據。
3. 寫入指令
往W10,W11寫入AABB,CCDD
3.1. 發送
46494E53 0000001E 00000002 00000000 80 00 02 001700 001800 FF 0102 B1 000A00 0002 AABBCCDD
46494E53:ASCII編碼:FINS;
0000001E:指后面跟的字節長度;
00000002:固定命令;
00000000:錯誤代碼;
80:ICF;
00:RSV;
02:GCT;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
FF:SID;
0102:寫指令;
B1:讀地址區(D位:02,D字:82,W位:31,C位:30,W字:B1,C字:B0);
000A00:起始地址;
0002:寫個數;
AABBCCDD:寫入數據。
3.2. 反饋
46494E53 00000016 00000002 00000000 C0 00 02 001800 001700 FF 0102 0000
46494E53:ASCII編碼:FINS;
00000016:指后面跟的字節長度;
00000002:固定命令;
00000000:錯誤代碼;
C0:ICF;
00:RSV;
02:GCT;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
FF:SID;
0102:寫指令;
0000:寫入成功標識。
二、Fins Udp
Fins Udp與Fins Tcp很像,只是Fins Udp不需要發握手指令,指令從80(ICF)開始。
1. 讀取指令
讀D100開始的2個通道
1.1. 發送
80 00 02 001700 001800 FF 0101 82 006400 0002
80:ICF;
00:RSV;
02:GCT;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
FF:SID;
0101:讀指令;
82:讀地址區(D位:02,D字:82,W位:31,C位:30,W字:B1,C字:B0);
006400:起始地址;
0002:讀個數。
1.2. 反饋
C0 00 02 001800 001700 FF 0101 0000 AABB CCDD
C0:ICF;
00:RSV;
02:GCT;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
FF:SID;
0101:讀指令;
0000:讀取成功標識;
AABB CCDD:讀到的數據。
2. 寫入指令
往W10,W11寫入AABB,CCDD
2.1. 發送
80 00 02 001700 001800 FF 0102 B1 000A00 0002 AABBCCDD
80:ICF;
00:RSV;
02:GCT;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
FF:SID;
0102:寫指令;
B1:讀地址區(D位:02,D字:82,W位:31,C位:30,W字:B1,C字:B0);
000A00:起始地址;
0002:寫個數;
AABBCCDD:寫入數據。
2.2. 反饋
C0 00 02 001800 001700 FF 0102 0000
C0:ICF;
00:RSV;
02:GCT;
00:PC網絡地址;
18:PC節點地址;
00:PC單元地址;
00:PLC網絡地址;
17:PLC節點地址;
00:PLC單元地址;
FF:SID;
0102:寫指令;
0000:寫入成功標識。