MLAN Protocol

Before we can talk MLAN we need to understand some things. What is a "Driver" anyway? A driver is basically a translator program that usually works between a program and a piece of hardware.

Example: Some common everyday drivers are printer drivers. A printer driver acts as a translator between, say Windows 95, and say an HP laserjet 6 printer. The manufacture of the printer developed a piece of hardware#--a printer. This printer will understand one or more "protocols".

Okay, so now you may ask "What is a "Protocol"? Well I'll tell you...

A protocol is to computer equipment as a language is to humans. If two pieces of hardware and/or software don't speak the same protocol, they can't communicate with each other. ...okay good, now you know what a protocol is, let's continue with our example. The HP laserjet 6 understands at least two languages (that I'm aware of), PS (postscript) and HPGL (Hewlett Packard Graphics Language). I guess we could call it "bi-protocol". Now, when a program running in Windows 95 wants to print it doesn't need to be able to "speak" PS or HPGL; however, it does need to know how to talk to, Windows 95, the operating system. The operating system then in turn "speaks" to the printer. Now, again here, the operating system doesn't talk directly to the printer. It uses what is called a "driver". The driver knows how to talk to Windows 95 and also knows PS and HPGL. It is "tri-protocol".

Okay so know that you know what a driver and protocol are, we can now talk about what MLAN is. MLAN is a protocol#--a language. It is a set of rules and commands (grammar and words) that allows a program to talk to Maguire equipment, such as the Weigh Scale Blender. For a complete and detailed explanation of all of the commands and how they work, see the "MLAN Protocol" manual. I'll explain it briefly and give an example. Each command begins with the address of the blender followed by a command number, then depending on the command it may be followed by more information particular to the command and finally ending with a checksum.

Okay, hold on, just stop... What is a checksum?

I'm glad you asked. A checksum is a piece of information that can be used to determine if the command was transmitted correctly, ie. without error. The details of how the MLAN checksum is calculated is explained in the "MLAN Protocol" manual.

Okay, how about an example?

Let's take the "Get Display" command. This command returns the characters that are currently being displayed on the front of the blender. The command code for "Get Display" is 56. So if we wanted to get the display from the blender with an ID # of 100, we would send the following command to the blender: "100 56 99". The 99 is our checksum.

Okay, so how does it get "sent" to the blender?

Well... this is the BIG question, isn't it. This is were a driver could come into play. I say "could" because you don't always need a driver. What? I may not need a driver? That's correct. If you can talk directly to an RS-232 port (aka COM port, or serial port) then you can talk directly to the blender. You only need to understand the MLAN protocol. Which is really quite simple.

Okay, so when DO I need a driver?

You will need a driver when the development tool doesn't allow you to talk directly to the serial port or if you don't have the programming know-how to do so. Maguire Products doesn't supply drivers. Why? Because there are too many development packages and different types of hardware out there that is just plain and simple wouldn't pay. What we do provide instead is our "MLAN Protocol" manual. That is, we don't hide or keep secret how to talk to our equipment; instead we publish it and provide it free of charge. We also provide free phone/fax/email support to programmers that use it.

If you can't get by with just the MLAN Protocol manual and you need someone to write a driver for your system, then you should first contact the developer of the software tool that you are using (e.g. Intellution, Wonderware, etc.) or hardware (e.g. Allen-Bradley, etc.) and tell them that you need to communicate to a piece of hardware (Maguire WSB) through an RS-232 port. Ask them if they have a "Serial port" driver and if they have a list of computer consultant companies that provide a service of writing drivers for their software/hardware.

Example: MLAN and Intellution

I had a company called Digital Systems write what they call a "profile" for 12 software blenders. This profile is used in conjunction with their "Universal Serial Driver" that they sell for Intellution.

So, if someone wants to talk to WSBs using Intellution, they should buy a copy of Digital Systems' Universal Serial Driver and then we can supply the profile for the driver since we already purchased it. View the profile. View the documentation. Keep in mind that this profile was written for 12-software. Digital Systems may need to be commissioned again for any chip modifications or for a 4 software version. The chip date that it was written for is (I believe) Sept. 3, 97. It will probably work with the current 12 software. FYI: The original cost for the Profile development was $2000.00 The cost of their Universal Serial Driver was $800.

CONTACT INFO FOR:

We welcome your feedback regarding Intellution as well as other profiles that you may have had developed or profiles you wish to have developed for your application. If you have already developed a new profile and would like to share what you have learned please contact Maguire Products.