Sie sind auf Seite 1von 88

Function Blocks Programmer's Ref.

& User's Guide

278589

Buffers (Bufs) ...............................................................................................................................................................3-3! Overview.................................................................................................................................................................... 3-3! Event Behavior .......................................................................................................................................................... 3-4! Analog Input Buffer (AIB) ..........................................................................................................................................3-5! Atomic block Category: Buffers .................................................................................................................... 3-5! Overview.................................................................................................................................................................... 3-5! Creating Simulated Points .................................................................................................................................. 3-5! Attributes ................................................................................................................................................................... 3-6! Analog Output Buffer (AOB) ...................................................................................................................................3-12! Atomic block Category: Buffers .................................................................................................................. 3-12! Overview.................................................................................................................................................................. 3-12! Creating Simulated Points ................................................................................................................................ 3-12! Attributes ................................................................................................................................................................. 3-13! Counter Timer Buffer (CB) ......................................................................................................................................3-18! Atomic block Category: Buffers .................................................................................................................. 3-18! Overview.................................................................................................................................................................. 3-18! Attributes ................................................................................................................................................................. 3-19! Critical Behaviors .................................................................................................................................................... 3-21! Digital Input Buffer (DIB) ........................................................................................................................................3-22! Atomic block Category: Buffers .................................................................................................................. 3-22! Overview.................................................................................................................................................................. 3-22! Creating Simulated Points ................................................................................................................................ 3-22! Attributes ................................................................................................................................................................. 3-23! Enumerated Attributes: .................................................................................................................................... 3-25! Digital Output Buffer (DOB) ....................................................................................................................................3-26! Atomic block Category: Buffers .................................................................................................................. 3-26! Overview.................................................................................................................................................................. 3-26! Creating Simulated Points ................................................................................................................................ 3-26! Attributes ................................................................................................................................................................. 3-27! Enumerated Attributes: .................................................................................................................................... 3-29! Ethernet Buffer (EB) .................................................................................................................................................3-30! Atomic block Category: Buffers .................................................................................................................. 3-30! Overview.................................................................................................................................................................. 3-30! Attributes ................................................................................................................................................................. 3-31! Configuration Examples: ......................................................................................................................................... 3-35! Master in Dpu, PLCs on LAN (non-redundant EBs)............................................................................................ 3-35! Master in Dpu, PLCs on WAN (non-redundant EBs) ......................................................................................... 3-35! Master in Dpu, PLCs on maxDNA network A or B ............................................................................................... 3-36! (non-redundant EBs) .............................................................................................................................................. 3-36! Modbus Slave in Dpu, Master on maxDNA network A or B................................................................................... 3-37! Modbus Slave in Dpu, Master on LAN (non-redundant EBs) ................................................................................ 3-37! Modbus Slave in Dpu, Master on WAN (non-redundant EBs) .............................................................................. 3-38! Master in Dpu, PLCs on LAN (redundant EBs) .................................................................................................... 3-39! Master in Dpu, PLCs on LAN (redundant EBs) .................................................................................................... 3-40! Master in Dpu, PLCs on LAN (redundant EBs) .................................................................................................... 3-41! Master in Dpu, PLCs on LAN (redundant EBs) .................................................................................................... 3-42! Master in Dpu, PLCs on WAN (redundant EBs) ................................................................................................ 3-43! -See above notes on Master in Dpu, PLCs on WAN (non-redundant EBs). ....................................................... 3-43!

Metso Automation

3- 1

Function Blocks Programmer's Ref. & User's Guide

278589

Master in Dpu, PLCs on WAN (redundant EBs) ..............................................................................................3-344! -See above notes on Master in Dpu, PLCs on WAN (non-redundant EBs).........................................................3-44! Output Driver Buffer (OD) ...................................................................................................................................... 3-45! Atomic block Category: Buffers ..................................................................................................................3-45! Overview..................................................................................................................................................................3-45! Creating Simulated Points ................................................................................................................................3-46! Attributes .................................................................................................................................................................3-46! Configuration Download ..................................................................................................................................3-50! Configuration Notes: ................................................................................................................................................3-51! Outputs .............................................................................................................................................................3-51! Positioning Buffer (PB) ............................................................................................................................................ 3-54! Atomic block Category: Buffers ..................................................................................................................3-54! Overview..................................................................................................................................................................3-54! Creating Simulated Points ................................................................................................................................3-54! Attributes .................................................................................................................................................................3-54! Pulse I/O Buffer (PLSIO) ......................................................................................................................................... 3-57! Atomic block Category: Buffers ..................................................................................................................3-57! Overview..................................................................................................................................................................3-57! Creating Simulated Points ................................................................................................................................3-58! Attributes .................................................................................................................................................................3-58! Enumerated Attributes: ....................................................................................................................................3-62! Quad Pulse Adjusting Type Buffer (QPAT) ........................................................................................................... 3-63! Atomic block Category: Buffers ..................................................................................................................3-63! Overview..................................................................................................................................................................3-63! High and Low Limits .......................................................................................................................................3-63! Creating Simulated Points ................................................................................................................................3-64! Attributes .................................................................................................................................................................3-64! Resistance Temperature Detector Buffer (RTD) ................................................................................................... 3-68! Atomic block Category: Buffers ..................................................................................................................3-68! Overview..................................................................................................................................................................3-68! Creating Simulated Points ................................................................................................................................3-68! Attributes .................................................................................................................................................................3-69! Enumerated Attributes: ....................................................................................................................................3-70! Serial Buffer .............................................................................................................................................................. 3-73! Attributes .................................................................................................................................................................3-74! Binary PLC Interface ...............................................................................................................................................3-78! Using TestSerial program ........................................................................................................................................3-78! Thermocouple Buffer (TC) ..................................................................................................................................... -3-82! Atomic block Category: Buffers ..................................................................................................................3-82! Overview..................................................................................................................................................................3-82! Creating Simulated Points ................................................................................................................................3-82! Attributes .................................................................................................................................................................3-83!

Metso Automation

3- 2

Function Blocks Programmer's Ref. & User's Guide

278589

Buffers (Bufs)
Overview
Buffers are the interface between the software and hardware components of the system. Analog or digital input/outputs represent signals processed through the Model IOP family of input/output modules. Analog inputs may represent thermocouple and resistance temperature readings. Digital signals may represent AC or DC signals derived from contact closures or voltage level outputs from pressure switches or pushbuttons. From I/O modules, signals may enter the following buffer types each representing an available I/O module: Analog Input Buffer (AIB) Analog Output Buffer (AOB) Counter Timer Buffer (CB) Digital Input Buffer (DIB) Digital Output Buffer (DOB) Output Driver Buffer (OD) Positioner Buffer (PB) Pulse I/O Counter/Timer Buffer (PLSIO - 564 only) Quad Position Adjusting Type (QPAT) Resistance Temperature Detector (RTD) Serial Thermocouple (TC) Digital and high level (4-20 ma.) analog signals may be entered into digital and analog buffers, respectively. Analog Buffers may be configured to specify linearizations and related signal conditioning. Buffers represent all the available signals associated with any given I/O module. An Analog Input Module, for instance consists of up to 16 channels, each of which are assigned a signal span type. The entire buffer may be tagged and referenced through graphics displays. To tag an individual signal, use an Atag or Dtag atomic block. The Release 1.8 maxDPU supports two families of I/O cards the older Model 564 I/O and the new maxPAC series. The main difference in the families is that the maxPAC I/O is more compact, allowing up to 8 modules per I/O chassis, and maxPAC has convenient Phoenix block type wire termination. The following are the major differences: maxPAC Analog Input and Thermocouple Input cards contain 16 channels instead of 15. maxPAC RTD Input card contains 8 channels instead of 7.

Metso Automation

3- 3

Function Blocks Programmer's Ref. & User's Guide


maxPAC AI, TC, and RTD only consume 2 I/O bus addresses.

278589

maxPAC AO Output card has a new feature of read back to allow detection of open loop. Note: The maxPAC Counter Timer card is a replacement for the 564 PLSIO card with similar input functions, but without any output timing functions. Note: the AIBS should not be used any more. The AIB has a configuration option for the older 564 I/O. The AIB, AOB, RTD, and TC buffers now contain a new attribute that is used to configure the type of I/O installed. The attribute is called maxPAC. The following table summarizes the configuration options for these buffers.
Buffer Configuration Setup refere to the specific I/O Buffers in the following sections for details about the setting the configuration parameters.

Event Behavior
When an alarm occurs, an alarm event (Alm) is generated and an acknowledge event occurs when the alarm is acknowledged. If the alarm is acknowledged before the alarm condition is cleared, a clear event is generated at the time of the clearing of the alarm condition. However, if the alarm condition clears before the alarm is acknowledged, no clear event is generated. Only the acknowledge event is generated at the time of alarm acknowledgement. If the alarm condition clears before acknowledgement and the alarm appears again, no alarm or clear event is generated. The behavior of the events is slightly different than the analog taggers, digital taggers and MIO buffers. For more details on event behavior of analog and digital taggers, refer to Event Behavior in Chapter 7. For details of event behavior in MIO buffers, refer to Event Behavior in manual MIO Buffers Programmers Reference and Users Guide (278732).

Metso Automation

3- 4

Function Blocks Programmer's Ref. & User's Guide

278589

Analog Input Buffer (AIB)


Atomic block Category: Buffers

Overview
Use the Analog Input Buffer to make analog values from analog input cards available to other atomic blocks for their use. To configure this buffer, specify span types for up to 16 channels (8 channels maximum if the buffer is being applied for the HART enabled AI module, note: set the maxPAC parameter to 3 = Eight Channels). Use the type parameters (Tyxx) to specify the following available types:
1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 - Custom

When you enter a span type per channel, maxDPUTools automatically fills in default high and low range counts dependent on the maxPAC attribute option (for the 4 to 20 mA selection these values are 27305/5462 for the 16 channel input modules vs. 52428/10486 for the HART enabled 8 channel input module). To enter your own custom span type, use 10 for custom. For custom AI types, Ty0X = 10, calibrate methods can be used to place a milliampere setting into the Low Count (LoCnt0X) and High Count (HiCnt0X) range parameters. When a calibrate method is invoked, via a write from the HMI, the raw count (Rcnt0X) value is placed into the corresponding range parameter. The outputs of the buffer are values with a range of 0 to 100 i.e. percent. Each output quality is normally good, set to bad when: 1. The buffer cannot communicate with the module (all outputs bad quality). 2. The module detects a signal greater than its measurement range . 3. AI types 4-20 mA or 20-4 mA signal input is less than 100 counts (approximately 0.1 mA).

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems.

Metso Automation

3- 5

Function Blocks Programmer's Ref. & User's Guide


In addition, the buffer includes the following other parameters: Addr AltShDesc AltDesc Desc Gname Mode Enter a buffer address.

278589

Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO

ShDesc Tagname

Attributes
Attribute Alm_Ack SHCnt01 SHCnt02 SHCnt03 SHCnt04 SHCnt05 SHCnt06 SHCnt07 SHCnt08 SHCnt09 SHCnt10 SHCnt11 SHCnt12 SHCnt13 SHCnt14 SHCnt15 SHCnt16 Category Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Description Clears Unacknowledged state Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation

3- 6

Function Blocks Programmer's Ref. & User's Guide


SLCnt01 SLCnt02 SLCnt03 SLCnt04 SLCnt05 SLCnt06 SLCnt07 SLCnt08 SLCnt09 SLCnt10 SLCnt11 SLCnt12 SLCnt13 SLCnt14 SLCnt15 AI01 AI02 AI03 AI04 AI05 AI06 AI07 AI08 AI09 AI10 AI11 AI12 AI13 AI14 AI15 AI16 Addr AltDesc AltShDesc Cabinet Card Defeat Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Value of AI 1 Value of AI 2 Value of AI 3 Value of AI 4 Value of AI 5 Value of AI 6 Value of AI 7 Value of AI 8 Value of AI 9 Value of AI 10 Value of AI 11 Value of AI 12 Value of AI 13 Value of AI 14 Value of AI 15 Value of AI 16 Buffer Address Alternate Description Alternate Short Description Cabinet ID Card ID Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. Description Noncritical = 0 Normal = 1 Critical = 2 Generic Name High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Integer String String String Integer Float

278589

Desc FailoverTyp GName HiCnt01 HiCnt02 HiCnt03 HiCnt04 HiCnt05 HiCnt06 HiCnt07 HiCnt08 HiCnt09

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

String Float String Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation

3- 7

Function Blocks Programmer's Ref. & User's Guide


HiCnt10 HiCnt11 HiCnt12 HiCnt13 HiCnt14 HiCnt15 HiCnt16 LoCnt01 LoCnt02 LoCnt03 LoCnt04 LoCnt05 LoCnt06 LoCnt07 LoCnt08 LoCnt09 LoCnt10 LoCnt11 LoCnt12 LoCnt13 LoCnt14 LoCnt15 LoCnt16 maxPAC Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts 0 = Burst 1 = maxPAC style 2 = NonBurst 3 = HART Eight Channel 4= 16 Chan HART 1 = On Scan, 0 = Off Scan Rack ID Using Redundant I/O if True Short Description Value of Sim AI 1 Value of Sim AI 2 Value of Sim AI 3 Value of Sim AI 4 Value of Sim AI 5 Value of Sim AI 6 Value of Sim AI 7 Value of Sim AI 8 Value of Sim AI 9 Value of Sim AI 10 Value of Sim AI 11 Value of Sim AI 12 Value of Sim AI 13 Value of Sim AI 14 Value of Sim AI 15 Value of Sim AI 16 Sim State: 1 = On, 0 = Off Sim Status: 0 = Good, 1 = Bad TagName Channel 1 Span Type Channel 2 Span Type Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

278589

Mode Rack RedundantIO ShDesc SIMAI01 SIMAI02 SIMAI03 SIMAI04 SIMAI05 SIMAI06 SIMAI07 SIMAI08 SIMAI09 SIMAI10 SIMAI11 SIMAI12 SIMAI13 SIMAI14 SIMAI15 SIMAI16 SimST SimStatus TagName Ty01 Ty02

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Boolean Integer Boolean String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean String Integer Integer

Metso Automation

3- 8

Function Blocks Programmer's Ref. & User's Guide


Ty03 Ty04 Ty05 Ty06 Ty07 Ty08 Ty09 Ty10 Ty11 Ty12 Ty13 Ty14 Ty15 Ty16 UserRef Acked AlarmText AlmTime AltAlarmText CardType Checksum Date RawCnt01 RawCnt02 RawCnt03 RawCnt04 RawCnt05 RawCnt06 RawCnt07 RawCnt08 RawCnt09 RawCnt10 RawCnt11 RawCnt12 RawCnt13 RawCnt14 RawCnt15 RawCnt16 Status LastBadStatus Tmode TypeRead Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Channel 3 Span Type Channel 4 Span Type Channel 5 Span Type Channel 6 Span Type Channel 7 Span Type Channel 8 Span Type Channel 9 Span Type Channel 10 Span Type Channel 11 Span Type Channel 12 Span Type Channel 13 Span Type Channel 14 Span Type Channel 15 Span Type Channel 16 Span Type User Obj supplying Alarm Text Acknowledged state of alarm Alarm description Alarm occurrence time Alt Alarm description Card Type index Checksum of the revision Date of the revision Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Board Status Last Bad Board Status. Can be zeroed Text Mode Card type read data Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float String Time String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String Integer

278589

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O

Metso Automation

3- 9

Function Blocks Programmer's Ref. & User's Guide

278589

maxPAC: Model # 0 Burst 1 maxPAC IOP127 IOP302* IOP305* IOP301* IOP109 IOP307 IOP308 Part # 081815 181524 181525 181515 081824 181540 181542 # of Addresses 2 2 2 2 16 2 2 # of Channels 15 16 16 16 15 8 16 Description 564 Isolated High Level Analog Input Module (must be jumpered as defined for DPU4E in the 278567 ai_tc_rtd manual) maxPAC 4-20 mA Analog Input Module maxPAC Voltage Analog Input Module maxPAC Isolated Analog Input Module 564 High Level Analog Input Module maxPAC HART 8 Ch Analog Input Module

2 Nonburst 3 Eight Channel 4 16 Chan HART

maxPAC HART 16 Ch Analog Input Module * Note: these settings represent the normal use for modules in new installations. The IOP301, IOP302, and IOP305 can be jumpered to be compatible with older systems that used a 16 channel address mode. This mode of operation is not recommended for use in a DPU4F, but can be used if the 2- Nonburst mode is set. Refer to the appropriate hardware manual for jumper settings.

SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch

Metso Automation

3- 10

Function Blocks Programmer's Ref. & User's Guide


D10008 Buffer Address Conflict TyXX: 1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 - Custom

278589

Metso Automation

3- 11

Function Blocks Programmer's Ref. & User's Guide

278589

Analog Output Buffer (AOB)


Atomic block Category: Buffers

Overview
Use the Analog Output Buffer to make analog values from the atomic block algorithms available to the field. To configure this buffer, specify span types for up to 8 channels. Use the type parameters (Tyxx) to specify the following available types:
1 4 to 20 mA 2 20 to4 mA 10 - Custom

When you enter a span type per channel, maxDPUTools automatically fills in high and low range counts dependent on the maxPAC attribute option (for the 4 to 20 mA selection the high range value is 32767 for the 8 address modules vs. 65535 for the 2 address modules using the BURST option). To enter your own custom span type, use 10 for custom (Ty0X = 10 parameter). For custom AO types, you must enter your own high and low range counts. Calibrate methods can be used to place a milliampere setting into the Low Count (LoCnt0X) and High Count (HiCnt0X) range parameters. When a calibrate method is invoked, via a write from the HMI, the count value in SLCntX or in SHCntX is placed into the corresponding range parameter. The inputs of the buffer are values with a range of 0 to 100 i.e. percent.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary.

Metso Automation

3- 12

Function Blocks Programmer's Ref. & User's Guide


Desc Gname Mode

278589

Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack SLCnt01 SLCnt02 SLCnt03 SLCnt04 SLCnt05 SLCnt06 SLCnt07 SLCnt08 SHCnt01 SHCnt02 SHCnt03 SHCnt04 SHCnt05 SHCnt06 SHCnt07 SHCnt08 AO01 AO02 AO03 AO04 AO05 AO06 AO07 AO08 AI01 AI02 AI03 AI04 Category Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Input Input Input Input Input Input Input Input Output Output Output Output Description Clears Unacknowledged state Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Contains Value of AO01 Contains Value of AO02 Contains Value of AO03 Contains Value of AO04 Contains Value of AO05 Contains Value of AO06 Contains Value of AO07 Contains Value of AO08 Contains Value of AI01 Contains Value of AI02 Contains Value of AI03 Contains Value of AI04 Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float Float Float Float Float Float Float

Metso Automation

3- 13

Function Blocks Programmer's Ref. & User's Guide


AI05 AI06 AI07 AI08 FailoverTyp maxPAC UserRef Mode SimST Addr Cabinet Rack Card Defeat Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Contains Value of AI05 Contains Value of AI06 Contains Value of AI07 Contains Value of AI08 Noncritical = 0 Normal = 1 Critical = 2 0 = 564, 1 = maxPAC, 2 = Burst User Obj supplying Alarm Text 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID Disables all alarms when nonzero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Disable alarming when true (DPU4F only) Span Type Span Type Span Type Span Type Span Type Span Type Span Type Span Type Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Contains Value of AO01 Contains Value of AO02 Contains Value of AO03 Contains Value of AO04 Contains Value of AO05 Contains Value of AO06 Float Float Float Float Float Integer Integer Boolean Boolean Integer String Integer Integer Float

278589

Defeat Ty01 Ty02 Ty03 Ty04 Ty05 Ty06 Ty07 Ty08 LoCnt01 LoCnt02 LoCnt03 LoCnt04 LoCnt05 LoCnt06 LoCnt07 LoCnt08 HiCnt01 HiCnt02 HiCnt03 HiCnt04 HiCnt05 HiCnt06 HiCnt07 HiCnt08 SimAO01 SimAO02 SimAO03 SimAO04 SimAO05 SimAO06

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float

Metso Automation

3- 14

Function Blocks Programmer's Ref. & User's Guide


SimAO07 SimAO08 TagName GName SimStatus Desc ShDesc AltDesc AltShDesc RedundantIO TypeRead AIRawCnt01 AIRawCnt02 AIRawCnt03 AIRawCnt04 AIRawCnt05 AIRawCnt06 AIRawCnt07 AIRawCnt08 AlarmText AltAlarmText AlmTime Acked Status RawCnt01 RawCnt02 RawCnt03 RawCnt04 RawCnt05 RawCnt06 RawCnt07 RawCnt08 FreezeAO01 FreezeAO02 FreezeAO03 FreezeAO04 FreezeAO05 FreezeAO06 FreezeAO07 FreezeAO08 AO01Compare AO02Compare AO03Compare AO04Compare AO05Compare AO06Compare AO07Compare AO08Compare TMode LastBadStatus Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Contains Value of AO07 Contains Value of AO08 TagName Generic Name Sim Status: 0 = OK, 1 = Bad Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Card type read data Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Board Status Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Freeze AO01 if TRUE Freeze AO02 if TRUE Freeze AO03 if TRUE Freeze AO04 if TRUE Freeze AO05 if TRUE Freeze AO06 if TRUE Freeze AO07 if TRUE Freeze AO08 if TRUE Frozen VAlue of AO01 Frozen VAlue of AO02 Frozen VAlue of AO03 Frozen VAlue of AO04 Frozen VAlue of AO05 Frozen VAlue of AO06 Frozen VAlue of AO07 Frozen VAlue of AO08 Text Mode Last Bad Status. Can be zeroed Float Float String String Boolean String String String String Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer String String Time Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Float Float Float Float Float Float Float String Integer

278589

Metso Automation

3- 15

Function Blocks Programmer's Ref. & User's Guide


Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode maxPAC: Model # 0 Style 564 1 maxPAC 2 Burst IOP110 IOP110 IOP320 IOP321* IOP322* Part # 080403 080424 181545 181539 181535 # of Addresses 8 8 8 2 2 # of Channels 8 8 8 8 8

278589

Description 564 Analog Output 564 Analog Output maxPAC Analog Output maxPAC Isolated Analog Output maxPAC HART Analog Output

* Note: these settings represent the normal use for modules in new installations. The IOP321 and IOP322 can be jumpered to be compatible with older systems that used an 8 channel addressing mode. This mode is not recommended for use with a DPU4F, but can be used if the 1-maxPAC mode is set. When jumpered for the 8 channel addressing mode and configured as 1-maxPAC, the IOP321 and IOP322 can be used to replace an IOP110 or IOP320. Refer to the appropriate hardware manual for jumper settings. SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule

Metso Automation

3- 16

Function Blocks Programmer's Ref. & User's Guide


D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict TyXX: 1 4 to 20 mA 2 20 to4 mA 10 - Custom

278589

Metso Automation

3- 17

Function Blocks Programmer's Ref. & User's Guide

278589

Counter Timer Buffer (CB)


Atomic block Category: Buffers
Graphical Configurator Diagram

SendReset01 08

Counter Module Buffer

In01 08 InDelta01 08

Overview
This module buffer combination supports up to eight pulse input channels. Each channel can be independently configured for both function type and debounce time. The functions supported are: Mode 1 Frequency Input Frequency in counts per second in input1. Input 2 is not used. The following timebase mode selections for frequency measurement: 20 msecs, 50 msecs, 100 msecs, 250 msecs, 500 msecs, and 1 second. For the selected timebase, the Pulse I/O module measures frequency for the specified duration and normalizes each measurement to cycles per second. The measurement is updated at the end of each interval and the counts read by the DPU when the module is scanned represent the average of the last four measurements in cycles/second. The scan rate of the DPU is asynchronous from the scan rate by the module. The accuracy of the frequency measurement is +/-1 count for the one-second timebase. The accuracy for the other timebases is approximately the normalizing multiplier divided by 4. Thus for the shortest timebase (20 msecs), the accuracy is reduced to approximately +/-12 counts. In applications requiring fast frequency measurements, a period measurement (mode 7) can also be used to measure frequency. Since each count in the period measurement corresponds to 0.5 microseconds, the inverse of the period will yield a fast frequency

Metso Automation

3- 18

Function Blocks Programmer's Ref. & User's Guide

278589

measurement with an accuracy of 0.1% for a 2000Hz input and 0.25% for a 5000Hz. Mode 2 Simple Event Counter (default configuration) 32 bit accumulation of OFF-to-ON transitions in input1. Input2 provides an external accumulator reset. Mode 3 Up/Down Event Counter Net counts of OFF to ON transitions in input1 and input2. Input1 counts up and input2 counts down. Mode 4 On-Time Timer The timebase frequency (0.5 usec/count) is counted while input1 = ON. Input 2 provides an external reset. Mode 5 Up/Down Pulse Timer Counts corresponding to the on-time difference in input1 and input2. The timebase frequency (0.5 usec/count) is counted up while input1 = ON and counted down while input2 is ON. Mode 6 Pulse Width ON time of last detected pulse in input1, based on the timebase frequency (0.5 usec/count). Input2 is not used. The measurement is updated at the end of each detected pulse (ON to OFF transition). Counts read by DPU represent the average of the last four measurements. Mode 7 Period Time duration between the last onset of input1and the previous onset of input1. The timebase frequency (0.5 usec/count) is counted during this time. Input2 is not used. The measurement is updated at the end of each detected period. Counts read by DPU represent the average of the last four measurements.

Attributes
Attribute SendReset01 08 In01 In08 InDelta01InDelta08 Preset01 Preset08 HiCnt01 HiCnt08 Category Input Output Output Parameter Parameter Description/Application Send channel reset Actual value from Pulse Module Difference between the previous (scan 1) value returned by the module and the current retrieved value. Preset Value to apply per channel High count value for conversion. If both the HiCnt and LoCnt are 0 then the output will be unscaled raw counts. Type Boolean Float Float Float Long

Metso Automation

3- 19

Function Blocks Programmer's Ref. & User's Guide


LoCnt01 LoCnt08 FailOverTyp Mode Addr RedundantIO SIMIn01 SIMIn08 SimST SimStatus InMode01 InMode08 InBounce101 InBounce108 InBounce201 InBounce208 AlmAck Defeat Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Low count value for conversion Non-Critical = 0, Normal = 1, Critical = 2 1 = On Scan, 0 = Off Scan Buffer Address Using Redundant I/O if True Raw Counts for Sim CB 1 - 8 Sim State: 0 = Off, 1 = On, 2 = EU Sim Status: 0 = Good, other = Bad See Configuration word See Configuration word. 1 to 255 milliseconds debounce. 0 is no debounce See Configuration word. 1 to 255 milliseconds debounce. 0 is no debounce Acknowledge Alarm Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Generic Name TagName Short Description Description Alternate Description Cabinet ID Rack ID Card ID Alarm Description Alternate Alarm Description Time of alarm State of Alarm Acknowledge Text Mode Board Status Module model number Revision level of module firmware Day and Month of the revision of the module firmware Checksum of the firmware in the module Value returned by the module in response to a type read Indicator of channel reset status inputs Digital Input states in a word Reset Counts Relative time of the reset within atom execution detection Last Bad Board Status. Can be zeroed

278589
Long Enum Enum Long Boolean Float Enum Enum Long Time Time Boolean Float

GName TagName ShDesc Desc AltDesc Cabinet Rack Card AlarmText AltAlarmText AlmTime Acked Tmode Status CardType Revision Date Checksum TypeRead ChannelStats InputWord LastCount01 08 ResetRTime01ResetRTime08 LastBadStatus

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status

Text Text Text Text Text Text Long Long String String Time Boolean String Long Long Long Long Long Long Long Long Long Time Integer

Metso Automation

3- 20

Function Blocks Programmer's Ref. & User's Guide Critical Behaviors

278589

Outputs can be reset from an external signal. When a reset occurs, a bit will be set in the status word and the output value prior to the reset will be stored in an item addressable location. The DPU can indicate that it has been requested to reset the channel by writing a one in the appropriate bit location to the second half of the Status word. Each execution will read all channels using the high-speed burst and the Status word for resets. If a reset is indicated two item reads will be scheduled to read the reset channel and an item write to clear the bit indicating the reset information has been retrieved. Also with each execution a read of one of the configuration words or preset values will be retrieved and compared with the current value. If this does not match then the current value at the DPU will be written to the module. In sequence with the reads of the configuration data will be reads of the module identification information. This includes Model No., Revision, Checksum, and Date of revision. This is the same technique used for scanning the TC and RTD modules currently.

Metso Automation

3- 21

Function Blocks Programmer's Ref. & User's Guide

278589

Digital Input Buffer (DIB)


Atomic block Category: Buffers
Graphical Configurator Diagram

Overview
Use the Digital Input Buffer to make digital values from digital input cards available to other atomic blocks for their use. To configure this buffer, specify a relative debounce time for up to 16 channels using the DBTMxx parameter, where xx is the channel number from 01 to 16. The value of a DIXX output will not change unless the incoming field value remains in the changed state for a time equal to its debounce time.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O.

RedundantIO

Metso Automation

3- 22

Function Blocks Programmer's Ref. & User's Guide


ShDesc Tagname

278589

Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

Attributes
Attribute Alm_Ack DI01 DI02 DI03 DI04 DI05 DI06 DI07 DI08 DI09 DI10 DI11 DI12 DI13 DI14 DI15 DI16 Addr AltDesc AltShDesc Cabinet Card DBTM01 DBTM02 DBTM03 DBTM04 DBTM05 DBTM06 DBTM07 DBTM08 DBTM09 DBTM10 DBTM11 DBTM12 DBTM13 DBTM14 DBTM15 DBTM16 Defeat Category Command Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Description Clears Unacknowledged state Value of input 01 Value of input 02 Value of input 03 Value of input 04 Value of input 05 Value of input 06 Value of input 07 Value of input 08 Value of input 09 Value of input 10 Value of input 11 Value of input 12 Value of input 13 Value of input 14 Value of input 15 Value of input 16 Buffer Address Alternate Description Alternate Short Description Cabinet ID Card ID Debounce time for DI01 Debounce time for DI02 Debounce time for DI03 Debounce time for DI04 Debounce time for DI05 Debounce time for DI06 Debounce time for DI07 Debounce time for DI08 Debounce time for DI09 Debounce time for DI10 Debounce time for DI11 Debounce time for DI12 Debounce time for DI13 Debounce time for DI14 Debounce time for DI15 Debounce time for DI16 Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at Data Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer String String String Integer Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Float

Metso Automation

3- 23

Function Blocks Programmer's Ref. & User's Guide


nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Description Noncritical = 0 Normal = 1 Critical = 2 Generic Name On Scan = 1 Off Scan = 0 Rack ID Using Redundant I/O if True Short Description Value of Simulated input 01 Value of Simulated input 02 Value of Simulated input 03 Value of Simulated input 04 Value of Simulated input 05 Value of Simulated input 06 Value of Simulated input 07 Value of Simulated input 08 Value of Simulated input 09 Value of Simulated input 10 Value of Simulated input 11 Value of Simulated input 12 Value of Simulated input 13 Value of Simulated input 14 Value of Simulated input 15 Value of Simulated input 16 Sim State: 1 = On, 0 = Off Sim Status: 0 = Good, 1 = Bad Contains state of SimDI bits Is this a Slow scan DI TagName User Obj supplying Alarm Text Acknowledged state of alarm Alarm description Alarm occurrence time Alt Alarm description Contains state of DI bits Dtag svc handle for input 01 Dtag svc handle for input 02 Dtag svc handle for input 03 Dtag svc handle for input 04 Dtag svc handle for input 05 Dtag svc handle for input 06 Dtag svc handle for input 07 Dtag svc handle for input 08 Dtag svc handle for input 09 Dtag svc handle for input 10 Dtag svc handle for input 11 Dtag svc handle for input 12

278589

Desc FailoverTyp GName Mode Rack RedundantIO ShDesc SimDI01 SimDI02 SimDI03 SimDI04 SimDI05 SimDI06 SimDI07 SimDI08 SimDI09 SimDI10 SimDI11 SimDI12 SimDI13 SimDI14 SimDI15 SimDI16 SimST SimStatus SimWord SlowDIs TagName UserRef Acked AlarmText AlmTime AltAlarmText DIWord DtagHan01 DtagHan02 DtagHan03 DtagHan04 DtagHan05 DtagHan06 DtagHan07 DtagHan08 DtagHan09 DtagHan10 DtagHan11 DtagHan12

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status

String Float String Integer Integer Boolean String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Integer Integer String Integer Float String Time String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation

3- 24

Function Blocks Programmer's Ref. & User's Guide


DtagHan13 DtagHan14 DtagHan15 DtagHan16 Status TMode TypeRead LastBadStatus Status Status Status Status Status Status Status Status Dtag svc handle for input 13 Dtag svc handle for input 14 Dtag svc handle for input 15 Dtag svc handle for input 16 Board Status Text Mode Card type read data Last Bad Board Status. Can be zeroed Integer Integer Integer Integer Integer String Integer Integer

278589

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation

3- 25

Function Blocks Programmer's Ref. & User's Guide

278589

Digital Output Buffer (DOB)


Atomic block Category: Buffers
Graphical Configurator Diagram

Overview
Use the Digital Output Buffer to make digital values from the atomic block algorithms available to the field.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited.

RedundantIO ShDesc

Metso Automation

3- 26

Function Blocks Programmer's Ref. & User's Guide


Tagname

278589

Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

Attributes
Attribute Alm_Ack DO01 DO02 DO03 DO04 DO05 DO06 DO07 DO08 DO09 DO10 DO11 DO12 DO13 DO14 DO15 DO16 UserRef Mode SimST FailoverTyp Addr SimWord Cabinet Rack Card Defeat Category Command Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Description Clears Unacknowledged state Value of output 1 Value of output 2 Value of output 3 Value of output 4 Value of output 5 Value of output 6 Value of output 7 Value of output 8 Value of output 9 Value of output 10 Value of output 11 Value of output 12 Value of output 13 Value of output 14 Value of output 15 Value of output 16 User Obj supplying Alarm Text 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Noncritical = 0 Normal = 1 Critical = 2 Buffer Address Contains state of SimDO bits Cabinet ID Rack ID Card ID Disables all alarms when nonzero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) TagName Generic Name Sim Status: 0 = Good, 1 = Bad Simulated Value of output 1 Simulated Value of output 2 Simulated Value of output 3 Simulated Value of output 4 Simulated Value of output 5 Simulated Value of output 6 Simulated Value of output 7 Simulated Value of output 8 Data Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean Float Integer Integer String Integer Integer Float

TagName GName SimStatus SimDO01 SimDO02 SimDO03 SimDO04 SimDO05 SimDO06 SimDO07 SimDO08

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Metso Automation

3- 27

Function Blocks Programmer's Ref. & User's Guide


SimDO09 SimDO10 SimDO11 SimDO12 SimDO13 SimDO14 SimDO15 SimDO16 Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked DOWord TypeRead Status FreezeDO01 FreezeDO02 FreezeDO03 FreezeDO04 FreezeDO05 FreezeDO06 FreezeDO07 FreezeDO08 FreezeDO09 FreezeDO10 FreezeDO11 FreezeDO12 FreezeDO13 FreezeDO14 FreezeDO15 FreezeDO16 DO01Compare DO02Compare DO03Compare DO04Compare DO05Compare DO06Compare DO07Compare DO08Compare DO09Compare DO10Compare DO11Compare DO12Compare DO13Compare DO14Compare DO15Compare DO16Compare Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Simulated Value of output 9 Simulated Value of output 10 Simulated Value of output 11 Simulated Value of output 12 Simulated Value of output 13 Simulated Value of output 14 Simulated Value of output 15 Simulated Value of output 16 Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Contains state of DO bits Card type read data Board Status Freeze DO01 if TRUE Freeze DO02 if TRUE Freeze DO03 if TRUE Freeze DO04 if TRUE Freeze DO05 if TRUE Freeze DO06 if TRUE Freeze DO07 if TRUE Freeze DO08 if TRUE Freeze DO09 if TRUE Freeze DO10 if TRUE Freeze DO11 if TRUE Freeze DO12 if TRUE Freeze DO13 if TRUE Freeze DO14 if TRUE Freeze DO15 if TRUE Freeze DO16 if TRUE DO01 if FreezeDO01 TRUE DO02 if FreezeDO02 TRUE DO03 if FreezeDO03 TRUE DO04 if FreezeDO04 TRUE DO05 if FreezeDO05 TRUE DO06 if FreezeDO06 TRUE DO07 if FreezeDO07 TRUE DO08 if FreezeDO08 TRUE DO09 if FreezeDO09 TRUE DO10 if FreezeDO10 TRUE DO11 if FreezeDO11 TRUE DO12 if FreezeDO12 TRUE DO13 if FreezeDO13 TRUE DO14 if FreezeDO14 TRUE DO15 if FreezeDO15 TRUE DO16 if FreezeDO16 TRUE Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String Boolean String String Time Float Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

278589

Metso Automation

3- 28

Function Blocks Programmer's Ref. & User's Guide


TMode LastBadStatus Status Status Text Mode Last Bad Board Status. Can be zeroed String Integer

278589

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation

3- 29

Function Blocks Programmer's Ref. & User's Guide

278589

Ethernet Buffer (EB)


Atomic block Category: Buffers

Ethernet Buffer
EBIn01 Ethernet Messages

Graphical Configurator Diagram

Overview
The Ethernet Buffer (EB) is used with Modbus, Modbus Slave or ABEIP custom blocks from the standard libraries to provide Ethernet communication with PLC devices. Unlike other buffers, the EB does not have an associated I/O card. It uses the A or B network of the DPU4F. Like the FB, it typically runs in the critical time class. It is not recommended to run the EB faster than 20 ms. EBs are available in release version 4.4. They are not supported in earlier maxSTATION and DPU releases. They are not available in DPU4E. For DPU versions between 4.4 and 4.4.0.3 a DPU4F supports from 1 to 5 EBs. The Graphical Configurator and maxDPUTOOLS will not limit the number of Ethernet buffers but only the first five are capable of Ethernet communication. One EB supports a single PLC link. Beginning with DPU version 4.4.1, the Ethernet Buffer includes redundancy capability. In support of this feature, the following attributes have been added which are explained in the table below. RedundantRole RoutMaskCustom

Metso Automation

3- 30

Function Blocks Programmer's Ref. & User's Guide

278589

Also, in this release the maximum number of EBs is increased from 5 to 6. Each redundant pair consumes two of the six EBs for a maximum of three pairs per DPU4F. A configuration may include any combination of non-redundant (single) or redundant) (paired) EBs that total at most six. In order to implement redundancy within the maxDPUTools configuration, two instances of the EB are created for each link. The EBIn01 attribute of both EBs would be wired to the same upstream block (usually a MUX). In one instance, the RedundantRole is be set to Primary and in the other it is set to Secondary. The Mode, NetMode, PortNumber, Protocol and SvcTimeBase attributes must be the same for both blocks. The IpAddr, IpAddrSec, NetAssign, RoutMask and RoutMaskCustom attribute values depend on the location and address of the associated redundant PLC(s). Although there are many possibilities, the general rules for Ip Address assignment are applicable and must be adhered to for the PLC. A complete discussion of Ip Addressing and Net masks is beyond the scope of this document. In cases where a route mask is required, the RoutMask attribute used to allow the selection of the common Class A, B, C ip addresses. This has now been expanded to include a custom option that will allow a custom mask to be defined in the RoutMaskCustom attribute. This will allow greater flexibility in PLC address assignment by taking advantage of subnetting. The actual failover mechanism from the Primary to the Secondary EB is implemented upstream using custom function blocks from the SCM and application (i.e. Modbus) libraries. These are described in the manual 278718 DPU4F Links Configuration Guide. Notes: As of version 4.4.1, the Modbus Slave Library Function Blocks do not support redundant Ethernet Buffers. The Ethernet Buffer does not function in a Virtual DPU. A configuration containing an EB can be downloaded to a VDPU. However it will not perform any Ethernet communication.

There can be a variety of network configurations between the DPU4F and PLCs. Examples below will show EB attribute assignments for several network configurations with both non-redundant and redundant EB. See manual 278718 DPU4F Links Configuration Guide for additional link specific configuration information.

Attributes
Attribute EBIn01 Input DataType Description Time Almost always references a MUX FBOUT (could be connected to a single custom block) Status Description

Attribute

DataType

Metso Automation

3- 31

Function Blocks Programmer's Ref. & User's Guide


Acked AlarmText AlmTime AltAlarmText AnyAlarm ErrorsRcv ErrorsSock ErrorsTime MsgsPerSec MsgsRcvd MsgsSent Out OutSve OutChan Port1 Status ThrdState Tmode Boolean String Time String Boolean Long Long Long Long Long Long Time Long Long Long Long Long String State of Alarm Acknowledge Alarm Description Time of alarm Alternate Alarm Description No Alarm=0 Alarm=1 Received a message but out of sync with custom blocks Socket error occurred, see Status Response was not received by Timeout Successful messages per second Number of messages received Number of messages sent Selected input time Selected input service Selected input channel (always 1 for EB) Selector for link spy (hidden) Last socket error (see table below) 0 indicates Ethernet thread is running. A non-zero value indicates that the EB is not running. (Possibly more than 5 were assigned) Text of mode attribute (OffScan, OnScan) Parameters Description Alternate description Alternate short description Disables display of alarms when > 0 Description Generic name IP address to connect to (master) or to allow permission (slave) IP for routing Specifies A or B network and if routing is necessary. If communicating with a WAN, the router setting is needed. For switch to switch communication, the local setting is used. Master or Slave mode. In master/client mode, the EB will try to connect to the slave. In slave/server mode, the EB opens a listening socket and waits for the master to connect to it. Ethernet port number. Used when connecting to a slave or setting up a listening socket. Enumerated value: 0-ModBus, 1-Other Enumerated value 1026-Primary, 1028-Secondary Specifies an IP mask that is used when setting up a route. Enumerated value: 0 None 1 255.0.0.0 (Class A) 2 - 255.255.0.0 (Class B) 3 255.255.255.0 (Class C ) 4 - Custom Use value in RoutMaskCustom Four Octet dotted value of subnet mask.

278589

Attribute AltDesc AltShDesc Defeat Desc Gname IpAddr IpAddrSec NetAssign

DataType String String Float String String String String Long

NetMode

Long

PortNumber Protocol RedundantRole RoutMask

Long Long Long Long

RoutMaskCustom

String

Metso Automation

3- 32

Function Blocks Programmer's Ref. & User's Guide


e.g. 255.255.255.128 Specifies an IP mask that is used when setting up a route. Long Sim State should be set to OFF. Currently no method to simulate Ethernet transactions within the EB. Float Simulation status String Tagname Time Timeout value in seconds. Should not be zero. Recommended to be 2 or 3. Long Reference to alarm text object (AlmTagText) Commands DataType Description Float Clears unacknowledged state Float Resets message and error counters Long

278589

RoutMask SimST SimStatus TagName Timeout UserRef Attribute Alm_Ack ResetStats

Status attribute possible error codes: 10004 10009 10013 10014 10022 10024 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 A blocking operation was interrupted by a call to WSACancelBlockingCall The file handle supplied is not valid. An attempt was made to access a socket in a way forbidden by its access permissions. The system detected an invalid pointer address in attempting to use a pointer argument in a call. An invalid argument was supplied. Too many open sockets. A non-blocking socket operation could not be completed immediately. A blocking operation is currently executing. An operation was attempted on a non-blocking socket that already had an operation in progress. An operation was attempted on something that is not a socket. A required address was omitted from an operation on a socket. A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself. A protocol was specified in the socket function call that does not support the semantics of the socket type requested. An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call. The requested protocol has not been configured into the system, or no implementation for it exists. The support for the specified socket type does not exist in this address family. The attempted operation is not supported for the type of object referenced. The protocol family has not been configured into the system or no implementation for it exists. An address incompatible with the requested protocol was used. Only one usage of each socket address (protocol/network address/port) is normally permitted. The requested address is not valid in its context.

Metso Automation

3- 33

Function Blocks Programmer's Ref. & User's Guide


10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 A socket operation encountered a dead network. A socket operation was attempted to an unreachable network. The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress. An established connection was aborted by the software in your host machine. An existing connection was forcibly closed by the remote host. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. A connect request was made on an already connected socket. A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call. Too many references to some kernel object. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. No connection could be made because the target machine actively refused it. Cannot translate name. Name component or name was too long. A socket operation failed because the destination host was down. A socket operation was attempted to an unreachable host. Cannot remove a directory that is not empty. A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously. Ran out of quota. Ran out of disk quota. File handle reference is no longer available. Item is not available locally.

278589

Metso Automation

3- 34

Function Blocks Programmer's Ref. & User's Guide Configuration Examples: Master in Dpu, PLCs on LAN (non-redundant EBs)
PLC1 190.30.20.10 Port 507 PLC2 200.40.20.10 Port 509

278589

LAN Switch

maxNET B Switch

EB1 IpAddr 190.30.20.10 IpAddrSec 190.30.1.1 PortNumber 507 NetAssign Local B RoutMask 255.255.0.0 NetMode Master EB2 IpAddr 200.40.20.10 IpAddrSec 200.40.1.1 PortNumber 509 NetAssign Local B RoutMask 255.255.0.0 NetMode Master

DPU4F EB1 EB2


(non-redundant)

NOTES: - IpAddrSec should be a unique IP address for the PLC LAN network. The DPU4F adds this IP to its appropriate network for routing. The address is bumped by 1 for the secondary dpu. - If the PLCs fall under the same network mask (ex. 190.30.20.10, 190.30.20.15), IpAddrSec only has to be set for one EB. The other can be left blank although it doesnt hurt to set both.

Master in Dpu, PLCs on WAN (non-redundant EBs)


PLC1 190.30.20.10 Port 505 PLC2 190.30.20.15 Port 506 Router WAN 190.30.100.100 LAN 172.17.1.1 EB1 IpAddr 190.30.20.10 IpAddrSec 172.17.1.1 PortNumber 505 NetAssign Router B RoutMask 255.255.0.0 NetMode Master EB2 IpAddr 190.30.20.15 IpAddrSec 172.17.1.1 PortNumber 506 NetAssign Router B RoutMask 255.255.0.0 NetMode Master
3- 35

maxNET B Switch

DPU4F EB1 EB2


(non-redundant)

Metso Automation

Function Blocks Programmer's Ref. & User's Guide


NOTES:

278589

- A WAN connection into the maxDNA must use the firewall capability of the router. Firewall settings should be added that prohibit all TCP and UDP transactions from and to the WAN. Since firewall setting typically can be layered, specific IP address ranges can be enabled (example shown below).

- IpAddrSec attribute is required in this case since the DPU4F uses it to establish a route.

Master in Dpu, PLCs on maxDNA network A or B (non-redundant EBs)


PLC1 172.16.150.90 Port 502

maxNET A Switch

DPU4F EB1

EB1 IpAddr 172.16.150.90 IpAddrSec blank PortNumber 502 NetAssign Local A RoutMask None NetMode Master

NOTE: It is not recommended to put PLCs on the maxNET A or B network.

Metso Automation

3- 36

Function Blocks Programmer's Ref. & User's Guide Modbus Slave in Dpu, Master on maxDNA network A or B (non-redundant EBs)
maxLINKS 172.17.160.90 Selector: 172.17.1.72.509

278589

maxNET B Switch

DPU4F
172.16.1.72

EB1

EB1 IpAddr 172.17.160.90 IpAddrSec blank PortNumber 509 NetAssign Local B RoutMask None NetMode Slave

NOTE: It is not recommended to put PLCs on the maxNET A or B network.

Modbus Slave in Dpu, Master on LAN (non-redundant EBs)


Master 190.30.20.10 Connect to: 190.30.1.222:505 Master 190.30.20.15 Connect to: 190.30.1.222:506

LAN Switch

maxNET B Switch

EB1 IpAddr 190.30.20.10 IpAddrSec 190.30.1.222 PortNumber 505 NetAssign Local B RoutMask 255.255.0.0 NetMode Slave EB2 IpAddr 190.30.20.15 IpAddrSec 190.30.1.222 PortNumber 506 NetAssign Local B RoutMask 255.255.0.0 NetMode Slave

DPU4F EB1 EB2


(non-redundant)

Metso Automation

3- 37

Function Blocks Programmer's Ref. & User's Guide

278589

NOTES: - PCs on the LAN sometimes need additional network settings such as adding a route or adding an IP address to the IP properties.

Modbus Slave in Dpu, Master on WAN (non-redundant EBs)


PC 190.30.20.10 maxLINKS Selector: 172.17.1.72.509 maxLINKS Selector: 172.17.1.72.510 Router WAN 190.30.100.100 LAN 172.17.1.1

maxNET B Switch

EB1 IpAddr 190.30.20.10 IpAddrSec 172.17.1.1 PortNumber 509 NetAssign Router B RoutMask 255.255.255.0 NetMode Slave EB2 IpAddr 190.30.20.10 IpAddrSec 172.17.1.1 PortNumber 510 NetAssign Router B RoutMask 255.255.255.0 NetMode Slave

DPU4F EB1 EB2


(non-redundant)

NOTES: - It may be necessary to add a route in a PC containing the masters. From the command line: route add 190.30.20.10 mask 255.255.255.255 172.17.1.1 IF 3 - In the test setup above, it was necessary to add 2 virtual servers in the router to allow routing from the WAN to the 172.17 network (Private IP=172.17.1.72, Private Port 509, Public Port 509, Both protocol types). - Make sure the router is updated with the latest firmware. The D-Link router used for testing generated checksum errors from WAN to LAN before its firmware was updated.

Metso Automation

3- 38

Function Blocks Programmer's Ref. & User's Guide Master in Dpu, PLCs on LAN (redundant EBs)
PLC Primary 192.168.0.30 Port 502 PLC Secondary 192.168.0.40 Port 502

278589

LAN Switch

maxNET A Switch

EB_Primary IpAddr 192.168.0.30 IpAddrSec 192.168.0.140 PortNumber 502 NetAssign Local A RoutMask 255.255.255.0 NetMode Master RedundantRole - Primary EB_Secondary IpAddr 192.168.0.40 IpAddrSec 192.168.0.140 PortNumber 502 NetAssign Local A RoutMask 255.255.255.0 NetMode Master RedundantRole - Secondary

DPU4F EB_Primary EB_Secondary


(redundant)

NOTES: - In this example, both the primary and secondary PLCs are on the same network via maxNETA. - IpAddrSec should be a unique IP address for the PLC LAN network. The DPU4F adds this IP to its appropriate network for routing. The address is bumped by 1 for the secondary dpu. - If the PLCs fall under the same network mask (ex. 190.30.20.10, 190.30.20.15), IpAddrSec only has to be set for one EB. The other can be left blank although it doesnt hurt to set both.

Metso Automation

3- 39

Function Blocks Programmer's Ref. & User's Guide Master in Dpu, PLCs on LAN (redundant EBs)
PLC Primary 192.168.0.30 Port 502 PLC Secondary 192.168.1.30 Port 502

278589

LAN Switch

LAN Switch

EB_Primary IpAddr 192.168.0.30 IpAddrSec 192.168.0.140 PortNumber 502 NetAssign Local A RoutMask 255.255.255.0 NetMode Master RedundantRole - Primary EB_Secondary IpAddr 192.168.1.30 IpAddrSec 192.168.1.140 PortNumber 502 NetAssign Local B RoutMask 255.255.255.0 NetMode Master RedundantRole - Secondary

maxNET A Switch

maxNET B Switch

DPU4F EB_Primary EB_Secondary


(redundant)

NOTES: - In this example, both the primary and secondary PLCs are on different networks. - The PLCs are using Class C Ip Addresses. Because they are on different networks their IP addresses must have different subnets. The primary uses subnet 192.168.0.x and the secondary uses 192.168.1.x. The subnetmask for Class C addresses is 255.255.255.0. - IpAddrSec for each EB must be on the same subnet as its corresponding PLC. Therefore the IpAddrSec values are 192.168.0.140 and 192.168.1.140 for the Primary and Secondary respectively. The DPU4F adds this IP to its appropriate network for routing. The address is bumped by 1 for the secondary dpu.

Metso Automation

3- 40

Function Blocks Programmer's Ref. & User's Guide Master in Dpu, PLCs on LAN (redundant EBs)
PLC Primary 192.168.0.30 Port 502 PLC Secondary 192.168.0.158 Port 502 EB_Primary IpAddr 192.168.0.30 (Hex C0. A8.0.1E) IpAddrSec 192.168.0.1 (Hex C0. A8.00.01) LAN Switch LAN Switch

278589

PortNumber 502 NetAssign Local A RoutMask 4- Custom RoutMaskCustom 255.255.255.128 (Hex FF.FF.FF.80) NetMode Master RedundantRole - Primary EB_Secondary IpAddr 192.168.0.158 (Hex C0. A8.0.9E)

maxNET A Switch

maxNET B Switch

DPU4F EB_Primary EB_Secondary


(redundant)

IpAddrSec 192.168.0.129 (Hex C0. A8.00.81) PortNumber 502 NetAssign Local B RoutMask 4- Custom RoutMaskCustom 255.255.255.128 (Hex FF.FF.FF.80) NetMode Master RedundantRole - Secondary

NOTES:

- In this example, both the primary and secondary PLCs are to be on different networks. - The PLCs are using Class C Ip Addresses. Because they are to be on different networks their IP addresses must have different subnets. However, the standard Class C subnet mask (255.255.255.0) is not sufficient for separating the given PLC addresses into two subnets. Therefore it must be customized. The RoutMask is set to 4-Custom and the RoutMaskCustom is set to 255.255.255.128 ( Hex FF.FF.FF.80). The subnet mask now includes the high order bit of the last octet. Since the high order bit of the last octet is 0for the primary (1E = 0001 1110) and 1 in the secondary (9E = 1001 1110) the addresses will be on different networks as required. The IpAddrSec must also conform to the RoutMaskCustom (Primary : 01 = 0000 0001, Secondary : 81 = 1000 0001).

Metso Automation

3- 41

Function Blocks Programmer's Ref. & User's Guide Master in Dpu, PLCs on LAN (redundant EBs)
PLC Primary 192.168.0.30 Port 502 PLC Secondary 192.168.0.158 Port 502 EB_Primary IpAddr 192.168.0.30 (Hex C0. A8.0.1E) IpAddrSec 192.168.0.1 (Hex C0. A8.00.01) LAN Switch LAN Switch

278589

maxNET A Switch

maxNET B Switch

PortNumber 502 NetAssign Local A RoutMask 4- Custom RoutMaskCustom 255.255.255.128 (Hex FF.FF.FF.80) NetMode Master RedundantRole - Primary EB_Secondary IpAddr 192.168.0.158 (Hex C0. A8.0.9E)

DPU4F EB_Primary EB_Secondary


(redundant)

IpAddrSec 192.168.0.129 (Hex C0. A8.00.81) PortNumber 502 NetAssign Local B RoutMask 4- Custom RoutMaskCustom 255.255.255.128 (Hex FF.FF.FF.80) NetMode Master RedundantRole - Secondary

NOTES: - In this example, both the primary and secondary PLCs are to be on different networks. - The PLCs are using Class C Ip Addresses. Because they are to be on different networks their IP addresses must have different subnets. However, the standard Class C subnet mask (255.255.255.0) is not sufficient for separating the given PLC addresses into two subnets. Therefore it must be customized. The RoutMask is set to 4-Custom and the RoutMaskCustom is set to 255.255.255.128 ( Hex FF.FF.FF.80). The subnet mask now includes the high order bit of the last octet. Since the high order bit of the last octet is 0for the primary (1E = 0001 1110) and 1 in the secondary (9E = 1001 1110) the addresses will be on different networks as required. The IpAddrSec must also conform to the RoutMaskCustom (Primary : 01 = 0000 0001, Secondary : 81 = 1000 0001).

Metso Automation

3- 42

Function Blocks Programmer's Ref. & User's Guide Master in Dpu, PLCs on WAN (redundant EBs)
PLC Primary 192.168.0.30 Port 502 PLC Secondary 192.168.0.40 Port 502 Router WAN 192.168.0.01 LAN 172.17.200.218

278589

maxNET B Switch

DPU4F EB_Primary EB_Secondary


(redundant)

EB1 IpAddr 192.168.0.30 IpAddrSec 172.17.200.218 PortNumber 502 NetAssign Router B RoutMask 255.255.255.0 NetMode Master EB2 IpAddr 192.168.0.40 IpAddrSec 172.17.200.218 PortNumber 502 NetAssign Router B RoutMask 255.255.255.0 NetMode Master

NOTES: - In this example both the Primary and Secondary PLCs are on the same network. - A WAN connection into the maxDNA must use the firewall capability of the router. Firewall settings should be added that prohibit all TCP and UDP transactions from and to the WAN. Since firewall setting typically can be layered, specific IP address ranges can be enabled (example shown below). -See above notes on Master in Dpu, PLCs on WAN (non-redundant EBs).

Metso Automation

3- 43

Function Blocks Programmer's Ref. & User's Guide Master in Dpu, PLCs on WAN (redundant EBs)
PLC Primary 192.168.0.30 Port 502 PLC Secondary 192.168.1.30 Port 502

278589

WAN 192.168.0.1 Router LAN 172.16.200.218

WAN 192.168.1.2 Router LAN 172.17.200.218 maxNET B Switch

EB1 IpAddr 192.168.0.30 IpAddrSec 172.16.200.218 PortNumber 502 NetAssign Router A RoutMask 255.255.255.0 NetMode Master EB2 IpAddr 192.168.0.40 IpAddrSec 172.17.200.218 PortNumber 502 NetAssign Router B RoutMask 255.255.255.0 NetMode Master

maxNET A Switch

DPU4F EB_Primary EB_Secondary


(redundant)

NOTES: - In this example both the Primary and Secondary PLCs are on the different networks. - A WAN connection into the maxDNA must use the firewall capability of the router. Firewall settings should be added that prohibit all TCP and UDP transactions from and to the WAN. Since firewall setting typically can be layered, specific IP address ranges can be enabled (example shown below). -See above notes on Master in Dpu, PLCs on WAN (non-redundant EBs).

Metso Automation

3- 44

Function Blocks Programmer's Ref. & User's Guide

278589

Output Driver Buffer (OD)


Atomic block Category: Buffers

InDrv PVDisplay PosDisplay SetDisplay StatDisplay SimAI

Output Driver Buffer

Out FrcbkOut SetterFBOut IntfcStatus ElemStatus ModeCommand SimOut OutType

Graphical Configurator Diagram

Overview
The Output Driver Buffer provides the interface with the Output Driver Hardware Module to control field devices when a hand/auto station is required providing: Output Control by MaxDPU Configuration atoms Display values for Output Driver Control Stations Commands for Output Driver operations and indications Forceback for atoms operating the Output Driver Operation coordination between Output Driver Control Station and Graphics operation for Element Demand, Mode, and Control Setpoint or Bias. Configuration parameters download MaxDPU Configuration control status download. Output Driver and controlled device Status Indication Trigger DPU Failover predicated on Output Driver Status This buffer uses complex inputs and outputs with multibit combined values. Custom Function Blocks using the BitPack, BitUnPack, and CMPT atomic blocks (to translate and construct the complex attributes) should be designed to drive this module.

Metso Automation

3- 45

Function Blocks Programmer's Ref. & User's Guide


Creating Simulated Points

278589

This atomic block includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameter to 1 (to use raw counts from 0 to 16384) or 2 (to work with Output% from 0 to 100%), the DPU uses simulated values rather than actual values from an I/O module. SimStatus lets you simulate hardware problems as Good (0) or Bad (1).

Attributes
Outputs Name Out FrcbkOut Type Float Complex Description/Application = Actual position feedback from Output Driver for OD Type PAT or DIAT = InDrvVAL (input) for OD Type CAT or DAT (See Configuration Notes below) Forceback for Output operation indicates current conditions in the module. VAL = Output Driver Module Output% target (CAT/PAT/DAT) from InDrvVAL = Output Driver module Actual position (DIAT) (See Configuration Notes below) RLO, RHI = 0, 100 STAT = Directional blocks and Value forceback (no velocity limits): Directional blocks = combined conditions from directional block bits in InDrvSTAT and module limit switches or Range Limits.. (Inc = 4bit, Dec = 8bit) Value Forceback (16bit) is set in response to Manual Request, Output Change Flag, or Overrides. RST = 0 except 1 when Output Change Flag (to distinguish from Manual request) AREF = 0 TYPE = 17 Forceback for Setter (Setpoint or Bias) Operation VAL = SetDisplay input when not Setter Change Flag = Output Driver Setter when Setter Change Flag true RLO, RHI = SetLoLim, SetHiLim parameters STAT = Value Forceback when Setter Change Flag RST = 0 except 1 when Setter Change Flag AREF = 0 TYPE = 17 Output Driver Item D1 Status Word (Read by BitUnPack block in custom control function) Output Driver Status Word (Read by BitUnPack block in custom control function) Discrete alarm conditions Mode Change Command time stamped for use as a command in other Functions.. Value: Auto = 1, Manual = 0. Command time stamp is reiterated until the ModeChngRst bit of InDrv (bit3) is turned on. It will act as a one shot if the bit is left on. Interface Status Word (IntfcStatus) Manual request from hand station Local Switch, Calibrate mode, both inc and dec Blocks, both overrides, or pulsed on return from Sim mode. Mode change flag is set by pushing either mode button on hand station and cleared by ModeChngRst bit in InDrvStat (bit3) Request auto mode indicates which mode button was last pressed 0 = Manual 1 = Auto.

SetterFBOut

Complex

IntfcStatus ElemStatus AlarmCode ModeCommand

Integer Integer Integer Integer

Bit01 Bit02 Bit03

Metso Automation

3- 46

Function Blocks Programmer's Ref. & User's Guide


Bit04 Bit05 Bit06 Bit07 Bit08 Bit09 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15

278589

Bit16

Slot alarm Setter bias selected (not setpoint) [S10-3] OD type used with bit 7 CAT/DAT = 0, PAT/DIAT = 1 OD type used with bit 6 CAT/DIAT = 0, PAT/DAT = 1 Send configuration pulsed on return from SimSt or Calibrate Mode Output high limit set by Hi Limit switch, IncBlock Bit in InDrvStat, or Current limit Output low limit set by Lo Limit switch, DecBlock Bit in InDrvStat, or Current limit Inhibit setter routine [S10-8] Inhibit PV write [S10-7] Remote alarm [conditional on S10-1] Local switch set. Setter change flag set by pressing a setter change button, indicating the setter value is no longer being written from the SetDisplay input. It will self-clear if the setter value and SetDisplay value become equal again as a result of: 1. change is reversed by opposite button press sequence or 2. custom function driver causes the SetDisplay to track the setter or 3. seting SetterChngRst bit in InDrvStat (bit9) which will allow the ODBuffer to write the SetDisplay value to the Setter. Output change flag set by pressing an output change button while ODMan is true, cleared by OutputChngRst bit in InDrvStat (bit4). This blocks the ODBuffer from sending new output requests from InDrv. For bumpless transfer the custom function driver should cause InDrvVAL to track the FrcBkOut at this time. Element Status Word (ElemStatus): Increase block (digital input) Decrease block (digital input) Increase override (digital input) Decrease override (digital input) OD manual mode (status) OD auto mode (status) PAT not responding (5 seconds and movement less than deadband) Drive unit available (both limit switches open) Output Inc or Dec pushbutton depressed. (Valid reguardless of OD Mode so it can be used to trigger default change to manual if desired.) PAT feedback fail Calibrate mode CAT output fail Inc limit contact open (Not used for CAT or DAT) Dec limit contact open (Not used for CAT or DAT) Any fuse blown N/A Status Description/Application Time of last alarm Output Driver rotary switch setting value. Text Mode Board Status Current Alarm Message Acknowledged State of Alarm 0 = not Ackd, 1 = Ackd Disables all alarms when non-zero. The non zero defeat values are the security level of

Bit01 Bit02 Bit03 Bit04 Bit05 Bit06 Bit07 Bit08 Bit09 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 Bit16

Name AlmTime SetterSlotNum TMode Status AlarmText Acked Defeat

Type Time Integer Text Long Text Integer Float

Metso Automation

3- 47

Function Blocks Programmer's Ref. & User's Guide

278589

FreezeOut LastBadStatus

Enum Integer

the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Use to freeze output before downloading a configuration change. Unlike most stati, this attribute can be written to (but not referenced.) As a protection, this attribute is set automaticly when a new reference is entered for InDrv. Last Bad Board Status. Can be zeroed Inputs

Name InDrv

Type Complex

Description/Application Output Driver Element Demand (Or On-Time Change for DIAT operation) with VAL = 0-100 Demand (or MOVE value for DIAT) RLO, RHI = 0, 100 STAT = per following table (Construct with BitPack block in custom control function) RST = 0 (or MOVE value for DIAT) AREF = 0 (or MOVETEST value for DIAT) TYPE = 17 (or 19 for DIAT) (Built by BitPack and CMPT in custom control function for Element control) Written to output driver when NOT Local Switch Set and NOT Output Change Flag. VAL = Process Variable display value (in engineering units) (-9999. to 9999.) 0 100 Position display value (optional DIAT application) (-199.9 to 199.9) Write conditional on DIAT operation. Display conditional on S10-9 switch status in DPU. Setter input display value (in engineering units) Updated to output driver several times per minute when NOT Setter Change Flag true For optional Output Driver Control Station pushbutton light indications per following table (Construct with BitPack block in custom control function) Note: Limit Lights write conditional on S10-5 ON Note: Modes Lights write conditional on S10-6 ON Simulated Module Input (see SimSt parameter) InDrv Status Word Table AutoMan block Auto Mode AutoMan block Auto Active 1 = Reset Mode Change Flag 1 = Reset Output Change Flag Block Output Driver Increase Operation Block Output Driver Decrease Operation Increase Override to Output Driver Decrease Override to Output Driver 1 = Reset Setter Change Flag StatDisplay Table Output Driver (optional) Auto Pushbutton Light Operation Output Driver (optional) Manual Pushbutton Light Operation Output Driver (optional) Increase Pushbutton Light Operation (for limit indication) Output Driver (optional) Decrease Pushbutton Light Operation (for limit indication)

PVDisplay PosDisplay SetDisplay StatDisplay

Float Float

Float Integer

SimAI

AutoMode AutoActive ModeChngRst OutputChngRst IncBlock DecBlock IncOvrd DecOvrd SetterChngRst

Bit01 Bit02 Bit03 Bit04 Bit05 Bit06 Bit07 Bit08 Bit09

AutoLite ManLite IncLite DecLite

Bit01 Bit02 Bit03 Bit04

Metso Automation

3- 48

Function Blocks Programmer's Ref. & User's Guide

278589

Name Addr Mode IncStrokeTime DecStrokeTime Deadband RateLimit MinIncPls MinDecPls SetHiLim SetLoLim IncBlockOnTm* DecBlockOnTm* IncOvrdOnTm* DecOvrdOnTm* AutoLiteOnTm ManLiteOnTm IncLiteOnTm DecLiteOnTm SimSt SimStatus

Type Long Enum Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Enum Enum

Configuration Parameters Description/Application Buffer Address 1 = On Scan, 0 = Off Scan Use when you need to take the module offline for maintenance. MAX1 PAT Tuning Increase 0 to 100 Travel Time (Sec) Default 5 Sec but should be tuned for optimum behavior. MAX1 PAT Tuning Decrease 100 to 0 Travel Time (Sec) Default 5 Sec but should be tuned for optimum behavior. MAX1 PAT Deadband (%) within which no further output adjustment will be attempted. (Default 1 %, minimum effective value = 0.1%) Output Driver Demand Inc and Dec Rate Limit (%/Sec) (for CAT, PAT, DAT) Default 10 %/Sec (Value is expressed as value between 0 and 1,00 i.e. 0.10 = 10 %/sec) MAX1 PAT Tuning Minimum Inc On-Time (Secs) Default 0.050 Sec MAX1 PAT Tuning Minimum Dec On-Time (Secs) Default 0.050 Sec Part of Setter Pushbutton Acceleration calculation, Not used if Setter is Bias Default 100 Part of Setter Pushbutton Acceleration calculation, Not used if Setter is Bias Default 0 Block Output Driver Increase Operation On Time (Sec.) Default 0 Sec (Disabled) Values should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time (Sec.) Default 0 Sec (Disabled) Values should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time Default 0 Sec (Disabled) With Pat sets pulse widthValues should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time Default 0 Sec (Disabled) Values should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Output Driver (optional) Manual Pushbutton Light Operation On Time Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Output Driver (optional) Increase Pushbutton Light Operation Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Output Driver (optional) Decrease Pushbutton Light Operation Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Sim State: 0 = Off, 1 = On using raw counts simulation, 2 On using Output% Sim Status: 0 = Good, 1 = Bad

* Times for blocks and overrides are usually used as multiples of the scan time (SvcTimePeriod) to extend the condition after the initiating bit is turned off. Times, less than one scan, are ineffective for CAT since the output demand from InDrv is immediately written to the output of the module after the time expires. PAT can use the shorter times for the Ovrd condition to attenuate the override rate i.e. shorter pulses than would be used for contiuous override. In either case forceback tracking should be used in the custom function driver to prevent a bounce back after the override-input clears.

Metso Automation

3- 49

Function Blocks Programmer's Ref. & User's Guide

278589

Name AlmAck DnLdConfig

Type Enum Enum

Command Description/Application Acknowledge Alarm Download Configuration parameter values to module (use when parameter values are changed to request immediate download, preempting the lower priority parameter update that is performed several times per minute.)

Configuration Download
Configuration Parameters written to Output Driver: IncMinOnTim DecMinOnTim IncStrokeTime DecStrokeTime Deadband OutHiLim OutLoLim SetHiLim SetLoLim RateLimit General/Standard Description/Application Service Security Scheme Service Priority Service Relative Index Service Time Base for Schd Que HMI Text Parameters Description/Application Generic Name for the buffer as part of the point hierarchy. TagName to directly identify the buffer in other locations, such as in a maxVUE graphics display. Note that for alarming purposes the tagname applies to the buffers communication status with the module and not the values. To tag an individual signal, use an ATag atomic block. Long description to identify the buffer on other displays. Short Description to appear on display logs where space is limited. Alternate long description in another language if necessary. Alternate short description in another language if necessary. Cabinet ID Rack ID Card ID

Name SvcSecScheme SvcPriority SvcRelIdx SvcTimeBase

Type Long Long Long Enum

Name GName TagName

Type Text Text

Desc ShDesc AltDesc AltShDesc Cabinet Rack Card

Text Text Text Text Text Long Long

Enumerated Attributes:
FreezeOut: 0 Working 1 Frozen Mode: 0 Off Scan 1 On Scan SimST:

Metso Automation

3- 50

Function Blocks Programmer's Ref. & User's Guide


0 Not In Simulation Mode 1 In Simulation Mode using Raw Counts 2 In Simulation Mode using Engineering Units SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status SvcTimeBase: 0 Normal 1 High 2 Critical Status: (values given in Hexadecimal)

278589

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20000 Card Not Present/Total Communication Failure 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Configuration Notes:
Outputs
Out = Actual feedback Position for OD Type = PAT or DIAT = InDrvVAL (input) for OD Type CAT or DAT Note: there is a case, when DIAT operation and OD S10-9 set true, where the OD Control Station Position Display follows PosDisplay input. For this case configuration functions that would have used Out must be redirected to the source of PosDisplay by the configuration because Out is not updated to match PosDisplay.IntfcStatus = Output Driver Status Word ElemStatus = Output Driver Block Override Word

Metso Automation

3- 51

Function Blocks Programmer's Ref. & User's Guide

278589

Forceback (FrcBkOut) is constructed as a complex output as follows: Value = Actual Position for OD Type = DIAT = Position Demand for OD Type = CAT, DAT, or PAT Note: there is a case for DIAT operation and OD S10-9 set true where the OD Control Station Position Display follows PosDisplay input. For this case Forceback must be reconstructed in the configuration (with a CMPT block) using the source of PosDisplay because the ODBuffer does not update the Forceback value to match PosDisplay. High Range = 100 Low Range = 0 Auctioneering Reference = 0 Reset = Output Change Flag (makes the signal available without additional input reference)
Status = composite of:

1. 2. 3. 4. 5.

Increase Velocity Limt = 0 Decrease Velocity Limit = 0 Increase Block = Increase Block OR Output High Limit Decrease Block = Decrease Block OR Output Low Limit Value Forceback = Manual Request, Output Change Flag, OR either Override

For applications of OD Type = CAT, DAT, or PAT (positioning to demand) the above forceback signal is referenced by the FrcbkIn of the Output Demand Limiter. For PAT Outputs via OD Type = DIAT the PATOut Freeze logic should include Local Switch Set or ODPushbutton Operation to cause value forceback for the PAT loop during OD manual operation. (When OD Type = DIAT, the Output Change Flag is not set by the Control Station manual operation.)
Setter Forceback (SetterFBOut) is constructed as a complex output as follows: Value = SetDisplay or value from Setter

High Range = SetHiLim parameter Low Range = SetLoLim parameter Auctioneering Reference = 0 Reset = Setter Change Flag
Status = Value Forceback (16) if Setter Change Flag is true

If there is no other forceback application, the above forceback signal is referenced by the FrcbkIn of the Setter Limiter (or Setter AutoMan if no Limiter applied) and no Setter Change Flag Reset logic is required. If there is other forceback application to the DPU setter value, this forceback must be merged with the other forceback conditional on the tracking option(s) selected for the DPU setter value and its condition (AutoActv or ValueForceback). The Setter Change Flag Reset input to the OD Buffer should be true when the DPU setter is not permitted to follow the OD Control Station operation (ValueForceback and ValueForceback track option or AutoActv and Auto track option). The logic status will have to be wired from the setter molecule to the element output control molecule to be combined with the InCtl STAT field. Inputs. Use CMPT Block to build an OutDrv attribute to be read by InDrv. Output Control:. For CAT, PAT, DAT InDrvVAL is 0 100% Provide for scaling and constraints in driver Note: while Output Change Flag true, the Output Driver is controling the Output. The buffer then reads it for forceback. For DIAT operation: InDrvRST and AREF fields are used as Move and MoveTest from PATOut Block. Check Output Driver programming for scaling and constraints.

Metso Automation

3- 52

Function Blocks Programmer's Ref. & User's Guide


Mode Change Coordination Use BitPack to assemble the bits for the Force_Status parameter of the CMPT being used to build the OutDrvSTAT attribute.

278589

The AutoMode (1bit) will control the Module ODAuto/ODMan (32bit and 16bit in the ElemStatus). The light behind the auto button ill come on if the AutoActive (2bit) is also True. The InDrvSTAT ModeChngRst (4bit) shoule be set equal to ModeChange input to confirm complete configuration. (the mode change should be reset to prevent remembered mode change request when the mode change is blocked.) Derive the other ChngRst bits and the logic bits as appropriate to your control strategy.

Metso Automation

3- 53

Function Blocks Programmer's Ref. & User's Guide

278589

Positioning Buffer (PB)


Atomic block Category: Buffers

Overview
The PB buffer is used for communicating with the positioning module, and provides configuration parameters, inputs, outputs, and status related to the module. Note that the PB buffer is supported only in the DPU4F model of the maxDPU. The Positioning module executes custom logic prepared in a programming language that is first compiled and then downloaded via serial cable to flash memory. This custom logic when combined with one of a family of Termination cards implements an application such as Turbine Valve control. Refer to the maxPAC Positioning Module Programming Guide and the maxPAC Hardware Reference Guide.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. Additional atributes exist to enter simulated values.

Attributes
Configuration Parameters: Attribute Category Addr SvcPriority SvcTimeBase FailOverTyp Mode Personality AParam01 08 FAParam01 02 DParam01 08 FDParam01 08 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Type Long Long Enum Enum Enum Enum Float Float Boolean Boolean Description/Application Bus Address: 2 254 (even multiple of 2), 258 unassigned. Service Priority: 0 100. Execution Time Base: 1 Critical, 2 High, 3 Normal. DPU failover type: 0 NonCritical, 1 Normal, 2 Critical. I/O Bus Scan Mode: 0 Off, 1 On. Index selection of stored logic to execute (0-8). Analog parameters sent to the module as inputs to the logic. Fast analog parameters sent to the module as inputs to the logic. Digital parameters sent to the module as inputs to the logic. Fast digital parameters sent to the module as inputs to the logic.

Metso Automation

3- 54

Function Blocks Programmer's Ref. & User's Guide

278589

HMI Parameters: Attribute Gname TagName Desc ShDesc AltDesc AltShDesc Cabinet Rack Card I/O and Status: Attribute AI01 04 DI01 08 AO01 04 DO01 08 AStat01 08 FAStat01 02 DStat01 08 FDStat01 08 Identity Version Overruns Alarming: Attribute Alm_Ack AlarmText AltAlarmText AlmTime Acked AnyAlarm Defeat

Category Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Type Text Text Text Text Text Text Text Long Long

Description/Application Generic Name TagName Description Short Description Alternate Description Alternate Short Description Cabinet ID Rack ID Card ID

Category Status Status Status Status Status Status Status Status Status Status Status

Type Float Boolean Float Boolean Float Float Boolean Boolean Text Text Text

Description/Application Physical input values read on the module, scaled as 0 100%. Physical input values read on the module. Analog output values written from the logic to the AOs , scaled as 0 100%. Digital output values written from the logic to the DOs. Analog status values written by the logic. Fast analog status values written by the logic. Digital status values written by the logic. Fast digital status values written by the logic. Object file Name text of Personality object selected Object file date of Personality object selected. Count of logic execution cycle overruns.

Category Command Status Status Status Status Status Parameter

Type Boolean Text Text Time Boolean Boolean Float

Description/Application Acknowledge Alarm Alarm Description Alternate Alarm Description Time of alarm State of Alarm Acknowledge 0 No Alarm, 1 Alarm Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only)

Simulation: Attribute SimST SimStatus SimAI01 04 SimAO01 04 SimAStat01 08 SimFAStat01- 02 SimDIDOWord SimDStatWord

Category Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Type Enum Enum Float Float Float Float Float Float

Description/Application Simulation State: 0 Off, 1 On Simulation Quality Status: 0 Good, 1 Bad Simulation values for the AIs. Simulation values for the AOs. Simulation values for the AStats. Simulation values for the FAStats. Bit packed simulation values for the DI / DO. Bit packed simulation values for the FDStats / DStats.

Metso Automation

3- 55

Function Blocks Programmer's Ref. & User's Guide


Misc. Status: Attribute Status CardType Revision Date Checksum LastBadStatus

278589

Category Status Status Status Status Status Status

Type Long Long Long Long Long Long

Description/Application Board Status Module model number Revision level of module firmware Day and Month of the revision of the module firmware Checksum of the firmware in the module Last Bad Board Status. Can be zeroed

Special note: The 4 sets of attributes labeled FAParam, FDParam, FAStat, and FDStat are denoted as Fast. The meaning of this is related to the SvcTimeBase attribute value assignment. When set to Critical these select attribute values are exchanged with the module at the DPMS CriticalTimer rate matching the buffer execution rate. All other values are exchanged no faster than the HighTimer rate, based on the SvcTimeBase assignment, even when Critical is selected. However, caution should be exercised in making this assignment, as the total complement of I/O cards assignable to a DPU may become limited by the I/O bus load capability. Refer to the I/O Bus Configuration Tool for estimating load capacity.

Metso Automation

3- 56

Function Blocks Programmer's Ref. & User's Guide

278589

Pulse I/O Buffer (PLSIO)


Atomic block Category: Buffers

WriteRa1 through Ra8

I/O Pulse Buffer

Ra1 through Ra8

WriteRb1 through Rb8

Rb1 through Rb8

WriteRa1Bufr through Ra8

WriteRb1Bufr through Rb8

Graphical Configurator Diagram

Overview
Use this buffer to perform: Up/down pulse counting and timing Pulse width and pulse interval measurements. Frequency and frequency ratio measurements. Pulse train outputs. Timed outputs. Duration Adjusting Type Outputs. Single phase and two phase frequency outputs.

Metso Automation

3- 57

Function Blocks Programmer's Ref. & User's Guide


Creating Simulated Points

278589

This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack SloCntRa01 SLoCntRa02 SLoCntRa03 SLoCntRa04 SLoCntRa05 SLoCntRa06 SLoCntRa07 SLoCntRa08 SLoCntRb01 SLoCntRb02 SLoCntRb03 SLoCntRb04 SLoCntRb05 Category Command Command Command Command Command Command Command Command Command Command Command Command Command Command Description Clears Unacknowledged state Calibrate Lo Rng Cnts for Ra 01 Calibrate Lo Rng Cnts for Ra 02 Calibrate Lo Rng Cnts for Ra 03 Calibrate Lo Rng Cnts for Ra 04 Calibrate Lo Rng Cnts for Ra 05 Calibrate Lo Rng Cnts for Ra 06 Calibrate Lo Rng Cnts for Ra 07 Calibrate Lo Rng Cnts for Ra 08 Calibrate Lo Rng Cnts for Rb 01 Calibrate Lo Rng Cnts for Rb 02 Calibrate Lo Rng Cnts for Rb 03 Calibrate Lo Rng Cnts for Rb 04 Calibrate Lo Rng Cnts for Rb 05 Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation

3- 58

Function Blocks Programmer's Ref. & User's Guide


SLoCntRb06 SLoCntRb07 SLoCntRb08 SHiCntRa01 SHiCntRa02 SHiCntRa03 SHiCntRa04 SHiCntRa05 SHiCntRa06 SHiCntRa07 SHiCntRa08 SHiCntRb01 SHiCntRb02 SHiCntRb03 SHiCntRb04 SHiCntRb05 SHiCntRb06 SHiCntRb07 SHiCntRb08 WriteRa1 WriteRa2 WriteRa3 WriteRa4 WriteRa5 WriteRa6 WriteRa7 WriteRa8 WriteRb1 WriteRb2 WriteRb3 WriteRb4 WriteRb5 WriteRb6 WriteRb7 WriteRb8 WriteRa1Bufr WriteRa2Bufr WriteRa3Bufr WriteRa4Bufr WriteRa5Bufr WriteRa6Bufr WriteRa7Bufr WriteRa8Bufr WriteRb1Bufr WriteRb2Bufr WriteRb3Bufr WriteRb4Bufr WriteRb5Bufr WriteRb6Bufr WriteRb7Bufr WriteRb8Bufr Ra1 Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Output Calibrate Lo Rng Cnts for Rb 06 Calibrate Lo Rng Cnts for Rb 07 Calibrate Lo Rng Cnts for Rb 08 Calibrate Hi Rng Cnts for Ra 01 Calibrate Hi Rng Cnts for Ra 02 Calibrate Hi Rng Cnts for Ra 03 Calibrate Hi Rng Cnts for Ra 04 Calibrate Hi Rng Cnts for Ra 05 Calibrate Hi Rng Cnts for Ra 06 Calibrate Hi Rng Cnts for Ra 07 Calibrate Hi Rng Cnts for Ra 08 Calibrate Hi Rng Cnts for Rb 01 Calibrate Hi Rng Cnts for Rb 02 Calibrate Hi Rng Cnts for Rb 03 Calibrate Hi Rng Cnts for Rb 04 Calibrate Hi Rng Cnts for Rb 05 Calibrate Hi Rng Cnts for Rb 06 Calibrate Hi Rng Cnts for Rb 07 Calibrate Hi Rng Cnts for Rb 08 Write to I/O Register a1 if true Write to I/O Register a2 if true Write to I/O Register a3 if true Write to I/O Register a4 if true Write to I/O Register a5 if true Write to I/O Register a6 if true Write to I/O Register a7 if true Write to I/O Register a8 if true Write to I/O Register b1 if true Write to I/O Register b2 if true Write to I/O Register b3 if true Write to I/O Register b4 if true Write to I/O Register b5 if true Write to I/O Register b6 if true Write to I/O Register b7 if true Write to I/O Register b8 if true Write to Ra1 if WriteRa1 true Write to Ra2 if WriteRa2 true Write to Ra3 if WriteRa3 true Write to Ra4 if WriteRa4 true Write to Ra5 if WriteRa5 true Write to Ra6 if WriteRa6 true Write to Ra7 if WriteRa7 true Write to Ra8 if WriteRa8 true Write to Rb1 if WriteRb1 true Write to Rb2 if WriteRb2 true Write to Rb3 if WriteRb3 true Write to Rb4 if WriteRb4 true Write to Rb5 if WriteRb5 true Write to Rb6 if WriteRb6 true Write to Rb7 if WriteRb7 true Write to Rb8 if WriteRb8 true I/O Register a Channel 1 Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

278589

Metso Automation

3- 59

Function Blocks Programmer's Ref. & User's Guide


Ra2 Ra3 Ra4 Ra5 Ra6 Ra7 Ra8 Rb1 Rb2 Rb3 Rb4 Rb5 Rb6 Rb7 Rb8 UserRef FailoverTyp Mode SimST Addr Cabinet Rack Card TagName GName Defeat Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter I/O Register a Channel 2 I/O Register a Channel 3 I/O Register a Channel 4 I/O Register a Channel 5 I/O Register a Channel 6 I/O Register a Channel 7 I/O Register a Channel 8 I/O Register b Channel 1 I/O Register b Channel 2 I/O Register b Channel 3 I/O Register b Channel 4 I/O Register b Channel 5 I/O Register b Channel 6 I/O Register b Channel 7 I/O Register b Channel 8 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Generic Name Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Low Range Counts for Ra 01 Low Range Counts for Ra 02 Low Range Counts for Ra 03 Low Range Counts for Ra 04 Low Range Counts for Ra 05 Low Range Counts for Ra 06 Low Range Counts for Ra 07 Low Range Counts for Ra 08 Low Range Counts for Rb 01 Low Range Counts for Rb 02 Low Range Counts for Rb 03 Low Range Counts for Rb 04 Low Range Counts for Rb 05 Low Range Counts for Rb 06 Low Range Counts for Rb 07 Low Range Counts for Rb 08 High Range Counts for Ra 01 High Range Counts for Ra 02 High Range Counts for Ra 03 High Range Counts for Ra 04 High Range Counts for Ra 05 High Range Counts for Ra 06 High Range Counts for Ra 07 Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Integer Float Boolean Boolean Integer String Integer Integer String String Float

278589

LoCntRa01 LoCntRa02 LoCntRa03 LoCntRa04 LoCntRa05 LoCntRa06 LoCntRa07 LoCntRa08 LoCntRb01 LoCntRb02 LoCntRb03 LoCntRb04 LoCntRb05 LoCntRb06 LoCntRb07 LoCntRb08 HiCntRa01 HiCntRa02 HiCntRa03 HiCntRa04 HiCntRa05 HiCntRa06 HiCntRa07

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation

3- 60

Function Blocks Programmer's Ref. & User's Guide


HiCntRa08 HiCntRb01 HiCntRb02 HiCntRb03 HiCntRb04 HiCntRb05 HiCntRb06 HiCntRb07 HiCntRb08 SimRa1 SimRa2 SimRa3 SimRa4 SimRa5 SimRa6 SimRa7 SimRa8 SimRb1 SimRb2 SimRb3 SimRb4 SimRb5 SimRb6 SimRb7 SimRb8 SimStatus Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked TypeRead Status RawCntRa01 RawCntRa02 RawCntRa03 RawCntRa04 RawCntRa05 RawCntRa06 RawCntRa07 RawCntRa08 RawCntRb01 RawCntRb02 RawCntRb03 RawCntRb04 RawCntRb05 RawCntRb06 RawCntRb07 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status High Range Counts for Ra 08 High Range Counts for Rb 01 High Range Counts for Rb 02 High Range Counts for Rb 03 High Range Counts for Rb 04 High Range Counts for Rb 05 High Range Counts for Rb 06 High Range Counts for Rb 07 High Range Counts for Rb 08 Simulated Pulse Count Input a1 Simulated Pulse Count Input a2 Simulated Pulse Count Input a3 Simulated Pulse Count Input a4 Simulated Pulse Count Input a5 Simulated Pulse Count Input a6 Simulated Pulse Count Input a7 Simulated Pulse Count Input a8 Simulated Pulse Count Input b1 Simulated Pulse Count Input b2 Simulated Pulse Count Input b3 Simulated Pulse Count Input b4 Simulated Pulse Count Input b5 Simulated Pulse Count Input b6 Simulated Pulse Count Input b7 Simulated Pulse Count Input b8 Sim Status: 0 = Good, 1 = Bad Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Card type read data Board Status Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Boolean String String String String Boolean String String Time Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

278589

Metso Automation

3- 61

Function Blocks Programmer's Ref. & User's Guide


RawCntRb08 LastBadStatius TMode Status Status Status Raw Counts sent to card Last Bad Status from Module. Can be zeroed Text Mode Integer Integer String

278589

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation

3- 62

Function Blocks Programmer's Ref. & User's Guide

278589

Quad Pulse Adjusting Type Buffer (QPAT)


Atomic block Category: Buffers
Graphical Configurator Diagram

Overview
Use the Quad Pulse Adjusting Type buffer to send on-time values to field devices that require timed outputs. To configure this buffer, specify span types for up to 4 channels. Use the type parameters (AITyxx) to specify the following available types:
1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 Custom

When you enter a span type per channel, maxDPUTools automatically fills in high and low range counts. To enter your own custom span type, use 10 for custom (AITyxx = 10). For custom QPAT types, you must enter your own high and low range counts. Use calibrate methods to place a milliampere setting into the Low Count (AILloCnt0x) and High Count (AIHiCnt0x) range parameters. When a calibrate method is invoked, via a write from the HMI, the count value in AISLCnt0x or in AISHCnt0x (command attributes) is placed into the corresponding range parameter.

High and Low Limits


The maxPAC version on the QPAT includes status attributes (Out0xLimitHi or Out0xLimitLo) that represent the state of the High and Low Limit inputs. These inputs are normally wired to the limit contacts of the drive unit. The contacts are expected to be normally closed and open when the limit is reached. When the contact is open (the limit exceeded) the status will be equal to one. The jumper on the card to ignore the limit does not affect the status attributes.

Metso Automation

3- 63

Function Blocks Programmer's Ref. & User's Guide


Creating Simulated Points

278589

This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. Enter values for SIMAIxx, SimMove (position change based on any simulated stroke time), and SimStrokeTimexx (the time needed to open and close a valve). Attributes such as SimStatus and SIM0xLimitHi/Lo allow simulation of various hardware conditions. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Enter a zero if the card is a 564 style card and one if it is a maxPAC stye card. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

maxPAC RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack AISLCnt01 AISLCnt02 AISLCnt03 AISLCnt04 AISHCnt01 Category Command Command Command Command Command Command Description Clears Unacknowledged state Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate High Range Counts Data Type Boolean Integer Integer Integer Integer Integer

Metso Automation

3- 64

Function Blocks Programmer's Ref. & User's Guide


AISHCnt02 AISHCnt03 AISHCnt04 Move01 Move02 Move03 Move04 MoveTest01 MoveTest02 MoveTest03 MoveTest04 AI01 AI02 AI03 AI04 Out01LimitHi Out01LimitLo Out02LimitHi Out02LimitLo Out03LimitHi Out03LimitLo Out04LimitHi Out04LimitLo UserRef FailoverTyp maxPAC Mode SimST Addr Cabinet Rack Card TagName SimStrokeTim01 SimStrokeTim02 SimStrokeTim03 SimStrokeTim04 AITy01 AITy02 AITy03 AITy04 AILoCnt01 AILoCnt02 AILoCnt03 AILoCnt04 AIHiCnt01 AIHiCnt02 AIHiCnt03 AIHiCnt04 SIMAI01 SIMAI02 SIMAI03 Command Command Command Input Input Input Input Input Input Input Input Output Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Stroke time 1 from positioner Stroke time 2 from positioner Stroke time 3 from positioner Stroke time 4 from positioner Positioner index 1 Positioner index 2 Positioner index 3 Positioner index 4 Value of AI 1 Value of AI 2 Value of AI 3 Value of AI 4 1 when Out01 is at a High Limit 1 when Out01 is at a Low Limit 1 when Out02 is at a High Limit 1 when Out02 is at a Low Limit 1 when Out03 is at a High Limit 1 when Out03 is at a Low Limit 1 when Out041 is at a High Limit 1 when Out04 is at a Low Limit User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 1 = maxPAC, 0 = 564 Style 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Simulated stroke time 1 Simulated stroke time 2 Simulated stroke time 3 Simulated stroke time 4 Span Type Span Type Span Type Span Type Low Range Counts Low Range Counts Low Range Counts Low Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Value of Sim AI 1 Value of Sim AI 2 Value of Sim AI 3

278589
Integer Integer Integer Float Float Float Float Integer Integer Integer Integer Float Float Float Float Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer Float Boolean Boolean Boolean Integer String Integer Integer String Rel Time Rel Time Rel Time Rel Time Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float

Metso Automation

3- 65

Function Blocks Programmer's Ref. & User's Guide


SIMAI04 GName SimMove01 SimMove02 SimMove03 SimMove04 SimStatus SIM01LimitHi SIM01LimitLo SIM02LimitHi SIM02LimitLo SIM03LimitHi SIM03LimitLo SIM04LimitHi SIM04LimitLo Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked Defeat Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Parameter Value of Sim AI 4 Generic Name Pos chng based on SimStrokeTim01 Pos chng based on SimStrokeTim02 Pos chng based on SimStrokeTim03 Pos chng based on SimStrokeTim04 Sim Status: 0 = Good, 1 = Bad Out01LimitHi Simulation Input Out01LimitLo Simulation Input Out02LimitHi Simulation Input Out02LimitLo Simulation Input Out03LimitHi Simulation Input Out03LimitLo Simulation Input Out04LimitHi Simulation Input Out04LimitLo Simulation Input Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Board Status Card type read data Pulse time 1 Pulse time 2 Pulse time 3 Pulse time 4 Raw Counts Raw Counts Raw Counts Raw Counts Freeze Out01 if TRUE Freeze Out02 if TRUE Freeze Out03 if TRUE Freeze Out04 if TRUE Pulse time 1 during freeze Pulse time 2 during freeze Pulse time 3 during freeze Pulse time 4 during freeze Text Mode Last Bad Status from Module. Can be zeroed

278589
Float String Float Float Float Float Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String Boolean String String Time Float Float

Status TypeRead Out01 Out02 Out03 Out04 AIRawCnt01 AIRawCnt02 AIRawCnt03 AIRawCnt04 FreezeOut01 FreezeOut02 FreezeOut03 FreezeOut04 Out01Compare Out02Compare Out03Compare Out04Compare Tmode LastBadStatius

Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status

Integer Integer Rel Time Rel Time Rel Time Rel Time Integer Integer Integer Integer Boolean Boolean Boolean Boolean Rel Time Rel Time Rel Time Rel Time String Integer

Metso Automation

3- 66

Function Blocks Programmer's Ref. & User's Guide


Enumerated Attributes: AITyXX: 1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 Custom
Mode: 0 Off Scan 1 On Scan maxPAC: 0 564 Style Card 1 maxPAC Card

278589

RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation

3- 67

Function Blocks Programmer's Ref. & User's Guide

278589

Resistance Temperature Detector Buffer (RTD)


Atomic block Category: Buffers

Graphical Configurator Diagram

Overview
Use the Resistance Temperature Detector Buffer (RTD) to make temperature signals from RTD input cards available for use by the algorithms. To configure this buffer, specify signal types for up to 8 channels. Use the signal type parameters (SigTypxx) to specify a type, where xx is the channel number from 01 to 08. Refer to the enumerated attributes section at the end of this section for a listing of available signal types. Each output quality is normally good, set to bad when: 1. The buffer cannot communicate with the module (all outputs bad quality). 2. An open circuit in the resistance thermodetector bridge is detected.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance.

Metso Automation

3- 68

Function Blocks Programmer's Ref. & User's Guide


RedundantIO ShDesc Tagname

278589

Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

Attributes
Attribute Alm_Ack In01 In02 In03 In04 In05 In06 In07 In08 UserRef FailoverTyp maxPAC Mode SimST Addr Cabinet Rack Card TagName SimIn01 SimIn02 SimIn03 SimIn04 SimIn05 SimIn06 SimIn07 SimIn08 SigTyp01 SigTyp02 SigTyp03 SigTyp04 SigTyp05 SigTyp06 SigTyp07 SigTyp08 Gname SimStatus Category Command Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Description Clears Unacknowledged state RTD Input 01 RTD Input 02 RTD Input 03 RTD Input 04 RTD Input 05 RTD Input 06 RTD Input 07 RTD Input 08 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 0 =style 564 1= maxPAC 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Simulated RTD Input 01 Simulated RTD Input 02 Simulated RTD Input 03 Simulated RTD Input 04 Simulated RTD Input 05 Simulated RTD Input 06 Simulated RTD Input 07 Simulated RTD Input 08 RTD 01 Type RTD 02 Type RTD 03 Type RTD 04 Type RTD 05 Type RTD 06 Type RTD 07 Type RTD 08 Type Generic Name Sim Status: 0=Good, 1=Bad Data Type Boolean Float Float Float Float Float Float Float Float Integer Float Integer Boolean Boolean Integer String Integer Integer String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String Boolean

Metso Automation

3- 69

Function Blocks Programmer's Ref. & User's Guide


Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked Defeat Parameter Parameter Parameter Parameter Parameter Status Status Status Status Parameter Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Card type read data Board Status RTD 01 Status RTD 02 Status RTD 03 Status RTD 04 Status RTD 05 Status RTD 06 Status RTD 07 Status RTD 08 Status RTD 01 Alt. Type Text RTD 02 Alt. Type Text RTD 03 Alt. Type Text RTD 04 Alt. Type Text RTD 05 Alt. Type Text RTD 06 Alt. Type Text RTD 07 Alt. Type Text RTD 08 Alt. Type Text RTD 01 Type Text RTD 02 Type Text RTD 03 Type Text RTD 04 Type Text RTD 05 Type Text RTD 06 Type Text RTD 07 Type Text RTD 08 Type Text Text Mode Last Bad Status from Module. Can be zeroed String String String String Boolean String String Time Float Float

278589

TypeRead Status SigStatus01 SigStatus02 SigStatus03 SigStatus04 SigStatus05 SigStatus06 SigStatus07 SigStatus08 AltTSigTyp01 AltTSigTyp02 AltTSigTyp03 AltTSigTyp04 AltTSigTyp05 AltTSigTyp06 AltTSigTyp07 AltTSigTyp08 TsigTyp01 TsigTyp02 TsigTyp03 TsigTyp04 TsigTyp05 TsigTyp06 TsigTyp07 TsigTyp08 Tmode LastBadStatius

Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status

Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String String String String String String String String String String String String String String String String String Integer

Enumerated Attributes:
maxPAC: Model # 0 style 564 1 maxPAC IOP115 IOP124 IOP303* Part # 081804 081814 181504 # of Addresses 8 8 2 # of Channels 7 7 8 Description 564 4-Wire RTD Module 564 3-Wire RTD Module maxPAC 3-Wire RTD Module

Metso Automation

3- 70

Function Blocks Programmer's Ref. & User's Guide

278589

* Note: these settings represent the normal use for modules in new installations. The IOP303 can be jumpered to be compatible with older systems that used a 8 channel address mode. This mode of operation is not recommended for use in a DPU4F, but can be used if the 0- style 564 mode is set. Refer to the appropriate hardware manual for jumper settings.

Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status SigStatusXX: 0 Signal OKay 1 Singnal Over Range 2 Singnal Under Range 3 Open Circuit 4 Card Failure 5 Unknown Failure SigTypXX: 101 - 100 Ohm Platinum a 385 (Degrees F) 102 - 10 Ohm Copper (Degrees F) 103 - 10 Ohm Platinum (Degrees F) 104 - 25 Ohm Platinum (Degrees F) 105 - 100 Ohm Nickel IPTS 68 (Degrees F) 106 - 100 Ohm Copper 25C (Degrees F) 107 - 1000 Ohm Platinum (Degrees F) 108 - 100 Ohm Platinum a 3902 (Degrees F) 109 - 100 Ohm Platinum a 392 (Degrees F) 110 - 98 13 Ohm Platinum (Degrees F) 111 - 100 Ohm Platinum a 3916 (Degrees F) 112 - 25 5 Ohm Platinum (Degrees F) 113 - 100 Ohm Copper a 427 (Degrees F) 114 - 50 Ohm Copper (Degrees F) 115 - 9 035 Ohm Copper (Degrees F) 116 - 100 Ohm Nickel a 618 (Degrees F) 117 - 120 Ohm Nickel (Degrees F) 118 - 604 Ohm Nickel Iron (Degrees F) 119 - 1000 Ohm Nickel Iron (Degrees F) 201 - 100 Ohm Platinum a 385 (Degrees C) 202 - 10 Ohm Copper (Degrees C) 203 - 10 Ohm Platinum (Degrees C) 204 - 25 Ohm Platinum (Degrees C) 205 - 100 Ohm Nickel IPTS 68 (Degrees C) 206 - 100 Ohm Copper 25C (Degrees C) 207 - 1000 Ohm Platinum (Degrees C) 208 - 100 Ohm Platinum a 3902 (Degrees C) 209 - 100 Ohm Platinum a 392 (Degrees C) 210 - 98 13 Ohm Platinum (Degrees C)

Metso Automation

3- 71

Function Blocks Programmer's Ref. & User's Guide


211 - 100 Ohm Platinum a 3916 (Degrees C) 212 - 25 5 Ohm Platinum (Degrees C) 213 - 100 Ohm Copper a 427 (Degrees C) 214 - 50 Ohm Copper (Degrees C) 215 - 9 035 Ohm Copper (Degrees C) 216 - 100 Ohm Nickel a 618 (Degrees C) 217 - 120 Ohm Nickel (Degrees C) 218 - 604 Ohm Nickel Iron (Degrees C) 219 - 1000 Ohm Nickel Iron (Degrees C) Status:

278589

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation

3- 72

Function Blocks Programmer's Ref. & User's Guide

278589

Serial Buffer

Detailed Description:

Serial Buffer

PortError

The main purpose of the Serial Buffer is to provide the serial communications capabilities through the maxDPUs serial ports. The buffer alone is not sufficient to meet all the remote link requirements. There may be two ways to access serial port through the buffer. First method is to write an application and to implement the serial protocol. Second method would be to utilize the new maxLINKs Transport Library, which will access the buffer instead of maxLINKs' serial port for communications with external devices. The built in Helper libraries would be used for the various protocols. The performance of the Serial Buffer will be more limited than maxLINKs. The serial buffer is a communication channel between the application and the maxDPU serial ports. It buffers the received and sent characters. 1K buffer barrels are provided for read and write separately for each port. The character string written to the OutStr attribute is stored in the write barrel, which in turn is sent to the serial port assigned. The read characters are stored in the read barrel and sent to the Workstations application on subscription/read to the InpStr attribute. Currently, only serial port one (SER1) is fully supported in the DPU; therefore, only one Serial Buffer should be configured in a DPU. In the future, a maximum of two Serial Buffers could be configured to communicate with two serial ports of a maxDPU. If more than two were configured, then the others would not get access to the serial ports More details of the Serial Buffers attributes:

Metso Automation

3- 73

Function Blocks Programmer's Ref. & User's Guide Attributes


Name OutStr Type PCHAR Hidden Description/Application Serial Output String to be written to Serial Port. (Write only)

278589

This is a hidden attribute and can be accessed under program control. A write to this attribute (an unsigned character string) will send the characters to the serial port. The maximum size of the write string is 400 bytes.

InpStr

PCHAR

Name PortError

Type Float

Name BytesIn

Type Long

BytesOut

Long

Serial Input String read from Serial Port. (Read / Subscribe only) This is a hidden attribute and can be accessed under program control. Any character received at the serial port (an unsigned character string) will be given at this attribute. The maximum size of the read string is 400 bytes. Output Description/Application Port Error Code. A non-zero value indicates an abnormal condition at the port. The description of the condition will be available in the PortErrorText attribute. It can be cleared by writing 1 to the ClearStat attribute. Status Description/Application Number of Bytes In. A cumulative statistic indicating the number of bytes read by the buffer since last creation or ClearStat command. It can be cleared by writing 1 to the ClearStat attribute. Number of Bytes Out A cumulative statistic indicating the number of the bytes written by the buffer since last creation or ClearStat command. It can be cleared by writing 1 to the ClearStat attribute.
Port Status

PortStatus

Float

Tmode AlarmText AltAlarmText AlmTime Alm_Ack Acked RxTimeOut

String String String Time Float Float Long

1 Serial buffer has access to its read / write threads. This means that the buffer currently can communicate with the configured serial port unless the port is also being used by another Serial Buffer. If the port is used by any other buffer or unavailable, an error will be displayed. 0 Serial buffer does not have access to read / write threads. This means that the buffer currently cannot communicate with the configured port. If the Serial Buffer using the port is deleted, it may get access to serial port. Text Mode Alarm description Alt Alarm description Alarm occurrence time Clears Unacknowledged state Acknowledged state of alarm
Receive Time out count

RxError

Long

Used to timeout the incoming message frame. While receiving characters, the buffer looks for the end of message sequence, if MsgEndSeq attribute is nonblank. If the end of message sequence is found, then the character frame is complete. The completed frame is written to the buffer (InpStr). If there is a delay more than message time out (MsgTimeOut) between two characters, then the received characters so far are terminated with MsgEndSeq characters and written to the buffer (InpStr). In addition, RxTimeOut will be incremented. If MsgEndSeq is blank then it is not used for end of character frame detection. RxTimeOut will not be incremented on timeout. It can be cleared by writing 1 to the ClearStat attribute. Receive Error count including character barrel overrun

Metso Automation

3- 74

Function Blocks Programmer's Ref. & User's Guide

278589

TxError

Long

Name PortName

Type Integer

BaudRate

Integer

ByteSize

Integer

Parity

Integer

StopBits

Integer

Any error while receiving through the serial port will increment this statistic. This will also be incremented when the read barrel is full. It can be cleared by writing 1 to the ClearStat attribute. Transmit Error count including character barrel overrun Any error while writing to the serial port will increment this statistic. This will also be incremented when the write barrel is full. It can be cleared by writing 1 to the ClearStat attribute. Parameters Description/Application Port, SER1 or SER2 It is a numeric attribute and valid entries are: 1 SER1 port for real maxDPU 2 SER2 port for real maxDPU It refers to workstations serial port COM1 & COM2 in virtual maxDPU. Baud rate, 110 115200 BPS Valid entries are: 110 150 300 600 1200 2400 4800 9600 14400 19200 38400 57600 115200 Number of bits per byte, 5-8 Valid entries are: 5 6 7 8 Refer to note below for restrictions. Parity, NONE - ODD EVEN MARK SPACE It is a numeric attribute and valid entries are: 0 NONE 1 ODD 2 EVEN 3 MARK 4 SPACE Stop Bit,1-1.5-2 It is a numeric attribute and valid entries are: 0 1 bit 1 1.5 bits 2 2 bits Refer to note below for restrictions. Flow Control, NONE-XON/XOFF-CTS/RTS It is a numeric attribute and valid entries are: 0 None 1 Xon/Xoff

FlowCtrl

Integer

Metso Automation

3- 75

Function Blocks Programmer's Ref. & User's Guide


2 AltDesc AltShDesc Desc Gname ShDesc TagName LoopBack String String String String String String Boolean CTS/RTS

278589

Alternate Description Alternate Short Description Description Generic Name Short Description Tag Name
LoopBack Test

Mode UserRef PortErrorText MsgTimeOut

Boolean Integer PCHAR RelTime

MsgEndSeq

PCHAR

Enter 1 to start the loopback test. For the test, a loopback connector is required. Loopback is a continuous test in which a stream of characters ( blank to ~ - tilde) is sent and received by putting a loopback connector on the serial port. Once a complete set of characters is received, the loopback pass count is incremented; otherwise, the loopback fail count is incremented. The status of loopback is displayed in the PortErrorText attribute. Enter 0 to stop the loopback test. If loopback connector is not inserted, the pass and fail count will be 0, because no characters are being received, and Serial Buffer will wait indefinitely for a character to appear at the port. 1 = On Scan, 0 = Off Scan User Obj supplying Alarm Text Port Error Text Explanation text for the PortError attribute value. Message Timeout for end sequence receive While receiving characters, the buffer looks for the end of sequence. If it is found, then the character frame is complete. The complete frame is written to the buffer (InpStr). If there is a delay more than message timeout (MsgTimeOut) between two characters, then the received characters are terminated with end of sequence. RxTimeOut will be incremented. If MsgEndSeq is blank then it is used as an end of character frame detection. RxTimeOut will not be incremented. Message end sequence The hex value of two end of sequence characters. If it is blank, then it is not used while receiving characters.

Note: The following restriction applies to ByteSize and BaudRate: The number of data bits must be 5 to 8 bits. The use of 5 data bits with 2 stop bits is an invalid combination, as is 6, 7, or 8 data bits with 1.5 stop bits. Commands Name Flush Type Command Description/Application Purge Characters from barrel. 1 Input, 2 Output & 3 Both barrels It is a numeric attribute and valid commands are: 1 Input / Read barrel only 2 Output / write barrel only 3 Both / Read & Write barrels. Reset Statistics and Error By writing 1 to this attribute, the statistics and error can be reset.

ClearStats

Command

Example of using a Serial Buffer through an Application

Metso Automation

3- 76

Function Blocks Programmer's Ref. & User's Guide


1. Connect (wire from) the PLC to the maxDPU Serial Port 1, a modem may be required.

278589

2. Use maxDPUTools to configure a Serial Buffer in the DPU setting all the parameters (including TagName). 3. Install the configuration into the DPU (or DPU pair, its nice to have backup). 4. Write an Application that runs in the Workstation and communicates with the PLC via the Serial Buffer. The Application must basically do the following: a) b) c) d) e) <Initialization> Write a 3 to Serial Buffer attribute Flush (Purge Input and Output barrels). Write a 1 to Serial Buffer attribute ClearStats (Reset errors and statistics). Initialize the modem, if applicable. Read the Serial Buffer attribute PortError (confirm no errors before proceeding) Subscribe to the Serial Buffer attribute InpStr with a small maximum time and a large minimum time (e.g., 1/10 sec and 10 sec). <Read PLC data> For each desired PLC Data Item, do the following: (a) Write to the Serial Buffer attribute OutStr the sequence of bytes to send to the PLC, requesting a read of the desired PLC data item. (b) A Subscribe Data Update will occur as a result of the PLC responding with the desired data item. The response SBP Type will be PUBYTE with the number of bytes in the object member m_NumElements (c) Empty Subscribe Data Updates will also occur, and could be ignored. The empty SBP Type will be LONG with a data value of 65547 (d) Random and bursts of errors are to be expected, tolerated, and recorded. However, sustained errors should cause the application to start over with initialization.

Example of Subscribe Data Update code: SBP_UBYTE long short CString char *pu; l; DataType; myvalue; buffer[420]; // Pointer to response data in SBP Object // long type data to check for empty response // data type of the SBP subscribe response // string to hold text about the response // buffer to hold the actual binary PLC response

if(p->m_Status) // check if good or bad { myvalue.Format("Serial Update failure: %xx", p->m_Status); nrBytes = 0; } else { nrBytes = p->m_MessageData.m_NumElements; // number elements

Metso Automation

3- 77

Function Blocks Programmer's Ref. & User's Guide


DataType = p->GetValueType() & ~SBP_QUALITY_TYPE_MASK; switch (DataType) // process via type { case VAR_EMPTY: myvalue = "Value is: (empty)"; nrBytes = 0; break; case VAR_LONG: case VAR_ULONG: p->GetValue(l); // get empty msg value sprintf(buffer,"%d",l); myvalue = "LONG is: "; myvalue += buffer; nrBytes = sizeof(l); break; case VAR_PUBYTE: p->GetValue(pu); // get address of actual data myvalue = "PUBYTE is: "; if (nrBytes == 0) strcpy(buffer, "<empty>"); else { for (i = 0; i < nrBytes; i++) buffer[i] = (char)*pu++; // move binary data to buffer buffer[i] = NULL; // NULL terminate buffer (if text) } myvalue += buffer; break; default: p->GetValue(l); _stprintf(buffer, _T("%x: %ld"), DataType, l); myvalue = "Type not defined "; m_value += buffer; break; } }

278589

Binary PLC Interface


The maxDPU Serial Buffer supports interfacing with both ASCII and binary PLC devices. Interfacing with ASCII PLCs is accomplished in Visual Basic via the normal MCSSbpCtls Write and Read functions. Interfacing with binary PLCs is accomplished via the MCSSbpCtls WritePLC and ReadPLC functions. The WritePLC and ReadPLC are the same as the Write and Read, except the Visual Basic String or Variant contains Hexadecimal characters (instead of ASCII) which are converted to/from binary, between the SBP and the Serial Buffer.

Using TestSerial program


Use the TestSerial program to test a serial link, created using the maxDPU Serial buffer block, in either a virtual or a real maxDPU. the program

Metso Automation

3- 78

Function Blocks Programmer's Ref. & User's Guide

278589

subscribes to a service (e.g., the InpStr attribute of a Serial buffer) and reads or writes to a service (e.g., write the OutStr attribute of a Serial buffer). Note that the Read or Write operations can be asynchronous to the Subscribe operation. When the TestSerial program is initially loaded, it starts running with a subscription to _lss.time. To use the program: 1. Click the Stop button 2. enter a subscribe address, read address, or write address, and then click the Subscribe, Read, or Write button, respectively. 3. The Write HEX button is the same as the Write button, except that the Write Message is first converted from hexadecimal to binary before it is sent to the write address. The Cycle button is used along with a loop back connector on the serial port. The Cycle will write the write message to the write address, then read from the read address until the entire message responds back (or times-out). If the message response times out, the Msg Errors is incremented. Otherwise, the response is compared with the write message. TheMsgDiff is incremented if they are not the same. The following is a snapshot of the Test Serial program dialog display.

Metso Automation

3- 79

Function Blocks Programmer's Ref. & User's Guide

278589

The above example illustrates the following information: The MsgCount displays that a total of 27 subscribe updates (and reads) occurred since the last subscribe was initiated. The Subscribe Addr Edit field provides for entry of the full address to the Serial Buffers input attribute, which was [mcspc102]/group2./#213.InpStr . The Read Address Edit field provides for entry of the full address to the Serial Buffers input attribute, which was [mcspc102]/group2./#213.InpStr . The Write Address Edit field provides for entry of the full address to the Serial Buffers output attribute, which was [mcspc102]/group2./#213.OutStr . The Write Message. Edit field provides for entry of the data to be written to the Serial Buffers output attribute, which was This is a Test Message for Serial maxDPU. The information returned from the DPUs Serial Buffer included the following: PUBYTE is: This is a Test Message for Serial maxDPU. 1 - The 40 defines the number of bytes in the returned message. 2 - The PUBYTE is: defines the SBP Type of the returned message.

Metso Automation

3- 80

Function Blocks Programmer's Ref. & User's Guide

278589

3 This is a Test Message for Serial maxDPU.is the actual returned message. 4 LONG is: 65547

1 The 4 defines the number of bytes in the returned message. 2 The LONG is: defines the SBP Type (an empty message) of the returned message. 3 The 65547 defines the message as an empty message (so does the above). The above example was made with a Loop Back connector in the DPUs serial port. The Loop Back connector is wired as follows: Standard 9 pin male connector Jumper from pin1 to pin 5 to pin 6 Jumper from pin 2 to pin 3 Jumper from pin 7 to pin 8

Metso Automation

3- 81

Function Blocks Programmer's Ref. & User's Guide

278589

Thermocouple Buffer (TC)


Atomic block Category: Buffers

Graphical Configurator Diagram

Overview
Use the Thermocouple Buffer (TC) signal to make temperature signals from thermocouple input cards available for use by the algorithms. To configure this buffer, specify signal types for up to 16 channels. Use the signal type parameters (SigTypxx) to specify a type, where xx is the channel number from 01 to 16. Refer to the enumerated attributes section at the end of this section for a listing of available signal types. You may direct this buffer to use a remote temperature for reference junction compensation by pointing to the temperature source. For example, if the thermocouple reference junction was located in a cabinet remote from the thermocouple module, the remote cabinet temperature could be monitored by RTDs that this buffer may point to. Set the remote cold junction parameter (RmtCJxx parameter) to 1 to perform a remote cold junction calculation; otherwise, set this parameter to 0 to disable. Each output quality is normally good, set to bad when: 1. The buffer cannot communicate with the module (all outputs bad quality). 2. Open thermocouple is detected.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary.

Metso Automation

3- 82

Function Blocks Programmer's Ref. & User's Guide


Desc Gname Mode

278589

Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack RmtCJTemp01 RmtCJTemp02 RmtCJTemp03 RmtCJTemp04 RmtCJTemp05 RmtCJTemp06 RmtCJTemp07 RmtCJTemp08 RmtCJTemp09 RmtCJTemp10 RmtCJTemp11 RmtCJTemp12 RmtCJTemp13 RmtCJTemp14 RmtCJTemp15 RmtCJTemp16 In01 In02 In03 In04 In05 In06 In07 In08 In09 In10 In11 In12 Category Command Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Output Output Output Output Output Output Output Output Output Output Output Output Description Clears Unacknowledged state TC 01 Remote Cold Junction Temp TC 02 Remote Cold Junction Temp TC 03 Remote Cold Junction Temp TC 04 Remote Cold Junction Temp TC 05 Remote Cold Junction Temp TC 06 Remote Cold Junction Temp TC 07 Remote Cold Junction Temp TC 08 Remote Cold Junction Temp TC 09 Remote Cold Junction Temp TC 10 Remote Cold Junction Temp TC 11 Remote Cold Junction Temp TC 12 Remote Cold Junction Temp TC 13 Remote Cold Junction Temp TC 14 Remote Cold Junction Temp TC 15 Remote Cold Junction Temp TC 16 Remote Cold Junction Temp TC Input 01 TC Input 02 TC Input 03 TC Input 04 TC Input 05 TC Input 06 TC Input 07 TC Input 08 TC Input 09 TC Input 10 TC Input 11 TC Input 12 Data Type Boolean Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

Metso Automation

3- 83

Function Blocks Programmer's Ref. & User's Guide


In13 In14 In15 In16 UserRef FailoverTyp maxPAC Mode SimST Addr Cabinet Rack Card TagName SimIn01 SimIn02 SimIn03 SimIn04 SimIn05 SimIn06 SimIn07 SimIn08 SimIn09 SimIn10 SimIn11 SimIn12 SimIn13 SimIn14 SimIn15 SimIn16 SigTyp01 SigTyp02 SigTyp03 SigTyp04 SigTyp05 SigTyp06 SigTyp07 SigTyp08 SigTyp09 SigTyp10 SigTyp11 SigTyp12 SigTyp13 SigTyp14 SigTyp15 SigTyp16 GName RmtCJ01 RmtCJ02 RmtCJ03 RmtCJ04 RmtCJ05 Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter TC Input 13 TC Input 14 TC Input 15 TC Input 16 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 0 =style 564 1=maxPAC 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Simulated TC Input 01 Simulated TC Input 02 Simulated TC Input 03 Simulated TC Input 04 Simulated TC Input 05 Simulated TC Input 06 Simulated TC Input 07 Simulated TC Input 08 Simulated TC Input 09 Simulated TC Input 10 Simulated TC Input 11 Simulated TC Input 12 Simulated TC Input 13 Simulated TC Input 14 Simulated TC Input 15 Simulated TC Input 16 TC 01 Type TC 02 Type TC 03 Type TC 04 Type TC 05 Type TC 06 Type TC 07 Type TC 08 Type TC 09 Type TC 10 Type TC 11 Type TC 12 Type TC 13 Type TC 14 Type TC 15 Type TC 16 Type Generic Name TC01 Do Rmt Cold Junction Calc TC02 Do Rmt Cold Junction Calc TC03 Do Rmt Cold Junction Calc TC04 Do Rmt Cold Junction Calc TC05 Do Rmt Cold Junction Calc

278589
Float Float Float Float Integer Float Integer Boolean Boolean Integer String Integer Integer String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String Boolean Boolean Boolean Boolean Boolean

Metso Automation

3- 84

Function Blocks Programmer's Ref. & User's Guide


RmtCJ06 RmtCJ07 RmtCJ08 RmtCJ09 RmtCJ10 RmtCJ11 RmtCJ12 RmtCJ13 RmtCJ14 RmtCJ15 RmtCJ16 SimStatus Desc ShDesc AltDesc AltShDesc RedundantIO TReason01 TReason02 TReason03 TReason04 TReason05 TReason06 TReason07 TReason08 TReason09 TReason10 TReason11 TReason12 TReason13 TReason14 TReason15 TReason16 Revision AlarmText AltAlarmText AlmTime Acked Defeat Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Parameter TC06 Do Rmt Cold Junction Calc TC07 Do Rmt Cold Junction Calc TC08 Do Rmt Cold Junction Calc TC09 Do Rmt Cold Junction Calc TC10 Do Rmt Cold Junction Calc TC11 Do Rmt Cold Junction Calc TC12 Do Rmt Cold Junction Calc TC13 Do Rmt Cold Junction Calc TC14 Do Rmt Cold Junction Calc TC15 Do Rmt Cold Junction Calc TC16 Do Rmt Cold Junction Calc Sim Status: 0=Good, 1=Bad Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm Reason Text 01 Alarm Reason Text 02 Alarm Reason Text 03 Alarm Reason Text 04 Alarm Reason Text 05 Alarm Reason Text 06 Alarm Reason Text 07 Alarm Reason Text 08 Alarm Reason Text 09 Alarm Reason Text 10 Alarm Reason Text 11 Alarm Reason Text 12 Alarm Reason Text 13 Alarm Reason Text 14 Alarm Reason Text 15 Alarm Reason Text 16 Revision of card Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Disables all alarms when non-zero. The non zero defeat values are the security level of the defeat, except at nine where the alarm can be defeated at any level and is designated as such by 11 19. (DPU4F Only) Card Type index Checksum of the revision Date of the revision Card type read data Board Status TC 01 Status TC 02 Status TC 03 Status TC 04 Status

278589
Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String Boolean String String String String String String String String String String String String String String String String Integer String String Time Float Float

CardType Checksum Date TypeRead Status SigStatus01 SigStatus02 SigStatus03 SigStatus04

Status Status Status Status Status Status Status Status Status

Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation

3- 85

Function Blocks Programmer's Ref. & User's Guide


SigStatus05 SigStatus06 SigStatus07 SigStatus08 SigStatus09 SigStatus10 SigStatus11 SigStatus12 SigStatus13 SigStatus14 SigStatus15 SigStatus16 AltTSigTyp01 AltTSigTyp02 AltTSigTyp03 AltTSigTyp04 AltTSigTyp05 AltTSigTyp06 AltTSigTyp07 AltTSigTyp08 AltTSigTyp09 AltTSigTyp10 AltTSigTyp11 AltTSigTyp12 AltTSigTyp13 AltTSigTyp14 AltTSigTyp15 AltTSigTyp16 TsigTyp01 TsigTyp02 TsigTyp03 TsigTyp04 TsigTyp05 TsigTyp06 TsigTyp07 TSigTyp08 TSigTyp09 TSigTyp10 TSigTyp11 TSigTyp12 TSigTyp13 TSigTyp14 TSigTyp15 TSigTyp16 TMode LastBadStatius Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status TC 05 Status TC 06 Status TC 07 Status TC 08 Status TC 09 Status TC 10 Status TC 11 Status TC 12 Status TC 13 Status TC 14 Status TC 15 Status TC 16 Status TC 01 Alt. Type Text TC 02 Alt. Type Text TC 03 Alt. Type Text TC 04 Alt. Type Text TC 05 Alt. Type Text TC 06 Alt. Type Text TC 07 Alt. Type Text TC 08 Alt. Type Text TC 09 Alt. Type Text TC 10 Alt. Type Text TC 11 Alt. Type Text TC 12 Alt. Type Text TC 13 Alt. Type Text TC 14 Alt. Type Text TC 15 Alt. Type Text TC 16 Alt. Type Text TC 01 Type Text TC 02 Type Text TC 03 Type Text TC 04 Type Text TC 05 Type Text TC 06 Type Text TC 07 Type Text TC 08 Type Text TC 09 Type Text TC 10 Type Text TC 11 Type Text TC 12 Type Text TC 13 Type Text TC 14 Type Text TC 15 Type Text TC 16 Type Text Text Mode Last Bad Status from Module. Can be zeroed

278589
Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String Integer

Enumerated Attributes:

Metso Automation

3- 86

Function Blocks Programmer's Ref. & User's Guide

278589

maxPAC: Model # 0 style 564 1 maxPAC IOP114 IOP304* Part # 081803 181503 # of Addresses 16 2 # of Channels 15 16 Description 564 Thermocouple Module maxPAC Thermocouple Module

* Note: these settings represent the normal use for modules in new installations. The IOP304 can be jumpered to be compatible with older systems that used a 16 channel address mode. This mode of operation is not recommended for use in a DPU4F, but can be used if the 0- style 564 mode is set. Refer to the appropriate hardware manual for jumper settings. Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O RmtCJXX: 0 Do Not Perform Remote Cold Junction Calculation 1 Perform Remote Cold Junction Calculation SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status SigStatusXX: 0 Signal OKay 1 Singnal Over Range 2 Singnal Under Range 3 Open Circuit 4 Card Failure 5 Unknown Failure SigTypXX: 100 J Type (Degrees F) 101 K Type (Degrees F) 102 T Type (Degrees F) 103 E Type (Degrees F) 104 S Type (Degrees F) 105 R Type (Degrees F) 106 B Type (Degrees F) 107 N Type (Degrees F) 108 G Type (Degrees F) 109 C Type (Degrees F) 110 D Type (Degrees F) 111 Platinum II Type (Degrees F) 200 J Type (Degrees C) 201 K Type (Degrees C) 202 T Type (Degrees C) 203 E Type (Degrees C) 204 S Type (Degrees C) 205 R Type (Degrees C)

Metso Automation

3- 87

Function Blocks Programmer's Ref. & User's Guide


206 B Type (Degrees C) 207 N Type (Degrees C) 208 G Type (Degrees C) 209 C Type (Degrees C) 210 D Type (Degrees C) 211 Platinum II Type (Degrees C) 300 - 10 Millivolts 301 - 25 Millivolts 302 - 60 Millivolts 303 - 100 Millivolts 304 - 250 Millivolts 305 - 600 Millivolts Status:

278589

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation

3- 88