Konu: PLC den bilgi alma
PLC ile yazılmış bir makinedeki bilgileri comporttan almak istiyoruz. Bu konu ile ilgili tecrübesi olan arkadaşlardan yardım bekliyorum. Şimdiden Teşekkürler.
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
fox4um » Kodlama ve Komutlar » PLC den bilgi alma
PLC ile yazılmış bir makinedeki bilgileri comporttan almak istiyoruz. Bu konu ile ilgili tecrübesi olan arkadaşlardan yardım bekliyorum. Şimdiden Teşekkürler.
Ne tür bir yardıma ihtiyacınız var ? Belki çözmüşsünüzdür problemlerinizi. Ama hala devam ediyorsa yardımcı olabilirim.
Tekin bey,
PCl ile programlanmış bir tekstil makinesinin RS 232 çıkışı var. Bu çıkıştan bilgileri bilgisayara aktarıp foxpro 9.0 ile rapor oluşturmak istiyoruz.
mscomm32.ocx
yarım yamalak bir örnek ekledim, umarım yardımcı olur:
PROCEDURE openport
THIS.ole1.InBufferCount = 0
THIS.ole1.DTREnable = FALSE
THIS.ole1.RTSEnable = FALSE
IF !THIS.ole1.PortOpen
THIS.ole1.PortOpen = TRUE
ENDIF
ENDPROC
PROCEDURE closeport
IF THIS.ole1.PortOpen
THIS.ole1.PortOpen = FALSE
ENDIF
ENDPROC
PROCEDURE initport
LPARAMETERS nBaudrate, nComPort
LOCAL cTxt
DO CASE
CASE nBaudrate == 2400
cTxt = "2400,N,8,1"
CASE nBaudrate == 4800
cTxt = "4800,N,8,1"
CASE nBaudrate == 9600
cTxt = "9600,N,8,1"
CASE nBaudrate == 19200
cTxt = "19200,N,8,1"
CASE nBaudrate == 38400
cTxt = "38400,N,8,1"
CASE nBaudrate == 57600
cTxt = "57600,N,8,1"
OTHERWISE
MESSAGEBOX("Baudrate out of range!")
RETURN FALSE
ENDCASE
THIS.ole1.Settings = cTxt
THIS.ole1.CommPort = nComPort
THIS.ole1.Handshaking = 0
THIS.ole1.InputLen = 1
THIS.ole1.RThreshold = 0
THIS.ole1.NullDiscard = FALSE
This.ole1.InBufferSize = 16384
ENDPROC
PROCEDURE send_msgblock
LOCAL nCrcValue
DECLARE integer Sleep in Win32API integer
*!* THIS.crc_xmodem(THIS.TxD_Buffer)
nCrcValue = VAL(SYS(2007,THIS.TxD_Buffer))
THIS.Crc_LowByte = INT(nCrcValue % 256)
THIS.Crc_HighByte = INT(nCrcValue / 256)
THIS.TxD_Buffer = THIS.TxD_Buffer + CHR(THIS.Crc_LowByte) + CHR(THIS.Crc_HighByte) + CHR(0x03)
THIS.ole1.OUTPUT = THIS.TxD_Buffer
DO WHILE THIS.ole1.OutBufferCount > 0
Sleep(10)
ENDDO
WAIT CLEAR
ENDPROC
fox4um » Kodlama ve Komutlar » PLC den bilgi alma