MDI
-
I am currently developing a MDI application, which is going to control a flight simulator. The flight simulator application consist of 3 main objects invertor, motincard, and socket. Invertor Object: The invertor object configures invertors for AC motors. The object enables/disables the motors to be control by analog output of the motioncard. The communication between the invertor and the application happens over RS-485. MotionCard: The motion card object controls the motion of the system. The card has a analog output which is wired to the invertor and it controls the speed and direction of the motor. Motion card accepts a input from position encoder and has PID loop to produce the analog output voltage. The application initialize and commands card to move the motors to specific position at the specified speed. Socket: The socket objects is just a simple object that simpifies socket communication. The socket object simpily requires you to create object and initialize. Packet are transmitted by a non-blocking read and write functions. The read&write commands just place the packet in fifo to be transmitted. My question is which is the best way to setup all these objects to operate together within a single Finite State Machine within a MDI application. The MDI application needs to have seprate UI/dialog/CForm for each object. for example, Invertor Object UI: need to be configured with a comm port address, : The object also need to post it's internal data to UI for debugging Motion Cards : needs to be configured with PID loop coefficients, velocitys, etc : The motion card has some status information that also needs to be display in a ui Socket Object : Provides some statistical information about about the number packets it has recieved and transmitted. The Ui also is needed for configuration such as : settting IP and port addresses.
Scott Dolan Jernie Corporation Engineering & Manufacturing Software, Hardware, & Enclosures
-
I am currently developing a MDI application, which is going to control a flight simulator. The flight simulator application consist of 3 main objects invertor, motincard, and socket. Invertor Object: The invertor object configures invertors for AC motors. The object enables/disables the motors to be control by analog output of the motioncard. The communication between the invertor and the application happens over RS-485. MotionCard: The motion card object controls the motion of the system. The card has a analog output which is wired to the invertor and it controls the speed and direction of the motor. Motion card accepts a input from position encoder and has PID loop to produce the analog output voltage. The application initialize and commands card to move the motors to specific position at the specified speed. Socket: The socket objects is just a simple object that simpifies socket communication. The socket object simpily requires you to create object and initialize. Packet are transmitted by a non-blocking read and write functions. The read&write commands just place the packet in fifo to be transmitted. My question is which is the best way to setup all these objects to operate together within a single Finite State Machine within a MDI application. The MDI application needs to have seprate UI/dialog/CForm for each object. for example, Invertor Object UI: need to be configured with a comm port address, : The object also need to post it's internal data to UI for debugging Motion Cards : needs to be configured with PID loop coefficients, velocitys, etc : The motion card has some status information that also needs to be display in a ui Socket Object : Provides some statistical information about about the number packets it has recieved and transmitted. The Ui also is needed for configuration such as : settting IP and port addresses.
Scott Dolan Jernie Corporation Engineering & Manufacturing Software, Hardware, & Enclosures
I'm not sure what the "best" way is but IMO the OLD MDI interface is ugly and dated, unless you really need individual child frame windows that have built in support for cascading, arranging, etc. I personally would use non-dragable splitter bars (or similar) to divide a window into 3 sections, and each pane could be a window or a dialog, depending on the contents. Maybe I drifted way off the question... :) Mark
"Great job, team. Head back to base for debriefing and cocktails." (Spottswoode "Team America")