Boost PC performance: How more available memory can improve productivity
InduSoft Driver Configuration Webinar
1.
2.
3.
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. Argentina Costa Rica Indonesia Pakistan Sweden
Australia Czech Republic Ireland Panama Switzerland
Austria Denmark Israel Peru Thailand
Bahrain Ecuador Italy Philippines Turkey
Belgium Egypt Japan Poland Ukraine
Belize El Salvador Laos Portugal United Kingdom
Brazil Finland Macedonia Puerto Rico Uruguay
Brunei France Malaysia Romania Venezuela
Bulgaria Germany Mexico Russia Vietnam
Cambodia Greece Moldavia Serbia and growing…
Canada Guatemala Montenegro Singapore
Caribbean Honduras New Zealand Slovakia
Chile Hungary Netherlands South Africa
China Iceland Nicaragua South Korea
Colombia India Norway Spain
Austin, TX, USA São Paulo/Campinas, Brazil Walldorf, Germany
Headquarters
6.
7. When Process and Machines need to interact with Human Beings they need to speak a
common language. As an example, let us think about an Industrial Furnace:
Supposing this is a gas-burning type of Furnace
In order to have a flare, you need gas
In order to know how much gas the furnace needs to feed the flames and
generate the correct temperature, you need to know what temperature you have in
the Furnace
Once you know the temperature, you can send more or less gas to the Furnace
You do that by controlling how much the gas valve will be open or closed
Ref.: http://www.marketsandmarkets.com
8. So, if you want to know the temperature and control the gas valve position, you need:
A thermocouple in the furnace that translates temperature into electric signals
A valve head that will move according to electric signals sent to it
Controlling the electric signals
A process controller, such as a PAC, PLC, single and multi-loop controllers will be
the ones with the logic to control the valve according to the temperature
The converters from analog electric signals into digital is made by specific cards in
the controllers
The controller, thus, has the actual temperature values and is able to process them
an d send the signal to properly control the gas valve
Ref.: http://www.marketsandmarkets.com
9. How will the temperature value and Setpoint be reached by the process operator, if:
The process values are being processed by the process controller, and
These values are bits and bytes, being processed in low-level process language?
The first thing is that the controller is usually not a completely closed Black-box!
It has a way to communicate with the outside world!!!
Process controllers, usually have:
One or more communication ports
An I/O Image table
The capability of transmitting data
from the I/O image table through the
communication ports
Ref.: http://programlogiccontrol.com
10. Since the Process Controllers are capable of exchanging data with
the outside world through these communication ports, Human-
Machine Interfaces (HMIs) and SCADA systems should be capable
of finding a way to reach this process data
The part of the HMI/SCADA systems that will be
responsible to reach the process control data and
process it is the
Communication Driver
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. The 2 Layers of communications with Process Controllers:
Logical Layer
Physical Layer
14. Physical Layer:
Using default Windows resources APIs
Serial Communication Channels:
default: RS232 (Voltage)
RS422/485 (Current)
USB
Ethernet
Using 3rd-Party APIs
Ref.: http://icpdas-usa.com
specific bus types, such as CAN, Profibus, DeviceNet,
ControlNet, Interbus, ASi, DH+, and 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
Process Controllers, but also with anything else that goes
through Ethernet, such as web server and clients (internet), e-
mails, etc…
For Process Controllers, 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. Logical Layer:
The Data Exchanged by the Process Controllers through the Physical Channels
usually obeys some kind of convention
Something like:
This combination of bytes means that the HMI wants to know the Temperature of
the Thermocouple from the First Zone in the Furnace A
This convention or language spoken by these controllers is what we call
Communication Protocol
Ref.: http://www.modbus.org
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. Choosing between:
Main Driver Sheet (MDS) vs Standard Driver Sheet (SDS)
Main Driver Sheet
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
Cons: Main Driver Sheet Standard Driver Sheet(s)
Fixed scan Rate
Qty./project 1 9999
Rows/sheet 4096 4096
Every row requires a Station configuration You decide what triggers each
Hard to identify a faulty communication group
sheet independently:
approx 600ms
Scan period (default) -Independent Read/Write Triggers
Writes Items Only
-Enable Read When Idle
-Enable Write On Tag Change
PLC address Mix type Single type for each sheet
28. Choosing between:
Main Driver Sheet (MDS) vs 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 Main Driver Sheet Standard Driver Sheet(s)
1 Station configuration for the entire group
Qty./project 1 9999
Rows/sheet 4096 4096
You decide what triggers each
Cons:
sheet independently:
approx 600ms
Scan period (default) -Independent Read/Write Triggers
Configuration is less-friendly than MDS
-Enable Read When Idle
-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
29.
30. 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