00001 /* $Id$ 00002 Defines a programmable logical controller (PLC) 00003 */ 00004 00005 #ifndef _PLC_H 00006 #define _PLC_H 00007 00008 #include <stdarg.h> 00009 #include "gridlabd.h" 00010 00011 #include "machine.h" 00012 00013 class plc { 00014 public: 00015 char1024 source; 00016 object network; 00017 private: 00018 machine *controller; 00019 public: 00020 static CLASS *oclass; 00021 static plc* defaults; 00022 public: 00023 plc(MODULE *mod); 00024 ~plc(void); 00025 int create(); 00026 int init(OBJECT *parent); 00027 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1); 00028 00029 inline machine *get_machine() {return controller;}; 00030 }; 00031 00032 #endif