Franco Tiveron's profile

Some jobs executed

WORK EXPERIENCES  
By 20 years I work in the software area, as project-manager and development software group chief. I was a freelance until 2004.
Today I'm Cofounder, Member and Managing Director of an industrial software company (C.Si.Co. S.R.L.).
The topics treated and the activities done are:
 
Topics:
- CAD-CAM software (raster and vectorial).
- Control software for special machines, plants, automation and robots.
- Firmware for microprocessors in dedicated hardware.
- Software and firmware for telecommunication systems.
- Management information system software.
- Financial software (trading).
Activities:
- Design and Developement.
- Research and Experimentation.
- Formation and valutation of technicians.
- Organization and management of workgroups.
- Support on decisions in the definition of specifications.
- Advising about choice of informatic systems and instruments.
- Integration and adaptation of systems.
 
Known CPU platforms (with which I worked):
PC 80x86 (Intel), PLC Siemens S5 e S7, Intel 8051 family, Motorola 68HC11 family, SGS Thomson ST6 family, Zilog Z80, DSP TEXAS TMS, Siemens 80C166; PC hosted axes controllers: Baldor (PMAC), MEI; PLC axes controllers: Siemens (WF); HP HCTL1100, ZWORLD PLC, Beckhoff; DCS MTL, ABB, Eurotherm, Hollysys; PLC Matsushita/Panasonic.
 
Operating systems and networks:
DOS, Windows 16 and 32 bits, OS/2, C/OS realtime kernel, S7, unix (basic), Ethernet, TCP/IP, PROFIBUS, LonWorks, EIBBus, RS 485, RS 422, RS 232, AS 511, 3964R, Bacnet, Modbus.
 
Programming Languages:
C, C++, C#, Java, Assembly, Pascal, Basic, IV generation languages (4GL), IEC 61131 (LAD, STL, FBD, SCL, CFC, SFC), HTML, javaScript, VBScript, ASP, PHP, XML(XSLT).
 
Developing environment used:
Micro and computer programming:
Visual Studio .NET, Visual C++ and Visual Basic, Borland C++ and PARADOX, Watcom C++, Autodesk ADS (AutoCad), Pj2Cad, Zortech C++, IBM C++ and VisualAge, Aztec C, Symantec C++, SUN Java2, Periscope and Softice debuggers, National Instruments LabWindows e LabView,  SuperNova, Frontpage, InterDev, HTML Help Workshop, Forte for java, java2 (j2se e j2ee).
PLC and DCS:
Siemens S5, S7 ed M7, Allen Bradley RSLogix 5000, Beckhoff TwinCAT, ABB DCS,  Hollysys DCS, Softing 4Control, SCADA iFix, WinCC, Movicon, ZenOn, Intouch, WizCon, ProRealTime, Metatrader 4.
 
RDBMS: SQL Server, MySQL, Paradox, Access, ODBC.

 
 
Some jobs executed:
 
In the following projects I had the ideas and made design. Some jobs have been developed by myself too, the remaining ones by other people (possibly workgroups) that I managed.
 
CAM from bitmap.
Goal : Starting from a raster image (b/w bitmap), obtained by a scanner, calculate the 3D motion path that a conic tool has to follow in order to realize in relief the drawing. Paths  are got directly from the bitmap (no vectorization is previously performed).
Platform : C++ (IBM C Set++) on OS/2 2.1
 
CAM from vectorial.
Goal : From a drawing composed by segments of line and segments of ellipse, calculate the path of a conic tool in order to emptying the internal areas of the zones defined by the drawing; in the corners the tool has to move up in order to use its conic shape.
Platform : C++ (IBM C Set++) on OS/2 2.1 ; a special algorithm has been studied in order to shift the segments of ellipse (the result is not a segment of ellipse).
 
Telephonic stream analizer. Goal: Using a custom electronic card interfaced to a PC hardware via the ISA bus, whose function is analyzing on the telephonic stream on a 2 Mbits hierarchy channel, acquire quality data and monitor the traffic, mantaining a data base and statistic reporting. Platform : C++ (IBM C Set++) on OS/2 2.1; also the assembly based driver for the card has been developed, mapped on I/O and dual port RAM.
 
Driver for axis controller on OS/2.
Goal: While porting a software for control of PC based machines from DOS to OS/2, in order to operate with a ISA plugged custom axes controller the necessary driver for OS/2 2.1 has been developed. The driver (.SYS) works in the protect mode of the i486 CPU, and is interfaced to the axes controller by the direct access to a dual port RAM mapped at the address 0xD0000 and at some I/O ports. The debugging has been executed remotely using a special Periscope debugger.
Platform : Microsoft Macro Assembler.
 
Firmware for a microprocessor card controlling a lift group.
Goal : the system can be configured by a PC via a serial link. There are one, two or three speeds and the reservation logic is intelligent for optimize the service. Emergency and priority functions are provided. The CPU is a Intel 8051 microcontroller.
Platform : assembly.
 
Firmware for an automatic weigher
Goal: the machine take reservation by coin insertion and give on a LCD display the weight measured. The analog signal is sampled, filtered and linearized according to an linear approximation obtained by the characteristic curve of the load cell. The CPU is a MOTOROLA 68HC11.
Platform: Assembly.
 
Firmware for an automatic distribution machine.
Goal: the machine takes more reservations by coin insertion and prepares several different foods pipelining the work. The CPU is a MOTOROLA 68HC11 and the emulation card is a EVM11.
Platform: Assembly.
 
Firmware for a 2 Mbits/s exchange telecom card.
Goal : given a 2 Mbits/s stream, split it in 2 identical streams, adding quality information on bits available in handshake substreams. On reception, analyze both streams, make reports on quality on local panels and via a serial link, and put on exit the better one. The C compiler is of the Keil software company.
Platforms : micro Siemens SAB 80C166, C and assembly.
 
Firmware for closed loop axes control. Goal: three axes have to be controlled in a closed position loop; a velocity actuator has to be driven by a set point that is calculated by the software that performs a following algorithm based on a profile generation and an encoder feedback; linear and circular interpolation is possible; the loop regulator performs PID and feedforward functions. The CPU is a TEXAS DSP of the TMS 30 family.
Platform: C and assembly.
 
Supervision and control system of a plant that manages the air pressure in telecom cables.
Goal : given a system composed by microprocessor controlled devices (compressors, air erogators and transducer) remotely connectable (485), a DOS supervision and control program has been developed that control the system via a multiserial card. The software use a multitasking kernel for DOS and an interrupt driver for the multiserial card also developed for this project.
Platform : Microsoft C , WATCOM C  and Macro Assembler
 
Software for economy analyisis of Stock Exchange data.
Goal: from storical information on trends of shares, obtain the value of standard and custom financial indexes, with a special front-end signalling the moment for buying and selling shares. It is also possible to compose personalized indexes wih a macrolanguage.
Platform : Visual Basic and Borland C++.
 
Neural network calculator.
Goal : an OLE component (OLE COM Server) has been realized. It is capable of calculate neural networks; As an OLE component it can be used with Microsoft Office (Access, Excel, Word...) and with Visual Basic and other programs OLE COM compatible.
Platform : DLL realized with Visual C++ (32 bits) ; it run on Windows 95 and Windows NT 4.0.
 
Supervision and control of automatic plant.
Goal : given an automatic plant controlled by a Siemens PLC, a program for the visualization of an animated synoptic has been realized. It performs also the preparation of recipes for production in a graphic way (with the mouse) performing a plausibility control during the editing.
Platform : for the front end Visual Basic on Windows 95 (no SCADA) ; for the PLC communicaiton a 3964R protocol driver has been realized with Visual C++. This driver (DLL) is interfaced to Visual Basic by OLE.
 
Control of a plant for material storage.
Goal : a plant composed by silos for the storage has to dispose the product according to special characteristics; the product comes from another plant preexisting and has to be unloaded to a packaging plant. The automatic control makes a volumetric control on the material by some sensors on the silos.
Platform : Siemens Step 5 on PLC 115/943B ; the PLC is connected on a Sinec L2 network with others PLCs Siemens, with an OP local panel and controls a set of SIPART external regulators.
 
Driver for interfacing of a PC to the Sinec L2 network.
Goal : Realizing supervision programs for Windows 95/NT4 with Visual Basic; a module has been realized wich allows to connect PCs an PLCs on a L2 network.
Platform : at that time Siemens supplied only a 16 bits driver for windows 3.1 for the CP5412; so two modules have been realized: a 32 bits DLL for Visual Basic (Visual C++ 32 bits) and a 16 bits program (EXE) for the communication with the CP. The two modules speak between each other by Win32 API.
 
AS511 driver.
Goal : This driver permits to develop supervision software under Windows with VB or other non SCADA tools, interfacing to the PLC via its PG port.
Platform : DLL 32 bits Visual C++.
 
Interfacing to a remote PLC.
Goal : a PC contains a program for supervision under Windows 95 written with Visual Basic: the field data are in a PLC far some thousand of miles from the PC. The realized module communicates to the PLC via modem. The modems used are not Siemens, but normal commercial modems. There are two parts. The PLC part converts sent data to ASCII format and calculates a checksum. The PC part is an OLE Control (OCX).
Platform : Siemens STEP 5 and Visual C++.
 
Utilities for Autocad.
Goal : given an Autocad drawing, make calculations for specific evaluation. The modules are been realized directly on Autocad in C (not AutoLisp) using ADS.
Platform : WATCOM C++.
 
Plant control directly with PC
Goal : in this case the PC does the PLC functions too; in some machines a PC manages only the machine for strict real time needings (1 ms cycle time); DOS has been expanded with our special drivers. In other cases some tasks are coexisting in the PC: front end, machine control and network connectivity with other PCs, using Windows 95 and NT 4 as operating systems. Much of the connectivity software has been realized using DCOM (Distributed COM). For field interfacing several market industrial cards for PC has been used, for which specific 32 bits drivers have been developed (at that time not supplied by constructor).
Platform : Visual C++, assembly, Visual Basic.
 
Calculation and control of robot paths.
Goal : the software works out the motion commands for the motors of a mechanic arm. The commands are passed to a MEI axes controller.
Platform : C++
 
Plant simulation for test of PLC software. Goal: the PLC program which controls a plant has to be tested before without the plant; a PC simulates the plant, reading PLC outputs, reproducing the process and writing in the PLC. For communication PC <-> PLC a MPI driver has been developed over SOFTNET. The front-end has been realized with a synoptic in Visual Basic. It is possible to interact with the synoptic, setting/resetting sensors valuse or pushing a button. A metalanguage allows to program the relations betweend field elements.
Platform: Visual Basic, Visual C++.
 
Equipment drivers for S7 Siemens PLCs Several modules have been developed for using special instruments with S7 PLCs: light displays (TELESTAR), barcode readers (SICK BMS10/CLV220)…
Platform: STEP 7 STL on S7-400.
 
Driver for WF723B on CPU Siemens S7 400
A robot has to perform motion with axes interpolation. AN ISO NC program has been realized and memorized on PLC Data Blocks. Software modules have been realized in order to handle the WF controller easier.
 
Network communication among S7 PLCs Some S7 blocks for S7 protocol communication and Profibus FDL communication have been realized. Using them, communication jobs have only to be configured and parameterized; no program code is necessary.
 
PC <-> PLC communication via serial link with Radio Modem A PC equipped with a radio modem is on a mobile unit; the operator uses it in order to confirm loading operation to the PLC S7 that therefore continues its operations. The PLC has a CP441 with open serial protocol, while the PC has a mini-DOS EPROM resident operating system.
Platform: on the PC side a C++/Assembly DOS program has been realized; it displays some pages; and realizes a serial protocol designed specifically for this application, using an interrupt driven C driver. At the PLC side the corresponding serial protocol handling FB has been realized.
 
Calculation of parameters for a machine that controls the growing up of crystals
The machine is equipped with electronics regulators. A FIX based supervision application is unable to perform some calculation on variables; the program realized fetches data from the database of FIX, makes the needed calculations and write results on the same FIX database.
Platform: Visual C++ on Windows 3.11; interfacing to FIX DataBase is realized via DDE.
 
Porting of a Data Base from SCO-UNIX to WINDOWS NT Goal: a SCO-UNIX database (100.000 records, 30 Mbytes) has to be ported under ACCESS in WINDOWS NT; a new VB front-end for interacting with the database. The program handle a bar code reader and a therminc bar code printer.
Platform: Access 97 (Reports, Query and macro VBA), Visual Basic (front-end and statistics), OCX realized in VB for controlling the thermic printer.
 
Windows front-end for bank cash desk Goal: a telematic information service center for banks wants to supply to cash desk’s operators a Windows front-end able to make data analysis and presentation.
Platform: Borland C++.
 
Industrial Automation plants PLC software development+commissioning of Philip Morris Tobacco Primary plants controlled by Siemens S7 PLCs with Intouch SCADA .
 
I/O server
Windows program accessin PLC data (in this case Siemens/SAPI S7) that manages dinamically created tags. The program exposes an OLE automation interface that allows creating tags and r/w data. Tags can be registered for cyclic reading. In this case, clients do not need to poll data since the I/O server generates automation events (ConnectionPoint interface).
Platform: Visual C++ 6.0.
 
Standard software system for PLC Siemens S7 with HTML based documentation Package of libraries of S7 components designed to be reused:
-     S7 operating system extension. Functions extending the basic S7 OS with further services (data conversion, debug, simplified PI, current OB, timing, motor and valve manual commands and so on).
-     Standard Blocks. Blocks implementing specific process handlings, developed according to an architecture that makes straightforward reusing and integration.
-     Standard Charts. CFC charts with I/Os connected to generically named points. A custom utility (CFCPATCH, Visual C++), permits to change the names very easily, reducing the time needed to import a chart in a specific project.
-     HTML based documentation. CHM file (compiled HTML), containing descriptions about concepts, libraries and procedures to apply. A custom utility (.EXE Visual C++) gives the possibility to access the help starting from the STEP7 project, dragging elements from an element and dropping them on the utility’s main window.
Platform: Siemens STEP 7 (AWL, SCL, CFC), Microsoft Visual C++ 6.0.
 
Software CASE for S7
Windows program that generates automatically S7 projects (it is a protorype). Starting from an ACCESS database containing a list of elements and a component library, the program composes a S7 software project, building automatically also interface code to connects electrical addresses to core software.
Platform: Siemens S7 and Microsoft VB 6.0.
 
OCX library for help in simulation of STEP7 programs
With these OCXs it is possible to simulate a S7 PLC program running under PLCSIM. Outputs are read and Inputs are written using S7ProSim, while Data Blocks are accessed using WinCC and DDE.
Platform: Siemens STEP7, WinCC, Microsoft VB 6.0.
 
Java I/O Data server
To build Supervision software in Java, a distributed I/O server has been developed in java. The engine server handles tags creation and maintainance offering services via RMI (Remote Method Invocation). The fornt-end of this Java-Scada is a set of applets and the connection with field components (PLC) is realized by dynamic class loading. A driver for Siemens S7 PLCs has been developed as JNI (Java Native Interface) shared components that relies on the Siemens SOFTNET interface.
Platforms: Sun Java2 with Forte CE, Siemens STEP7, Microsoft VC++.
 
Web sites some Web sites with server and client scripting, applets, ActiveX controls and documents.
Platforms: Sun Java2, Interdev, Frontpage, VBScript, JavaScript, IIS, php.
 
SCADA communication drivers
1) EIB Bus (building automation)
2) PLC Matsushita FP TCP/IP
3) SoftPLC TwinCAT (Beckhoff)
4) Custom equipments over RS232-485
Platforms: Visual C++
 
MES
MES (Manufacturing Execution System) application, for the computing and presentation of production data. It is a Web ASP application working with ODBC Database.
Platforms: SQL Server, JavaScript, ASP, ADO, IIS 5.
 
SCADA with C#
Entirely developed in C#, a set of libraries that personalize Visual Studio .NET making it similar to a SCADA development package
Platforms: SQL Server, C#.NET
 
Trading software
Custom Indicators, trading robots, trade assistants e security scanners.
Platforms: Metatrader, ProRealTime
 
Follows a list of some important projects that I worked on:
 
 
 
Some jobs executed
Published:

Some jobs executed

WORK EXPERIENCES

Published: