Copyright Jan. 2009 by ICP DAS CO., LTD. All right reserved.

This paper lists the upgraded history of the ISaGRAF driver of the 
  WinPAC-8147/8447/8847  and  WinPAC-8146/8446/8846 (ver. 1.01 and later) 
     and
  WinPAC-8137/8437/8837  and  WinPAC-8136/8436/8836 (ver. 1.17 and later)
 
Our newly released driver can also be obtained from the following
website.
  http://www.icpdas.com/products/PAC/i-8000/isagraf.htm   or
  www.icpdas.com  >  ISaGRAF SoftLogic PAC  >  Driver

Warning:
  The copyright of the firmware and ISaGRAF embedded driver 
  belongs to ICP DAS CO., LTD. 
  Only the WP-8147, WP-8447, WP-8847, WP-8146, WP-8446, WP-8846 and
           WP-8137, WP-8437, WP-8837, WP-8136, WP-8436, WP-8836  
  have registered a legal WinPAC ISaGRAF Target license. 

Trademark:
  Products, names and trade names appeared belongs to their respective owner. 


**************************************************************************
*  1.01 , Jan.15,2009
**************************************************************************
1. This is the first relesed ISaGRAF driver of the WP-8x47 and WP-8x46 .
2. The 1.01 version supports four COM ports. They are COM1 , 2, 3 and COM4.
   The expand COM5 to more COM ports in the I-8112iW / 8114W / 8114iW / 8142iW / 8144iW
   are not supported yet. Will be available soon.
3. The following I/O cards are supported since this version.
   I-8017HW ,  I-8024W ,  I-8037W ,  I-8040W , I-8040PW ,  I-8041W ,  I-8042W , 
   I-8050W  ,  I-8051W ,  I-8052W ,  I-8053W , I-8053PW ,  I-8054W ,  I-8055W ,
   I-8056W  ,  I-8057W ,  I-8058W ,  I-8060W , I-8063W  ,  I-8064W ,  I-8068W ,
   I-8069W  ,  I-8080W ,  I-8172W ,  I-8091W , I-8090W
   I-87013W ,  I-87015 , I-87015P , I-87017W , I-87017W-A5 , I-87017RC
   I-87017R , I-87018W , I-87018R , I-87018z , I-87019R , I-87024W    , I-87040W
   I-87041W , I-87051W , I-87052W , I-87053PW, I-87053W , I-87053W-A5 
   I-87054W , I-87055W , I-87057W , I-87058W , I-87059W , I-87063W    , I-87064W
   I-87065W , I-87066W , I-87068W , I-87069W , I-87082W
3. Please refer to the WinPAC-8xx7 CD-ROM: \napdos\isagraf\wp-8xx7\english_manu\getting_started_wp-8xx7.pdf
   for more information.
4. modify  r_mb_adr.c on Nov.12,2008 by chun for 
   R_MB_ADR can be used to detect the battery1 (BT1) and battery2 (BT1) 's power on the backplane 
   R_MB_ADR( 1 , 9992 ) is for detecting battery1
   R_MB_ADR( 1 , 9993 ) is for detecting battery2
      retun value of  0: running out of battery power ,  99: still have battery power
5. supports c-function-blocks of "Mbus_XR" and "Mbus_XR1" to read max. 120 words or 60 long intergers or
   60 Real values from modbus RTU / ASCII devices. 
   Please refer to www.icpdas.com > FAQ > Software > ISaGRAF > 101  
   (or www.icpdas.com  >  ISaGRAF SoftLogic PAC  >  FAQ  >  101)


**************************************************************************
*  1.02 , Feb.05,2009
**************************************************************************
1. Supports i-8114W , i-8112iW , i-8114iW , i-8142iW and i-8144iW multi-serial expansion ports
   in slot 0 thru. 3 . The WinPAC utility should update to the version 2.0.0.6 or later version 
   to setup the above cards correctly. 
   The COMOPEN, COMARY_R, COMREADY, ... functions now supports COM1 to COM20  (COM5 to 20 are expansion ports)
   ISaGRAF (COM5 to ... COM20) ports means WP-8xx7 's (MSA1, MSA2, ... , MSA8 , MSB1, MSB2, ... , MSB8)
   (search "Feb.03,2009" in com_port.c)
2. Fixed a bug in "RTU_Slav" which makes I-87K cards in slot 0 ... 7 no work .
   (search "Feb.03,2009" in winconio.c)
3. LAN1 and LAN2 will send one broadcast UDP package every 10 seconds to the connected ethernet 
   switch to inform the connected network their existing.
   (search "Feb.04,2009" in tats8lv2.c , wincon8xx7.c)
4. Fixed a bug in finding LAN1 and LAN2 IP in the registry
   (search "Feb.05,2009" in taio0ker.c)
     

**************************************************************************
*  1.02B , Feb.19,2009
**************************************************************************
1. Support "ether_en" to  disable / enable the Modbus TCP/IP Slave (default is enabled)
   (search "Feb.05,2009" in tats8lv2.c , taio0ker.c , ether_en.c , 
                            ether_en.h & grus0lib.c)
2. Add below function to disable / enable the control of the i-8KE8-MTCP I/O. 
      W_MB_ADR(0, 9991, 0) : disable it
      R_MB_ADR(0, 9991, 1) : enable it (default is enable)
   Add below function to read the current control state of the i-8KE8-MTCP
      R_MB_ADR(0, 9991) , return 0: disabled , 1: enabled
   (search "Feb.10,2009" in i8ke_v2.c , taio0ker.c , w_mb_adr.c , r_mb_adr.c)
3. Supports i-8KDPI card
   (search "Feb.12,2009" in i8KDPI.c , i8KDPI.h , winconio.c , taio0ker.c , 
                            tast0mai.c , i8KE_B.c , i8KE_N.c & i8KE_F.c)

**************************************************************************
*  1.02C , Feb.27,2009
**************************************************************************
1. Supports i8KE_B_A & i8KE_N_A for i-8KDPI card

**************************************************************************
*  1.03 , Mar.11,2009
**************************************************************************
1. Reduce each UDP package size to be less than 1400 bytes when enable the 
   redundant system.  And also increase the total allowed redundant data amount from 
   10,000 bytes to 16,000 bytes.
   (search Mar.05,2009 in rdn.c and rdn.h)
2. Support I-8084W. 
   Please refer to www.icpdas.com > FAQ > Software > ISaGRAF > 100


**************************************************************************
*  1.03A , Mar.24,2009
**************************************************************************
1. Fix one Ebus bug.
   (Search "Mar.24,2009" in winconio.c) 


**************************************************************************
*  1.03B , Mar.25,2009
**************************************************************************
1. Ebus using 255.255.255.0
   (Search "Mar.25,2009" in winconio.c) 


**************************************************************************
*  1.03C , Mar.26,2009
**************************************************************************
1. Re-install RDN send socket 0 ~ 3 if sending them failed.
   (Search "Mar.26,2009" in winconio.c) 
2. Re-install Ebus socket when working with "RDN_new"
   (Search "Mar.26,2009" in winconio.c) 


**************************************************************************
*  1.04 , Mar.30,2009
**************************************************************************
1. Disply error mesasge when selecting COM3 of WP-8147 as Modbus RTU salve port.
   (WP-8147 doesn't have COM3 and COM4, however WP-8447 / 8847 have them.)
2. Modify the WP-8147 code to autoscan only slot 0 . The WP-8447 autoscan only slot 0 ~ 3 .

 
**************************************************************************
*  1.05 , Apr.13,2009
**************************************************************************
1. increase the RDN_new sending interval if using many redundant data.
2. Sleep more time in I-8KE8-MTCP process when connecting many i-8KE8-MTCP
3. Add i-87046 card (16-Ch. D/I input) .
4. Add i-8088W card (8-Ch. PWM output and 8-Ch. D/I input) . 
   (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-105)
5. Add "Hex_Val" function to convert Hex. string to an integer


**************************************************************************
*  1.06 , Apr.16,2009
**************************************************************************
1. The driver 1.05 and old version is crushed if using i-8017HW in slot 0.
   The 1.06 driver and later version fixs this problem.
2. When output all 4-Channels of the i-8024W at the same time, the output value 
   are not correct. The 1.06 driver and later version fixs this problem.


**************************************************************************
*  1.06A , Apr.21,2009
**************************************************************************
1. Fix a bug of I-8084W. Now it can plug in slot 0. 
   (how to use i-8084W: www.icpdas.com > FAQ > Software > ISaGRAF > 100)
2. Sleep more time (5 to 15ms) in I-8KE8-MTCP process when connecting many i-8KE8-MTCP
3. Fix a bug of Retain_X and Retain_F (older version always return False)


**************************************************************************
*  1.06B , Apr.27,2009
**************************************************************************
1. Modify the "Remote_IO_type" parameter of the "RDN_new". 
  Add supporting for 11 , 12 and 21 and 22 .
  Remote_IO_type :   
    1: I-87K and I-7000 RS-485 remote IO  . All Modbus RTU slave ports and 
          all Modbus RTU/ASCII Master ports are disabled if contoller is in-active.
   11: I-87K and I-7000 RS-485 remote IO . All Modbus RTU/ASCII Master ports are disabled 
          if contoller is in-active.
   21: I-87K and I-7000 RS-485 remote IO  . All Modbus RTU slave ports are disabled 
          if contoller is in-active.
    2: Modbus TCP/IP IO . All Modbus RTU slave ports and all Modbus RTU/ASCII Master ports
          are disabled if contoller is in-active.
   12: Modbus TCP/IP IO . All Modbus RTU/ASCII Master ports are disabled if contoller 
          is in-active.
   22: Modbus TCP/IP IO . All Modbus RTU slave ports are disabled if contoller 
          is in-active.

**************************************************************************
*  1.07 , May.15,2009
**************************************************************************
1. Support the I-87211W : GPS module to do auto-time-synchronization and 
   measure the local Longitude and Latitude .
   (More information at www.icpdas.com > FAQ > Software > ISaGRAF > 107)
2. Modify a bug in i-8088W.


**************************************************************************
*  1.08 , Jun.08,2009
**************************************************************************
1. Fix code in the i-87K D/I counter in slot 0 ~ 7, the original reset_counter command is not good. 
   Modify the counter value of i-87K D/I counter in slot 0 ~ 7 to 32-bit value ( 0 ~ 2,147,483,648 )
2. Default enable Watchdog as 60 seconds. User can modify it by using the "wdt_en" function
3. The ISaGRAF driver will plus one integer value by 1 every second when the project is running. 
   And then VB.net or C#.net or EVC++ program can read this value by Quicker.dll (addr. = 8201 to read this value) .
   If the ISaGRAF project stop, this integer value remain at its last value. So the VB.net program can detect 
   the value is not changed and decide to reset it if the value last for more than some specified seconds.  
   How to reset ? 
   Using VB.net or C#.net or EVC++ program to write a value 12345 to Quicker.dll 's Addr. 8202 to reset it.
4. Fix a bug in ethernet communication when enable the IO complex equipment "vip"
5. Fix a Modbus RTU/ASCII master communication problem when setting "RDN_New" 's "Remot_IO_type" as 22 or 21 .
6. Supports i-87028CW in slot 0 to 7 and/or supports it as RS-485 remote I/O modules.


**************************************************************************
*  1.08A , Jun.12,2009
**************************************************************************
1. Add c-function "Averag_N" and "Averag_F". Please refer to 
   www.icpdas.com > FAQ > Software > 099
2. Increase the timeout setting of the remote i-7000 watchdog command from 1 loop 
   to 6 loops to support ZigBee wireless converter - ZB-2550P / ZB-2551P
   (www.icpdas.com > FAQ > Software > 110)


**************************************************************************
*  1.08B , Jun.23,2009
**************************************************************************
1. Add c-function "Mbus_en" . 
   It works only when the I/O complex equipment - "mbus" or "mbus_asc" is connected.
   Be careful to use the "Mbus_en" with the "RDN_new" and "RDN" , they all have the power 
   to enable / disable the "Mbus" and "Mbus_asc" port. If giving un-proper "Mbus_en" command 
   when the "RND_new" and "RND" is working, it may generate un-proper behavior.


**************************************************************************
*  1.09 , Jul.01,2009
**************************************************************************
1. Increase the max. number of Boolean retain variable from 1024 to 2048.


**************************************************************************
*  1.10 , Jul.14,2009
**************************************************************************
1. modify the SMS_Port code for connecting GTM-201-RS-232 in one of WP-8xx7 's
   COM1, 3, 4 or 5 to 14
2. Modify the "PID_AL" code. If XOUT exceed the max. / min. limitataion, reduce
   the Iterm coffecience to 1/2 .
3. Modify the code of I-8KW parallel digital output board to output only when any channel 
   state is changed.


**************************************************************************
*  1.11 , Jul.14,2009
**************************************************************************
1. Fix a bug that i-8090W and i-8091W can not work in slot 0 in old driver.
2. Support IO complex equipment "i_8090A" to support 3-CH. Encorder plus 3-Ch. Z-index D/I .


**************************************************************************
*  1.12 , Aug.24,2009
**************************************************************************
1. Add one "RDN_BREAK_TIME" parameter in the IO complex equipment "RDN_new".
   Its default value is 250 ms, the value can be 250 to 4000 for 
     " Remote_IO_type" = 2 , 12 and 22 .
2. One of WP-8xx7 's COM4 and COM5 can support "GTM-201-RS232" to send Short Message (SMS)
   in Local language or in pure text (English).
   The SMS_send( ) supports sending SMS in local language since WP-8xx7 driver Ver. 1.11 , 
    VP-25W7/23W7 driver Ver. 1.03 , iP-8xx7 driver Ver. 1.05 , uPAC-7186EG driver Ver. 1.08.
    To send Short Message in local language, please add one 'L' character in front of the 
    "No_" parameter, for example, 'L+886920119135'. And please set "M_" parameter as Hexa-Unicode
    converted by "SMS_Message_Converter.exe" which can be found at 
    ftp://ftp.icpdas.com/pub/cd/winpac-8xx7/napdos/isagraf/some_utility/
    For ex, below is to send "How are you" in Traditional Chinese once to the phone number 
      +886958321630 when "Action1" is True . 
          if   Action1   then
             Action1 := False ;
             TMP := SMS_send( 'L+886958321630' , '4F60597D' );
           end_if ;


**************************************************************************
*  1.13 , Sep.16,2009
**************************************************************************
1. Modify redundant code in WP-8xx7 to delay the auto-swtich-inactive-IP time to 24 seconds 
   when power up the Backup PAC if the I/O is i-8KE8-MTCP or i-8KE4-MTCP I/O.
2. Add IO complex-equipment "i_8093W" . Please refer to below web site for more information.
   www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-112
3. Add c-function "to_unico" for using with "SMS_send" to send local language. 
   (www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-111)


**************************************************************************
*  1.14 , Oct.13,2009
**************************************************************************
1. Modify the "pwm_xxx" functions to support in slot 0.
2. Add one parameter "Which_LAN" for the IO complex equipment "i8ke"
      0: auto-switch between LAN1 and LAN2
      1: always using LAN1
      2: always using LAN2
3. Supports I-87005W in slot 0 to 7. 
4. Supports I-87005W as RS-485 remote I/O.
5. Supports Modbus TCP/IP Master protocol to connect other Modbus TCP/IP slave devices.
   (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-113)


**************************************************************************
*  1.14A , Oct.20,2009
**************************************************************************
1. Fix a bug of using I-87005W in slot 0 to 7 . 


**************************************************************************
*  1.15 , Oct.27,2009
**************************************************************************
1. Fix a convesion bug of the I-87005W 's range type = 60 . 
2. Supports "GPS_721" , refer to (www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-107)
3. Supports the first channel of "Show3LED" in I/O connection window to control the "RUN" LED
   on the front panel.


**************************************************************************
*  1.16 , Nov.18,2009
**************************************************************************
1. Add more UDP error checking in "Ebus" and "UDP" .
2. Sleep more time in some threads to lower down the CPU loading.
3. Add two parameter fors IO complex-equipment "i_8084w" > "FREQ8" .
   "Min_Update_Time" :  Can be 2 to 1000 ms, setting larger value will get smooth frequency curve, 
                        however the update time become slower.
   "Low_High_Auto"  :   0: Low frequency mode , 1: High frequency mode , 2: Auto mode
4. Fix a bug in the I-8017HW driver to improve the accuracy.
5. "RTU_Slav" now supports COM1 to COM8 (Max. 4 ports)


**************************************************************************
*  1.17 , Dec.04,2009
**************************************************************************
1. Support WP-8137/8437/8837 and WP-8136/8436/8836 with the same driver as 
   WP-8x47/8x46 since version 1.17 .
2. Improve the Modbus TCP/IP Slave communication. Add more exception check.


**************************************************************************
*  1.17A , Dec.14,2009
**************************************************************************
1. The "DI_CNT" function block now supports I_8050W. 
   Must connect the "i_8050" in the IO connection windows and setting the 
   first 8 channels as Digit inputs . For ex. setting the "config" parameter as below.
   0 :     all 16 channels are D/I
   FF00 :  Ch.1 to 8 are D/I , Ch.9 to 16 are D/O
   F000 :  Ch.1 to 12 are D/I , Ch.13 to 16 are D/O


**************************************************************************
*  1.17B , Dec.14,2009
**************************************************************************
1. Increase the max. "N_" parameter of function block "Averag_F" and "Averag_N"
   from 20 to 50 .


**************************************************************************
*  1.18 , Dec.17,2009
**************************************************************************
1. When "RDN_new" is enabled, only the Active controller can control the "Modbus TCP
   Master" to send "write" command.  Both of Active and in-Active controllers can 
   control the "Modbus TCP Master" to send "read" command.
2. Add one another way to enable the 2nd to 5th Modbus RTU slave port without modifying the 
   ISaGRAF project. Please refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-116
3. recover back the "PID_AL" modification to be the same as driver version 1.09
   ------------------------------------------------------------------------------------
   Version 1.10 to 1.17B:
   "Modify the "PID_AL" code. If XOUT exceed the max. / min. limitataion, reduce
   the Iterm coffecience to 1/2 "
   ------------------------------------------------------------------------------------
4. The "DI_CNT" now supports I-8046W.


**************************************************************************
*  1.18A , Dec.28,2009
**************************************************************************
1. Add I/O complex-equipment "eth_tcp" and "eth_udp" and 
   c-functions "eth_recv" and "eth_send" to send and receive UDP or TCP 
   data (using byte-array). Data can contain NULL character (0 hex).

   Please refer to the  
      ftp://ftp.icpdas.com/pub/cd/winpac-8xx7/napdos/isagraf/wp-8xx7/demo/  
   to download the example programs "Wpdmo77a" (UDP) and "Wpdmo77b" (TCP).

   If find no "eth_udp" and "eth_tcp" and "eth_send( )" and "eth_recv( )", 
   visit the  http://www.icpdas.com/products/PAC/i-8000/isagraf-link.htm  
   to download the "ICP DAS Utilities For ISaGRAF" to remove it once and 
   then re-insatll it to your PC/ISaGRAF again.


**************************************************************************
*  1.18B , Jan.04,2010
**************************************************************************
1. No output commands to the I-8KE4-MTCP and I-8KE8-MTCP if enable no DO and no AO.


**************************************************************************
*  1.18C , Jan.14,2010
**************************************************************************
1. DO NOT sleep so long in "Go_COMM thread" to make the Modbus TCP slave communication 
   a little faster.


**************************************************************************
*  1.19 , Jan.21,2010
**************************************************************************
1. The "Mbus_N_W" support writting 1 word by Modbus command 16 (10h).
   Set "NUM_W_" parameter as -1 to write 1 word by Modbus command 16 (10h).

   Original function :
   When set "NUM_W_" parameter as 1, it write 1 word by Modbus command 6 .
   When set "NUM_W_" parameter as 2 ~ 4, it write 2 ~ 4 words by Modbus command 16 (10h).

   New:
   When set "NUM_W_" parameter as -1, it write 1 word by Modbus command 6.


**************************************************************************
*  1.20 , Feb.11,2010
**************************************************************************
1. Add the "i_7016d4" c-function-block to read Vin0 , DI0 of I-7016 and write its DO2 and DO3.
2. Add two c-functions "aver_n" and "aver_f" to calculate the moving average of 
   an integer or real variable.
3. Fix a bug of file operation c-functions when the specified file (name or parh) 
   doesn't exist.


**************************************************************************
*  1.21 , Apr.22,2010
**************************************************************************
1. Support I-87017RW, I-87017W, I-87017RCW, I-87017W-A5 to use the fast mode.
   The A/I scan rate (8-Channel) for the fast mode is 60/8=7.5 Hz (except the i-87017W-A5, it is 50/8=6.25Hz) .
   The A/I scan rate (8-Channel) for the normal mode is 10/8=1.25 Hz .
   To use the fast mode, set the "range" setting as 
           F0000 + range setting of the normal-mode .

   For example, 

   For I-87017RW and I-87017W : (must connect "i_87017" in the IO connection)

       8 :            (Normal mode)
       F0008 :   (Fast mode)
                              -10V  --->  0V   --->  +10V 
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       

       9 :            (Normal mode)
       F0009 :   (Fast mode)
                             -5V  --->  0V   --->  +5V
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       

       A :            (Normal mode)
       F000A :   (Fast mode)
                             -1V  --->  0V   --->  +1V    
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       

       B :            (Normal mode)
       F000B :   (Fast mode)
                            -500mV  ---> 0mV --->  +500mV     
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       

       C :            (Normal mode)
       F000C :   (Fast mode)
                            -150mV  ---> 0mV --->  +150mV     
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       

       D :            (Normal mode)
       F000D :   (Fast mode)
                            -20mA ---> 0mA   --->  +20mA   with 125 ohm 
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)

   For I-87017RCW : (must connect "i87017rc" in the IO connection)

       7 :            (Normal mode)
       F0007 :   (Fast mode)
                             4mA          --->       20mA 
             val:             0             --->     32767 (dec.) 
                                0             --->      7FFF  (hex.)       

       D :            (Normal mode)
       F000D :   (Fast mode)
                              -20mA  --->      0      --->  20mA   
             val:             -32768  --->      0      --->  32767 (dec.) 
                                  8000   --->      0      --->  7FFF  (hex.)       

       1A :            (Normal mode)
       F001A :   (Fast mode)
                              0mA         --->      20mA 
             val:                 0          --->     32767 (dec.) 
                                    0          --->     7FFF  (hex.)       

   For I-87017W-A5 : (must connect "i87017a5" in the IO connection)

       1B :            (Normal mode)
       F001B :   (Fast mode)
                              -150V  --->  0V   --->  +150V 
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       

       1C :            (Normal mode)
       F001C :   (Fast mode)
                              -50V  --->  0V   --->  +50V
             val:          -32768  --->   0   --->  32767 (dec.) 
                              8000   --->   0000   --->  7FFF  (hex.)       


**************************************************************************
*  1.22 , Apr.30,2010
**************************************************************************
1. The main thread of the ISaGRAF driver releases 1 more ms to other 
   processes to get more CPU time for running when the ISaGRAF speed is set 
   as PLC_MODE(0) (fast mode)
2. The default ISaGRAF speed is set as PLC_MODE(2) (slower mode) if the 
   controller is belong to InduSoft + ISaGRAF PAC (WP-8xx6).
   If the PAC is pure ISaGRAF PAC (WP-8xx7), the default ISaGRAF speed is set 
   as PLC_MODE(0) (fast mode).


**************************************************************************
*  1.23 , Jun.02,2010
**************************************************************************
1. Fix two items in the "rdn_new" 
   (1) a bug when PAC switch to in-active PAC.
   (2) Do not enable the "mbus_tcp" if the prgram enables the "rdn_new" but 
   its rotary switch is set at 0.
2. Fix a bug for the i-87211W and GPS-721 when converting UTC-time to local-time if the
   time-difference is set as a negative value.
3. Support "mbus_tc2" for the Modbus TCP slave device which has two IP.
   Its usage is similiar as the "mbus_tcp" (FAQ-113)
4. Fix a bug when setting i-87017RCW (in slot 0 Thru. 7) 's range as 1A and 07 .
5. Add i-87113DW - The master card of the Carison Strain Gauage Inputs. 
   Please refer to www.icpdas.com > FAQ > Software > ISaGRAF > 128.


**************************************************************************
*  1.23A , Jun.10,2010
**************************************************************************
1. Make the RS-485 remote I/O to be scaned more frequent if the PLC_MODE(mode) 
   setting is mode = 1:slow  to  mode = 3:slowest.
2. Clear all RS-485 remote data buffer as 0 when program starting up.


**************************************************************************
*  1.24 , Jun.22,2010
**************************************************************************
1. Support I/O complex-equipment "i_87088w" and c-function-block "pwm87088" and "i_87088" 
   for the i-87088W and i-7088.
   Please refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-105 for more information.
2. Support the i-87017RCW-ZY I/O card which has 8-Ch. current inputs. 
   Please use the "i87017zy" in the ISaGRAF I/O connection windows if the i-87017RCW-ZY is plugged 
   in the I/O slot 0 to 7 of the WP-8xx7 / WP-8xx6. And use the "i87017zy" function block in the 
   Ladder or function block program when connecting the RS-485 remote i-87017RCW-ZY.
   Each of the Ch.1 to Ch.6 can set to a different Range_type.
      7 :    4mA  ~  20mA  (      0  ~  32767 )
      D :  -20mA  ~  20mA  ( -32768  ~  32767 )
     1A :    0mA  ~  20mA  (      0  ~  32767 )
  Both range_type of the Ch.7 and Ch.8 are fixed as 
     1F : -100mA  ~ 100mA  ( -32768  ~  32767 )
  Please must run the DCON utility once to configure the i-87017RCW when using it as RS-485 remote I/O.
  The data format must set as "2's compliment" and remember to configure the proper Rang_tyep of 
  the Ch.1 to Ch.6 .


**************************************************************************
*  1.25 , Jul.26,2010
**************************************************************************
1. Let many threads to release more ms for other process (like the InduSoft) to 
   run smoothly when the PLC_Mode( mode ) is mode =1 to 3.
2. Fix some code to properly generate the "\Micro_SD\Temp" path for some Micro-SD cards.


**************************************************************************
*  1.26 , Aug.05,2010
**************************************************************************
1. Replace the SharedMemory.dll from the Ver. 1.01 to Ver. 1.02 for reducing the CPU
   loading occupied by the ISaGRAF driver.


**************************************************************************
*  1.27 , Sep.02,2010
**************************************************************************
1. Increase the range of the complex-equipment "mbus_tcp" > timeout from 
   (500 ~ 5000 ms)  to  (500 ~ 15000 ms). 
2. Add IO board "i_8014" (8-Ch.) for the i-8014W card with JP1 set as "Differental" type.
3. Add IO board "i_8014s" (16-Ch.) for the i-8014W card with JP1 set as "Single-ended" type.
4. Update isa_el.dll to version 1.03 .
5. Update SharedMemory.dll to version 1.05 .


**************************************************************************
*  1.27A , Sep.08,2010
**************************************************************************
1. Support remote i_7061 .


**************************************************************************
*  1.28 , Sep.22,2010
**************************************************************************
1. Support the Soft-GRAF HMI. Please refer to 
   www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-131
2. Support the I-87084W card. (www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-100)


**************************************************************************
*  1.28A , Oct.08,2010
**************************************************************************
1. If found a file "PAC_more_settings.txt" in the PAC 's \System_Disk\ISaGRAF\ directory , 
   the ISaGRAF driver will read the first row when power up the PAC as its 
   Port_No of the Modbus TCP slave communication.  
   For example, the PAC will set the Port_No as 1100 when power up if the the 
   following content of the "PAC_more_settings.txt" found. If the "PAC_more_settings.txt" 
   doesn't exist, the default Port_No is 502 .
   1100


**************************************************************************
*  1.29 , Oct.19,2010
**************************************************************************
1. Update the Soft-GRAF driver (Soft-GRAF.exe) to version 1.02 .


**************************************************************************
*  1.30 , Nov.12,2010
**************************************************************************
1. Update the Soft-GRAF driver (Soft-GRAF.exe) to version 1.04 .
2. Fix a bug when PC / HMI / SCADA (like the Intouch SCADA) sending 
   the NET-ID as 0 via Modbus TCP.
3. Wait a little more time when switching the I-8017HW 's channel.
4. Add a function that the ISaGRAF driver will load the project from the 
   \Micro_SD\ISaGRAF\ISA11 if the Rotary switch is at 8 position when power up.
   User may copy the PC 's ISaGRAF project's TIC code - "Appli.x8m" to a new file "ISA11".
   And then copy this "ISA11" to the \Micro_SD\ISaGRAF\ . Then plug-in the Micro_SD 
   into the PAC and then turn the PAC 's rotary switch to "8" position and then power it up. 
   Then the ISaGRAF driver will run the project code in the \Micro_SD\ISaGRAF\ISA11 . 
   (If the rotary switch is not 8, the IsaGRAF driver runs the project in the \System_Disk\ISaGRAF\ISA11)


**************************************************************************
*  1.31 , Dec.08,2010
**************************************************************************
1. Fix a Modbus Master bug when using more than 400 "Mbus_n_r" (or "Mbus_nr1") blocks
   in one single ISaGRAF project.
2. Rlease 2 more milli-seconds in the CheckSMemory() to reduce the CPU loading.
3. Apply the Soft-GRAF driver Version 1.5 .


**************************************************************************
*  1.32 , Dec.24,2010
**************************************************************************
1. Support I-87016W and I-87042W.


**************************************************************************
*  1.33 , Jan.25,2011
**************************************************************************
1. Support resetting the ISaGRAF driver by using PLC_MODE(999). 
   (refer to www.icpdas.com > FAQ > Software > ISaGRAF > 134)

   The "PLC_MODE(999)" reset only the ISaGRAF driver, not reset the whole 
   controller except the following condition happens.

   Exception: The "PLC_MODE(999)" will reset the whole controller once when it
   has reset the ISaGRAF driver up to 1000 times after it power up. This is to
   prevent the problem of memory usage increasing too much when reset_driver so 
   many times. 

   User may write a ST program as the following code. It will reset the ISaGRAF 
   driver when setting the "reset_driver" as TRUE.
   
   (* "TMP and "reset_driver" are declared as internal Boolean variable *)
   if  reset_driver  then
      reset_driver := False ;
      TMP := PLC_MODE(999) ;
   end_if ;
2. Add a safety mechanism in the "rdn" , "rdn_new" .
 

**************************************************************************
*  1.33 , Jan.28,2011
**************************************************************************
1. Add a COM. port re-install mechanism when detected the communication problem 
    for Modbus RTU slave ports on the "RTU_slav" .
2. Disable the interrupt of COM3 and COM4 for 1-slot WP-8147 and WP-8146.


**************************************************************************
*  1.34 , Feb.23,2011
**************************************************************************
1. Support RS-845 remote I/O module - I-7083 and I-7083D (3-ch. encoder inputs). 
   Please use the "i_7083d" or "i_7083d2" blocks in the program to connect it.
2. Support SQL Client functions to connect to MicroSoft SQL server for write data and 
   read data. Please refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-135.


**************************************************************************
*  1.35 , May.27,2011
**************************************************************************
1. Fix a bug when controlling the I-8050W in slot 0.
2. Increase the serial comm port 's sending buffer from 256 to 1024 bytes.
3. Support I-87H17W HART master module in slot 0 to 7 to communicate with HART devices.
   Please refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-136.


**************************************************************************
*  1.36 , Jul.22,2011
**************************************************************************
1. Modify the ISaGRAF driver to support new I-87H17W with new $AAM command.
2. Modify the ISaGRAF driver to support the new I-87H17W with new $AAM command.
3. For "RDN_new" and "RDN_new2", increase the RS-485 timeout to prevent frequently 
   switching between both PACs when the scan time is more than 25 ms and under 80 ms.
4. Fix a problem for the tcp_send and eth_send that some internet gateways may refuse
   the TCP connecting request.
5. Support COM4 to link one GTM-201-RS232 + SIM card to do GPRS wireless communication.
   The PAC can send and receive Short Message (SMS) by disconnect the GPRS communication.
   When the GPRS is connected, the PAC can do the following functions.
     The PAC can send an email (and with one attatched file) via the GPRS wireless connection.
     The PAC can run tcp_send to send TCP message or run tcp_recv to receive TCP message
       via GPRS wireless connection.
     The PAC can run eth_send to send TCP bytes or run eth_recv to receive TCP bytes
       via GPRS wireless connection.
     The PAC can run udp_send to send UDP bytes or run udp_recv to receive UDP bytes
       via GPRS wireless connection.
   Please refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-143
     for more information.


**************************************************************************
*  1.37 , Sep.02,2011
**************************************************************************
1. Modify a bug when using "tcp_clie" or "udp_ip" to send message via GPRS or LAN1 or LAN2.
2. Support sending email via mail servers which need user_account / password login first.
   Email can be sent by LAN1 or LAN2 or GPRS (refer to FAQ-143).
   For example, The following statement set the user_account as 'my_account' ,
   password as 'my_password' and set timeout as 75 seconds (default is 60 seconds).

    (* INIT is declared as Boolean with initial value - TRUE *)
    IF  INIT  then  
      INIT := False ;
      TMP := mail_set( 104 , 'my_account' ) ;    (* user account *)
      TMP := mail_set( 105 , 'my_password' ) ;   (* user password *)   
      TMP := mail_set( 106 , '75' ) ;            (* timeout, unit is seconds. value can be 30 to 180 *)
    END_IF ;

   Note: If the mail server doesn't need to login before sending email, 
         don't set the user_account and user password.
        
3. Modify a bug when sending email with a big attach file via GPRS (or via LAN1 , LAN2).
4. Support "Mbus12w" function block to write 1 to 12 words to Modbus RTU / ASCII / TCP
   slave devices (refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-144). 
5. Support I-8212W to dial up GPRS. 
   (refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-143)
6. Support I-87037W , I-87019ZW , I-87017ZW and I-87017DW (refer to FAQ-148).
   

**************************************************************************
*  1.38 , Sep.29,2011
**************************************************************************
1. Support the I-8123W card to connect CANopen slave devices. (refer to FAQ-145)
2. Support the I-87026PW card (6 A/I, a D/O, 2 D/I and 2 D/O).
3. Fix a bug of the Soft-GRAF driver which can not display the animation picture 
   well on a backgroud picture. And fix its blinking problem.


**************************************************************************
*  1.39 , Oct.31,2011
**************************************************************************
1. Support the I-8212W-3GWA card (3G GPRS / GSM module) . Refer to FAQ-143.
2. Support the "ComStr_w( )" to play a sound if the PAC has a phone port. Refer to FAQ-149.
3. Update the Soft-GRAF driver (Soft-GRAF.exe) to version 1.09 .
4. Support the Soft-GRAF Studio.
   (refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-146)
 

**************************************************************************
*  1.40 , Nov.10,2011
**************************************************************************
1. Fix the incorrect Year / Month / Day / DayofWeek value in the "SYSDAT_R" 
   when the time is just pass thru. 00:00:00 .
 

**************************************************************************
*  1.41 , Dec.07,2011
**************************************************************************
1. Supports the Soft-GRAF Studio (version 1.02) to use the g_M_Val and g_M_Inp 
   to access to ISaGRAF message variables.
2. Update the Soft-GRAF driver (Soft-GRAF.exe) to version 1.10 .


**************************************************************************
*  1.42 , Dec.27,2011
**************************************************************************
1. Supports the Soft-GRAF Studio (version 1.02A).
2. Update the Soft-GRAF driver (Soft-GRAF.exe) to version 1.11 .


**************************************************************************
*  1.42A , Feb.13,2012
**************************************************************************
1. Supports the Soft-GRAF Studio (version 1.03).
2. Support the I-87019R 's type code  07 ( 4 ~ 20 mA) and  1A ( 0 ~ 20 mA) .
3. Support I-8123W 's  "Guarding mode" and "HeartBeat mode"
4. Fix a bug when I-87088W is plugged in slot 0 .
5. Extend the timeout setting from 50 ms to 110 ms for the I-87088W 's  $AA6FF  command.


**************************************************************************
*  1.43 , Feb.14,2012
**************************************************************************
1. Let the "PWM87088" blocks can set its frequency up to 500K Hz. 
2. Supports the "TCP_para" IO complex-equipment 's "Socket_Timeout" setting to change the 
   timeout value from 35 seconds to 110 seconds. 


**************************************************************************
*  1.44 , Mar.29,2012
**************************************************************************
1. Fix a "still-output" bug when modify one or some parameters at the same time 
   when stopping the I-8088W 's PWM output .
2. Support the I-8213W and I-8213W-3GWA to do the GPRS / SMS communication and 
   also get the GPS data. 
   (refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-143)
3. Support the "Mbus_tcp" and "Mbus_tc2" to communicate with one or more remote 
   Modbus TCP servers via the GPRS dial-up connection.
   (refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-153 and FAQ-143)

 
**************************************************************************
*  1.44A , Apr.05,2012
**************************************************************************
1. replace the dial_up.dll to a better one.


**************************************************************************
*  1.44B , Apr.12,2012
**************************************************************************
1. Modify the dial_up.dll to make a ping every 8 minutes.


**************************************************************************
*  1.45 , Apr.23,2012
**************************************************************************
1. Modify the dial_up.dll to make a ping every 15 minutes.
2. Modify the dial_up.dll to give a "AT &F" command when 1st dialing up after power-on.
3. Add driver to support FRNET AI module: FR-2017 and AO module: FR-2024.


**************************************************************************
*  1.46 , May.30,2012
**************************************************************************
1. Add a special function for the MSGARY_W( ADDR_ , MSG_ ). 
   The Soft-GRAF studio version 1.05 and later version will support the "g_Alarm" to
   display and record the alarm message generated by the MSGARY_W( ).
   ( refer to www.icpdas.com > FAQ > software > ISaGRAF > FAQ-146 )
   A. Setting ADDR_ as  -9  means to output an alarm message to the Soft-GRAF HMI. 
          TMP := MSGARY_W( -9 , alarm_msg ) ;
      The Soft-GRAF HMI will record this alarm message and also pop-up an alarm MessageBox.
   B. Setting ADDR_ as  -8  means to output an alarm message to the Soft-GRAF HMI. 
          TMP := MSGARY_W( -8 , alarm_msg ) ;
      The Soft-GRAF HMI will record this alarm message however no pop-up this alarm on the MessageBox.
2. Support the Soft-GRAF driver version 1.12 and the Soft-GRAF studio version 1.04.
   Therer are two midifications in the Soft-GRAF driver version 1.12.
   A. Add two HMI objects - "g_Trend" and "g_Gayge" .
   B. The Soft-GRAF pictures will be saved in the \Micro_SD\Soft-GRAF\user\ directory if
      the PAC model number is one of the WP-8xx7, VP-2xW7, WP-5xx7 .
      (Old version saved pictures in the \System_disk\ISaGRAF\Sofgrafy\user\ directory)


**************************************************************************
*  1.47 , Jun.08,2012
**************************************************************************
1. Update the Soft-GRAF.exe to the version 1.13 .


**************************************************************************
*  1.48 , Jul.03,2012
**************************************************************************
1. Update the Soft-GRAF.exe to the version 1.14 .
2. Fix a bug when using "RTU_slav" with a baud rate 57600.
3. Remove the "release_FRNET_module()" when the slot is not using I-8172W.
   (Then the I-8017HW 's H/L alarm LED will be OFF when the ISaGRAF driver is starting up.)


**************************************************************************
*  1.49 , Jul.18,2012
**************************************************************************
1. Update the Soft-GRAF.exe to the version 1.16 .
2. If the "msg1" contains the <CR> and <LF> (ASCII No. 13 and 10) when 
   calling the  MSGARY(-8,msg1)  or  MSGARY_W(-9,msg1)  to trigger a g_Alarm, 
   the <CR> and <LF> character will be replaced to a SPACE character (ASCII No. 32) automatically .
3. Supports the range type 82 and 83 in the I-87015W and I-87015PW module.  
    82 : Cu 50 , -50 to +150 degree Celsius
    83 : Nickel 100, -60 to + 180 degree Celsius
4. Supports the range type 82 the I-87013W module.  
    82 : Cu 50 , -50 to +150 degree Celsius
5. The I-87013W doesn't support range type 2B, 2C and 2D.


**************************************************************************
*  1.50 , Aug.03,2012
**************************************************************************
1. Fix a bug when doing ftp_send - "progress stop at 98%" .
2. Fix a bug in the bus7000, bus7000b - "The Q_ ouput of the remote I/O function blocks 
      is not correct in some cycles when the PAC is just started if the module is not connected"
3. Support the Soft-GRAF HMI 's g_Alarm to send alarm history files to a remote ftp server.


**************************************************************************
*  1.51 , Sep.14,2012
**************************************************************************
1. Update the "I8123W.dll" and "i8120.dll" to fit the new firmware of the I-8123W.
   The old "I8123W.dll" and "i8120.dll" can not work well with the I-8123W 's new firmware.
2. Support the Soft-GRAF 's "g_Logger1" to record some Integers , Reals and Boolean data.
   And user may enable the ftp function in the "g_Logger1" to deliver the log-file 
   to a remote ftp server running in a PC or in a workstation.
   The g_Logger1 HMI object will be available in the version 1.07 of the Soft-GRAF studio .
3. Modify the cycle_mbus[port] to a smaller value to increase the communication efficiency of
   Modbus RTU / ASCII master ports.


**************************************************************************
*  1.51A , Oct.08,2012
**************************************************************************
1. Increase the communication efficiency of Modbus RTU / ASCII master ports a little.
2. Add a file "ETHAPI.dll" in the driver .
3. User may use the following function to get the connection state of the LAN1 and LAN2.
     (* Return 1: connection ok.  return 0: broken line *)
     LAN1_state := R_MB_ADR( 1 , 9987 ) ;   
     LAN2_state := R_MB_ADR( 1 , 9986 ) ;   

**************************************************************************
*  1.51B , Nov.01,2012
**************************************************************************
1. Support the "Mbus_tcp" and "Mbus_tc2" to send Modbus TCP commands with 
   different NET-ID numbers to the same Modbus TCP slave device.
   (refer to the section 1.4 in the http://www.icpdas.com/faq/isagraf.htm > FAQ-113)
2. Support the COMARY_W( -7 , msg1 ) to trigger a Soft-GRAF g_Alarm on the pop-up
   window to show all unAck Alarm.


**************************************************************************
*  1.52 , Nov.06,2012
**************************************************************************
1. Support the following function to ACK Soft-GRAF g_alarm by the ISaGRAF program.
   To ack the last alarm :       COMARY_W( -6 , 'LAST' )   
   To ack today's all alarms :   COMARY_W( -6 , 'ALL' )   
   To ack an alarm :             COMARY_W( -6 , 'xxx' )   
       (xxx is a number from 1 to 2999)


**************************************************************************
*  1.53 , Nov.26,2012
**************************************************************************
1. Support the DL-100T485 (DCON protocol) to measure temperature and humidity .
2. Upgrade the Soft-GRAF driver to the version 1.20 .


**************************************************************************
*  1.54 , Dec.18,2012
**************************************************************************
1. Save the project to the storage memory when doing on-line-modification 
   (or called on-line-change) successfully .
2. Modify the PID_AL function block to be more safe when setting a small value 
   to the "Ts" parameter.
3. Upgrade the Soft-GRAF driver to the version 1.21 . 
   ( The g_Logger1" can record up to 50 tags.)


**************************************************************************
*  1.55 , Jan.18,2013
**************************************************************************
1. Update the Soft-GRAF driver to the 1.22 version.
   Fix a bug in the Soft-GRAF driver version 1.21 and older version which
   may not display the g_B_Led and g_B_Pic well sometimes.

**************************************************************************
*  1.55A , Jan.31,2013
**************************************************************************
1. Support Mbus_AR to request max. 24 words (or 12 REAL or 12 long integer).
   The difference between Mbus_AR , Mbus_AW and other Mbusxxx is the
   Mbus_AR , Mbus_AW can apply in "for ... loops" in the first scan cycle.
2. Support Mbus_AW to write max. 12 words (or 6 REAL or 6 long integer).
   The difference between Mbus_AR , Mbus_AW and other Mbusxxx is the
   Mbus_AR , Mbus_AW can apply in "for ... loops" in the first scan cycle.

**************************************************************************
*  1.56 , Feb.18,2013
**************************************************************************
1. Fix a bug in the function block - Mbus24R and Mbus24R1.
   They can read max. 200 bits (not 384 bits) When "CODE_" is 1 and 2 .
2. The Mbus_AR supports CODE 1 and 2 to read up to 200 booleans (bits).


**************************************************************************
*  1.57 , Mar.01,2013
**************************************************************************
1. Each Mbus_tcp in the I/O connection now support up to 1000 mbusxxx function blocks.
   (older version support only up to 255)
2. The Mbus_AW supports CODE 5 to write 1 boolean (Bit).
   The Mbus_AW supports CODE 15 to write 1 to 16 booleans (Bits).


**************************************************************************
*  1.58 , Mar.15,2013
**************************************************************************
1. Update the Soft-GRAF driver to version 1.23 to fix a bug when g_Alarm generate
   more than 2999 alarms.


**************************************************************************
*  1.58 , Mar.18,2013
**************************************************************************
1. Update the Soft-GRAF driver to version 1.23A to fix a bug when g_Alarm generate
   more than 2999 alarms and click "Ack" .
2. Fix a bug when search g_Alarm keyword (1 ~ 3000 ) in alarm files.


**************************************************************************
*  1.59 , Apr.08,2013
**************************************************************************
1. Sometime sneding the Short Message fail when using the I-8212W-3GWA.
   So cancel the "ATZ" command when reset the I-8212W GSM module in slot 0. 
2. Update the Soft-GRAF driver to version 1.24.
   Improve the running speed when operate g_Alarm 's "ACK ALL" or export 
   alarm files to USB pen drive.


**************************************************************************
*  1.60 , Apr.23,2013
**************************************************************************
1. Update the Soft-GRAF driver to version 1.25 to support buttons with 
   Multi-line text. 
   To show a multi-line text in the below buttons, please add a "space" 
   character between words. For example "Hello World" shows 2 line in a button
   when its width is not enough to hold this "Hello World" text in one line. 
   However the "HelloWorld" will show only one line no matter its width is enough 
   or not because there is no "space" character between the "Hello" and "World" .
      g_B_Inp  , g_N_Inp   , g_F_Inp , g_M_Inp , g_ToPage , g_Login , 
      g_Logout , g_Logger1
2. Update the Soft-GRAF driver to version 1.25 to extend the file retaining days
   of the g_Logger1 as the following. 
   --------------------------------------------------------------------------- 
      Sampling time of the g_Logger1 (seconds)       retaining days (or months) 
   --------------------------------------------------------------------------- 
          1   , 2   , 3                                    10  days
          5   , 10  , 15 , 20 , 30                          1  month
          60  , 120                                         3  months
          180 , 300                                         6  months
          600  or larger                                    12 months 


**************************************************************************
*  1.60A , Jun.13,2013
**************************************************************************
1. Update the ETHAPI.lib and ETHAPI.DLL to a new version. The older version
   may crash the LAN1 / LAN2 communication when using the 
   R_MB_ADR(1, 9987) or R_MB_ADR(1, 9986)


**************************************************************************
*  1.61 , Jun.25,2013
**************************************************************************
1. Update the Soft-GRAF driver to version 1.26 to support local language Encoding
   for the g_Logger1 HMI object.
2. Support user to add his own C-function and C-function blocks to work in the same 
   ISaGRAF WinCE PAC. Please refer to the below web for more information.
   http://www.icpdas.com/ > Support > FAQ > ISaGRAF Soft-Logic PAC > FAQ-167
3. Support Schedule-Control. Please refer to the below web for more information.
   http://www.icpdas.com/ > Support > FAQ > ISaGRAF Soft-Logic PAC > FAQ-166
4. The Soft-GRAF driver now supports "g_ToPage" to set Page No. as -1 and 201.
   Page No. -1  means switching to "Previous" Page.
   Page No. 201 means switching to "Schedule-Control" Page (refer to FAQ-166).


**************************************************************************
*  1.62 , Jul.16,2013
**************************************************************************
1. Fix Modbus TCP server.
   WinCE 's socket( ) and accept( ) functions should use "INVALID_SOCKET" to 
   test if it is succeed or fail.
2. Sleep a little more in the Modbus TCP server thread and the PAC main thread
   when there is more Modbus TCP clients connectted.


**************************************************************************
*  1.62A , Aug.09,2013
**************************************************************************
1. Fix Mbus_AW function block.
   The old version can not use Modbus function call 16 to write only one 
   Real or write only one Long integer . Now fix it since this version.


**************************************************************************
*  1.63 , Aug.16,2013
**************************************************************************
1. Add a c-function "F_cp_dir" to copy all files in a directory (except sub-directory)
   to one another directory. 
   (refer to http://www.icpdas.com/root/support/faq/isagraf.php > FAQ-168)
   for example, 
     (* Copy_it and TMP are declared as Boolean / Internal variable *)
     if  Copy_it  then
       Copy_it := FALSE ;
       (* 
          Correct directory name :  '\Temp\Dir2' ,  '\Temp\Dir3'  .
          Wrong directory name   :  '\Temp\Dir2\' , '/Temp/Dir3'  .
       *)
       (* Copy all files in \Temp\Dir2 (except sub-directory) to \Temp\dir3 *)
       TMP := F_cp_dir('\Temp\Dir2' , '\Temp\dir3' ) ;
     end_if ;


**************************************************************************
*  1.64 , Sep.03,2013
**************************************************************************
1. fix a bug when initiate the I-87028CW card in slot 0 thru. 7 .
2. Add driver for the I-87028UW and I-87024UW .
  (refer to http://www.icpdas.com/root/support/faq/isagraf.php > FAQ-169)


**************************************************************************
*  1.65 , Oct.16,2013
**************************************************************************
1. The third input parameter "INTERVAL_" of the "S_MB_ADR( )" can support 0 to 99
   (older version only support 0 and 1).
2. Add a function block "i_7016d5" to send only two DCON commands to the 
   I-7016 / I-7016D / I-7016P to get only 1-Ch. A/I and output 1-Ch. A/O.
   Compared with the function block "i_7016d" and "i_7016d2" , the "i_7016d4"
   has smaller I/O scan time (means it is much faster).
3. Support "i_87024c" to control the I/O board I-87024CW in slot 0 thru. 7 . 


**************************************************************************
*  1.66 , Nov.29,2013
**************************************************************************
1. Upgrade the Schedult utility (Schedule_in_PAC.exe) to version 1.0.0.2 to 
   fix a "Special day" setting problem.
2. Speed up the scan rate of the "Bus7000B" and "Bus7000" a little.


**************************************************************************
*  1.67 , Dec.13,2013
**************************************************************************
1. Add a function to deny the ethernet communication from ISaGRAF workbench.
   When set the Dip-switch 1 ~ 8 to all ON, the ISaGRAF workbench can not connect
   the PAC via ethernet. However the Modbus TCP are still working for HMI / SCADA .
2. The c-function "dip_value := get_info(5);" now returns the Dip-switch value. 
    For example, 
      if Dip 1 to 8 are all ON, it returns 255.
      if Dip 1 to 8 are all OFF, it returns 0.
      if Dip 1 is ON, others are all OFF, it returns 1.


**************************************************************************
*  1.68 , Mar.20,2014
**************************************************************************
1. Fix a problem when connecting GPS-721 or i-87211W.
   Now make the satelitte bytes more flexible (1 or 2 bytes are ok)
   Now make the GPS mode flexible (1, 2, 6, ...)


**************************************************************************
*  1.69 , Apr.18,2014
**************************************************************************
1. Add I/O complex equipment "Ping_IP" to test the Ethernet / Internet connection.
   Can setup max. 30  IP address to test.


**************************************************************************
*  1.70 , Jul.08,2014
**************************************************************************
1. Increase the retry times when Ebus package not received. 
   Don't put it to be dead package easily.


**************************************************************************
*  1.71 , Jul.29,2014
**************************************************************************
1. Add a c-function "f_de_dir" to delete all files in a directory excludes
   files in its sub-directories.


**************************************************************************
*  1.72 , Aug.28,2014
**************************************************************************
1. Add function to get current CPU usage and RAM usage.
  (* ST example, unit 0.1 percent (for example, 123 means 12.3 percent) *)
  CPU_usage := SYSTEM(8, 0) ;
  RAM_usage := SYSTEM(8, 1) ;


**************************************************************************
*  1.73 , Oct.07,2014
**************************************************************************
1. Fix a bug in the schedule.c when enable a special day and then Clear it.
2. Add  COM_MRTU( 998 , TRUE )  to keep 2G/3G connected (if it is currently connected)
   when user click "stop application" on the workbench debugger window.
   To cancel this, call  COM_MRTU( 998 , FALSE )

   (* ST example :
      INIT is declared as Boolean/internal and inited as TRUE.
      TMP_BOO is declared as Boolean/interna1 *)
   if  INIT  then
      INIT := FALSE ;
      TMP_BOO := COM_MRTU( 998 , TRUE ) ;
   end_if ;
   

**************************************************************************
*  1.73A , Oct.07,2014
**************************************************************************
1.When the 2G/3G dial-up state is ˇ§connectedˇ¨ . The driver will try to ping DNS server and
  8.8.8.8ˇ¨every 15 minutes to test if the 2G/3G communication is ok. If both ping timeout at 15
  seconds later, the ISaGRAF PAC will automatically reset the 2G/3G module and then re-dial-up
  to recover the 2G/3G communication .
  If user don't want to ping thisˇ§8.8.8.8ˇ¨, can modify it to ping one another ip address 
  (for example, 192.168.71.9) . Like as below code.

  (* set to ping one another IP address .
     INIT is Boolean / Internal variable and inited as TRUE
     TMP_BOO is Boolean / Internal *)
  if INIT then
     INIT := False ;
     TMP_BOO := COM_MRTU( net_addr('192.168.71.9') , TRUE ) ;
  end_if ;


**************************************************************************
*  1.74 , Oct.24,2014
**************************************************************************
Official release .


**************************************************************************
*  1.75 , Nov.25,2014
**************************************************************************
1. Increase the "mbus24r" and "mbus24r1" to read up to 255 bits for function call 1 and 2.


**************************************************************************
*  1.75 , Dec.09,2014
**************************************************************************
1. Modify dial_up_xx.DLL to make a ping every 450 seconds (old version is 900 seconds)
   and increse MAX_PING_ERR_CN from 1 to 4.
 

**************************************************************************
*  1.76 , Feb.09,2015
**************************************************************************
1. Add app-version and app-crc informations on the dialog window of the ISaGRAF driver .
2. Add a "Reset driver" button on the driver dialog .


**************************************************************************
*  1.77 , Mar.18,2015
**************************************************************************
1. Fix a "button not display" problem on the ISaGRAF driver dialog in some PAC.
2. Modify the default type code of I-87H17W as "07" (4 ~ 20 mA) .


**************************************************************************
*  1.77A , Apr.02,2015
**************************************************************************
1. Fix a bug in "Mbus_XR" and "Mbus_XR1" when reading Modbus Real and Long values.


**************************************************************************
*  1.78 , Apr.13,2015
**************************************************************************
1. Official release (same driver as the version 1.77A).

**************************************************************************
*  1.79 , Jul.31,2015
**************************************************************************
1. support I-8120W CAN bus module.

**************************************************************************
*  1.80 , Jan.25,2021
**************************************************************************
1. COM1 supports remote IO.
2. Fix the bug that "DL100" cannot work when using the new version of DL-100T485 

