Chapter 4. Ladder Diagram (LD) ProgrammingGFK-2950C February 2018 1454.8.5 BUS_ FunctionsFour program functions allow the PACSystems CPU to communicate with modules in the system.■ Bus Read (BUS_RD)■ Bus Write (BUS_WRT)■ Bus Read/Modify/Write (BUS_RMW)■ Bus Test and Set (BUS_TS)These functions use the same parameters to specify which module on the bus will exchange datawith the CPU.Note: Additional information related to addressing modules is required to use the BUS_ functions.For open VME modules in an RX7i system, refer to the PACSystems RX7i User’s Guide toIntegration of VME Modules, GFK-2235. For other modules, refer to the productdocumentation provided by the manufacturer.Rack, Slot, Subslot, Region, and Offset ParametersThe rack and slot parameters refer to a module in the hardware configuration. The region parameterrefers to a memory region configured for that module. The sub-slot is ordinarily set to 0. The offset isa 0-based number that the function adds to the module’s base address (which is part of the memoryregion configuration) to compute the address to be read or written.BUS ReadThe BUS_RD function reads data from the bus.This function should be executed before the data is needed in theprogram. If the amount of data to be read is greater than 32767BYTES, WORDS, or DWORDS, use multiple instructions to read thedata.When BUS_RD receives power flow, it accesses the module at thespecified rack (R), slot (S), subslot (SS), address region (RGN) andoffset (OFF). BUS_RD copies the specified number (Length) of dataunits (DWORDS, WORDs or BYTEs) from the module to the CPU,beginning at output reference (Q).The function passes power to the right when its operation issuccessful. The status of the operation is reported in the statuslocation (ST).Note: For each BUS_RD function type, use the corresponding datatype for the Q operand. For example, BUS_RD_BYTE requiresQ to be a BYTE variable.Note: An interrupt block can preempt the execution of a BUS_RDfunction. On the bus, only 256 bytes are read coherently (i.e.,read without being preempted by an interrupt).Mnemonics:BUS_RD_DINTBUS_RD_DWORDBUS_RD_WORD