Hello all, I have been a hvac tech for 10 years. have some expierience with tracer sumitt, johnson asc controls-ahu,unt,hvacpro software. Also have worked on tracer100,varitrac,tracker, and tcsbays with revpro software.
I am interested in custom programming of controllers. I have witnessed trane upcm,pcm edit and have uploaded,download edthe programs but never written one. What would be the best programming language to take at a community college. I am looking for one that would relate to the johnson controls dx9100. Also what networking courses. Any help or guidance would be great.
i maybe wrong here but...
most applactions that are flashed to ddc controlers are made from apps.
its done this way for a reason like most software, its written because you can make up a applaction and wrigth the forumluas right into the app.
you might wanna start with a c++ course and go from there, its alot of math and programming, and i am sure quite a bit of classtime just to get the basics nailed down.
I think you can take the PLC (program Logic Control)...by doing programing you need to be logic...
Any programing has the same idea and logic...only different is syntax...have fun.
I wouldn't focus on any certain programming language. What you really need is an "Intro to Programming" type course that will start you at the core basics of programming.
Completely understanding the basics of Bits, Bytes, ASCII, HEX, Octets and CPUs are going to help you more than any single programming language. You really need to know how to interact with the hardware before you can be a successful programmer.
Once you learn basic line by line programming, then you can branch out to a specific language and it will make much more sense, than if you jumped in too deep at first.
On a side note, "Networks" are an area that you really need to be comfortable with now. Almost everything sits on a network of some type and is Web compatible.
Asking "What is the best programming language ...." or similar questions is kind of like asking; "Which is the best automobile?", "What's the best beer?", "Which is better .... blonds or brunettes?", or ... in the case of an almost never ending thread on this site .... "What's the best tool bag?".
Originally Posted by t2
You're likely to get some facts, mixed with a lot of biased opinions.
I can't address Trane or JCI freely programmable products as I've no experience with those. I've worked with controls from each, but the only programming I've done with them really wasn't programming, it was just a matter of adjusting setpoints, loops, timing variables, enabling/disabling something, etc. The "fill in the blank/change the default value" stuff.
So I can make no specific suggestions that'd help you there.
I have done custom programs for PLCs, Andover Controls products, American Automatrix, some older Honeywell, and TAC.
And I've made a number of computer applications that run under DOS and various flavors of Windows using various programming languages.
So what I can say is that while the exact implementation of programming languages varies (the way of getting things done) from manufacturer to manufacturer, and from one programming language type/methodology to another ... the basic concepts are very similar.
One uses variables (essentially, human understandable names that represent location(s) in computer/controller memory of specific or variable size) to hold values you want your application to use/manipulate. And one uses operators to cause some calculation or operation to be performed upon those values. There are also decision making statements. And looping statements to cause some section of code to execute repeatedly until some condition is met. There are also timer statements to cause delays of specific duration, or to cause something to happen at given intervals. So on and so forth.
Mostly, any computer programming language will contain most or all of the important instruction and statement types used in the DDC world. Tho the exact terminology for something will differ, sometimes drastically, between this programming language and that one. As will the exact way one types in the statements/commands.
However, if one learns the basic concepts of computer programming in one language, learning another different one becomes fairly easy. The underlying concepts are pretty much the same between them.
And in our world of DDC controls, learning yet another computer programming language is almost a necessity and certainty if one stays in this field for any length of time. Given that the various manufacturers all have their own ideas and concepts of how to get things done.
My only suggestion would be that if you can't get into a class for a specific line of DDC controllers would be that you take some sort of introductory computer programming class at a local college/vo-tech.
As a suggestion only, stay away from C Sharp, the Dot Net languages, Java and so forth, at first. Try some form of introductory BASIC, C, Pascal, Java Script, VBA, or VB Script. The problem with the first group I mentioned is that while you'll learn some useful stuff there, 90% or better of the curriculum will be concentrating on programming concepts and methods of no particular use in the programming of freely programmable DDC controllers. If a course is available in programming PLCs is available, that might be a good choice.
As concerns networking. Unless you can get into a networking course specific to the DDC world, ie LonTalk or BacNet, I'd suggest some sort of Intro to Networking course. The basic concept of how networks work are all very similar. The ideas of network topography, making a "packet" out of the raw data, routing, and so forth all come from pretty much the same root ideas and needs.
I type and talk too much, sorry.
Also, you might do a search in this forum using the terms "basic" and "programming" to find and read a number of previous inquiries and answers to the kinds of questions you have. That way you can read suggestions from many here who are brighter and more able than I am.
As the previous posts suggested, take an introductory networking class. They will cover topics such as ethernet, token passing, OSI model, and many other subjects that are found in all types of networks.
Almost all control manufacturers use some version of the two programming schemes previously mentioned. Various permutations of BASIC are used by Andover, Novar, KMC, American Auto-Matrix, Distech, Circon, Siemens, Trane and many others. Most college intro programming classes will cover BASIC in some form. If you learn BASIC you can read most of these programs and figure out how to edit them.
Others, such as Trane, Automated Logic, JCI (DX-9100) and more use a form of 'Graphical Programming Language'. A class in PLC programming will give you the fundamentals that you can use to work with these systems.
I took QUICK-BASIC back in college. It was the flavor of the time....I know it showes my age. Many years later it is still used today, JCI/Distech use a version of BASIC for the PRG controllers. Johnson's GPL is JC-BASIC. Any classes you take for programing/networking will be time well spent. Good luck.
I personally would recommend taking a "structure design" or "programming logic" class first this will teach you basics of programming logic. understanding things like the three types of program structures ( sequence, decision, loop ).
Originally Posted by t2
with these three structures you can complete any programming task. A great language to start with is QBasic its simple, free and there are lots of on-line tutorials and forums to help you when you get stuck. From there you could move to C. Many hardware driver are written in this programming language.
Chuckle, yep it does show your age. It tells me you're a relative youngster, compared to myself.
Originally Posted by mackinaw
I'd been playing with and working with computers for years before Quick Basic was ever developed.
Now, if only greater age also equaled greater wisdom .... unfortunately, I have found that not to be true. At least not in my case. About the only thing I've found that more years have taught me is the realization of just how much there is out there which I do not know, or only barely understand.
LOL ... but at least that does give me something to look forward to ... I can still learn something new every day without ever running the risk of knowing it all. So every day is an adventure.
Thanks everybody for the info on getting into the programming side of controls. I have signed up for 2 basic courses at a local community college . Structured programming and Network theory and application. Next step is to get a job with a company that only does controls or has a seperate controls dept. Where I work now I could be logging on to a Tracer Summitt one min and working on a powerflame burner the next.
Here's a link to a cd rom that i found on ebay you may find usefull.http://cgi.ebay.com/BASIC-PRIMER-PRO...QQcmdZViewItem