PIO-100(DOCS)          Optical Printer Control System    PIO-100(DOCS)

NAME
    pio-100 - OPCS parallel port I/O interface board

DESCRIPTION
    The OPCS parallel port interface board (PIO-100) was designed to 
    simplify wiring between the computer parallel port and the various
    digital sensors on the printer, using standard RJ-45 patch cables
    to route the signals to each sensor. The board also optically
    isolates the computer and the optical printer's digital sensors,
    namely home sensors, buckle/viewer switches, deenergize options,
    tension motors, etc.

    There are several revisions of this board:

        REV 3/Feb 2010: First use by Disney (YCM printers), used by others
                        See: http://seriss.com/opcs/docs/parallel-port-interface/rev3

        REV 6/Jan 2021: First use by Mike Ferriter, Andy Kaiser,
                        Bruce Heller, Carl Spencer, etc.
                        See: http://seriss.com/opcs/pio-100/

REV 6 "PIO-100" Parallel I/O Board - Jan 2021
=============================================
    This board has a webpage with schematics, wiring diagrams, PCB layouts,
    photos, and other useful information here:

        http://seriss.com/opcs/pio-100/

    As of this writing (Aug 2021), REV 6 is the latest revision of this board.
    This board was branded with the model number "PIO-100", to differentiate
    it from the other OPCS boards (A800, SD-800, etc).

    At the top, a parallel port connector is connected to the computer's
    parallel port via a DB-25 ribbon cable. On the right side, a single
    12V power connector. Derives 5V with an onboard 7805 used for the
    computer interface.

    While this board is optically isolated for the signals, there is a
    common ground between the 12V and 5V supplies.

    Along the bottom are 16 RJ-45 connectors arranged in two-tier
    connector blocks. These fan out to the optical printer's sensors
    and motor controls as individual RJ-45 patch cables, one per
    device. These devices can be 12V home sensors (or 'optical sensors'),
    tension motor control relays (SSR's), buckle/viewer switches,
    motor enable/disable controls, etc. 

    The REV 6 board looks like this:
    
                                PARALLEL PORT
                                _______________
   ____________________________|_______________|__________________________
  |          _    _            |               |                  _____   |  
  |         | |  | |           |_______________|                 |     |  |
  |         | |  | |                             _____   _____   |7805 |  |
  |         |_|  | |                            |_____| |_____|  |     |  |
  |              |_|                                             |_____|  |
  |                                                                |||    |
  |  _________   _________    _________    _________    _________       __|
  | |_________| |_________|  |_________|  |_________|  |_________|    -|  | 12V
  |                                                                   +|__| POW
  |                                                                       |
  |                                                ||..||..||..||..||..   |
  |                                                ||..||..||..||..||..   |
  |                                                NPN PNP                |
  |                                                                       |
  |   ______________________________    ______________________________    |
  |  | TENS    TENS    TENS    OUT  |  |   IN     IN     IN     IN    |   |
  |  | (2)     (3)     (4)     (5)  |  |  (10)   (11)   (12)   (13)   |   |
  |  |______________________________|  |______________________________|   |
  |  | OUT      OUT     OUT    OUT  |  |   IN                         |   |
  |  | (6)      (7)     (8)    (9)  |  |  (15)    X      X      X     |   |
  |__|______________________________|__|______________________________|___|


      \____________________________/    \____________________________/   
               Eight  RJ-45                      Eight  RJ-45
                Connectors                        Connectors
                (Two Tiers)                       (Two Tiers)

    Regarding the labels on the RJ-45 connectors, 
    the numbers in parenthesis are the parallel port pin#s:

        > Outputs (from the computer) are pins 2 thru 9.
        > Inputs (to the computer) are pins 10 thru 13, and 15.

    TENSION OUTPUTS
    ---------------
    At the bottom left, there are three 'TENSION' outputs intended to control
    the SSR relays for tension motors, one RJ-45 output cable per pair of
    feed/takeup motors, one pair for each film movement, which is typically:

         TENS(2) -- Aerial Projector (feed/takeup)
         TENS(3) -- Main Projector (feed/takeup)
         TENS(4) -- Camera (feed/takeup)

    Changing a bit on one of these outputs inverts the state of the
    feed/takeup so that only one of the two tension motor relays is on,
    and the other off.  In the OPCS software's setup file, OPCSDEFS.OPC,
    the TENSION(OPCSDEFS) command is used to configure this for each
    channel that supports tension motors.

    When the channel is running forward, the TAKEUP motor is energized,
    and FEED is disabled. Typically a small high power low ohm rating
    resistor lies across each SSR relay's output, allows a small amount
    of 110VAC to run the tension motor as a "holding current" when the
    relay is off.  When the relay is on, full 110 VAC drives the tension
    motor. Actual voltage to the motors are usually tunable with a variac
    the camera operator can set.

                  ###  TENSION(2,3,4) OUTPUTS ### 
                  ###      RJ-45 PINOUTS      ### 
                                                 
                   PIN#  DESCRIPTION    COLOR   
                    1    GND            WHT/ORN 
                    2    TAKEUP(-)      ORN     
                    3    GND            WHT/GRN 
                    4    TAKEUP(+)      BLU     
                    5    GND            WHT/BLU 
                    6    FEED(-)        GRN     
                    7    GND            WHT/BRN 
                    8    FEED(+)        BRN     

    GENERIC OUTPUTS
    ---------------
    Since the first three output pins of the parallel port are used for
    tension motors, the remaining five pins are generic optically isolated
    12V outputs that can be used for various purposes. Often these are
    used to deenergize channels, allowing the software to unlock motor(s)
    on command, allowing the operator to freewheel the motor, then the
    software can re-home the motor on completion.
    
    Generic output control can be done via the 'home' command as configured
    in the HOMEDEFS.HOM file, using either the 'setbit' or 'clrbit' commands.
    Similar commands in the OPCSDEFS.OPC file and/or OPCS run scripts
    can be used to change the parallel port's bits via command control,
    e.g.

       ldefs -c setbit 0378 8 0   -- set   parallel port pin #5 (bitmask 0x08)
       ldefs -c clrbit 0378 8 0   -- clear parallel port pin #5 (bitmask 0x08)

                  ###  OUT(5,6,7,8,9) OUTPUTS ### 
                  ###      RJ-45 PINOUTS      ### 
                                                  
                  PIN#    DESCRIPTION    COLOR   
                   1      GND            WHT/ORN 
                   2      GND            ORN     
                   3      GND            WHT/GRN 
                   4      N/C            BLU     
                   5      GND            WHT/BLU 
                   6      OUTPUT         GRN        <-- LOW=GND HI=+12V
                   7      GND            WHT/BRN 
                   8      +12            BRN     
                  
    GENERIC INPUTS
    --------------
    The generic inputs IN(10) thru IN(13) and IN(15) can be used for either
    home sensors, buckle/viewer switches, etc. These respond to voltages
    typically 12V (for "on") or pulled to Ground (for off).

    +12 and Ground signals are provided on each RJ-45 port to be used for
    driving the home sensor's internal circuits and for 12v/Gnd reference.

    Home sensors are typically configured for the 'home' command using the
    HOMEDEFS.HOM file's 'homeport' command, which procedures in that file
    can then use to test the home sensor to conditionally run motors.

    Buckle and Viewer switches can also be used to drive these inputs.

    Schematics are available on the website, and also are printed on the
    board's silk screen for reference, along with simple wiring diagrams.

                  ###   IN(10,11,12,13,15)  ### 
                  ###      RJ-45 PINOUTS    ### 
                                                
                  PIN#  DESCRIPTION    COLOR   
                   1    GND            WHT/ORN 
                   2    GND            ORN     
                   3    GND            WHT/GRN 
                   4    N/C            BLU     
                   5    GND            WHT/BLU 
                   6    IN             GRN     
                   7    GND            WHT/BRN 
                   8    +12            BRN     
              
    INPUT JUMPERS
    -------------
    To support both NPN and PNP home sensors, a jumper block is provided
    on the board to allow either type to be supported. The default is NPN,
    which is the most common sensor type. It is advised you standardize
    on only one type of sensor for all sensors, so they can be easily
    reassigned without having to change the jumpers.

    WARNING: BE SURE THE BOARD'S 12V POWER IS REMOVED BEFORE CHANGING JUMPERS.
             If you must change the jumpers while the board is "hot", remove
             *both jumpers completely* before replacing to the new positions.
             AVOID changing one jumper at a time, as that can short the 12V
             power supply during mid-change.

    CAVEATS
    -------
    The RJ-45 connectors labeled "X" are unused for I/O, but can be used
    for access to +12V and GND from the board for various purposes (such
    as 12V power lights, etc)

    On the REV 6 board, there are a TWO MINOR ERRORS that will be fixed
    in future revisions (probably REV 6A and up):

        > Many of the little diagrams on the silk screen are wrong.
          White labels are affixed over these problem diagrams to make
          corrections. All REV 6 boards in the field should already have
          these white 'fix labels' on them.

        > Two of the outputs, OUT(8) and OUT(9), do not match the normal wiring
          pattern of the other connectors. It's advised you do not use OUT(8)
          and OUT(9) on the REV 6 board, for consistency.


REV 3 "Parallel Port Interface Board" - Feb 2010
================================================
    This board has a webpage with schematics, wiring diagrams, PCB layouts,
    photos, and other useful information here:

        http://seriss.com/opcs/docs/parallel-port-interface/rev3/

    The REV 3 board uses separate +5V and +12V power, to ensure complete
    isolation. But it is possible to use a single dual +5v/+12v power supply 
    and share the signal ground.

    At the top, a parallel port connector is connected to the computer's
    parallel port via a ribbon cable. On the sides, power connectors for
    the input +12V and +5V. Along the bottom, RJ-45 connectors are used
    to fan out to the optical printer's sensors and motor controls; home
    sensors, tension motors, buckle/viewer switches, motor enable/disable
    controls, etc. It looks like this:

                                            PARALLEL PORT
                                            ____________
 __________________________________________|____________|______________________
|   _                                      |            |                   _  |  
|  | | +5/+12                              |____________|           +5/+12 | | |
|  | | POW CHAIN                   _____                _____          POW | | |
|  |_| OUTPUT                     |_____|              |_____|             |_| |
|             _______        _  _  _  _  _  _  _  _  _  _  _  _  _  _  _       |
|            |_______|      |_||_||_||_||_||_||_||_||_||_||_||_||_||_||_|      |
|                             ______                                   ______  |
|                            |______|                                 |______| |
|                                                                              |
|______________________________________ _______________________________________|
|PWR  PWR  PWR  IN   IN   IN   IN   IN | TEN  TEN  TEN  OUT  OUT  OUT  OUT  OUT|
| 1    2    3   15   13   12   11   10 |  9    8    7    6    5    4    3    2 |
|______________________________________|_______________________________________|

 \___________/  \____________________/   \___________/  \_____________________/
     RJ-45               RJ-45              RJ-45                RJ-45
     Power        Inputs from Buckle,      Tension            Outputs for
    Outputs       Viewer, Home sensors      Motor             various uses
                                           Outputs

    For the most part, the buckle/viewer sensors are configured by the
    BUCKLE(OPCSDEFS) and VIEWER(OPCSDEFS) commands in the OPCSDEFS.OPC
    file to define the port and bit mask values corresponding to the
    RJ-45 ports used for those features.

    The home sensors are configured in the HOME(DOCS) program's
    HOMEDEFS.HOM to define the port and bit mask values corresponding
    to the RJ-45 ports used for those features.

    The tension motor controls are configured with the TENSION(OPCSDEFS)
    command in the OPCSDEFS.OPC file to define the port and bit mask
    values corresponding to the RJ-45 ports used for those features,
    and are wired specially with Crydom solid state relays to control
    the AC tension motors.

    Various other inputs/outputs can be controlled by these ports, such as
    energizing/deenergizing certain motors via OPCS command control. An example
    would be the LOAD and LINEUP commands, which might want to run the motors
    small amounts, and deenergize the motors to allow manually loading film.
♀
PARALLEL CONNECTOR
    The parallel conenctor on the OPCS parllel port interface board is
    a femal DB-25 connector, which should be connected to one of the
    computer's parallel ports.

        PIN   PORT   MASK  I/O  RJ-45   DESCRIPTION      
        2     0x378  0x01  Out  OUT(2)  Generic output   
        3     0x378  0x02  Out  OUT(3)  Generic output   
        4     0x378  0x04  Out  OUT(4)  Generic output   
        5     0x378  0x08  Out  OUT(5)  Generic output   
        6     0x378  0x10  Out  OUT(6)  Generic output   
        7     0x378  0x20  Out  OUT(7)  Generic output   
        8     0x378  0x40  Out  TEN(8)  Camera Tension   
        9     0x378  0x80  Out  TEN(9)  Projector Tension
        10    0x379 !0x40  In   IN(10)  Generic Input    
        11    0x379 !0x80  In   IN(11)  Generic Input    
        12    0x379  0x20  In   IN(12)  Generic Input    
        13    0x379  0x10  In   IN(13)  Generic Input    
        15    0x379  0x08  In   IN(15)  Generic Input    
        18-25 -      -     Gnd  -       Ground           

RJ-45 CONNECTORS
----------------
    INPUTS - IN(10-15)
    ------------------
    The 5 generic inputs are realtime inputs that can be read by the
    computer. The OPCS software can be configured to make use of these
    inputs by specifying the corresponding port/mask via the OPCSDEFS.OPC
    or HOMEDEFS.HOM files.

    Typically generic inputs are used for either home sensors or
    buckle/viewer switch sensing.

          ###  IN(10) - IN(15)  ###   
          ###   RJ-45 PINOUTS   ###   
                                      
        PIN#  DESCRIPTION    COLOR   
        1     Chassis        WHT/ORN 
        2     GND            ORN     
        3     Chassis        WHT/GRN 
        4     -              BLU     
        5     Chassis        WHT/BLU 
        6     IN             GRN     
        7     Chassis        WHT/BRN 
        8     +12            BRN     
♀
    OUTPUTS - OUT(2-7)
    ------------------
    The 6 generic outputs can be controlled directly by commands in HOMEDEFS.HOM
    or OPCSDEFS.OPC, e.g. the SETBIT, CLRBIT, and XORBIT commands.

    Typically, generic outputs are used for de-energizing motors to allow
    manual load/unload of film with the custom LOAD and LINEUP commands.

          ###  OUT(2) - OUT(7)  ###   
          ###   RJ-45 PINOUTS   ###   
                                      
        PIN#  DESCRIPTION    COLOR   
        1     Chassis        WHT/ORN 
        2     GND            ORN     
        3     Chassis        WHT/GRN 
        4     -              BLU     
        5     Chassis        WHT/BLU 
        6     OUT            GRN     
        7     Chassis        WHT/BRN 
        8     +12            BRN     

    TENSION OUTPUTS - TEN(8) AND TEN(9)
    -----------------------------------
    The tension motor outputs TEN(8) and TEN(9) can control the FEED and TAKEUP
    motors for camera and projector.

    When parallel port pin 8's bit changes from 0 to 1, the TEN(8) RJ-45
    connector's FEED and TAKEUP outputs will change state, always being
    the compliment of each other (ie. if FEED is 'on', TAKEUP will be 'off').

            ###     TEN(8) AND TEN(9)    ###     
            ###       RJ-45 PINOUTS      ###     
                                                 
        PIN#  DESCRIPTION    COLOR   CRYDOM PIN#
        1     Chassis        WHT/ORN 4          
        2     -TAKEUP        ORN     -          
        3     Chassis        WHT/GRN 3          
        4     +TAKEUP        BLU     -          
        5     Chassis        WHT/BLU 4          
        6     -FEED          GRN     -          
        7     Chassis        WHT/BRN 3          
        8     +FEED          BRN     -          

    POWER OUTPUTS - PWR(1) THRU PWR(3)
    ----------------------------------
    PWR-1 through PWR-3 can be used to supply +12V power to the printer.

            ###     PWR-1 THRU PWR-3     ###     
            ###       RJ-45 PINOUTS      ###     
                                                 
        PIN#  DESCRIPTION    COLOR   CRYDOM PIN#
        1     Chassis        WHT/ORN 4          
        2     GND            ORN     -          
        3     Chassis        WHT/GRN 3          
        4     -              BLU     -          
        5     Chassis        WHT/BLU 4          
        6     -              GRN     -          
        7     Chassis        WHT/BRN 3          
        8     +12            BRN     -          

AUTHOR
    Greg Ercolano / Seriss Corporation 2009, 2021
© Copyright 1997 Greg Ercolano. All rights reserved.