Embedded DOS Controller

/* DOS Controller framework with simulated I/O signals Add a controller with size as small as a credit card to your system so as to make your system to be IP Enabled, monitored and controlled any where and any time with only Internet Explorer

More C++, C# and VB source code on the following web site

formatting link
formatting link
formatting link

*/ #include #include #include #include #include "..\include\vm.h" //=========================================== VmDataArray *A;double *D; VmNetwork *net; void scan1(void); void scan2(void); //=========================================== char *Name[]={"ai0","ai1","ai2","ai3","ai4","ai5","ai6","ai7", "di0","di1","di2","di3","di4","di5","di6","di7", "ao0","ao1","ao2","ao3","ao4","ao5","ao6","ao7", "do0","do1","do2","do3","do4","do5","do6","do7","Speed"}; //=========================================== void create(VmDataArray *DA, VmObjectList *OL){ DA->Add(Name,sizeof(Name)/2); OL->Add(net=new VmNetwork(DA,10,NULL,NULL,NULL)); OL->Add( new VmSpeed (DA, "Speed")); OL->Add( new VmScan (DA,2, scan1)); //Display 1=55ms OL->Add( new VmScan2 (DA,100,scan2)); //Signal I/O 1=0.2109ms or 0.1054ms A=DA; D=DA->D; } //=========================================== void first(){ vm_cursor_off(); printf("IP Address is %s\n\r", net->IPAddress); printf("Press 'Esc' key to exit.\n\n\r"); } void loop (){} void last (){vm_cursor_on();} //=========================================== void scan1(){ gotoxy(1,5);printf("\r %9d%9d%9d%9d%9d%9d%9d%9d", 0,1,2,3,4,5,6,7); gotoxy(1,6);printf("\rAI: %9.1f%9.1f%9.1f%9.1f%9.1f%9.1f%9.1f%9.1f", D[0], D[1], D[2], D[3], D[4], D[5], D[6], D[7] ); gotoxy(1,7);printf("\rDI: %9.0f%9.0f%9.0f%9.0f%9.0f%9.0f%9.0f%9.0f", D[8], D[9], D[10],D[11],D[12],D[13],D[14],D[15]); gotoxy(1,8);printf("\rAO: %9.1f%9.1f%9.1f%9.1f%9.1f%9.1f%9.1f%9.1f", D[16],D[17],D[18],D[19],D[20],D[21],D[22],D[23]); gotoxy(1,9);printf("\rDO: %9.0f%9.0f%9.0f%9.0f%9.0f%9.0f%9.0f%9.0f", D[24],D[25],D[26],D[27],D[28],D[29],D[30],D[31]); gotoxy(1,11);printf("\rController Speed:%10.0f Loops/Second",D[32]); gotoxy(1,15);printf("\rReceived: %-10.0f Send: %-10.0f NetRate: %-5.0f Links: %-2d ", (double)net->PacketReceived,(double)net->PacketSend,(double)net->ReceiveRate,net->Links); if(kbhit() && getch()==27) bLoop=0; } //=========================================== void scan2(){ static int i=0; D[0]=10*sin(0.005*i++); } //=========================================== int main(int argc, char *argv[]){ return vm_controller(argc, argv); } //===========================================
Reply to
vmautomation
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.