Author
Name | Fonction | Date |
M. BONNETO | Software development manager | 2010/05/26 |
Version Trail
Version | Date | Listing of changes | Revised by |
3.0 | 2010/05/26 | Création | LL |
Summary
Definition of DLL communication functions for Electroclass storage machinesV3.0 |
Purpose:
Le but de ce document est de décrire le fonctionnement de la DLL de communication permettant le pilotage des moyens automatiques de stockage (stockeurs rotatifs, Transstockeur,….).
The purpose of this document is to describe the operation of the interface DLL that enables software to control and manage Electroclass storage machine.
Description :
PASCAL LANGUAGE CONVENTION
int APPELTIROIR(char* IDENT, char* MACHINE, int POSTE,
int NIVEAU,int ZONE, int CASE, int QTE);
int ETATMACHINE(char* IDENT, char* MACHINE,int POSTE,
int NIVEAU,int ZONE, int CASE, int QTE);
C LANGUAGE CONVENTION
int C_APPELTIROIR(char* IDENT, char* MACHINE,int POSTE,
int NIVEAU,int ZONE, int CASE, int QTE);
int C_ETATMACHINE(char* IDENT, char* MACHINE,int POSTE,
int NIVEAU,int ZONE, int CASE, int QTE);
DETAILS DES FONCTIONS
- RET APPELTIROIR(IDENT, MACHINE, POSTE, NIVEAU, ZONE, CASE, QTE )
(Appel = French for call-up; this function summons a machine location)
RET | Integer: | Code Returned by the function (see list hereunder) |
IDENT | String: | Identifies Software |
MACHINE | String: | Carousel Name (A to Z for carrousel, 1 to 9 for lift) |
POSTE | Integer: | Workstation number |
NIVEAU | Integer: | Level/drawer Position (up and down) |
ZONE | Integer: | Zone Position on shelf (left to right) |
CASE | Integer: | Depth Position on shelf (front to back) |
QTE | Integer: | Quantity |
Codes returned by function
RET_OK | = 0 | (Task OK – READY on Carousel) |
RET_MACHINE | = 1 | (Error on Carousel Name) |
RET_POSTE | = 2 | (Error on Workstation Name) |
RET_NIVEAU | = 3 | (Error on Level No) |
RET_MODEMANU | = 7 | (Manual Mode) |
RET_DIALOGUE | = 8 | (Communication Error) |
- RET ETATMACHINE(IDENT, MACHINE, POSTE, NIVEAU, ZONE, CASE, QTE)
(Etat = French for STATUS, this function queries the Carousel on its status)
RET | Integer: | Code Returned by the function (see list hereunder) |
IDENT | String: | Identifies Software |
MACHINE | String: | Carousel Name (A to Z) |
POSTE | Integer: | Workstation number |
NIVEAU | Integer: | Level Position (up and down) |
ZONE | Integer: | Zone Position on shelf (left to right) |
CASE | Integer: | Depth Position on shelf (front to back) |
QTE | Integer: | Quantity |
Codes returned by this function:
RET_OK | = 0 | (Task OK – READY on Carousel) |
RET_MACHINE | = 1 | (Error on Carousel/lift Name) |
RET_POSTE | = 2 | (Error on Workstation Name) |
RET_NIVEAU | = 3 | (Error on Level/drawer No) |
RET_POSITION | = 4 | (Error zone does not exist) |
RET_TIROIR | = 5 | (Error on drawer – does not concern carousels) |
RET_MAX | = 6 | (Error on quantity) |
RET_MODEMANU | = 7 | (Manual Mode) |
RET_DIALOGUE | = 8 | (Communication Error) |
RET_OCCUPE | = 9 | (Carousel busy or OCCUPIED) |
RET_ETAT | = 99 | (Response to Status : Carousel busy or Occupied) |
- RET RETOURTIROIR(IDENT, MACHINE, POSTE)
(Retour = French for Return, this function is used only with lift machine for return a drawer into the machine)
RET | Integer: | Code Returned by the function (see list hereunder) |
IDENT | String: | Identifies Software |
MACHINE | String: | Carousel Name (A to Z) |
POSTE | Integer: | Workstation number |
NIVEAU | Integer: | Level Position (up and down) |
ZONE | Integer: | Zone Position on shelf (left to right) |
CASE | Integer: | Depth Position on shelf (front to back) |
QTE | Integer: | Quantity |
Codes returned by this function:
RET_OK | = 0 | (Task OK – READY on Carousel) |
RET_MACHINE | = 1 | (Error on Carousel/lift Name) |
RET_POSTE | = 2 | (Error on Workstation Name) |
RET_NIVEAU | = 3 | (Error on Level/drawer No) |
RET_MODEMANU | = 7 | (Manual Mode) |
RET_DIALOGUE | = 8 | (Communication Error) |
CODES RETURNING by STATUS ORDER
RET_MOUVEMENT | = 100 | (Carousel MOVING) |
RET_CONSULTATION | = 101 | (Drawer on workstation – this status does not concern carousels) |
RET_AUTREDEPOT | = 102 | (Drawer on another workstation – does not concern carousels) |
RET_RETOUR | = 103 | (Drawer being replaced – does not concern carousels) |
RET_MOUVEMENTSUIV | = 104 | (Indicates Operator has moved on to next move) |
RET_SECURITEB1 | = 200 | Low security fault on Workstation 1 |
RET_SECURITEH1 | = 201 | High security fault on Workstation 1 |
RET_SECURITEB2 | = 202 | Low security fault on Workstation 2 |
RET_SECURITEH2 | = 203 | High security fault on Workstation 2 |
RET_SECURITEB3 | = 204 | Low security fault on Workstation 3 |
RET_SECURITEH3 | = 205 | High security fault on Workstation 3 |
RET_CHARGEMENT | = 206 | (Excessive Unbalance) |
RET_COMMAND | = 207 | (Incorrect Command) |
RET_TIMEOUT | = 208 | (Timeout reached) |
RET_DEFAUT_ROBOT | = 209 | (FAULT on robot – does not concern carousels) |
RET_DEFAUT_DEPOT | = 210 | (FAULT on tray deposit – does not concern carousels) |
RET_REARMEMENT | = 211 | (Awaiting Acknowledgment on Fault) |
RET_CLAVIER | = 212 | (Keyboard Error) |
RET_DEFAUT_POSTE | = 213 | (FAULT on tray deposit – does not concern carousels) |
RET_DEPOT_RESERVED | = 300 | (Tray deposit reserved – not carousels) |
RET_DEPOT_APPEL | = 301 | (Tray deposit being called up – not carousels) |
RET_DEPOT_CONSULT | = 302 | (Tray deposit in use – not carousels) |
RET_DEPOT_LIBERE | = 303 | (Tray deposit now freed up – not carousels) |
RET_DEPOT_RETOUR | = 304 | (Tray deposit awaiting return – not carousels) |
RET_DEPOT_OCCUP | = 305 | (Tray deposit occupied – not carousels) |
RET_DEPOT_INEXIST | = 306 | (Non existent tray deposit – not carousels) |
RET_TRANSMISSION | = 900 | (Transmission Error) |
RET_NONAUTORISE | = 901 | (Not Allowed instruction) |
RET_DEFAUT | = 902 | (Unidentified Fault) |
RET_SECTEUR | =903 | (PowerOut during MOVE) |
RET_DEFAUTATV | = 904 | (FAULT on Speed controller) |
RET_BLOCAGE | = 905 | (Mechanical Jam) |
RET_ORDREREFUSE | = 906 | (Order refused) |
Visual Basic EXEMPLE
Declaration of CEPAGE32.DLL functions
Declare Function AppelTiroir Lib "CEPAGE32.DLL" (ByVal IDENT$, ByVal Machine$, ByVal POSTE%, ByVal NIVEAU%, ByVal ZONE%, ByVal CASES%, ByVal QTE%) As Integer
Declare Function EtatMachine Lib "CEPAGE32.DLL" (ByVal IDENT$, ByVal Machine$, ByVal POSTE%, ByVal NIVEAU%, ByVal ZONE%, ByVal CASES%, ByVal QTE%) As Integer
Declare Function RetourTiroir Lib "CEPAGE32.DLL" (ByVal IDENT$, ByVal Machine$, ByVal POSTE%)
Call of CEPAGE32.DLL functions
Dim CRET Integer
Dim POSTE_Int As Integer
Dim NIVEAU_Int As Integer
Dim ZONE_Int As Integer
Dim CASE_Int As Integer
Dim VERSION As String * 100
Dim QUANTITE_Int As Integer
CRET = AppelTiroir("ITEM", MACHINE, POSTE_Int, NIVEAU_Int, ZONE_Int, CASE_Int, QUANTITE_Int)
CRET = EtatMachine("ITEM", MACHINE, POSTE_Int, NIVEAU_Int, ZONE_Int, CASE_Int, QUANTITE_Int)
Declaration of ‘Retrunin code ‘ Constantes
Global Const RET_OK = 0
Global Const RET_MACHINE = 1
Global Const RET_POSTE = 2
Global Const RET_NIVEAU = 3
Global Const RET_POSITION = 4
Global Const RET_TIROIR = 5
Global Const RET_MAX = 6
Global Const RET_MODEMANU = 7
Global Const RET_DIALOGUE = 8
Global Const RET_OCCUPE = 9 ' Machine busy
Global Const RET_ETAT = 99 ' Response to Status : Carousel busy or Occupied
Global Const RET_MOUVEMENT = 100 ' (Machine mouving)
Global Const RET_CONSULTATION = 101 ' (Drawer on working bay)
Global Const RET_AUTREDEPOT = 102 ' (Drawer on a other working bay)
Global Const RET_RETOUR = 103 ' (Drawer returning)
Global Const RET_MOUVEMENTSUIV = 104 ' (Indicate to the software that user want the next location )
Global Const RET_SECURITEB1 = 200 ' (Low security fault on Workstation 1)
Global Const RET_SECURITEH1 = 201 ' (High security fault on Workstation 1)
Global Const RET_SECURITEB2 = 202 ' (Low security fault on Workstation 2)
Global Const RET_SECURITEH2 = 203 ' (High security fault on Workstation 2)
Global Const RET_SECURITEB3 = 204 ' (Low security fault on Workstation 3 or 4)
Global Const RET_SECURITEH3 = 205 ' (High security fault on Workstation 3 or 4)
Global Const RET_CHARGEMENT = 206 ' (Excessive Unbalance)
Global Const RET_COMMAND = 207 ' (Incorrect Command)
Global Const RET_TIMEOUT = 208 ' (Timeout reached)
Global Const RET_DEFAUT_ROBOT = 209 ' (FAULT on robot – does not concern carousels)
Global Const RET_DEFAUT_DEPOT = 210 ' (FAULT on tray deposit – does not concern carousels)
Global Const RET_REARMEMENT = 211 ' (Awaiting Acknowledgment on Fault)
Global Const RET_CLAVIER = 212 ' (Keyboard Error)
Global Const RET_DEFAUT_POSTE = 213 ' (FAULT on tray deposit – does not concern carousels)
Global Const RET_DEPOT_RESERVED = 300 ' (Tray deposit reserved – not carousels)
Global Const RET_DEPOT_APPEL = 301 ' (Tray deposit being called up – not carousels)
Global Const RET_DEPOT_CONSULT = 302 ' (Tray deposit in use – not carousels)
Global Const RET_DEPOT_LIBERE = 303 ' (Tray deposit now freed up – not carousels)
Global Const RET_DEPOT_RETOUR = 304 '(Tray deposit awaiting return – not carousels)
Global Const RET_DEPOT_OCCUP = 305 ' (Tray deposit occupied – not carousels)
Global Const RET_DEPOT_INEXIST = 306 ' (Non existent tray deposit – not carousels)
Global Const RET_TRANSMISSION = 900 ' (Transmission Error)
Global Const RET_NONAUTORISE = 901 ' (Not Allowed instruction)
Global Const RET_DEFAUT = 902 ' (Unidentified Fault)
Global Const RET_SECTEUR = 903 ' (PowerOut during MOVE)
Global Const RET_DEFAUTATV = 904 ' (FAULT on Speed controller)
Global Const RET_BLOCAGE = 905 ' (Mechanical Jam)
Global Const RET_ORDREREFUSE = 906 ' (Order refused)
INSTALLATION
DLLs must be installed in the current folder of your application.
Electroclass.ini file can parameter DLL following machine type :
- CEPAGE : carrousels TITAN
Parameter for the communication port (Port COM1 par defalt)
Parameter of the CEPAGE protocole version (positioning in accordance with the configuration of storage machine)
- Jumper : Lift Jumper
Parameter of the IP address and TCP port for communicate with the storage
Parameter of the JUMPER protocole version (positioning in accordance with the configuration of storage machine)
Parameter of the PLC No (positioning in accordance with the configuration of storage machine)
- SIMULGSTOCK : DLL for simulate carrousels