Indiana University-Purdue University Fort Wayne

Electrical and Computer Engineering Technology Department

 

CPET/EET 499 Web Programming For Industrial Applications

Fall 2000

Course Description (4 cr):

A survey of techniques and technologies for Internet and Web applications including World Wide Web, computer networking, TCP/IP applications, HTML (Hypertext Markup Language), JavaScript/JScript, Java Applet, Perl (Practical Extraction Report Language), CGI (Common Gateway Interface), XML (eXtensible Markup Language), Visual Basic, Visual C++, Web-based databases, etc. Some theory in industrial process control, sensors, and transducers. Emphasis on Web-based data acquisition, industrial control and automation applications.

 

Course delivery format:

  1. Live lecture in LB 35 TV Studio and Channel 56 Cable TV
  2. Labs Setup (room ET 213) for Internet Access thru Lab Server: http:149.146.36.204
  3. Video tape distribution
  4. WebCT Site: http://courses.ipfw.edu:8900/
  5. Prof. Paul Lin's homepage: www.etcs.ipfw.edu/~lin

 

Course Instructor:

Prof. Paul Lin Phone: 219-481-6339 Email:lin@ipfw.edu

Office: ET 221B Office hours: 1:30-4:00PM Monday through Thursday

 

Text Book: INTERNET & World Wide Web - How to Program -, Deitel, Deitel & Nieto, 2000, Prentice Hall

 

Lecture and Lab

Lecture Time: 4;30-5:45 PM, Tuesday &Thursday, Room: LB B35, Via TV/Channel 56, and Tape

Lab: http://149.164.36.204

 

Grading Policy

** No late projects or home works will be accepted. Makeup exams will be given only if prior arrangements have been made**

Homework 15% Three One Hour Tests 30%

Lab 30% Final Exam or Project (report + presentation) 25%

 

 

Tentative Course Outline

1. Communications/Computer Networks and Services -- Week 1

o        Networking concepts: resource sharing

o        Communications/Network Services: Radio and television broadcasting, Telephone services, Cellular telephone services, Electronics Mail, Client/Server WWW, Video on demand, Audio-visual conferencing, E-Commerce: B2C, B2B

o        Technology, Regulation, Market and Standards

o        Network Topology: star, mesh, bus, hybrid, hierarchical

o        Transmission medium: Bus Ethernet (coaxial cable), Token Ring (twisted-pair), Star Ethernet (twisted-pair: 10 Mbps, 100 Mbps), Fiberoptics cable, Electromagnetic wave, and IR )

o        Channnelization: Frequency-Division Multiple Access (FDMA), Time-Division Multiple Access (TDMA), Code-Division Multiple Access (CDMA)

o        Addressing: Network Card, Uniform Resource Locator (URL), IP (Internet Protocol 32bit/64bit), Domain name (edu, com, org, etc)

o        Types of Networks (functions): Local Area Networks (LANs: IEEE 802.3 Ethernet standard, IEEE 802.5 LAN, IEEE 802.11 Wireless LAN standard), Wide Area Networks (WANs: Modem, Asynchronous Digital Subscriber Line, Cable Modem, T1/T3, Virtual Private Networks, ATM - Asynchronous Transfer Mode), Enterprised Networks, Campus Networks, Industrial Networks (manufacturing), Building Automation Networks, Intranet, Extranet, Internet and World Wide Web, Dial-Up Networking with Point-to-Point Protocol (PPP)

o        Network Protocols

         LANs: Random access (ALOHA, Slotted ALOHA, CSMA, CSMA-CD), Scheduling approach (Polling, Token-passing)

         Open System Interconnection (OSI) Reference Model (7 Layers) from International Organization for Standardization (ISO)

         Application Layer (7)

         Presentation Layer (6)

         Session Layer (5)

         Transport Layer (4)

         Data Link Layer (2)

         Physical Layer (1)

         TCP/IP Protocol (5 Layers)

         Application - Layer 5

         Transmission Control Protocol (TCP) for connection-oriented applications or User Datagram Protocol (UDP) for connectionless applications - Layer 4

         Internet Protocol (IP) - Layer 3

         Network Interface (X.25, ATM, Frame Relay, Ethernet, Token Ring) - Layer 2

         Physical - Layer 1

         TCP/IP Protocol Applications

         File Transfer Protocol (FTP) - upload/download files

         TELNET (Access to a UNIX-based computer)

         Example:

telnet://149.164.36.20

         Hypertext Transfer Protocol (HTTP/TCP)

         Domain Name System (DNS/UDP)

         Real-Time Protocol (RTP/UDP)

o        Multiplexing, Switching (packet switching, message switching), Routing

o        Packet switching: ATM connection-oriented, and TCP/IP connection-less

o        Internet

         Internet Applications: Document delivery (Library, datasheets, etc), Email service, Information sharing, B2C (Business to Customer): E-Commerce, E-business Applications, B2B (Business to Business), Industrial and Manufacturing Applications

         Getting Connected to the Internet: Internet Service Provide (Cable Modem, ASDL, or Modem), On-Line Service (Modem), University/Company (LAN, T1/T3)

         Network addressing

         Class A

         Class B

         Class C

         TCP/IP

         Domain Name Server

         HTTP Client/Server

         DNS Query (UDP)

         Simple Mail Transfer Protocol (SMTP) Email Server (when the destination machine is always available)

         Post Office Protocol (POP)

o        Intranet (local TCP/IP networks)

o        Firewalls

2. Overview of Internet Technology -- Week 2

         Internet Web-enabled Applications

o        Education: interactivity, electronics delivery technology

o        Content Delivery/Advertisement

o        B2C: Business Advertisement and Sales/Customer

o        B2B: Business to Business

o        Machine Control and Monitoring

o        Electronic Publishing with Multimedia Technology: text, color graphics, audio, animation, video, embedded programs

o        Database applications

         Multimedia Authoring Environment

o        ASCII (American Standard Code for Information Interchange) - Email text, FTP files, Web documents; 1000 words is about 5.75 Kbytes in ASCII form, 7.5 Kbytes in word processor form, and 8 Kbytes in RTF format

o        RTF (Rich Text) - a super ASCII format established by Microsoft in 1980, can be imported to many other systems such as all Windows word processors, and Macs.

o        Postscript - a highly sophisticated and precise page description language that is used for formatting and typesetting the print media. It is a proprietary format owned by Adobes

o        HTML (Hypertext Markup Language) format - Web documents in simple ASCII format

o        Hypertext - a technique used to link one word or phrase to another word or phrase in a digital publishing system. So that you can jump from hyperlink to hyperlink.

o        Hypermedia - a technique in the Web documents to link on media to another media in the forms: words, color graphics, video clip, etc

o        Color Graphics Files

         GIF (Graphics Interchange Format) files - The one with the most widespread use on the Web that support 8-bit 256 colors with compression ration 2:1.

         JPEG (Joint Photographic Experts Group) files - a compressed file format growing in popularity on the Web with 10:1. compression ratio. However, it shows little loss of quality in 8-bit color.

o        Audio File formats: WAV - for PC, SND - for the MAC, AU and AIFF - for UNIX

         Recording/Audio editing

         MIDI (Music Instrument Digital Interface) - synthetic music

         Real Audio (not-in-real-time audio) - steaming audio

o        Animation

o        Virtual Reality (3-D graphics)

o        Video - digital motion video

         VDO and Xing protocol

         Video conferencing

o        Embedded Programs: JavaScript, JScript, Java Applet

 

3. Web Client/Server Applications -- Week 3

         Web Browser (Internet Explorer 5.0, Netscape Communicator, Mosai, Cello)

         Web pages (HTML hyper text documents)

         Web Server

o        Server Functions

o        Root directory

o        Index Files

o        HTTP Protocol

         Designed to serve the needs of a fast, stateless hypermedia server

         High-volume data transfer of documents and graphics, and searching databases (low overhead is needed)

         Focus on

o        Common Gateway Interface

o        Web Servers

         Microsoft Internet Information Server (IIS)

         Microsoft Personal Web Server (PWS)

         Apache

         Jigsaw (World Wide Web Consortium)

         HTTP Protocol

o        Uniform Resource Locator (explain how to access the information by providing protocol details)

o        Uniform Resource Identifier (define a method for wrapping a data object's name with a universal address

o        HTTP Commands:

         GET - retrieve files, search files

         POST

o        HTTP Header Information

         The Form Field

         The Accept Field

         The Authorization Field

o        Status Messages (status response code)

         200 - OK: Command executed successfully

         201 - Successfully POSTed

  1. Programming Languages for Web-based Applications -- Weeks 4, 5

         Web Programming

o        A Survey of Web Programming Technologies

o        HTML, XML, JavaScript, JScript, ECMAScript, VBScript, Java Applet and Perl

         HTML (HyperText Markup Language)

o        HTML structure and elements (document properties, formatting properties)

o        HTML Tags and Attributes

o        HTML Page Authoring Tools

o        Web Page Creation

o        Tables, Forms, Frames

o        Creating guest books

o        Industrial Application Web Pages

         Web HTML Programming Environment

o        JavaScript/JScript (client side)

o        Java Applet (client side)

o        CGI Scripting (server site)

  1. Web Applications with JavaScript/Jscript -- Weeks 6, 7

o        Client-side scripting solution that enables a client machine to take part on the processing tasks

o        JavaScript/JScript Overview

o        Embedding JavaScript in HTML

o        Execution of JavaScript programs, Form and form elements, and Debugging JavaScript

o        Basics of JavaScript: key words, variables, operators, objects, methods

o        Control structures: if, if/else, switch, while, do/while, for, for/in, break, continue

o        JavaScript objects: window, document, frame, screen, etc

o        Using window objects and dialog boxes

o        Prepackaged objects and functions, programmer-defined functions

o        Using arrays object for collections of data

o        More JavaScript objects: Math, String, Date, Boolean, Number, Location, etc

o        Controls objects (radio buttons, button, check boxes, pop-up menus, and entry lists)

o        Processing client-side form for collecting user information

o        Handling events: mouse, keyboard, window modification, drag-and-drop

o        Working with images and animation

o        Server-side form processing, HTTP, and CGI interfacing

o        JavaScript-enriched Industrial Application Web Pages with

  1. E-Commerce, Security, and XML - Week 8

         E-business Models

         Shopping-Cart Technology

         On-Line Trading

         Security: privacy, integrity, authentication, and non-repudiation issue

         Security protocols: Secure Sockets Layer (SSL), and Secure Electronic Transfer (SET)

         XML (eXtensible Markup Language)

         Dataware house, Data Mining

 

  1. Database; SQL (Structure Query Language), ActiveX Data Object (ADO) and Remote Data Services (RDS) -- Weeks 9, 10

         Relational Database Overview

         Relational Databases (Two-tier)

o        Access Database

o        Oracle Database

o        DB2

o        SQL Database

         Tables, Rows, Columns

         Data Definition Language: CREATE, DROP, ALTER

         Data Manipulation Language: SELECT, FROM, WHERE, DELETE, INSERT, UPDATE, ORDER BY

         Data Types

         Database operator

         Web-enabled databases (Three-Tier)

o        Database connection

o        Visual Basic

         Database Application

o        Designing Queries with HTML and CGI script

o        Interface programming, Retrieving, Sorting

  1. Perl and CGI (Common Gateway Interface) -- Weeks 11, 12

         Common Gateway Interace

o        CGI - provides a mechanism by which a web browser can communicate a request for the execution of an application on the server.

o        Performance issue concern: a separate CGI application is loaded for each request and is released at the end of the execution (performance issue).

o        CGI script (program): Runs on the computer hosting the Web site; Process the input supplied by an HTML form placed by a Web-site visitor; Works as a connection between an HTML form and a preexisting program for transferring form inputs to a computer.

o        CGI script may be use as a primary technique for Creating database applications at a Web site, E-Mail to an email address through an email message form, Gather a visitor's name, mailing address, order, and credit card number, etc from a HTML form and passes to a CGI script.

         Perl CGI Programming

  1. Network Enabled, Web-Based Control Systems and Applications -- Weeks 13, 14, 15
    1. Control System Fundamentals

                                                               i.      General Control Concepts: Automation, Controllers, Digital, and Analog Inputs and Outputs

                                                             ii.      On-Off Control Applications

                                                            iii.      Open-Loop Control

                                                            iv.      Feedback Control

1.       Proportional control controllers (P)

2.       Proportional plus Integral controllers (PI)

3.       Proportional plus Integral plus Derivative controllers (PID)

4.       Time Proportional Controllers

                                                              v.      Feed-forward control

                                                            vi.      Multiloop control

                                                           vii.      Adaptive control basic

                                                         viii.      Digital control

                                                           ix.      Distributed control systems

                                                             x.      Networked computing and control systems

                                                           xi.      Real world industrial applications: monitoring, data acquisition, control, and management

    1. Control System Components

                                                               i.      Sensors, Signal Filtering and Conditioning subsystems

                                                             ii.      Data acquisition subsystems (D/A, A/D, etc)

                                                            iii.      Digital I/O, Solid state relay, etc

                                                            iv.      Actuators (solenoids, values, etc) and motors

    1. Process /Industrial Instrumentation and Control

                                                               i.      Techniques for Process Control

                                                             ii.      Temperature control process

                                                            iii.      First-Order Lag Process Control (single-capacity process, cold water, heated water, thermal couple, fan)

LABORATORY

Major hardware and equipment used for the lab include

 

Each student will be assigned time slots to access the lab server and equipment during the semester. A server-side program running on the background to record and report the access time and frequency for each authorized user. However, the WebCam can be accessed anytime without restrictions. Students enrolled in either the TV Channel 56 or Video Tape sections are required to use their own PC running Microsoft Windows 95/98/2000 with Internet connection and the following software: Microsoft Visual InterDev, Visual Basic 6.0, Visual C++ 6.0.

Those students who enrolled in the EET 499-01 and CPET 499-01 sections may use IPFW and/or ECET labs PCs and are not required to use their own PC.

 

TENTATIVE LAB EXPERIMENTS:

  1. Basic HTML (tables, lists, links, image)
  2. Creating Customer or User Web Feedback Form
  3. Understanding of Web Server and Internet I/O Control (Opto22 Ethernet Brain)
  4. JavaScript Programming for Interactive Web Page
  5. AC Motor On/Off Control through Web (Using Opto 22 Ethernet Brain and I/O Module)
  6. Web-Based Temperature Reading (Using Opto 22 SNAP Ethernet Brain and Analog Modules)
  7. Introduction to OptoControl Programming Environment and Tools
  8. LED Sequence Display (Using OptoControl Programming Tools)
  9. Using Visual Basic for Web-Based Digital I/O Control Applications (Opto22 SNAP Ethernet Brain)
  10. Internet-Based I/O Monitoring with Visual Basic (Optical Sensor and Solenoid, Opto 22 SNAP Ethernet Brain)
  11. AC Motor Control and Monitoring Using Visual Basic (temperature, motor voltage and current measurement, over load + time delay protection, and motor on/off control)
  12. Programming with Perl
  13. Web Server and Perl/CGI Automation
  14. Visual C++ Programming for Internet Control Applications (Using Opto22 SNAP Ethernet Brain and Digital I/O Control)