Established in US in 1997

Pioneer in industry:
      First HMI/SCADA package for Microsoft Windows CE
      Web solution and XML integration in HMI/SCADA
      Patent for database connectivity

Certifications:




Awards:
 Data Acquisition
      240+ native drivers, OPC, APIs
      Wired and wireless connectivity
      Support for different physical layers

 Graphical visualization
     Multi-platform support
     Support for mobile devices
     Thin Clients (Web, Mobile Access, Secure Viewer)
     Linked symbols

 Background tasks
      Run as a Service or Application
      Alarm management system
      Built-in Trend object
      Event logger
      Interface to SQL Relational Databases (MS SQL Server, Oracle, MS Access, etc)
      Security System
      Recipes
      Remote Management
InduSoft Web Studio is an easy-to-use
HMI/SCADA/MES/OEE solution




Runs on any current Microsoft Operating
system (32 and 64 bits) including Windows
CE/Mobile, Embedded XP/Standard, Windows
7 & 8 and All Server Editions
Seamless deployment across all
                              operating systems supported by
                                         Microsoft




SCADA
OEE / MES

                        HMI
Hardware manufacturer
    independency!                      Mobile
2013
                  Windows CE 7
                  Windows 7 & 8
                   CEView v7.1




     1997
Windows CE v1.0
 Windows 95
 CEView v1.0
Remote
 Local                         Web Thin
               Secure
Viewer                          Client
               Viewer

                                             TCP/IP
                                          Communications


         InduSoft Web Studio
             Core Process

             Tags Database                   Communication
                                                Channel
                             Comm.                            Process
                             Driver                          Controller
Physical Layer:
   Using default Windows resources APIs
      Serial Communication Channels:
         default: RS232 (Voltage)
         RS422/485 (Current)
         USB
         Note: Dedicated channel

      Ethernet
        Note: Multiple Connections                   Ref.: http://icpdas-usa.com




   Using 3rd-Party APIs
      specific bus types, such as
     CAN, Profibus, DeviceNet, ControlNet, Interbus, ASi, DH+, a
     nd so forth
Physical Layer - Serial:
   The physical port will be used ONLY by that specific
   communication type!

RS232 (Voltage) – short distances, only peer to peer



RS422/485 (Current) – supports multi-drop and longer distances
Physical Layer - Ethernet:
   The physical port can be used for the communication with
    the PLCs, but also with anything else that goes through
    Ethernet, such as web server and clients (internet), e-
    mails, etc…

   For PLCs, it does support several devices and usually the
    Controller supports multiple connections
Physical Layer - Other:
  Depending on the bus that you want to be, you may need specific PC-Adaptors that
  will allow your PC or WinCE device to be a node on that specific bus.

  The PC-Adaptor comes with Device Drivers and it would need an API to allow
  access to it

  Some of the most common Industrial Buses that require specific PC cards are:
  Profibus-DP
  ControlNet
  DeviceNet
  DH+ / DH485 / RIO
  Interbus
  Modbus Plus
  ControllerLink
Logical Layer:
Protocols: Messaging Scheme

Most of the drivers is based on the concept of Master x Slave

   Master: Side of the communication that starts the
   conversation and sends the messages

   Slave: Side of the communication
   that listens and wait to receive
   messages from the Master,
   and then replies back


                                                        Ref.: http://www.modbus.org
Logical Layer:
Protocols: Messaging Scheme
Example of a message frame
Master: Sends the message. This is what we call TX (Transmit)
     Header                   Message                      Error Check


Header: usually the bytes that identify the beginning of the message, total
number of bytes of the message, slave address that the message is addressed to,
etc…
Message: usually the Command (Read, Write, etc…), the Controller Register
type, the initial address and the quantity of registers that will be read

Error Check: Error check calculation, executed on both ends, to see if the
messages are valid, using bytes from the message, header, or both
Logical Layer:
Protocols: Messaging Scheme
Example of a message frame
Slave: Replies to the message sent by the Master. This is what we call RX (Receive)
      Header                    Message                       Error Check


Header: bytes that identify the beginning of the message, total number of bytes
of the message, slave address that the message was addressed to, so the Master
can identify the response, etc…

Message: it may have a Reply Command (Read, Write, etc…), and then the
values requested by the Master

Error Check: Error check calculation, executed on both ends, to see if the
messages are valid, using bytes from the message, header, or both
Logical Layer:
Factors that Impact the Communication:
Message Size: Depending on the protocol, the Controller supports only a certain
number registers to be sent in a RX message. It varies a lot depending on the
device manufacturer.
     Some devices support only 32 words per message
     Others, 64 words or even 512
If the driver requests a message larger than what the protocol supports, the
Controller replies with an error message

Number of Messages: Because of the limitations for size of the message that
the Controller supports, some protocols require several messages to acquire a
certain amount of registers, impacting the overall driver performance

            Less Messages = Faster Communications
  Program your Controller in a way that the registers can fit in fewer messages
Logical Layer:
Factors that Impact the Communication: Special Cases
PACs, CIP: Most of new Programmable Automation Controller, have
programming language and protocols based on variables or tag names
One example of this kind of device and protocol is the Ethernet/IP PLC families
from Rockwell: ControlLogix, FlexLogix, CompactLogix, Micrologix 1100/1400
The communication with these devices is impacted by
    The max message sizes supported by the CIP protocol are FIXED in
       TX: 544 bytes
       RX: 493 bytes
    The name of the Tags that will be accessed are part of the message

This means that shorter tag names yield more tags per message = faster
communication
    Use Arrays!!! - 1 Tag Name + several values!
Logical Layer:
Factors that Impact the Communication: Special Case
3rd Party APIs based drivers:
Some drivers were developed using specific 3rd-Party APIs, for different reasons

Beckhoff TwinCAT (TWCAT) - ADS
OMRON – Fins/Sysmac Gateway (OMRON)
CodeSys (COSYS) - PLCHandler
Modbus Plus (MODPL) – Cyberlogic MBX Suite
Straton (STRAT) – Q-Interface
DH+ / RIO using SST Card (SSTDH/STRIO)

The Driver calls functions from these APIs to reach the field device’s registers
values

The performance of this kind of driver depends (a lot) on the 3rd-Party API
Physical + Logical Layers
Ethernet-based drivers
Fast baud-rate
Same physical port accessing several different devices and
protocols
Multiple connections to the same device
Main Driver Sheet (MDS) :
Pros:
   Simple Configuration: usually uses the same PLC address syntax
   Automatic calculation of block sizes and group of messages
   Possibility of configuring Scan for Always, Screen, Auto
   Note: Keep in mind that the Readings happen in Groups! The closer the
   I/O addresses are to each other, the better the communication will be


Cons:
   Fixed scan Rate for all groups
   Every row requires a Station configuration
   Hard to identify a faulty communication group
    It is hard to identify in which read group the PLC address is
   Writes Items Only. No Group Writing (it may be an issue for Recipes)
Main Driver Sheet (MDS) :
Main Driver Sheet (MDS)
 Troubleshooting:
    Use the Output Window or LogWin
    Depending on the Driver, the most common errors are related to:
        Wrong Station
           • Depending on the driver, the Station field has specific
              parameters. Some require Network number, or TCP port
              number, etc…
        Wrong Communication Settings
           • Some drivers support different PLC families (ABTCP, ABKE) and
              this configuration is made on the “Driver Settings” Window
           • For Serial drivers, wrong baud rate, parity, RTS config
        Wrong PLC I/O Address (non-existing N70, DB10, 441001, etc…)
Main Driver Sheet (MDS)
 Troubleshooting:
    On the Output Window, you will be able to see the error message
      and that will give you an idea where to look at
    For Tag-Based PLCs (PACs) the most common error is mistyping the
      PLC Tag name on the I/O Address column! One wrong address will
      invalidate the whole reading group.
    Enable the “Protocol Analyzer” to see which Tag you mistyped.
Main Driver Sheet (MDS)
 Troubleshooting: To see the tags that are in each Read Group created
  by the MDS, follow the below steps:

       Open the .App file using a Text Edit (e.g. Notepad)
       Find the [Options] section
       Create the following entry: DumpDriverSheets=1
       Save, close the file and open the project
       As you call the runtime, you will find the files with the groups
        created by the MDS in the project’s WebDump folder. Use the
        development “Open File” to visualize them.
Main Driver Sheet (MDS)
 Changing the Reading Rate.

     Open the .App file using a Text Edit (e.g. Notepad)
     Find the [Options] section
     Create the following entry: MainDrvAlwaysTrigger=<tagname>
     <tagname> is the name a project tag that you will use as Trigger
      for the MDS. You can use an existing System Tag, such as BlinkFast
      (200 ms rate) or create your own.
     Save, close the file and open the project
     As you call the runtime and enable the log on the Output Window
      you will see the new reading rate.
Standard Driver Sheet (SDS)
Standard Driver Sheet (SDS)
Standard Driver Sheet
Pros:
    Total Control of your Communication: choose when you want to read or
    write
    Read constantly or on-demand
    Write an entire Group of variables or one single item
    Individual Group Communication Feedback            Qty./project
                                                                       Main Driver Sheet

                                                                              1
                                                                                               Standard Driver Sheet(s)

                                                                                                         9999

    1 Station configuration for the entire group       Rows/sheet           4096                        4096




                                                                                             You decide what triggers each
                                                                                                 sheet independently:

Cons:                                                  Scan period
                                                                        approx 600ms
                                                                          (default)        -Independent Read/Write Triggers
                                                                                           -Enable Read When Idle

   Configuration is less-friendly than MDS                                                -Enable Write On Tag Change




   Manual configuration of Blocks obeying Block Sizes
   Only 1 Station per worksheet
                                                        PLC address        Mix type            Single type for each sheet




   Only 1 Register type per worksheet
   You may end up using several worksheets – harder maintenance
Standard Driver Sheet (SDS)
Standard Driver Sheet
Enable Read When Idle:
    Use this field when you want to achieve the fastest communication
    possible.
    It has a lower priority of all the other operations, but runs constantly
    “Idle” means whenever the driver is not Writing or executing a Read Trigger
     Main Driver Sheet Reading events have a higher priority than the
    worksheets configured with this field enabled

Read Trigger:
   It is recommended to use it when you want to read something specific, on a
   specific situation, or
   You want to have a constant reading rate
   Can be used to read recipes, PID parameters, and other stuff that you don’t
   need to read constantly
   Has a higher priority than the “Enable Read”
   Main Driver Sheet shares priority with this command
Standard Driver Sheet (SDS)
Standard Driver Sheet
Enable Write on Tag Change:
     Use this field when you want to write only a single (or some specific)
    address(es) in the PLC
     Each tag change will be a TX message sent to the PLC
    In conjunction with the Write Status and Write Completed fields, allows the
    user to know when the operation was completed and if it was successful
     It has a higher priority than any read event
     Recommended for writing Bits from Bytes and Words

Write Trigger:
  It is recommended to use it when you want to write several addresses at
  just one shot, e.g. Download a recipe or PID parameters
   It usually does not work when you want to write individual Bits from Words
  and Bytes
Driver Update
 Download the driver Setup file from InduSoft’s Web Site
 Close InduSoft Web Studio
 Run the Setup program (e.g. MODBU.exe)
 Chose the InduSoft Installation folder where you will install the updated driver
 Follow the instructions on the screen
 Once the installation is finished, the driver will have been updated
 Execute the “Install System Files” on the Embedded Target Device to update the
Runtime there as well
Customized
  Training
    is also
  Available
   at your
   Facility!

   Contact:
training@InduSoft.com
Email
   (US)           info@indusoft.com
   (Brazil)       info@indusoft.com.br
   (Germany)      info@indusoft-germany.de
                                                            USA
Support           support@indusoft.com
Web site
   (English)      www.indusoft.com
   (Portuguese)   www.indusoft.com.br
   (German)       www.indusoft-germany.de         Brazil
Phone             (512) 349-0334 (US)
                  +55-11-3293-9139 (Brazil)
                  +49 (0) 6227-732510 (Germany)            Germany
Toll-Free         877-INDUSOFT (877-463-8763)
Fax               (512) 349-0375
Email
   (US)           info@indusoft.com
   (Brazil)       info@indusoft.com.br
   (Germany)      info@indusoft-germany.de
                                                            USA
Support           support@indusoft.com
Web site
   (English)      www.indusoft.com
   (Portuguese)   www.indusoft.com.br
   (German)       www.indusoft-germany.de         Brazil
Phone             +1(512) 349-0334 (US)
                  +55-11-3293-9139 (Brazil)
                  +49 (0) 6227-732510 (Germany)            Germany
Toll-Free (USA)   877-INDUSOFT (877-463-8763)
Fax               +1(512) 349-0375

Driver Configuration Webinar

  • 4.
    Established in USin 1997 Pioneer in industry: First HMI/SCADA package for Microsoft Windows CE Web solution and XML integration in HMI/SCADA Patent for database connectivity Certifications: Awards:
  • 6.
     Data Acquisition  240+ native drivers, OPC, APIs  Wired and wireless connectivity  Support for different physical layers  Graphical visualization  Multi-platform support  Support for mobile devices  Thin Clients (Web, Mobile Access, Secure Viewer)  Linked symbols  Background tasks  Run as a Service or Application  Alarm management system  Built-in Trend object  Event logger  Interface to SQL Relational Databases (MS SQL Server, Oracle, MS Access, etc)  Security System  Recipes  Remote Management
  • 7.
    InduSoft Web Studiois an easy-to-use HMI/SCADA/MES/OEE solution Runs on any current Microsoft Operating system (32 and 64 bits) including Windows CE/Mobile, Embedded XP/Standard, Windows 7 & 8 and All Server Editions
  • 8.
    Seamless deployment acrossall operating systems supported by Microsoft SCADA OEE / MES HMI Hardware manufacturer independency! Mobile
  • 9.
    2013 Windows CE 7 Windows 7 & 8 CEView v7.1 1997 Windows CE v1.0 Windows 95 CEView v1.0
  • 12.
    Remote Local Web Thin Secure Viewer Client Viewer TCP/IP Communications InduSoft Web Studio Core Process Tags Database Communication Channel Comm. Process Driver Controller
  • 14.
    Physical Layer:  Using default Windows resources APIs  Serial Communication Channels: default: RS232 (Voltage) RS422/485 (Current) USB Note: Dedicated channel  Ethernet Note: Multiple Connections Ref.: http://icpdas-usa.com  Using 3rd-Party APIs  specific bus types, such as CAN, Profibus, DeviceNet, ControlNet, Interbus, ASi, DH+, a nd so forth
  • 15.
    Physical Layer -Serial: The physical port will be used ONLY by that specific communication type! RS232 (Voltage) – short distances, only peer to peer RS422/485 (Current) – supports multi-drop and longer distances
  • 16.
    Physical Layer -Ethernet:  The physical port can be used for the communication with the PLCs, but also with anything else that goes through Ethernet, such as web server and clients (internet), e- mails, etc…  For PLCs, it does support several devices and usually the Controller supports multiple connections
  • 17.
    Physical Layer -Other: Depending on the bus that you want to be, you may need specific PC-Adaptors that will allow your PC or WinCE device to be a node on that specific bus. The PC-Adaptor comes with Device Drivers and it would need an API to allow access to it Some of the most common Industrial Buses that require specific PC cards are: Profibus-DP ControlNet DeviceNet DH+ / DH485 / RIO Interbus Modbus Plus ControllerLink
  • 19.
    Logical Layer: Protocols: MessagingScheme Most of the drivers is based on the concept of Master x Slave Master: Side of the communication that starts the conversation and sends the messages Slave: Side of the communication that listens and wait to receive messages from the Master, and then replies back Ref.: http://www.modbus.org
  • 20.
    Logical Layer: Protocols: MessagingScheme Example of a message frame Master: Sends the message. This is what we call TX (Transmit) Header Message Error Check Header: usually the bytes that identify the beginning of the message, total number of bytes of the message, slave address that the message is addressed to, etc… Message: usually the Command (Read, Write, etc…), the Controller Register type, the initial address and the quantity of registers that will be read Error Check: Error check calculation, executed on both ends, to see if the messages are valid, using bytes from the message, header, or both
  • 21.
    Logical Layer: Protocols: MessagingScheme Example of a message frame Slave: Replies to the message sent by the Master. This is what we call RX (Receive) Header Message Error Check Header: bytes that identify the beginning of the message, total number of bytes of the message, slave address that the message was addressed to, so the Master can identify the response, etc… Message: it may have a Reply Command (Read, Write, etc…), and then the values requested by the Master Error Check: Error check calculation, executed on both ends, to see if the messages are valid, using bytes from the message, header, or both
  • 22.
    Logical Layer: Factors thatImpact the Communication: Message Size: Depending on the protocol, the Controller supports only a certain number registers to be sent in a RX message. It varies a lot depending on the device manufacturer. Some devices support only 32 words per message Others, 64 words or even 512 If the driver requests a message larger than what the protocol supports, the Controller replies with an error message Number of Messages: Because of the limitations for size of the message that the Controller supports, some protocols require several messages to acquire a certain amount of registers, impacting the overall driver performance Less Messages = Faster Communications Program your Controller in a way that the registers can fit in fewer messages
  • 23.
    Logical Layer: Factors thatImpact the Communication: Special Cases PACs, CIP: Most of new Programmable Automation Controller, have programming language and protocols based on variables or tag names One example of this kind of device and protocol is the Ethernet/IP PLC families from Rockwell: ControlLogix, FlexLogix, CompactLogix, Micrologix 1100/1400 The communication with these devices is impacted by The max message sizes supported by the CIP protocol are FIXED in TX: 544 bytes RX: 493 bytes The name of the Tags that will be accessed are part of the message This means that shorter tag names yield more tags per message = faster communication Use Arrays!!! - 1 Tag Name + several values!
  • 24.
    Logical Layer: Factors thatImpact the Communication: Special Case 3rd Party APIs based drivers: Some drivers were developed using specific 3rd-Party APIs, for different reasons Beckhoff TwinCAT (TWCAT) - ADS OMRON – Fins/Sysmac Gateway (OMRON) CodeSys (COSYS) - PLCHandler Modbus Plus (MODPL) – Cyberlogic MBX Suite Straton (STRAT) – Q-Interface DH+ / RIO using SST Card (SSTDH/STRIO) The Driver calls functions from these APIs to reach the field device’s registers values The performance of this kind of driver depends (a lot) on the 3rd-Party API
  • 25.
    Physical + LogicalLayers Ethernet-based drivers Fast baud-rate Same physical port accessing several different devices and protocols Multiple connections to the same device
  • 27.
    Main Driver Sheet(MDS) : Pros: Simple Configuration: usually uses the same PLC address syntax Automatic calculation of block sizes and group of messages Possibility of configuring Scan for Always, Screen, Auto Note: Keep in mind that the Readings happen in Groups! The closer the I/O addresses are to each other, the better the communication will be Cons: Fixed scan Rate for all groups Every row requires a Station configuration Hard to identify a faulty communication group  It is hard to identify in which read group the PLC address is Writes Items Only. No Group Writing (it may be an issue for Recipes)
  • 28.
  • 29.
    Main Driver Sheet(MDS)  Troubleshooting:  Use the Output Window or LogWin  Depending on the Driver, the most common errors are related to:  Wrong Station • Depending on the driver, the Station field has specific parameters. Some require Network number, or TCP port number, etc…  Wrong Communication Settings • Some drivers support different PLC families (ABTCP, ABKE) and this configuration is made on the “Driver Settings” Window • For Serial drivers, wrong baud rate, parity, RTS config  Wrong PLC I/O Address (non-existing N70, DB10, 441001, etc…)
  • 30.
    Main Driver Sheet(MDS)  Troubleshooting:  On the Output Window, you will be able to see the error message and that will give you an idea where to look at  For Tag-Based PLCs (PACs) the most common error is mistyping the PLC Tag name on the I/O Address column! One wrong address will invalidate the whole reading group.  Enable the “Protocol Analyzer” to see which Tag you mistyped.
  • 31.
    Main Driver Sheet(MDS)  Troubleshooting: To see the tags that are in each Read Group created by the MDS, follow the below steps:  Open the .App file using a Text Edit (e.g. Notepad)  Find the [Options] section  Create the following entry: DumpDriverSheets=1  Save, close the file and open the project  As you call the runtime, you will find the files with the groups created by the MDS in the project’s WebDump folder. Use the development “Open File” to visualize them.
  • 32.
    Main Driver Sheet(MDS)  Changing the Reading Rate.  Open the .App file using a Text Edit (e.g. Notepad)  Find the [Options] section  Create the following entry: MainDrvAlwaysTrigger=<tagname>  <tagname> is the name a project tag that you will use as Trigger for the MDS. You can use an existing System Tag, such as BlinkFast (200 ms rate) or create your own.  Save, close the file and open the project  As you call the runtime and enable the log on the Output Window you will see the new reading rate.
  • 33.
  • 34.
    Standard Driver Sheet(SDS) Standard Driver Sheet Pros: Total Control of your Communication: choose when you want to read or write Read constantly or on-demand Write an entire Group of variables or one single item Individual Group Communication Feedback Qty./project Main Driver Sheet 1 Standard Driver Sheet(s) 9999 1 Station configuration for the entire group Rows/sheet 4096 4096 You decide what triggers each sheet independently: Cons: Scan period approx 600ms (default) -Independent Read/Write Triggers -Enable Read When Idle Configuration is less-friendly than MDS -Enable Write On Tag Change Manual configuration of Blocks obeying Block Sizes Only 1 Station per worksheet PLC address Mix type Single type for each sheet Only 1 Register type per worksheet You may end up using several worksheets – harder maintenance
  • 35.
    Standard Driver Sheet(SDS) Standard Driver Sheet Enable Read When Idle: Use this field when you want to achieve the fastest communication possible. It has a lower priority of all the other operations, but runs constantly “Idle” means whenever the driver is not Writing or executing a Read Trigger  Main Driver Sheet Reading events have a higher priority than the worksheets configured with this field enabled Read Trigger: It is recommended to use it when you want to read something specific, on a specific situation, or You want to have a constant reading rate Can be used to read recipes, PID parameters, and other stuff that you don’t need to read constantly Has a higher priority than the “Enable Read” Main Driver Sheet shares priority with this command
  • 36.
    Standard Driver Sheet(SDS) Standard Driver Sheet Enable Write on Tag Change:  Use this field when you want to write only a single (or some specific) address(es) in the PLC  Each tag change will be a TX message sent to the PLC In conjunction with the Write Status and Write Completed fields, allows the user to know when the operation was completed and if it was successful  It has a higher priority than any read event  Recommended for writing Bits from Bytes and Words Write Trigger: It is recommended to use it when you want to write several addresses at just one shot, e.g. Download a recipe or PID parameters  It usually does not work when you want to write individual Bits from Words and Bytes
  • 40.
    Driver Update  Downloadthe driver Setup file from InduSoft’s Web Site  Close InduSoft Web Studio  Run the Setup program (e.g. MODBU.exe)  Chose the InduSoft Installation folder where you will install the updated driver  Follow the instructions on the screen  Once the installation is finished, the driver will have been updated  Execute the “Install System Files” on the Embedded Target Device to update the Runtime there as well
  • 45.
    Customized Training is also Available at your Facility! Contact: [email protected]
  • 48.
    Email (US) [email protected] (Brazil) [email protected] (Germany) [email protected] USA Support [email protected] Web site (English) www.indusoft.com (Portuguese) www.indusoft.com.br (German) www.indusoft-germany.de Brazil Phone (512) 349-0334 (US) +55-11-3293-9139 (Brazil) +49 (0) 6227-732510 (Germany) Germany Toll-Free 877-INDUSOFT (877-463-8763) Fax (512) 349-0375
  • 49.
    Email (US) [email protected] (Brazil) [email protected] (Germany) [email protected] USA Support [email protected] Web site (English) www.indusoft.com (Portuguese) www.indusoft.com.br (German) www.indusoft-germany.de Brazil Phone +1(512) 349-0334 (US) +55-11-3293-9139 (Brazil) +49 (0) 6227-732510 (Germany) Germany Toll-Free (USA) 877-INDUSOFT (877-463-8763) Fax +1(512) 349-0375