Отсылка и прием данных от монетоприемника MCA-32X
Добавлено: 10 авг 2007, 07:50
Никак не могу додуматься как мне отсылать команды монетнику. Что только не делал, никак не могу понять как надо сформировать строку ???. Есть полное описание протокола. Все вроде бы легко, но просто я в этом не силен. Если кто знает Delphi то помогите пожалуйста!
- Код: выделить все
3.Message Format
SYNC LNG CMD DATA EXT CHECKSUM
SYNC 1 byte : Message transmission start code[90h] fixed
LNG 1 byte : Data Length (Total number of bytes from SYNC to checksum)
CMD 1 byte : Command status
DATA 0 ~ 255 byte : Data necessary for command(omitted by CMD)
EXT 1 byte : 03H End of Message byte
CHECKSUM 1 byte : check code by SUM result method without carry
============================================================================
4.Transmission, reception message format
Transmission and reception message format is divided into the fllow five type.
(1) Polling format (CONTROLLER=>ACCEPTOR)
SYNC LNG CMD EXT CHECK
SYNC : [90H]
LNG : Length
CMD : [11H]
EXT : [03H]
CHECK : Check code by SUM method
(2) ACK format (CONTROLLER=>ACCEPTOR/ACCEPTOR=>CONTROLLER)
SYNC LNG CMD EXT CHECK
SYNC : [90H]
LNG : Length
CMD : [50H]
EXT : [03H]
CHECK : Check code by SUM method
(2) NAK format (CONTROLLER=>ACCEPTOR/ACCEPTOR=>CONTROLLER)
SYNC LNG CMD EXT CHECK
SYNC : [90H]
LNG : Length
CMD : [4BH]
EXT : [03H]
CHECK : Check code by SUM method
(3) Command format (CONTROLLER=>ACCEPTOR)
SYNC LNG CMD DATA EXT CHECK
SYNC : [90H]
LNG : Length
CMD : Command
DATA : Data necessary for command (Omitted by CMD)
EXT : [03H]
CHECK : Check code by SUM method
(4) Response format I (ACCEPTOR=>CONTROLLER)
SYNC LNG SST EXT CHECK
SYNC : [90H]
LNG : Length
CMD : Command
EXT : [03H]
CHECK : Check code by SUM method
(5) Response Format II (ACCEPTOR=>CONTROLLER)
SYNC LNG CMD DATA EXT CHECK
SYNC : [90H]
LNG : Length
CMD : Command
DATA : Data necessary for command (Omitted by CMD)
EXT : [03H]
CHECK : Check code by SUM method
============================================================================
5.PROTOCOL CONTENT
1.>RESET
CONTROLLER => ACCEPTOR ACCEPTOR => CONTROLLER
90H+05H+40H+03H+D8H ACK 90H+05H+50H+03H+E8H
OR
INVALID COMMAND 90H+05H+4BH+03H+E3H
2.>COIN TYPE
CONTROLLER => ACCEPTOR ACCEPTOR => CONTROLLER
90H+05H+90H ACK 90H+05H+50H+03H+E8H
+DATA0~DATA15+03H+CHECKSUM OR
INVALID COMMAND 90H+05H+4BH+03H+E3H
3.>STATUS REQUEST
CONTROLLER => ACCEPTOR ACCEPTOR => CONTROLLER
90H+05H+11H+03H+A9H IDILING 90H+05H+11H+03H+A9H
ACCEPT 90H+06H+12H+COIN CHANNEL
+03H+AAH
REJECT 90H+05H+13H+03H+ABH
DISABLE 90H+05H+14H+03H+ACH
COIN JAMED 90H+05H+15H+03H+ADH
SENSOR PROBLEM 90H+06H+16H+sensor no
+03H+checksum
FISHING 90H+05H+17H+03H+AEH
CHECKSUM ERROR 90H+05H+18H+03H+AFH
INTO LEARN MODE 90H+05H+19H+03H+B0H
4.>COIN VALUE
CONTROLLER => ACCEPTOR ACCEPTOR => CONTROLLER
90H+05H+80H+03H+18H COIN VALUE 90H+06~134H+80H+
DATA1~128+03H+checksum
5.>VERSION REQUEST
CONTROLLER => ACCEPTOR ACCEPTOR => CONTROLLER
90H+05H+81H+03H+19H S/W VERSION 90H+11H+81H+
DATA1~8+03H+checksum