#include #include "..\..\lib\P821.h" #include "..\..\lib\DCON_FUN.h" #include #include void main() { int iAddress,iComPort,iCheckSum,iTimeOut,iSlot,iTotalChannel; int iRet,iDI_TotalCh,iDO_TotalCh,i,iSelection=0; unsigned long lDI_Latch_Value,lDO_Latch_Value,iLatchType; unsigned char cTemp[10],sTemp[5],cDI_Latch_BitValue[33],cDO_Latch_BitValue[33]; unsigned long lBaudrate; InitLib(); Print("Please Input Comport Number:"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iComPort); Print("Please Input module's address(0~256) ="); LineInput(cTemp,10); sscanf(cTemp,"%d",&iAddress); Print("Please Input Baudrate:"); LineInput(cTemp,10); sscanf(cTemp,"%lu",&lBaudrate); Print("Please Input slot's number(0~7) on I-8000. Don't use 8000, plese input -1."); LineInput(cTemp,10); sscanf(cTemp,"%d",&iSlot); Print("Please Input DO ToTal Channel:"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iDO_TotalCh); Print("Please Input DI ToTal Channel:"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iDI_TotalCh); Print("Please Input iLatchType (High:1 or Low:0):"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iLatchType); Print("Please Select Checksum(0:Disable or 1:Enable):"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iCheckSum); Print("Please Input TimeOut:"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iTimeOut); InstallCom(iComPort,lBaudrate,8,0,1); for(;;) { iRet=DCON_READ_DIO_Latch(iComPort,iAddress,iSlot, iDI_TotalCh,iDO_TotalCh,iLatchType, iCheckSum,iTimeOut,&lDI_Latch_Value, &lDO_Latch_Value,&cDI_Latch_BitValue, &cDO_Latch_BitValue); if(iRet==0) { Print("latch status(Hex): DI==%lX,DO==%lX\n\r",lDI_Latch_Value,lDO_Latch_Value); Print("Status of single channel"); Print("\n\rDI(BitN ~ Bit0): "); for(i=iDI_TotalCh-1;i>=0;i--) Print("%d",cDI_Latch_BitValue[i]); Print("\n\rDO(BitN ~ Bit0): "); for(i=iDO_TotalCh-1;i>=0;i--) Print("%d",cDO_Latch_BitValue[i]); Print("\n\rDo you clear latch?(NO==>0 or YES==>1)"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iSelection); if(iSelection) { iRet=DCON_Clear_DIO_Latch(iComPort,iAddress,iSlot,iCheckSum,iTimeOut); if(iRet==NoError) { Print("Clear success!!\n\r"); iSelection=0; } else Print("Clear fail!! Error Code %d \n\r",iRet); } } else { Print("Error code %d\n\r",iRet); } Puts("\n\rPress 'q' or 'Q' to quit, other key to continue...."); sTemp[0]=Getch(); if(sTemp[0]=='q' || sTemp[0]=='Q') return; Puts("\n\r\n\r"); } }