Ge-9030 pcm301 barcode application issues

Byron

Lifetime Supporting Member
Join Date
Apr 2004
Location
Caruthers, California
Posts
257
Greetings to one and all:
I'm tasked with restoration of an existing BARCODE SYSTEM that utilizes a GE PCM-301 and a Symbol RS-232 Serial barcode scanner. The scanner gun sends data to the PCM via PORT2. I have the code and all the gear, but not the knowledge yet to properly restore the code to the PCM. I can see the Barcode information on one of my laptops in HyperTerminal. I am monitoring the Proficy code in the CPU on another laptop. On another laptop I have LM90 with PCOP and have cleared and restored what I think is the right code from the original OEM... I do the soft reset which is suppose to put the PGM file into run (as I understand it) My personal deadline is 01.01.2015 with this client, or else... the original programmer does not remember, nor does he care... gave a little bit of help in the way of archived code. I have LM90; PCOP; TERMF; HYPERTERM; VERSAPRO; PROFICY; ALL THE CABLES; TEST RACK; TEAM VIEWER; 13 LAPTOPS. In my LAB right now I am set up with three laptops: ONE: PROFICY MONITORING THE PLC CODE IN THE CPU WAITING FOR THE %R00484 value to change; TWO: LM90 WITH PCOP, WAITING FOR MY NEXT MOVE; THREE: HYPERTERM waiting for my next move. When I scan a barcode I can see a flicker of the light on the PORT2 LED on the PCM-301, but no data being moved to the %R00484 register. I uploaded the PGM file and the PROFICY ZIP archive for anyone who is interested. The PGM file is: SCANNER.PGM. There is a text version: SCANNER.TXT to look at as well. Thank You for ANY advice.
 
Footnote

The Symbol barcode scanner gun is Model LS4004-1000. I downloaded a PDF manual. Symbol got bought out by Motorola. Tech support told me I was on my own. GE said the same thing, EVEN WITH A GLOBAL CARE NUMBER. The client is pushing to get it up now, by the first of the year.

The scanner gun programs itself by the operator scanning bar codes in the manual, which I did. The application is a conveyor routing system. For example: SCAN: "QTY 1" SCAN "LANE 1" and the number for quantity and lane is supposed to be moved to the appropriate register in Proficy.

Thanks...
 
One more thing...

I'm bailing out for the night... will be back online tomorrow night... working Sunday... back online Sunday night.

In the spirit of helping others I'm avoiding solving this via email. If email is sent I will share it with the forum. Thanks Steve Bailey for the good example you have shown since the '90's.
 
I going to have to look up some details, but there is a bit of a trick to the PCM module. It wants to run a file called "Basic.pgm" upon a soft reset. If you want the default program name to be something other than that, you have to provide some sort of configuration file on the module.
The flickering LED on the module means there is traffic on the port.
Do you have the PCM module and Megabasic manuals available?

Edit:
Take a look at the hardware configuration for the PCM module. There is a parameter called "Config Mode". If it is set to "Basic", then the module wants to run a program called "Basic.pgm" upon soft reset. If the "Config Mode" parameter is set to "PCM CFG", there needs to a configuration file.

Personally, I have always named my PCM programs "Basic.PGM". It makes things much easier.

The PCM manual is GFK-0255
 
Last edited:
It has been a long time since I have used a PCM module running MegaBASIC. The Scanner.txt program looks well written and I did note that neither of the .bin files are used also they are identical. As mentioned above it looks to me that if you would rename SCANNER.PGM to BASIC.PGM and load it to the module you should be in good shape and home for Christmas.

The more difficult part of this may be getting them to let you upgrade to hardware that the manufacturer still supports. Of course given the good performance and longevity they got from this system one would think that they would upgrade the 90-30 to an RX3i by replacing the Rack, Power Supply and CPU with modern counterparts plus replacing the CMM311 and the PCM301 with one IC695CMM004 all other I/O modules and the expansion rack can stay. The BASIC program can easily be emulated by the Serial Protocol in the CMM004 module and serial cables changed or adapted.

Merry Christmas!
 
Last edited:
Thanks Steve, I'll give that a try and get back to you all.

danatomega: you said, "I see there are already a few debugging (monitoring) printings to the terminal port - when connected to PORT1 can you follow the progression of the program?" PLEASE, explain... this would be a DREAM come true to monitor what is going on when I press the trigger on the scanner gun!!! I know the gun works by unplugging it and plugging into the laptop running HyperTerminal... please elaborate on what you are referencing, I'm on the edge of my seat...

Russ: Thanks for the reply. I have lurked for years on ALL of the forums and run across You and Steve regularly. If I Google ANY PLC related question, You and Steve pop up, clear back to the 90's, I don't know, maybe the '80's... If I pull this off I will be the local guy on the ground for the new OEM back east to upgrade to A.B. The rest of the plant is A.B. with remote support. My days are numbered and want to go out shining, if you know what I mean. It starts with me assisting them with Team Viewer, set up the Ethernet, then I'm done after commissioning. I'm cheaper than a plane ticket. I do the DOS then they log in with Windows via the Internet. Thanks for the reply and greetings, may you have a great holiday as well, we are wrapping up Channukah right now...
 
Last edited:
Greetings Gentlemen... update on this project... still no numbers moved into the registry with the barcode scanner:

I renamed the file "SCANNER.PGM" to "BASIC.PGM" in the folder on my laptop: c:\PCOP\PATCAL.PCM ... The files in that folder are the files sent from the programmer for the OEM in 2004. They are in the file I uploaded as PATCAL1.ZIP. The folder on my laptop is PATCAL.PCM ... anyway... I cleared the PCM and transferred new files by selecting only "PROGRAM" as the type. Here is what PCOP chose to download to the PCM:

BASIC.PGM; DEFAULT.DAT; TERM.DAT TERMF.EXE; TERMSET.EXE
Which are ALL the files in the folder. The options in PCOP are: PROGRAM; PROGRAM and/or CONFIG; SPECIFIED. I chose PROGRAM and again all the files from the folder downloaded to the PCM.

I REMOVED THE FOLLOWING to a temporary holding folder for testing prior to the PCOP download:
PORT_KTL.BIN; SCANNER.TXT; UCDF.CDF; UTILS.BIN

HERE IS WHY: The two binary files (*.BIN) when viewed with my hex editor or Quick View Plus do not have the correct COM settings and the top REM statement is "Quality Bicycle - Bloomington, MN" which is NOT this client (customer). Do I need the binary files? If so the COM setting should match the gun and the CONFIG that I set in PROFICY.

I used PROFICY to set the parameters of the PCM-301 to: Configuration Mode: Basic; Port 1: 9600 Baud; Flow Control: Hardware; Parity None; Stop Bits: 1; Bits/Character: 8 AND PORT 2 is set for the same.

The Symbol barcode gun is set the same. I also adjusted the gun to actually read the barcode type the client is using. The client gave me test sheets of the barcodes they use for quantity and lane number, cancel etc.

FILEDATES: the UCDF.CDF was created by me NOT KNOWING what I was doing, I initially tried to use PCOP within LM90 to set up the CONFIG on the module and everytime I did it created a *.CDF file with the current date everytime. I viewed the contents with QUICKVIEW and it did not look right to me, because I was not sure what to tell PCOP to do, So I excluded that file as well.

I don't know if I even need the binary files. If you look at the program in PROFICY and the Hardware Config and then look at the files in the folder: PATCAL.PCM what do you gentlemen see as potentially the reason for the lack of data when I pull the trigger? I can plug the gun into the serial port of another laptop with hyperterminal and scan barcodes all night long and they print to the screen as: QTY 1; LANE 1 all the way up to QTY 10 and LANE 15 and there is even a barcode for CANCEL.

I'm new to barcode... cram course it is. I'm open for ideas and green light thinking... speaking of green lights:

The green light on the PCM module for PORT 2 turns green everytime I pull the trigger. So the data is either not formatted correctly coming out of the gun (configuration?) or the PCM config and code is not right.

I should see numbers in Proficy when I am monitoring the Registry tables... specifically: %R484; 485; 486 according to the SCANNER.PGM file now renamed BASIC.PGM.

I'm going to try and put up a screenshot of the "EDIT MEGABASIC CONFIGURATION DATA" page in PCOP to get your opinions...
 
With Hyperterm connected to port 1 of the PCM you should see the string "Program Running" when the PCM starts to run the program. That string is generated by line 350 of the Megabasic program. That's one of the debugging lines that danatomega referred to.

You can also monitor the program execution with PCOP, but I can't remember how to navigate through PCOP to get to the monitor. I think I wrote a description of how to navigate through PCOP several years ago. If I can locate it I'll post it.

You are correct that the key PLC addresses are %R484, %R485 and %R486. Those addresses are associated with variables in the Megabasic program by the "SYSLINK" commands on lines 270, 290 and 310. %R484 and %R485 will contain information from the scanner. %R486 is controlled by the PLC program and is associated with the Megabasic variable "SMODE". It looks like its value should be either zero or one.

The Megabasic program reads the data on PCM port 2 at the "inchr$" command at line 550. It reads 8 characters or until it sees a <CR> (ASCII character 13). I suggest you insert a print statement after line 550 to see what it gets. It could be "555 Print PORT2_READ$".

Once the Megabasic program has non-blank scanner data, it checks to see if the first character is a "C", "L" or "Q" and directs the program execution accordingly. If "L" it interprets the remaining characters as length (Line 650), converts it to an integer (Line 660), and writes it to %R485 (Line 670). If "Q" it interprets the remaining characters as quantity (Line 740), converts it to an integer (Line 750) and writes it to %R484 (Line 760).

EDIT:
The following is from the PCOP manual, GFK0487.

The TERMF terminal emulation software is invoked directly from the PCOP main menu
by selecting TERMF (F3). This allows monitoring of a MegaBasic program that is
currently executing. TERMF may also be invoked directly from MS-DOS instead of
PCOP.
TERMF is also invoked automatically when the PCM sends output on the serial port
attached to PCOP. This happens, for example, when a soft reset starts MegaBasic.


So, if you are online with PCOP through port 1 and the scanner is connected to port 2, pressing the white button on the PCM module should start the program called "Basic.pgm". At that point the PCOP screen should go blank indicating the TERMF program has started. Any Print statements in the Megabasic program will be displayed on the TERMF screen. I believe you can terminate execution of the Megabasic program and quit TERMF by pressing <CTRL> + C.
 
Last edited:
Sorry, just got back online.
As Steve mentioned, all the Print statements in the program should go to PORT1 and you can monitor the progress. Adding additional Print's to the program is a logical diagnostic tool you'll likely want to investigate. Steve's suggestion for adding line 555 is most excellent and should encourage you to add more if necessary.
 
Instead of the Print statement I suggested in Post #11, you should use this:

555 Print "Scanner Data = ",PORT2_READ$

By adding the text in quotes, you will always see something displayed when the line executes. Without it, when there is nothing from the scanner you won't know whether or not the line was actually executed.
 
Thank You Gentlemen!!!
I'm working the AB GMC Servo with GML software now, when I get back to my lab I will try these suggestions.

Any comments on screenshot- PDF ? I'm not sure about what to enter into this configuration window.
 

Similar Topics

I have lm9030 program on my toughbook CF-29 cannot get my program to hook up with the serial port.
Replies
2
Views
69
how do you load from [A] floppy disk to laptop 9030 program
Replies
3
Views
150
Replies
1
Views
115
We have a customer that has 6 machines running GE Series 90-30 PLCs. In order to support them, they bought a used Dell Full size desktop PC with...
Replies
4
Views
1,246
Back
Top Bottom