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