Difference between revisions of "IO12-Update"

 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
= IO12 Update procedure =
[[Main Page#Products|Products]] >> [[Main Page#Automation and Control - Devices and accessories|Automation and Control]] >> [[Barix_IO12]] >> [[IO12-Update]]


This page describes how to update the firmware on an IO12.
This page describes how to update the firmware on an IO12.
The IO12 can be update using a Barionet and a PC/Mac using a terminal program to control the application. The terminal program can connect to the application either via TCP or a serial (RS-232) connection.
 
The IO12 can be updated using a Barionet and a PC/Mac using a terminal program to control the BCL application named MBT (Modbus Tester & Loader). The terminal program can connect to the application MBT either via network (TCP) or a serial (RS-232) connection (two different BCL applications).


== Prerequisites ==
== Prerequisites ==
Prepare the following material:
Prepare the following material:
* PC or Mac with e and a terminal program such as hyperterm
* PC or Mac with e and a terminal program such as hyperterm
* Optionally: a serial port (HW or USB2serial) and a serial cross cable (DB9 femaleto DB9 female)
* Optionally: a serial port (HW or USB2serial) and a serial cross cable (3 wire, DB9 female to DB9 female)
* A [[Barionet 50]] (FW 2.00 or higher) or a [[Barionet|Barionet 100]] (FW 2.08 or higher)
* A [[Barionet 50]] (FW 2.00 or higher) or a [[Barionet|Barionet 100]] (FW 2.08 or higher)
* Modbus Test & Load BCL application (MBT_Vxx_S.cob for serial cable or MBT_Vxx_T.cob for TCP terminal)
* Modbus Test & Load BCL application: choose '''MBT_Vxx_S.cob''' for serial cable or '''MBT_Vxx_T.cob''' for TCP terminal control (xx= stands for actual version number). Download the MBT file from the  [http://www.barix.com/downloads/MBT_Application_Modbus_Tester_Loader_for_extensions/2711 Barix download section]
* Power supply 9VDC (min.) to 30VDC (max.), to supply both Barionet and IO12, 300mA (min.)
* Power supply 9VDC (min.) to 30VDC (max.), to supply both Barionet and IO12, 300mA (min.)
* 4pin Extension cable to connect to [[Barionet 50]] or 4 wires to connect to [[Barionet|Barionet 100]]  
* 4pin Extension cable to connect to [[Barionet 50]] or 4 wires to connect to [[Barionet|Barionet 100]]  
Line 15: Line 16:
'''⇒ Tips:'''  
'''⇒ Tips:'''  
* Using a [[Barionet 50]] is simpler as it needs no wiring: The supplied 4 pin extension cable can be used !
* Using a [[Barionet 50]] is simpler as it needs no wiring: The supplied 4 pin extension cable can be used !
* Using the TCP version of the application is simpler as it needs no serial port and serial cable !
* Using the TCP version of the application is simpler as it needs no serial port and serial cable ! It works via the Ethernet network connection.
<br>
<br>


== Hardware setup ==
== Hardware setup ==
# Connect the PC/Mac and the Barionet to your network switch or hub
# Connect the PC/Mac and the Barionet to your network switch or hub.
# Depending on the kind of application control connection do the following:
# Prepare the power supply to connect it to the Barionet in a later step.
#: If you plan to use the TCP version of the application skip to step 3.
#: If you plan to use the serial version of the application:
#:* Connect the PC/Mac to the serial port of the Barionet with the cross cable
# Wire the IO12 with the Barionet and power supply as following:
 
== Software setup ==
# Connect the PC/Mac and the Barionet to your network switch or hub
# Depending on the kind of application control connection do the following:
# Depending on the kind of application control connection do the following:
#: If you plan to use the TCP version of the application:
#:* If you plan to use the TCP version of the application skip to step 3.
#: * Load the  file '''MBT_Vxx_T.cob''' (xx is the version, at the time of writing: 11) into the Barionet's page WEB4 (Barionet 50: via extended web update, Barionet 100: via tftp), reboot when done and wait 10 seconds
#:* If you plan to use the serial version of the application: Connect the PC/Mac to the serial port of the Barionet with the cross cable
#: * Connect the PC/Mac to the serial port of the Barionet with the cross cable
# Depending on which Barionet you choose wire the IO12 as following:
#: * Start a terminal program with the serial settings 9600,8,N,1 no HW control
#:* If you use the Barionet 50: bridge the Barionet 50 (J10) and the IO12 (J9 or J10) using the supplied 4 pin extension cable.
#: If you plan to use the serial version of the application:
#:* If you use the Barionet 100: As the 4 pin extension cable is '''NOT''' supported, connect the Barionet 50 to the IO12 using 4 wires via the screw block terminals as following:  
#:* Load the file '''MBT_Vxx_S.cob''' (xx is the version, at the time of writing: 11) into the Barionet's page WEB4 (Barionet 50: via extended web update, Barionet 100: via tftp), reboot when done and wait 10 seconds
{|
#: ** Connect the PC/Mac to the serial port of the Barionet with the cross cable
! width="30"  rowspan="6" |
#: ** Start a terminal program with the serial settings 9600,8,N,1 no HW control
! rowspan="6" | [[Image:Barionetpinout3.jpg|200px]]
* Wire the X8 with the Barionet and power supply as following:
! width="80" bgcolor="#C22" align="center" style="color:#FFF;"| <sup>Barionet 100
 
! width="80" bgcolor="#C22" align="center" style="color:#FFF;"| <sup>Signal / Wire
 
! width="80" bgcolor="#C22" align="center" style="color:#FFF;"| <sup>Barix IO12
{|border="1" cellpadding="5" cellspacing="0"
! rowspan="6" | [[Image:BarixIO12pinout.jpg|200px|right]]
|-
|-
|'''Signal'''
| align="center" | <sup>J6 pin 15
|'''Barionet'''
| align="center" | <sup>Power +
|'''X8'''
| align="center" | <sup>J5 pin 1
|-
|-
|RS485 B
| bgcolor="#EEE" align="center" | <sup>J6 pin 16
|J7 pin 5
| bgcolor="#EEE" align="center" | <sup>Power -
|J3 pin 3
| bgcolor="#EEE" align="center" | <sup>J5 pin 3
|-
|-
|RS485 A
| align="center" | <sup>J7 pin 4
|J7 pin 4
| align="center" | <sup>RS485 A
|J3 pin 2
| align="center" | <sup>J11 pin 1
|-
|-
|Power +
| bgcolor="#EEE" align="center" | <sup>J7 pin 5
|J6 pin 15
| bgcolor="#EEE" align="center" | <sup>RS485 B
|J3 pin 1*
| bgcolor="#EEE" align="center" | <sup>J11 pin 3
|-
|-
|Power -
| &nbsp;
|J6 pin 16
| &nbsp;
|J3 pin 2*
| &nbsp;
|}
|}
<br>


== Software setup ==
# Power up the Barionet and gather the IP address (check your DHCP server, use the Barix Discovery tool or use the ARP trick as explained in the Quick Install Guide)
# Depending on the kind of application control connection do the following:
#: If you plan to use the TCP version of the application:
#:* Load the  file '''MBT_Vxx_T.cob''' (xx is the version, at the time of writing: 11) into the Barionet's page WEB4 (Barionet 50: via extended web update, Barionet 100: via tftp), reboot when done and wait 10 seconds
#:* Start a terminal program (Telnet session) and connect via TCP port 12345 to the IP of your Barionet
#: If you plan to use the serial version of the application:
#:* Load the  file '''MBT_Vxx_S.cob''' (xx is the version, at the time of writing: 11) into the Barionet's page WEB4 (Barionet 50: via extended web update, Barionet 100: via tftp), reboot when done and wait 10 seconds
#:* Connect the PC/Mac to the serial port of the Barionet with the cross cable
#:* Start a terminal program with the serial settings 9600,8,N,1 no HW control


(*) the X8 has a built in bridge rectifier, so polarity of the power connection is unimportant.
== Firmware Update procedure ==
 
#After the above Hardware and Software setup the terminal shows:
=== procedure ===
#:<code>Modbus and X8/R6 Test Application</code>
 
#:<code>Please select: 1 for factory, 2 for service mode, 3 for loader</code>
1) Reset the Barionet. You should see the prompt of the MBT application. If you select "2" - service, you get
#Hit the number '''2''' and hit the '''Enter (&crarr;)''' key for sevice mode. The terminal shows:
into the modbus testing/exercising menu. note that the software will automatically set the serial parameters to 19200,e,8,1
#:<code>Wadr,reg,val | Radr,reg,num or | sSadr,coil,val | bBadr | Is1,s2 | Cs1,s2 | Fs1,s2 | X ?</code>
and if a change is needed, it will automatically reboot/restart.
#To check if talking to the IO12 is possible enter '''R0,256,4''' (capital R, zero, comma, two, five, six, comma, four) and hit the '''Enter (&crarr;)''' key. The terminal shows:
 
#:<code>R0,256,4</code>
2) check if the connected X8 is working, for example, with a "read command":
#:<code>READ: 00B3 0008 000C 0052</code>
R0,256,4<CR>
#:The first group (word) of digits tells the HW Type (0x00B3=IO12), the 2nd tells the current version (version 8), the 3rd the Serial 1 (0x000C=12 decimal) and the 4th the Serial 2 (0x0052=82 decimal). Both serials can be found on the data plate of the IO12 !
 
#:&rArr; If you do NOT receive a reply check the wiring. Another reason for this failure could be the settings of the device. See section [[Barix_IO12#IO12_Defaults_Parameters_Jumper|IO12 Defaults Parameters Jumper]] on the [[Barix_IO12|Barix IO12]] wiki page to assume defaults.
Answer (example): READ: 00B2 0005 0005 0001
#Now that we know that the connection works we can start with deleting the existing firmware by entering '''F12,82''' (capital F, serial1, comma, serial2)
 
#:&rArr; Make sure you use the correct serial numbers 1 and 2 (decimal values not hex) of '''YOUR''' device !!!
this shows 8 bytes from the eeprom of the X8, being type, firmware version (5) , serial number 1 (5) & 2 (1). The device will respond independent of its modbus address as this is a read to the "broadcast" address. ** note ** the numbers displayed are in hexadecimal notation. A serial number of an X8 such as 10-31 would be displayed as 000A 001F !
#:and hit the '''Enter (&crarr;)''' key. The terminal shows:
 
#:<code>F12,82</code>
3) send the "firmware erase" command to the X8 - it needs the serial number of the X8 as two decimal numbers as parameter as a security feature. For example, X8 with serial number 5-001 needs the following command
#:<code>?</code>
F5,1<CR>
#:<code>Wadr,reg,val | Radr,reg,num or | sSadr,coil,val | bBadr | Is1,s2 | Cs1,s2 | Fs1,s2 | X ?</code>
 
#:&rArr; Do NOT be fooled by the question mark. The IO12 will carry out the Erase command and after 5 to 10 seconds the PWR LED will go dark.
4) the X8 will turn three of the four visible LEDs on, and after about 6 seconds 2 will stay iluminated.
#::*If the PWR LED stays lit then repeat step 4 carefully.
 
#::*If after repeating step 4 the PWR LED stays lit then contact Barix support to check if the device  must be returned to Barix (via reseller) for factory programming.  
...you can repeat this now for as many X8 as you wish. The X8 devices will be "erased" after this procedure. And new software will be loaded in the next step.
#Hit the '''X''' (capital X) and then hit the '''Enter (&crarr;)''' key to exit the service mode. The terminal shows:
 
#:<code>Modbus and X8/R6 Test Application</code>
5) enter "X" command to leave the service mode, then select "3" for the firmware loader
#:<code>Please select: 1 for factory, 2 for service mode, 3 for loader</code>
 
#Do NOT wait and hit the number '''3''' and hit the '''Enter (&crarr;)''' key for loader mode. The terminal shows:
6) the barionet will reconfigure the serial port, restart. Select "3" again for the load app (or wait it will be entered automatically).
#:<code>wrong serial setup - correcting & rebooting ..</code>
 
#After the reboot the loader mode will be started automatically. The terminal shows:
7) if the X8 is still connected (and erased), press "S" to send the firmware to the X8. Otherwise, any X8 connected will start loading automatically after approx. 6 seconds.
#:<code>Modbus and X8/R6 Test Application</code>
 
#:<code>Please select: 1 for factory, 2 for service mode, 3 for loader</code>
8) after about 20 seconds, the firmware load is complete and the X8 will start blinking with one LED. power off/on the X8, it may still blink with the middle LED, repower again. The X8 now will blink only with one corner LED, all others will be off. The device has been loaded with the firmware and is operative.
#:<code>loader started, please reset unit. Press F for erase command, S to send firmwar</code>
#Hit the '''S''' (capital S) and then hit the '''Enter (&crarr;)''' key to start the firmware update. The terminal shows:
#:<code>sending firmware</code>
#:&rArr; This will take about 20 seconds (the RS-485 LED of the Barionet flickers during transmission) and when done the terminal shows:
#:<code>end programming</code>
#:<code>firmware load complete</code>
#::*If it says "end prgramming" only go start over to repeat the erase command (step 4) because it will only accept programming when erased prior to programming
#:&rArr; After a seconds the PWR LED will be lit.
#::*If it stays dark power cycle the IO12 (disconnect the power wires, wait 4 seconds and reconnect power wires)
#::*If it still stays dark repeaet power cycling up to 3 more times
#::*If it stays dark go back to step 4 and repeat the erase command
#Hit the '''X''' (capital X) and then hit the '''Enter (&crarr;)''' key to exit the loader mode. The terminal shows:
#:<code>Please select: 1 for factory, 2 for service mode, 3 for loader</code>
#Do NOT wait and hit the number '''2''' and hit the '''Enter (&crarr;)''' key for service mode. The terminal shows:
#:<code>wrong serial setup - correcting & rebooting ..</code>
#After the reboot the terminal shows:
#:<code>Modbus and X8/R6 Test Application</code>
#:<code>Please select: 1 for factory, 2 for service mode, 3 for loader</code>
#Hit the number '''2''' and hit the '''Enter (&crarr;)''' key for sevice mode. The terminal shows:
#:<code>Wadr,reg,val | Radr,reg,num or | sSadr,coil,val | bBadr | Is1,s2 | Cs1,s2 | Fs1,s2 | X ?</code>
#To check if the update of the IO12 went fine enter '''R0,256,4''' (capital R, zero, comma, two, five, six, comma, four) and hit the '''Enter (&crarr;)''' key. The terminal shows:
#:<code>R0,256,4</code>
#:<code>READ: 00B3 000B 000C 0052</code>
#:The second group (word) of digits tells the current firmware version (now 0x000B stands for version 11).
#:&rArr; If it still says the old version then the update failed. Start over from the beginning.
Gratulations, you succesfully updated the device.




Back to [[FAQ]]
Back to [[Barix_IO12]]

Latest revision as of 12:55, 21 February 2011

Products >> Automation and Control >> Barix_IO12 >> IO12-Update

This page describes how to update the firmware on an IO12.

The IO12 can be updated using a Barionet and a PC/Mac using a terminal program to control the BCL application named MBT (Modbus Tester & Loader). The terminal program can connect to the application MBT either via network (TCP) or a serial (RS-232) connection (two different BCL applications).

Prerequisites

Prepare the following material:

  • PC or Mac with e and a terminal program such as hyperterm
  • Optionally: a serial port (HW or USB2serial) and a serial cross cable (3 wire, DB9 female to DB9 female)
  • A Barionet 50 (FW 2.00 or higher) or a Barionet 100 (FW 2.08 or higher)
  • Modbus Test & Load BCL application: choose MBT_Vxx_S.cob for serial cable or MBT_Vxx_T.cob for TCP terminal control (xx= stands for actual version number). Download the MBT file from the Barix download section
  • Power supply 9VDC (min.) to 30VDC (max.), to supply both Barionet and IO12, 300mA (min.)
  • 4pin Extension cable to connect to Barionet 50 or 4 wires to connect to Barionet 100

⇒ Tips:

  • Using a Barionet 50 is simpler as it needs no wiring: The supplied 4 pin extension cable can be used !
  • Using the TCP version of the application is simpler as it needs no serial port and serial cable ! It works via the Ethernet network connection.


Hardware setup

  1. Connect the PC/Mac and the Barionet to your network switch or hub.
  2. Prepare the power supply to connect it to the Barionet in a later step.
  3. Depending on the kind of application control connection do the following:
    • If you plan to use the TCP version of the application skip to step 3.
    • If you plan to use the serial version of the application: Connect the PC/Mac to the serial port of the Barionet with the cross cable
  4. Depending on which Barionet you choose wire the IO12 as following:
    • If you use the Barionet 50: bridge the Barionet 50 (J10) and the IO12 (J9 or J10) using the supplied 4 pin extension cable.
    • If you use the Barionet 100: As the 4 pin extension cable is NOT supported, connect the Barionet 50 to the IO12 using 4 wires via the screw block terminals as following:
Error creating thumbnail: File missing
Barionet 100 Signal / Wire Barix IO12
Error creating thumbnail: File missing
J6 pin 15 Power + J5 pin 1
J6 pin 16 Power - J5 pin 3
J7 pin 4 RS485 A J11 pin 1
J7 pin 5 RS485 B J11 pin 3
     


Software setup

  1. Power up the Barionet and gather the IP address (check your DHCP server, use the Barix Discovery tool or use the ARP trick as explained in the Quick Install Guide)
  2. Depending on the kind of application control connection do the following:
    If you plan to use the TCP version of the application:
    • Load the file MBT_Vxx_T.cob (xx is the version, at the time of writing: 11) into the Barionet's page WEB4 (Barionet 50: via extended web update, Barionet 100: via tftp), reboot when done and wait 10 seconds
    • Start a terminal program (Telnet session) and connect via TCP port 12345 to the IP of your Barionet
    If you plan to use the serial version of the application:
    • Load the file MBT_Vxx_S.cob (xx is the version, at the time of writing: 11) into the Barionet's page WEB4 (Barionet 50: via extended web update, Barionet 100: via tftp), reboot when done and wait 10 seconds
    • Connect the PC/Mac to the serial port of the Barionet with the cross cable
    • Start a terminal program with the serial settings 9600,8,N,1 no HW control

Firmware Update procedure

  1. After the above Hardware and Software setup the terminal shows:
    Modbus and X8/R6 Test Application
    Please select: 1 for factory, 2 for service mode, 3 for loader
  2. Hit the number 2 and hit the Enter (↵) key for sevice mode. The terminal shows:
    Wadr,reg,val | Radr,reg,num or | sSadr,coil,val | bBadr | Is1,s2 | Cs1,s2 | Fs1,s2 | X ?
  3. To check if talking to the IO12 is possible enter R0,256,4 (capital R, zero, comma, two, five, six, comma, four) and hit the Enter (↵) key. The terminal shows:
    R0,256,4
    READ: 00B3 0008 000C 0052
    The first group (word) of digits tells the HW Type (0x00B3=IO12), the 2nd tells the current version (version 8), the 3rd the Serial 1 (0x000C=12 decimal) and the 4th the Serial 2 (0x0052=82 decimal). Both serials can be found on the data plate of the IO12 !
    ⇒ If you do NOT receive a reply check the wiring. Another reason for this failure could be the settings of the device. See section IO12 Defaults Parameters Jumper on the Barix IO12 wiki page to assume defaults.
  4. Now that we know that the connection works we can start with deleting the existing firmware by entering F12,82 (capital F, serial1, comma, serial2)
    ⇒ Make sure you use the correct serial numbers 1 and 2 (decimal values not hex) of YOUR device !!!
    and hit the Enter (↵) key. The terminal shows:
    F12,82
    ?
    Wadr,reg,val | Radr,reg,num or | sSadr,coil,val | bBadr | Is1,s2 | Cs1,s2 | Fs1,s2 | X ?
    ⇒ Do NOT be fooled by the question mark. The IO12 will carry out the Erase command and after 5 to 10 seconds the PWR LED will go dark.
    • If the PWR LED stays lit then repeat step 4 carefully.
    • If after repeating step 4 the PWR LED stays lit then contact Barix support to check if the device must be returned to Barix (via reseller) for factory programming.
  5. Hit the X (capital X) and then hit the Enter (↵) key to exit the service mode. The terminal shows:
    Modbus and X8/R6 Test Application
    Please select: 1 for factory, 2 for service mode, 3 for loader
  6. Do NOT wait and hit the number 3 and hit the Enter (↵) key for loader mode. The terminal shows:
    wrong serial setup - correcting & rebooting ..
  7. After the reboot the loader mode will be started automatically. The terminal shows:
    Modbus and X8/R6 Test Application
    Please select: 1 for factory, 2 for service mode, 3 for loader
    loader started, please reset unit. Press F for erase command, S to send firmwar
  8. Hit the S (capital S) and then hit the Enter (↵) key to start the firmware update. The terminal shows:
    sending firmware
    ⇒ This will take about 20 seconds (the RS-485 LED of the Barionet flickers during transmission) and when done the terminal shows:
    end programming
    firmware load complete
    • If it says "end prgramming" only go start over to repeat the erase command (step 4) because it will only accept programming when erased prior to programming
    ⇒ After a seconds the PWR LED will be lit.
    • If it stays dark power cycle the IO12 (disconnect the power wires, wait 4 seconds and reconnect power wires)
    • If it still stays dark repeaet power cycling up to 3 more times
    • If it stays dark go back to step 4 and repeat the erase command
  9. Hit the X (capital X) and then hit the Enter (↵) key to exit the loader mode. The terminal shows:
    Please select: 1 for factory, 2 for service mode, 3 for loader
  10. Do NOT wait and hit the number 2 and hit the Enter (↵) key for service mode. The terminal shows:
    wrong serial setup - correcting & rebooting ..
  11. After the reboot the terminal shows:
    Modbus and X8/R6 Test Application
    Please select: 1 for factory, 2 for service mode, 3 for loader
  12. Hit the number 2 and hit the Enter (↵) key for sevice mode. The terminal shows:
    Wadr,reg,val | Radr,reg,num or | sSadr,coil,val | bBadr | Is1,s2 | Cs1,s2 | Fs1,s2 | X ?
  13. To check if the update of the IO12 went fine enter R0,256,4 (capital R, zero, comma, two, five, six, comma, four) and hit the Enter (↵) key. The terminal shows:
    R0,256,4
    READ: 00B3 000B 000C 0052
    The second group (word) of digits tells the current firmware version (now 0x000B stands for version 11).
    ⇒ If it still says the old version then the update failed. Start over from the beginning.

Gratulations, you succesfully updated the device.


Back to Barix_IO12