Sign in to follow this  
Followers 0
HiGhVoLtAgEgUrU

C++

39 posts in this topic

I decided not to put too much effort into python until ver 3.0 is release. I hate having to learn things only to relearn it again. Nathan, I liked your python solution to the pressure problem. Doesn't python provide a simple graphing function?

Share this post


Link to post
Share on other sites
Oh, thanks. It's really simple to learn - if you've programmed in any other language you can pick up everything you need for this sort of application in under an hour. There are Python graphing APIs, but I haven't used them. For that particular problem I just made a graph with Excel. I am going to try out Py Google Chart, though. http://wiki.python.org/moin/PythonGraphApi http://pygooglechart.slowchop.com/ Honestly, the graphing that I use the most is in FactoryPMI. It's based on JFreeChart, which is probably the most flexible and powerful open source graphing project (Java). You could use it through Jython, but unless you're a Java programmer, it's probably overkill for quick graphing applications. If you're writing an application that needs to generate graphs, that's the way to go! http://www.jfree.org/jfreechart/ Another cool one that I used to use more is JPGraph - a free PHP graphing library that's more applicable for dynamically generating graphs on web pages. You can create applications that spit out graphs from start to finish pretty quickly. PHP is about as intuitive as QBasic. Python isn't much more difficult for simple applications. (Java and C++ on the other other hand make everything into a tough project). http://www.aditus.nu/jpgraph/ Pressure Friday Night Math Problem Edited by Nathan

Share this post


Link to post
Share on other sites
Thanks for the link to freechart. I wish I had known about it a few months back. I know python is easy to learn but I am focused on java for the time being. By the time I get done with my java project python 3.0 should be out.

Share this post


Link to post
Share on other sites
No problem - JFreeChart is incredible. What you don't see from the screenshots is its flexibility to support an arbitrary number of axis, powerful autoranging capabilities, fast rendering even with large dataSets, etc. Also, the capabilites are built in for a user to zoom, scroll, and mark values. You can launch a Java Web Start demo to play with that with the following link: http://www.jfree.org/jfreechart/jfreechart-1.0.10-demo.jnlp

Share this post


Link to post
Share on other sites
Hi, By seeing this thread starting, I was happy to decide myself to go for which language to learn....but after reading full thread i was not undestanding under which line to go... I am a PLC, HMI programmer with good process knowledge. As a lady, I don't prefer to travel much, slowly would like to go soft line of working in HMI, PLC tool package kind of developments which will also use my old industrial experience....I don't know really what languages will help for that and how best would be the market. I am seeking for the help in choosing best competative career. Thanks guys

Share this post


Link to post
Share on other sites
I hope several of our sub-continent members will take the time to respond to you as my opinions are formed by my experiences in the American Job market and while some things about the automation world are universal, some are specific to a geographic area. It sounds to me like you have started out much like I did in a Process oriented company and learned your PLC and HMI programming skills as you supported, improved and modified the process of that company. You're want to remain competitive and expand your skill base and salary with time. It sounds like you've looked at the "Big Dog" opportunities with what we call System integrators or OEM Manufacturers and learned that travel is a portion of their life and that is a definite dislike for you. You ideal job sounds like something developing PLC and HMI systems which others would build and install. Am I getting your thought process about correct?

Share this post


Link to post
Share on other sites
Hi BoB, thanks for quick look into it...... May be as an example, Omron HMI (NS) uses NS/CX-Designer tool for customer application development.In AB if am correct, use RS view for their HMIs for application development. Now I am thinking to work on developing CX-Designer tool/ RS View tool itself....Also PLCs use their own tools for ladder development like CX-Programmer for OMRON PLC......I want to work on generating CX-Programmer itself.....as i imagine will be the good field which can utilize my base experience too.... So I would like to know what languages require to this and market demand level. I know VB will be helpful to learn to make PC as HMI......Any Forum recommeded to start learning VB? But I am open to take guidance if any other demanding technology suggested to be learn, where PLC & HMI and industrial background is utilized..... Edited by lchamarthi

Share this post


Link to post
Share on other sites
AB actually has several flavors of HMi programming software. Panelbuilder 32 for it's Legacy Panelviews, Panelbuilder 1400e for its Legacy "E" Series Panelviews, RSView in several different flavors for Panelview Plus and PC based HMI and most recently there is a Panelview which uses Internet Explorer as the programming medium. I cannot comment on what language you would need to learn to create an HMI development application program or PLC Programming application. Maybe some of our "corporate" members from Omron and RA can help with this? Ever since gave up writing program in assembly language for the 8080 I have used higher level tools.

Share this post


Link to post
Share on other sites
Keep in mind that most PLC programming packages are designed to be IEC 1131-3 compliant (you will see this term a lot). Which means that those applications must support ladder logic, function block and structured text (i.e., C-like programming). RSLogix5000 does this, even though most programmers still prefer ladder logic. I have been trying to convert our people to CONSIDER trying structured text as it makes nested applications very simple (in my opinion). Most structured text programming languages have common elements in them. Such as most HMI development applications support running VB macros. There is a whole world of opportunities on a project to produce a finished product in a different but useful manner. Knowing all of this, I have found examples and reference literature to be of little help. I prefer to back-hack an existing or reference application to figure out how it all works. Most of the programming guides can be boiled down from 300 pages to 10 pages of useful info and 290 pages of recycled office paper.

Share this post


Link to post
Share on other sites
Download VB.net express from the internet and start programming. VB.net is much different from the basic of old. You can write some serious programs in VB.net and what you learn will be useful when learning other languages like C#.net.

Share this post


Link to post
Share on other sites
For perspective, I started programming back in the 70's when the three most popular languages were BASIC, Fortran, and assembly language. I came into the PLC world 20 years later. At that time, there were very few "HMI" type packages. If you wanted to do almost anything with a "PC". About the only major package available for anything was Visicalc, one of the first major spreadsheets. Out of necessity I've become at least somewhat fluent in multiple PC languages over time. In the world of PLC's, there are effectively about 5 major languages (ladder, structured text, function block, instruction list, and SFC), although the dominant language by far is ladder logic, at least in the U.S. (I understand that IL has a huge following in Europe). It is easily possible to learn only one or two of them and never have a need for the others. The same is NOT true in the PC world. There are hundreds of languages, and at least a dozen very popular ones. Almost all of the languages are based on a very old language called Algol. Algol itself is almost nonexistent today but most languages are accidentally or intentionally based on it. It is similar to ladder logic...no matter what the variations are, all languages at least superficially resemble it. The trouble is that the variations are much greater than what you see with ladder logic dialects. There are certain languages that are particularly popular for doing certain activities. For instance, if your goal is to write a new device driver for some new hardware, C is the language to use hands down. You have all the power and capabilities of raw machine language but machine (actually, assembly) language programming is very tedious. C lets you operate close to the system level of assembly language but abstracts away all the tedious tasks. If you are developing new drivers to interface to new hardware in an HMI/SCADA system, C is the way to go. Conversely, C is a terrible choice if your goal is to interact with Microsoft Office. It can be done, but it's not the best choice. For this activity, VB is still the preferred solution currently, although I suspect that this will have to change of necessity in the future since Microsoft is trying to deprecate the COM object model, which is what VB (and Microsoft Office) is currently based on. If you want to do heavy database development, SQL is hands down a key language to learn. It is the "systems language" of databases. It won't do you much good for doing user interfaces but for raw database programming, nothing is better. Curiously, SQL is also one of the few major languages that is definitely very non-Algol-like. It is based on set theory, not procedural based. If your goals are database interfacing (different from database programming) or web-browser interfacing, then Java is nothing short of amazing to work with. It's support libraries in those two areas are more advanced than anything else out there. Even then, there are huge groups who would strongly disagree with me and push PHP or Perl instead over Java. So in summary...that's why you see so many arguments about what's the "best" language. There is simply no universal agreement on that issue.

Share this post


Link to post
Share on other sites
The first language I learnt was Algol 60 when the compiler was a card punch and paper tape was the quick way of running code. Since then I have dabbled with many programming languages but with the exception of VB and SQL I have never absolutely had to use any of them in a PLC/SCADA application. That is I have actually used them but I could always have done the job some other way. Learning these languages does, however, help you to develop general programming skills which you can use however you choose to write code. If you are interested in learning you can generally find resources FOC on the web. Peter mentioned VB.Net Express as a useful package. I would also suggest Bloodshed's DevCPP if you want to learn some flavour of C. There is a huge online community to provide tutorials and hints/tips. Andybr

Share this post


Link to post
Share on other sites
Thinking back I should have added assembler to this list. The days when you needed assembler to program any kind of complex function in a PLC (ie Mitsubishi Micro's) are long gone but it did give you an insight into how things really work. Having a play with assembler might be really useful even if it only teaches you never to do it again. Andybr

Share this post


Link to post
Share on other sites
Algol 60, BASIC, Fortran, and assembly language. Wow, paulengr and andybar, you guys are old, have been around a while, worked with a lot of different programming languages. Bud

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0