#include #include "..\..\lib\P821.h" #include "..\..\lib\DCON_FUN.h" #include void main() { int iAddress,iSingleChannel,iComPort,iCheckSum,iTimeOut,iSlot,iTotalChannel; int iRet,iClear_Counter=0,iOverflow; 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 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_Counter(iComPort,iAddress,iSlot,iSingleChannel,iCheckSum, iTimeOut,&lCounter_Value); if(iRet==0) { Print("The Channel %d has already been Counted %lx times\n\r",iSingleChannel,lCounter_Value); DCON_Read_Overflow(iComPort,iAddress,iSlot, iSingleChannel,iCheckSum,iTimeOut,&iOverflow); if(iOverflow > 0 || iOverflow < 0) Print("*****Warning: Ch%d Overflow******\n\r",iSingleChannel); Print("Do you clear counter? 0=>No or 1=>Yes"); LineInput(cTemp,10); sscanf(cTemp,"%d",&iClear_Counter); if(iClear_Counter) { iRet=DCON_Clear_Counter(iComPort,iAddress,iSlot,iSingleChannel, iCheckSum,iTimeOut); if(iRet==NoError) Print("Clear success!!\n\r"); else Print("Clear counter error!! Error cod %d\n\r",iRet); iClear_Counter=0; } } else Print("Read 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"); } }