Integrated Computer Engineering Stream
Published:
In this post, I talk about lessons I learnt in Integrated Computer Engineering Stream.
Ideas and Concepts
I get some basic ideas about the kinds of stuff. Especially in Object-Oriented Programming and Embedded System Programming. I divide those kinds of stuff into categories and I will share the Experience.
Object-Oriented Programming (OOPS)
It was quite similar we just concern about some practical real-time scenarios unlike the typical examples provided. I was grateful to have such a good professor to nicely explain all the principles ineffective way to understand by poor kids like me. I loved the way of teaching. Initially, when I start studying class it looks like to strange because most of the lessons and ideas are new to me. but later on, teaching with proper examples, and practice questions help me to improve on my OOPS skills.
Embedded Programming
This was strange at the beginning because actually, I have no idea till I studied deeply in the coming semesters. I will share the experience regarding that more deeply in the related parts. Keep Smiling.
Development and Improvement
Development Deals with Object-Oriented Software Development, Embedded Databases and Embedded Networks, while improvement Deals with Industrial Computer Engineering and Software Engineering.
Development, this was though said to embedded one, the basic contents were explained with references to the generic one (OOPS). we were taught examples related to the real-time world, but we have a different way of representing the same thing found in OOAD for our Embedded Software Development.
Design Pattern, we all know there are 3 categories of Design pattern, we gained a better Idea over these 3 kinds especially with Real-time examples especially with Singleton, Observer, Abstract Factory, Builder, Proxy, etc. This was quite an Interesting part in development in addition to generic study about design kinds of stuff with different diagrams at 4 phases of software development under the Unified Process.
When Comes to Improvement, we need to maintain proper back-end, so we had studied about this during the OOSD time as an initial setup for our 3rd-semester project. and later for next semester, we had a deep study on it. There we studied deeply on Normal databases and had some rough ideas on the embedded database (these are inbuilt within the application, no central server connection, and need some configuration to deal with central synchronization).
And Embedded Networks deals with Communication types Serial (SPI, I2C) and Parallel. then we learned about Model-Based Design, Fault Hypothesis, Uncertainty, Real-time features ( specifically OS implementation in real-time systems) as a second phase study of OOSD and third phase of PESP/ESD.
This is just an overview of the things I have learned. Specified Topics for Some for My favorites will be published soon.
Instrumentation Con-Trolls
Apart from the last two topics discussed above, this is different. I had undergone quite a learning process during this period of ICE, semester 5. End of semester .I had learned two subjects, one is the control system and another is instrumentation.
Control System means generally a feedback system that use to enhance the system performance by proper feedback of the values required. For ease of studies, these are deal with S - Domain regardless of the usual time Domain system.
General Open Loop System : Y = P X .where X is Input, Y is Output and P is Process.
In case of Feedback it will change into, Y = XP / (1 + P) if it has a function F then 1 will replace with F, if it has control like PID Control it will multiply by the control factor C and also P is replaced by PC, thus final Y = XPC / ( F + PC). This is the one-word summary of the control system. it doesn’t deal with MATHS it deals with physical entities.
PID Control: Proportional (Kp) Integral (Ki) Deferential (Kd), This has the same meaning as maths, this applies effectively to get control values.
Examples: - To gain the necessary speed we can Apply proportional control, which proportionally increases the speed and let us get into reference speed. but to stop at a particular distance we can’t exactly stop proportionally for that case we need a differential control. and to have a better drive in all case we need integral control.
If error function is e then result out after PID control will be,
U = Kp.e + Kip.e + Ki. Integration(e) + Kdd.Differentiation(e). Here U and e belong to s domain.
Phase and Gain Margin these are two factors that determine the stability of the system which goes out of these will be unstable and between gain and phase is a little bit at normal and before Gain is the best region.
Fun with PLC
A quite Interesting thing I have learned during the 5th Semester in the Module CS3332: Industrial Instrumentation Control is PLC Programming. Here I have to express my experience specialized to that and Problems I encountered regarding that.
Note this just my writing, don’t rely on this for official conduct. This may be right or wrong.
PLC Programming can be done with different methodologies.
- Ladder Program
- Structured Text
- Functional Block Diagram
- Instruction List
Reference : http://www.ehow.com/list_7155812_plc-programming-methods.html
For us we were tried to get familiar with Ladder Program which was quite easy at all, just drag and drop GUI techniques, but for big level of application, it will be quite difficult thus for every output required we need a lengthy ladder while an instruction list or structured text can easily be achieved with few lines. So the ladder is not good enough at all places.
Ladder Programming
It is generally based on components with GUI demonstration and for executing each output one line of ladder is required and set of lines will be called as a program and at the start and end it will have to stop -| slashes like this and finally it will look like ladder that why they called it as Ladder program, not sure I just heard as so.
Tools Required for Ladder Programming: XCP Program tool and XC3- PLC can be used to do practicals efficiently with Ladder Programming.
These are just some basic ideas and concepts if time supports I will share ideas deeply from what I learned.