|
Microsoft (dot) .NET for Manufacturing, Laboratory and Industrial Automation Systems
Microsoft's (dot) .NET will revolutionize computing like Windows 3 and Visual Basic. Microsoft "wiped the slate clean" and redesigned the way computing should be done. The biggest changes in computing being fast CPUs, high bandwidth switched Ethernet, the internet, large hard drives, plenty of RAM, and scalable systems across multiple processors. Coupled with 64 bit, GHz, hyper-threading dual microprocessors -- this decade is starting to look like a lot of fun. Microsoft's previous mixture of different languages, operating systems, DLLs, registry, COM, DDE, OLE, ActiveX, remote access, data access, dynamic web page design, etc. -- was getting out of control. Mainly because users resist change and they needed to be backwards compatible. Luckily, someone at Microsoft stepped back, looked at what needs to be done with computing and the internet and started from scratch. And they found ways to make .NET backwards compatible with all the "clunker" software that should be left behind.
What is .NET anyways?.NET is hard to explicitly define because it redefines how computers and people interact with each other. Since people interact in different ways with their computers -- .NET means different things to different people. But you don't want weasel answers like those other websites give you -- now do you? Let's say .NET is web sites, web pages, web services, operating systems, languages, and the software infrastructure to tie all of these together.
WebpagesYou have "surfed the net" to know what web sites and web pages are. There are static web pages and dynamic web pages. Static web pages are created in HTML and only change when the author edits the HTML on the page and then posts the changes to the website (like this webpage). Dynamic web pages change all the time depending on the user and what information they are looking for. Dynamic web pages are generated depending on what the user wants to see. A good example of a dynamic web page are when you go on-line with your bank, enter your account number and password, and it generates a webpage with your account transactions and balances. Using Microsoft technology, you usually create dynamic web sites using Internet Information Services (IIS) and Active Server Pages (ASP). Before .NET, programming ASP was very different than Visual Basic and C programming so typically programmers did not do both, due to the additional learning curves. However, with ASP.NET and the .NET version of Visual Studio (the programming environment that helps programmers develop programs) creating dynamic web sites and web pages becomes much easier. Most programmers will now be able to quickly generate dynamic websites. ASP.NET is now more like Visual Basic and C.
WebservicesWeb pages are for people to look at and read. Web services are for computers to look at and read. Think of web services as databases and programs on the internet for other computers to use. For example, companies that sell products will create "web services" on the internet which is a database of all the products they sell, along with descriptions, pictures, prices, shipping weight and quantity in stock. Amazon.com currently does this. Now anyone wanting to sell that vendor's products can instruct their computer to go to that "web server" and read all of their product data and display these products for sale on their own website. So if we create a "Poor Man's Website" we can go find all the suppliers of products for the Poor Man and easily integrate these products for sale on our website. Note that if a supplier (such as Amazon) changes a product description, price, or quantity, we do not have to change anything on our website -- it is automatically updated the next time we retrieve data from the web service. Another example of web services would be sports scores that you can browse with your cell phone. A web service does not have to be a database. It can be actual programs that other programs call. So now your computer, PDA, and cell phone can request information from other computers using web services. Incorporating someone else's "web service" into your own web pages with .NET is very simple. Generating your own web service for others to use is also very simple with .NET.
Operating SystemsWe all know what operating systems are. We think that all of the code in operating systems will get easier and simpler with the new object oriented programming models in .NET. The .NET framework has identified thousands of objects, methods, events, properties, and fields that operating systems will provide to .NET applications. These resources are grouped into namespaces to help navigate through all of these objects. The .NET framework is similar to the API that programmers were using. One of the most important changes is the start of the elimination of "DLL hell". As we have discussed elsewhere on our website, the worst thing you can do to your computer is to install or uninstall programs. Every time you install or uninstall you change the DLLs and registry settings. In our humble opinion -- this is the biggest reason why computers get corrupted and unstable ("crash"). All programs on a computer have to share one version of a DLL. But DLLs keep getting modified, and while they are suppose to be fully tested and be 100% backwards compatible, it is impossible make sure that the new version of your DLL works 100% correctly with every piece of software that ever has been, and ever will be, written and still ship the new DLL in a reasonable amount of time. What once was a great idea to reduce hard drive space (multiple copies of the same code) is no longer a good idea. .NET does away with a single version of DLLs and allows multiple versions of objects. Now one program can specify version 2.2 of an object and another program can use version 2.7. So operating systems and programs should be much more stable.
LanguagesThe .NET programming languages all share a Common Language Runtime Specification that makes the underlying support of programming languages much easier. The other interesting effect is that all languages become about the same. The politically correct way to say this is that all languages become "equal". There are still a few ways that programmers can make their code not compatible with other languages but the compilers do have options that will enforce everything presented to the outside world to be compatible. The interesting aspect of CLR is that compilers can now be written for any other computer including those computers not running a Microsoft operating system.
InfrastructureFinally the software infrastructure is the "piping" that ties everything together and allows different software to communicate with each other. .NET uses XML and SOAP as their "piping". Since XML and SOAP are international standards this allows computers running software from other manufacturers to interface to .NET.
We're ExcitedMost .NET users are excited about the web services that will allow you to put databases of information on the internet for everyone to use. .NET will make it much easier to create complex, dynamic, data driven web sites that any other computers connected to the internet should be able to use. We do see web services being heavily used at high, corporate levels such as ERP / MRP for business - to - business (B2B) applications. It will greatly reduce the work required to integrate and perform those types of applications. In cases where plants are tightly coupled to other plants, where there is a need for fast and accurate data sharing -- we highly recommend .NET. For example, if one plant is supplying another plant Just-In-Time (JIT), the plants need tightly coupled data and .NET will make that much easier. .NET can reduce some of the work load and increase the accuracy of ordering materials and parts from suppliers. However, most of these types of applications are already well documented by Microsoft -- so we will not repeat them here. For more information on business-to-business (B-2-B) type of applications in manufacturing click here and click here. However, there is a lot more to manufacturing than just tying large systems together.
Manufacturing & Laboratory OperationsWe've seen a lot of articles lately where the headline is something like ".NET to dramatically improve manufacturing". In the article they talk about ERP, B2B, everyone is doing it, and it's the greatest thing. All of these are true, but we argue that ERP is not manufacturing and just because everyone else jumps off a cliff is that reason for you to do it to? Our hope is to be able to tell you why everyone will want to do it and why it will be the greatest thing. We are not a big fan of taking all of your low level process data and putting it on the web. We like client - server and think that every process controller (SCADA) should be written in Visual Basic or C#. The VB / C# process controller should also include a data server by embedding a windows socket (Winsock) for clients to connect to. Dropping in a Winsock control is much more efficient than creating regular ASP dynamic web pages in another programming environment. Using an application written in VB / C# on the client end makes for a nicer interface than using a web browser. With .NET we start to lose part of our argument against using regular ASP, JAVA and other web based user interfaces, because creating dynamic web pages using .NET is much simpler and becomes very similar to creating VB or C applications. Instead of having two totally different programming languages and environments that you have to master -- you can do it all from Visual Studio. But creating web pages using .NET still requires a computer running web server software (IIS) which is a lot more work and overhead than a simple Winsock control. But if you have to have your process on a web server, you can take the reporting part of your VB / C# client, and easily convert it to an ASP.NET application. Another application of web services we see for data from manufacturing is supplying historical quality control data to customers. Customers can receive your assembly and then, at any time, query your web service to receive the quality data on that part. Another application would allow customers to review the status of their orders. Theoretically they could sit at their computer and see their order being built. Another would be to store as-built drawings and parts lists that customers can review when they need to. Laboratories could do the same with test results. Lab test data could be instantly put in a database that has a web service as a front end. As far as data to manufacturing and laboratories -- there will start to be a lot of applications for bringing internet information down to the floor that would be facilitated by .NET. For example, if a piece of equipment breaks on the floor, the maintenance dude, or dudess, can instantly pull up the latest vendor's information regarding their equipment, including videos that show how to expertly diagnose, take apart, and reassemble the equipment. So all of you vendors out there that want to know what customers expect next -- here's what you need to work on.
So why do we like .NET?.NET is much more than just web servers (serving up web pages) and web services (serving up data). It will be operating systems and programming languages as well. .NET streamlines the way computing should be done. We think that it will simplify computing and the creation of applications. That is what Windows 3 and Visual Basic did. They allowed programmers to instantly create great looking applications with minimal work. We talked about how .NET will help with integration of different systems in different companies. .NET will also facilitate integration within a company. Web services will be used with different systems and remoting will be used with Microsoft compatible systems. This will make it easier to tie your ERP / MRP system to real-time information on the factory / laboratory floor. The main reasons we like .NET are:
Pick a language, any languageYears ago we preferred to program in Basic more than Fortran and using punched cards. Then when Quick C and Turbo C became popular, we preferred C more than Basic. But customers did not want C programs in their facilities, they wanted Basic. C was much more structured and efficient than Basic. But Basic kept improving to the point where with VB version 6 there were only a few things that we did not like about VB 6. C still had a better arsenal of operators (shift, increment, decrement, one's complement, assignment such as j += 2), pointers, better objects and threading. Visual Basic had problems calling code written in C because the data types and calling procedures differed. But if you were careful, you could get it all to work. Now, VB.NET -- appears to have fixed most, if not all, of these problems. Now all languages use a common language specification that specifies the same data types and calling conventions for every language. So it will no longer matter what language you program in, they will all be equal. (Sort of. At least they will all be much more compatible than they were). There are already more than 20 different programming languages being developed for .NET. For example, you could have four programmers (C, Basic, Java, and Cobol) and one could write the PLC interface, one write the operator interface, one write the motion control, and the fourth write the machine vision portion. All of these programs will run as their own thread and talk to each other very easily. Not that you want to write your systems in four different languages, but you could. We think this will also lead to code translators -- programs that will change C# code to Basic or Basic code to C# since these translations will now be much easier to do. There already is a book on the differences between VB.NET and C#. In our VB.NET and C# source code examples, we create example program in both VB.NET and C#. This is rather easy to do since the languages become very similar with .NET. Again, .NET makes it almost irrelevant what language is used since they all become equal for most applications.
Breaking up is hard to doThere are many people excited about .NET and others that almost sound depressed because things are changing. We've all heard the saying that the only constant in life is that things will keep changing. We started using Basic's File I/O and C's function libraries to read and write data files. Then it was RDO, DAO, ADO, and now it's changed again to ADO.NET. Don't let the name ADO.NET fool you because it is different from ADO. But ASP.NET is more similar to VB so it all evens out. Rewriting all that software to .NET will take a substantial amount of time even with the use of wizards. But .NET will work with old code so you can port your old code as you see fit.
Internal .NET Links
External .NET Links
Microsoft Links
We try to offer a fair and balanced opinion on every page of our website. We would appreciate more information from other users to express their opinions which we will then incorporate. If you have questions or comments please post them on our message board (see button in left hand column) so that others can read and benefit.
|
|
Click here to find out how High Tech Services can help you implement this technology. Copyright © 1984-2005 CompanyLongName HTS, Cary, Raleigh, RTP, North Carolina, NC. All Rights Reserved. All trademarks are the property of their owners. Prices and specifications subject to change without notice. |