Write Single Register (FC6):
Address: 1051
Value: 0x01 (첫 번째 출력 ON)
Value: 0x00 (모든 출력 OFF)
Write Multiple Registers (FC16):
Address: 1301
Quantity: 5 (Trigger, Index, Subindex, Data Length, 1 Word Data)
Values:
1301 (Trigger): 0x0022 // ISDU Write Opcode
1302 (Index): 0x000A // Index 10
1303 (Subindex): 0x0000 // Subindex 0
1304 (Data Length): 0x0001 // 1 byte
1305 (Write Data): 0x0001 // Data: Activate
0x0021
(ISDU Read 명령)Write Multiple Registers (FC16):
Address: 1301
Quantity: 4 (Trigger, Index, Subindex, Expected Data Length)
Values:
1301 (Trigger): 0x0021 // ISDU Read Opcode
1302 (Index): 0x0010 // Index 16 (Device ID)
1303 (Subindex): 0x0000 // Subindex 0
1304 (Expected Data Length): 0x0004 // 예상 4바이트 (2 Word)
// 감지 거리 설정 (예: Index 128, Subindex 1, Data: 500mm)
// 500mm는 2바이트 데이터로 0x01F4
Write Multiple Registers (FC16):
Address: 1301
Quantity: 5
Values:
1301: 0x0022 // Write Opcode
1302: 0x0080 // Index 128
1303: 0x0001 // Subindex 1
1304: 0x0002 // Data Length 2 bytes
1305: 0x01F4 // Data: 500 (mm)
// Modbus Write Single Register (FC06) 또는 Write Multiple Registers (FC16)
// 주소: 1051
// 값: 0x0100 (Big Endian)
// Write Single Register (FC06):
// Address: 1051
// Value: 0x0100
// 작업 완료 시 녹색등 ON (예: PDO Data Word 0의 Bit 0을 ON)
// IO-Link 장치 구성에 따라 비트 매핑 확인 필요
Write Single Register (FC06):
Address: 1051
Value: 0x0001 // 또는 기존 값에 OR 연산 (e.g., Value | 0x0001)
// 밸브 열림 명령 (예: PDO Data Word 0의 Bit 1을 ON)
Write Single Register (FC06):
Address: 1051
Value: 0x0002 // 또는 기존 값에 OR 연산 (e.g., Value | 0x0002)
// 모터 시계 방향 회전 (예: PDO Data Word 1의 Bit 0을 ON)
Write Single Register (FC06):
Address: 1052
Value: 0x0001
// 팬 속도 50% 설정 (예: PDO Data Word 0의 상위 Byte로 속도 값 전송)
// 0x7FFF (50%) - 가정, 실제 값은 장치 매뉴얼 참조
Write Single Register (FC06):
Address: 1051
Value: 0x7FFF
97 (0x61)
, Subindex 1
, Data Length 1
, Data 0x02
를 쓰는 경우:// Modbus Write Multiple Registers (FC16) 명령 사용
// 시작 주소: 1301
// 레지스터 수: 5 (Trigger, Index, Subindex, Data Length, Data)
// 값:
// 1301 (ISDU Trigger): 0x0022 (ISDU Write Opcode)
// 1302 (ISDU Index): 0x0061 (Index 97)
// 1303 (ISDU Subindex): 0x0001 (Subindex 1)
// 1304 (ISDU Data Length): 0x0001 (1 Byte)
// 1305 (ISDU Write Data): 0x0002 (실제 데이터)
// 측정 주기 설정 (예: Index 10, Subindex 0, Data: 100ms)
// 100ms는 2바이트 데이터로 0x0064 (10진수 100)
Write Multiple Registers (FC16):
Address: 1301
Quantity: 5
Values:
1301: 0x22 // Write Opcode
1302: 0x000A // Index 10
1303: 0x0000 // Subindex 0
1304: 0x0002 // Data Length 2 bytes (100ms는 2바이트 값)
1305: 0x0064 // Data: 100 (ms)
// Modbus Write Multiple Registers (FC16) 명령 사용
// 시작 주소: 1301
// 레지스터 수: 4 (Trigger, Index, Subindex, Data Length)
// 값:
// 1301 (ISDU Trigger): 0x0021 (ISDU Read Opcode)
// 1302 (ISDU Index): 0x0061 (Index 97)
// 1303 (ISDU Subindex): 0x0001 (Subindex 1)
// 1304 (ISDU Data Length): 0x0001 (1 Byte)
// 결과 = 1105에서 확인
0x0021
), Index, Subindex, Data Length를 기록합니다.1001
주소는 PLC에서 1000
번지 레지스터에 해당할 수 있습니다.ISDU Trigger
레지스터 (예: 1301
)에 올바른 Opcode를 기록해야 합니다.0x0021
0x0022
0x12345678
은 0x1234
와 0x5678
두 개의 Word로 분리됩니다.ISDU Trigger
레지스터에 올바른 Opcode가 기록되었는지 확인ISDU Index
및 Subindex
값이 올바른지 확인ISDU Data Length
가 실제 데이터 길이와 일치하는지 확인Port Status Register
의 ISDU 처리 중 비트(Bit 3)와 오류 코드 확인Port Status Register
와 같은 상태 레지스터를 지속적으로 모니터링하여 명령의 완료 여부 및 오류 발생 시 신속하게 대응.1001~1003
번대는 센서로부터 정보를 읽어오는(Input) 데이터이며, 1051~
번대는 액추에이터 등으로 정보를 내보내는(Output) 데이터입니다.1301
번지에 특정 Opcode를 기록하여 명령을 트리거하고, 그 결과를 1105
번지에서 확인하는 방식입니다. 비주기적인 설정 및 진단에 사용됩니다.