Welcome to the Industrial Automation website!

NameDescriptionContent
XING-Automation
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

ADLINK ACL-7122 Digital I/O Card Installation and Programming

F: | Au:FANS | DA:2026-08-03 | 11 Br: | 🔊 点击朗读正文 ❚❚ | Share:

This design allows for software shutdown interrupts or cascading multiple interrupt sources through PC4.


Definition of connector pins and external wiring

The six 50 pin IDC male heads (CHO~CH5) on the card are arranged with OPTO-22 standard pins and can be directly connected to ADLINK's TB-24R (24 relay outputs), TB-24P (24 optocoupler inputs), or TB-16P8R (16 inputs+8 outputs) terminal boards. The PA, PB, and PC of each channel each occupy 8 bits, among which the high 4 bits (PC4~PC7) and low 4 bits (PC0~PC3) of the PC can be independently set for input/output.

Typical connection method:

Control external relays: Set PA/PB as the output, connect TB-24R through a ribbon cable, and drive one relay coil for each output position.

Read limit switch: Set PC or PA as input, connect TB-24P, and isolate external 24V signal with optocoupler.

Attention: All I/O are TTL level (high ≥ 2.0V, low ≤ 0.8V). If high voltage/high current loads need to be driven, they must be isolated through OPTO-22 module or relay board to avoid damaging the card.


Register Structure and Programming Fundamentals

The I/O mapping of ACL-7122 is based on four registers (PA, PB, PC, control word) per channel, with the base address set to B. Therefore:

CH0: B+0 (PA), B+1 (PB), B+2 (PC), B+3 (CW)

CH1: B+4~B+7

CH2: B+8~B+11

CH3: B+12~B+15

CH4: B+16~B+19

CH5: B+20~B+23

Control word format (written to CW register):

D7=1 (mode setting flag), D6~D5=00 (mode 0), D4=port A direction (0=output, 1=input), D3=PC high 4 bit direction (0=output, 1=input), D2=port B direction, D1=PC low 4 bit direction, D0 unused (usually 0).

For example, set all ports of CH0 as output: control word=1000 0000b=0x80.

Set the PA input, PB output, PC input, and PC output for CH1: D4=1, D3=1, D2=0, D1=0 → Binary 1 001 1 000 0=0x98.

Power on default: All ports automatically enter input mode, and the output latch is a random value. If output is required, the control word must be written to define the direction first, and then the data must be written to the corresponding port.

Output Read Back: Even if set as output, executing inportb (B+PA) can still read the current latch value, making it easier to verify program logic.

Detailed Analysis of Interrupt Programming

Using interrupts requires three steps:

Hardware settings: Select IRQ through JP6 and set JPx to E or P mode.

Software initialization: Write the appropriate I/O direction to the control word of the corresponding channel (note that PC0/PC3 must be inputs to receive external triggers, as they are interrupt source pins).

Clear interrupt status and allow interrupt: The manual provides a "false read" technique: first write an index to the control word register of the channel (i.e. base address+3,+7,...), and then read once from the PC port of this channel to clear the suspended interrupt and re enable it. Example code:

outportb(BASE+3, 0x00); //Point to CH0 CW (in fact, just write any CW address)

dummy = inportb(BASE+2); //Read PC0, clear interrupt

This operation will reset the interrupt trigger logic, enabling subsequent edge detection.

Writing ISR: Under DOS or Windows 3.1/95, interrupts can be mounted using the setvect() function of d_dos_getvect/d_dos_detvect or Borland C. In the service program, it is necessary to read the corresponding PC port to determine the interrupt source (PC0 or PC3 level), but please note that the input is not latched, and the order cannot be determined. Only the current state can be recognized.

Self triggering test: The manual provides an example program that generates interrupts through software simulation - by applying a jump to the PC0 or PC3 pin of a certain channel (by writing to the PC port), the interrupt can be triggered for debugging.

Interrupt sharing: Due to the output being in three states, multiple ACL-7122s can share the same IRQ. ISR needs to poll the status of each card to determine which card has generated an interrupt.


Common troubleshooting

Based on the manual and on-site experience, the following is compiled:

Possible causes and solutions for the fault phenomenon

The system is unable to recognize card base address conflicts or check for SW1 settings beyond the range. Refer to Appendix A to confirm unoccupied addresses (such as 2F8h as COM2, 3F8h as COM1, etc.)

If there is no level change in the output port, forget to write the control word or if the control word is incorrect, make sure to write CW first and then write the data; Check D7=1, correct direction position

Interrupt does not trigger JPx not set to E/P, or IRQ is blocked to confirm JPx jumper; Check if the IRQ in the system BIOS is assigned to ISA instead of PCI; Viewing the masking register with inportb (0x21) in DOS

Interrupt triggered multiple times or randomly triggered but not cleared correctly (false read not executed). In each ISR, a read operation must be performed on the PC port to clear the edge detection flag

When multi card sharing is interrupted, the response is abnormal. ISR does not poll all cards. In ISR, read the PC ports of each card in sequence to determine which one has changed

Insufficient high-level output driver, unused buffer or heavy load PA/PB. The minimum high-level is 2.4V and the current is 24mA. If the load is too large, a driving transistor needs to be added

  • VMIVME-9081 Intelligent I/O Controller
  • VMIC VME-2128 Digital Output Board
  • VMIC VMIOMAX-2940A PLC Module
  • VMIC VMIVME-5530M Optical Extender Board
  • VMIC VMIVME-7588-787 SBC – VMEbus Single Board Computer
  • VMIC VMIOMAX-1640B PLC Module
  • VMIC VMIPCI 5588-101 Reflective Memory Board
  • VMIVME-7765 VME Board – Industrial Control
  • GE Abaco VMIVME-7807 VME Processor Board
  • VMIC VMIVME-2540 Digital I/O Board
  • VMIC VMIACC BT01 Adapter Calibration Module
  • Maxsys Technology VMIC Test Station 00465-3800
  • VMIC VMIVME-1101 32-Bit TTL Digital Input Board
  • VMIVME-4120 VME Circuit Board
  • FANUC VMIC 332-999995-000 D VME Bus Board
  • VMIC VMIVME-7455 VME IDE CD-ROM Drive Module
  • VMIC VME I/O Board 5620
  • VMIC VME I/O Board 2128
  • VMIC VMIVME7588 VME Processor Board
  • GE Fanuc VMIVME-3419-200 Signal Conditioning Module
  • VMIC VMIVME 4512 Analog I/O Board
  • GE Fanuc VMIC VME 6U 6-Slot Chassis
  • VMIC VMIVME 5504 VMEbus Slave Module
  • VMIC VMIOMAX-9102A Power Supply
  • VMIC VMIVME 3120 Board
  • VMIC VMIVME-2330 VMEbus Circuit Board
  • VMIC VMIPMC-5565 Reflective Memory Node PMC
  • GE Fanuc VMIVME-7671 Linux Controller Processor
  • VMIC VMIVME-5599 Fiber Optic Switch
  • GE Fanuc VMIVME-4120 16-Ch 12-Bit Analog Output Board
  • VMIC VMIVME-4900 Dual Channel Synchro/Resolver Converter
  • VMIC VMIVME4514A VME Interface Board
  • VMI VME VMIC 4941 VME Interface Board
  • GE DS3820VMIC1A1B VME Interface Board
  • FANUC VMIVME7592-934 VME Processor Board
  • Abaco VMIC 5522V SGI-to-VME Bus Adapter Board
  • VMIC VMIVME-4120 VME Circuit Board
  • VMIVME7751 VME Single Board Computer
  • VMIC VMIVME5565 VME Reflective Memory Interface Board
  • VMIC VMIVME-4512 VME Processor Board
  • VMIC VMIVME-7454 VMEbus Analog Output Board
  • FANUC VMIVME-7452 Analog I/O Board
  • FANUC VMIVME-3230 Digital I/O Board
  • FANUC VMIVME-3114 Analog Input Board
  • FANUC VMIVME-2536 Digital I/O Board
  • VMIC 332-003413-111 C VMEbus Circuit Board
  • GE Fanuc VMIVME-7486 VMEbus CPU Processor Controller
  • VMIC VMIVME 4100 8-Channel 12-Bit DAC Board
  • VMIC VMIVME-4514 Module
  • VMIC VMIVME 1128 Digital Input Board
  • GE Fanuc VMIVME-5588 High-speed Reflective Memory Board
  • VMIC VMIVME-5565 Reflective Memory Board
  • VMIC VMIVME-2127 Voltage Source Digital Output Board
  • VMIC VMIVME 4512 Analog VME Process PCB Assembly
  • GE Fanuc VMIVME-3122-022 Analog I/O Module
  • VMIC VMIVME 5576 High Speed Fiberoptic Network Board
  • FANUC VMIVME-7452 VMEbus Analog I/O Board
  • FANUC VMIVME-2210 VMEbus Digital Output Board
  • FANUC VMIVME-7750-734000 VMEbus Single Board Computer
  • VMIC VMIVME 2210 VMEbus DO 28V Digital Output Board
  • VMIC VMIVME DR11W VMEbus DMA Interface Module
  • VMIC VMIVME-2536-200 5V Optically Coupled Digital I/O Board
  • VMIC VME-7754 VMIVMF7754-259000 VMEbus Control Card
  • VMIC 2170A VME Interface Board
  • GE VMIC PMC-5565PIORC-210000 Reflective Memory PMC Node Card
  • VMIC VMIVME-7750-750000 VME Single Board Computer
  • VMIC VMIVME-7751 VME Single Board Computer
  • VMIC 332-004512 Analog VME Process Board
  • VMIC VMIVME2528 VME Interface Board
  • FANUC VMIVME-2120 VME Bus Interface Board
  • FANUC VMIVME-2540 VME Bus Interface Board
  • FANUC VMIVME-3230 VME Bus Interface Board
  • FANUC VMIVME-4514 VME Bus Interface Board
  • ETEL DSB2S154-211E-000H Servo Amplifier
  • ETEL DSCQT112-111-000 Motion Control Module
  • ETEL LMG20-050-3QB-211A Servo Motor – High Torque Linear
  • ETEL EU-LCP-0-0-1000-01 Communication Card
  • ETEL DSA2P174ZA-033A Servo Amplifier Driver
  • ETEL EA-P2M-400-15/40A-0100-00 Servo Driver
  • ETEL DSC2P152-111-000 Servo Drive Amplifier
  • ETEL LMS15-050-3UA-209A Linear Motor
  • ETEL DSC2P152-111D-000A Controller
  • ETEL DSB2P131-111E-000B Digital Servo Amplifier Position Controller
  • ETEL DSO-PWR111C-000B Power Supply Module
  • ETEL DSCDP324-321F-000C Servo Driver
  • ETEL DSC2P152-111B-000D Controller
  • ETEL DSB2P142-111E-000H Circuit Board
  • ETEL LMG05-030-3QA-H01 Linear Motor
  • ETEL DSC2P152-111F-000A Controller
  • ETEL DSA2S211ZA Servo Drive
  • ETEL DSCDM332-112-000 Drive Module
  • ETEL DSCDP334-421-000 Digital Position Controller Servo Drive
  • ETEL EA-P2M-400-15/40A-0100-00 AccurET Servo Drive
  • ETEL TMA0140-050-3UB-202B Torque Motor
  • ETEL DSA1DL1D.PCB Servo Drive Board
  • ETEL DSA2DL 1A Servo Drive
  • ETEL DSMAX111B-000B Servo Drive
  • ETEL DSO-PWS111C-000B Power Supply Module
  • ETEL DSC2P142-111B-000D Servo Drive Amplifier
  • ETEL DSC2P132-111D-000A Servo Drive Amplifier
  • ETEL DSC2P152-111B-000D Servo Drive Amplifier
  • ETEL DSB2P131-121E-000H Servo Drive Amplifier
  • ETEL DSB2P142-111E-000H Servo Drive Amplifier
  • ETEL DSO-PWR112C-000A Power Supply Module – High Power
  • ETEL DSO-PWR111C-000A Power Supply Module
  • ETEL DSB2P121-121E-000H Servo Drive Amplifier
  • ETEL DSB2S134-111E-000H Digital Servo Amplifier
  • ETEL RTMA0140-070-AQN-21E Motor
  • ETEL DSCDP132-111-000 Dual Controller Circuit Board – Motion Control
  • ETEL LMS15-050-3UA-209Aft Linear Motor
  • ETEL DSCDP324-322G-000A Position Controller
  • ETEL DSA2P174ZA-033A Servo Amplifier Driver
  • ETEL DSA2P174ZA-017A Servo Amplifier Driver
  • ETEL LMD10-050-3QA-223A Linear Motor
  • ETEL EU-LGP-0-0-1000-00 PCI Network Card
  • ETEL DSO-PWS111C-000B Power Supply Module
  • ETEL DSC2V174-111C-001A Servo Controller
  • ETEL EA-P2M-600-15/40A-0000-01 AccurET Modular Position Controller
  • ETEL RTMA0140-070-AQN-21B DD Motor
  • ETEL DSC2P144-421-000 Servo Driver
  • ETEL EA-P2M-400-15-40A-0100-00 Servo Drive
  • ETEL DSCDM341-111C-000B Board
  • ETEL LMD10-050-3QA-223A Motor
  • ETEL RTMA0140-070-AQN-21E DD Motor
  • ETEL DSCDM342-111-000 Servo Variator
  • ETEL DSC2P152-111E-000A Servo Amplifier
  • ETEL LMS15-050-3UA-209A Motor
  • ETEL RTMA0140-070-AQN-21C DD Motor – High Torque Direct Drive