Home
        RIO-47100 User Manual - triumf data acquisition
         Contents
1.                          Addressing    There are three levels of addresses that define Ethernet devices  The first is the MAC or hardware address   This is a unique and permanent 6 byte number  No other device will have the same MAC address  The RIO  MAC address is set by the factory and the last two bytes of the address are the serial number of the board    To find the Ethernet MAC address for a RIO unit  use the TH command  A sample is shown here with a unit  that has a serial number of 3     Sample MAC Ethernet Address  00 50 4C 28 00 03    The second level of addressing is the IP address  This is a 32 bit  or 4 byte  number that usually looks like  this  192 168 15 1  The IP address is constrained by each local network and must be assigned locally   Assigning an IP address to the RIO board can be done in a number of ways     The first method for setting the IP address is using a DHCP server  The DH command controls whether the  RIO board will get an IP address from the DHCP server  If the unit is set to DH1  default  and there is a  DHCP server on the network  the controller will be dynamically assigned an IP address from the server   Setting the board to DHO will prevent the controller from being assigned an IP address from the server     The second method to assign an IP address is to use the BOOT P utility via the Ethernet connection  The  BOOT P functionality is only enabled when DH is set to 0  Either a BOOT P server on the internal network  or the Galil software may
2.       Analog Input 3       Analog Input 4  Analog Input 2          Analog Input 5       Analog Input 6  Analog Input 3          Analog Input 7       Analog Input 4          2  3  4  5  6  7  8  9             Analog Input 5       Analog Input 6             Analog Input 7                   Examples     MBA   3 2 4 array   Request the status of holding registers 2 5  AN1 and AN2 if MIO  or  AN2  AN3  AN4  ANS if MI1   The response is stored in array      MG AN 1002  Requests the status of analog input 2  result is transmitted via serial port  or ethernet      Packets     The command MBA  3 2 4 array   results in the following packets being sent  when one RIO is the master   and another RIO 47100 is the slave  communicating over handle A  port 502 Modbus   When MI is set to 0  the response is given as volts in 32 bit Floating Point  When MI is set to 1 the response is given as counts in  16 bit decimal notation  Assume analog inputs in ascending order from 0 7 are   4822   9753  1 4673  1 9629   2 4622  2 9675  3 4583  3 9600    Response     Slave MI 0    Response     Slave MI 1       32 bit Floating Point    Real Value    16 bit Integer Real Value       Field Name     volts     Field Name  counts        Function    Function       Starting Address High    Byte Count    Byte Count       Starting Address Low    RegVal2 High    RegVal2 High       Quantity of Registers High    RegVal2 Low       Quantity of Registers Low    RegVal3 High       RegVal2 Low    RegVal3 Low       RegVal3 H
3.       Examples     For the following example  array   contains  0 0 0 0 0 6 1 5 0 7  FF  00     MBA   1 12 array   Request to set digital output 7 high   MBA 5 7 1 Request to set digital output 7 high   SB1007 Request to set digital output 7 high   OB1007  IN 1000  Request to set digital output 7 high if digital output 0 is high  Packets     The command MBA  5 7 1 results in the following packets being sent  when one RIO is the master  and  another RIO is the slave  communicating over handle A  port 502 Modbus      Request Response  Field Name Field Name          Function Function       Starting Address High Starting Address High       Starting Address Low Starting Address Low       Output Value High Output Value High       Output Value Low Output Value Low                As a result of the MB command above  the slave RIO will have output 7 turned on     Function Code 6   06    Preset Single Register    Description    Modbus function code  06 is a request to write to a single register  This will write all 16 digital outputs of an  RIO configured as a slave     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI     Example     Normal Response Exception Response    MW results in  06   MW results in  86    _MWI contains  01 or  02    Ways to use function code 6 with Galil commands     1  MB command in raw packet mode  2  MB command with Modbus functio
4.     2  3  4  5  6  7  8  9       Analog Output 5             Analog Output 6                   Analog Output 7             Examples     MBA   4 2 4 array   Request the status of Registers 2 5  AO1 and AO2 if MIO  and AO2   AO3  AO4  AOS if MI1   The response is stored in array      MG AO 1002  Requests the status of analog output 2  result is transmitted via ethernet or  serial     Packets     The command MBA  4  2 4  array   results in the following packets being sent  when one RIO is the master   and another RIO 47100 is the slave  communicating over handle A  port 502 Modbus   When MI is set to 0  the response is given as volts in 32 bit Floating Point  When MI is set to 1 the response is given as counts in  16 bit decimal notation  Assume analog outputs in ascending order from 0 7 are   5  1  1 5  2  2 5  3  3 5  4    Response     Slave MI 0    Response     Slave MI 1       32 bit Floating Point    Real Value    16 bit Decimal    Real Value       Field Name     volts     Field Name     counts        Function    Function       Starting Address High    Byte Count    Byte Count       Starting Address Low    RegVal2 High    RegVal2 High       Quantity of Registers High    RegVal2 Low       Quantity of Registers Low    RegVal3 High       RegVal2 Low    RegVal3 Low       RegVal3 High    RegVal4 High       RegVal4 Low       RegVal5 High             Reg Val3 Low          With the slave MI set to 0  the master RIO   s arrays will look like this     array 0  16256  array 1  0  arra
5.     3 3V Output PWR                    ere  OP2A    CPUs  q  Output GND       Figure 4 6  25mA Sinking wiring diagram for Bank 2  DO 23 16     25mA Low Power Sourcing Outputs  LSRC     The 25mA sourcing option  refereed to as lower power sourcing  LSRC   are capable of sourcing up to 25mA  per output  The voltage range for the outputs is 5 24 VDC  These outputs should not be used to drive  inductive loads directly     Electrical Specifications    Output PWR OPnA  Max Voltage 24 VDC  Output PWR  OPnA  Min Voltage 5 VDC  Max Drive Current per Output 25 mA  sourcing    Wiring Information    With this configuration  the output power supply will be connected to Output PWR  labeled OPnA  and the  power supply return will be connected to Output GND  labeled OPnB   where n denotes 0  1  or 2 referring to  Bank 0  Bank 1  and Bank 2 respectively  Note that the load is wired between DO and Output GND  The  wiring diagram for Bank 0 is shown in Figure 4 7  Bank 1 in Figure 4 8  and Bank 2 in Figure 4 9  Refer to  Connectors for RIO 47xxx in the Appendix for pin out information      3 3V          Output GND    Figure 4 7  25mA Sourcing wiring diagram for Bank 0  DO 7 0      3 3V          Output GND    Figure 4 8  25mA Sourcing wiring diagram for Bank 1  DO 15 8      3 3V          Output GND    Figure 4 9  25mA Sourcing wiring diagram for Bank 2  DO 23 16     OUTC jumpers    The OUTC jumpers can be used when an external power supply is not desired for digital outputs 8 15  These  low powe
6.     XX 00       Screw terminal connectors   Din rail mount with metal cover   No analog outputs by default    Use     Y Y Y options to add Analog    16 500mA sourcing optoisolated digital outputs  16 optoisolated digital inputs        422   16Bit    HS     4 20mA     PWM    RTC    QUAD   SSI  and  BiSS       Table 1 1  RIO 47xxx Part Number Features and     Y Y Y Standard Options       Standard vs  Expanded Memory    Feature    Standard    Expanded         of array elements    400    1000         of program lines    200    400         of variables    126    256         of labels    62         of control loops    2    6         of Ethernet handles    3    5       Auto MDIX    NO    YES       10 100 Mbits s    100 Mbit s Standard   10 Mbit s with jumper added     Auto negotiated       Real time Clock       NO       YES   See  RTC for extra capabilities        Table 1 2  Feature differences between Standard and Expanded Memory options       RIO Functional Elements    Microcomputer Section    The main processing unit of the RIO is a specialized 32 bit Freescale Microcomputer with 32KB SRAM and  256KB of Embedded Flash memory  The SRAM provides memory for variables  array elements and  application programs  The flash memory provides non volatile storage of variables  programs  and arrays  it  also contains the RIO firmware  The RIO can process individual Galil Commands in approximately 40  microseconds     The RIO product line has a maximum of 10 000 write cycles for burning  BN  
7.    Force Multiple Coils Write Digital Outputs       Preset Multiple Registers   Write Analog Outputs             Table 3 2  Supported Modbus function codes and descriptions      By default the RIO uses function code 3 for analog inputs and function code 4 for analog outputs  For a majority of Modbus  devices this functionality is inverted  Use the MV command to switch the functionality  See MV command in the RIO  command reference for further details     Of the Modbus function codes the RIO supports  all are supported by the RIO when it operates as a master   also known as a client  or when it operates as a slave  server      Note  The remainder of this document uses the     symbol to signify that numbers are in hexadecimal  notation     Setup    Modbus TCP requires an Ethernet connection between master and slave  Modbus TCP also requires that all  slaves communicate with their masters over port 502  See the IH command to setup port communication for  the RIO     Raw Modbus Send Receive    Firmware revisions Rev D and newer support raw Modbus read write functionality  This provides the user  with the most flexibility for interfacing to modbus devices  Specifying a  1 for the Modbus function code  enables the raw read write of Modbus functions     See the MB command in the RIO Command Reference for further details     Modbus Read Write to Array Table    Firmware revisions Rev D and newer support the ability to read from and write to array data on the RIO  Up  to 1000 elements 
8.    USER MANUAL    RIO 47xxx    Manual Rev  1 0n    By Galil Motion Control  Inc     Galil Motion Control  Inc   270 Technology Way  Rocklin  California 95765  Phone   916  626 0101   Fax   916  626 0102   Email  support galilmc com    URL  www galilmc com       Rev Date 02 2013    Contents                               MSG Ue sos areca ance Seed va Soa eased waa tees eee an ee ae cae eed eae ne oan 17  Po Rae OO Dice ah is oh n edt i ad satis a Corn E Du Ea aid en ete 17  EET OOT TR cuotas e d ecd va cp a Sh oh see Ea a b aka du d ME ri ira a uiia o oT DE te etees 17  Mobnus sarH wit RIO ia cai o i iiio aii po cl tetas oie oou Leid o tet esie ea Eta 22    Dan BEP cut cie b e ie i dodo Gru Ud ed abd bla vcl ela eu pb o em iei eti ain o EB oc CE 47                                                                                                                                                                                                                                                                                                                                                    Chapter 1 Overview       Introduction    Derived from the same fundamentals used in building the Galil motion controllers  the RIO 47xxx is a  programmable remote I O controller that conveniently interfaces with other Galil boards through its Ethernet  port  The RIO is programmed exactly the same way as a DMC  Digital Motion Controller  with the  exception of a few revised commands and the removal of 
9.    unsolicited    because they can come out at any time  There are two software commands  that will configure how the controller handles these unsolicited messages  CW and CF     The RIO has multiple Ethernet handles as well as 1 serial port where unsolicited messages may be sent  The  CF command is used to configure the controller to send these messages to specific ports  In addition  the  Galil software has various options for sending messages using the CF command  For more information  see  the CF command description in the Command Reference     The CW command has two data fields that affect unsolicited messages  The first field configures the most  significant bit  MSB  of the message  A value of 1 will set the MSB of unsolicited messages  while a value  of 2 suppresses the MSB  Programs like HyperTerminal or Telnet need to use a setting of CW2 for the  unsolicited messages to be readable in standard ASCII format  However  the Galil software needs a value of  CW1 to be set so that it can differentiate between solicited and unsolicited messages  If you have difficulty  receiving characters from the controller  or receive garbage characters instead of messages  check the status  of the CW command     The second field of the CW command controls whether the product should pause while waiting for the  hardware handshake to enable the transmission of characters over RS 232  CW 0   or continue processing  commands and lose characters until the hardware handshake allows character
10.   After downloading a program  use the XQ  command to execute the program  The RIO also has an internal editor that may be used to create and edit  programs in the RIOs memory  The internal editor is a rudimentary editor and is only recommended when  operating with Galil s DOS utilities or through a simple RS 232 communication interface such as Windows  Hyperterminal  See the ED command in the Command Reference for more info        Program Format    A RIO program consists of instructions combined to solve a programmable logic application  Action  instructions  such as setting and clearing I O bits  are combined with Program Flow instructions to form the  complete program  Program Flow instructions evaluate real time conditions  such as elapsed time or input  interrupts  and alter program flow accordingly     A delimiter must separate each RIO instruction  Valid delimiters are the semicolon     or carriage return   The semicolon is used to separate multiple instructions on a single program line where the maximum number  of characters on a line is 40  including semicolons and spaces   A line continuation character        below the      on a standard keyboard  allows a command to be continued on the next line in the case that 40characters is  not enough for a single command  see example at the end of this section      Using Labels in Programs    All RIO programs must begin with a label and end with an End  EN  statement  Labels start with the number      sign followed by a maxim
11.   no parity  one stop bit  and hardware handshaking as shown in Error   Reference source not found  The baud rate for the RS232 communication defaults to 115k baud but can be  set to 19 2k baud by placing a jumper on J5  The serial port has a 4 bytes FIFO     Handshaking Modes    The RS232 port is configured for hardware handshaking  In this mode  the RTS and CTS lines are used  The  CTS line will go high whenever the RIO is not ready to receive additional characters  The RTS line will  inhibit the RIO board from sending additional characters  Note  The RTS line goes high for inhibit  This  handshake procedure is required and ensures proper communication especially at higher baud rates        Ethernet Configuration    Communication Protocols    The Ethernet is a local area network through which information is transferred in units known as packets   Communication protocols are necessary to dictate how these packets are sent and received  The RIO  supports two industry standard protocols  TCP IP and UDP IP  The board will automatically respond in the  format in which it is contacted     TCP IP is a  connection  protocol  The master must be connected to the slave in order to begin  communicating  Each packet sent is acknowledged when received  If no acknowledgment is received  the  information is assumed lost and is resent     Unlike TCP IP  UDP IP does not require a  connection   This protocol is similar to communicating via  RS232  Ifa cable is unplugged  the device sending th
12.  2 AQ 0 3 AQ 0 4       80 00  5 Volts  10 Volts 2 5 Volts 5 Volts       This data can be broken up into sections  The Data Record Map includes the 4 bytes of header  The  General Data Block consists of the sample number  the error code  and the general status  The I O Data  Block includes all the other items in the above table     Explanation of Status Information  Header Information      Bytes 0  1 of Header     The first two bytes of the data record provide the header information                                      Bytes 2  3 of Header     Bytes 2 and 3 make up a word  which represents the Number of bytes in the data record  including the  header  Byte 2 is the low byte  and byte 3 is the high byte     Note  The header information of the data records is formatted in little endian     General Status Information  1 Byte     BIT 7 BIT 2 BIT 1 BIT 0       Program   N A Waiting for Trace On   Echo On    Running input from IN  command       ZC and ZD Commands    Another important feature of the data record is that it contains two variables that can be set by the user  The  ZC and ZD commands are responsible for these variables  Each variable can be a number  a mathematical  equation  or a string  See the Command Reference for more information on the ZC and ZD commands     Chapter 4 I O       Introduction    Each RIO comes with a different set of default outputs types and quantity  Use Table 1 1 and Table 4 1  below to find out what default outputs come with your specific model  
13.  HS   16Bit    The  16 option specifies 16 bit resolution on the analog inputs and outputs  This option is valid on  the RIO 4712x  RIO 472xx  and RIO 47300 only     Part number ordering example  RIO 47120 16bit    AI  10v12Bit     This option changes the analog inputs on the RIO 472xx to accept   10V analog signals with 12 bit  resolution  The range of the analog inputs can be changed with the AQ command  similar to the  RIO 4712x     Part number ordering example  RIO 47200  AL_10v12bit       AL_10v16Bit     This option changes the analog inputs on the RIO 472xx to accept   10V analog signals with 16 bit  resolution  The range of the analog inputs can be changed with the AQ command  similar to the  RIO 4712x     Part number ordering example  RIO 47200  AL_10v16bit     4 20mA     This option installs resistors in parallel with each analog input  On RIO s with 0 5V analog input  ranges the resistor is 237 ohms and on RIO s with    10V analog input ranges the resistor value is  475 ohms  1       An RIO with    10V analog inputs should be configured for 0 10V range  AQ n  4   With this  setting  the range for 4 20mA will be 1 9V 9 5V     The equation for calculating the current for an RIO with    10V analog inputs is   Ina 2 105 V  The equation for calculating the current for an RIO with 0 5V analog inputs is   Ina 2 11 V  Where Ima   current in mA  V   Voltage reading from RIO  Part number ordering example  RIO 47120  4 20mA     AO Option  SCB 48608     The RIO 472xx by default
14.  IN  1  amp  IN  2  Set Output 3 only if Input 1 and Input 2 are high    OB2 COUNT  1  Set Output 2 if element 1 in array COUNT is non zero     The output port can be set by specifying the OP  Output Port  command  This instruction allows a single    command to define the state of the entire output bank  where 29 is bit 0  2  is bit 1 and soon  A 1 designates  that the output is on     For example     Instruction Interpretation   OP6 Sets bits 1 and 2 of bank 0 high  All other bits on bank 0 are 0  el  22  6    OP0 0 Clears all bits of bank 0 and 1   OP0 7 Sets output bits 0  1 and 2 to one  29   21   22   on bank 1  Clears all bits on  bank 0     The state of the digital outputs can be accessed with the  OUT n  where n is the output number  Ex   MG OUTT 1  displays the state of output number 1      Digital Inputs    The digital inputs are accessed by using the  IN n  function or the TI n command  The  IN n  function  returns the logic level of a specified input  n  where    n    is the input bit number  The IQ command determines  the active level of each input  The TI n command gives the input status of an entire bank  where    n    is the  bank number  0 or 1  The AI command is a trip point that pauses program execution until the specified  combination of inputs is high or low     Example     Using Inputs to control program flow    Instruction Instruction  JP  A  IN 1  0 Jump to A if input 1 is low    MG IN 2  Display the state of input 2  AI7 amp  6 Wait until input 7 is h
15.  Lo       Quantity Outputs Hi Quantity of Registers Hi       Quantity Outputs Lo Quantity of Registers Lo       Byte Count  RegVal0 High                RegVal0 Low  RegVall High                         RegVall Low       The slave RIO will have analog output 1 set to 5V and analog output 2 set to 3V    Example 2     The command MBA   16 2 2 array   results in the following packets being sent  when one RIO is the master   and another RIO 47100 is the slave  and array   contains  SFFFF  9999  6666  3333   communicating over  handle A  port 502 Modbus   MI is set to 1 on the slave     Request Response       Counts    Field Name Field Name          Function Function       Starting Address Hi Starting Address Hi       Starting Address Lo Starting Address Lo       Quantity Outputs Hi Quantity of Registers Hi       Quantity Outputs Lo Quantity of Registers Lo       Byte Count   RegVal0 High  RegVal0 Low  RegVall High  RegVall Low                            The slave RIO will have analog output 2 set to 5V and analog output 3 set to 3V    Analog I O Ranges    The analog inputs and outputs range from different values depending on the configuration of the RIO  This  information is specifically important when using the RIO to communicate as a modbus slave and MI is set to  1  With your part number  see Table 1 1 or Table 4 4 to find what analog option you have     0 5V Analog I O Option  Analog Inputs    AQ x m  see command reference for details     Analog Range Counts Range decimal    C
16.  and n indicates the thread number  To halt the execution of any thread  use the  instruction    HXn  where n is the thread number   Note that both the XQ and HX commands can be performed from within an executing program     For example     Instruction Interpretation   ZTASKI Task1 label   ATO Initialize reference time   CBI Clear Output 1   Z2LOOPI Loopl label   AT 10 Wait 10 msec from reference time  SBI Set Output 1   AT  40 Wait 40 msec from reference time  then initialize reference  CBI Clear Output 1   JP  LOOP1 Repeat Loopl    TASK2 Task2 label   XQ ZTASKI I Execute Task1    LOOP2 Loop2 label   WT20000 Wait for 20 seconds   HXI Stop thread 1   MG DONE  Print Message   EN End of Program    The program above is executed with the instruction XQ  TASK2 0 which designates TASK2 as the main  thread  i e  Thread 0    TASK1 is executed within TASK2        Debugging Programs    The RIO provides commands and operands that are useful in debugging application programs  These  commands include interrogation commands to monitor program execution  determine the state of the RIO  board and the contents of the program  array  and variable space  Operands also contain important status  information  which can help to debug a program     Trace Commands    The trace command causes the RIO to send each line in a program to the host computer immediately prior to  execution  Tracing is enabled with the command  TR1  TRO turns the trace function off  Note  When the  trace function is enabled  
17.  are assigned to array entries using the equal sign  Assignments are made one element at a time by  specifying the element number with the associated array name     NOTE  Arrays must be defined using the command  DM  before assigning entry values     Examples    DM OUTPUTT 10  Dimension Output Array   OUTPUT 1  3 Assigns the second element of the array  OUTPUT  the value of  3    OUTPUTT 1  7 Returns array element value   OUTPUT 9   TIO Assigns the 10th element of the array  OUTPUT  the value for  bank 0 digital inputs   data  2   COS POS  2 Assigns the third element of the array    data    the cosine of the  variable POS multiplied by 2    TIMER 1  TIME Assigns the second element of the array timer the returned value  of the TIME keyword     Using a Variable to Address Array Elements    An array element number can also be a variable  This allows array entries to be assigned sequentially using a  counter     For example     Instruction Interpretation   HA Begin Program   COUNT 0 DM POS 10  Initialize counter and define array    LOOP Begin loop   WT 10 Wait 10 msec   INPUT COUNT   TIO Record bank 0   s input bit value into array element  INPUT COUNT   Report input bit value   COUNT COUNT 1 Increment counter   JP ZLOOP COUNT  10 Loop until 10 elements have been stored   EN End Program    The above example records 10 input bit values for bank 0 at a rate of one value per 10 msec  The values are  stored in an array named INPUT  The variable  COUNT  is used to increment the array 
18.  be used  When opening the Galil Software  it will respond with a list of all RIO  boards and controllers on the network that do not currently have IP addresses  The user must select the board  and the software will assign the specified IP address to it  This address will be burned into the controller   BN  internally to save the IP address to the non volatile memory  Note  if multiple boards are on the  network     use the serial numbers to differentiate them           CAUTION  Be sure that there is only one BOOT P or DHCP server running  If your  network has DHCP or BOOT P running  it may automatically assign an IP address to the  RIO board upon linking it to the network  In order to ensure that the IP address is correct   please contact your system administrator before connecting the I O board to the Ethernet  network                    The third method for setting an IP address is to send the IA command through the RS 232 port   Note  The  IA command is only valid if DHO is set   The IP address may be entered as a 4 byte number delimited by  commas  industry standard uses periods  or a signed 32 bit number  e g  IA 124 51 29 31 or IA 2083724575    Type in BN to save the IP address to the RIO non volatile memory     NOTE  Galil strongly recommends that the IP address selected is not one that can be accessed across the  Gateway  The Gateway is an application that controls communication between an internal network and the  outside world     The third level of Ethernet addres
19.  cable  Part number  CABLE 9   PIND  between the serial port of the RIO and the computer or terminal communications port  The RIO serial  port is configured as DATASET  The computer or terminal must be configured as described in Table 2 2   Galil s communication software is already configured for this  and thus  an unnecessary step if using Galil  software     Port Setting Required RIO Configuration  Data Bits 8   Parity None   Start Bits 1   Stop Bits 1                   Flow Control Hardware          Table 2 2  Required Port Settings to communicate to an RIO using RS232    Check to insure that the baud rate jumpers  See Jumper Descriptions  have been set to the desired baud rate  as you re trying to connect with  Also  the hardware handshake lines  RTS CTS  need to be connected     At this point the user can connect either using GalilSuite software or a standard Windows HyperTerminal  session     See Chapter 3 Communication for more information on    Handshake Modes      Sending Test Commands to the Terminal after a successful Connection    After connecting to the computer or terminal  press  lt carriage return gt  or the  lt enter gt  key on the keyboard  In  response to carriage return  CR   the controller responds with a colon       Now type    TZ  CR     This command directs the RIO to return the current I O status  The controller should respond with something  similar to the following     ST   Block 0  7 0  Inputs   value 255  1111 1111   Block 1  15 8  Inputs   value 
20.  does not have analog outputs however analog outputs can be added using  the AO option  When analog outputs are added  a new screw terminal board is added called the  SCB 48608 and is attached to the RIO 472xx at the factory  cannot be installed in the field   This  board supplies 8 analog outputs to the RIO 472xx        The option can be ordered with  10V configurable analog outputs in either 12 or 16 bits     same as  RIO 4712x  or with 0 5V analog outputs 12 bit resolution     same as RIO 4710x  See the DQ  command for specifics on the  10V configurable options           Figure A 4  SCB 48608             The  12V terminals will provide  12V output only when the outputs are ordered as  10V  configurable outputs  Maximum current draw is 10mA each        When then 0 5V analog outputs are ordered the  12V terminals will be No Connects    8AO_5v12bit     This option adds 12 bit 0 5V analog outputs via the SCB 48608 on the RIO 472xx  See 0 5V  Analog Outputs in Chapter 4 for more information     Part number ordering example  RIO 47200  8AO Sv12bit   Qty 8  0 5V analog outputs with 12 bit resolution    8AO_10v12bit     This option adds 12 bit  10V configurable analog outputs via the SCB 48608 on the RIO 472xx   See    10V Configurable Analog Outputs in Chapter 4 for more information        Part number ordering example     RIO 47200  8AO_ 10v12bit        Qty 8  a   8AO 10v16bit         10V configurable analog outputs with 12 bit resolution     This option adds 16 bit  10V configur
21.  each of the Input Common pins for each bank of inputs   categorized by RIO model number     Input Common       RIO 471xx  Bank 0  DI 7 0  INCO  Bank 1  DI 15 8  INCI   RIO 472xx  Bank 0  DI 7 0  INCOA                   Bank 1  DI 15 8  INCIA  RIO 47300   Bank 0  DI 7 0  INCOA   Bank 1  DI 15 8  INCIA   Bank 2  DI 23 16  INC2A  Table 4 2  List of Input Commons for each Bank given the RIO model                             Although rare  it is sometimes desired that optoisolation is bypassed  This can be done by using the    INC     jumpers on the RIO allowing the inputs to be powered by the RIO s  5V internal reference voltage  In  addition  this requires a ground reference voltage as supplied by the Input Reference Ground pins  For more  details  see the INC jumpers section below     Electrical Specifications    Input Common  INCn  Max Voltage 24 VDC  Input Common  INCn  Minimum Voltage 0 VDC  Minimum current to turn on Inputs 1 2 mA  Minimum current to turn off Inputs once activated  hysteresis  0 5 mA  Maximum current per bank of inputs  11 mA  Internal Resistance of Inputs 2 2 KQ     See the Input Current Limitations section below for details   Wiring the Digital Inputs    Input Common can either be connected to the positive side of a DC power supply or to the Ground side of a  DC power supply  When a device is connected to the digital input  current flowing through the optocoupler  will cause the input to turn on  The logic of the input can be configured using the IQ comm
22.  either  01 or  02  which describes the number of bytes of digital  inputs being returned  byte count   quantity of inputs 8  if the remainder is not 0  byte count   quantity of  inputs 8  1   The RIO will respond with a input status of 1 or 2 bytes  equal to the byte count  ranging from   0001 SFFFF  with each bit representing the state of a digital input  1 or 0   The LSB of the first input status  byte refers to the input addressed by the request packet     Coil Mapping    Addresses    Addresses       Digital Input 0    Digital Input 8       Digital Input 1    Digital Input 9       Digital Input 2    Digital Input 10       Digital Input 3    Digital Input 11       Digital Input 4    Digital Input 12       Digital Input 5    Digital Input 13       Digital Input 6    Digital Input 14          Digital Input 7          Digital Input 15       Examples   MBA   2 2 12 array   Request the status of discrete inputs 2 13  result is stored in array       MG IN 1002  Requests the status of input 2  result is transmitted via serial port or  ethernet     Packets     The command MBA   2 2 12 array   results in the following packets being sent  when one RIO is the master   and another RIO is the slave  communicating over handle A  port 502 Modbus   Assume digital inputs  in  descending order from 15 0 are  0 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1     Request Response       Field Name Field Name       Function Function       Starting Address High Byte Count       Starting Address Low Inputs Status 
23.  exception status    Packets     The command MBA   7 array   results in the following packets being sent  when one RIO is the master  and  another RIO is the slave  communicating over handle A  port 502 Modbus   Assume digital outputs  in  descending order from 15 0 are 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0   555A A     Request Response       Field Name Field Name       Function Function       Output Data                array 0  on the master RIO will equal 170 in this example     Function Code 15   0F      Write Multiple Coils    Description    Modbus function code   0F  is a request to write multiple coils  This will write multiple digital outputs to an  RIO configured as a slave     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI     Example   Normal Response Exception Response  _MW results in  0F   MW results in  8F    _MWI contains  01 or  02  Ways to use function code 15 with Galil commands     1  MB command in raw packet mode  2    MB command with Modbus function code 15    Operating as a slave    The RIO will accept a write multiple coils request with a starting address ranging from  0000  000F   referencing digital outputs 0 15  The RIO will accept a request for up to all 16 of its digital outputs  or   0001  0010     The RIO will respond with function code  0F  a starting address field which matches the starting address  field of the request
24.  from the default 8 single ended analog  inputs to 4 differential analog inputs     Differential Pairs       Input 0  amp  Input 1 and  5V input range  Input 2  amp  Input 3 and  10V input range  Input 4  amp  Input 5 and 0 5V input range  Input 6  amp  Input 7 and 0 10V input ran    Table 4 8  Differential analog input channels on RIO s with the  10V configurable option                      Chapter 5 Programming       Overview    The RIO provides a versatile programming language that allows users to customize the RIO board for their  particular application  Programs can be downloaded into the RIO memory  freeing up the host computer for  other tasks  However  the host computer can send commands to the RIO at any time  even while a program  is being executed     In addition to commands that handle I O  the RIO provides commands that allow it to make decisions  These  commands include conditional jumps  event triggers  and subroutines  For example  the command  JP LOOP  n lt 10 causes a jump to the label  LOOP if the variable n is less than 10     For greater programming flexibility  the RIO provides user defined variables  arrays  and arithmetic  functions  The following sections in this chapter discuss all aspects of creating applications programs  The  RIO 47xx0 program memory size is 200 lines x 40 characters  The RIO 47xx2 increases the memory size to  a total of 400 lines x 40 characters        Editing Programs    Use Galil software to enter programs in the Editor window
25.  keywords have corresponding commands except for TIME                    Examples of Keywords     Vi  DA Assign V1 the number of available array names  V3 TIME Assign V3 the current value of the time clock       Arrays    For storing and collecting numerical data  the RIO 47xx0 provides array space for 400 elements  This  number is increased to 1000 array elements on the RIO 47xx2  The arrays are one dimensional  and up to 6  different arrays may be defined  Each array element has a numeric range of 4 bytes of integer  2    followed  by two bytes of fraction     2 147 483 647 9999   Arrays can be used to capture real time data  such as the  bit status of a particular I O bank     Defining Arrays    An array is defined with the command DM  The user must specify a name and the number of entries to be  held in the array  An array name can contain up to eight characters  starting with an uppercase alphabetic  character  The number of entries in the defined array is enclosed in         Example     DM IOSTAT 100  Defines an array names IOSTAT with 100 entries  DA     Frees array space using Deallocate command    Assignment of Array Entries    Like variables  each array element can be assigned a value  Assigned values can be numbers or returned  values from instructions  functions and keywords     Array elements are addressed starting at count 0  For example  the first element in the OUTPUT array   defined with the DM command  DM OUTPUT 7   would be specified as OUTPUT 0      Values
26.  on the bank of INCn INCnA  INC jumpers    The INC jumpers can be used when an external power supply is not desired for the digital inputs  These  inputs can use the internal  5V from the RIO instead  To do this  place jumpers on the INC pins as shown in  Figure 4 15  using the RIO 47100 as an example  Each RIO model has a slightly different labeling scheme  for these jumpers  so use Table 4 3 as a reference for the INC Jumper Labels for your model     OLNO  9    Figure 4 15  INC Jumpers installed on a RIO 47100    INC Jumper Labels    Input Reference Ground       RIO 471xx  Bank 0  DI 7 0  INC INCOB   Bank 1  DI 15 8  INC INCIB    RIO 472xx  Bank 0  DI 7 0  INC INCOB  Bank 1  DI 15 8  INC INCIB   RIO 4730  Bank 0  DI 7 0  INCOA  INCOB INCOB  Bank 1  DI 15 8  INCIA  INCIB INCIB  Bank 2  DI 23 16  INC2A  INC2B INC2B    Table 4 3  Listing of INC Jumpers and Input Reference Ground by model                                           Labeled    N C    see RIO 471xx   44 pin D Sub Connector for correct pin outs      Location of the jumpers are in the Appendix listed under Jumper Descriptions     Warning  Do not connect power to the Input Common pins when INC jumpers are installed  damage  will occur to the unit     In addition to installing the INC jumpers  the digital inputs must have a reference ground  This reference  comes from the Input Reference Ground pins as shown in Table 4 3 above  Figure 4 16  Figure 4 17  and  Figure 4 18 shows  for the RIO 47100   47200  and  47300 resp
27.  packet  and a quantity of outputs which matches the quantity of outputs field of the  request packet     Coil Mapping    Addresses    Addresses       Digital Output 0    Digital Output 8       Digital Output 1    Digital Output 9       Digital Output 2    Digital Output 10       Digital Output 3    Digital Output 11       Digital Output 4    Digital Output 12       Digital Output 5    Digital Output 13       Digital Output 6    Digital Output 14          Digital Output 7          Digital Output 15       Examples    For the following example  array   contains  0 0 0 0 0 9 1 15 0 0 0 16 2  A A  55   MBA   1 15 array   Request to write  AA55 to digital outputs 15 0  For the following example  array   contains   AA55    MBA   15 0 16 array   Request to write  AA55 to digital outputs 15 0  Packets     The command MBA   15 0 16 array    when array contains   AA55   results in the following packets being  sent  when one RIO is the master  and another RIO is the slave  communicating over handle A  port  502 Modbus   The slave RIO s outputs 15 0 will be set to the following  1 is on 0 is off         Request    Response       Field Name    Field Name       Function    Function       Starting Address High    Starting Address High       Starting Address Low    Starting Address Low       Quantity of Outputs High    Quantity of Outputs High       Quantity of Outputs Low    Quantity of Outputs Low       Byte Count       Outputs Value High       Outputs Value Low                Function Cod
28.  to the  value of V8 V2   JP A Jump to  A    Using If  Else  and Endif Commands    The RIO provides a structured approach to conditional statements using IF  ELSE and ENDIF commands   Using the IF and ENDIF Commands    An IF conditional statement is formed by the combination of an IF and ENDIF command  The IF command  has arguments of one or more conditional statements  If the conditional statement s  evaluates true  the  command interpreter will continue executing commands which follow the IF command  If the conditional  statement evaluates false  the RIO will ignore commands until the associated ENDIF command is executed  OR an ELSE command occurs in the program  see discussion of ELSE command below      Note  An ENDIF command must always be executed for every IF command that has been executed   Using the ELSE Command    The ELSE command is an optional part of an IF conditional statement and allows for the execution of  commands only when the argument of the IF command evaluates False  The ELSE command must occur    after an IF command and has no arguments  If the argument of the IF command evaluates false  the RIO will  skip commands until the ELSE command  If the argument for the IF command evaluates true  the RIO board  will execute the commands between the IF and ELSE commands     Nesting IF Conditional Statements    The RIO allows for IF conditional statements to be included within other IF conditional statements  This  technique is known as  nesting  and the RIO allow
29. 0 to break out analog signals          List of Other Publications     Step by Step Design of Motion Control Systems   by Dr  Jacob Tal    Motion Control Applications   by Dr  Jacob Tal    Motion Control by Microprocessors     by Dr  Jacob Tal       Contacting Us    Galil Motion Control  270 Technology Way  Rocklin  CA 95765    Phone  916 626 0101   Fax  916 626 0102   E Mail Address  support galilmc com  URL  www galilmc com       Training Seminars    Galil  a leader in motion control with over 500 000 controllers working worldwide  has a  proud reputation for anticipating and setting the trends in motion control  Galil  understands your need to keep abreast with these trends in order to remain resourceful and  competitive  Through a series of seminars and workshops held over the past 15 years   Galil has actively shared their market insights in a no nonsense way for a world of  engineers on the move  In fact  over 10 000 engineers have attended Galil seminars  The  tradition continues with three different seminar  each designed for your particular skill set    from beginner to the most advanced     MOTION CONTROL MADE EASY  WHO SHOULD ATTEND    Those who need a basic introduction or refresher on how to successfully implement servo  motion control systems     TIME  4 hours  8 30 am 12 30 pm     ADVANCED MOTION CONTROL  WHO SHOULD ATTEND    Those who consider themselves a  servo specialist  and require an in depth knowledge of  motion control systems to ensure outstanding cont
30. 255  1111 1111   B    B       lock 0  7 0  Outputs   value 0  0000 0000    lock 1  15 8  Outputs   value 0  0000 0000    Analog Inputs  7 0   0 0000 0 0000 0 0000 0 0000 0 0037 0 0012 0 0000 0 0000  Analog Outputs  7 0   0 0000 0 0000 0 0000 0 0000 0 0000 0 0000 0 0000 0 0000          RIO Web Server    The RIO has a built in web server that can be accessed by typing the IP address of the controller into a  standard web browser  The controller comes from the factory without any IP address assigned so a user must  go through the steps outlined above to establish an IP address before the web server is accessible  Figure 2 5  shows an output of the RIO Web Server     RIO 1 0 Controller   Mozilla Firefox  File Edit View History Bookmarks Split Tools Help    E    T e ft  B http   192 168 15 4                    1 800 377 6329    execute       Figure 2 5  RIO Web Server Output    Chapter 3 Communication       Introduction    The RIO has one RS 232 port and one Ethernet port  The RS 232 port is the data set  and it is a standard  serial link with a communication baud rate up to 115kbaud  The RIO is capable of 100bT or a 10bT Ethernet  connection  The RIO 47x42 and RIO 47300 have dual port Ethernet switches        RS232 Port    The RIO board has a single RS232 connection for sending and receiving commands from a PC or other  terminal  The pin outs for the RS232 connection can be found in the Appendix   Power  J5  2 pin Molex     RS 232 Configuration    Configure the PC for 8 data bits
31. 31 0020 44476 3112 2 Position     gt See the Appendix for your RIO PLC for the appropriate power pin outs in the Connectors for RIO 47xxx     Step 3  Install the Communications Software    After applying power to the computer  install the Galil software that enables communication between the I O  board and your PC  It is strongly recommended to use the Galil software    GalilSuite    when communicating  to the RIO unit  Please see the GalilSuite Manual for a complete description of how to install and connect to  Serial or Ethernet controllers     http   www galilmc com support manuals galilsuite pdf  Step 4  Establish Communications between RIO and the Host PC  Ethernet     For non Auto MDIX RIO models     connect the RIO Ethernet port to your computer via an Ethernet crossover  cable  or to a network hub by a straight through Ethernet cable  An IP address needs to be assigned via a  DHCP server  through Galil s software  or via a serial cable using the IA command  See Chapter 3  Communication for more information on how to establish an IP address  Once an IP address is established   the user can communicate to the controller either using GalilSuite s Terminal or even a simple Windows  Telnet session can connect to the controller      Please refer to Table 3 1 for a full description of your RIO s Ethernet capabilities  Auto MDIX RIO models can use either a  straight through or cross over cable     RS 232     To use serial communication  connect a 9 pin straight through RS 232
32. 4 to the variable V2   Var  CAT  Assign the string CAT to variable Var    Displaying the value of variables at the terminal    Variables may be sent to the screen using the format  variable   For example  V1      returns the value of the  variable VI  V1     or MG V1 are also valid ways of displaying a variable        Operands    Operands allow status parameters of the RIO to be incorporated into programmable variables and  expressions  Most RIO commands have an equivalent operand   which are designated by adding an  underscore  _  prior to the command  see command reference      Examples of Internal Variables     IN1I  IN 1  Assigns value of input 1 to the variable INI   JP  LOOP  AN 0  lt 2 Jump to  LOOP if analog input 0 is less than 2  JP  ERROR  TC 1 Jump to  ERROR if the error code equals 1     Operands can be used in an expression and assigned to a programmable variable  but they cannot be assigned  a value  For example  _TIO 1 is invalid     Special Operands  Keywords     The RIO provides a few additional operands that give access to internal variables that are not accessible by  standard RIO commands     Operand Function    BN  Returns serial   of the board    Returns the number of arrays available   Returns the number of available labels for programming                    Returns the available array memory    Returns the number of available variables  Free Running Real Time Clock  Resets with power on    Note  TIME does not use an underscore character      All these
33. 65536  which is 91750 65536   1 3999  Thus   91750 65536  80000   111999 5117  and reveals the source of the error     By ignoring decimals and multiplying by integers first  since they carry no error   and then adding  the decimal back in by dividing by a factor of 10 will allow the user to avoid any errors caused by  the limitations of precision of the controller  Continuing from the example above      var  14 80000       MG var    1120000 0000   var  var 10     MG var    112000 0000    Ignore decimals  Print result       Divide by 10 to add in decimal  Print correct result       Bit Wise Operators    The mathematical operators  amp  and   are bit wise operators  The operator   amp   is a Logical And  The operator      is a Logical Or  These operators allow for bit wise operations on any valid RIO numeric operand   including variables  array elements  numeric values  functions  keywords  and arithmetic expressions  The  bit wise operators may also be used with strings  This is useful for separating characters from an input  string  When using the input command for string input  the input variable will hold up to 6 characters  These  characters are combined into a single value  which is represented as 32 bits of integer and 16 bits of fraction   Each ASCII character is represented as one byte  8 bits   therefore the input variable can hold up to six  characters  The first character of the string will be placed in the top byte of the variable and the last character  will be p
34. 9 2       Quantity of Inputs High Inputs Status 13 10                Quantity of Inputs Low       1    Byte of Response Word                                                                   Note  bits in the response marked  X  are not valid input response data  but are instead 0 s that fill the  remainder of the byte  Inputs report back a 0 when active and a 1 when inactive    On the master RIO  array 0  205 and array 1  12 after the MBA   2 2 12 array   command is issued    Function Code 3   03    Read Holding Registers    Description    Modbus function code  03 is a request to read holding registers  In its default configuration the RIO 471x0  responds to this command with analog input register information  To configure the RIO to respond to a  function code 3 request with analog output information see the MV command in the command reference     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI        Example   Normal Response Exception Response  _MW results in  03 _MW results in  83    _MWI contains  01 or  02    When using the MB command with Modbus function code  03  response data will be stored in the array  referenced in the command line  When using  AN     AN   contains the response data  which can either be  stored to a variable or transmitted via serial port or ethernet     Ways to use function code 3 with Galil commands     1  MB comm
35. BP  BV combined    Communication    The communication interface with the RIO consists of one RS 232 port  default is 115 kBaud s  and one  10 100Base T Ethernet port  speed is jumper configurable with RIO 47xx0   The RIO 47x42 has a  integrated switch with dual Ethernet ports     RIO 47x0x and RIO 47x2x    There are four status LEDs on the RIO that indicate operating and error conditions on the controller  Figure  1 1 and Figure 1 2 shows a diagram of the LED bank followed by the description of the four lights on the    RIO 471xx and the RIO 472xx   PWR LNK  ENR H ACT    Figure 1 1  Diagram of LED bank  on the RIO 471xx    D rn jg n  PWR ERR LNK ACT    Figure 1 2  Diagram of LED bank on  RIO 472xx    Green Power LED  PWR    The green status LED indicates that the power has been applied  properly to the RIO     Red Status Error LED  ERR    The red error LED will flash on briefly at power up  After the  initial power up condition  the LED will illuminate for the following reasons     1  The reset line on the controller is held low or is being affected by noise   2  There is a failure on the controller and the processor is resetting itself   3  There is a failure with the output IC that drives the error signal     Green Link LED  LNK      The green LED indicates there is a valid Ethernet connection  This  LED will show that the physical Ethernet layer  the cable  is connected     Activity  ACT      The amber LED indicates traffic across the Ethernet connection  This LED will  sh
36. Description    Low power switching power supply that comes with a 2 pin Molex  connector to allow for mating directly to the RIO  See  specifications here  PS 0 25 24 Electrical Specifications        PS 2 50 24    Low power switching power supply that comes with a 2 pin Molex  connector to allow for mating directly to the RIO  See  specifications here  PS 2 50 24 Electrical Specifications        ICS 48026 M    26 pin D high density male to screw terminals   Use 1 for each RIO 471x0 to break out analog signals       ICS 48044 M    44 pin D high density male to screw terminals   Use 1 for each RIO 471x0 to break out analog signals       SCB 48206    26 pin D high density Signal Conditioning Board interfaces to up    to six RTDs  Resistive Temperature Device   See Al     SCB   48206 for details        SCB 48306 KTYPE    26 pin D high density Signal Conditioning Board provides  interface for up to six K type thermocouples with screw terminal  type connectors  SeeA2     SCB 48306 48316 for details        SCB 48316 KTYPE    26 pin D high density Signal Conditioning Board provides  interface for up to six K type thermocouples with thermocouple  mating type connectors  SeeA2     SCB 48306 48316 for details        CABLE 44M 1M    44 pin D high density male cable to discrete wires   Use 1 for each RIO 471x0 to break out analog signals   1M   1 meter length  Order  2M for 2 meter length       CABLE 26M 1M       26 pin D high density male cable to discrete wires   Use 1 for each RIO 471x
37. GALIL MOTION CONTROL O  ETHERNETI MADE IN USA  UUT   13  TYP  JP102    Figure A 6  Dimensions of the RIO 47142  Units in cm     RIO 472xx    206 9       194 9    RC n 182 5  EENS    Ho v DOOOOOOOOOD000000 aaagampaaadgaagaaaauuu Q  wr Ces   Fu  BRISSSSOSSSEPPDP    FE RIO 47200 295 SEEE    O  p SEE   8 818  GALIL MOTION CONTROL     MADE IN USA Rd o oles      e E  QJ s    O OO OIO OO OIO OIO OJO OO OJO O O OJO O O OJOO  O 9 OOOQOQ0O O00 O0 0000 90 0O OO0 O000  k 88 szs2 2  PsassisscElss2ERRRS    Eon rn  AiR ERR LNK ACT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Figure A 7  Dimensions for RIO 472xx  units in cm        RIO 47300          RESET ESSE     e RIO 47300                      INT IIT        I irmninnmnnnnnmmnnmnmnnmnnnmmnmnmni       Figure A 8  Dimensions of RIO 47300  Units in cm         Accessories    Product       PS 0 25 24    
38. INC jumpers section for more detail       When ordered with  2LSRC this pin will actually be Output Power Ground for Bank 1   3 When ordered with  2LSRC this pin will actually be  5 24V Output Power Supply for Bank 1     When ordered with  HS option DI3 is high speed input  and DI2 is high speed input   DI2 is lost      gt  PWM outputs  See  PWM option in Appendix and Chapter 4 I O    Note  For inputs Bank 0 is DI 7 0  and Bank 1 is DI 15 8   For outputs Bank 0 is DO 7 0  and Bank 1 is DO 15 8      RIO 471xx   26 pin D Sub Connector    Description i Description i Description       No Connect No Connect No Connect    47100  No Connect R d 47100  No Connect  47120 47142   12V out SATIR 47120 47142   12V out    Analog Input 7 Ground Analog Input 6             Analog Input 4 Analog Input 5 Analog Input 3       Analog Input 1 Analog Input 2 Analog Input 0       Ground Ground Analog Output 7       Analog Output 5 Analog Output 6 Analog Output 4             Analog Output 2 Analog Output 3 Analog Output 1       Ground Analog Output 0                               RIO 472xx   Screw Terminals                                                                                           Label Description Label Description   18 36 18 36VDC logic power input DI10 Digital Input 10   RET Return side of logic power input DI11 Digital Input 11   AGND Analog Ground DI12 Digital Input 12   AGND Analog Ground DI13 Digital Input 13   AIO Analog Input 0 DI14 Digital Input 14   All Analog Input 1 DI15 D
39. J4 31   Channel 1 Clock   DI12  J4 2   Channel 1 Data  DI15  J4 1           Channel 1 Data  DI13 J4 17   Ground N C  J4 41           Part number ordering example  RIO 47122 QUAD     PWM    Using the DY  PM and FQ commands  digital outputs 14 and 15 can be configured as PWM outputs  with a frequency range of 10 20 000 Hz  This is only available on firmware Revs D and above  By  default the maximum frequency output will be limited by the bandwidth of the digital outputs  With  the  PWM option the optoisolated outputs are bypassed and buffered outputs are supplied for DO  14 15     Electrical Specifications for DO14 15 with  PWM option    Vo Output Voltage Range OV to 3 3V  Io Current output   Sink Source 5 mA  Max    3 3V    CPU DO 15 14        Figure A 2   PWM option    For the standard low power digital outputs found on the RIO 47xxx the bandwidth is 50 Hz     Part number ordering example  RIO 47102 PWM    This option changes digital input 3  DI3  to a high speed digital input  It is available on the RIO   47xxx as a standard option  With this option  the input becomes a TTL level input that is differential  with respect to digital input 2  DI2 is not available as an input with the  HS option   The maximum  frequency of pulses that can be captured is increased to 3Mhz  5096 duty cycle   If higher values are  required  please consult factory                    4 99K  LIN    IN 3  DNI 1 5K  MAX3490  LIN  2  1K    Figure A 3   HS Option    Part number ordering example  RIO 47100
40. LABEL  SB1  CB2    Set Bit 1 and Clear Bit 2  EN     END OF PROGRAM    Note  The NO command also works to comment programs  The inclusion of the apostrophe or NO  commands will require process time by the RIO board     Using REM Statements with the Galil Terminal Software    When using Galil software to communicate with the RIO  REM  as in remark  statements may also be  included     REM    statements begin with the word    REM    and may be followed by any comments that are on  the same line  The Galil terminal software will remove these statements when the program is downloaded to  the RIO board  For example     ZOUTPUT   REM PROGRAM LABEL  SB1 CB2    REM Set Bit 1 and Clear bit 2  EN   REM END OF PROGRAM    Since the REM statements will be removed when the program is downloaded to RIO  be sure to keep a copy  of the program with comments stored on the PC     Program Lines Greater than 40 Characters    Line Continuation Character    A new character        ascii character 96  has been included to allow a command in an application program to  extend beyond the confines of the 40 character maximum line length      TEST   IF  var100 100  amp   var101   50   MG Condt  tion satisfied    ELSE MG      Stop    ENDIF   EN    This allows for  a  more efficient command compressing  b  the continuation of message commands  MG  on multiple lines   c  Longer IF  JP   amp  JS conditional statements     Note  the total length of a multi line command can not exceed 80 characters     Lock Pro
41. Note  The term    master    is equivalent to the Internet  client  and the term    slave    is equivalent to the  Internet  server      An Ethernet handle is a communication resource within a device  The RIO 47xx0 can have a maximum of 3  Ethernet handles open at any time  This number is increased to 5 Ethernet handles on the RIO 47xx2  If all  handles are in use and another device tries to connect  it will be sent a  reset packet  showing that the RIO  cannot establish any new connections     NOTE  A reset will cause the Ethernet connection to be lost  There are a number of ways to reset the board   Hardware resets  push reset button or power down RIO board  and software resets  through Ethernet or  RS232 by entering the RS command      When the RIO acts as the master  the IH command is used to assign handles and connect to its slaves  The IP  address may be entered as a 4 byte number separated with commas  industry standard uses periods  or as a  signed 32 bit number  A port number may also be specified  but if it is not  it will default to 1000  The  protocol  TCP IP or UDP IP  to use must also be designated at this time  Otherwise  the board will not  connect to the slave   Ex  IHB 151 25 255 9 lt 179 gt 2  This will open handle  2 and connect to the IP  address 151 25 255 9  port 179  using TCP IP     Once the IH command is used to connect to slaves  the user can communicate to these slaves by sending  commands to the master  The SA command is used for this purpose  and 
42. O allows the user to create up to 126 variables  Each variable is defined by a name  which can be up  to eight characters  The name must start with an alphabetic character  however  and numbers are permitted in  the rest of the name  Spaces are not permitted  Variable names should not be the same as RIO instructions   For example  RS is not a good choice for a variable name     Examples of valid and invalid variable names are     Valid Variable Names    STATUSI  TEMPI  POINT    Invalid Variable Names    REALLONGNAME   Cannot have more than 8 characters  123   Cannot begin variable name with a number  STAT Z   Cannot have spaces in the name    Assigning Values to Variables     Assigned values can be numbers  internal variables and keywords  functions  RIO board parameters and  strings  the range for numeric variable values is 4 bytes of integer  2    followed by two bytes of fraction       2 147 483 647 9999      Numeric values can be assigned to programmable variables using the equal sign     Any valid RIO functions can be used to assign a value to a variable  For example  s1  ABS V2  or  s2  IN 1   Arithmetic operations are also permitted     To assign a string value  the string must be in quotations  String variables can contain up to six characters  that must be in quotation     Examples   INTWO  TD Assigns returned value from TI2 command to variable INTWO   INPUT  IN 1  Assigns logical value of input 1 to variable INPUT  V2 V1 V3 V4 Assigns the value of V1 plus V3 times V
43. O will respond  with a coil status of 1 or 2 bytes  equal to the byte count  ranging from  0001  FFFF  with each bit  representing the state of a digital output  1 or 0   The LSB of the first coil status byte refers to the output  addressed by the request packet     Coil Mapping    Addresses    Addresses       Digital Output 0    Digital Output 8       Digital Output 1    Digital Output 9       Digital Output 2    Digital Output 10       Digital Output 3    Digital Output 11       Digital Output 4    Digital Output 12       Digital Output 5    Digital Output 13       Digital Output 6    Digital Output 14          Digital Output 7          Digital Output 15       Examples     MBA   1 2 12 array   Request the status of coils 2 13  result is stored in array      MG OUT 1002  Requests the status of coil 2  result is transmitted via serial port or  Ethernet    Packets    The command MBA  1 2 10 array   results in the following packets being sent  when one RIO is the master   and another RIO is the slave  communicating over handle A  port 502 Modbus   Assume digital outputs  in  descending order from 15 0 are  0 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1    Request Response  Field Name Field Name          Function Function       Starting Address High Byte Count       Starting Address Low Outputs Status 9 2       Quantity of Outputs High Outputs Status 13 10       Quantity of Outputs Low                1  Byte of Response Word                                                                   Not
44. Or  On some computers  a solid vertical line appears as a broken line   Parenthesis   Modulus                                  Mathematical operations are executed from left to right  Calculations within parentheses have precedence     Examples   SPEED 7 5 V 1 2 The variable  SPEED  is equal to 7 5 multiplied by V1 and divided  by 2  COUNT COUNT 2 The variable  COUNT  is equal to the current value plus 2   RESULT Vall   Puts the value of Vall   28 28 in RESULT  40   cosine of 45   is    COS 45  40  28 28  K  IN 1  amp  IN 2  K is equal to 1 only if Input 1 and Input 2 are high    Note  Mathematical operations can be done in hexadecimal as well as decimal  Just precede hexadecimal  numbers with a   sign so that the RIO recognizes them as such     Mathematical Operation Precision and Range    The controller stores non integers in a fixed point representation  not floating point   Numbers are stored  as 4 bytes of integer and 2 bytes of fraction within the range of     2 147 483 647 9999  The smallest  number representable  and thus the precision  is 1 65536 or approximately 0 000015     Example     Using basic mathematics it is known that 1 4  80 000    112 000  However  using a basic terminal   a DMC controller would calculate the following      var  1 4 80000   Storing the result of 1 4 80000 in  var   MG var   Prints variable  var  to screen    1119995117    The reason for this error relies in the precision of the controller  1 4 must be stored to the nearest  multiple of 1 
45. PWR       Output GND    Figure 4 2  500mA Sourcing wiring diagram for Bank 1  DO 15 8     Output PWR    OP2A  E EE E    DO 23 16                IRF7342       D        vOZLOSWIN    OP2B        Output GND    Figure 4 3  500mA Sourcing wiring diagram for Bank 2  DO 23 16     25mA Low Power Sinking Outputs  LSNK     The 25mA sinking option  refereed to as lower power sinking  LSNK   are capable of sinking up to 25mA  per output  The voltage range for the outputs is 5 24 VDC  These outputs should not be used to drive  inductive loads directly     Electrical Specifications    Output PWR  OPnB  Max Voltage 24 VDC  Output PWR  OPnB  Min Voltage 5 VDC   ON Voltage  No Load  Output PWR  5 VDC  1 2 VDC   Max Drive Current per Output 25 mA  sinking    Wiring Information    The output power supply will be connected to Output PWR  labeled OPnB  and the power supply return will  be connected to Output GND  labeled OPnA   where n denotes 0  1  or 2 referring to Bank 0  Bank 1  and  Bank 2 respectively  Note that the load is wired between Output PWR and DO  The wiring diagram for Bank  0 1s shown in Figure 4 4   Bank 1 in Figure 4 6  and Bank 2 in Figure 4 5  Refer to Connectors for RIO   47xxx in the Appendix for pin out information      3 3V    Output PWR                     OPOA          gels    poro    Output GND    Figure 4 4  25mA Sinking wiring diagram for Bank 0  DO 7 0      43 Output PWR             CPU   zu  Output GND    Figure 4 5  25mA Sinking wiring diagram for Bank 1  DO 15 8  
46. The interrogation command  TZ   allows the user to get a quick view of the I O configuration and bit status        Specifications    Access to I O points is made through either the High Density D Sub connectors on the top of the unit or  through screw terminal points  depending on your model  Pin outs for the Connectors for RIO 47xxx are  listed in the Appendix     Digital Outputs    Make sure to check the configuration of your RIO before wiring the digital outputs  labeled DO   Table 4 1  shows the default output ratings for Bank 0  DO 7 0    Bank 1  DO 15 8    and Bank 2  DO 23 16   for each  model  Table 4 1 also lists whether or not the product has the OUTC jumpers available  The OUTC jumpers    are used to bypass optoisolation by using the RIO s internal  5V  see OUTC jumpers for details     Model    Bank 0  DO 7 0     Bank 1  DO 15 8     Bank 2  DO 23 16     OUTC Jumpers       RIO 47100    500mA Sourcing    25mA Sinking       RIO 47102    500mA Sourcing    25mA Sinking       RIO 47120    500mA Sourcing    25mA Sinking       RIO 47122    500mA Sourcing    25mA Sinking       RIO 47142    500mA Sourcing    500mA Sourcing       RIO 47200    500mA Sourcing    500mA Sourcing       RIO 47202    500mA Sourcing    500mA Sourcing       RIO 47300       500mA Sourcing       500mA Sourcing          500mA Sourcing    Table 4 1  Default RIO Output Configurations       For wiring and electrical information  see the individual sections below which individually describes each  type of ou
47. a response to interrogation commands or variables and arrays can be  removed by the use of the command  LZ  The default value for LZ is 1  meaning that the leading zeroes do  not get printed out unless LZ0 command is entered     Example   Using the LZ command    LZO Disables the LZ function   MG IN 0  Print input status of bank 1   0000000001 0000 Response from Interrogation Command   With Leading Zeros    LZI Enables the LZ function    MG IN 0  Print input status of bank 1    1 0000 Response from Interrogation Command   Without Leading Zeros     Formatting Variables and Array Elements    The Variable Format  VF  command is used to format variables and array elements  The VF command is  specified by     VF m n    where m is the number of digits to the left of the decimal point  0 thru 10   and n is the number of digits to  the right of the decimal point  0 thru 4      A negative sign for m specifies hexadecimal format  The default format for VF is VF 10 4    Hex values are returned preceded by a   and in 2 s complement      V1 10 Assign V1   V1  Return V1  0000000010 0000 Default format   VF2 2 Change format    V1  Return V1  10 00 New format   VF 2 2 Specify hex format    V1  Return V1   0A 00 Hex value   VFI Change format   Wie Return V1   9 Overflow    Local Formatting of Variables    VF command is a global format command that affects the format of all relevant returned values and  variables  Variables may also be formatted locally  To format locally  use the command   Fn 
48. able analog outputs via the SCB 48608 on the RIO 472xx   See    10V Configurable Analog Outputs in Chapter 4 for more information     Part number ordering example     RIO 47200  8AO_ 10v16bit        Qty 8  3     10V configurable analog outputs with 16 bit resolution        Connectors for RIO 47xxx    RIO 471xx   44 pin D Sub Connector    Description i Description i Description       Digital Input 15 No connect   INCIB  Digital Input 14       Digital Input 12 Digital Input 13 Digital Input 11       Digital Input 9 Digital Input 10 Digital Input 8       No Connect Input Common  Bank 1  No Connect   INCOB        Digital Input 6 Digital Input 7 Digital Input 5       Digital Input 3 Digital Input 4 Digital Input 2       Digital Input 0 Digital Input 1 Input Common  Bank 0   Output PWR GND  Bank 1  No Connect Digital Output 15          YOI 0 t      t t2    Digital Output 13 Digital Output 14 Digital Output 12                Digital Output 10 Digital Output 11 Digital Output 9  Output GND PWR  Bank 1  Digital Output 8 No Connect            a          N    Digital Output 7 Output GND  Bank 0  Digital Output 6          w    Digital Output 4 Digital Output 5 Digital Output 3                an  P    Digital Output 1 Digital Output 2 Digital Output 0  Output PWR  Bank 0  Output PWR  Bank 0                                   Un         Input Reference Ground  Rarely used  but if wired improperly will cause damaged to the controller  Only to be used when  the INC jumpers are installed  See 
49. all motion related commands  Communication  with the RIO even works the same way as with other Galil controllers  and it utilizes the same software  programs  Interrogation commands have been included to allow a user to instantly view the entire I O status   I O hardware  or Ethernet handle availability  see the TZ  ID and TH commands      The purpose of an RIO board is to offer remote I O in a system and the ability to synchronize complex  events  To do this  the RIO consists of two boards     a high speed processor with integrated Ethernet and an  I O board consisting of digital inputs  digital outputs  analog inputs  and analog outputs  If different I O  requirements are required    a custom I O board can be made to mate up directly with the RIO processor        Part Numbering Overview    The RIO 47XXX has three distinct packaging types  the RIO 471 XX  RIO 472XX  and RIO 473XX  Each  packaging type has it s    base    model for which different variations  XX  and additional  Y YY Standard  Options can be ordered  For instance a full part number would follow the format RIO 47XXX YYY  such as  RIO 47122 422 HS  Note  multiple  Y YY Standard Options can be ordered per RIO  Table 1 1 below  describes the RIO and it s these options  For in depth details regarding the  Y YY Standard Options  please  see the Standard Options section in the Appendix     For full part number information of the RIO product line  see the RIO part number generator   http   www galilmc com products ri
50. and  Digital  input wiring for connecting Input Common to a 5 24VDC is shown in Figure 4 11 and Figure 4 12  Do note  that some applications may need an additional resistor  R  to limit the current to 11mA for each bank  See  the Input Current Limitations section below     5 28VDC       r     5 28VDC  RETURN    Figure 4     5 28VDC       5 28VDC  RETURN              5V    DI 7 0        XT    PS2805    11  Digital Input wiring for Bank 0  DI 7 0      5V    DI 15 8           XT    PS2805    Figure 4 12  Digital Input wiring for Bank 1  DI 15 8     5 28VDC    5 28VDC  RETURN        5V    DI 23 16        PS2805    Figure 4 13  Digital Input wiring for Bank 2  or DI 23 16     Input Current Limitations    The current for a bank of inputs  INCn or INCnA   depending on your model  shall not exceed 11mA   Some applications may require the use of an external resistor  R  in series between their power supply   Vs  and INCn or INCnA to limit the amount of current  as shown in Figure 3 14 below  To determine if  an additional resistor R is required  follow Equation 3 1 below for guidance     Inta siim    R 2200 Q    Equation 3 1  Current limitation requirements for  each bank of inputs      5V    INCn INCnA         CPU    PS2805    Vs RETURN       Figure 3 14  Wiring diagram showing how to put R in series between Vs and  INCn INCnA to limit current through the bank     Where n  0  1  and 2 representing input banks INCO INCOA  INCI INCIA  or INC2A    m   7 0    15 8   and  23 16  depending
51. and in raw packet mode  2  MB command with Modbus function code 3  3    QAN    see  AN   in the command reference     Operating as a slave    The RIO will accept different starting address ranges for a read holding registers request depending on the  state of the MI command  If MI is set to 0  register data is volts in 32 bit floating point   the RIO will accept  a read holding registers request with an address range of  0000  000E  If MI is set to 1  register data is  counts in 16 bit decimal   The RIO will accept a read holding registers request with an address range of   0000  0007  The RIO will accept a request with a quantity of registers field up to  0008 if MI is set to 0   and  00010 if MI is set to 1     The RIO will respond with a byte count ranging from  0000 to  0020 if MI is 0  and from  0000 to  0010 if  MI is 1  Byte Count   2 NumberOfRegisters  where NumberOfRegisters is equal to the number of analog  inputs you are trying to read multiplied by 2 if MI is 0  or 1 if MI is 1   The RIO will respond with a byte  count field equal to the byte count field in the request packet  The RIO will respond with a register value  field consisting of either 2 bytes  counts  or 4 bytes  32 bit floating point  per analog input in ascending  order from the analog input referenced in the address     Galil Register Map    Register Address 32     Bit Floating Point Counts       0 Analog Input 0  Analog Input 0          j      Analog Input 1       Analog Input 2  Analog Input 1    
52. are available in the RIO 47xx2 and 400 in the RIO 47xx0  Each element is accessible as a  16 bit unsigned integer  Modbus register 1xxx   OR  as a 32 bit floating point number  Modbus registers  2xxx      See the ME command in the RIO Command Reference for further details     Sending Modbus Packets    The RIO programming language provides 3 ways of issuing Modbus packets as a master   1  Issue the MB command of type Mbh    1 len array      This Galil command allows the user complete control over the creation of their Modbus packet  len  is the number of bytes to be included in the packet  and array    is the name of the array containing  the Modbus packet  Each element of array   may contain only one byte  and array   must contain the  entire Modbus packet  including transaction identifiers  protocol identifiers  length field  Modbus  function code  and data specific to that function code     2  Issue the MB command of type Mbh   addr  x  m  n  array      This Galil command allows the user to send a Modbus command easily by allowing the user to  select a few key parameters  and allowing the controller to do the rest  addr is the Unit ID field   which if not set  Galil will automatically set to the value of the handle the communication is over   Handle A  01  B  02  etc   Also  as a slave the RIO ignores the Unit ID field  x is the function  code of the Modbus command  m is the address at which to begin reading or writing  n is either the  number of coils or the number of regi
53. ariable Range       2 billion       Variable Resolution     1 104       Variable Size    256 variables       Array Size     1000 elements  6 array names       Max Program Labels     126       Program Size     400 lines x 40 characters             Maximum Number of Burn Cycles  10 000  BP  BN  BV combined    Use Table 1 1 to see which specifications apply to your controller        Certifications    The RIO 471xx is certified for the following when the product or package is marked     ETL  WWTERTE    e Il   3137106  CE    ETL LISTED    CONFORMS T0  Us UL STD 61010 1    CERTIFIED TO  CAN CSA STD 22 2 NO  61010 1       http   www galilmc com products ce documents rio47000 ce dc pdf       ROHS    ROHS Compliant       Standard Options    The RIO 47xxx can be ordered in many different configurations and with different options  This section  provides information regarding the different options available on the RIO 47xxx  For more information on  pricing and how to order an RIO with these options  see our RIO 47xxx part number generator on our  website     http   www  galilme com products rio 47xxx part number php        DIN  If ordered with the  DIN option the RIO has a DIN rail mount attached to the case  This option is  valid for all RIO 471xx controllers  It is not valid for the RIO 472xx family as the RIO 472xx  comes in a DIN rail mount by default   Part number ordering example  RIO 47100 DIN   NO DIN  This option is only valid with the RIO 472xx  This option removes the din rai
54. be saved into non volatile memory using the command  BP   Automatic Subroutines for Monitoring Conditions    Often it is desirable to monitor certain conditions continuously without tying up the host or RIO program  sequences  The RIO can monitor several important conditions in the background  These conditions include  checking for the occurrence of a defined input  position error  a command error  or an Ethernet  communication error  Automatic monitoring is enabled by inserting a special  predefined label in the  applications program  The pre defined labels are     SUBROUTINE DESCRIPTION     AUTO Automatic Program Execution on power up  ZAUTOERR Automatic Program Execution on power up if error condition occurs             ZININTn Input specified by II goes low  n from 0 to 3    CMDERR Bad command given    TCPERR Ethernet communication error    COMINT Communication Interrupt Routine                   For example  the  ININT label could be used to designate an input interrupt subroutine  When the specified  input occurs  the program will be executed automatically     NOTE  An application program must be running for automatic monitoring to function     Example   Input Interrupt    Instruction Interpretation   WA Label   II0 0 1 Input Interrupt on 1    LOOP JP LOOP EN Loop    ININTO Input Interrupt   MG    INPUT 1 IS HIGH    Send Message to screen   RIO Return from interrupt routine to Main Program and    do not re enable trippoints    Example   Command Error    Instruction Inte
55. d by the CF command  add an  Eh  or  P1  to the  end of the command  Ex  MG EB  Hello  will send the message  Hello  to handle  2 and MG P1    Hello     will send it to the serial port      Handling Communication Errors    A reserved automatic subroutine which is identified by the label ZTCPERR can be used to catch  communication errors  If an RIO has an application program running and the TCP communication is lost  the   TCPERR routine will automatically execute  The  TCPERR routine should be ended with the RE  command     Multicasting    A multicast may only be used in UDP IP and is similar to a broadcast  where everyone on the network gets  the information  but specific to a group  In other words  all devices within a specified group will receive the  information that is sent in a multicast  There can be many multicast groups on a network and are  differentiated by their multicast IP address  To communicate with all the devices in a specific multicast  group  the information can be sent to the multicast IP address rather than to each individual device IP  address  All Galil devices belong to a default multicast address of 239 255 19 56  This multicast IP address  can be changed by using the I A gt u command     Unsolicited Message Handling    Unsolicited messages are any messages that are sent from the controller that are not directly requested by the  host PC  An example of this is a MG or TP command inside of a program running on the controller  Error  messages are also 
56. e  bits in the response marked  X  are not valid coil response data  but are instead 0 s that fill the  remainder of the byte    On the master RIO  array 0  205 and array 1  12 after the MBA   2 2 12 array  command is issued    Function Code 2   02    Read Discrete Inputs    Description    Modbus function code  02 is a request to read discrete inputs  This will read digital inputs from an RIO  configured as a slave     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI        Example   Normal Response Exception Response    MW results in  02   MW results in  82    _MWI contains  01 or  02  When using the MB command with Modbus function code  02  response data will be stored in the array  referenced in the command line  When using  IN     IN   contains the response data  which can either be  stored to a variable or transmitted via serial port or ethernet     Ways to use function code 2 with Galil commands     1  MB command in raw packet mode  2  MB command with Modbus function code 2  3    IN    see  IN   in the command reference     Operating as a slave    The RIO will accept a read discrete inputs request with a starting address ranging from  0000  000F   referencing digital inputs 0 15  The RIO will accept a request for up to all 16 of its digital inputs  with a  quantity of inputs range of  0001  0010     The RIO will respond with a byte count of
57. e  the QE  WE and SE commands in the RIO command reference for more information     Electrical Specifications    Power  The encoders must be powered by an external power  supply  The RIO does not supply power to the encoder     Input buffers  AM26LV32   Output buffers  SSI Clock   AMP26LV31    QUAD maximum frequency  8 MHz    Single Ended Encoders  Connect to A  B   leave A  B  floating       Hardware update rate  Register read by the QE command is updated at a rate of 40Hz     Special Note for RIO 47202    The RIO 47202 allows for QUAD  SSI  or BiSS encoder monitoring through an optional plug in  screw terminal board similar to the SCB 48608 shown in Figure A 1 below  The Encoder  monitoring option has a 25msec update rate and is not available with the Analog output option  An    external power source is required to power the encoders        Figure A 1  RIO 472xx modification to allow for BiSS     QUAD Pinout    Encoder Signal    Label  Connector Pin        Channel 0 A     DO14  J4 24        Channel 0 A     DO12  34 39        Channel 0 B     DO15  34 38        Channel 0 B     DO13  J4 9        Channel 1 A     D114  J4 31        Channel 1 A     DI12  J4 2           Channel 1 B     DIS  J4 1        Channel 1 B     DI13 J4 17        Ground     SSI BiSS Pinout             Encoder Signal    Label  Connector Pin                             Channel 0 Clock DO14  J4 24   Channel 0 Clock  DOI2  J4 39   Channel 0 Data  DOI5  J4 38   Channel 0 Data  DO13  J4 9   Channel 1 Clock  D114  
58. e 16   10      Write Multiple Registers    Description  Modbus function code   10  is a request to write multiple registers  also known as analog outputs  Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI     Example   Normal Response Exception Response  _MW results in  10   MW results in  90    _MWI contains  01 or  02    Ways to use function code 16 with Galil commands     1  MB command in raw packet mode  2  MB command with Modbus function code 16  3    AO x  See command reference for details    Note  The RIO acting as a master can write up to 123 registers at a time with function code 16 per the  Modbus specification     The Modbus transaction results are available with the MW and MW1 commands   Operating as a slave    The RIO will accept different starting address ranges for a write multiple registers request depending on the  state of the MI command  If MI is set to 0  register data is volts in 32 bit floating point   the RIO will accept  an address range of  0001  000E  If MI is set to 1  register data is count in 16 bit decimal   the RIO will  accept a write multiple registers request with an address range of  0000  0007  The RIO will respond with  function code 16  a 2 byte starting address field identical to the starting address field of the request packet   and a 2 byte quantity of registers field identical to the quantity of registers 
59. e RS232 uses a standard connector and cable  9 Pin     3  3          J3    Signal       No Connect          RXD       No Connect       Ground       No Connect       CTS       RTS          Oloolu Dn tn BR  WwW  NO  Re       No Connect    Note  A straight through serial cable should be used to connect the RIO to a standard PC serial port     Ethernet Port  10 100 Base T  RJ 45     The location of the Ethernet ports on the board varies slightly with product  Some products will also have a    dual Ethernet port  Use the table below as reference     Product       RIO 4712x  RIO 4710x       RIO 47142       RIO 472xx       RIO 47300             The pin outs for each Ethernet port is the same between products and single versus Dual Ethernet ports     Their pin outs are listed below     3  5    Signal       TXP       TXN       RXP       Reserved       Reserved       RXN       Reserved       1  2  3  4  5  6  T  8          Reserved    Power  J5  2 pin Molex    Please see the Step 2  Connecting Power to the RIO for instructions on connecting power to the RIO and  Power Requirements for EXT AUX Power Option  This connector is not used when powering the RIO via  POE     Signal  GND  Ground   DC Voltage Supply               On Board Connector Common Mating Connectors    Crimp Part Number       MOLEX  39 31 0020   MOLEX  39 01 2025 MOLEX  44476 3112   2 Position        The mating connectors listed are not the only mating connectors available from Molex  See http   www molex com  for the  fu
60. e is as follows     N    V Vlo  4095   Vhi Vlo     Where N is the integer equivalent of the analog voltage  V is the expected analog voltage  Vlo is the lowest  voltage in the total range  OV  and Vhi is the highest voltage in the total range  SV      These integer values will also be returned when accessing the analog inputs by the API calls in C C   or  Visual Basic     The AO command can also be used to set the analog voltage on ModBus devices over Ethernet    Instruction Instruction  AO 7 1 5 Set the output voltage on output 7 to 1 5V  MG AO 2  Display the analog voltage reading on output 2    Analog Process Control Loop    A Process Control Loop allows closed loop control of a process or device  RIO models with Standard  Memory have two independent PID filters to provide process control of two devices simultaneously  The  Expanded Memory models have a total of 6 PID loops available  Analog Process Control Loops are only  available on the RIO 472xx when the AO Option  SCB 48608  is ordered  The set of commands shown in  the table below are used to set the structure of the Process Control Loop     Command   Description  AF Analog Input for feedback  AZ Analog Output for control  KP Proportional Gain  KD Derivative Gain  KI Integral Gain  IL Integrator Limit  DB Deadband  CL Control Loop Update Rate  PS Commanded Setpoint  TE Tell Error                                     AQ Analog Input Range  DQ Analog Output Range              Note     AII PID parameters are burnable exc
61. e of the RTD  These equations more  accurately describe the relationship between temperature and impedance of the RTD than Method 1        For Tc  gt  0 deg C  R t  gt 100  R t    Ro  1   A  Tc  B   Te      For Tc    0 deg C  R t  lt 100  R t    Ro  1   A Tc   B   Tc    C  Tc 100  Tc         Where R t    Resistance of RTD  Ro   100 Q  A   3 9083   10     deg C     B    5 775   107   deg C   C    4 183   10    deg C     Below is an example program for using Method 2 that could run on the RIO 4712x or RIO 47142     Note  The coefficients have been modified to avoid round off errors in the calculations in the temperature  readings                                    MAIN   REM set Analog inputs 0 5 to 0 5V inputs  AQ 0 3   AQ 1 3   AQ 2 3   AQ 3 3   AQ 4 3   AQ 5 3   ATO   set initial time reference   Calc   REM calculate resistance of RTD   r0    1000  AN 0    21   rl    1000  AN 1   21   r2    1000  AN 2   21   r3    1000  AN 3   21   r4    1000  AN 4    21   r5    1000  AN 5   21   REM calculate deg C  r r0 JS Celcius TcO   Tc  r rl JS Celcius Tcl   Tc  r r2 IS Celcius Tc2   Tc  r r3 JIS Celcius Tc3   Tc  r r4 IS Celcius Tc4   Tc  r r5 JIS Celcius Tc5   Tc  AT 100  wait 100 ms from last time ref  JP  Calc   Celcius   sqrt  SOR 992137 445376   761 2471 r    Tc     25613 43488 sqrt      7 569408   REM adjust for Tc  lt  0 deg C   IF  Tc  lt  0   Ta     Tc 100   Tc Tc   239062873 536   Tc  Ta   Ta   0 2311   TC BG   Lai                A2     SCB 48306 48316       Description    T
62. e packet does not know that the information was not  received on the other side  Because the protocol does not provide for lost information  the sender must re   send the packet     Galil recommends using TCP IP for standard communication to insure that if a packet is lost or destroyed  while in transit  it will be resent  However UDP is recommended in certain situations such as launching Data  Record information to a host for graphing or data collection     Each packet must be limited to 470 data bytes or less  This is not an issue when using Galil software as the  Galil Ethernet driver will take care of the low level communication requirements     The IK command blocks the controller from receiving packets on Ethernet ports lower than 1000 except for  ports 0  23  25  68  80 and 502  To receive packets on all ports  set IK to 0     NOTE  In order not to lose information in transit  Galil recommends that the user wait for an  acknowledgment of receipt of a packet before sending the next packet     Ethernet Capabilities by Model    Model Auto MDIX Dual Port 10 100 Mbits s  RIO 47100 NO 100 Mbits standard  10 Mbits w jumper installed  RIO 47102 YES Auto negotiate  RIO 47120 NO 100 Mbits standard  10 Mbits w jumper installed                RIO 47122 YES Auto negotiate  RIO 47142 YES Auto negotiate  RIO 47200 NO 100 Mbits standard  10 Mbits w jumper installed  RIO 47202 YES Auto negotiate  RIO 47300 YES Auto negotiate  Table 3 1  Ethernet Capabilities by RIO Part Number         
63. ectively  how the INC jumpers effect the  internal wiring as well as how to externally wire inputs when these jumpers are in use     INC Jumper      5V          ZS    PS2805      INC Jumper  INCOB INC1B         Figure 4 16  Wiring diagram with INC jumpers installed on the RIO 47100             ZS    PS2805 J    INC Jumper  INCOB INC1B E       Figure 4 17  Wiring diagram with INC jumpers installed on the RIO 47200    INCOA INCTA INC2A  Jumper            INCOB INC1B INC2B  lt      Jumper  n ES       Figure 4 18  Wiring diagram with INCnA INCnB jumpers installed on the RIO 47300    Pulse Counter Input    Digital input 3  DI3  is a special purpose input that  when enabled  is used to count pulses coming in  To  enable the pulse counter  the PC command must be issued with the following syntax     PCn where   n 0  default  input DI3 is a general purpose input   n 1 sets input DI3 to be a rising edge pulse counter  also clears the pulse counter   n  1 sets input DI3 to be a falling edge pulse counter  also clears the pulse counter   n   returns the status of the pulse counter  0 if disabled  1 if enabled     When the PC command is enabled  input DI3 will count high or low going edges  The operand PC is used  to report back the number of pulses counted  The maximum frequency of the input is limited by the  optocouplers to 300 Hz  50  duty cycle   If a higher frequency is needed order the  HS option in the  Appendix      HS Option Required with Expanded Memory RIO s    The Expanded Me
64. ee  AO   in the command reference     Operating as a slave    The RIO will accept different address ranges for a read input registers request depending on the state of the  MI command  If MI is set to 0  register data is volts in 32 bit floating point   the RIO will accept a read input  registers request with an address range of  0000  000E  If MI is set to 1  register data is counts in 16 bit  decimal   The RIO will accept a read input registers request with an address range of  0000  0007  The RIO  will accept a request with a quantity of registers field up to  0008 if MI is set to 0  and  00010 if MI is set to  1  The RIO will respond with a byte count ranging from  0000 to  0010 if MI is 1  and from  0000 to  0020  if MI is 0   byte count   2 NumberOfRegisters  where NumberOfRegisters is equal to the number of analog  outputs you are trying to read multiplied by 2 if MI is 0  or 1 if MI is 1   The RIO will respond with an input  registers field consisting of either 2 bytes  counts  or 4 bytes  32 bit floating point  per analog output register  in ascending order from the analog output referenced in the address     Galil Register Map    Register Address 32     Bit Floating Point Counts       0 Analog Output 0  Analog Output 0                 Analog Output 1       Analog Output 2          Analog Output 1  Analog Output 3       Analog Output 4  Analog Output 2          Analog Output 5       Analog Output 6  Analog Output 3          Analog Output 7       Analog Output 4      
65. element counter   The above example can also be executed with the automatic data capture feature described below     Uploading and Downloading Arrays to On Board Memory  Arrays may be uploaded and downloaded using the QU and QD commands   QU array   start end delim  QD array   start end  where array is an array name such as A     Start is the first element of array  default 0   End is the last element of array  default last element     Delim specifies whether the array data is separated by a comma  delim 1  or a carriage return  delim 0      The file is terminated using  lt control gt Z   lt control gt Q   lt control gt D or     Automatic Data Capture into Arrays    The RIO provides a special feature for automatic capture of data such as inputs or outputs  Up to four types  of data can be captured and stored in four arrays  The capture rate or time interval may be specified   Recording can be done as a one time event or as a circular continuous recording     Command Summary   Automatic Data Capture    Command Description       RA n   m    ol   pO Selects up to four arrays for data capture  The arrays must be defined  with the DM command    RD Selects the type of data to be recorded  where typel  type2  type3  and  typel type2 type3 type4   type 4 represent the various types of data  see table below   The order of  data type is important and corresponds with the order of n m o p arrays in  the RA command    RC n m The RC command begins data collection  Sets data capture time i
66. ept PS  DB  AQ  and DQ  If you issue a BN with the PID s  enabled the default values for PS DB AQ  and DQ will be in effect upon power up     To understand how a Process Control Loop works on the RIO  consider an example where it is desirable to  control the temperature of an oven  The key items needed to do this are a heater  a temperature sensor  the  oven itself  and a RIO unit to control the process  As shown in the diagram below  the heating element is  coupled to the    System    which in this case is the oven  The temperature sensor provides feedback to the RIO  in the form of an analog input  The RIO unit then compares the desired set point  entered by the PS  command  with the temperature sensor  The difference between the two is called the error    E     The error  goes through a PID digital filter and then through a Digital to Analog Converter  DAC  which outputs a  control voltage to the heater to close the loop                             Temperature   GN CN MM  i Kh  Setpoint   H V T   PS    PID Digital DAC   Heater System  H Filter T  i Ks  HE is Temperature  Feedback Sensor     Volts     Figure 5 1  Process Control Loop    The example program below uses analog input 0 as the feedback from the temperature sensor and analog  output 0 as the control voltage to the heater  An update rate of 25msec was set using the CL command  but a  slower update rate could have been chosen due to the slow nature of temperature response  The PID values  entered were experimentall
67. ered        MRST    Master Reset enable  Returns RIO to factory default settings and erases  non volatile memory  Requires power on or RESET to be activated        UPGD    Used to upgrade controller firmware when resident firmware is corrupt        19 2    Set baud Rate to 19 2k  default without jumper is 115k        OPT    Label    10BaseT Ethernet Communication    Function  If jumpered        AUX   4 jumpers     Power for board comes from external power source  see Step 2   Connecting Power to the RIO and Power Requirements for EXT AUX  Power Option        PoE   4 jumpers          Power for board comes from Power over Ethernet  No power cable is  necessary     Ethernet cable with PoE Switch 1s required         Jumper   Label    Function  If jumpered           JP3 INC       Connects INCO  amp  INCI to  5V and INCOB  amp  INCIB to GND       RIO 47300    Function  If jumpered        Master Reset enable  Returns RIO to factory default settings and erases  non volatile memory  Requires power on or RESET to be activated        Used to upgrade controller firmware when resident firmware is corrupt        Set baud Rate to 19 2k  default without jumper is 115k        10BaseT Ethernet Communication    Function  If jumpered           Connects INCOA  5V and INCOB to GND          Connects INC1A  5V and INCIB to GND                   Connects INC2A  5V and INC2B to GND          RIO Dimensions    RIO 4710x  amp  RIO 4712x          3 88  5 50             RIO 47100    DIGITAL   15 PDA  uo 2 
68. field of the request packet     Galil Register Map    Register Address 32     Bit Floating Point Counts       0 Analog Output 0  Analog Output 0          j      Analog Output 1       Analog Output 2          Analog Output 1  Analog Output 3       Analog Output 4  Analog Output 2          Analog Output 5       Analog Output 6  Analog Output 3          Analog Output 7       Analog Output 4          2  3  4  5  6  7  8  9       Analog Output 5             Analog Output 6                   Analog Output 7             Examples   For the following example  array   contains  0 0 0 0 0 15 1 16 0 2 0 4 8 64 160 0 0 64 64 0 0   MBA   1 21 array   Request to write 5V to analog output 1 and 3V to analog output 2    For the following example  array   contains   40A0   0000   4040   0000    40A00000 is 32 bit Floating  Point for 5 0000 decimal and  40400000 is 32 bit Floating Point for 3V decimal     MBA   16 2 4 array   Request to write 5V to analog output 1 and 3V to analog output 2  AO1001 5 Request to write 5V to analog output 1    Packets     The command MBA   16 2 4 array   results in the following packets being sent  when one RIO is the master   and another RIO is the slave  and array   contains   40A0  0000  4040  0000   communicating over handle  A  port 502 Modbus   MI is set to 0 on the slave     Request Response       32 Bit Floating Point       Field Name Field Name       Function Function       Starting Address Hi Starting Address Hi       Starting Address Lo Starting Address
69. g C  Voltage Constant   Type K  default  10 15 mV deg C  Type E 15 225 mV deg C  Type J 12 925 mV deg C  Type T 10 15 mV deg C  1 Contact Galil if required temperatures are outside of listed ranges   2 Voltage Constant will change if Range is modified       Wiring    The SCB 483x6 has qty 6 thermocouple inputs  The thermocouples interfacing to the SCB 483x6 must have  an Ungrounded or Exposed Junction  contact Galil if Grounded Junction  Figure A2 4  thermocouples are  required  The wiring of the thermocouple to the SCB 483x6 is shown in Figure A2 3 below           TO S e 4      M TOSS       D                   Figure A2 3  Thermocouple Wiring to SCB 483x6                         Figure A2 4  rounded Thermocouple Input   Not supported with SCB 483x6       Operation    The SCB 483x6 will send an analog voltage to the RIO 4712x or RIO 47142 that is proportional to the  temperature of the junction by the Voltage constant defined in the Specifications section  When using the  SCB 483x6  the analog inputs should be set to 0 5V inputs for the thermocouple inputs  This is done with  the AQ command with a setting of 3  AQ n 3     where n 0 5 for TC 0 5       The temperature can be determined by using the Voltage constants given in the Specifications section  The  equation for calculating Temperature in deg C is     Temperature  deg C      AN 0 5    1000  Voltage Constant  Where  AN 0 5  Analog input readings for TC 0 5     Voltage Constant Voltage constant for SCB 483x6 and thermocou
70. gram Access using Password    The RIO can lock out user access to the internal program using the PW and  cntrl L cntrl K commands   The PW sets the Password for the unit and the  cntrl L cntrl K will lock the application program from being  viewed or edited   The commands ED  UL  LS and TR will give privilege error  106 when the RIO is ina  locked state  The program will still run when locked  The locked or unlocked state can be burned with the  BN command  Once the program is unlocked  it remains accessible until a lock command or a reset  with  the locked condition burned in  occurs  An example of how to lock the program is shown here      PW test  test     L K test  1 I Locks  U unlocks  LS       TCI   106 Privilege violation       Executing Programs   Multitasking    The RIO can run up to 4 independent programs or threads simultaneously  They are numbered 0 thru 3   where 0 is the main thread     The main thread differs from the others in the following ways   1  Only the main thread  thread 0  may use the input command  IN     2  When interrupts are implemented for command errors  the subroutines are executed in thread 0  However  for the  ININTn subroutines  the RIO has the ability to execute multiple input interrupts   ININTn  on  designated threads  not limited to the main thread  For more information  refer to the II command in the  Command Reference     To begin execution of the various programs  use the following instruction   XQ  A n    Where A represents the label
71. h    Register Value High       Register Value Low          Register Value Low          Function Code 7   07      Read Exception Status    Description    Modbus function code  07 is a request to read the 8 exception status outputs  This will read digital outputs 0   7 of an RIO configured as a slave     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI     Example   Normal Response Exception Response    MW results in  07   MW results in  87    _MWI contains  01 or  02    When using the MB command with Modbus function code  07  response data will be stored in the array  referenced in the command line     Ways to use function code 7 with Galil commands     1  MB command in raw packet mode  2  MB command with Modbus function code 7     Operating as a slave    The RIO will accept a read exception status request  The RIO will respond with function code  07  and will  return 1 byte of output data ranging from  00 to SFF  with each bit representing the state of a digital output   1 or 0   The LSB of the output data byte is digital output 0  and the MSB of the output data byte is digital  output 7     Coil Mapping  Addresses  Digital Output 0          Digital Output 1       Digital Output 2       Digital Output 3       Digital Output 4       Digital Output 5       Digital Output 6       Digital Output 7          Examples     MBA   7 array   Request to read
72. he SCB 48306 and the SCB 48316 Signal Conditioning Board interface to up to 6 thermocouples  The  SCB 483x6 boards are designed to work with the RIO 4712x or RIO 47142  The SCB 48316 provides  thermocouple terminal connectors for the 6 thermocouple inputs  the SCB 48306 provides screw terminals  inputs for the 6 thermocouple inputs  Both SCB boards provide screw terminal connections for Analog  inputs 6 and 7  AI6 7   all 8 analog outputs  AO0 7  and two GND terminals     The SCB 48306 can plug directly into the Analog 26 pin high density D sub connector and will use Analog  inputs 0 5 on the RIO for the 6 thermocouple inputs   TC 0 5    AI 0 5     It is oriented vertically from the  RIO connector as shown in Figure A2 1  Other mounting options are available upon request     By default the SCB 483x6 will be setup for type K thermocouple inputs  Types E  J and T are also available   The thermocouples interfacing to the SCB 483x6 must have an Ungrounded or Exposed Junction  aka  Floating Junction   contact Galil if Grounded Junction thermocouples are required        Figure A2 2  SCB 48316       Figure A2 1  SCB 48306 on RIO 47120    1 Analog inputs 0 5 will not be available for general use analog inputs when the SCB 483x6 is connected to the RIO        Specifications    Number of Inputs 6 Thermocouple Inputs    Thermocouple input     Analog Input Map     TC 0 5    AI 0 5     Range  Type K  default  0     345 deg C  Type E 0     230 deg C  Type J 0   270 deg C  Type T 0   345 de
73. hen display each  character  Notice also that the values used for masking are represented in hexadecimal  as denoted by the  preceding           For more information  see the section on Sending Messages  page 83      To illustrate further  if the user types in the string  TESTME  at the input prompt  the RIO will respond with  the following     Response from command MG LEN6  S4   Response from command MG LENS  S4   Response from command MG LENA  S4   Response from command MG LEN3  S4   Response from command MG LEN2  S4   Response from command MG LENI  S4     tj dut d    Functions    Function    Description        SIN n     Sine of n  n in degrees  with range of  32768 to 32767 and 16 bit fractional resolution         COS n     Cosine of n  n in degrees  with range of  32768 to 32767 and 16 bit fractional resolution         TANI n     Tangent of n  n in degrees  with range of  32768 to 32767 and 16 bit fractional resolution         ASIN n      Arc Sine of n  between  90   and  90    Angle resolution in 1 64000 degrees          ACOS n      Arc Cosine of n  between 0 and 180    Angle resolution in 1 64000 degrees         ATAN n      Arc Tangent of n  between  90   and  90    Angle resolution in 1 64000 degrees        COM n     1   s Complement of n        ABS n     Absolute value of n        QFRAC n     Fraction portion of n        INT n     Integer portion of n        QRND n     Round of n  Rounds up if the fractional part of n is  5 or greater         SQR n     Square root of 
74. ical dimensions to the RIO 4710x and RIO 4712x products  The main  difference is that there is a dual Ethernet switch integrated into the RIO     RIO 47142    DIGITAL    30 OPOA  29 DO2  28 DO5  27 OPOB  26 008  25 DON  24 DOW  23 NIC  22 DII  21014  20 DI7  19 INC1A  16 DIW  17 DIN  16 INCB    15 OPOA  4 DO   13 004  12 DO   11 OPIA  10 DO     9003  8 OPIB  7 O18  6 DI3  5 DI6  4 NIC  3 DI9  2 DIt2  10I15    44 DOO  43 DO3  42 DO6  41 OPIA  40 DOS  39 D012  38 DO15  37 INCA  36 DI2  35 DIS  34 INCt8  33 DI8  32 DIN  31 DIM    383883888  ooooooooooooooe    Besse   000000000000000nJ    j  Ooooooooooooooowv    I oP        o  o  o  o  o  o  o      000000 ns  00000000    j P    GALIL MOTION CONTROL  ETHERNET  MADE IN USA       Figure 2 2  Outline of the RIO 47142  Dimensions listed in the Appendix under  RIO Dimensions       RIO 4720x       Figure 2 3  Outline of RIO 4720x  Dimensions listed in the Appendix under  RIO Dimensions       RIO 47300       Figure 2 4  Outline of the RIO 47300  Dimensions listed in the Appendix under  RIO Dimensions        Installing the RIO Board    Installation of a complete  operational RIO system consists of 4 steps   Step 1  Configure jumpers  Step 2  Connect power to the RIO  Step 3  Install the communications software    Step 4  Establish communications between the RIO and the host PC  Step 1  Configure Jumpers  Power Input Jumpers  EXT AUX vs PoE     The RIO can be powered using either an external DC power input or a PoE  Power over Ethernet  sw
75. ies 14 DO1  43003 7900  13004  a2D06 28008 12007  Aine Spy TIOPIA  aopog abor 100010  spor 2  05  spots  380015 2 DO gopig  amoo SONY 7pm  aep ol 80K  oo DE 6D  unc OIT 4c  33018 thong 3018  sep  PDT zpr       31 DIM 16 NIC 1DI 5       ANALOG  9 GND     25A01 ie 8A02  25404 17408 7AO5  15GND  MAD  18 AI  12GND  11NC  10NC                   6 GND  5 AIT  4AM  3AT   2NC  1NC    24 A07  23 AIO  22 AI3  21AI6  20 N C  19 N C                          GALIL MOTION CONTROL        ETHERNET PoE MADE IN USA    t I  Figure A 5  Dimensions for RIO 471xx  units in cm                                OUTPUT SOURCE  DO 7 0        OPOA   12 24VDC  OPOB   GND    DO 5   OPIA    500mA  SINK    25mA    a  z   2     Q  8     e  E    OP1B  INCO  INC1    5 24VDC OR GND  524VDC OR GND       0 04    RIO 47142                                     3 88 E  3 50  04    Qe  DIGITAL o  15 OPOA  44000 30 One MDO  e  43003 35 p95 13004 050  42006 57 opgg 12007 950    gt  JP5  OPIA Spog OPIA 26   P   40009 Sepon 10 DOW 96   F  39 DOI 9003 909 P  24 DOM olo  38 DOI 8 OPB o  23 NIC olo  37 INCOA 5  pr 7010 o96  36012  Xp 6 olo  o  35 DI5 20 017 5 O16 950    34 INCOB    g pcia ENIC 050  33018 gom 3019 Fae  32 DIN 2 Dre J  aom YON 10m5   N  4 20 3 25 16 INCB y    88  7 o     ge ay    ES  SERIAL ANALOG b eg  sao  299   ES  06 aor d AD  8 A02 2  25 A04   pg 7 AOS 29  eo  24 A07 ep 6 GND eee  23 AIO Salt Six  man WALZ 4AN 838  13 AIS  AIG op SAI     20  12V 2 40V 5  ne  NC quc xt    d    NC Erf     o5 FD  j VAY VW     
76. igh    RegVal4 High       RegVal4 Low       RegVal5 High             Reg Val3 Low             With the slave MI set to 0  the master RIO   s arrays will look like this     array 0  16249  array 1  45056  array 2  16315  array 3  53248    With the slave MI set to 1  the master RIO s arrays will look like this     array 0  9600   array 1  12904  array 2  16160  array 3  19480       RegVal6 Low          Function Code 4   04    Read Input Registers    Description    Modbus function code  04 is a request to read input registers  In its default configuration the RIO 471x0  responds to this command with analog output register information  To configure the RIO to respond to a  function code 4 request with analog input information see the MV command in the command reference     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI        Example   Normal Response Exception Response    MW results in  04   MW results in  84      MWI contains  01 or  02    When using the MB command with Modbus function code  04  response data will be stored in the array  referenced in the command line  When using  AO     AO   contains the response data  which can either be  stored to a variable or transmitted via serial port or ethernet     Ways to use function codel with Galil commands     1  MB command in raw packet mode  2  MB command with Modbus function code 4  3    QAO    s
77. igh and input 6 is low    Analog Inputs    Analog inputs are accessed with the  AN n  function where n is the number assigned to the analog input  channel  The returned value will be a voltage reading with 12 bit resolution  16 bit optional for RIO s with  the  10V configurable option   The voltage input range is configurable on  10V configurable options using  the AQ command           Note  When analog input values are accessed from the Data Record or from the Record Array function  the  returned value will be an integer number that represents the analog voltage  For a 0 5V analog input options   the equation used to determine the decimal equivalent of the analog voltage is as follows     N     V Vlo  4095   Vhi Vlo   8    Where N is the integer equivalent of the analog voltage  V is the expected analog voltage  Vlo is the lowest  voltage in the total range  OV for the standard analog input module  and Vhi is the highest voltage in the total  range  5V for the standard module   The data range for N is 0 32760     These integer values will also be returned when accessing the analog inputs by the API calls in C C   or  Visual Basic     The AQ command also configures the analog inputs to be either 8 single ended  default  or 4 differential  inputs     The AA command is a trippoint that halts program execution until the specified voltage on an analog input is  reached  The third field of the AA command controls whether the trippoint will be satisfied when going  higher or lower 
78. igital Input 15   AD Analog Input 2 OPOA  Output PWR GND  Bank 0   AI3 Analog Input 3 OPOB  Output GND PWR  Bank 0   AIA Analog Input 4 DOO Digital Output 0   AIS Analog Input 5 DOI Digital Output 1   AI6 Analog Input 6 DO2 Digital Output 2   AI7 Analog Input 7 DO3 Digital Output 3   INCOA Input Common  Bank 0  DO4 Digital Output 4   INCOB  Input Reference Ground  Bank 0  DOS Digital Output 5   DIO Digital Input 0 DO6 Digital Output 6   DII Digital Input 1 DO7 Digital Output 7   p  Digital Input 2 OP1A    Output PWR GND  Bank 1   pi  Digital Input 3 OP1B  Output GND PWR  Bank 1   DI4 Digital Input 4 DO8 Digital Output 8   DIS Digital Input 5 DO9 Digital Output 9   DI6 Digital Input 6 DO10 Digital Output 10   DI7 Digital Input 7 DOII Digital Output 11   INCIA Input Common  Bank 1  DO12 Digital Output 12   INCIB  Input Reference Ground  Bank 1  DO13 Digital Output 13   DI8 Digital Input 8 DO14  Digital Output 14   DI9 Digital Input 9 DOIS  Digital Output 15                     PWM outputs  See  PWM option in Appendix and Chapter 4 I O       When ordered with  HS option DI3 is high speed input  and DI2 is high speed input   DI2 is lost    i Rarely used  but if wired improperly will cause damaged to the controller  Only to be used when the INC jumpers are  installed  See INC jumpers section for more detail      When ordered with the  ILSNK  1LSRC  amp   2LSNK  2LSRC options  the purpose of this pin changes from either Output  PWR to GND or vice verse depending on the option  Be s
79. ion Jump to location if logical condition is satisfied             The destination is a program line number or label where the program sequencer will jump if the specified  condition is satisfied  Note that the line number of the first line of program memory is 0  The comma  designates  IF   The logical condition tests two operands with logical operators     Logical operators     Operator Description       less than   greater than   equal to   less than or equal to  greater than or equal to  not equal                         Conditional Statements    The conditional statement is satisfied if it evaluates to any value other than zero  The conditional statement  can be any valid RIO numeric operand  including variables  array elements  numeric values  functions   keywords  and arithmetic expressions  If no conditional statement is given  the jump will always occur     Examples    Number V1 6   Numeric Expression V1 V7 6   ABS V1  gt 10   Array Element V1 lt Count 2    Variable V1 lt V2   Internal Variable _TI1 255  _DM lt 100   VO V1I gt  IN 2      IN 1  0    Multiple Conditional Statements    The RIO will accept multiple conditions in a single jump statement  The conditional statements are  combined in pairs using the operands     amp     and       The   amp   operand between any two conditions  requires  that both statements be true for the combined statement to be true  The         operand between any two  conditions requires that only one statement be true for the combined 
80. iring    The SBC 48206 has qty 6  3 wire RTD inputs  The RTD is wired directly to the screw terminals as indicated  in Figure A1 2 below     1 EXCITE  2 SENSE    RTD    3 COMMON  Figure A1 2  RTD wiring to SBC 48206       Dimensions                                                       p BEREREM NM Ue et A i  an   fF t t f SZ JI i   O zo o o eje eje o  Y    g By   o    s  1 o591  S NIIT    o6 3 ml     969 3  e g og ogmogs   999 a   s   s    amp  38  999 s  a  a  s   ge  999  8 oja eja eje o  a7  o9 x  2 gt   COH  sms  gt z  e ejo 8 6 oje o         LAS Bags   detriar O    5   ESEBREB WT ge   wwe SY         Figure A1 3  Dimensions for SCB 48206       Operation    The SBC 48206 will send a 0 5V analog voltage to the RIO that is related to the resistance of the RTD   When using the SBC 48026  the analog inputs should be set to 0 5V inputs for the 6 RTD inputs  This is  done with the AQ command with a setting of 3  AQ n 3     where n   0 5      The calculation for the resistance of the RTD from the analog voltage is given from the following equation   R    1000 V  21    Where R   Resistance of RTD  V   Analog Read from RIO    There are 2 methods for calculating the temperature once the resistance of the RTD has been calculated     Note  The following calculations assume an RTD with Ro   100 Q and a   0 00385  Platinum RTD      Method 1    This method strictly uses the RTD coefficient and assumes a proportional relationship between impedance  and temperature  The equation for this 
81. is given in the following equation     Tc    R   Ro     a   100     Where Tc   Temperature in deg C  Ro   100 Q  a   0 00385    Below is an example program for using Method 1 that could run on the RIO 4712x or RIO 47142                                          MAIN   REM set Analog inputs 0 5 to 0 5V inputs  AQ 0 3   AQ 1 3   AQ 2 3   AQ 3 3   AQ 4 3   AQ 5 3   AT0  set initial time reference   Calc   REM calculate resistance of RTD  r0    1000 8AN 0   21   rl    1000  AN 1   21   r2    1000  AN 2   21   r3    1000  AN 3   21   r4    1000  AN 4   21   r5    1000 8AN 5   21   REM calculate deg C   TcO    r0 100  0 385   Tcl    r1 100  0 385   Tc2    r2 100  0 385   Tc3    r3 100  0 385   Tc4    r4 100  0 385   Tc5    r5 100  0 385   REM calculate deg F  not required   T  O     9 TcO   5   32   Tfl     9 Tc1  5 2432   Tf2     9 Te2   5 4 32   Tf3     9 Tc3  5  432   Tf4     9 TC4   5  432   Tf5     9 Te5   5 4 32  AT 100  wait 100 ms from last time reference  JP Calc       This method provides a relatively accurate temperature reading with a simple and straight forward  calculation  A limitation with this method is that it uses an idealized relationship between the impedance of  an RTD and the temperature of the RTD  In reality  the relationship between impedance and temperature is  not linear  so if higher precision is required from the temperature reading  the following Method should be  used     Method 2    This method uses the following equations to calculate the temperatur
82. it has the following syntax     SAh   command string     Here  command string  will be sent to handle h  For example  SAA     XQ    command will send an XQ  command to the slave server on handle A  A more flexible form of the command is    SAh  fieldl field2 field3 field4     field8  where each field can be a string in quotes or a variable     When the Master client sends an SA command to a Slave server  it is possible for the master to determine the  status of the command  The response IHh4 will return the number   to 4  1 indicates waiting for the  acknowledgement from the slave  2 indicates a colon  command accepted  has been received  3 indicates a  question mark  command rejected  has been received  4 indicates the command timed out     If a command generates multiple responses  such as the TE command   the values will be stored in  SAhO  thru  SAhn where n is the last field  If a field is unused  its  SA value will be  2 31     See the Command Reference for more information on the SA command     Which devices receive what information from the RIO depends on various things  If a device queries the  RIO  it will receive the response unless it explicitly tells the RIO to send it to another device  If the  command that generates a response is part of a downloaded program  the response will route to whichever  port is specified by the CF command  either a specific Ethernet handle or the RS232 port   If the user wants  to send the message to a port other than what is specifie
83. itch to  deliver power over the Ethernet cable  By default  the RIO is expecting the use of an external power supply  and four jumpers are placed on either the    EXT    or    AUX    pins depending on the RIO model  If PoE is  desired instead  move the four jumpers from the pins labeled  EXT AUX  to the pins labeled    PoE     A full  description of the    PoE    and    AUX EXT    jumpers are in the Appendix listed under Jumper Descriptions     Not all RIO models have the PoE option  For more information PoE options and which DC power supply is  appropriate for your model  continue to Step 2  Connecting Power to the RIO     Master Reset and Upgrade Jumper    The MRST jumper is for a master reset  When MRST is jumpered  the RIO will perform a master reset upon  a power cycle to the board or when the board reset button is pushed  Whenever the I O board has a master  reset  all programs  arrays  and variables stored in non volatile memory will be erased   this will set the RIO  board back to factory defaults     The UPGD jumper enables the user to unconditionally update the board firmware  This jumper is not  necessary for firmware updates when the RIO board is operating normally  but may be necessary in cases of  a corrupted non volatile memory  non volatile memory corruption should never occur under normal  operating circumstances  however  corruption is possible if there is a power fault during a firmware update   If non volatile memory corruption occurs  your board may not o
84. ker continues  while restoring    trippoint on inputs 5 and 10  interrupt disabled    Note  This multitasking program can be executed with the instruction XQ  A 0 designating A as the main  thread  i e  Thread 0    B is executed within A     Event Trigger    This example waits for input 1 to go low and input 3 to go high  and then execute the TZ interrogation  command  Note  The AI command actually halts execution of the program until the input occurs  If you do  not want to halt the program sequences  use the Input Interrupt function  II  or a conditional jump on an  input  such as     JP  GO   IN 1    0      INB    1      Instruction Interpretation    INPUT Program Label   AI 1 amp 3 Wait for input 1 low and input 3 high  TZ List the entire I O status    EN End program    Conditional Jumps    The RIO provides Conditional Jump  JP  and Conditional Jump to Subroutine  JS  instructions for branching  to a new program location based on a specified condition  The conditional jump determines if a condition is  satisfied and then branches to a new location or subroutine  Unlike event triggers such as the AI command   the conditional jump instruction does not halt the program sequence  Conditional jumps are useful for testing  events in real time  They allow the RIO to make decisions without a host computer     Command Format   JP and JS    Format Description       JS destination  logical condition Jump to subroutine if logical condition is satisfied  JP destination  logical condit
85. l be held at its current value and the PID s will be held constant when the feedback is within the  range set by the DB command  This mode is preferable for many fluid and temperature control applications        Real Time Clock    The Expanded Memory models of the RIO  see Table 1 1 if your model qualifies  are equipped with a real  time clock feature  The real time clock provides true time in seconds  minutes and hours  The RT command  provides a method to set the time and operands to return the current time  The default real time clock does  not persist through a power cycle and must be set whenever power is restored     The Expanded Memory models can also be ordered with a clock upgrade   RTC  including a higher precision  clock than the default  and a battery backup for the time hardware  All hardware is within the standard sheet  metal footprint  The  RTC clock will continue to run when power is removed from the RIO  The  RTC  option also provides a calendar function including year  month of year  day of month  and day of week  This  feature can be set and queried through the RY command     Both versions of the real time clock can be set to a TIME protocol  RFC 868  server  Using IH  the RIO can  connect to a TIME server over TCP on port 37 and receive the 32bit response  The firmware will then set the  time and calendar  if applicable  to the TIME server value  The command RO is used to set the GMT time  zone offset for localization of the current time  The TIME protoco
86. l clips  The unit will  still be in a plastic tray   Part number ordering example  RIO 47200 NO DIN   422    This option allows the RIO to communicate via RS 422 instead of RS 232     Description i Description  RTS  RTS   TXD   RXD   CTS   GND                                  Part number ordering example  RIO 47100 422     RTC    RIO models with Expanded Memory  See if your model does in Table 1 1  come standard with  some real time clock features  The  RTC option provides an extended feature set as shown below  in Table 6 1     Real time clock Expanded Memory with  RTC option       RT providing hours  minutes  seconds       RY providing year  month  date  and day of the week       Settable via TIME protocol server  IH and RO commands        Clock persists through RIO power loss       C No power clock battery life More than 1 week              Table 6 1  Real time clock features and expanded  RTC features set      Time till failure pending at the time of publication    Part number ordering example  RIO 47122 RTC     12V    This option allows for the RIO to be powered from a 10 5 to 15 VDC source  standard is 18 to 36  VDC   This option is only available for the RIO 471xx products  Contact Galil if this option is  needed on a RIO 472xx     The RIO will no longer have the option to be powered over PoE with this modification     Part number ordering example  RIO 47120 12V     2LSRC    If a RIO 471xx is ordered with the  2LSRC option then outputs 8 15 are configured to source  cu
87. l synchronization is designed to connect to  a server on the local network  Contact Galil if a local server is not available  e g  an Internet Gateway is  required to contact NIST      See the  RTC section in the Appendix for further details and specifications for the real time clock     Appendix       Electrical Specifications    Input Output    Digital I O   DAC Output Current  47120    12V out  47x42    12V out    See Chapter 4 I O    4mA max output per channel  10mA max output    10mA max output    Power Requirements for EXT AUX Power Option    Model   RIO 4710x  RIO 4712x  RIO 47142  RIO 472xx    Input Voltage Range  18 36 VDC   18 36 VDC   9 48 VDC   18 36 VDC    Minimum Power  Maximum Power   1 4 Watts 4 Watts  2 6 Watts 4 Watts  2 6 Watts 4 Watts  2 1 Watts 4 Watts     Power ratings with no external connections to the RIO     Before connecting power to the RIO  read the section  Step 2  Connecting Power to the RIO     Power Supply Options    Galil offers several power supply options as accessories to the RIO  For more details regarding Power  Supplies see A3   Power Supplies and a list of RIO accessories can be under Accessories        Performance Specifications                            Standard  Variable Range    2 billion  Variable Resolution  1 1074  Variable Size 126 variables  Array Size  400 elements  6 array names  Max Program Labels  62  Program Size  200 lines x 40 characters  Maximum Number of Burn Cycles  10 000  BP  BN  BV combined   Expanded Memory    V
88. laced in the lowest significant byte of the fraction  The characters can be individually separated  by  using bit wise operations as illustrated in the following example     Instruction Interpretation    TEST Begin main program   IN  ENTER  LEN  S6  Input character string of up to 6 characters into variable     LEN      FLEN  FRAC LEN  Define variable    FLEN    as fractional part of variable     LEN      FLEN  10000 FLEN Shift FLEN by 32 bits  IE   convert fraction  FLEN  to  integer     LEN1  FLEN amp  00FF     LEN2  FLEN amp  FF00   100  LEN3 LEN amp  000000FF  LEN4  LEN amp  0000FF00   100    Mask top byte of FLEN and set this value to variable     LENI      Let variable     LEN       top byte of FLEN   Let variable     LEN3      bottom byte of LEN   Let variable   LEN4    second byte of LEN    LENS  LEN amp SOOFF0000     10000  LEN6  LEN amp  FF000000     1000000   MG LEN6  S4    MG LENS  S4    MG LEN4  S4    MG LEN3  S4    MG LEN   S4    MG LENI  S4    EN    Let variable     LENS      third byte of LEN          Let variable   LEN6    fourth byte of LEN    Display    LEN6    as string message of up to 4 chars  Display    LENS    as string message of up to 4 chars  Display    LEN4    as string message of up to 4 chars  Display    LEN3    as string message of up to 4 chars  Display    LEN     as string message of up to 4 chars  Display    LEN     as string message of up to 4 chars    This program will accept a string input of up to 6 characters  parse each character  and t
89. le Analog Outputs    Analog outputs 0 7 found on the RIO 4712x and other models have a configurable voltage range that is set  using the DQ command  The default outputs have a 12bit DAC resolution  order  16Bit for 16 bit  resolution   See the DQ command in the Command Reference for a full explanation     Analog Output Range  Sets AOO to 0 SVDC  Sets AOI to 0 10VDC  Sets AO2 to    SVDC  Sets AO3 to    10VDC                      Electrical Specifications  Maximum Output Voltage 10V    Minimum Output Voltage  10V    Resolution 12 bit default  16 bit optional    Maximum Current Output 4mA  sink source     Analog Inputs    The RIO product line has two main types of analog inputs available for the different models  There is a 0 5V  analog input  and a  10V configurable analog input  The  10V configurable inputs can be ordered with 16  bit resolution  Table 4 5 shows the models and available analog input configurations     By default the RIO 472xx has 0 5V analog inputs  It can be ordered with the  10V Configurable Analog  Inputs  see   AI 10v12Bit  and   AI 10v16Bit  in the Appendices for ordering information     Model  10V Configurable  10V Configurable   16 bit  RIO 4710x  RIO 4712x  RIO 47142  RIO 472xx   Yes   Default   With  AI_10v12bit  Option   With  AI 10v16bit  Option  RIO 47300 No Yes Yes   Table 4 5  RIO Analog Output Configurations                               0 5V Analog Inputs  0 5V analog inputs have 12 bit ADC  a resolution of approximately 1 22mV  with a 100k inp
90. ll list of available mating connectors           Jumper Descriptions    RIO 4710x 4712x    Function  If jumpered        Master Reset enable  Returns RIO to factory default settings and erases  non volatile memory  Requires power on or RESET to be activated        Used to upgrade controller firmware when resident firmware is corrupt        Set baud Rate to 19 2k  default without jumper is 115k        Label    10BaseT Ethernet Communication    Function  If jumpered        EXT  4  jumpers     Power for board comes from external power source  see Step 2   Connecting Power to the RIO and Power Requirements for EXT AUX  Power Option        PoE  4  jumpers     Label    Power for board comes from Power over Ethernet  No power cable is  necessary     Ethernet cable with PoE Switch 1s required     Function  If jumpered        INC    Connects INCO  amp  INCI to  5V and INCOB  amp  INCIB to GND       OUTC    RIO 47142          Connects OP1A to GND and OPIB to  5V       Function  If jumpered        Master Reset enable  Returns RIO to factory default settings and erases  non volatile memory  Requires power on or RESET to be activated        Used to upgrade controller firmware when resident firmware is corrupt        Set baud Rate to 19 2k  default without Jumper is 115k        Label    10BaseT Ethernet Communication    Function  If jumpered        OCTC    Connects OPOA to GND and OPOB to            OUTC  RIO 472xx    Label             Connects OP1A to GND and OPIB to      Function  If jump
91. m  or   n m   following the variable name and the         symbol  F specifies decimal and   specifies hexadecimal  n is the  number of digits to the left of the decimal  and m is the number of digits to the right of the decimal  For  example     Examples    V1 10 Assign V1   V1  Return V1  0000000010 0000 Default Format   V1  F4 2  Specify local format  0010 00 New format   V1   4 2  Specify hex format   000A 00 Hex value   V1  ALPHA  Assign string  ALPHA  to V1   V1  S4  Specify string format first 4 characters  ALPH    The local format is also used with the MG command  see page 84         Programmable I O    As described earlier  the RIO has 16 digital inputs  16 digital outputs  8 analog inputs and 8 analog outputs   The paragraphs below describe the commands that are used for I O manipulation and interrogation     Digital Outputs    The most common method of changing the state of digital outputs is by using the set bit    SB    and clear bit     CB    commands  The following table shows an example of the SB and CB commands     Instruction Interpretation  SB2 Sets bit 2  CBI Clears bit 1    The Output Bit  OB  instruction is useful for setting or clearing outputs depending on the value of a variable   array  input or expression  Any non zero value results in a set bit     Instruction Interpretation   OB1 POS Set Output 1 if the variable POS is non zero  Clear Output 1 if  POS equals 0    OB2  IN  1  Set Output 2 if Input 1 is high  If Input 1 is low  clear Output 2    OB3 
92. mory models of the RIO cannot use input 3 as the Pulse Counter Input unless the  HS  option is ordered  To see if your model requires the  HS option to use this feature  see table Table 1 1 to find  out if you have an Expanded Memory RIO     Analog Outputs    The RIO product line has two main types of analog outputs available for the different models  There are 0   5V and  10V configurable analog output options  The  10V configurable option can be ordered with 16 bit  resolution and are 12 bit by default  Table 4 4 shows the models and available analog output configurations        By default the RIO 472xx does not include analog outputs  It can be ordered with analog outputs  see AO  Option  SCB 48608  in the Appendices for ordering information     Model  10V Configurable  10V Configurable   16 bit  RIO 4710x  RIO 4712x  RIO 47142                SCB 48608 SCB 48608 SCB 48608   8AO 5vl2bi     8AO_10v12bit   8AO_10v16bit     RIO 47300 No Yes Yes  Table 4 4  RIO Analog Output Configurations    RIO 472xx                   If you are unsure of what analog output options you have   compare Table 4 4 with Table 1 1 which also lists the default  analog options for each standard RIO part number     0 5V Analog Outputs  Analog outputs 0 7 found on the basic RIO products have a 0 5V range and 12bit resolution     Electrical Specifications    Maximum Output Voltage 5V  Minimum Output Voltage OV  Resolution 12 bit  0 5V range   Maximum Current Output 4mA  sink source        10V Configurab
93. n  Accuracy is     004         IN n     Return digital input at general input n  where n starts at 0        G OUT n     Return digital output at general output n  where n starts at 0         AN n     Return analog input at general input n  where n starts at 0         AO n           Return analog output at general output n  where n starts at 0        These functions are multi valued  An application program may be used to find the correct band     Functions may be combined with mathematical expressions  The order of execution of mathematical  expressions is from left to right and can be over ridden by using parentheses        Examples   V1  ABS V7  The variable  V1  is equal to the absolute value of variable V7   V2 5  SIN POS  The variable  V2  is equal to five times the sine of the variable  POS   V3  IN 1  The variable  V3  is equal to the digital value of input 1   Variables    For applications that require a parameter that is variable  the RIO 47xx0 board provides 126 variables  The  RIO 47xx2 increases this to 254 total available variables  These variables can be numbers or strings  A  program can be written in which certain parameters  such as I O status or particular I O bit  are defined as  variables  The variables can later be assigned by the operator or determined by program calculations     Example     Uses variable    Red    in SB command  Assigns value of digital input 1 status to variable    input1       SB Red  inputl   QIN 1     Programmable Variables    The RI
94. n  negligence or misuse is not covered by  this warranty     EXCEPT AS SET FORTH ABOVE  GALIL MOTION CONTROL WILL MAKE NO  WARRANTIES EITHER EXPRESSED OR IMPLIED  WITH RESPECT TO SUCH  PRODUCTS  AND SHALL NOT BE LIABLE OR RESPONSIBLE FOR ANY  INCIDENTAL OR CONSEQUENTIAL DAMAGES     COPYRIGHT  2008     The software code contained in this Galil product is protected by copyright and must not be  reproduced or disassembled in any form without prior written consent of Galil Motion  Control  Inc     Al     SCB 48206       Description    The SCB 48206 Signal Conditioning Board interfaces to up to six 3 wire RTD   s  Resistive Temperature  Device   The SCB 48206 is designed to work with the RIO 4712x or RIO 47142     The SCB 48206 plugs directly into the Analog 26 pin high density D sub connector and will use Analog  Inputs 0 5 on the RIO for the 6 RTD inputs   RTD 0 5    AI 0 5      It is oriented vertically from the RIO  connector as shown in Figure Al 1  Other mounting options are available upon request     LINE     0  a           Figure A1 1  RIO 47122 with SCB 48206    1 Analog inputs 0 5 will not be available for general use analog inputs when the SCB 48026 is connected to the RIO        Specifications    Number of Inputs 6 RTD inputs   RTD input     Analog Input Map RTD 0 5    AI 0 5    Output Range 0 5V   Excitation Current l1 mA   Input Range 18   230 Q    Temperature Range  100 O RTD   200 to 350 deg C   1 If greater than 230Q  350 deg C  is required  contact Galil        W
95. n code 6    Operating as a slave    The RIO will accept a preset single register request with a starting address of  0000  The register values can  range from 0x0000 to OxFFFF and correspond to a binary representation of the 16 digital outputs  The RIO  will respond with a Modbus packet that is identical to the packet it received     Coil Mapping    Addresses    Addresses       Digital Output 0    Digital Output 8       Digital Output 1    Digital Output 9       Digital Output 2    Digital Output 10       Digital Output 3    Digital Output 11       Digital Output 4    Digital Output 12       Digital Output 5    Digital Output 13       Digital Output 6    Digital Output 14          Digital Output 7          Digital Output 15       Examples    For the following example  array   contains  0 0 0 0 0 6 1 6 0 0  55  AA   MBA   1 12 array   Request to write digital outputs 15 0 to  55AA  MBA   6 0  55AA Request to write digital outputs 15 0 to  55AA    Note  writing digital outputs 15 0 to  55AA results in digital outputs 15 0 in descending order  being  0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0     Packets     The command MBA   6 0  55AA results in the following packets being sent  when one RIO is the master   and another RIO is the slave  communicating over handle A  port 502 Modbus      Request    Response       Field Name    Field Name       Function    Function       Starting Address High    Starting Address High       Starting Address Low    Starting Address Low       Register Value Hig
96. nds specified text and numerical  or string data from variables or arrays to the screen     Text strings are specified in quotes and variable or array data is designated by the name of the variable or  array  For example     MG  The Final Value is   RESULT    In addition to variables  functions and commands  responses can be used in the message command  For  example     MG  The input is    IN 1   Formatting Messages    String variables can be formatted using the specifier   Sn  where n is the number of characters    thru 6  For  example     MG STR  S3   This statement returns 3 characters of the string variable named STR     Numeric data may be formatted using the  Fn m  expression following the completed MG statement     n m  formats data in HEX instead of decimal  The actual numerical value will be formatted with n  characters to the left of the decimal and m characters to the right of the decimal  Leading zeros will be used  to display specified format     For example    MG  The Final Value is   RESULT  F5 2   If the value of the variable RESULT is equal to 4 1  this statement returns the following   The Final Value is 00004 10    If the value of the variable RESULT is equal to 999999 999  the above message statement returns the  following     The Final Value is 99999 99    The message command normally sends a carriage return and line feed following the statement  The carriage  return and the line feed may be suppressed by sending  N  at the end of the statement  This is u
97. nterval          where n is an integer between 1 and 8 and designates 2  msec between  data  m is optional and specifies the number of elements to be captured   If m is not defined  the number of elements defaults to the smallest array  defined by DM  When m is a negative number  the recording is done  continuously in a circular manner  _RD is the recording pointer and  indicates the address of the next array element  n 0 stops recording   Returns a 0 or   where  0 denotes not recording    specifies recording in  progress             Data Types for Recording     Data type Description   TIn Inputs at bank n  0 or 1   Output bank n status  0 or 1   Analog input status  0 7   Analog output status  0 7                         Operand Summary   Automatic Data Capture      RC Returns a 0 or 1 where  0 denotes not recording  1 specifies  recording in progress    Returns address of next array element        Deallocating Array Space    Array space may be deallocated using the DA command followed by the array name  DA  0  deallocates all  the arrays        Output of Data  Numeric and String     Numerical and string data can be output from the RIO board using several methods  The message command   MG  can output string and numerical data  Also  the RIO can be commanded to return the values of variables  and arrays  as well as other information using the interrogation commands  such as V1   and TZ     Sending Messages    Messages may be sent using the message command  MG  This command se
98. o 47xxx part number php       Base Model Features   Y Y Y Standard Options    XX 00 0 5V Analog I O  422   8 500mA sourcing optoisolated digital outputs  HS   8 25mA sinking optoisolated digital outputs   4 20mA   16 optoisolated digital inputs  DIN   2LSRC   PWM          Additional Options   Additional Features Additional     Y Y Y Options       XX 02 Base plus  Base plus   Expanded Memory  RTC       XX 20 Base plus  Base plus   Analog I O upgraded to  10V configurable  16Bit       XX 22 Base plus  Base plus    Expanded Memory  16Bit   Analog I O upgraded to  10V configurable  RTC    QUAD   SSI  and  BiSS          Base plus  Base plus   Expanded Memory  16Bit  Analog I O upgraded to  10V configurable  RTC  Dual Ethernet ports  no PoE  QUAD   SSI  and  BiSS  All 16 outputs upgraded to 500mA sourcing                   Base Model    Features      Y Y Y Standard Options       XX 00    Screw terminal connectors   Din rail mount with metal cover   No analog outputs by default    Use     Y Y Y options to add Analog    16 500mA sourcing optoisolated digital outputs  16 optoisolated digital inputs     422   HS    NO DIN     4 20mA     ILSNK  ILSRC  amp   2LSNK  2LSRC   PWM      AL 10v12Bit     AI 10v16Bit     8AO_5v12bit    SAO  10v12bit     8AO l0vl6bit        Additional Options    Additional Features    Additional     Y Y Y Options       XX 02       Base plus   Expanded Memory       Base plus    RTC   QUAD   SSI  and  BiSS       Base Model    Features      Y Y Y Standard Options   
99. on code     Function Code 1   01    Read Coils    Description    Modbus function code  01 is a request to read coils  This will read digital outputs from an RIO configured as  a slave     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI        Example   Normal Response Exception Response    MW results in  01   MW results in  81    _MWI contains  01 or  02  When using the MB command with Modbus function code 1  response data will be stored in the array  referenced in the command line  When using  OUT     OUT   contains the response data  which can either  be stored to a variable or transmitted via serial port or ethernet     Ways to use function code  01 with Galil commands     1  MB command in raw packet mode  2    MB command with Modbus function codel  3   OUTT     see  OUTT   in the command reference     Operating as a slave    The RIO will accept a read coils request with a starting address ranging from  0000  000F  referencing  digital outputs 0 15  The RIO will accept a request for up to all 16 of its digital outputs  with the quantity of  coils ranging from  0001  0010  The RIO will respond with function code  01 followed by a byte count of  either  01 or  02  which describes the number of bytes of digital outputs being returned  byte count      quantity of outputs 8  if the remainder is not 0  byte count   quantity of outputs 8  1   The RI
100. ounts Range hex                          0 5V 0 32572 0x0000   Ox 7FFO  0 5V 0 32572 0x0000   Ox 7FFO  Analog Outputs  Analog Range Counts Range decimal    Counts Range hex   0 5V 0 65520 0x0000   OxFFFO     10V Configurable Analog I O Options  12  or 16 bit versions   Analog Inputs  AQ x m  see command reference for details     Analog Range   Counts Range decimal    Counts Range hex    5V  32768 to 32767 0x8000   Ox7FFF   10V  32768 to 32767 0x8000   Ox7FFF  0 5V 0 65535 0x0000   OxFFFF  0 10V 0 65535 0x0000   OxFFFF                               Analog Outputs  DQ x m  see command reference for details     Analog Range   Counts Range decimal    Counts Range hex   0 5V 0 65535 0x0000   OxFFFF  0 10V 0 65535 0x0000   OxFFFF   5V 0 65535 0x0000   OxFFFF  10V 0 65535 0x0000     OxFFFF                                  Data Record    QR and DR Commands    The RIO can provide a block of status information back to the host computer in a single Ethernet packet  using either the QR or DR commands  The QR command returns the Data Record as a single response  The  DR command causes the controller to send a periodic update of the Data Record out a dedicated UDP  Ethernet handle  The Data Record response packet contains binary data that is a snapshot of the controller   s  T O status     Since the Data Record response contains all information in binary format  the result of this command cannot  be displayed in a Galil terminal     The QR and DR commands will return 4 bytes of header info
101. ow both transmit and receive activity across the connection     RIO 47142 RIO 47300    There are two status LEDs on the RIO 47142  PWR and ERR  that indicate operating and error conditions on  The PWR and ERR description are identical to that of the RIO products listed above     On the each Ethernet port there are two LEDs that indicate the status of the port s Ethernet connection     Green Link LED  LNK      The green LED indicates there is a valid Ethernet connection  This  LED will show that the physical Ethernet layer  the cable  is connected  This LED will  also blink to show both transmit and receive activity across the connection     Orange LED  SPD      The orange LED indicates the speed of the Ethernet connection  It will be  illuminated for a 100bT connection  and will be off for a 10bT connection     Chapter 2 Getting Started       RIO 4710x and RIO 4712x    The mechanical layout and dimensions are the same for the RIO 4710x and RIO 4712x products  RIO   47100  RIO 47122 etc      RIO 47100    DIGITAL    38 OPA   9 Do   28 DOS  27 OP   26 DOB  260011  24 D014  23 NC    44 DOR  43003  42 DOS  41NC  49008  30012  380015  a BE  36 O12   21 DI  35015   207  MNC 9 INCI  33018   180118  32 DI11  aone 17 DIS   T  NC        ANALOG       18 AOD  17 A08  16 AOS  1  GND  14 AI   13 AIS  12 GND   NC   NC     O GALIL MOTION CONTROL Q       Figure 2 1  Outline of RIO 47100  Dimensions listed in the Appendix under  RIO Dimensions       RIO 47142    The RIO 47142 has similar mechan
102. perate properly  In this case  install the  UPGD jumper and use the update firmware function in the Galil software to re load the system firmware     The location for the jumpers are in the Appendix listed under Jumper Descriptions     Setting the Baud Rate on the RIO  The default baud rate for the RIO is 115K  jumper OFF      The jumper labeled    19 2     allows the user to select the serial communication baud rate  The baud rate can  be set using the following table     BAUD RATE  115k  19 2k                The location for the jumpers are in the Appendix listed under Jumper Descriptions     Step 2  Connecting Power to the RIO    Most RIO models can be powered using either an auxiliary DC power supply or a PoE  Power over Ethernet   switch  thus  there are two possible connection options  These power options are selected by the user by  placing either four jumpers on either    PoE    or    EXT AUX    labels  See Step 1  Configure Jumpers for a full  description of these jumpers  Once these jumpers are configured and power is properly applied based upon  this selection  the green PWR LED will turn on     PoE configurations will allow the RIO to derive its power directly from the Ethernet cable   no additional  connections are necessary for powering  Any PoE style switch can be used  such as the FS108P from  Netgear     In contrast  the    EXT AUX    configuration will allow the RIO to derive it s power from an auxiliary power  source either through a 2 pin Molex connector o
103. ple  type is defined in the Specifications section    The below code uses analog inputs 0 5 and stores the temperature into array Tc 0 5      written for type K  thermocouples      MAIN   REM Analog inputs 0 5 to 0 5V inputs   AQ 0   AQ 1   AQ 2   AQ 3  4  5       AQ  AQ  DM Tc 6    voltK 10 15  mV deg C   type K  AT0  set initial time reference  Calc   n 0  CalcH   Tc n    AN n  1000   voltK   n n 1   JP CalcH n lt 6   AT 100  wait 100ms from last time ref  JP Calc             A3   Power Supplies       Galil offers two power supplies that can be used to power the RIO product line  the PS 0 25 24 and the PS   2 50 24  These low power switching mode supplies come with a 2pin Molex Mini Fit  JrTM connector to  allow for mating directly to the RIO  The PS 0 25 24 should not be used to power the 500mA sourcing  outputs available on most of the RIO products     PS 0 25 24 Electrical Specifications PS 2 50 24 Electrical Specifications  Power  6 W Max Power  60 W Max  Voltage Output  24 VDC Voltage Output  24 VDC  Max Current  0 25 Amps Max Current  2 5 Amps  Input  100 120 VAC  50 60Hz Input  100 240 VAC  50 60Hz  UL  E304491 35PG UL  E183223 32 WK   CE Certified       Figure 1  PS 0 25 24 Power Supply Figure 2  PS 0 25 24 Power Supply    
104. r designated screw terminals  depending on the model   The  power supply used should be capable of delivering 4 Watts of power  For more information on power  specifications  see the Appendix for Power Requirements for EXT AUX Power Option     Table 2 1 below depicts the different power options  voltage requirements  and DC power connector type   Note  Not all models have PoE capabilities as shown below     Power Connection Options    Power over Ethernet DC Power Input     Model DC Power Connector Type   Jumpers on PoE   Jumpers on EXT AUX        RIO 47100 YES 18 36 VDC 2 pin Molex   RIO 47102 YES 18 36 VDC 2 pin Molex   RIO 47120 YES 18 36 VDC 2 pin Molex   RIO 47122 YES 18 36 VDC 2 pin Molex   RIO 47142 NO 9 48 VDC 2 pin Molex   RIO 47200 YES 18 36 VDC Screw Terminals   RIO 47202 YES 18 36 VDC Screw Terminals   RIO 47300 NO 9 48 VDC Screw Terminals     Table 2 1  Power Connection Options                                     Warning     Damage will occur of improper voltage is applied to the RIO  Do not supply voltages larger than the  indicated maximum  See the Appendix for Power Requirements for EXT AUX Power Option      The RIO uses Molex Pitch Mini Fit  Jr     Receptacle Housing connectors for connecting DC Power  For more information  on the connectors  go to http   www molex com         Note  The part number listed below is the connector that is found on the controller              a     l1         VDC      DC GROUND i    Molex Part Number Pin Part Number  x2  Type  39 
105. r outputs can use the internal  5V from the RIO instead of an external supply  To do this  place a  jumper on the pins labeled OUTC as shown in Figure 4 10     Eoo 0    ioo  OZ   c  c 6  Oo    Figure 4 10  OUTC jumpers for RIO    1  These jumpers DO NOT supply power to high power digital outputs  an external supply is required  for those outputs    2  Whith the RIO 472xx  the OUTC jumpers are only available when LSRC or LSNK options are  ordered from the factory    3  OUTC jumpers are not available on the RIO 47142 or RIO 47300  all high power outputs      PWM Outputs    With firmware revisions Rev D and newer  Digital Outputs 14 and 15 can be setup independently as PWM  outputs using the DY  FQ and PM commands  The standard optoisolated outputs found on the RIO 47xxx  will have a limited bandwidth  50Hz  that will not allow the full range of frequency and duty cycle available  from the DY  FQ and PM commands  The RIO can be ordered with a  PWM option that will bypass the  optoisolated outputs and provide buffered outputs for DO 15 14   See the  PWM section in the Appendix for  more information     Digital Inputs    All the digital inputs  labeled DI  on the RIO are optoisolated and must be powered with a voltage ranging  between 5 24VDC  The optoisolated inputs are powered in Banks of 8 using the Input Common pins  Each  bank of digital inputs has it s own Input Common such that different banks can be powered using different  voltage levels  if desired  Table 4 2 below lists
106. rmation  followed by an entire data record  A  data record map is provided below     RIO Data Record    DATA TYPE ITEM   B 1  byte of header   2  byte of header   3  byte of header   4  byte of header   Sample number   Error Code   General Status   Analog Out Channel 0  counts   Analog Out Channel 1  counts   Analog Out Channel 2  counts   Analog Out Channel 3  counts   Analog Out Channel 4  counts   Analog Out Channel 5  counts   Analog Out Channel 6  counts   Analog Out Channel 7  counts   Analog In Channel 0  counts   Analog In Channel 1  counts   Analog In Channel 2  counts   Analog In Channel 3  counts   Analog In Channel 4  counts   Analog In Channel 5  counts   Analog In Channel 6  counts   Analog In Channel 7  counts   Output State   Input State   Pulse Count   ZC data     user configurable variable  ZD data     user configurable variable                                                       zzzzzxxxxzxuUUmuUuwu                                  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U                Where  UB Unsigned Byte  SL Signed Long Word  UW Unsigned Word  2 bytes of    Little Endian    UL Unsigned Long  4 bytes of    Little Endian       These may be signed or unsigned words depending on the AQ setting on the RIO 4712x  For example  if the bytes received  from the data record packet for analog input 0 were 00 80  it could have the following meaning  depending on AQ      UL for the RIO 47300 only     Little Endian   AQ 0 1 AQ 0
107. roller performance  Also  prior  completion of  Motion Control Made Easy  or equivalent is required  Analysis and design  tools as well as several design examples will be provided     TIME  8 hours  8 00 am 5 00 pm     PRODUCT WORKSHOP  WHO SHOULD ATTEND    Current users of Galil motion controllers  Conducted at Galil s headquarters in Rocklin   CA  students will gain detailed understanding about connecting systems elements  system  tuning and motion programming  This is a  hands on  seminar and students can test their  application on actual hardware and review it with Galil specialists     TIME  Two days  8 30 am 5 00 pm        WARRANTY    All products manufactured by Galil Motion Control are warranted against defects in  materials and workmanship  The warranty period for all products is 18 months except for  motors and power supplies which have a 1 year warranty     In the event of any defects in materials or workmanship  Galil Motion Control will  at its  sole option  repair or replace the defective product covered by this warranty without  charge  To obtain warranty service  the defective product must be returned within 30 days  of the expiration of the applicable warranty period to Galil Motion Control  properly  packaged and with transportation and insurance prepaid  We will reship at our expense  only to destinations in the United States     Any defect in materials or workmanship determined by Galil Motion Control to be  attributable to customer alteration  modificatio
108. rpretation    BEGIN Begin main program   IN  ENTER THE OUTPUT  0 15    OUT Prompt for output number  SB OUT Set the specified bit   JP  BEGIN Repeat   EN End main program   CMDERR Command error utility  JP DONE  ED lt  gt 3 Check if error on line 3  JP DONE  TC lt  gt 6 Check if out of range   MG  VALUE OUT OF RANGE  Send message   MG  TRY AGAIN  Send message   ZS1 Adjust stack   JP  BEGIN Return to main program   DONE End program if other error  ZS0 Zero stack   EN End program    The above program prompts the operator to enter the output port to set  If the operator enters a number out  of range  greater than 15   the  CMDERR routine will be executed prompting the operator to enter a new  number     In multitasking applications  there is an alternate method for handling command errors from different  threads  Using the XQ command along with the special operands described below allows the controller to  either skip or retry invalid commands     OPERAND FUNCTION  EDI Returns the number of the thread that generated an error          ED2 Retry failed command  operand contains the location of the failed command    ED3 Skip failed command  operand contains the location of the command after the             The operands are used with the XQ command in the following format   XQ ED2 or ED3   EDI I    Where the     1    at the end of the command line indicates a restart  therefore  the existing program stack will  not be removed when the above format executes     The following example 
109. rrent  They will be capable of 5 24VDC with 25mA of current in a sourcing configuration  See  25mA Low Power Sourcing Outputs  LSRC  in Chapter 4 for more information     Part number ordering example  RIO 47100  1IHSRC 2LSRC      JILSNK  1LSRC  amp   2LSNK  2LSRC    These four options are only available on the RIO 472xx  By default the RIO 472xx has all 16 high  power outputs  These options allow either of the two banks of 8 outputs to be configured for low  power sinking or low power sourcing  For example  if output 0 7 need to be configured for low  power sourcing and outputs 8 15 need to be configured for high power sourcing the option would be   1LSRC  2HRSC   The circuits for low power sourcing and sinking will be the same as the circuits  for the low power outputs previously defined in Chapter 4     Part number ordering example  RIO 47200  1LSNK 2LSRC   where  ILSNK  Outputs 0 7 low power sinking  2LSRC  Outputs 8 15 low power sourcing     QUAD   SSI  and  BiSS    All Encoder Options will utilize Digital Inputs 12 13 14 and 15 and Digital Outputs 12 13 14 and  15  These digital inputs and outputs will not be available as standard digital I O when the  QUAD    SSL or BiSS option is ordered     The QE command is used to read the encoder register  the WE command sets the current position of  the encoder   QUAD only  and the SE command configures the encoder when the  SSI option is  ordered  The register that is read using the QE command is updated by the RIO every 25ms  Se
110. s to be sent  CW 1       Other Protocols Supported    Galil supports DHCP  ARP  BOOT P  and Ping  which are utilities for establishing Ethernet connections   ARP is an application that determines the Ethernet  hardware  address of a device at a specific IP address   BOOT P is an application that determines which devices on the network do not have an IP address and  assigns the IP address you have chosen to it  Ping is used to check the communication between the device at  a specific IP address and the host computer     The RIO can communicate with a host computer through any application that can send TCP IP or UDP IP  packets  A good example of this is Telnet  a utility that comes standard with the Windows operating system     When using DHCP and a DNS  Domain Name Server   the DNS will assign the name  RIO47100 n  to the  controller where n is the serial number of the unit        Modbus with the RIO    The RIO 47xxx supports Modbus TCP  and requires an Ethernet connection between its master or slave  devices     As a Modbus class   device  the RIO supports the following Modbus function codes     Function Code Modbus Description Galil Description    1 Read Coil Status Read Digital Outputs          Read Input Status Read Digital Inputs       Read Holding Registers Read Analog Inputs        Read Input Registers Read Analog Outputs        Force Single Coil Write Digital Output       Preset Single Register Write Digital Outputs       Read Exception Status Read Digital Outputs    
111. s up to 255 IF conditional statements to be nested  This is a  very powerful technique allowing the user to specify a variety of different cases for branching     Command Format   IF  ELSE and ENDIF    Function Condition       IF conditional statement s     Execute commands proceeding IF command  up to ELSE command  if  conditional statement s  is true  otherwise continue executing at ENDIF  command or optional ELSE command    Optional command  Allows for commands to be executed when  argument of IF command evaluates not true  Can only be used with IF       ELSE    command           Example using IF  ELSE and ENDIF     Command to end IF conditional statement  Program must have an  ENDIF command for eve    IF command        Instruction Interpretation   TEST Begin Main Program  TEST    LOOP Begin loop inside main program    TEMP  IN 1   IN 2   JS amp COND  TEMP 1    TEMP is equal to 1 if either Input 1 or Input 2 is high  Jump to subroutine if TEMP equals 1    JP LOOP Loop back if TEMP doesn   t equal 1  EN End of main program   COND Begin subroutine    COND       IF   IN 1  0   IF   amp JIN 2  0     MG  INPUT 1 AND INPUT 2 ARE  INACTIVE    ELSE   MG  ONLY INPUT 1 IS ACTIVE           IF conditional statement based on input 1   2    IF conditional statement executed if 1  IF  conditional true   Message to be executed if 2    IF conditional is true    ELSE command for 2    IF conditional statement  Message to be executed if 2  IF conditional is false       ENDIF End of 2    condi
112. seful when a  text string needs to surround a numeric value     Example   HA  FNAME    John     LNAME    Smith       MG    The name is    FRAME S3   N   MG         LNAME S6     EN  When  A is executed  the above example will appear on the screen as     The name is John Smith  Using the MG Command to Configure Terminals    The MG command can be used to configure a terminal  Any ASCII character can be sent by using the format    n  where n is any integer between 1 and 255     Example   MG  407   4255   sends the ASCII characters represented by 7 and 255 to the bus     Summary of Message Functions     Function Description    woe       Surrounds text string    Fn m  Formats numeric values in decimal n digits to the right of the decimal  point and m digits to the left     n m  Formats numeric values in hexadecimal     n  Sends ASCII character specified by integer n                 N  Suppresses carriage return line feed    Sn  Sends the first n characters of a string variable  where n is 1 thru 6    Zn m  Formats values like  Fn m  except leading zeroes are removed   En  Outputs message to Ethernet handle n where n is A B or C    P1  Outputs message to Serial port   Sends Email message  see MA  MD  MS commands                         Displaying Variables and Arrays    Variables and arrays may be sent to the screen using the format  variable  or array x    For example   V1     returns the value of Vl     Removing Leading Zeros from Response    The leading zeros on data returned as 
113. shows an error correction routine that uses the operands     Instruction    HA  JPHA   EN   4B   N 17   SBN   TY   EN    CMDERR   IF TC 6   N 1   XQ ED2  ED1 1  ENDIF   IF TC 1   XQ ED3  ED1 1  ENDIF   EN    Example   Command Error w Multitasking    Interpretation  Begin thread 0  continuous loop     End of thread 0   Begin thread 1   Create new variable   Set the 17th bit  an invalid value  Issue invalid command   End of thread 1   Begin command error subroutine  If error is out of range  SB 8   Set N to a valid number   Retry SB N command    If error is invalid command  TY   Skip invalid command    End of command error routine    Example     Ethernet Communication Error    This simple program executes in the RIO and indicates  via the serial port  when a communication handle  fails  By monitoring the serial port  the user can re establish communication if needed     Instruction Interpretation   LOOP Simple program loop  JP LOOP  EN   TCPERR Ethernet communication error auto routine  MG  P1  IA4 Send message to serial port indicating which handle did not receive    proper acknowledgment   RE Return to main program    Note  The  TCPERR routine only detects the loss of TCP IP Ethernet handles  not UDP        Mathematical and Functional Expressions    Mathematical Operators    For manipulation of data  the RIO provides the use of the following mathematical operators     Operator   Function    Addition   Subtraction   Multiplication   Division   Logical And  Bit wise    Logical 
114. sing is the UDP or TCP port number  The Galil board does not require a  specific port number  The port number is established by the client or master each time it connects to the RIO  board  Typical port numbers for applications are     Port 23  Telnet  Port 502  Modbus  Port 80  HTTP    Email from the RIO    If the RIO is on a network with a SMTP Mail Server  the RIO is capable of sending an email message using  the MG command  There are three configuration commands necessary to send an email from the RIO unit      MA  MS and MD  MA sets the smtp email server IP address  MS sets the email source or    from    address  and MD sets the destination or    to    address  There is a maximum character limit for the MS and MD  commands of 30 characters  An example of this is shown here           MA 10 0 0 1     example SMTP Email Server IP address  MD someone example com   sample destination email address   MS me example com   sample source address   MG  Testing Email   M    Message to send via Email    Please contact your system administrator for information regarding email settings     Note  it is strongly recommended that the email messaging frequency is limited so as not to overload the  email server     Communicating with Multiple Devices    The RIO is capable of supporting multiple masters or slaves  A typical scenario would be connecting a PC  a  master  and a motion controller  a 2nd master  that can both send commands to the RIO board over Ethernet  on different handles     
115. st the application program labels only  use the  interrogation command LL  List Labels      Operands    In general  all operands provide information that may be useful in debugging an application program  Below  is a list of operands that are particularly valuable for program debugging  To display the value of an operand   the message command may be used  For example  since the operand  ED  contains the last line of program  execution  the command MG ED will display this line number       ED contains the last line of program execution  useful to determine where program stopped   DL contains the number of available labels  62 max      _ UL contains the number of available variables  126 max      _DA contains the number of available arrays  6 max      _DM contains the number of available array elements  400 max    Debugging Example     The following program has an error  It attempts to set bit 14 high  but    SD    is used as the command instead  of    SB     When the program is executed  the RIO stops at line 001  The user can then query the RIO board  using the command  TC1  The RIO responds with the corresponding explanation     Instruction Interpretation    LS List Program   000  A Program Label   001 SD14 Set bit 14 high   002 SB15 Set bit 15 high   003 MG DONE  Print message   004 EN End   XQ   A Execute  A    001 SD14 Error on Line 1   TCI Tell Error Code   130 Unrecognized Command This command doesn t    MG ED Print line number where problem occurred  1 00 The error occ
116. statement to be true     Note  Each condition must be placed in parentheses for proper evaluation by the RIO  In addition  the RIO  executes operations from left to right     For example  using variables named V1  V2  V3 and V4   JP  TEST   V1 lt V2   amp   V3 lt V4     In this example  this statement will cause the program to jump to the label  TEST if V1 is less than V2 and  V3 is less than V4  To illustrate this further  consider this same example with an additional condition     JP ZTEST    V1 lt V2   amp   V3 lt V4      V5 lt V6     This statement will cause the program to jump to the label  TEST under two conditions  1  If V1 is less than  V2 AND V3 is less than V4  OR 2  If V5 is less than V6     Using the JP Command     If the condition for the JP command is satisfied  the RIO branches to the specified label or line number and  continues executing commands from this point  If the condition is not satisfied  the RIO board continues to  execute the next commands in sequence     Instruction Interpretation  JP  Loop COUNTK lt 10 Jump to  Loop if the variable  COUNT  is less than 10  JS 4 MOVE2  IN 1  1 Jump to subroutine  MOVE2 if input 1 is logic level high  After    the subroutine MOVE2 is executed  the program sequencer returns  to the main program location where the subroutine was called     JP  BLUE  ABS V2  gt 2 Jump to  BLUE if the absolute value of variable  V2  is greater  than 2   JP  C V1 V7 lt  V8 V2 Jump to  C if the value of V1 times V7 is less than or equal
117. sters to read write  array   is the array in which data from a  read gets stored or where data to write is stored  See individual function code descriptions in the  command reference for specifics of this command     3  Issue another Galil command that supports Modbus    The following Galil commands support Modbus  and are an easy way to use the Modbus protocol   SB CB AO OB  IN    OUT    AN    AO    The I O number  variable  to use with these  commands when using Modbus can be calculated as follows     I O Number    HandleNum 1000     bitNum     Modbus Exceptions    An RIO configured as a slave will return an exception response if it receives an invalid request  e g  An  invalid function code  or a communication error   As a class 1 Modbus device the RIO 47xxx can respond  with exception codes  01 or  02  Exception code  01 is returned when a request referencing an Illegal  Function is received  Exception code  02 is returned when a request referencing an Illegal Data Address is  received     When an Exception Response occurs  the function code of the response is  80 added to the original function  code  e g  Improper use of function code  01 will result in the exception response  81     An RIO 47xxx configured as a master can query the function code of the last response it received using the  _MW command  see command reference   The MW command can be used to determine if an exception has  occurred  The MW1 command  see the command reference  can be used to query the excepti
118. tal input 15       Input Reference Ground  Bank 1     No connect    Output GND  Bank 1        Output PWR  Bank 1     Digital output 8    Digital output 9       Digital output 10    Digital output 11    Digital output 12       Digital output 13    Digital output 14    Digital output 15       Input Common  Bank 2     Digital input 16    Digital input 17       Digital input 18    Digital input 19    Digital input 20       Digital input 21    Digital input 22    Digital input 23       Input Reference Ground  Bank 2     No connect    Output GND  Bank 2        Output PWR  Bank 2     Digital output 16    Digital output 17       Digital output 18    Digital output 19    Digital output 20             Digital output 21    Digital output 22                Digital output 23           Rarely used  but if wired improperly will cause damaged to the controller  Only to be used when the INC jumpers are  installed  See INC jumpers section for more detail     PWM outputs  See  PWM option in Appendix and Chapter 4 I O     When ordered with  HS option DI3 is high speed input  and DD is high speed input   DI2 is lost     Note  For inputs Bank 0 is DI 7 0   Bank 1 is DI 15 8   and Bank 2 is DI 23 16   For outputs Bank 0 is DO 7 0   Bank 1 is  DO 15 8   and Bank 2 is DO 23 16      RS 232 Port  DB 9 Pin Male    The location of the RS 232 on the board varies slightly with product  Use the table below as reference     Product    Location       RIO 471xx    J2       RIO 472xx    J2       RIO 47300    Th
119. than the voltage  With a command such as AA 1 4 5 0   if the specified voltage is exceeded  prior to arrival at the AA command  the program will continue to execute without a pause  Analog inputs are  useful for reading special sensors such as temperature  tension or pressure  The range of AA is dependant on  the AQ setting  Here are some examples of using the Analog inputs     Instruction Instruction   JP  C  AN 1  gt 2 Jump to A if analog input number   is greater than 2 volts   MG 2AN 2  Display the analog voltage reading on input 2   AA 1 4 5 0 Wait until the voltage on input 1 goes above 4 5V   AA 1 3 2 1 Wait until the voltage on input 1 goes below 3 2V  Analog Outputs    Analog output voltage is set with the AO command  The AO command has the format AO m n where m is  the output pin and n is the voltage assigned to it  The analog output voltage is accessed with the  AO n   function where n is the analog output channel  Analog output modules come with a resolution of 12 bits  16   bit optional   The Analog Output voltage range is configurable using the DQ command when using RIOs  with the  10V configurable option  Use the ID command to see the model number of the RIO        Note  When analog output values are accessed from the Data Record or from the Record Array function  the  returned value will be an integer number that represents the analog voltage  For an RIO with 0 5V analog  output option  the equation used to determine the decimal equivalent of the analog voltag
120. the line numbers as well as the command line will be displayed as each command  line is executed  The program lines come back as unsolicited messages     Error Code Command    When a program error occurs  the RIO halts the program execution at the point of the error  To display the  last line number of program execution  issue the command  MG ED     The user can obtain information about the type of error condition that occurred by using the command TCI   This command returns a number and text message  which describe the error condition  The command TCO    or TC  will return the error code without the text message  For more information about the command TC    see the Command Reference     RAM Memory Interrogation Commands    For debugging the status of the program memory  array memory  or variable memory  the RIO has several  useful commands  The command DM   will return the number of array elements currently available  The  command DA  will return the number of arrays that can be currently defined  For example  the RIO has a  maximum of 400 array elements in up to 6 arrays  If a single array of 100 elements is defined  the command  DM   will return the value 250  and the command DA   will return 5     To list the contents of the variable space  use the interrogation command LV  List Variables   To list the  contents of array space  use the interrogation command LA  List Arrays   To list the contents of the program  space  use the interrogation command LS  List Program   To li
121. tional statement   ELSE ELSE command for 1  IF conditional statement  MG ONLY INPUT 2 IS ACTIVE  Message to be executed if 1  IF conditional statement  ENDIF End of 1  conditional statement    WAIT Label to be used for a loop   JP WAIT   IN 1  0   amp    IN 2  0  Loop until both input 1 and input 2 are not active   EN End of subroutine       Stack Manipulation    It is possible to manipulate the subroutine stack by using the ZS command  Every time a JS instruction   interrupt or automatic routine  such as  ININTn or  CMDERR  is executed  the subroutine stack is  incremented by 1  up to a maximum of 16   Normally the stack is restored with an EN instruction   Occasionally it is desirable not to return back to the program line where the subroutine or interrupt was    called  The ZS1 command clears   level of the stack  This allows the program sequencer to continue to the  next line  The ZSO command resets the stack to its initial value  For example  if an interrupt occurs and the   ININT1 routine is executed  it may be desirable to restart the program sequence instead of returning to the  location where the interrupt occurred  To do this  give a ZS  ZS0  command at the end of the  ININT1  routine     Auto Start Routine    The RIO has a special label for automatic program execution  A program that has been saved into the RIO  non volatile memory can be automatically executed upon power up or reset  simply by beginning the  program with the label  AUTO     Note  The program must 
122. tput  500mA Sourcing  25mA Sinking  and 25mA Sourcing  Each of these are wired differently  and have separate constraints  so read each section carefully before wiring      2E    Note  For the following sections     n    will denote the bank of interest representing either 0  1  or 2  representing Bank 0  Bank 1  or Bank 2 respectively     500mA Sourcing Outputs  HSRC     The 500mA sourcing option  refereed to as high power sourcing  HSRC   is capable of sourcing up to 500mA  per output and up to 3A per bank  The voltage range for the outputs is 12 24 VDC  These outputs are  capable of driving inductive loads such as solenoids or relays  The outputs are configured for hi side   sourcing  only     Electrical Specifications    Output PWR  OPnA  Max Voltage 24 VDC  Output PWR  OPnA  Min Voltage 12 VDC  Max Drive Current per Output 0 5 A  not to exceed 3A per Bank     Wiring Information    With this configuration  the output power supply will be connected to Output PWR  labeled OPnA  and the  power supply return will be connected to Output GND  labeled OPnB    where n denotes 0  1  or 2 referring  to Bank 0  Bank 1  Bank 2 respectively  Note that the load is wired between DO and Output GND  The  wiring diagram for Bank 0 is shown in Figure 4 1  Bank 1 in Figure 4 2  and Bank 2 in Figure 4 3  Refer to  Connectors for RIO 47xxx in the Appendix for pin out information     Output PWR        3 3V    Output GND    Figure 4 1  500mA Sourcing wiring diagram for Bank 0  DO 7 0     Output 
123. um of seven characters  The first character must be a letter  after that  numbers  are permitted  Spaces are not allowed     The maximum number of labels that can be defined in the RIO 47xx0 is 62  The RIO 47xx2 increases this to  a total of 126 labels     Valid labels    BASICIO   SQUARE   X1   inputl    Invalid labels    1 Square   123   PROGRAMMING  longer than 7 characters     Special Labels    The RIO also has some special labels  which are used to define input interrupt subroutines and command  error subroutines  The following is a list of the automatic subroutines supported by the RIO  Sample  programs for these subroutines can be found in the section Automatic Subroutines for Monitoring  Conditions      AUTO Automatic Program Execution on power up  ZININTn Label for Input Interrupt subroutine  ZCMDERR Label for incorrect command subroutine   TCPERR Ethernet communication error     AUTO is a special label for automatic program execution  A program which has been saved into the  controller non volatile memory using the BP  Burn Program  command can be automatically executed upon  power up or reset by beginning the program with the label  AUTO     Commenting Programs    Using an Apostrophe to Comment    The RIO provides an apostrophe       for commenting programs  This character allows the user to include up  to 39 characters on a single line after the apostrophe and can be used to include comments from the  programmer as in the following example     ZOUTPUT     PROGRAM 
124. ure to check the  ILSNK  1LSRC  amp   2LSNK  2LSRC for    reference and Digital Outputs section for correct wiring   Note  For inputs Bank 0 is DI 7 0  and Bank 1 is DI 15 8   For outputs Bank 0 is DO 7 0  and Bank 1 is DO 15 8      Description    RIO 47300     Screw Terminals    Description    Description       9 48VDC logic power input    Digital ground    Digital ground        12V output reference     12V output reference     5V output analog reference       Analog ground    Analog input 0    Analog input 1       Analog input 2    Analog input 3    Analog input 4       Analog input 5    Analog input 6    Analog input 7       Analog ground    Analog ground    Analog ground       Analog ground    Analog output 0    Analog output 1       Analog output 2    Analog output 3    Analog output 4       Analog output 5       Analog output 6       Analog output 7       Input Common  Bank 0     Digital input 0    Digital input 1       Digital input 2    Digital input 3    Digital input 4       Digital input 5    Digital input 6    Digital input 7       Input Reference Ground  Bank 0     No connect    Output GND  Bank 0        Output PWR  Bank 0     Digital output 0    Digital output 1       Digital output 2    Digital output 3    Digital output 4       Digital output 5    Digital output 6    Digital output 7       Input Common  Bank 1     Digital input 8    Digital input 9       Digital input 10    Digital input 11    Digital input 12       Digital input 13    Digital input 14    Digi
125. urred on line 1 of the program       Program Flow Commands    The RIO provides instructions to control program flow  The RIO program sequencer normally executes  program instructions sequentially  The program flow can be altered with the use of interrupts and conditional  jump statements     Interrupts    To function independently from the host computer  the RIO can be programmed to make decisions based on  the occurrence of an input interrupt  causing the RIO board to wait for multiple inputs to change their logic  levels before jumping into a corresponding subroutine  Normally  in the case of a Galil controller  when an  interrupt occurs  the main thread will be halted  However  in the RIO  the user can indicate in which thread   the thread must be already running when the interrupt occurs  the interrupt subroutine is to be run  When  the interrupt occurs  the specified thread s main program will be paused to allow the interrupt subroutine to  be executed  Therefore  the user has the choice of interrupting a particular thread execution upon an input  interrupt  see II command   The input interrupt routines are specified using  ININTn where n can be 0 3  In  this way  the RIO can make decisions based on its own I O status without intervention from a host computer   The Return from Interrupt  RI  command is used to return from this subroutine to the place in the program  where the interrupt had occurred  If it is desired to return to somewhere else in the program after the  e
126. ut impedance   Electrical Specifications    Input Impedance 100kQ    CPU  AI 7 0        Figure 4 19  0 5V analog inputs    Differential Mode    The 0 5V analog inputs can be set for a differential mode  See the AQ command in the command reference  for more information  Note  The AQ command is also used for the  10V Configurable Analog Inputs  but as  a different range for the parameters  Table 4 6 covers the AQ settings for the 0 5V Analog Inputs     Differential Pairs  Input 0  amp  Input 1  Input 2  amp  Input 3  Input 4  amp  Input 5  Input 6  amp  Input 7    Table 4 6  Differential Analog Input Channels on RIOs with the 0 5V analog input option                       10V Configurable Analog Inputs     10V configurable voltage range is set using the AQ command  The default inputs have a 12 bit DAC  resolution  order  16Bit for 16 bit resolution   See the AQ command in the Command Reference for a  full explanation     Electrical Specifications    Input Impedance  12 and 16 bit         Unipolar  0 5V  0 10V  42kQ   Bipolar   5V   10V  31kQ  Setting Range with AQ    Use the AQ command to specify the analog input range     Input Range       Set input 0 to have  5V input range   Set input 1 to have  10V input range  Set input 2 to have 0 5V input range  Set input 3 to have 0 10V input range                      Table 4 7  Setting Input Ranges on the RIOs with the  10V configurable option  Setting Differential Mode    The AQ command also allows the RIO to change the configuration
127. xecution of the  ININTn subroutine  the Zero Stack  ZS  command is used  followed by unconditional jump  statements    Note  When using multiple II commands in a program  each II command must point to a unique label and  must activate on an unused thread  Two or more II commands cannot be set to execute on the same thread   nor can multiple II commands be pointed to the same ZININTn label  Please see the II command in the RIO   47xxx command reference for more details     Examples     MG    Loop stops   RIO    Interrupt  Instruction Interpretation  HA Program Label  XQ B 1 Execute  B in thread 1  II1 0  1 amp 3  ININT1 in thread 0 when input 1 low and input 3 high  ID 1  5 amp 10  ININT2 in thread 1 when input 5 low and input 10 high  AI 13 amp 14 Trippoint on inputs 13 and 14   LOOP JP LOOP Pseudo program     Loop indefinitely  EN End program   B Program Label  AI 7 amp  8 Trippoint on inputs 7 and 8   LOOP2  SB10 Set bit 10 high  WT500 Wait for half a second  CB10 Set bit 10 low  WT500 Wait for 500msec  JP LOOP2 Create a    light blinker    effect  EN End program  ZININTI Input interrupt program label    Print message  saying loop program in main thread halted  Return to main program without restoring trippoint  but keeping the  interrupt enabled     ININT2   MG    Blinker stops    Print message  saying blinker effect in thread 1 halted  since  ININT2  runs in thread 1   WT10000 Wait 10 seconds for user to reset inputs 5 and 10   RI 1 Return to thread 1 s main program  blin
128. y 2  16320  array 3  0    With the slave MI set to 1  the master RIO   s arrays will look like this     array 0  19661  array 1  26214  array 2  32768  array 3  39321       RegVal6 Low             Function Code 5   05    Write Single Coil    Description    Modbus function code  05 is a request to write a single coil  This will write a digital output of an RIO  configured as a slave     Operating as a master    The function code of the response can be queried with the MW command  If an exception occurred  the  exception code of the response can be queried with MWI     Example     Exception Response  _MW results in  85  _MWI contains  01 or  02    Normal Response    MW results in  05       Ways to use Function Code 5 with Galil commands     1  MB command in raw packet mode   2  MB command with Modbus function code 5  3  SB   4  CB   5  OB    Operating as a slave    The RIO will accept a write single coil request with a starting address ranging from  0000  000F   referencing digital outputs 0 15     The RIO will respond with a Modbus packet that is identical to the packet it received     Coil Mapping    Addresses    Addresses       Digital Output 0    Digital Output 8       Digital Output 1    Digital Output 9       Digital Output 2    Digital Output 10       Digital Output 3    Digital Output 11       Digital Output 4    Digital Output 12       Digital Output 5    Digital Output 13       Digital Output 6    Digital Output 14          Digital Output 7          Digital Output 15 
129. y found to provide optimum results based on the system  The desired set point  was chosen as 1V  A dead band of 0 1V was added in order to prevent the system from responding to minor  disturbances of the sensor            PCL   CL 25   25msec update rate   AF 0   analog input 0 as feedback  AZ 0     analog output 0 as control  KP 1   proportional gain to 1   KD 10   derivative gain to 10   KI 0 5   integral gain to 0 5   DB 0 1   deadband of 0 1V   PS 1 8   set point at 1 8V    Note  When the Process Control Loop is enabled  the Analog output voltage is normalized to half of the total  voltage input  For instance  with a 0 5V analog input range such as the RIO 47100     the voltage is  normalized to 2 5V  This allows the output to go below 2 5 to compensate for a negative error and above  2 5V to compensate for positive error     The AQ and DQ must be set on the RIO 47120 to configure the Analog input and output ranges before the  process control loops are run and prior to setting AZ  amp  AF  The range of the PS command is dependent on  the AQ command     Current vs Flow Control Mode    The PID loop on the RIO 47xxx by default works as a    current    mode loop  This means that when position  error is 0 the analog output will also be set to zero     Firmware revisions Rev D and newer allow the user to set a negative value for the DB command that will set  the Process control loop into a flow control or velocity mode  When DB is set to a negative value  the analog  output wil
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Tchibo Web  Soundmaster RCD 1500 CD radio  Beispiele zur Unterstützung Ihrer Lehrveranstaltung mit ILIAS      EC-Gold Handheld Calibrator User Manual  Manual del usuario  Downloads - Mediclaseint.com  Descargar las instrucciones de uso  Correction for Incorrect Description Notice RL78/G12 Descriptions in    Copyright © All rights reserved. 
   Failed to retrieve file