Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

OPC

...

Data Access 2.05 & 3.0 Client Communication Protocol


Supported device types and versions of devices 
Communication line configuration
Communication station configuration
I/O tag configuration
Browsing of the OPC server address space
Historical Data Access
Tell commands
DCOM configuration for connecting a remote OPC server
Errors and problems
Literature
Changes and modifications
Document revisions


Kotva
typy_verzie
typy_verzie
Supported device types and versions

...


The protocol supports the client side of a communication with OPC (OLE for Process Control) DA (Data Access) servers according to the OPC DA specification ver. 2.05A and 3.0. It also supports the client side of communication with OPC HDA (Historical Data Access) servers according to OPC HDA specifications ver. 1.20.


Kotva
komunikacna_linka
komunikacna_linka
Communication line configuration

...


  • Communication line category: OPC.
  • OPC parameters:
    • OPC Host: Only Remote entrance requires it. Computer, where the program D2000 OPC Server is installed in - it is defined for OPC server type "Remote" only (maximum string: 50 characters). You can define names according to the UNC convention (e.g. \\server or server), DNS domain names (e.g. domain.com, example.company.com) or IP address (196.54.23.113).
    • Backup Host: Only Remote entrance requires it. It is backup OPC host. If the parameter is defined, after the communication has failed, the process D2000 KOM is attempting to establish connection alternately with the OPC host and Backup host.
    • OPC Server: Name (ProgID) of the OPC server (maximum string: 50 characters).
    • Server Type: according to the server type – InProc, Local or Remote.


Communication line parameters


Following communication line parameters can be configured for protocol "OPC Data Access 2.05 & 3.0":

...

NameDescriptionUnitDefault value
Kotva
hda
hda
OPC HDA: Server if Available
OPC HDA server name (ProgID), if it is available. OPC HDA functions not to be activate use empty text.- 
Kotva
nval
nval
OPC HDA: Max. Number of Values
Sets the parameter NumItems at synchronous reading of historical "raw" values. The implicit value 0 (zero) means all values in the given interval.-0
Kotva
seqt
seqt
Sequenced Transactions
Starts the sequencing of calling the function Refresh2 of interfaces Async I/O 2.0 and Async I/O 3.0. The calling executes after the first calling has been finished (after it gets the values).YES/NONO
Kotva
rfga
rfga
Repeat Failed Group Activation
Failed OPC group activations will be attempted again after a delay specified by parameter "Group reactivation delay".YES/NOYES
Kotva
gracd
gracd
Group Reactivation Delay
A delay after which a failed OPC group activations is repeated if repetition is enabled by parameter "Repeat failed group activation".sec30
Kotva
rfgx
rfgx
Reconnect After Failed Group Activation
When an OPC group activation fails, KOM disconnects from OPC server and reestablishes a connection. Parameter is relevant in a configuration of redundant OPC servers (after a disconnect from an OPC server follows a reconnect to alternate OPC server where group activation may be successful).YES/NONO
Kotva
ggsd
ggsd
GetGroupState Period
Period of executing the call of GetGroupState of interface IOPCGroupStateMgt. This synchronous call is repeated periodically and detects the problems which could occur in communication with OPC Server.sec10
Kotva
aagde
aagde
Accept All GetGroupState Errors
All the errors returned by calling of "GetGroupState" of interface IOPCGroupStateMgt are considered to be fatal (they will result in disconnect from the OPC server and reconnect or in restart the COM process).YES/NONO
Kotva
sksf
sksf
Stop KOM When OPC Server Fails
Allows to stop KOM process when the fatal error occurs in communication. See the Note.YES/NONO
Kotva
dp
dp
Disconnect On Passive
Only the active KOM process (i.e., the active instance connected to the HOT server) communicates with the OPC server. The KOM process, which becomes passive (by changing the active instance or switching the redundancy), closes the connection to the OPC server.
Note: This parameter allows to reduce the OPC server load in redundant D2000 systems as well as to solve roblems with license limitation of the number of OPC clients.
YES/NONO

...

  • GetGroupState of interface IOPCGroupStateMgt,
  • "Write" of interface IOPCASyncIO2, IOPCASyncIO3 and IOPCSyncIO2,
  • "Read" of interface IOPCASyncIO2, IOPCASyncIO3 and IOPCSyncIO2.


Kotva
komunikacna_stanica
komunikacna_stanica
Communication station configuration

...


Communication protocol: OPC Data Access 2.05 & 3.0

...

  • OPC Group Name - maximum string: 80 characters. This name is only formal in most cases and has no direct relation to the address scheme of devices communicating with the OPC server. The name of group must be unique, two stations cannot the same OPC Group Name within one link.
  • Type -  data access type. You can chose one of the Async I/O 2.0, Async I/O 3.0 and Synchronous I/O options. The Async I/O 2.0 option - the asynchronous OPC interfaces IOPCAsyncIO2 and IOPCDataCallback (OnDataChange and OnReadcompleted call-back procedures) are used for data reading. The Synchronous I/O 2.0 option - OPC interface IOPCSyncIO is used. The Async I/O 3.0 option - OPC interfaces IOPCAsyncIO3 and IOPCDataCallback (OnDataChange and OnReadCompleted call-back procedures) are used for value reading of OPC items
  • Create Active - if the option is checked, the OPC group is active and OPC items in this group get values. If the option is not checked, the OPC group and items are initialized, but  the OPC items do not get values. It is possible to block the OPC group - station temporarily. The option controls the pActive parameter of SetState call of the OPC interface IOPCGroupStateMgt.
  • Update Rate - it is given in milliseconds and defines the maximum speed of OPC item value changes for the option Async I/O 2.0 or Async I/O 3.0. It is transferred as parameter pRequestedUpdateRate of SetState call of OPC interface IOPCGroupStateMgt. Warning - the information, set in tab Time parameters in dialog window Communication station - configuration dialog box defines the read rate of OPC items.
  • % Deadband - the parameter range is from 0.0 up to 100.0%. The parameter can be only used for analog type of items and determines the minimal change of the item for sending the value from the server to clients. For calculation, the OPC server uses the range defined by parameters High EU and Low EU, which can be get by using the interface IOPCItemProperties. Default value of this parameter is 0.0. Value of % Deadband is transferred by means of parameter pPercentDeadband of the SetState call of the  OPC interface IOPCGroupStateMgt.
    Note: The protocol OPC Client described in this topic does not support the OPC interface IOPCItemProperties. For further information read up the document listed in the section Literature.
  • Time Bias - If OPC server and OPC client do not run in the same time zone, the parameter (given in minutes) will be used for the correct calculation of the value time of the OPC item - time stamp. Default value of the parameter is 0 (zero). For further information read up the documents listed in the section Literature.


Station protocol parameters


The following station protocol parameters can be defined:

...

NameDescriptionUnitDefault value
Kotva
backread
backread
Do Read after Write
Allows to verify the value after the recording by synchronous reading.YES/NONO
Kotva
wrs
wrs
Prefer Synchronous Write
Allows to write data into OPC Server only by synchronous interface IOPCSyncIO2.YES/NONO
Kotva
vqt
vqt
Prefer VQT Write
Using the Async I/O 3 option allows to write data by WriteVQT function of IOPCASyncIO3 interface (i.e. the write that transfers the quality and the timestamp together with the value).YES/NONO
Kotva
fd
fd
Full Debug
Activates the debug list. It increases the number of information about the communication operation. It is recommended to use only in detection of the problems and debugging.YES/NONO
Kotva
merz
merz
Merz OPC Server Type
Special mode for communication with OPC Servers made by Merz company. The conversion to/from MS DOS Date Time Format (2 x WORD) is used for values of TiA and ToA type.YES/NONO
Kotva
id
id
AddItems Delay
Delay which is artificial inserted between the AddItems callings to slow down the initialisation phase.ss:mss0
Kotva
qerr
qerr
QERR Value
Integer value of "ERROR" state for conversion into Qi - quaternary input.0,1,2,33
Kotva
qoff
qoff
QOFF Value
Integer value of "OFF" state for conversion into Qi - quaternary input.0,1,2,32
Kotva
qon
qon
QON Value
Integer value of "ON" state for conversion into Qi - quaternary input.0,1,2,31
Kotva
qtrans
qtrans
QTRANS Value
Integer value of "TRANS" state for conversion into Qi - quaternary input.0,1,2,30
Kotva
bad
bad
Keep Values Valid as Weak
If the quality of OPC item changes into "BAD", the value of I/O tag will be valid with Weak flag.YES/NONO
Kotva
sa
sa
Don't Repeat Failed AddItems
Blocks the effort to call AddItems which still repeats after its failure.YES/NONO
Kotva
ca
ca
Do AddItems in Single Call
Activates all the items of group by one calling. It can quicken the OPC communication start.YES/NONO
Kotva
trt
trt
Transaction Timeout
Keeps files of all callings of Write and Refresh2 functions as separate transactions. If they do not end up (successful or unsuccessful) to this timeout, the error message will occur in trace file of communication.sec120
Kotva
rcd
rcd
Reconnect/Reinitialization Delay
Timeout, which delays the repeat of failed operation:


  • creation of AddGroup,
  • creation of AddItems (see the parameter of SA protocol),
  • repeated connection to OPC Server after it has been stopped or failed or disconnected,
  • creation of groups and items after repeated connection to OPC Server.
sec5
Kotva
srbw
srbw
Do Sync Read Before Write If Unk. Type
Enables a synchronous reading of the item value before the writing in case that KOM process do not know correct item data type (i.e. if there is an default value of data type "Empty/Default (VT_EMPTY)", the value must be written).YES/NOYES
Kotva
sin
sin
Status Item Name
Address of OPC Item (OPC Item ID), which contains the OPC server or OPC group error status (e.g. depending on the state of communication). An I/O tag with this address must also be configured.
If the status reports error, it will affect the values of all I/O tags on the station (they will have the Weak flag set). The Status Item Inverted Operation parameter specifies what value corresponds to the error status.
--
Kotva
siio
siio
Status Item Inverted Operation
Interpretation of the OPC Item Status Item Name with error status of OPC server or OPC group.
The NO value means that the False or 0 reports the correct state and True respectively non-zero value reports an error.
The YES value means that the False or 0 means the error state and True respectively non-zero value reports correct status.
YES/NONO
Kotva
f_ns
f_ns
Map NonSpecific as Flag
Mapping the OPC DA flag of quality Non Specific into the attributes of I/O tag value.None, FA, FB, FC, FD, FE, FF, FG, FH, FI, FJ, FK, FL, FM, FN, FO, FPNone
Kotva
f_lo
f_lo
Map LocalOverride as Flag
Mapping the OPC DA flag of quality LocalOverride into the attributes of I/O tag value.
Kotva
f_ce
f_ce
Map ConfigError as Flag
Mapping the OPC DA flag of quality Config Error into the attributes of I/O tag value.
Kotva
f_nc
f_nc
Map NotConnected as Flag
Mapping the OPC DA flag of quality Not Connected into the attributes of I/O tag value.
Kotva
f_fd
f_fd
Map DeviceFailure as Flag
Mapping the OPC DA flag of quality Device Failure into the attributes of I/O tag value.
Kotva
f_sf
f_sf
Map SensorFailure as Flag
Mapping the OPC DA flag of quality Sensor Failure into the attributes of I/O tag value.
Kotva
f_lk
f_lk
Map LastKnown as Flag
Mapping the OPC DA flag of quality Last Known into the attributes of I/O tag value.
Kotva
f_cf
f_cf
Map CommFailure as Flag
Mapping the OPC DA flag of quality Comm Failure into the attributes of I/O tag value./td>
Kotva
f_os
f_os
Map OutOfService as Flag
Mapping the OPC DA flag of quality Out Of Service into the attributes of I/O tag value.
Kotva
f_wi
f_wi
Map WaitingForInitData as Flag
Mapping the OPC DA flag of quality Waiting For Initial Data into the attributes of I/O tag value.
Kotva
f_lu
f_lu
Map LastUsable as Flag
Mapping the OPC DA flag of quality Last Usable into the attributes of I/O tag value.
Kotva
f_sc
f_sc
Map SensorCal as Flag
Mapping the OPC DA flag of quality Sensor Cal into the attributes of I/O tag value.
Kotva
f_ee
f_ee
Map EGUExceeded as Flag
Mapping the OPC DA flag of quality EGU Exceeded into the attributes of I/O tag value.
Kotva
f_sn
f_sn
Map SubNormal as Flag
Mapping the OPC DA flag of quality Sub Normal into the attributes of I/O tag value.
Kotva
raec
raec
Reconnect After Error Count
If consecutive number of errors during reading equals to the value of this parameter, reinitialisation of OPC connection will be performed. Value of zero means that reinitialisaton will not be performed (default behaviour). Current implementation handles only errors in synchronous mode (type setting to "Synchronous I/O" in tab Address of Station object).-0


Kotva
merany_bod
merany_bod
I/O tag configuration

...


Possible I/O tag types: Ai, Ao, Ci, Co, Di, Qi, Dout, TiA, ToA, TiR, ToR, TxtI, TxtO.

...

I/O tag address requires to define OPC Item ID (maximum string: 200 characters). If OPC server supports interface IOPCBrowseServerAddressSpace, the address OPC Item ID may be selected directly from the address list supported by OPC server (it is needed to click on button "Browse Items...", see the section Browsing of OPC server address space.
Note: if I/O tag's address is specified as %IGNORE, such an I/O tag will be ignored.

...

The protocol supports the configuration of tab Destination of I/O tag. If the value of OPC item is of Array type, the communication protocol copies the values of array from the item ArrayIndex into column of structured variable. The size of structured variable is taken into consideration. If the array VARIANT is smaller than number of structured variable rows the empty rows of structured variable will be invalid. If the number of structured variable rows is smaller than array VARIANT, the values which are remaining are ignored.


Kotva
item_browsing
item_browsing
Browsing of the OPC server address space

...


Clicking on button "Browse Items..." in the Address tab of I/O tag dialog box opens another dialog window "OPC Item Browser".

...

The changed conditions come into effect by clicking on "Refresh" button.


Kotva
hdaf
hdaf
Historical Data Access

...


Implementation of this protocol partially supports the specification of OPC HDA (Historical Data Access). The synchronous reading of raw data is supported. TELL command GETOLDVAL activates the reading of historical values. The asynchronous option IOPCAsyncIO of mode for OPC DA should be set to continuously read both the historical data and current one.

...

CommandSyntaxMeaning
STCOMMANDSTCOMMAND StationName DISCONNECTTell command encloses immediately the active OPC connection of line (the parent of "StationName"). Then, the system is restarted and connection reinitiated. If the remote access is used and backup OPC host is configured, the servers are interchanged ("OPC Host" for "Backup Host" or vice-versa).
STCOMMAND StationName CONNECT_PSCloses the active OPC connection and enforces connection to primary OPC server "OPC Host". It is important only for remote access.
STCOMMAND StationName CONNECT_BSCloses the active OPC connection and enforces connection to backup OPC server "Backup Host". It is important only for remote access.


Kotva
dcom
dcom
DCOM configuration for connecting a remote OPC server

...


Remote browsing/local registration of OPC server


D2000 KOM Process (version 7.01.020 rel. 055 and higher) supports the getting GUID OPC Servers from ProgID on remote computers through the DCOM interface by OPCENUM utility (remote browsing). The local registration of OPC server at client is not required if the utility/windows service OPCENUM has been installed on the local PC with D2000 KOM process as the OPC client and on the remote PC as the OPC server and the access rights allows the remote browsing. The utility OPCENUM is a part of package OPC Core Components Redistributable available on http://www.opcfoundation.org/ or as the part of OPC Server installation package.

...

Always study the OPC server manual from its manufacturer in details and confront it with the procedures described above.


Setting the access rights to OPC Server


As OPC DA standard uses COM/DCOM technology, the connecting to the remote OPC server is checked for Windows operating system access rights. On both the local (OPC client) and remote (OPC Server) computer, there must be created the same user (with the same password) and the user must be logged on the client side or the KOM process (running as Windows service) must start up under the account of this user.

...

Wrong setting of access rights will probably causes an error (see the section Errors and problems - COM/OPC error reports):


|E|> ERROR: ServerProgID caused COM/OPC error 80070005H on CoCreateInstanceEx(CLSCTX_REMOTE_SERVER), Error string : Access is denied.

...

Info
titleNote about SIMATIC NET and possibly other OPC servers

If the OPC server is configured to run under "The interactive user" on the last tab Identity of the "Properties" dialog window, it may cause the OPC server to be available only when a user is logged on the computer. We recommend to change this setting to "The launching user", "This user", resp. "The system account".


Kotva
chyby
chyby
Errors and problems

...


When starting or during the course of communication, the following error reports could occur. For an easier identification of the problem, set the communication tracking level at least to the level Monitor, or temporarily to the level Monitor & disk in the configuration dialog box of particular communication line. If you select the level Monitor & disk, the file line_name.LOG containing all debug and error logs will be created in the subdirectory /TRACE of the application directory on the computer with running process D2000 KOM.

...

Error:WriteAsync - FAILED (transactionID) - Item : 'OPCItemID'
Description:Attempt to write the value using the Write function call of the OPC interface IOPCAsyncIO2 failed.
Error:ShutDown OPC Server : 'ServerProgID' !
Description:The OPC server was stopped, probably in a correct way even though it has active clients.
Error:OPC Server 'ServerProgID' is unavailable !
Description:The remote DCOM OPC server is unavailable. Process D2000 KOM as a client is still attempting to connect the server. Check the PC with installed OPC server (if it is running and is correctly connected to the local network).
Error:SetCallBack - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' !
Description:Fatal error - call-back procedures of the OPC interface OPCDataCallback could not have been initialized for the OPC group. Contact the Ipesoft's technical support.
Error:SetGroupState - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' !
Description:Fatal error - SetStatefunction call of the OPC interface IOPCGroupStateMgt failed. Contact the Ipesoft's technical support.
Error:EnableSubscribe - FAILED, Group : 'OPCGroupName',Server : 'ServerProgID' !
Description:Fatal error - SetEnable function call of the OPC interface IOPCAsyncIO2 failed. Contact the Ipesoft's technical support.
Error:RefreshAllAsync - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' !
Description:Fatal error -Refresh2 function call of the OPC interface IOPCAsyncIO2 failed. Contact the Ipesoft's technical support.
Error:OPCConnectToServer - FAILED, Server : 'ServerProgID' !
Description:Fatal error - it is not possible to connect to the OPC server. Check the OPC server parameters - the tab OPC in the configuration dialog box of the communication line and the tab Address in the configuration dialog box of the communication stations.
Error:OPCAddGroup - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' !
Description:Fatal error - the OPC group did not managed to create by calling the AddGroup function of the OPC interface IOPCServer. Contact the Ipesoft's technical support.
Error:ReadSync - FAILED, Item : 'OPCItemID' !
Description:Read call of the OPC interface IOPCSyncIO failed.
Error:AddItems - FAILED (Group not connected), Item : 'OPCItemID' !
Description:The OPC item could not have been initialized, because creating the OPC group has failed. Contact the Ipesoft's technical support.
Error:Write - FAILED (transactionID) , Item : 'OPCItemID' !
Description:Writing the value into the OPC server failed. Writing is performed by the Write function called by the interfaces IOPCSyncIO or IOPCAsyncIO2 according to the parameter Type (data access type) of the OPC group.
Error:Write - FAILED, OPC Server is disconnected, Item :'OPCItemID' !
Description:The value could not have been written into the OPC server, because the OPC server is disconnected.
Error:Group parameters error, Group: 'OPCGroupName', Server : 'ServerProgID' !
Description:OPC group configuration parameters are wrong. Check the OPC parameters - the tab Address in the configuration dialog box of particular communication station.



Kotva
vypis_chyb
vypis_chyb
COM/OPC error reports


The error report described in the section Errors and problems are generated on a high level of OPC client. Most of the errors will also contain an error report on the COM/OPC level. Format of such error reports is as follows:

...

The error reports are important for the problem analysis and will be required by the Ipesoft's technical support if any problem occurs.


Kotva
literatura
literatura
Literature

...


The documents are available on http://www.opcfoundation.org/.

...

  • OPC DCOM White Paper, Richard C. Harrison, Intellution Inc. © Intellution Inc. 1998


Kotva
zmeny_upravy
zmeny_upravy
Changes and modifications

...


  • January 3rd, 2003 - added the parameter UPDATE_RATE, value arrays.
  • January 23rd, 2004 – revised parameters group/item, error reports and DCOM.
  • November 22nd, 2005 - new protocol parameters implemented.
  • October 10th, 2007 - parameters of protocol Async I/O 3.0 update
  • December 3rd, 2007 - added the information about destination column
  • March, 2009 - added the support of HDA
  • February, 2010 - OPC Item browsing
  • March, 2013 - tell commands


Kotva
revizie
revizie
Document revisions

...


  • Ver. 1.0 – February 9th, 2000
  • Ver. 1.1 - January 3rd, 2002
  • Ver. 1.2 - January 23rd, 2004
  • Ver. 1.3 - November 22nd, 2005
  • Ver. 1.4 - October 10th, 2007
  • Ver. 1.5 - December 3rd, 2007
  • Ver. 1.6 - March 13th, 2009
  • Ver. 1.7 - February 8th, 2010
  • Ver. 1.8 - March 5th, 2013

...