Established in 1997 in the US, InduSoft is a pioneer in the HMI/SCADA industry. It was the first to introduce an HMI/SCADA package for Microsoft Windows CE and integrate web solutions and XML. InduSoft has over 240 native device drivers, supports multiple operating systems, and provides data acquisition, graphical visualization, background tasks, and mobile access capabilities.
4. 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:
5.
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 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
8. Seamless deployment across all
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
10.
11.
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
13.
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
18.
19. 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
20. 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
21. 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
22. 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
23. 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!
24. 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
25. Physical + Logical Layers
Ethernet-based drivers
Fast baud-rate
Same physical port accessing several different devices and
protocols
Multiple connections to the same device
26.
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)
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.
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
37.
38.
39.
40. 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
41.
42.
43.
44.
45. Customized
Training
is also
Available
at your
Facility!
Contact:
training@InduSoft.com
46.
47.
48. 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
49. 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