|
| 1 | +# Interfaces for JCS |
| 2 | +*** |
| 3 | + |
| 4 | +## HSI-S88 |
| 5 | +Littfinski DatenTechnik (LDT) |
| 6 | +Translated from https://mobatron.4lima.de/wp-content/uploads/2020/05/hsi88_command-codes_de.pdf |
| 7 | +Translated with DeepL.com (free version) |
| 8 | + |
| 9 | +### High Speed Interface-88 (HSI-88) (command set / version 1.3) |
| 10 | +(Software version from 0.40 from 06.10.2000) |
| 11 | + |
| 12 | +#### Brief description |
| 13 | +The HSI-88 is an interface from the s88 feedback bus to the RS 232 interface. |
| 14 | +The interface has three s88 bus connectors. This offers the advantage of faster |
| 15 | +bus processing and the possibility of forming three bus lines on the system. |
| 16 | +The three plugs are referred to as left, middle and right bus plugs. |
| 17 | +A maximum of 31*16 feedback contacts can be monitored. |
| 18 | +A maximum of 31*16 per bus line, but no more than 31*16 contacts can be read in total. |
| 19 | +In each case, 16 feedback inputs are combined into one module. |
| 20 | +The module with the number 1 is the first module on the left bus line. |
| 21 | +It is counted up to the last registered module on the left bus line. |
| 22 | +Then continue with the first module on the middle line. |
| 23 | +The module with the highest module number is the last module on the right-hand line. |
| 24 | + |
| 25 | +#### RS-232 |
| 26 | +- Baud rate: 9600 baud |
| 27 | +- Format: 8 bit data, 1 start and 1 stop bit, no parity |
| 28 | +- Handshake: Hardware handshake via RTS and CTS |
| 29 | +- Interface: Galvanically isolated. DTR must be activated by the PC (high level). |
| 30 | + |
| 31 | +#### Command structure |
| 32 | +Commands and data are transmitted. |
| 33 | +The last character of each command is Carriage Return. |
| 34 | +If TerminalMode is switched off, unsigned hex bytes are transmitted (one value equals one byte). |
| 35 | +If TerminalMode is switched on, ASCII characters (one value = two bytes) are transmitted as hexadecimal values. |
| 36 | + |
| 37 | +#### TerminalMode |
| 38 | +##### Command form : "t" \<CR> |
| 39 | +- Command length : 2 bytes |
| 40 | +- Response : "t" <on ("1") or off ("0")> \<CR> |
| 41 | +- Response length : 3 bytes |
| 42 | + |
| 43 | +After the start, TerminalMode is switched off. |
| 44 | +It can be switched on with "t" in order to monitor the data stream using ASCII characters with the help of a terminal program. |
| 45 | + |
| 46 | +#### Initialization / register feedback modules: |
| 47 | +##### Command form: "s" \<number of Modules left> \<number of Modules middle> \<number of Modules right> \<CR> |
| 48 | + |
| 49 | +If the maximum number of modules of 31 is exceeded, the default value (2 modules per line) is set. |
| 50 | + |
| 51 | +- Command length:\ |
| 52 | +-- TerminalMode off: 5 bytes\ |
| 53 | +-- TerminalMode on: 8 bytes\ |
| 54 | + |
| 55 | +- 1st response: "s" \<total number of registered modules> \<CR>\ |
| 56 | +-- The input statuses of the registered modules are read in between the 1st and 2nd response. |
| 57 | +- 2nd response: "i" \<Number of modules that are reported> \<Module number> \<HighByte> \<LowByte> \<Module number> \<HighByte> \<LowByte> \<Module number> \<HighByte> \<LowByte> \<CR> |
| 58 | + |
| 59 | +Response length:\ |
| 60 | +- TerminalMode off: (6 + (number of modules) * 3) bytes\ |
| 61 | +- TerminalMode on: (8 + (number of modules) * 6) bytes\ |
| 62 | + |
| 63 | +With the 2nd response, the contents of all registered modules are transferred. |
| 64 | +The number of modules can be changed dynamically during the program run using the "s" command. |
| 65 | +After the interface is switched on, changes to the inputs of the feedback modules (via "i") are only reported from the first "s" command. |
| 66 | + |
| 67 | +#### HSI-88 report s change(s) |
| 68 | +- Response: "i" \<number of modules reported> \<module number> \<high byte> \<low byte> \<module number> \<high byte> \<low byte> \<module number> \<HighByte> \<LowByte> \<CR> |
| 69 | + |
| 70 | +Response length: |
| 71 | +- TerminalMode off: (3 + (number of modules) * 3) bytes\ |
| 72 | +- TerminalMode on: (4 + (number of modules) * 6) bytes\ |
| 73 | + |
| 74 | +Only the contents of the modules for which the input statuses have changed are transferred. |
| 75 | + |
| 76 | +### PC queries input statuses |
| 77 | +#### Command form: "m" \<CR> |
| 78 | +Command length: 2 bytes\ |
| 79 | +Response: "m" \<Number of modules that are reported> \<Module number> \<HighByte> \<LowByte> \<Module number> \<HighByte> \<LowByte> \<module number> \<HighByte> \<LowByte> \<CR> |
| 80 | +Response length:\ |
| 81 | +- TerminalMode off: (3 + (number of modules) * 3) bytes\ |
| 82 | +- TerminalMode on: (4 + (number of modules) * 6) bytes\ |
| 83 | + |
| 84 | +The contents of all registered modules are transferred. |
| 85 | + |
| 86 | +### Version query |
| 87 | +#### Command form: "v" \<CR> |
| 88 | +Command length: 2 bytes\ |
| 89 | +Response: "Ver. x.xx / dd.mm.yy / HSI-88 / (c) LDT" \<CR> |
| 90 | + |
| 91 | +Response length: 41 bytes |
0 commit comments