Copyright March 2002 by ICP DAS CO., LTD. All right reserved.

The ISaGRAF embedded driver is firmware burned into the flash 
memory of the iP-8447 / 8847. It can be easily 
upgraded by the user.

Our newly released driver can also be obtained from the following
website.
   http://www.icpdas.com/products/PAC/i-8000/isagraf_download_list.htm  

Warning:
  The copyright of the firmware and ISaGRAF embedded driver 
  belongs to ICP DAS CO., LTD. 
  Only the iP-8447 / 8847 have registered a legalISaGRAF Target license. 
  To burn an ISaGRAF embedded driver into other iP-8447 / 8847 controllers 
  is absolutely illegal and may be punished by law. 

Trademark:
  Products, names and trade names appeared belongs to their respective owner. 
***************************************************************************
V1.27 ---> iP8x47_1.28, Jun.18,2021, with Ethernet features
V1.27 ---> iP8x17_1.28, Jun.18,2021, without Ethernet features
***************************************************************************
1. Fix the bug that "DL100" cannot work when using the new version of DL-100T485


***************************************************************************
V1.26 ---> iP8x47_1.27, Dec.15,2020, with Ethernet features
V1.26 ---> iP8x17_1.27, Dec.15,2020, without Ethernet features
***************************************************************************
1. Support I-8026PW module.
   The 8026W is a multifunction module that includes 6 analog input channels,
   2 analog output channels, 2 digital input channels, 2 digital output channels.

***************************************************************************
V1.25 ---> iP8x47_1.26, Dec.12,2019, with Ethernet features
V1.25 ---> iP8x17_1.26, Dec.12,2019, without Ethernet features
***************************************************************************
1. Because replacing the flash memory chip increases the relevant judgment

***************************************************************************
V1.24 ---> iP8x47_1.25, May.25,2017, with Ethernet features
V1.24 ---> iP8x17_1.25, May.25,2017, without Ethernet features
***************************************************************************
1. Modify a Modbus feature problem.

***************************************************************************
V1.23 ---> iP8x47_1.24, Dec.11,2015, with Ethernet features
V1.23 ---> iP8x17_1.24, Dec.11,2015, without Ethernet features
***************************************************************************
1. Modify a Modbus feature problem.

***************************************************************************
V1.22 ---> iP8x47_1.23, Aug.26,2015, with Ethernet features
V1.22 ---> iP8x17_1.23, Aug.26,2015, without Ethernet features
***************************************************************************
1. Modify a Modbus function bug about the "Mbus_bw" C-function block.
2. Modify S-MMI display the message about I-87K status when iP-8xx7 power-on the moment
3. Modify an "averag_f" function block setting problem.

***************************************************************************
V1.21 ---> iP8x47_1.22, Oct.08,2014, with Ethernet features
V1.21 ---> iP8x17_1.22, Oct.08,2014, without Ethernet features
***************************************************************************
1.Support remote I-87018PW, I-87022W andI-87016W  module.


***************************************************************************
V1.20 ---> iP8x47_1.21, Mar.03,2014, with Ethernet features
V1.20 ---> iP8x17_1.21, Mar.03,2014, without Ethernet features
***************************************************************************
1. Modify a bug about I-87K modules unable to be controlled

***************************************************************************
V1.19 ---> iP8x47_1.20, Nov.13,2013, with Ethernet features
V1.19 ---> iP8x17_1.20, Nov.13,2013, without Ethernet features
***************************************************************************
1. Modify an EEP_EN() settings problem.
2. Support remote I-87024CW, I-87024UW,I-87028CW and I-87024UW module.
   (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-169
    http://www.icpdas.com/faq/isagraf/169.htm)
3. Improve MODBUS RTU / ASCII Master communication efficiency

***************************************************************************
V1.18 ---> iP8x47_1.19, Jun.11,2013, with Ethernet features
V1.18 ---> iP8x17_1.19, Jun.11,2013, without Ethernet features
***************************************************************************
1.Modify a bug about COM0 sudden data loss problems

***************************************************************************
V1.17 ---> iP8x47_1.18, Apr.24,2013, with Ethernet features
V1.17 ---> iP8x17_1.18, Apr.24,2013, without Ethernet features
***************************************************************************
1. Support "I_87042" function blocks and IO board. 

***************************************************************************
V1.16 ---> iP8x47_1.17, Mar.04,2013, with Ethernet features
V1.16 ---> iP8x17_1.17, Mar.04,2013, without Ethernet features
***************************************************************************
1.The reason of blinking power LED or L1 LED on PAC while Ethernet connect fail.
  (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-163)

***************************************************************************
V1.15 ---> iP8x47_1.16, Nov.13,2012, with Ethernet features
V1.15 ---> iP8x17_1.16, Nov.13,2012, without Ethernet features
***************************************************************************
1. Support DL-100T485 modules.
  (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-157)


***************************************************************************
V1.14 ---> iP8x47_1.15, Aug.17,2012, with Ethernet features
V1.14 ---> iP8x17_1.15, Aug.17,2012, without Ethernet features
***************************************************************************
1. 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"
2. Add two C function blocks - averag_n, averag_f, 
   Get average REAL/integer value by a specified interval time
3. Limit the "average" function block the number of samples cannot exceed  20. 
4. 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


***************************************************************************
V1.13 ---> iP8x47_1.14, Jun.04,2012, with Ethernet features
V1.13 ---> iP8x17_1.14, Jun.04,2012, without Ethernet features
***************************************************************************
1.Modify a retain bug about DO and AO tag
2.Supports the "TCP_para" IO complex-equipment's "Socket_Timeout" setting to change the 
   timeout value from 35 seconds to 110 seconds. 

***************************************************************************
V1.12 ---> iP8x47_1.13, Apr.18,2012, with Ethernet features
V1.12 ---> iP8x17_1.13, Apr.18,2012, without Ethernet features
***************************************************************************
1. Modified a bug about "I_8088w" function block. 


***************************************************************************
V1.11 ---> iP8x47_1.12, Feb.01,2012, with Ethernet features
V1.11 ---> iP8x17_1.12, Feb.01,2012, without Ethernet features
***************************************************************************
1. Support "I_7019R" and "I_87019R" function blocks and IO board. 
    The below is the characteristic of function blocks and IO board.
     a. Each channel can use different range type setting.
     b. Support 0-20 mA and 4 - 20mA
2. Fix the incorrect Year / Month / Day / DayofWeek value in the "SYSDAT_R" 
   when the time is just pass thru. 00:00:00

***************************************************************************
V1.10 ---> iP8x47_1.11, Oct.20,2011, with Ethernet features
V1.10 ---> iP8x17_1.11, Oct.20,2011, without Ethernet features
***************************************************************************
1. Support I-87026PW module.
   The 87026PW is a multifunction module that includes 6 analog input channels,
   2 analog output channels, 2 digital input channels, 2 digital output channels.
2. Modified a bug about "I_87017r" function block. 

***************************************************************************
V1.09 ---> iP8x47_1.10, Sep.07,2011, with Ethernet features
      ---> iP8x17_1.10, Sep.07,2011, without Ethernet features
***************************************************************************
1. Support I-87037W , I-87019ZW , I-87017ZW and I-87017DW modules.
  (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-148)
2. Support "Mbus12w" function block to write 1 to 12 words to Modbus RTU / ASCII
   slave devices (refer to www.icpdas.com > Support > FAQ > Software > ISaGRAF > FAQ-144). 
3. 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.

***************************************************************************
V1.08 ---> V1.09, Mar.15,2011
***************************************************************************
1. Support remote i_7061.
2. 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.
3. Supports i-87084W as RS-485 remote I/O modules.

***************************************************************************
V1.07 ---> V1.08, Aug.30,2010
***************************************************************************
1.Supports i-87088W in slot 0 to 7 and/or supports it as RS-485 remote I/O modules.
 (refer to www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-105)
2.Supports i-8014W card : 16 single-ended/8 differential inputs. 
3.Modified a bug about "PWM" and "Di_CNT" function blocks.

***************************************************************************
V1.06 ---> V1.07, Apr.26,2010
***************************************************************************
1.Improving "UDP_SEND" to support  UDP "broadcast" feature.

***************************************************************************
V1.05 ---> V1.06, Feb.01,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.
2. If assign "port_no" of "mbus" and "mbus_asc" less than 100 in the IO connection, it 
   will apply the "delay_time" as 100 ms (the old version is 0 ms).
   If user wish to set the "delay_time" as other value, please set this "port_no" larger than 100.
   For ex., setting the "port_no" as 2103 means using COM3 and applying the "delay_time" as 21 ms.
3. Fix a convesion bug of the I-87005W 's range type = 60 . 

***************************************************************************
V1.04 ---> V1.05, Sep.17,2009
***************************************************************************
1. One of iPAC-8x47's COM4/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 ;

2. Add c-function "to_unico" for using with "SMS_send" to send local language. 
   (www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-111)

3. Add IO complex-equipment "i_8093W" . Please refer to below web site for more information.
   www.icpdas.com > FAQ > Software > ISaGRAF > FAQ-112

4. Fix a bug that s_m_w can not work in old driver.

***************************************************************************
V1.03 ---> V1.04, Jul.23,2009
***************************************************************************
1.Modify the "PID_AL" code. If XOUT exceed the max. / min. limitataion, reduce
   the Iterm coffecience to 1/2

***************************************************************************
V1.02 ---> V1.03, Jun.16,2009
***************************************************************************
1. Modified a bug about I-87041 function block
2. Repairs the COM0 communication parameter automatically, when COM0 has not responded
3. 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 )
4. 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)
5. Supports i-87028CW in slot 0 to 7 and/or supports it as RS-485 remote I/O modules.
6. Add two C function blocks - averag_n, averag_f, 
   Get average REAL/integer value by a specified interval time


***************************************************************************
V1.01 ---> V1.02, Apr.22,2009
***************************************************************************
1. Improve TCP/IP communication
2. Add i-87046 card (16-Ch. D/I input) .
3. Add i-8046W 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

***************************************************************************
V1.00 ---> V1.01, Feb.06,2009
***************************************************************************
1. Update the library of TCP/IP
2. Improves all i-7000 function blocks

***************************************************************************
V1.00 2008/12/24
***************************************************************************
The below items are supported.
1.  Modbus RTU/ASCII (serial) slave protocol in COM1(default) and COM2/COM3.
2.  Modbus RTU (serisal) master protocol in COM1 ~ COM5
3.  Modbus TCP/IP slave protocl in ethernet port, Up to 6 link at the same time.
4.  Max. "Tic code" size - 64K bytes.
5.  Only accept high profile parallel (I-8K) & serial (I-87K) I/O boards 
6.  RS485 remote I/O - "Bus7000" & related function blocks - i_7050, 
    i_87051, ...  for i-7000 & i-87K remote I/O modules.
7.  Support Hot-swap I-87K high profile I/O modules on the slot 0~7 
    if the modules need to be replaced.
8.  MMICON starter kit - "MMICON" & its related functions - 
    mmi_boo, mmi_inp_n, mmi_inp_s, mmi_int, mmi_real, mmi_str
9.  Byte array functions : array_r, array_w
    Integer array functions : ary_n_r, ary_n_w, ary_w_r, ary_w_w
10. Other functions.
    bit_wd, int_real, real_int, int_real, real_str, time_str, val_hex, wd_long
11. Other function blocks.
    long_wd, sysdat_r, sysdat_w, ststim_r, systim_w, wd_bit
12. Message array functions: msgary_r, msgary_w
13. R/W COM2 ~  COM8 functions: comopen, comclose, comclear, comready, comread,
    comwrite, comstr_w, comary_r, comary_w
14. EEPROM function: eep_en, eep_pr, eep_b_r, eep_b_w, eep_by_r, eep_by_w, 
    eep_wd_r, eep_wd_w, eep_n_r, eep_n_w
15. SMS functions - sms_test , sms_get , sms_gets , sms_send & sms_status.
16. Retained function. Retain_B, Retain_N, Retain_F, Retain_T, Retain_X
17. Variable directly accessed functions by Netwok address:
    r_mb_rel , w_mb_rel , r_mb_adr , w_mb_adr
18. Send and receive message via UDP/IP : "udp_ip" & its related functions - 
    "udp_send" & "udp_recv" & demo program - wdemo_xx & wdemo_xx
19. Data Exchange via Ethernet : "Ebus_m" & "Ebus_s" & its related functions -
    "ebus_b_r","ebus_b_w","ebus_n_r","ebus_n_w"
20. Data Exchange via RS-485 : "Fbus_m" & "Fbus_s" & its related functions -
    "fbus_b_r","fbus_b_w","fbus_n_r","fbus_n_w"
21. Get unique serial No. functions: get_sn
22. Email_ETH feature. Support  mail_set  and  mail_snd  function
    to send email (or with one attached file < 256KB)
    Please visit www.icpdas.com - FAQ - Software - 067 for more information and demo program.
23. iPAC-8447 / 8847 support FRnet I/O. (only i-8172W)
    Please visit www.icpdas.com - FAQ - Software - 082 for more information and demo program.

