My notable projects
- Dyeing controll system - a complett central processing software for flow control
- Loom simulator - visualizing loom production files
- SQLBook - MSSQL database documentation generator
- Room resevation system (Hungarian language)
- Backlog - project backlog app for Android using Firebase backend
- Hummingbird - Easy to use CMS system using PHP, Bootstrap 4 and MySql
Dyeing control system
Background of this project
At the end of 80's I worked at the Hungarian Silk Company in Budapest. This factory made dyeing of textile products. They had industrial coloring maschines, controlled by a German flow control system. This system included a central computer which was responsible for the calculation of receipe for different products, qantities and colors. Conected to this system we had a "Color kitchen" for preparing the different chemicals and colors for the process and every dyeing maschine via a multiplexer. (It was spossible to load different thechnological programs to the maschine flow-controll computers, describing the neccessary technological steps to be executed for a given product) This central computer was a Digital Equipments PDP 11/23, at the time alredy quite old. The advantage of this computer was the ability to perform multitasking in a multiuser enviroment (the connected "color kitchen and the maschines as users). Unfortunatelly this computer reached its end of the life and it was more and more difficult to keep it working.
Based on my suggestion the company made the decision to change this system to a more modern IBM PC compatible maschine. The only problem was, that time we had the DOS operating system which was not multitasking neighter multiuser capable. I proposed a solution for this, so finally I got the chance to develop the multi user - multi tasking environment.
How it worked
I studied the MS-DOS system and the PC architecture deeply, and understood it is possible to write a software which is capable to connect users via serial ports, and assign a job (today I should call them threads or processes, maybe) to this terminals, and by monitoring the (partly undocumented) state of MS-DOS internals make possible that all of this processes can acces the full operating system functions, which in turn means all terminal was able to run its own MS-DOS program with full file sharing capabilities, without to disturbing each other and the PC still usable as usual for an additional user. I did not realized that time, this piece of software was something today we should call for a hypervisor. This part of the system was written in Assembly language. Of course I developed the software for the terminals as well, also in Assembly language. Because of the receipes was stored in a DBASE database (using Nantucket Clipper) it was necessary for the terminals to access this databases. I used some C libraries linked to the assembler code to make the data handling easier.
Originally it was not assigned to me to develop the software running for the PCs user, which was responsible for storing and calculating the receipes for the production. But somehow i got even this part as well. This piece of the system was writen in Clipper and it was clean database manipulation.
I beleive this project had a big effect on me as I was alone responsible to analize the project requirements, plan the whole system and finally develop the software and teach the staff to use it.
This project had an interesting start. When one of our customers got a new Jacquard design system from the USA the person who came to install the new software had some difficulties to set up the software to be compatible with the electronic controlled looms. The design was transfered to the loom on floppy disks. The problem was that some part of the wowen product didn't get controlled, the threads just floated without to form the wowen material. Other problem was the big time difference between USA and Hungary. I took some of the files home with me, and started to analize the files to understand how they structured and try to understand the content. After some hours I was able to understand the structure and developed a little software in C to visualize the content of the file. It was very exciting to see the product shown graphically on the black-and white screen. (At the time the black and white screens was the most usual while the color graphics screen was rare.) Knowing the file structure and seeing the result on the screen it was easy to identify the problem, the design station simply built the file content (the design) shifted by some bytes , because of the wrong configuration. With this information in hand the technician was able to give an exact descripton of the problem to his collagues in the USA and so they was able to give us the correct information directly, so avoid the trial - and error process which was a bit difficult due to time difference.
It showed there is a demand to show the files visually on other PC, not on the design station. So I further developed this software with ability to use and configure colors, make a rendered simulation of the textile, and make a color printout. This software was used both at the design studio and later even the loom owner comany bougt a copy of it. I offered to the US company as well as the sold this design system around the word. Unfortunatelly as they had an agreement with the loom manufacturer it was not possible to make a product of this at their side.
This software was developed under Windows using Visual Studio and writen in C# with .Net framework. The reason was to document SQL databases and make a good looking, structured documentation in MS-Word format. For this porject I used SMO and Office libraries.
The application reads the database and iterates trough the tables and fields, and documents each tables with the field names, field types, used indexes, primary keys, constrains and list of tables which have foreign key reference to the acual table.
A sample document can be downloaded here.
To be continued.....