Galil Motion Control RIO-47120 User Manual

Rio-47/472/471 series
Hide thumbs Also See for RIO-47120:
Table of Contents

Advertisement

USER MANUAL
RIO-47xxx
Manual Rev. 1.0j
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 08/2010

Advertisement

Table of Contents
loading

Summary of Contents for Galil Motion Control RIO-47120

  • Page 1 USER MANUAL RIO-47xxx Manual Rev. 1.0j 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 08/2010...
  • Page 3: Table Of Contents

    Contents CONTENTS ..............................I CHAPTER 1 OVERVIEW ..........................1 ...............................1 NTRODUCTION ........................2 UMBERING VERVIEW RIO-47 . RIO-47 2 ...........................3 RIO Functional Elements ..........................3 CHAPTER 2 GETTING STARTED.......................4 RIO-471 ..............................4 RIO-472 ..............................5 RIO B .........................5 NSTALLING THE OARD Step 1. Configure Jumpers ........................5 Step 2.
  • Page 4 Function Code 3 ($03) - Read Holding Registers ...................21 Function Code 4 ($04) - Read Input Registers ..................24 Function Code 5 ($05) - Write Single Coil .....................27 Function Code 6 ($06) - Preset Single Register ..................29 Function Code 7 ($07) – Read Exception Status..................31 Function Code 15 ($0F) –...
  • Page 5 Defining Arrays............................66 Assignment of Array Entries ........................66 Using a Variable to Address Array Elements..................67 Uploading and Downloading Arrays to On Board Memory..............67 Automatic Data Capture into Arrays .......................67 Deallocating Array Space........................68 )......................69 NPUT OF UMERIC AND TRING Input of Data............................69 ) ....................69 UTPUT OF UMERIC AND...
  • Page 6 .........................89 CCESSORIES AND PTIONS ........................90 IST OF THER UBLICATIONS ............................90 ONTACTING ............................91 RAINING EMINARS WARRANTY...............................92 A1 – SCB-48206 ..............................93 ..............................93 ESCRIPTION ............................94 PECIFICATIONS .................................94 IRING ..............................94 PERATION Method 1 ..............................95 Method 2 ..............................96 A2 – SCB-48306/48316 ...........................97 ..............................97 ESCRIPTION ............................98 PECIFICATIONS .................................98 IRING...
  • Page 7: Chapter 1 Overview

    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 all motion-related commands.
  • Page 8: Part Numbering Overview

    -RTC -PWM RIO-47120 Same as RIO-47100 but with +-10V analog IO -DIN -08-15 SOURCE -16 Bit -422 -4-20mA -PWM RIO-47122 Same as RIO-47120 but with expanded memory -DIN -08-15 SOURCE -16 Bit -422 -4-20mA -RTC -PWM -QUAD -SSI RIO-47200 Same as RIO-47100 except...
  • Page 9: Rio Functional Elements

    RIO-47xx0 vs. RIO-47xx2 # of # of # of array # of # of control Controller program # of labels Ethernet elements variables loops lines handles RIO-47xx0 RIO-47xx2 1000 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.
  • Page 10: Chapter 2 Getting Started

    Chapter 2 Getting Started RIO-471xx Figure 1: Outline of RIO-471xx (Dimensions listed in the Appendix) 4 Chapter 2 Getting Started RIO-47xxx...
  • Page 11: Installing The Rio Board

    RIO-472xx Figure 2: Outline of RIO-472xx (Dimensions listed in the Appendix) 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.
  • Page 12: Step 2. Connecting Power To The Rio

    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;...
  • Page 13: Step 3. Install The Communications Software

    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 “GalilTools” when communicating to the RIO unit. Please see the GalilTools Manual for a complete description of how to install and connect to Serial or Ethernet controllers.
  • Page 14 TZ {CR} This command directs the RIO to return the current I/O status. The controller should respond with something similar to the following: Block 0 (7-0) Inputs - value 255 (1111_1111) Block 1 (15-8) Inputs - value 255 (1111_1111) Block 0 (7-0) Outputs - value 0 (0000_0000) Block 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...
  • Page 15 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.
  • Page 16: Chapter 3 Communication

    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 Ethernet port is jumper configurable for 10 or 100Base-T (default).
  • Page 17: Jumper Configuration For 10Baset

    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 acknowledgement 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.
  • Page 18: Email From The Rio

    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 DH0 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.
  • Page 19: Handling Communication Errors

    connect to the slave. (Ex: IHB=151,25,255,9<179>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.
  • Page 20: Other Protocols Supported

    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.
  • Page 21: Raw Modbus Send/Receive

    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.
  • Page 22 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).
  • Page 23: Function Code 1 ($01) - Read Coils

    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 _MW1.
  • Page 24 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).
  • Page 25: Function Code 2 ($02) - Read Discrete Inputs

    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 _MW1.
  • Page 26 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).
  • Page 27: Function Code 3 ($03) - Read Holding Registers

    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.
  • Page 28 Galil Register Map Register Address 32-Bit Floating Point Counts Analog Input 0 Analog Input 0 nalog Input 1 Analog Input 1 Analog Input 2 nalog Input 3 Analog Input 2 Analog Input 4 nalog Input 5 Analog Input 3 Analog Input 6 nalog Input 7 Analog Input 4 Analog Input 5...
  • Page 29 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.
  • Page 30: Function Code 4 ($04) - Read Input Registers

    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.
  • Page 31 Galil Register Map Register Address 32-Bit Floating Point Counts Analog Output 0 Analog Output 0 Analog Output 1 Analog Output 1 Analog Output 2 Analog Output 3 Analog Output 2 Analog Output 4 Analog Output 5 Analog Output 3 Analog Output 6 Analog Output 7 Analog Output 4 AnalogOutput 5...
  • Page 32 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.
  • Page 33: Function Code 5 ($05) - Write Single Coil

    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 _MW1.
  • Page 34 Coil Mapping Coil Addresses Coil 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...
  • Page 35: Function Code 6 ($06) - Preset Single Register

    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.
  • Page 36 Coil Mapping Coil Addresses Coil 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...
  • Page 37: Function Code 7 ($07) - Read Exception Status

    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.
  • Page 38 Coil Mapping Coil 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 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).
  • Page 39: Function Code 15 ($0F) - Write Multiple Coils

    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 _MW1.
  • Page 40 Coil Mapping Coil Addresses Coil 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...
  • Page 41: Function Code 16 ($10) - Write Multiple Registers

    Function Code 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 _MW1.
  • Page 42 Galil Register Map Register Address 32-Bit Floating Point Counts Analog Output 0 Analog Output 0 Analog Output 1 Analog Output 1 Analog Output 2 Analog Output 3 Analog Output 2 Analog Output 4 Analog Output 5 Analog Output 3 Analog Output 6 Analog Output 7 Analog Output 4 Analog Output 5...
  • Page 43 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...
  • Page 44: Analog Io Ranges

    0x0000 - 0x7FF0 Analog Outputs Analog Range Counts Range(decimal) Counts Range(hex) 0-5V 0-65520 0x0000 - 0xFFF0 RIO-47120 (12 or 16 bit version) Analog Inputs AQx,m(see command reference for details) Analog Range Counts Range(decimal) Counts Range(hex) +/5V -32768 to 32767 0x8000 - 0x7FFF...
  • Page 45: Data Record

    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.
  • Page 46: Explanation Of Status Information

    Little Endian AQ0,1 AQ0,2 AQ0,3 AQ0,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.
  • Page 47: Chapter 4 I/O

    Chapter 4 I/O Introduction The standard RIO controller has 16 digital inputs, 16 digital outputs, 8 analog inputs and 8 analog outputs. 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 the 44pin and 26pin High Density D-Sub connectors on the top of the unit.
  • Page 48 given, this will provide a positive voltage to the device on the output pin to turn it on (with up to 500mA of current available). A CBn (Clear Bit n) will remove the voltage to turn it off. The bold connections in Figure 4 are external connections.
  • Page 49 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 opto-isolated 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.
  • Page 50: Digital Inputs

    Channel 0 Clock+ DO14 (J4.24) Channel 0 Clock- DO12 (J4.39) Channel 0 Data+ DO15 (J4.38) Channel 0 Data- DO13 (J4.9) Channel 1 Clock+ DI14 (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:...
  • Page 51: Analog Outputs

    Toggle Switch DI0-DI7 DI8-DI15 INC0B (pin 34) INC1B (pin 16) 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: 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)
  • Page 52 Here’s the equation used to get the analog value for a sample pair of inputs (0 and 1). − value Input Input RIO-4710x: Analog Inputs 0-7 have a voltage range of 0-5VDC. They have 12bit ADC (a resolution of approximately 1.22mV) with a 100k input impedance.
  • Page 53: Analog Process Control Loop

    Input Impedance (With +-10V option) 42k Ω Single Ended: 31k Ω Differential: See the AQ command in the command reference for a full explanation. Analog Process Control Loop A Process Control Loop allows closed loop control of a process or device. The RIO-471x0 has two independent PID filters to provide process control of two devices simultaneously.
  • Page 54 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 & AF. The range of the PS command is dependant on the AQ command.
  • Page 55: Chapter 5 Programming

    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.
  • Page 56: Using Labels In Programs

    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 maximum of seven characters. The first character must be a letter; after that, numbers are permitted.
  • Page 57: Program Lines Greater Than 40 Characters

    the same line. The Galil terminal software will remove these statements when the program is downloaded to the RIO board. For example: #OUTPUT REM PROGRAM LABEL SB1;CB2; REM Set Bit 1 and Clear bit 2 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.
  • Page 58: Executing Programs - Multitasking

    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.
  • Page 59: Trace Commands

    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.
  • Page 60: Program Flow Commands

    001 SD14 Set bit 14 high 002 SB15 Set bit 15 high 003 MG”DONE” Print message 004 EN :XQ #A Execute #A ?001 SD14 Error on Line 1 :TC1 Tell Error Code 130 Unrecognized Command This command doesn’t :MG_ED Print line number where problem occurred 1.00 The error occurred on line 1 of the program Program Flow Commands...
  • Page 61: Examples

    Examples: Interrupt Instruction Interpretation Program Label XQ#B,1 Execute #B in thread 1 II1,0,-1&3 #ININT1 in thread 0 when input 1 low and input 3 high II2,1,-5&10 #ININT2 in thread 1 when input 5 low and input 10 high AI 13&14 Trippoint on inputs 13 and 14 #LOOP;JP#LOOP Pseudo program –...
  • Page 62: Conditional Jumps

    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.
  • Page 63 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.
  • Page 64: Using If, Else, And Endif Commands

    JP #Loop,COUNT<10 Jump to #Loop if the variable, COUNT, is less than 10 JS #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]>2 Jump to #BLUE if the absolute value of variable, V2, is greater than 2...
  • Page 65: Stack Manipulation

    TEMP=@IN[1]|@IN[2] TEMP is equal to 1 if either Input 1 or Input 2 is high JS#COND, TEMP=1 Jump to subroutine if TEMP equals 1 JP#LOOP Loop back if TEMP doesn’t equal 1 End of main program #COND Begin subroutine “COND” IF (@IN[1]=0) IF conditional statement based on input 1 IF (@IN[2]=0)
  • Page 66 #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...
  • Page 67: Mathematical And Functional Expressions

    XQ _ED2 (or _ED3),_ED1,1 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 shows an error correction routine that uses the operands. Example - Command Error w/Multitasking Instruction Interpretation...
  • Page 68 Operator Function Addition Subtraction Multiplication Division & Logical And (Bit-wise) Logical Or (On some computers, a solid vertical line appears as a broken line) Parenthesis Modulus The numeric range for addition, subtraction and multiplication operations is +/-2,147,483,647.9999. The precision for division is 1/65,000. Mathematical operations are executed from left to right.
  • Page 69: Bit-Wise Operators

    Bit-Wise Operators The mathematical operators & and | are bit-wise operators. The operator, &, 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.
  • Page 70: Functions

    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) @TAN[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°...
  • Page 71: Operands

    TEMP1 POINT Invalid Variable Names REALLONGNAME ; Cannot have more than 8 characters ; 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;...
  • Page 72: Special Operands (Keywords)

    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 *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 TIME...
  • Page 73: Using A Variable To Address Array Elements

    DM OUTPUT[10] Dimension Output Array OUTPUT[1]=3 Assigns the second element of the array, OUTPUT, the value of OUTPUT[1]= Returns array element value OUTPUT[9]=_TI0 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”...
  • Page 74: Deallocating Array Space

    Command Summary - Automatic Data Capture Command Description RA n[],m[],o[],p[] Selects up to four arrays for data capture. The arrays must be defined with the DM command. Selects the type of data to be recorded, where type1, type2, type3, and type1,type2,type3,type4 type 4 represent the various types of data (see table below).
  • Page 75: Input Of Data (Numeric And String)

    Input of Data (Numeric and String) Input of Data The command, IN, is used to prompt the user to input numeric or string data. Using the IN command, the user may specify a message prompt by placing a message in quotations. When the RIO executes an IN command, it will wait for the input of data.
  • Page 76 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.
  • Page 77: Displaying Variables And Arrays

    {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]=.
  • Page 78: Programmable I/O

    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.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.
  • Page 79: Digital 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 (16bit optional on RIO-47120). The standard voltage range is 0 to +5VDC on the RIO-47100. The voltage input range is configurable on the RIO-47120 using the AQ command.
  • Page 80: Analog Outputs

    (16bit optional). The standard voltage range is 0 to +5VDC for the RIO-47100. The Analog Output voltage range is configurable using the DQ command when using the RIO-47120. Use the ID command to see the model number of the RIO.
  • Page 81: Appendix

    Appendix Electrical Specifications Input/Output Digital I/O See Chapter 4. DAC Output Current 4mA max output per channel 47120: +/-12V out 10mA max output Power Requirements 18-36 VDC Typical: RIO-4710x – 1.4W RIO-4712x – 2.6W RIO-47200 – 2.1W Max: 4 Watts RIO-47xxx Appendix ●...
  • Page 82: Performance Specifications

    Performance Specifications RIO-47xx0 Variable Range: +/-2 billion 1 ⋅ 10 -4 Variable Resolution: Variable Size 126 variables Array Size: 400 elements, 6 array names Max Program Labels: Program Size: 200 lines x 40 characters Maximum Number of Burn Cycles: 10,000 (BP, BN, BV combined) RIO-47xx2 Variable Range: +/-2 billion...
  • Page 83: Standard Options

    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.
  • Page 84: -08-15 Source (2Lsrc) Option

    -08-15 SOURCE (2LSRC) option If a RIO-471xx is ordered with the -08-15 SOURCE option then outputs 8-15 are configured to source current. They will be capable of 5-24VDC with 25mA of current in a sourcing configuration. Figure 8: Low Power Sourcing Outputs OP1A should be connected to the positive side of 5-24VDC external power supply.
  • Page 85: Pwm

    register that is read using the QE command is updated by the RIO every 25ms. See 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.
  • Page 86: 16Bit

    Electrical Specifications for DO14:15 with –PWM option Output Voltage Range 0V to 3.3V Current output - Sink/Source 5 mA (Max) Figure 9: -PWM option For the standard low power digital outputs found on the RIO-471xx 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.
  • Page 87: Ai_10V12Bit

    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.
  • Page 88 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. Part number ordering example: RIO-47200-(8AO_10v12bit) Qty 8 +/-10V configurable analog outputs with 12 bit resolution.
  • Page 89: Connectors For Rio-47

    Connectors for RIO-47xxx 44 pin D-Sub Connector – RIO-471xx Label Description Label Description Label Description DI15 Digital Input 15 No Connect / INC1B ¹ DI14 Digital Input 14 DI12 Digital Input 12 DI13 Digital Input 13 DI11 Digital Input 11 Digital Input 9 DI10 Digital Input 10...
  • Page 90: Screw Terminals - Rio-472Xx

    Screw Terminals – RIO-472xx Label Description Label Description 18-36 18-36VDC logic power input DI10 Digital Input 10 Return side of logic power input DI11 Digital Input 11 AGND Analog Ground DI12 Digital Input 12 AGND Analog Ground DI13 Digital Input 13 Analog Input 0 DI14 Digital Input 14...
  • Page 91: J1 Ethernet Port: 10/100 Base-T (Rj-45)

    Note: A straight-thru serial cable should be used to connect the RIO to a standard PC serial port (pin1 to pin1, pin2 to pin 2, etc…) J1 Ethernet Port: 10/100 Base-T (RJ-45) Signal Reserved Reserved Reserved Reserved J5 Power: 2 pin Molex Voltage range is 18-36VDC for RIO-471xxx.
  • Page 92: Jumper Description For Rio

    Jumper Description for RIO Jumper Label Function (If jumpered) 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.
  • Page 93: Rio Dimensions

    RIO Dimensions RIO-471xx Units in centimeters RIO-47xxx Appendix ● 87...
  • Page 94: Rio-472Xx

    RIO-472xx Units in millimeters 88 Appendix RIO-47xxx...
  • Page 95: Accessories And Options

    Accessories and Options Product Description RIO-47100 Remote I/O controller with 0-5V analog I/O; 12bit RIO-47120 Remote I/O controller with ±10V analog I/O; 12bit RIO-47120-16 Remote I/O controller with ±10V analog I/O; 16bit 26-pin D high-density male to screw terminals. ICS-48026-M Use 1 for each RIO-471x0 to break out analog signals 44-pin D high-density male to screw terminals.
  • Page 96: 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...
  • Page 97: Training Seminars

    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.
  • Page 98: Warranty

    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.
  • Page 99: A1 - Scb-48206

    A1 – 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. 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.
  • Page 100: Specifications

    Specifications Number of Inputs 6 RTD inputs RTD input – Analog Input Map RTD[0:5] = AI[0:5] Output Range 0-5V Excitation Current 1 mA 18 – 230 Ω Input Range Temperature Range (100 Ω RTD) -200 to 350 deg C If greater than 230Ω (350 deg C) is required, contact Galil. Wiring The SBC-48206 has qty 6, 3-wire RTD inputs.
  • Page 101: Method 1

    Method 1 This method strictly uses the RTD coefficient and assumes a proportional relationship between impedance and temperature. The equation for this is given in the following equation. Tc = (R – R ) / (α * 100) Where Tc = Temperature in deg C = 100 Ω...
  • Page 102: Method 2

    Method 2 This method uses the following equations to calculate the temperature of the RTD. These equations more accurately describe the relationship between temperature and impedance of the RTD than Method 1. For Tc > 0 deg C (R(t)>100) R(t) = R (1 + A* Tc + B * Tc For Tc <...
  • Page 103: A2 - Scb-48306/48316

    A2 – SCB-48306/48316 Description The 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. The SCB-48316 provides thermocouple terminal connectors for the 6 thermocouple inputs, the SCB-48306 provides screw terminals inputs for the 6 thermocouple inputs.
  • Page 104: Specifications

    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 –...
  • Page 105: Operation

    Operation The SCB-483x6 will send an analog voltage to the RIO-4712x 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 –...
  • Page 106: Index

    Index Absolute Value ..........57, 63 Logical Operator..........55 Address ..............89 Masking Arithmetic Functions .......48, 56, 62, 64 Bit-Wise............61 Array ........3, 48, 52, 56, 62, 71, 75 Math Function Automatic Subroutine ........58 Absolute Value ........57, 63 Baud Rate............7, 10 Bit-Wise............61 Bit-Wise.............61 Cosine ............66 Circular Record Array........66 Logical Operator ...........55...
  • Page 107 Internal ............56, 64 Zero Stack............53 RIO-47xxx Index ● 101...

This manual is also suitable for:

Rio-47100Rio-47122Rio-47102Rio-47**0Rio-47**2Rio-47200

Table of Contents