#include #include "..\..\lib\8000a.h" #include "..\..\lib\DCON_FUN.h" #include #include void main() { int iAddress,iSingleChannel,iComPort,iCheckSum,iTimeOut,iSlot,iTotalChannel; int iRet,iSelect=0; unsigned long lCounter_Value; unsigned char cTemp[10],sTemp[5]; 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). If the slave module is not I-8000, plese input -1."); LineInput(cTemp,10); sscanf(cTemp,"%d",&iSlot); Print("Please Input Total DI channel number :"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iTotalChannel); 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(;;) { Print("Please Select a single Channel Number :"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iSingleChannel); iRet=DCON_Read_DI_Counter(iComPort,iAddress,iSlot,iSingleChannel, iTotalChannel,iCheckSum,iTimeOut,&lCounter_Value); if(iRet==0) { Print("The Channel %d has already been Counted %lu times\n\r",iSingleChannel,lCounter_Value); Print("Do you clear this channel's counter:(0)NO (1)YES"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iSelect); if(iSelect) { iRet=DCON_Clear_DI_Counter(iComPort,iAddress,iSlot,iSingleChannel,iTotalChannel,iCheckSum,iTimeOut); if(iRet==NoError) { Print("The Channel %d has already Cleared\n\r",iSingleChannel); iSelect=0; } else Print("Clear DI counter error! Error code %d\n\r",iRet); } } else { Print("Read DI counter error! 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"); } }