Chapter 3. Program Data32 PACSystems* RX7i, RX3i and RSTi-EP CPU Programmer's Reference Manual GFK-2950C3.1.3 I/O VariablesAn I/O variable is a symbolic variable that is mapped to a terminal in the hardware configuration. Aterminal can be one of the following: Physical discrete or analog I/O point on a PACSystems moduleor on a Genius device, a discrete or analog status returned from a PACSystems module, or GlobalData. The use of I/O variables allows you to configure hardware modules without having to specifythe reference addresses to use when scanning their inputs and outputs. Instead, you can directlyassociate variable names with a module’s inputs and outputs.As with symbolic variables, memory required to support I/O variables counts against user space. Youcan configure the space available for I/O variables in the Memory tab of the PACSystems CPU.For a given module or Genius bus, you must use either I/O variables or manually located mappedvariables: you cannot use both in combination. It is not necessary to map all points on a module.Points that are disconnected or unused can be skipped. When points are skipped, space is reservedin user memory for that point (that is, a 32-point discrete module will always use 32 bits of memory).The hardware configuration (HWC) and logic become coupled in a PACSystems target on yourcomputer as soon as you do one of the following: Enable I/O variables for a module or Genius bus(even if you don't create any I/O variables), use one or more symbolic variables in the Ethernet GlobalData (EGD) component, or upload a coupled HWC and logic from a PACSystems PLC. The HWC andlogic become coupled in a PACSystems controller when coupled HWC and logic are downloaded to it.Effects of coupled HWC and logic:▪ Whether the HWC and logic are coupled in the PACSystems target on your computer or in thePACSystems controller, you cannot download or upload the HWC and logic independently.▪ When the HWC and logic are coupled in the PACSystems controller, you cannot clear the HWCand the logic independently.▪ As for any download, you cannot RUN Mode Store (RMS) the HWC and logic independently.▪ The HWC must be completely equal for you to make word-for-word changes, launch the OnlineTest mode of Test Edit, or accept the edits of Test Edit.I/O variables can be used any place that other symbolic variables are supported, such as in logic asparameters to built-in function blocks, user defined function blocks, parameterized function blocks, Cblocks, bit-in-word references, and transition contacts and coils.Restrictions on the Use of I/O Variables▪ Since I/O variables are a form of symbolic variable, the same restrictions that apply to othersymbolic variables of the same data type and array bounds apply to I/O variables.▪ Only a global variable can become an I/O variable. A local variable cannot become an I/O variable.▪ You can map only a discrete variable to a discrete terminal.▪ You can map only a non-discrete variable to an analog terminal.▪ Arrays and UDT variables must fit on the number of terminals in the reference address nodecounting from and including the terminal where you enter the array head or UDT variable. Forexample, if you have 32 analog terminals and you have a WORD array of 12 elements, you canmap it to terminal 21 or any terminal before it (1 through 20).▪ You can map a discrete array only to a terminal 8n+1, where n = 0, 1, 2, and so on. The "+1" isincluded because the terminals are numbered beginning with 1. If you map it to a terminal otherthan 8n+1, an error occurs upon validation.▪ An I/O variable cannot be mapped to more than one location in hardware configuration.▪ For the DO_IO function block, if an I/O variable is assigned to the ST parameter, then the sameI/O variable must also be assigned to the END parameter, and the entire module is scanned.▪ Some I/O modules do not support the use of I/O variables. For a list of modules that support I/Ovariables, please refer to the Important Product Information for Logic Developer – PLCprogramming software.