ISRA OPC UA Server Module - V2.1.4 - Eng
ISRA OPC UA Server Module - V2.1.4 - Eng
ISRA OPC UA Server Module - V2.1.4 - Eng
Version 2.1.4
Copyright
© Copyright ISRA VISION GMBH, Darmstadt, Germany, including all affiliated
companies.
All rights reserved.
The system described in this documentation and its software, drawings,
electrical documentation and schematics are the intellectual property of
ISRA VISION GMBH and all subject to copyright and other intellectual property
protection. The objects of this documentation may not be copied or otherwise
communicated or used for commercial use or distribution, either in part or in
their entirety, nor may these objects be modified without the express written
consent of ISRA VISION GMBH.
This documentation is only intended for the use of the operating authority and
its personnel.
Reading and using this document imply cognizance of the above conditions and
stipulations.
ISRA VISION – Part of Atlas Copco Group
Manufacturer
Product SMASH
Created by ES
Table of Contents
Copyright ............................................................................................... 2
Table of Contents.................................................................................. 3
1 Introduction ..................................................................................... 6
1.1 Overview ...................................................................................................... 6
2 Program Options ............................................................................. 7
2.1 Data Monitor ................................................................................................. 7
2.2 System Settings Tab .................................................................................... 9
2.2.1 Central Connection .......................................................................... 9
2.2.2 Password ......................................................................................... 9
2.2.3 Tag Group Enables........................................................................ 10
2.3 Options Tab ................................................................................................ 10
2.3.1 Defect Tag Options ........................................................................ 10
2.3.2 Parameter Control Options ............................................................ 11
2.3.3 Flag Tag Options ........................................................................... 11
2.3.4 Position Synchronization ............................................................... 12
3 OPC Configuration ........................................................................ 13
3.1 Running the Program ................................................................................. 13
3.2 Running the Program as a Service ............................................................. 13
3.3 Changing the Default Port .......................................................................... 13
3.4 Example Client Connection ........................................................................ 14
3.5 Certificate Usage ........................................................................................ 15
3.5.1 Enabling Certificate Creation ......................................................... 15
3.5.2 Creating a Certificate ..................................................................... 15
3.5.3 Using the Certificate ...................................................................... 16
4 OPC Data items.............................................................................. 17
4.1 Alarm Statistics Data .................................................................................. 17
4.2 App Data .................................................................................................... 17
4.3 Bank Info Data............................................................................................ 18
4.3.1 Bank Video Statistics Data............................................................. 18
4.3.2 Camera Video Statistics Data ........................................................ 18
4.4 Classifier Data ............................................................................................ 20
4.4.1 Logic flow ....................................................................................... 20
4.4.2 Current Classifier Fields ................................................................ 20
4.4.3 Next Run Classifier Fields ............................................................. 21
4.4.4 Class Constraints Indices Table .................................................... 23
4.5 Control Data ............................................................................................... 24
4.6 Defect Data ................................................................................................ 25
4.7 Defect Control ............................................................................................ 27
1 Introduction
1.1 Overview
The OPC UA Server module allows a client program to communicate with the
Main Inspection system via an OPC connection. The Client can send
parameters and can send messages to control the inspection of the system.
Data can also be transmitted to the Client.
2 Program Options
2.1 Data Monitor
OPC server tags can be added to the Data Monitor to allow the user to check
tag values.
Data Monitor Notes:
1. OPC Tags do not need to be added to the data monitor to be accessible by an
OPC client.
2. The value of an OPC tag can be monitored even if there are no OPC Clients
accessing the tag.
The system is placed into Configuration mode by clicking the Setup Data
Monitor checkbox at the bottom of the Data Values page.
The configuration buttons allow the user to add/delete items or arrange the
order the items are displayed. The user can access the properties of each of the
items on the main screen by double clicking the item.
Tag Properties
Note
The OPC Server communicates to the Inspection Program through port 13000.
Note
If the OPC Server is configured to run on the customer PC, then that Customer
PC can only support 1 inspection system. This is because the OPC Server can
only make 1 connection to 1 Inspection PC.
2.2.2 Password
The password will protect the OPC Server configuration options.
Limit defect queue size to – this option will limit the number of defect
queued up for transfer. Once the queue size is exceeded older defects will
be removed from the queue to bring the queue under the limit. This can be
used to control the queue during periods of high defect rates.
Transfer Rate – This is the rate that defects will be transmitted when the
transfer mode is set to Continuous mode.
Handshake timeout – The handshaking Defect Ready flag will be reset
automatically and the next defect sent if the client side does not reset it
within the handshake timeout time.
Transfer up to n defects per JSON output – This option is available if the
defect data transfer mode is set to JSON format. The JSON format sends
multiple defects at one time as a JSON string and this setting controls the
maximum number to be sent at one time.
OPC. In this case the flag event from the alarm will be assigned the
barcode data that was read.
o Support external data only – this option can be used to receive
external data. The data is sent to the inspection program and can be
associated with a defect and/or create a flag event. A typical usage for
this feature is using a barcode scanner to read a barcode that was
already applied to the product and sending the data to the inspection
program via OPC.
External flag data transfer timeout – In the “Support flag tags with
external flag data” mode the server will set the flag tag data to “NA” if the
customer does not send the external data within this MD distance.
Hold distance – In the “Support external data only” mode the data can be
assigned to a defect. The inspection program will hold the external data for
this period of time and each defect will use the data value that is closest to it
based on the MD position.
Store external data in - this will set the external feature for each defect
based on the external data that has been read. Each defect will use the
external data value that is closest to it based on the MD position.
Create flag data in inspection program – this option will create a flag data
for each external value read and this data can be shown on the roll map and
other data displays.
3 OPC Configuration
3.1 Running the Program
The OPCUAServer.exe program is located in the folder D:\OPCUAServer\.
Once the program is started an OPC UA Client can connect to it and configure
its tags.
On starting the program, the server will make a connection to the Central
Inspection Program and start sending/receiving information. This will happen
even if there are no OPC clients attached to the server.
The server will accept an anonymous authentication, a valid windows user and
password, or a certificate. The default user is isra with password vision.
Note: If this is an older version being updated then some values in the file
D:\OPCUAServer\ini\ServerConfig.xml need to be modified.
Open the file in notepad and search for the word UaSdkCppBundleEval and
replace it with ISRAOPCUaServer. There will probably be 8 to 10 places it
needs to be changed.
Click “Yes” and the certificate will be created. The program will show this dialog
confirming that it was created and will make a copy for customer use in the
D:\OPCUAServer\Certificate\ folder.
The first time encountering this new certificate the test client will prompt the
user to accept the trust the server certificate. Once that is done the client will
connect to the server using the certificate.
4 Class.Current.Constraint # String RW # is 1 to 50
The string value has the following
format:
ClassName,
ConstraintIndex1,Logic1,Value1,AndLogic2,
ConstraintIndex2,Logic2,Value2,AndLogic3,
ConstraintIndex3,Logic3,Value3,AndLogic4,
ConstraintIndex4,Logic4,Value4,AndLogic5,
ConstraintIndex5,Logic5,Value5,AndLogic6,
ConstraintIndex6,Logic6,Value6,AndLogic7,
ConstraintIndex7,Logic7,Value7, And Logic 8,
ConstraintIndex8,Logic8,Value8, And Logic 9,
ConstraintIndex9,Logic9,Value9, And Logic 10
ConstraintIndex10,Logic10,Value10
Note: All 40 values must be sent in the string or
the transfer will not happen and the Error value
will be set to 1.
4 Class.Next.Constraint # String RW # is 1 to 50
The string value has the following
format:
ClassName,
ConstraintIndex1,Logic1,Value1,AndLogic2,
ConstraintIndex2,Logic2,Value2,AndLogic3,
ConstraintIndex3,Logic3,Value3,AndLogic4,
ConstraintIndex4,Logic4,Value4,AndLogic5,
ConstraintIndex5,Logic5,Value5,AndLogic6,
ConstraintIndex6,Logic6,Value6,AndLogic7,
ConstraintIndex7,Logic7,Value7, And Logic 8,
ConstraintIndex8,Logic8,Value8, And Logic 9,
ConstraintIndex9,Logic9,Value9, And Logic 10
ConstraintIndex10,Logic10,Value10
Note: All 40 values must be sent in the string or
the transfer will not happen and the Error value
will be set to 1.
2. Handshake mode 2- (Two flags) – This method uses the defect ready and the defect
ReadyAck tags.
A. ISRA OPC UA sets the defect data tags in section 4.6
B. ISRA OPC UA sets the Defect.Defect Ready to 1
C. Customer OPC UA reads the defect data on the Defect.Defect Ready tag going to 1
D. Customer OPC UA Sets the Defect.Defect Ready Ack to 1
E. ISRA OPC UA reads the Defect.Defect Ready Ack and if 1 clears both tags back to 0
and goes back to step A
F. If the timeout duration of time elapses and the Defect.Defect Ready Ack tag has not
been set to 1, then ISRA OPC UA will clear both tags back to 0 and continue sending.
3. JSON Format – This method sends multiple defects in a JSON string. The defect JSON
string will be posted every update rate milliseconds with the last defects. The defect ready
and the defect ReadyAck tags can be used to verify that the data is being received and
processed.
A. ISRA OPC UA sets the defect JSON data tag.
B. ISRA OPC UA sets the Defect.Defect Ready to 1
C. Customer OPC UA reads the defect data on the Defect.Defect Ready tag going to 1
D. Customer OPC UA Sets the Defect.Defect Ready Ack to 1
E. ISRA OPC UA reads the Defect.Defect Ready Ack and if 1 clears both tags back to 0
and goes back to step A
F. If the ½ the transfer rate time elapses and the Defect.Defect Ready Ack tag has not
been set to 1, then ISRA OPC UA will clear both tags back to 0.
G. The next JSON defect data will be posted when the transfer rate time has elapsed
regardless of the handshaking state.
Item Item String Type RW Usage
The features that the JSON string contains is set in the programs setting INI file.
D:\Central\INI\ OPCUAClient.ini
The INI file contains a section [DEFECT JSON MAPPING] with comments and
variables. Each defect feature maps to a specific feature index and the indices
for the desired features in the JSON output are set in the JsonDefectFeaturex
variables.
[DEFECT JSON MAPPING]
;1-Defect Number
;2-Defect Numeric Class
;3-Defect Class
;4-Defect MD
;5-Defect MDRel
;6-Defect CD
………
JsonDefectFeature1=1
JsonDefectFeature2=3
JsonDefectFeature3=4
JsonDefectFeature4=6
JsonDefectFeature5=13
JsonDefectFeature6=14
………
3 FlagData.Flag Text String R The text that is associated with the flag
as set by Central.
4 FlagData.Defect ID Integer R The defect ID is a unique ID number of
the defect the caused the flag event.
5 FlagData.Defect MD Float R The MD position of the defect that
caused the flag event.
6 FlagData.External Flag Text String RW In the Support flag data with external
data mode this data will be supplied by
the customer and will be associated
with the current flag being processed.
Or in Support external data only mode
this will be the data associated with a
defect and/or used to create the flag
event.
A common usage for this is some
customers use a flag with barcode data
on them and a barcode scanner is used
to read back the flag data. The flag data
is then recorded by the flag in Central
via this OPC tag.
7 FlagData.External Data Distance Float RW If external flag data is not recorded
Timeout within this distance then the flag data is
set to “NA”. This distance can be set in
the settings tab.
These tags are for the second flagger’s output events in the Support flag data with
external data mode.
Item Item String Type RW Usage
1 FlagData.Flag ID 2 Integer R The flag ID is a unique number for each
flag.
2 FlagData.Flag MD 2 Float R The MD position of the flag event.
3 FlagData.Flag Text 2 String R The text that is associated with the flag
as set by Central.
4 FlagData.Defect ID 2 Integer R The defect ID is a unique ID number of
the defect the caused the flag event.
5 FlagData.Defect MD 2 Float R The MD position of the defect that
caused the flag event.
6 FlagData.External Flag Text 2 String RW This data will be supplied by the
customer and will be associated with
the current flag being processed from
the second flagger’s output. A common
usage for this is some customers use a
flag with barcode data on them and a
barcode scanner is used to read back
the flag data. The flag data is then
recorded by the flag in Central via this
OPC tag.
The Video Level Auto Adjustment option will set the camera gains, LED
intensity, and/or exposure time to drive the video to a target video value. These
tags allow the OPC UA to adjust the video and receive feedback regarding the
results. The settings for this option are accessed from Central in the Inspection
Settings dialog under the menu option - Setup | Automatic Settings Options.
4.15 IO Data
The input data will show the state of the digital inputs used by the system.
15 Lane.Next Lane Right Float RW This value will be applied at the start of the
1..100 next roll.
This is the right most coordinate of each lane.
16 Lane.Next Lane Width Float RW This value will be applied at the start of the
1..100 next roll.
This is the width of each lane.
17 Lane.Next AutoCalc Float RW This is the starting lane value for the Auto Calc
StartLane lane mode for the next roll.
18 Lane.Next AutoCalc Float RW This is the ending lane value for the Auto Calc
EndLane lane mode for the next roll.
19 Lane.Next AutoCalc Float RW This is the lane width for the Auto Calc lane
LaneWidth mode for the next roll. Depending on the auto
calc mode, this value may not be used.
20 Lane.Enable Save Int32 RW The default behavior is any lane changes
Changes made via OPC are not saved to the lane
settings file for the product. Setting this value
to 1 will cause subsequent lane changes made
via OPC to be saved to the file. Note that
changes made when using the Lane.Next Roll
Lane values will not be saved until the next roll
starts.
35 Prod.This Target Length Short By Float RW Sets the target length short by value. Used to
determine a short roll.
36 Prod.This Target Length Long By Float RW Sets the target length long by value. Used to
determine a long roll.
37 Prod.This Blank Length String RW Sets the products blank length. Used to
calculate how many blanks a defect covers.
38 Prod.This Start TimeStamp String R Timestamp of when this production run
started. Time stamp – Yyyymmddhhmmss
39 Prod.Class List Array R The class names for the current product. This
String[n] is an array of n strings where n is the number
of defined classes.
40 Prod.This Sub Roll x String R A sub roll is a lane based or segment based
roll from a mother roll. Normally the sub roll
field is set to <mother roll #>-<index>. These
tags will override the standard naming
convention. Note this only sets the sub roll
production field and does not change the
filename the sub roll is saved into.
41 Prod.This Sub Roll Customer String R A sub roll is a lane based or segment based
Name x roll from a mother roll. This allows for each
sub roll to have a unique customer name.
42 Prod.This Process Step String RW Set the process step
4.20 Reclassify
These tags are used to reclassify defects. Multiple defects can be transmitted at
one time for reclassification. The defects to be classified are identified by the
defect ID which is a unique ID for each defect. The Tag defect.ID contains each
defects unique ID value.
Ex Reclassify.DefectList data that changes the class for 3 defects to Bad Edge.
The Class Bad Edge must be defined in the classigier.
519260,Bad edge,519263,Bad edge,519272,Bad edge
The current and last rolls statistics are collected for each class and the total counts. The EOR
or last roll data is updated at the roll reset. And, the current values are cleared at the end of
the roll in preparation for the next roll.
Item Item String Type RW Usage
1 Stats.Current.Total ___ __ Statistic Values for total defects on the current
Defects.<statistic> roll.
2 Stats.Current.Bright ___ __ Statistic Values for total bright defects on the
Defects.<statistic> current roll.
3 Stats.Current.Dark ___ __ Statistic Values for total dark defects on the
Defects.<statistic> current roll
4 Stats.Current.BD.<statistic> ___ __ Statistic Values for total bright/dark defects on the
current roll
5 Stats.Current.Class ___ __ Statistic Values for class x on the current roll. x
x.<statistic> can be from 1 to 100 corresponding to the first
100 defect classes.
6 Stats.Current.Footage Float R Current roll footage
7 Stats.Current.Roll Diameter Float R Current diameter of the roll
8 Stats.Current.Product Area Float R Current product area
9 Stats.Current.Velocity Float R Current velocity
10 Stats.Current.Mass Float R Current mass
11 Stats.Current.Weight KG Float R Current weight in kg
12 Stats.Current.Weight T Float R Current weight in metric tons
13 Stats.Current.Roll Number String R Current roll number
14 Stats.Current.Lot Id String R Current lot Id
15 Stats.Current.Order Id String R Current order Id
16 Stats.Current.Data Ready Integer RW This is set to 1 when the data is updated. Can be
cleared by client or the tag will be cleared
automatically after about 1 second.
17 Stats.EOR.Total ___ __ Statistic Values for total defects on the last roll.
Note: Often the inspection 0 reference is not at the same position as the production line 0
reference which is usually at the cutter which will end the roll. The inspection system has an
option to move the meters of product between the inspection system and the cutter to the next
roll. The “Sync To Position” set by the production line should be relative to the production line
0 reference and the OPC sync logic will take into account the distance that has been set to
move to the next roll when synchronizing the two positions. In this case the inspection system
position should always be ahead of the production line position by the distance that is between
the two. At the roll reset the meters of product between the two will be moved to the next roll
and the final roll footage recorded by ISRA will be reduced by the distance between the two
and will then match the production line distance.
These tags are dependent on the graph setup. If the setup is changed or
a product is loaded that has a different graph configuration, then the
values that these tags represent can change. To use the tags without issue
it is best to configure all products to use the same graph settings.
The target and limits are write only data tags. This is done to prevent
ISRA from altering limits on the customer’s equipment. The INI key
TrendGraphDataLimitsTagsReadWrite can be set to 1 to change this tag to
RW.
Item Statistic Type RW Usage
1 Trend.Graph x.Graph Name String R The name of graph x.
x is the graph index from 1 to 10.
2 Trend.Graph x.Upper limit Float W This is the upper limit setting for the graph. Note
that the limits can be set as an absolute value or
relative to the target value as set by an option in
the trend graph.
3 Trend.Graph x.Upper warn Float W This is the upper warning limit setting for the
limit graph. Note that the limits can be set as an
absolute value or relative to the target value as
set by an option in the trend graph.
4 Trend.Graph x.Target value Float W This is the idea target value for the trend data.
5 Trend.Graph x.Lower warn Float W This is the lower warning limit setting for the
limit graph. Note that the limits can be set as an
absolute value or relative to the target value as
set by an option in the trend graph.
6 Trend.Graph x.Lower limit Float W This is the lower limit setting for the graph. Note
that the limits can be set as an absolute value or
relative to the target value as set by an option in
the trend graph.
7 Trend.Graph x.Position Float R Position of the last point updated.
8 Trend.Graph x.Area Float R Area of the last trend interval.
9 Trend.Graph x.Mass Float R Mass of the last trend interval.
10 Trend.Graph x.Weight kg Float R Weight in kg of the last trend interval.
11 Trend.Graph x.Weight t Float R Weight in metric tons of the last trend interval.
1 Video Analysis.Bank n.Num Integer R This is the number of lanes that have
Lanes been configured for the analysis
module.
Note: This is not the same number of
lanes that is configured in the Lane
Setup dialog.
2 Video Analysis.Bank n.Lane x Avg Float R This is the average video intensity for
each lane. Only the lanes what have
been configured will have valid data.
3 Video Analysis.Bank n. Lane x SD Float R This is the standard deviation of the
video intensities for each lane. Only the
lanes what have been configured will
have valid data.
4 Video Analysis.Bank n.Lane x Roll Float R This is the roll average video intensity
Avg for each lane for all the samples taken
for a production run. Only the lanes
what have been configured will have
valid data.
5 Video Analysis.Bn Lane x Roll SD Float R This is the roll standard deviation of the
video intensities for each lane for all
the samples taken for a production run.
Only the lanes what have been
configured will have valid data.
1 Metal Detector.ISRA Row 1 Data Integer RW This tag is set when the metal data is read
Read Ack by the OPC. This tag should be cleared by
customer.
Used if handshaking is enabled.
2 Metal Detector.ISRA Row 1 Data Integer RW When this tag goes high ISRA will read the
Ready metal defect information that was posted by
the metal detector.
Used if handshaking is enabled.
3 Metal Detector.ISRA Row 1 Data Integer RW Section that detected the metal defect
Section
4 Metal Detector.ISRA Row 1 Data Float RW The amplitude or strength of the metal
Amplitude detection.
5 Metal Detector.ISRA Row 2 Data Integer RW This tag is set when the metal data is read
Read Ack by the OPC. This tag should be cleared by
customer.
Used if handshaking is enabled.
6 Metal Detector.ISRA Row 2 Data Integer RW When this tag goes high ISRA will read the
Ready metal defect information that was posted by
the metal detector.
Used if handshaking is enabled.
7 Metal Detector.ISRA Row 2 Data Integer RW Section that detected the metal defect
Section
8 Metal Detector.ISRA Row 2 Data Float RW The amplitude or strength of the metal
Amplitude detection.
Detector Settings
Detector layout – The detector layout as defined in the previous section.
Handshake – if set to enabled then the data will be handshakes. If disabled,
then the section data will be processed on receiving the data.
Metal section width - This is the width of each of the metal detector sections.
Number of metal sections Row 1 – The number of physical metal sections for
the single row method or for the first row in dual mode. This row should be the
one that starts closest to the 0 side of the machine.
Metal section width - This is the width of each of the metal detector sections.
Number of metal sections Row 1 – The number of physical metal sections for
the single row method or for the first row in dual mode. This row should be the
one that starts closest to the 0 side of the machine.
Number of metal sections Row 2 – The number of physical metal sections for
the second row of detectors when in dual mode. The number of detectors in this
roll is normally the same as the first row but it can be one shorter.
Dual detection timeout – in dual mode the system will buffer a detection from
one metal detector to give time for the other metal detector to report data. Once
both metal detectors have reported then the logical metal section will be
determined and a metal defect will be sent to the inspection system. If the other
detector doesn’t detect the metal event, then a metal defect will be created at
the section that did sense the metal and the metal defect width will be set to the
full section width.
Metal 1 defect CD offset – the metal event CD position will be offset by this
amount.
Metal 1 defect MD offset – the metal event MD position will be offset by this
amount.
Metal 2 defect MD offset – the metal event MD position will be offset by this
amount.
The metal level ability setting should be set to multi-level data and
it only needs one level as the classifier can support multiple defect
types in this mode.
Metal defect length – The length of the metal particle is not known. Thus, the
length will be set to this value. For the defect to be displayed on the Inspection
system correctly, a defect must have a valid length.
Store ISRA section in - this will set the external feature in the defect event to
store the ISRA section which is the logical metal section that detected the
metal.
Store metal 1 section in - this will set the external feature in the defect event
to store the metal 1 physical section that detected the metal.
Store metal 2 section in - this will set the external feature in the defect event
to store the metal 2 physical section that detected the metal.
Store Metal amplitude in - this will set the external feature in the defect event
to store the amplitude value. This feature can be used in classification of the
defect.
Reverse map the metal defects – this option will reverse the metal defect
positions. It is needed for cases where the metal detector 0 position is opposite
of the inspection system 0 position.
Metal Level Ability
o None– This option will associate the metal detection to a defect. If there
are not any defects within the merge distance of the metal event, then
the metal event will be ignored.
o Multi-Level data – this option allows different alarm defects to be
created based on the metal amplitude sent from the metal detector. Each
level has a threshold and an alarm ID to control the alarm that will be
used at each level. If the report mode is set to “Create a class defect”
then only one level needs to be set and the alarm ID will be used in
creating the defect so an alarm needs to be created in Central with that
ID.
Alarm ID– the alarm ID is used to create an alarm event when the metal level
ability is set to None.
o An alarm on the Inspection System should be configured as follows:
The alarm method should be set to “External Alarm Event”.
The alarm should be set to generate a defect when it is asserted.
For the Multi-level data method an alarm should be created for
each alarm ID defined for each level.
Metal Testing
These settings are used to generate metal test defects. The user can set the
section for each metal detector row and the amplitude for the detection. The metal
event is sent to the inspection system and can be used to verify the setup.