XP248 1 XP248 XP248 DCS PLC SCnet SCnet DCS SCnet DCS 1.1 XP248 Modbus HostLink Modbus XP248 4 DB25 XP248 MODBUS XP248 SCControl XP248 4 RS232 RS485 4 32 XP248 COM0-COM1 COM2-COM3 1200 19200bit/s 5 8 1 2 I/O I/O 5V±5% < 5W 5V SCnet 100M A,B SCnet IP 2-62 1
XP248 1.2 1-1 XP248 2 2.1 2-1 XP248 SW1 J3 BAT2 CR2032 2
XP248 2-2 XP248 2.2 2-1 XP248 7 LED 2-1 LED FAIL( ) RUN( ) CPU CPU CPU WORK( ) STDBY ( ) LED-A A# LED-B B# SLAVE( ) CPU CPU CPU 2.3 XP248 SCnet II SCnet II A SCnet II B SCnet II A SCnet II A SCnet A# SCnet II B SCnet II B SCnet B# 2.4 2-1 XP248 SW1 SCnet JX-300XP 2 63 1 2 OFF 2n 2n+1 2n 2-2 1 2 3 4 5 6 7 8 OFF OFF OFF OFF OFF OFF ON OFF 02 OFF OFF OFF OFF OFF OFF ON ON 03 OFF OFF OFF OFF OFF ON OFF OFF 04 3
XP248 OFF OFF OFF OFF OFF ON OFF ON 05 OFF OFF ON ON ON ON ON ON 63 2.5 2-3 XP248 J3 2-1 1 BAT2 CR2032 3V 220mAh 2 J3 2.5.1 1 2 3 4 1 2 3 4 2.6 XP248 RS232 RS485 2-2 4 4
XP248 2-4 2.7 XP248 I/O 2n,2n+1 n 2.8 XP248 XP526 XP526 XP248 COM0 COM1 COM2 COM3 2-5 2-5 XP248 2-6 5
XP248 2-6 2-5 2-7 COM0 COM1 2-7 3 XP248 SCControl SCControl Modbus RTU HostLink XP248 SCControl SCControl I/O PID 6
XP248 XP248 SCnet XP248 SCnet SCnet IP XP248 IP 500ms XP248 / Modbus SCControl SCControl SCControl SCControl XP248 AltTim PLC 10ms Cycle Cycle ms Cycle Cycle 0 XP248 Cycle ( ) Cycle 0 Cycle Cycle 0 AckTim ms 0 AckTim AckTim 0 0-200ms 7
XP248 AckTim 0 0 AckTim 1 : GW_SETCOM ComId: BYTE ( 0--3 ) Baud: DWORD() DataBit: BYTE ( 5,6,7,8) StopBit: BYTE ( 1,2) Verify: BYTE (0: 1: 2: 3:SPACE 4:MARK ) AltTim: DWORD( ms) 0 Duplex: BOOL (OFF ON ) Link: BYTE( ComId ) ( ) 2 : GW_MODBUS_RTU MODBUS_RTU CmdId: BYTE ( 0-255, ) ComId: BYTE ( 0--3 ) 8
XP248 Cycle: WORD ( ms) AckTim: WORD (, ms 200ms) Slave: BYTE (Modbus ) Func: BYTE (, 1,2,3,4,5,6,15,16 )Modbus Start: WORD ( 0-65535 ) Num: BYTE (( ) 2040 16 127 ) Link: BYTE( CmdId ) Comdld Slave 3 : GW_MODBUS_SLAVE MODBUS_SLAVE CmdId: BYTE ( 0-255, ) ComId: BYTE ( 0--5 ) Add: BYTE ( ) Link: BYTE( CmdId ) Add Add Slave 4 GW_HOSTLINK PLC HOSTLINK 9
XP248 CmdId: BYTE ( 0-255, ) ComId: BYTE ( 0--3 ) Cycle: WORD ( ms, 0 ) AckTim: WORD (, ms 200ms) WoR: BYTE (1: PLC ; 128: PLC ) Slave: BYTE (HOSTLINK ) DataType BYTE( PLC ): 0 WORD, 0: ;1 IR 1 WORD HR 2 WORD AR 3 WORD LR 4 WORD TC 5 BOOL ON=0xFF,OFF=0x00 DM 6 WORD ERROR 7 WORD STATUS 8 WORD TC 9 WORD 10 ST_STARTCMD 128 + (IR HR AR LR) BOOL ON=0xFF,OFF=0x00 StartWord: WORD( WORD ) BitOfWord: BYTE(WORD 0-15, Forced set/reste ) WordNum: BYTE( Word ) Link: BYTE( CmdId ) HOSTLINK IR/HR/AR/LR TC DataType WoR 1 WoR 128 DataType 1 WoR 1 IR FORCED CANCEL GW_STARTCMD() hostlink ASCII 10
XP248 5 : GW_GETCOMINFO ComId: BYTE ( 0-3) SndCnt: RcvCnt: SndBuf: RcvBuf: BYTE ( ) BYTE ( ) ULONG ( ) ULONG ( ) 6 : GW_GETCMDINFO CmdId: BYTE ( 0-255) DataQuality: BYTE ( 1: 0: ) FailCnt: BYTE ( ) NormalCnt: BYTE ( ) SndCnt: BYTE ( ) RcvCnt: BYTE ( ) (FailCnt>=3) DataQuality 0 NormalCnt>=3 DataQuality 1 FailCnt>=3 1 7 : GW_GETBYTE 11
XP248 CmdId: BYTE ( 0-255) Serial: Data: WORD ( BYTE ( 0 )) BYTE ( ) 8 : GW_GETBOOL CmdId: BYTE ( 0-255) Serial: Data: WORD ( BOOL ( 0 )) BOOL ( ) 9 : GW_GETUINT CmdId: BYTE ( 0-255) Serial: Data: WORD ( UINT ( 0 )) UINT ( ) 10 : GW_GETULONG 12
XP248 CmdId: BYTE ( 0-255) Serial: Data: WORD ( ULONG ( 0 )) ULONG ( ) 11 : GW_GETFLOAT CmdId: BYTE ( 0-255) Serial: Data: WORD ( ULONG ( 0 )) FLOAT( ) 12 : GW_GETMORE CmdId: BYTE() Serial: WORD(( 0 ) DataType: BYTE( : 1: 1 2: 2 4: 4 8: 8 VarId: WORD( ID ) Num: WORD() 13
XP248 13 : GW_SETBYTE CmdId: BYTE ( 0-255) Serial: Data: WORD ( ( 0 )) BYTE ( ) 14 : GW_SETBOOL CmdId: BYTE ( 0-255) Serial: Data: WORD ( BOOL ( 0 )) BOOL ( ) 15 : GW_SETUINT CmdId: BYTE ( 0-255) Serial: Data: WORD ( UINT ( 0 ) UINT ( ) 14
XP248 16 : GW_SETULONG CmdId: BYTE ( 0-255) Serial: Data: WORD ( ULONG ( 0 ) ULONG ( ) 17 : GW_SETFLOAT CmdId: BYTE ( 0-255) Serial: Data: WORD ( FLOAT ( 0 ) FLOAT ( ) 18 : GW_SETMORE CmdId: BYTE() Serial: WORD(( 0 ) DataType: BYTE( : 1: 1 2: 2 4: 4 8: 8 VarId: WORD( ID ) 15
XP248 Num: WORD() 19 : GW_SNDMSG SndBuf SndLen CmdId: BYTE ( 0-255) ComId: BYTE ( 0--5 ) ) SndBuf: SndLen: Link: ULONG( GW_DEFSNDBUF(UINT Size) UINT ( ) BYTE( CmdId ) 20 : GW_RCVMSG RcvBuf CmdId: BYTE ( 0-255) ComId: BYTE ( 0--5 ) ) RcvBuf: ULONG (, GW_DEFRCVBUF(UINT Size) Link: BYTE( CmdId ) 21 : GW_SNDRCV 16
XP248 SndBuf RcvBuf CmdId: BYTE ( 0-255, ) ComId: BYTE ( 0--5 ) Cycle: UINT ( ms, 0 ) AckTim: UINT (, ms 100ms) SndBuf: ULONG( ) SndLen: UINT ( ) RcvBuf: ULONG ( ) Link: BYTE( CmdId ) 4 XP248 Modbus RTU HostLink SCControl ST XP248 XP248 GW_SNDMSG() GW_RCVMSG() GW_SNDRCV / ST XP248 SCControl SCControl XP248 GW_DEFSNDBUF Size GW_DEFRCVBUF(Size) Size ULONG XP248 GW_WRITEBUF(MsgBuf, Serial, Char) GW_READBUF(MsgBuf, Serial ) MsgBuf Serial 17
XP248 XP248 GW_SNDMSG() GW_RCVMSG() GW_SNDRCV() Modbus XP248 GW_GETRCVLEN(CmdId) GW_GETRCVMSG(CmdId, MsgBuf) MsgBuf XP248 GW_CRC16( MsgBuf, Len) CRC GW_STARTCMD(CmdId ) GW_FIRSTRUN() /********************************************************************* : GW_DEFBUF Size: UINT ( 1024) ULONG( ) **********************************************************************/ ULONG GW_DEFBUF( UINT Size ) /********************************************************************* : GW_WRITEBUF MsgBuf: ULONG ( ) Serial: UINT ( ) Char: BYTE ( ), ( Serial, ) **********************************************************************/ void GW_WRITEBUF( ULONG MsgBuf, UINT Serial, BYTE Char) /********************************************************************* : GW_READBUF 18
XP248 MsgBuf: ULONG ( ) Serial: UINT ( ) BYTE (, Serial, 0) **********************************************************************/ BYTE GW_READBUF(ULONG MsgBuf, UINT Serial ) /********************************************************************* : GW_ISCMDFINSHED CmdId: BYTE ( 0-255) BYTE 0: 1: 2: **********************************************************************/ BYTE GW_ISCMDFINSHED( BYTE CmdId ) /********************************************************************* : GW_GETRCVLEN CmdId: BYTE ( 0-255 ) UINT( ) **********************************************************************/ UINT GW_GETRCVLEN(BYTE CmdId ) /********************************************************************* : GW_GETRCVMSG 19
XP248 CmdId: BYTE ( 0-255 ) ULONG ( ) **********************************************************************/ ULONG GW_GETRCVMSG( BYTE CmdId ) /******************************************************************** GW_CRC16 CRC MsgBuf: ULONG ( ) Len: WORD( ) WORD (16 CRC ) *********************************************************************/ WORD GW_CRC16(ULONG MsgBuf, WORD Len) /********************************************************************* : GW_STARTCMD CmdId: BYTE ( 0-255) **********************************************************************/ void GW_STARTCMD( BYTE CmdId ) /******************************************************************** GW_FIRSTRUN Any BYTE BYTE (0: 1 ) *********************************************************************/ BYTE GW_FIRSTRUN(BYTE Any) 20
XP248 5 5.1 XP248 SCnet XP248 SCnet II SCKey XP248 2~62 5.2 XP248 Modbus RTU HostLink ( ) 5.3 XP248 2ms 5.4 Cycle XP248 Cycle XP248 Tcmd = T1() + T2( ) + T3( ) T1: 9600 1 1 8 1 1ms Modbus 6 CRC 8 8ms 1Byte=8bit 1 =8 T2: 50ms T3 8 Modbus 1 8 bit 1 Modbus 2 Bit 8+(n/8+1) (ms) n 2 8+ 2*n (ms) n 9600 XP248 4 XP248 4 21
XP248 Tc ( ) = Tcmd1 + Tcmd2+.+ Tcmdn + n*talt Tcmd1 1 Tcmdn n Talt AltTim Tc Cycle Tc Cycle Tc, Tc Cycle Cycle Cycle Cycle 0 5.5 XP248 XP248 RS485 32 () 1 2 Cycle 5.6 Modbus XP248 3 GW_SETCOM ( GW_GETBOOL) ( GW_SETBOOL) ( ) FBD COM0 9600, 1 8 COM0 0 1#PLC 0001 16 0003 BOOL1 AckTim 0 2 1001 1 BOOL2 Cycle 0 4 BOOL3 PLC 1001 Cycle 0 BOOL3 PLC 22
XP248 5.7 SCControl 2 GW_GETCMDINFO BYTE1 0 1 BYTE2 BYTE3 BYTE4 BYTE5 SndCnt RcvCnt RcvCnt FailCnt NormalCnt 3 3 DataQuality 1 1 GW_GETCOMINFO ComId GW_GETCMDINFO CmdId GW_GETCOMINFO GW_GETCMDINFO 2 GW_GETCMDINFO DataQuality SCNET 23
XP248 5.8 ST Modbus ST GW_DEFSNDBUF GW_DEFRCVBUF ( ) GW_WRITEBUF GW_CRC CRC ST ( ) GW_SNDRCV ST GW_GETRCVLEN GW_GETRCVMSG RcvBuf GW_CRC BOOL ST GW_CMD1_SETMSG 24
XP248 Modbus CRC Modbus slave PLC Modbus Modbus_RTU ST ST_CMD1_GETMSG 25
XP248 CRC OUT1 26
XP248 6 6-1 V1.0 2008-4-8 27