BC9191 - Room Controller for Building Automation

BECKHOFF Fieldbus Components

Start.jpg (207194 Byte)

Documentation for

BC9191-0000 and BC9191-0100

Room Controller for Building Automation

Version: 1.1.0
Date: 2014-01-21


Notes on the documentation

This description is only intended for the use of trained specialists in control and automation engineering who are familiar with the applicable national standards.
It is essential that the following notes and explanations are followed when installing and commissioning these components.

The responsible staff must ensure that the application or use of the products described satisfy all the requirements for safety, including all the relevant laws, regulations, guidelines and standards.

Disclaimer

The documentation has been prepared with care. The products described are, however, constantly under development.
For that reason the documentation is not in every case checked for consistency with performance data, standards or other characteristics.
In the event that it contains technical or editorial errors, we retain the right to make alterations at any time and without warning.
No claims for the modification of products that have already been supplied may be made on the basis of the data, diagrams and descriptions in this documentation.

Trademarks

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE® and XFC® are registered trademarks of and licensed by Beckhoff Automation GmbH.
Other designations used in this publication may be trademarks whose use by third parties for their own purposes could violate the rights of the owners.

Patent Pending

The EtherCAT Technology is covered, including but not limited to the following patent applications and patents:
EP1590927, EP1789857, DE102004044764, DE102007017835
with corresponding applications or registrations in various other countries.

The TwinCAT Technology is covered, including but not limited to the following patent applications and patents:
EP0851348, US6167425 with corresponding applications or registrations in various other countries.

Copyright

© Beckhoff Automation GmbH.
The reproduction, distribution and utilization of this document as well as the communication of its contents to others without express authorization are prohibited.
Offenders will be held liable for the payment of damages. All rights reserved in the event of the grant of a patent, utility model or design.


Safety instructions

Safety rules

Consider the following safety instructions and descriptions!
Product specific safety instructions are to be found on the following pages or in the areas mounting, wiring, commissioning etc.

Disclaimer

All the components are supplied in particular hardware and software configurations appropriate for the application. Modifications to hardware or software configurations other than those described in the documentation are not permitted, and nullify the liability of Beckhoff Automation GmbH.

Personnel qualification

This description is only intended for the use of trained specialists in control, automation and drive engineering who are familiar with the applicable national standards.

Description of symbols

The following symbols with a adjoining safety advise or notice are used in this documentation. You have to read the safety advices carefully and adhere them strictly!

DANGER 		Acute risk of injury!
If you do not adhere the safety advise adjoining this symbol, there is immediate danger to life and health of individuals!

WARNING 		Risk of injury!
If you do not adhere the safety advise adjoining this symbol, there is danger to life and health of individuals!

CAUTION 		Hazard to individuals!
If you do not adhere the safety advise adjoining this symbol, there is obvious hazard to individuals!

Attention 		Hazard to devices and environment
If you do not adhere the notice adjoining this symbol, there is obvious hazard to materials and environment.

Note 		Note or pointer
This symbol indicates information that contributes to better understanding.


BC9191 - Documentation issue status

BECKHOFF BC9191: Foreword

Documentation Issue Status

Version | Comment
1.1.0 | Chapter BC9191 in Master/Slave mode extended
1.0.0 | First release (only german Version available)

Firmware BC9191

You can determine which firmware was fitted when the Bus Coupler left the factory from the adhesive label underneath (see the fifth and sixth figures of the production number).

Example:
2713 SW:3.0 HW:4.1 0000
The firmware version of the example is 3.0.

Firmware | Description
3.0 | First firmware version from stock delivery


The Beckhoff Bus Terminal System

Up to 64 Bus Terminals each having 2 I/O channels for each signal form

The Bus Terminal system is the universal interface between a fieldbus system and the sensor / actuator level. A unit consists of a Bus Coupler as the head station, and up to 64 electronic series terminals, the last one being an end terminal. For each technical signal form, terminals are available each having two I/O channels, and these can be mixed in any order. All the terminal types have the same mechanical construction, so that difficulties of planning and design are minimized. The height and depth match the dimensions of compact terminal boxes.

Decentralized wiring of each I/O level

Fieldbus technology allows more compact forms of controller to be used. The I/O level does not have to be brought to the controller. The sensors and actuators can be wired decentrally, using minimum cable lengths. The controller can be installed at any location within the plant.

Industrial PCs as controllers

The use of an Industrial PC as the controller means that the operating and observing element can be implemented in the controller’s hardware. The controller can therefore be located at an operating panel, in a control room, or at some similar place. The Bus Terminals form the decentralized input/output level of the controller in the control cabinet and the subsidiary terminal boxes. The power sector of the plant is also controlled over the bus system in addition to the sensor/actuator level. The Bus Terminal replaces the conventional series terminal as the wiring level in the control cabinet. The control cabinet can have smaller dimensions.

Bus Couplers for all usual bus systems

The Beckhoff Bus Terminal system unites the advantages of a bus system with the possibilities of the compact series terminal. Bus Terminals can be driven within all the usual bus systems, thus reducing the controller parts count. The Bus Terminals then behave like conventional connections for that bus system. All the performance features of the particular bus system are supported.

Assembly on standardized mounting rails

The easy, space-saving, assembly on a standardized mounting rail (EN 50022, 35 mm), and the direct wiring of actuators and sensors, without cross-connections between the terminals, standardizes the installation. The consistent labelling scheme also contributes.

The small physical size and the great flexibility of the Bus Terminal system allows it to be used wherever a series terminal is also used. Every type of connection, such as analog, digital, serial or the direct connection of sensors can be implemented.

Modularity

The modular assembly of the terminal strip with Bus Terminals of various functions limits the number of unused channels to a maximum of one per function. The presence of two channels in one terminal is the optimum compromise of unused channels and the cost of each channel. The possibility of electrical isolation through potential feed terminals also helps to keep the number of unused channels low.

Display of the channel state

The integrated LEDs show the state of the channel at a location close to the sensors and actuators.

K-Bus

The K-Bus is the data path within a terminal strip. The K-Bus is led through from the Bus Coupler through all the terminals via six contacts on the terminals’ side walls. The end terminal terminates the K-Bus. The user does not have to learn anything about the function of the K-Bus or about the internal workings of the terminals and the Bus Coupler. Many software tools that can be supplied make project planning, configuration and operation easy.

Potential feed terminals for isolated groups

The operating voltage is passed on to following terminals via three power contacts. You can divide the terminal strip into arbitrary isolated groups by means of potential feed terminals. The potential feed terminals play no part in the control of the terminals, and can be inserted at any locations within the terminal strip.

Up to 64 terminals can be used within one terminal strip. This count does include potential feed terminals, but not the end terminal.

Bus Couplers for various fieldbus systems

Various Bus Couplers can be used to couple the electronic terminal strip quickly and easily to different fieldbus systems. It is also possible to convert to another fieldbus system at a later time. The Bus Coupler performs all the monitoring and control tasks that are necessary for operation of the connected Bus Terminals. The operation and configuration of the Bus Terminals is carried out exclusively by the Bus Coupler. Nevertheless, the parameters that have been set are stored in each Bus Terminal, and are retained in the event of voltage drop-out. Fieldbus, K-Bus and I/O level are electrically isolated.

If the exchange of data over the fieldbus is prone to errors or fails for a period of time, register contents (such as counter states) are retained, digital outputs are cleared, and analog outputs take a value that can be configured for each output when commissioning. The default setting for analog outputs is 0 V or 0 mA. Digital outputs return in the inactive state. The timeout periods for the Bus Couplers correspond to the usual settings for the fieldbus system. When converting to a different bus system it is necessary to bear in mind the need to change the timeout periods if the bus cycle time is longer.

The interfaces

A Bus Coupler has six different methods of connection. These interfaces are designed as plug connectors and as spring-loaded terminals.


BC9191 - Introduction

BECKHOFF BC9191: Product overview

Introduction

The BC9191 is a Room Controller with a compact design and local intelligence.

The integrated digital and analog I/Os cover the typical standard functions for room temperature management.
The K-bus interface makes extension by Beckhoff Bus Terminal systems entire range of signals possible.

There are two Ethernet interfaces for communication with the higher level Building Controller or other BC9191.

Furthermore a additional sub-bus is provided.

Types of BC9191

The BC9191 is available in two different types. These differ by SubBus, memory and cycle time.

  • Type BC9191-0000 offers a CAN Bus to connect the KL6583 EnOcean transceiver.
  • Type BC9191-0100 offers an RS485 interface for an efficient connection of room control units.
 | BC9191-0000 | BC9191-0100
SubBus | EnOcean KL6853 | RS485 / Modbus RTU / DMX
PLC memory | 48 kByte | 128 kByte
Data memory | 32 kByte | 128 kByte
PLC cycla time (for 1.000 commands without I/O cycle and K-Bus) | ca. 0.9 ms*/td | ca. 0.7 ms*
Quick links

Installation

Configuration


BC9191 - Technical data

BECKHOFF BC9191: Product overview

Technical data

Bus Terminal Controller | BC9191-0000 | BC9191-0100
Number of Bus Terminals | 64
Maximum number of bytes Fieldbus | 512 Byte input, 512 Byte output
Digital inputs | 3, for connecting potential free contacts (e.g. for window contact, dew point sensor, occupancy sensor)
Digital outputs | 1 x LED output (10 mA) 1 x 230 VAC, 10 A, relay (e.g. for air heater) 3 x 230 VAC, 1 A, relay (e.g. for 3-stage fan) 2 x 230 VAC, 1 A, Triac (e.g. for valves for heating and cooling)
Analog inputs | 3 x 0...10 V (z. B. for CO2 sensor, air quality sensor, brightness sensor) 1 x PT/Ni1000 (PT1000: -20…+60°C, NI1000: -15...+55°C) for air temperature measurement 1 x resistance measurement for set value specification ( 0...10kOhm)
Analog outputs | 2 x 0…10 V (e.g. for volumetric air flow controller)
Sub bus systems | 1 x K-Bus 1 x system bus for KL6583 (EnOcean) | 1 x K-Bus 1 x RS485 (e.g. Modbus-RTU/DMX)
Dielectric strength | 500 V (supply voltage / fieldbus)
Power supply | 230 VAC
Current consumption | typically 80 mA (at 230 V), max. 220 mA (at 85 V)
Power loss | max. 15 W
K-Bus power supply | max. 200 mA
Weight | ca. 350 g
Permissible ambient temperature range at operation | 0°C ... +55°C
Permissible ambient temperature range at storage | -25°C ... +85°C
Permissible relative humidity | max. 95%, no condensation
Vibration / shock resistance | conforms to EN 60068-2-6 / EN 60068-2-27
EMC resistance burst / ESD | conforms to EN 61000-6-2 / EN 61000-6-4
Permissible installation position | vertical on a mounting rail that is horizontal fixed to a wall (see chapter installation position)
Protection class | IP20
Approval | CE
PLC | BC9191-0000 | BC9191-0100
Programming/configuration | with TwinCAT via Ethernet (TwinCAT 2.11 Build 2034 or higher, no TwinCAT 3)
Program memory | 48 kByte | 128 kByte
Data memory | 32 kByte | 128 kByte
Remanent flags | 2 kByte | 2 kByte
PLC cycle time for 1.000 commands (without I/O cycle, K-Bus) | ca. 0.9 ms | ca. 0.7 ms
Number of run time systems | 1
Programming languages | IEC 6-1131-3 (IL, LD, FBD, ST, SFC)
Online Change | yes
Fieldbus | BC9191-0000 | BC9191-0100
Fieldbus | Ethernet
Ethernet connectors | 2 x RJ45 (internal switch)
Auto-Crossing | yes
Data transfer rate | 10/100 MBaud
Protocols | Modbus-TCP/IP, Ethernet-TCP/IP, Beckhoff ADS via TCP and UDP
Data transfer medium | 4 x 2 twisted pair copper cable; category 3 (10 MBaud), category 5 (100 MBaud)
Distance between modules | 100 m (distributor hub to BC9191) Line: max. 100 m between two BC9191
Topology | - star wiring - line wiring (20 x BC9191 in line maximum)
Number of I/O module | only limited by the IP address space
Number of I/O points | depending on the higher level controller system
Connections | BC9191-0000 | BC9191-0100
Number of ADS connections via TCP/IP | 5
Number of ADS connections via UDP/IP | 1
Number of ModbusTCP connections | 3
SMTP (Simple Mail Transfer Protocol) | yes
SNTP (Simple Network Time Protocol) | yes
BootP/DHCP | yes/yes
Number of UDP socket connections | 3
Number of TCP socket connections | 3


BC9191 - interfaces and connections

BECKHOFF BC9191: Product overview

Interfaces and connections

Interface | Number | Application examples
Digital input | 3 | Window contact, dew point, occupancy sensor
LED output | 1 | LED occupancy
Analog input 0 - 10 V | 3 | CO2 sensor, air quality sensor, brightness sensor
Resistance measurement | 1 | Set value specification with potentiometer (e.g. room temperature setting)
Input for PT/NI1000 | 1 | Air temperature measurement (-20 °C to +60 °C)
Analog output, 0 to 10 V | 2 | Control of volumetric air flow
Relay output, 10 A | 1 | Air heater
Relay output, 2 A | 3 | Three-stage fan
Triac output, 1 A | 2 | Valves for heating and cooling
Sub-Bus | 1 | BC9191-0000 | CAN-Bus | Connection of a room control unit or an EnOcean module (KL6583)
 |  | BC9191-0100 | RS485 | e.g. Modbus RTU


BC9191 - Dimensions

BECKHOFF BC9191: Product overview

Dimensions


BC9191 - installation position and minimum distances

BECKHOFF BC9191: Mounting and wiring

Installation position and minimum distances

Attention 		Mounting specifications

In order to ensure optimum function of the BC9191, observe the following when mounting it:

  • Installation position
  • Minimum distances
  • Ambient temperature

Installation position

Mount the mounting rail horizontally so that the connection areas of the snapped-on BC9191 face forwards (see illustration).
The BC9191 is then ventilated from below, which enables optimum cooling of the electronics by convection. "From below" is relative to the acceleration of gravity.

Minimum distances

When mounting, adhere to the minimum distances to other components and the walls of the control cabinet or terminal box employed as specified in the illustration above.

Ambient temperature

Ensure adequate ventilation so that the permissible ambient temperature range for the BC9191 is maintained in the control cabinet or terminal box employed (see technical data)!


Installation of Bus Terminals on mounting rails

WARNING 		Risk of electric shock and damage of device!
Bring the bus terminal system

Assembly

The Bus Coupler and Bus Terminals are attached to commercially available 35 mm mounting rails (DIN rails according to EN 50022) by applying slight pressure:

  1. First attach the Fieldbus Coupler to the mounting rail.
  2. The Bus Terminals are now attached on the right-hand side of the Fieldbus Coupler. Join the components with tongue and groove and push the terminals against the mounting rail, until the lock clicks onto the mounting rail.
    If the Terminals are clipped onto the mounting rail first and then pushed together without tongue and groove, the connection will not be operational! When correctly assembled, no significant gap should be visible between the housings.

During the installation of the Bus Terminals, the locking mechanism of the terminals must not come into conflict with the fixing bolts of the mounting rail.

Disassembly

Each terminal is secured by a lock on the mounting rail, which must be released for disassembly:

  1. Carefully pull the orange-colored lug approximately 1 cm out of the disassembled terminal, until it protrudes loosely. The lock with the mounting rail is now released for this terminal, and the terminal can be pulled from the mounting rail without excessive force.
  2. Grasp the released terminal with thumb and index finger simultaneous at the upper and lower grooved housing surfaces and pull the terminal away from the mounting rail.

Connections within a bus terminal block

The electric connections between the Bus Coupler and the Bus Terminals are automatically realized by joining the components:

  • The six spring contacts of the K-Bus/E-Bus deal with the transfer of the data and the supply of the Bus Terminal electronics.
  • The power contacts deal with the supply for the field electronics and thus represent a supply rail within the bus terminal block. The power contacts are supplied via terminals on the Bus Coupler.

Note 		Power Contacts
During the design of a bus terminal block, the pin assignment of the individual Bus Terminals must be taken account of, since some types (e.g. analog Bus Terminals or digital 4-channel Bus Terminals) do not or not fully loop through the power contacts.
Power Feed Terminals (KL91xx, KL92xx or EL91xx, EL92xx

PE power contact

The power contact labeled PE can be used as a protective earth. For safety reasons this contact mates first when plugging together, and can ground short-circuit currents of up to 125 A.

Attention 		Possible damage of the device
Note that, for reasons of electromagnetic compatibility, the PE contacts are capacitatively coupled to the mounting rail. This may lead to incorrect results during insulation testing or to damage on the terminal (e.g. disruptive discharge to the PE line during insulation testing of a consumer with a nominal voltage of 230 V).

For insulation testing, disconnect the PE supply line at the Bus Coupler or the Power Feed Terminal! In order to decouple further feed points for testing, these

The PE power contact must not be used for other potentials!

Wiring

Up to eight connections enable the connection of solid or finely stranded cables to the Bus Terminals. The terminals are implemented in spring force technology. Connect the cables as follows:

  1. Open a spring-loaded terminal by slightly pushing with a screwdriver or a rod into the square opening above the terminal.
  2. The wire can now be inserted into the round terminal opening without any force.
  3. The terminal closes automatically when the pressure is released, holding the wire securely and permanently.

Note 		Shielding
Analog sensors and actors


Potential Groups, Insulation Testing and PE

Potential groups

The Beckhoff Bus Terminals stations usually have three different potential groups:

  • The fieldbus interface is electrically isolated (except for individual Low Cost couplers) and forms the first potential group
  • Bus Coupler / Bus Terminal Controller logic, K-Bus and terminal logic form a second galvanically separated potential group
  • The inputs and outputs are supplied via the power contacts and form further potential groups.

Groups of I/O terminals can be consolidated to further potential groups via potential supply terminals or separation terminals.

Insulation testing

The connection between the Bus Coupler / Bus Terminal Controller and the Bus Terminals is automatically realized by pushing the components together. The transfer of the data and the supply voltage for the intelligent electronics in the Bus Terminals is performed by the K-Bus. The supply of the field electronics is performed through the power contacts. Plugging together the power contacts creates a supply rail. Since some Bus Terminals (e.g. analog Bus Terminals or 4-channel digital Bus Terminals) are not looped through these power contacts (or not completely) the Bus Terminal contact assignments must be considered.

The potential feed terminals interrupt the power contacts, and represent the start of a new supply rail. The Bus Coupler / Bus Terminal Controller can also be made use of to feed the power contacts.

PE power contacts

The power contact labelled PE can be used as a protective earth. For safety reasons this contact mates first when plugging together, and can ground short-circuit currents of up to 125 A.

It should be noted that, for reasons of electromagnetic compatibility, the PE contacts are capacitively coupled to the mounting rail. This can both lead to misleading results and to damaging the terminal during insulation testing (e.g. breakdown of the insulation from a 230 V power consuming device to the PE conductor). The PE conductor to the Bus Coupler / Bus Terminal Controller must be disconnected for the insulation testing. In order to uncouple further feed locations for the purposes of testing, the feed terminals can be pulled at least 10 mm out from the connected group of other terminals. In that case, the PE conductors do not have to be disconnected.

The PE power contact must not be used for other potentials.


BK90x0, BK91x0, BC90x0, BC9191 - Ethernet topologies

BECKHOFF Fieldbus Components: Mounting and wiring

Ethernet topologies

BK9000, BK9050, BC9000, BC9020, BC9050

These Bus Couplers and Bus Terminal Controllers have a single Ethernet interface. It can be connected directly to an external switch, so that a typical Ethernet star topology can be created.

BK9100, BC9100, BC9120, BC9191

These Bus Couplers and Bus Terminal Controllers have an internal triple switch with two external ports and one internal port. The internal switch facilitates creation of a line topology. A maximum of 20 BK9100/BC9100/BC9191s can be connected in series in a physical line. The maximum distance between two Ethernet devices is 100 m. The maximum overall line length is therefore 2 km. No further switches may be included in this line.

Naturally, these Bus Couplers and Bus Terminal Controllers also enables a classic star topology to be set up.


BC9191 – Ethernet connection

BECKHOFF BC9191: Ethernet

Ethernet connection

The connection to the Ethernet bus is made via an RJ45 connector (a Western plug).

BC9000_Connector.jpg (6645 bytes)

Pin assignment of the RJ45 plug

PIN | Signal | Description
1 | TD + | Transmit +
2 | TD - | Transmit -
3 | RD + | Receive +
4 | - | reserved
5 | - | reserved
6 | RD - | Receive -
7 | - | reserved
8 | - | reserved

Direct connection between PC with Ethernet card and BC9191

A crossed or an uncrossed Ethernet cable can be used to connect the PC directly to the Bus Terminal Controller. The internal switch in the BC9191 detects this automatically.


BC9191-0000 – Terminal strip X1

BECKHOFF BC9191-0000: Mounting and wiring

BC9191-0000: Terminal strip X1

Terminal point | Designation | Assignment | Comment
1 | DI 1 | Input for switching contact 1 | For floating contact, e.g. window contact
2 | GND | GND | GND for switching contact 1
3 | DI 2 | Input for switching contact 2 | For floating contact, e.g. dew point
4 | GND | GND | GND for switching contact 2
5 | DI 3 | Input for switching contact 3 | For floating contact, e.g. occupancy sensor
6 | GND | GND | GND for switching contact 3 and LED
7 | DO1 | LED output | Output for LED, e.g. display on the room control unit
8 | PT1000 | Input PT/NI 1000 | Connection for PT/NI 1000
9 | GND | GND | GND for PT/NI 1000 and set value generator
10 | Potentiometer | Potentiometer | Connection for set value generator (potentiometer 1 KΩ to 10 KΩ)
11 | AI 1 | Analog input 1 | Analog input 0 to 10 V (also usable as 24 V digital input)
12 | AI 2 | Analog input 2 | Analog input 0 to 10 V (also usable as 24 V digital input)
13 | AI 3 | Analog input 3 | Analog input 0 to 10 V (also usable as 24 V digital input)
14 | GND | GND | 0 V potential of the analog input signals
15 | GND | GND | GND of the data cable for KL6583 (screen of the data cable should be connected to PE)
16 | +24V | +24V DC voltage | Max. 100 mA for the supply of KL6583 (EnOcean) or external operating device. Internal PolySwitch fuse, which can be reset after tripping by switching the BC9191 off.
17 | CAN+ | CAN + | Data cable for KL6583 (enOcean)
18 | CAN+ | CAN -


BC9191-0100 - Terminal strip X1

BECKHOFF BC9191-0100: Mounting and wiring

BC9191-0100: Terminal strip X1

Terminal point | Designation | Assignment | Comment
1 | DI 1 | Input for switching contact 1 | For floating contact, e.g. window contact
2 | GND | GND | GND for switching contact 1
3 | DI 2 | Input for switching contact 2 | For floating contact, e.g. dew point
4 | GND | GND | GND for switching contact 2
5 | DI 3 | Input for switching contact 3 | For floating contact, e.g. occupancy sensor
6 | GND | GND | GND for switching contact 3 and LED
7 | DO1 | LED output | Output for LED, e.g. display on the room control unit
8 | PT1000 | Input PT/NI 1000 | Connection for PT/NI 1000
9 | GND | GND | GND for PT/NI 1000 and set value generator
10 | Potentiometer | Potentiometer | Connection for set value generator (potentiometer 1 KΩ to 10 KΩ)
11 | AI 1 | Analog input 1 | Analog input 0 to 10 V (also usable as 24 V digital input)
12 | AI 2 | Analog input 2 | Analog input 0 to 10 V (also usable as 24 V digital input)
13 | AI 3 | Analog input 3 | Analog input 0 to 10 V (also usable as 24 V digital input)
14 | GND | GND | 0 V potential of the analog input signals
15 | GND | GND | GND of the RS485 (screen of the bus cable should be connected to PE)
16 | +24V | +24V DC voltage | Max. 100 mA for the supply of 24V loads. Protected by an internal PolySwitch fuse, which can be reset after tripping by switching the BC9191 off.
17 | RS485 | RS485/A | RS485 data cable, e.g. Modbus RTU
18 | RS485 | RS485/B


BC9191 – Terminal strips X2 and X3

BECKHOFF BC9191-0000, BC9191-0100: Mounting and wiring

Terminal strips X2 and X3

Terminal strip X2

Terminal point | Designation | Assignment | Comment
20 | AO 1 | Analog output 1 | Analog output 0 to 10 V, e.g. air volume control
21 | GND | GND | GND for analog outputs
22 | AO 2 | Analog output 2 | Analog output 0 to 10 V, e.g. air volume control

Terminal strip X3

Terminal point | Designation | Assignment | Comment
30 | 2 kW | K1 | Floating relay, 230 V~, 10 A, e.g. for electrical auxiliary heating
31 | 2 kW | K2 | Floating relay, 230 V~, 10 A, e.g. for electrical auxiliary heating
32 | FAN 1 | Fan speed 1 | Relay output, 230V~, e.g. low fan speed
33 | FAN 2 | Fan speed 2 | Relay output, 230V~, e.g. medium fan speed
34 | FAN 3 | Fan speed 3 | Relay output, 230V~, e.g. high fan speed
35 | L | Phase | Supply for relay, fan speeds 1 to 3
36 | N | Neutral conductor | Neutral conductor, e.g. for fan
37 | Y1 | Triac output 1 | Triac output 1, 230V~, max 1A, switches at zero crossing, e.g. “heating” valve
38 | N | N | Neutral conductor for triac output 1
39 | Y2 | Triac output 2 | Triac output 2, 230V~, max 1A, switches at zero crossing, e.g. “cooling” valve
40 | N | N | Neutral conductor for triac output 2
41 | L1 | L1 | Power supply connection 230 V~
42 | N | Neutral conductor | Power supply connection N
43 | FE | Functional earth | Earth connection, capacitively connected to GND


BC9191 - Start-up behavior

BECKHOFF BC9191: Parameterizing and commissioning

Start-up behavior

After being switched on, the BC9191 checks its state, configures the K-Bus, creates a structure list on the basis of the inserted bus terminals and starts it's local PLC.

The I/O LEDs illuminate and flash as the Bus Coupler starts up. If there are no errors, the I/O LEDs should stop flashing within about 2-3 seconds.
In the case of an error, the flash code of the according LED depends on the error type (see chapter Diagnostic LEDs).


BC9191 - Parameterization by DIP switch

BECKHOFF BC9191: Parameterization and commissioning

Parameterization by DIP switch

The following parameterizations can be carried out without using configuration software, with the aid of the DIP switches and the end terminal (KL9010).
This parameterization mode is only active if only one end terminal (KL9010) is inserted in the BC9191. Otherwise, the normal settings apply.

Restoring the manufacturer's settings

  • Switch off the BC9191, and plug in just the end terminal (KL9010).
  • Set DIP switches 1 to 8 to 255 (all ON, 11111111bin), DIP switches 9 and 10 to 0 (all OFF, 00bin) and switch the BC9191 on again.
  • Once the default parameters have successfully been set, the Error LED lights, and the I/O RUN and I/O ERR LEDs flash alternately.
  • After that you can switch the BC9191 off if necessary in order to connect Bus Terminals again and proceed as usual.

Deletion of the boot project (from firmware version 2.11)

  • Switch off the BC9191, and plug in just the end terminal (KL9010).
  • Set DIP switches 1 to 8 to 254 (switches 2 to 8 to ON, switch 1 to OFF, 11111110bin) and switch the BC9191 on again.
  • Once the boot project has been successfully deleted, the I/O RUN and I/O ERR LEDs flash alternately.
  • After that you can switch the BC9191 off if necessary in order to connect Bus Terminals again and proceed as usual.

Deletion of the TC-Config (from firmware version 2.11)

  • Switch off the BC9191, and plug in just the end terminal (KL9010).
  • Set DIP switches 1 to 8 to 253 (switches 3 to 8 to ON, switch 2 to OFF, switch 1 to ON, 11111101bin) and switch the BC9191 on again.
  • After successful deletion of the TC-Config the I/O RUN and I/O ERR LEDs flash alternately.
  • After that you must switch the BC9191 off!
  • If necessary you can then connect Bus Terminals again and proceed as usual.

Setting the Ethernet parameters

  • Switch off the BC9191, and plug in just the end terminal (KL9010).
  • Set all DIP switches to OFF and switch the BC9191 on again.
  • The I/O RUN and I/O ERR LEDs light steadily.
  • Make the desired setting in accordance with the following table.
DIP switch | Parameter | Selection | Setting | Comment
1 | Baud rate | 10 Mbaud | OFF (0)
100 Mbaud | ON (1) | Default
2 | Auto-Baud-Rate | Disable | OFF (0)
Enable | ON (1) | Default
3 | Transmission type | Half duplex | OFF (0)
Full duplex | ON (1) | Default
  • To accept the values, set DIP switch 10 to ON.
    The BC9191 now indicates by the flashing of the I/O RUN and I/O ERR LEDs that it has accepted the parameters.
  • You can then switch the BC9191 off, connect the Bus Terminals, and continue as usual.


BC9191 - IP Address

BECKHOFF Automation GmbH

IP Address

In preparation


BC9191 - PT1000 / NI1000 / NI1000Tk5000 analog input

BECKHOFF BC9191: Parameterization and commissioning

PT1000 / NI1000 / NI1000Tk5000 analog input

A temperature sensor can be directly connected to connections 8 and 9 of terminal strip X1.

The type of the temperature sensor is set to PT1000 in the standard and can be changed by means of register R32 or the KS2000 software.

Temperature sensor | Measuring range | Output of the process data | Register entry
PT1000 | -20 °C to + 60 °C | in steps of 1/10 degree. -20°C = -200dez 0°C = 0dez +20°C = +200dez +40°C = +400dez +60°C = +600dez | 2# 0010 0000 0000 0000 16# 2000
NI1000 | -15? to +55? |  | 2# 0101 0000 0000 0000 16# 5000
NI1000Tk5000 | -20°C to +60°C |  | 2# 0111 0000 0000 0000 16# 7000
Resistance (direct) | 910 ? to 1,330 ? | in steps of 1/10 Ohm. 910 ? = 9.100dec 1.000 ? = 10.000dec 1.330 ? = 13.300dec | 2# 1110 0000 0000 0000 16# E000


BC9191 - Potentiometer input

BECKHOFF BC9191: Parameterization and commissioning

Potentiometer input

A setpoint potentiometer can be directly connected to connections 9 and 10 of terminal strip X1 for specifying the room temperature.

It is recommended to use a potentiometer with a nominal value of 10 K?.

The change of the resistance value from 0 to 10 K? is represented in the process value as 0 to 10000 steps.

The resolution is 10 bits.


BC9191 - analog inputs (10 Volt)

BECKHOFF BC9191: Parameterization and commissioning

Analog inputs (10 Volt)

3 analog inputs with a resolution of 10 bits are available at connections 11, 12 and 13 of terminal strip X1.

Input voltage | Process value
0 V | 0dec
5 V | 16383dec
10 V | 32767dec


BC9191 – Analog outputs (10 Volt)

BECKHOFF BC9191: Parameterization and commissioning

Analog outputs (10 Volt)

2 analog outputs with a resolution of 10 bits are available at connections 20 and 22 of terminal strip X2.
Connection 21 is the common ground.

Process value | Output voltage
0dec | 0 V
16383dec | 5 V
32767dec | 10 V


KS2000 Configuration Software

The KS2000 configuration software permits configuration, commissioning and parameterization of bus couplers, of the affiliated bus terminals and of Fieldbus Box Modules. The connection between bus coupler/Fieldbus Box Module and the PC is established by means of the serial configuration cable or the fieldbus.

Configuration

You can configure the Fieldbus stations with the Configuration Software KS2000 offline. That means, setting up a terminal station with all settings on the couplers and terminals resp. the Fieldbus Box Modules can be prepared before the commissioning phase. Later on, this configuration can be transferred to the terminal station in the commissioning phase by means of a download. For documentation purposes, you are provided with the breakdown of the terminal station, a parts list of modules used and a list of the parameters you have modified. After an upload, existing fieldbus stations are at your disposal for further editing.

Parameterization

KS2000 offers simple access to the parameters of a fieldbus station: specific high-level dialogs are available for all bus couplers, all intelligent bus terminals and Fieldbus Box modules with the aid of which settings can be modified easily. Alternatively, you have full access to all internal registers of the bus couplers and intelligent terminals. Refer to the register description for the meanings of the registers.

Commissioning

The KS2000 software facilitates commissioning of machine components or their fieldbus stations: Configured settings can be transferred to the fieldbus modules by means of a download. After a login to the terminal station, it is possible to define settings in couplers, terminals and Fieldbus Box modules directly online. The same high-level dialogs and register access are available for this purpose as in the configuration phase.

The KS2000 offers access to the process images of the bus couplers and Fieldbus Box modules.

  • Thus, the coupler's input and output images can be observed by monitoring.
  • Process values can be specified in the output image for commissioning of the output modules.

All possibilities in the online mode can be used in parallel with the actual fieldbus mode of the terminal station. The fieldbus protocol always has the higher priority in this case.


BC9191 - KS2000 configuration software

BECKHOFF Fieldbus components: Configuration software KS2000

Configuration software KS2000

The KS2000 configuration software enables project planning, commissioning and parameterization of Fieldbus couplers and the associated Bus Terminals, and of the fieldbus Box modules. The connection between fieldbus coupler/fieldbus box and PC is made via a serial configuration cable or via the fieldbus.

Project planning

Using the KS2000 configuration software you can configure the fieldbus stations offline, i.e. prepare the structure of the fieldbus station with all settings of the bus couplers and Bus Terminals or the fieldbus box modules before commissioning. This configuration can later be transferred to the fieldbus station during the commissioning phase. For documentation purposes, the structure of the fieldbus station, a parts list for the fieldbus components employed, a list of parameters modified by you, etc. is prepared. Already existing fieldbus stations are available for further processing after an upload.

Parameterization

KS2000 provides an easy way of accessing the parameters of a fieldbus station: Specific dialogues are available for all the Bus Couplers and all the intelligent Bus Terminals as well as the Fieldbus Box modules, and these can be used to modify the settings easily. Alternatively, you have full access to all internal registers. The meaning of the register is explained in the register description.

Commissioning

KS2000 facilitates the start-up of machine components or their fieldbus stations: Configured settings can be transferred to the fieldbus modules via download. Having logged in to the fieldbus station, settings on the coupler, the terminals and the Fieldbus Box modules can be carried out directly online. To this end, the same dialogues and register access as in the project planning phase are available.

KS2000 offers access to the process images of the Bus Coupler and the Fieldbus Box:

  • It is possible to monitor the input and output images.
  • Values can be specified in the output process image for commissioning of the output modules.

All online mode possibilities can be used in parallel to the actual fieldbus operation of the fieldbus station. Naturally, the fieldbus protocol always has the higher priority.


BC9191 - Fan controller with room temperature control

BECKHOFF BC9191: Programming

Fan controller with room temperature control

Three-stage fan controller with room temperature control (heating/cooling) for a 4-pipe system.

Example program for downloading as a ZIP-file:

Application

With the pre-installed standard air conditioning application it is possible to attain the highest energy efficiency standard of EN15232 Class A. The standard application contains the basic room air conditioning functions according to VDI 3813.

The application contains basic function blocks and basic functions such as:

  • a local temperature measurement with smoothing function and a compensation value,
  • a local setpoint value shift/setpoint correction
  • a scaling function
  • the control of analog actuators
  • a PI controller with input via the proportional band
  • occupancy detection and occupancy signal
  • window monitoring
  • local overriding of the fan stages is possible
  • load optimization is possible

Furthermore, room air conditioning functions are implemented, such as:

  • energy level selection
  • function selection
  • Setpoint determination block for the different energy levels
  • 3-stage fan control (FanCoil)
Notes
  • The pre-installed standard air conditioning application is mapped as a default configuration, i.e. the TwinCAT system manager is not required for the linking of the PLC variables with the I/O level.
  • The Index Groups 16#4020 and 16#4021can be accessed for both reading and writing from a higher-level controller, e.g. BMS or floor controller, by ADS or Modbus TCP. This is accounted for in the application.
  • Parameters of individual subprograms are saved persistently. See also PersistentDataGlobalState.

Main_1 (main program)

All subprograms are called in the main program of the standard application. The connections and communication between the program blocks are given in the main program by the connecting lines. All the program blocks can therefore be seen in a single functioning context.

Connection from block 0 to block 1

The EnergyLevelSelection_SetpointGeneration_FunctionSelection subprogram (EL_SP_FS) transmits the information regarding the energy level, the setpoints of the four energy levels for the heating and cooling operation, the control function (heating/cooling/OFF) and the current room temperature (to blocks 2 and 4).

Connection from block 1 to block 2

FB_BC9191Room enables the cooling function with the valid/calculated energy level setpoint.

Connection from block 1 to block 4

FB_BC9191Room enables the heating function with the valid/calculated energy level setpoint.

Connection from block 1 to block 6

If the heating or cooling function is activated, it enables the fan coil on block 7.

Connection from block 2 to block 3

The cooling controller transmits its control value (0 to 100%) to the control valve. This control value is scaled to the output signal with the value range 0 to 32767; block 3.

Connection from block 4 to block 5

The heating controller transmits its control value (0 to 100%) to the control valve. This control value is scaled to the output signal with the value range 0 to 32767; block 5.

Block 7

3-stage fan coil, which switches the stages automatically depending on the control signal from the controller.

System diagram

Data point list

DP | Name | Type | Program block / function block | Variable | Feature | Terminal strip
Y01 | Heating valve | AO | PI_Heating / fbBC9191AO_0_10V_Heating | stOutData.KL4001_02_AO2_X2_22_21_DataOut | mandatory | X2 Contact X2:22; X2:21
Y02 | Cooling valve | AO | PI_Cooling / fbBC9191AO_0_10V_Cooling | stOutData.KL4001_01_AO1_X2_20_21_DataOut | mandatory | X2 Contact X2:20; X2:21
Q1 | 3-stage fan coil | DA | FanCoil | stOutData.KL9191_DO_DataOut.2 stOutData.KL9191_DO_DataOut.3 stOutData.KL9191_DO_DataOut.4 | mandatory mandatory mandatory | X3 Contact X3:32; X3:35 Contact X3:33; X3:35 Contact X3:34; X3:35
D01 | Window contact | DI | EnergyLevel | stInData.KL9191_DI_DataIn.0 | mandatory | X1 Contact X1:1; X1:2
D03 | Occupancy sensor | DI | EnergyLevel | stInData.KL9191_DI_DataIn.2 | mandatory | X1 Contact X1:5; X1:6
B01 | Room temperature | AI PT /NI 1000 NI1000Tk5000 | EL_SP_FS / fbBC9191TemperatureSensor | stInData.KL3201_AI_RTD_X1_8_9_DataIn stInData.KL3201_AI_RTD_X1_8_9_State | mandatory mandatory | X1 Contact X1:8; X1:9 Contact X1:8; X1:9
R01 | local set value generator | AI 0 - 10.000 Ω | EL_SP_FS / fbBC9191Poti / F_BC9191Scale | stInData.KL3061_01_AI_Poti_X1_10_9_DataIn stInData.KL3061_01_AI_Poti_X1_10_9_State | mandatory mandatory | X1 Contact X1:10; X1:9 Contact X1:10; X1:9
Key

AI: Analog input
AO: Analog output
DI: Digital input
DO: Digital output


BC9191 - Internal function blocks and subprograms

BECKHOFF BC9191: Programming

Internal function blocks and subprograms

FB_BC9191TemperatureSensor

This function block measures and processes the temperature value. The raw temperature value in 1/10 ºC is transferred to the function block via the input variable iRawValue and output via rPresentValue as a floating point number.
The status of the connected temperature sensor is monitored by the input variable usiStateRawValue and is fed back to the controller via the variables bErrTempSensor and udiErrId in case of a wire breakage or short circuit. If an error should occur the last valid value is used as the current value for the control of the temperature.

The temperature measurement can be adapted via the ADD function with a temperature compensation.

The temperature value is then transferred to the subprograms FctSelection, PI_Cooling, PI_Heating and FanCoil.

FB_BC9191Poti and F_BC9191Scale

The function block measures a resistance value (0 to 10 KΩ); in this example a rotary potentiometer with a value of 4.7 KΩ is connected. Via the input variable iRawValue the measured raw value is output 1:1 via rPresentValue. This value is then transferred to the F_BC9191Scale function, which is then scaled to a range of +/- 3K.
The status of the connected resistance value is monitored via the input variable usiStateRawValue. If the nominal range is exceeded, this is fed back to the controller via the variables bErrTempSensor and udiErrId. If there should be an error, the last valid value is used.

The scaled value (setpoint value shift/setpoint correction) is transferred to the SetpointRoom subprogram.

EnergyLevel (PRG)

The energy level is selected locally from the evaluation of the occupancy and window contact information. The basic application has been conceived in such a way that there is an option to centrally integrate timer switch functions for the Protection, Economy and PreComfort energy levels by ADS communication, e.g. from a floor controller. Exactly how that is done is described in “ADS communication”.

The energy level selection program must be enabled via the input variable _bEnable, otherwise the Protection energy level is selected. The input variable _bWindow, to which the digital contact_1 (X1:1; X1:2) is connected, switches the Protection energy level to active if the digital contact is TRUE.

The input variable _bComfort, to which the digital contact_3 (X1:5; X1:6) is connected, switches the Comfort energy level to active if the digital contact is TRUE.

The enumerator _eEnergyLevel is connected to an instance of FB_BC9191Room.

The preset value for the internal parameter _eCtrlMode of the type E_BC9191EnergyLevel is set to _eCtrlMode: = eEnergyLevel_AUTO_II := 5. (* a presence detection in this mode switches from the Protection OR Economy OR PreComfort energy level directly to the Comfort energy level *) An instance of FB_BC9191EnergyLevel is implemented in the EnergyLevel program. The relevant documentation can be found in TcHVAC/FB_BAREnergyLevel.

Function block description for FB_BC9191EnergyLevel

SetpointRoom (PRG)

The SetpointRoom program must be enabled via the input variable _bEnable_SPR so that the setpoint calculation is active. This generates the resulting setpoints of all energy levels for the heating and cooling operation on the basis of the basic setpoint and the local setpoint value shift. A central shift is also possible. This can be done by ADS command. Each energy level has its own setpoints for heating and cooling.

The variables _rSetpointShiftHeat_SPR and_rSetpointShiftUserCool_SPR can be used for room-specific changes; this can be done by ADS command.
_rSetpointShiftUser_SPR is the local setpoint value shift that is measured and scaled by the BC9191. The output structure _stSetpoint_SPR contains the resulting setpoints and is connected to an instance of FB_BC9191Room.

Function block description for FB_BC9191SetpointRoom.

FctSelection (PRG)

The FctSelection program must be enabled via the input variable _bEnable. The standard air conditioning application supports a 4-pipe system. The changeover between heating and cooling operation takes place on the basis of a comparison of the setpoint temperature of the room with the actual temperature of the room. A 2-pipe system via changeover is also possible. This can be done by ADS command if no further I/Os are plugged into the BC9191, provided the structural conditions exist.
Function block description for FB_BC9191FctSelection.

fbBC9191Room (FB)

This function block enables the PI controller for heating or cooling, depending on the enumeration (eCtrlFct). Further inputs are the information about the current energy level (eActualEnergyLevel) and the structure (stSetpointRoom) with resulting setpoints for the individual energy levels. The outputs are an enable for heating, an enable for cooling and a setpoint for the room temperature control.

PI_Cooling (PRG) / PI_Heating (PRG) / FB_BC9191AO_0_10V

The PI_Cooling and PI_Heating programs contain a PI controller. The controllers are enabled via an instance of FB_BC9191Room. Within the control programs there are parameters for setting the controllers; these parameters can also be adjusted by ADS command. The control value of the controllers at the output is scaled to 0 to 100%. The respective controller output is connected to an instance of FB_BC9191AO_0_10V.
The direction of action of the controller is set by the input parameter bDirection. The input must be set to TRUE for the cooling controller.

The function block FB_BC9191AO_0_10V outputs the current control value once in 0 to 100% (rY) and once as a scaled value with a value range (0 to 32767), which can be placed directly on the analog output signal.
AO1 (X2:22; X2:21) ==> heating (0 to 10VDC)
AO2 (X2:20; X2:21) ==> cooling (0 to 10VDC)

Function block description for FB_BC9191PICtrl.

FanCoil (PRG)

The FanCoil program is enabled via the output bEnableCooling OR bEnableHeating of the fbBC9191Room instance or via stBC9191FanCoilFunctions.bEnable. The control value (0 to 100%) from the cooling controller is applied to _rY_C and the control value (0 to 100%) from the heating controller is applied to _rY_H.
The information about whether the operation is heating or cooling comes from the FctSelection program. The limit values can be set via the parameters in each case for heating and cooling for the three fan stages, the minimum switch-on time of the stages, the mode of operation and the timeframe for the manual override.
A manual override is realised via the _bStageUp/_bStageDown inputs by switching up and down, e.g. by further I/Os or by ADS commands. A number between 0 and 4 can be directly specified via _iStageManual, e.g. by ADS command. Furthermore there is a parameter with which a minimum switch-on time can be set, which then applies to each stage.
The state of the fan coil is signalled via the outputs _bStageOff /_bStageAuto. The outputs _bStage01 (X3:32; X3:35), _bStage02 (X3:33; X3:35) and _bStage03 (X3:34; X3:35) are directly connected to the outputs of the BC9191. If one of the three outputs is TRUE, this is signalled at the output _bFanCoilActive.
If a manual override takes place via the inputs bStageUp/_bStageDown/_iStageManual, a timeframe is activated that runs down and presence is signalled (_bPresence = TRUE). After the expiry of the timeframe the mode switches back to automatic.

_iStageManual can be set manually and centrally via an ADS command.

Function block description for FB_BC9191FanCoil

PersistentDataGlobalState (PRG)

The PersistentData function block is contained in TcSystemBCxx50.lbx:

Of the total of 4 KB of allocated flags on the BC9191, 1000 bytes are available for persistent data. The activation of the manufacturer’s setting deletes the persistent data and the command in the PLC Control Online==> overall reset.

In order to use the persistent data, these must first be activated once with a function block from the PLC. In doing so, the size of the persistent data in bytes must be specified once – in this example this is 120 bytes – and the start address once – in this example this is 100.

(fbPersistent_Data.WriteSize:= 120;
fbPersistent_Data.WriteOffset:= 100;)

The parameters for the individual functional units and controllers are saved persistently. The data are saved after each PLC cycle. Two buffers are provided for this, which are written to alternately.
If the size of the persistent data changes, the function block must be re-initialized via the global variable bWriteParameterPersistent.


BC9191 - FB_BC9191EnergyLevel

BECKHOFF BC9191: User PLC program

FB_BC9191EnergyLevel

Application

This function block is for the adaptation of the supply of energy for the use of the building. The type of room utilization is set by the BMS. The longer a building or room is not used, the further the energy level can be lowered. The energy level currently selected by the function block is transferred to the room temperature controller.

Protection:

This operating mode is activated in the case of long absence times e.g. during works holidays or also when a window is open. The energy level is very low and serves only to protect the building from damage caused by frost or overheating.

Economy:

The Economy energy level is used for the economy mode. Economy mode is activated, for example, at night by a timer switch schedule.

PreComfort:

The PreComfort energy level is for an unused room which, however, can be occupied again shortly. The PreComfort mode is frequently activated by a timer switch schedule.

Comfort:
If the room is occupied, it is in Comfort mode. Comfort mode can be activated by a timer switch schedule or by presence recognition.

VAR_INPUT

Name                                : Type
bSetDefault                         : BOOL;
bEnable                             : BOOL;
bWindow                             : BOOL;
bProtection                         : BOOL;
bEconomy                            : BOOL;
bPreComfort                         : BOOL;
bComfort                            : BOOL;

bSetDefault: If the variable is TRUE, the default values of the VAR_IN_OUT variables are adopted.

bEnable: The function block is activated by a TRUE at this input.

bWindow: The window contact is connected to this input. TRUE means that the window is OPEN. FALSE means that the window is CLOSED.

bProtection: Protection mode is activated with the input bProtection. Protection mode is active if the input is TRUE.

bEconomy: Economy mode is activated with the input bEconomy. Economy mode is active if the input is TRUE.

bPreComfort: The Pre-comfort level is activated with this input. The Pre-comfort level is active if the input is TRUE.

bComfort: The Comfort level is activated with this input if the room is occupied.

VAR_OUTPUT

Name                          : Type
eEnergyLevel                  : E_BC9191EnergyLevel;
bStateProtection              : BOOL;
bStateEconomy                 : BOOL;
bStatePreComfort              : BOOL;
bStateComfort                 : BOOL;

eEnergyLevel: This output contains the current energy level.

bStateProtection: The status of the bProtection input is passed on to the outside in the operating mode eEnergyLevel_AUTO_I and eEnergyLevel_AUTO_II.

bStateEconomy: The status of the bEconomy input is passed on to the outside in the operating mode eEnergyLevel_AUTO_I and eEnergyLevel_AUTO_II.

bStatePreComfort: The status of the bPreComfort input is passed on to the outside in the operating mode eEnergyLevel_AUTO_I and eEnergyLevel_AUTO_II.

bStateComfort: The status of the bComfort input is passed on to the outside in the operating mode eEnergyLevel_AUTO_I and eEnergyLevel_AUTO_II.

VAR_IN_OUT

Name                                   : Type                        Persistent      Default
eCtrlMode                              : E_BC9191EnergyLevel;              X          eEnergyLevel_AUTO_I

eCtrlMode: Using this ENUM the operating mode can be preselected from the building management level.


BC9191 - FB_BC9191FanCoil

BECKHOFF BC9191: User PLC program

FB_BC9191FanCoil

Application

This function block maps a 3-stage fan. The three stages are switched via the control value (0 to 100%) of the heating or cooling controller. Furthermore there is a possibility to manually override the fan controller via the iStageManual or bStageUp or bStageDown input. A minimum switch-on time can be set via the udiSecMINPowerOnTime input, which is then valid for each stage.

VAR_INPUT

Name                                         : Type
bSetDefault                                  : BOOL;
bEnable                                      : BOOL;
eCtrlFct                                     : E_BC9191CtrlFct;
rY_C                                         : REAL;
rY_H                                         : REAL;
bStageUp                                     : BOOL;
bStageDown                                   : BOOL;
iStageManual                                 : INT;
bReset                                       : BOOL;

bSetDefault: If the variable is TRUE, the default values of the VAR_IN_OUT variables are adopted.

bEnable: The function block is activated if the variable bEnable is TRUE. No fan stage is activated with a FALSE.

eCtrlFct: This input is connected to the eCtrlFct output of the FB_BC9191FctSelection. This information is important in order to know whether the plant is in heating or cooling mode. In automatic mode the fan stages are only activated for example if, according to the control deviation, the requirement for heating is active and the unit is in heating mode, or if, according to the control deviation, the requirement for cooling is active and the unit is in cooling mode.

rY_C: Input for the control value from the cooling controller.

rY_H: Input for the control value from the heating controller.

bStageUp: Local adjustment of the fan stage, stepwise increase by pushbutton.

bStageDown: Local adjustment of the fan stage, stepwise decrease by pushbutton.

iStageManual: The manual fan stage can be/is centrally adjusted via this input.
iStageManual: = 0, corresponds to the fan stage OFF
iStageManual: = 1, corresponds to the fan stage AUTO
iStageManual: = 2, corresponds to fan stage 01 active
iStageManual: = 3, corresponds to fan stage 02 active
iStageManual: = 4, corresponds to fan stage 03 active

bReset: Reset input in case of a fault or an incorrect parameter.

VAR_OUTPUT

Name                          : Type
bStageOff                     : BOOL;
bStageAuto                    : BOOL;
bStage01                      : BOOL;
bStage02                      : BOOL;
bStage03                      : BOOL;
bFanCoilActive                : BOOL;
bPresence                     : BOOL;
byState                       : BYTE;
byError                       : BYTE;
udiSecRT_MINPowerOnTime       : UDINT;
udiRT_TimePeriod              : UDINT;
bInvalidParameter             : BOOL;

bStageOff: TRUE, fan stages are switched off.

bStageAuto: TRUE, fan controller is in automatic mode.

bStage01: TRUE, fan stage 01 active.

bStage02: TRUE, fan stage 02 active.

bStage03: TRUE, fan stage 03 active.

bFanCoilActive: TRUE if one of the three fan stages is active. This output can be/is used to enable controllers in order to avoid a build up of heat or cold.

bPresence: TRUE means that presence was detected via the bStageUp, bStageDown or iStageManual inputs.

byState: Indicates the status of the fan controller.
byState.0: = block is activated
byState.3: = manual fan stage specification is active
byState.4:= bReset
byState.5 = fan stage 01 active
byState.6 = fan stage 02 active
byState.7 = fan stage 03 active

byError: Output of the error as a byte.
byError.1:= bInvalidParameter

udiSecRT_MINPowerOnTime: indicates the remaining time of the minimum switch-on time.

udiRT_TimePeriod: indicates the remaining time of the manual override.

bInvalidParameter: Indicates that there is an incorrect input parameter. bInvalidParameter must be acknowledged with bReset.

VAR_IN_OUT

Name                                   : Type             Persistent      Default
rValvePositionH_Stage01                : REAL;                X              0      %
rValvePositionH_Stage02                : REAL;                X             21      %
rValvePositionH_Stage03                : REAL;                X             76      %
rValvePositionC_Stage01                : REAL;                X              0      %
rValvePositionC_Stage02                : REAL;                X             21      %
rValvePositionC_Stage03                : REAL;                X             76      %
udiSecMINPowerOnTime                   : UDINT;               X             120    sec
iFctModeFanCoil                        : INT;                 X             3
udiTimePeriod                          : UDINT;               X             60 min

rValvePositionH_Stage01: Limit value of the control value of the heating controller from which fan stage 01 is switched on.

rValvePositionH_Stage02: Limit value of the control value of the heating controller from which fan stage 02 is switched on.

rValvePositionH_Stage03: Limit value of the control value of the heating controller from which fan stage 03 is switched on.

rValvePositionC_Stage01: Limit value of the control value of the cooling controller from which fan stage 01 is switched on.

rValvePositionC_Stage02: Limit value of the control value of the cooling controller from which fan stage 02 is switched on.

rValvePositionC_Stage03: Limit value of the control value of the cooling controller from which fan stage 03 is switched on.

udiSecMINPowerOnTime: Minimum switch-on time that a fan must run for in a stage before switching to a different stage or switching off. Input in seconds (e.g. 120 corresponds to 120 s).

iFctModeFanCoil: The user has the possibility to activate the fan controller for heating mode or cooling mode or both modes via the valence of this variable. Valid values are 1, 2 or 3. Other values are invalid and bInvalidParameter is set to TRUE.

Cooling | Heating | Valence
0 | 1 | 1 (= fan controller active in heating mode)
1 | 0 | 2 (= fan controller active in cooling mode)
1 | 1 | 3 (= fan controller active in heating mode and cooling mode)

udiTimePeriod: Timeframe during which the manual override is active in case of presence. Specified in minutes.


BC9191 - FB_BC9191FctSelection

BECKHOFF BC9191: Programming

FB_BC9191FctSelection

Application

This function block is for enabling room heating or room cooling. It can be used for 2-wire pipe systems (changeover) or 4-wire pipe systems.
In the case of a 4-wire pipe system the changeover from heating to cooling operation takes place automatically on the basis of a comparison of the set value for the room temperature with the actual value for the room temperature.

Sketch:

In the case of a 2-wire pipe system the heating operation or cooling operation may only be enabled when heating or cooling medium is present. The room temperature controller gets this information from the primary units.

In both 2-wire and 4-wire pipe systems the changeover between heating operation and cooling operation can be delayed by a timer. The input variable udiChangeOverDelay must be greater than zero for this.

The following tables describe the interrelationship between the inputs and the eCtrlFct output of the FB_BC9191FctSelection function block.

in the 2-wire pipe system
bEnable | bPipeSystem | bFeedbHeatMedium | bFeedbCoolMedium | interim Result | bDewPoint | eCtrlFct
0 | 0 | 0 | 0 | OFF | TRUE / FALSE | OFF
1 | 0 | 0 | 0 | Heating | TRUE / FALSE | Heating
1 | 0 | 0 | 1 | Cooling | TRUE | OFF
 |  |  |  |  | FALSE | Cooling
1 | 0 | 1 | 0 | Heating | TRUE / FALSE | Heating
1 | 0 | 1 | 1 | Heating | TRUE / FALSE | Heating
in the 4-wire pipe system
bEnable | bPipeSystem | T_Room < = Tsetpoint | T_Room > Tsetpoint | interim Result | bDewPoint | eCtrlFct
0 | 1 | 0 | 0 | OFF | TRUE / FALSE | OFF
1 | 1 | 0 | 1 | Cooling | TRUE | OFF
 |  |  |  |  | FALSE | Cooling
1 | 1 | 1 | 0 | Heating | TRUE / FALSE | Heating
1 | 1 | 1 | 1 | Heating | TRUE / FALSE | Heating

VAR_INPUT

Name                                         : Type
bSetDefault                                  : BOOL;
bEnable                                      : BOOL;
bPipeSystem                                  : BOOL;
bFeedbHeatMedium                             : BOOL;
bFeedbCoolMedium                             : BOOL;
bDewPoint                                    : BOOL;
rRoomTemp                                    : REAL;
stSetpoint                                   : ST_BC9191SetpointRoom;

bSetDefault: If the variable is TRUE, the default values of the VAR_IN_OUT variables are adopted.

bEnable: TRUE enables the function block. If FALSE the block is disabled and eCtrlFct: = eCtrlFct_Off.

bPipeSystem: FALSE means that a 2-wire pipe system is present. TRUE means that a 4-wire pipe system is present.

bFeedbHeatMedium: Signal from the energy generation or distribution that heating medium is available.

bFeedbCoolMedium: Signal from the energy generation or distribution that cooling medium is available.

bDewPoint: The dew point sensor is connected to this input. If this is triggered the cooling control function is deactivated and eCtrlFct:=eCtrlFct_Off is set.

rRoomTemp: This input variable transfers the current room temperature to the function block.

stSetpoint: STRUCTURE containing the setpoints of the individual energy levels.

VAR_OUTPUT

Name                          : Type
eCtrlFct                      : E_BC9191CtrlFct;
uiReqHeating                  : UINT;
uiReqCooling                  : UINT;
udiRT_ChangeOverDelay         : UDINT;

eCtrlFct: This output contains the current control function.

uiReqHeating: is 1 if the room/zone requests heating energy. It is 0 if there is no heating requirement.

uiReqCooling: is 1 if the room/zone requests cooling energy. It is 0 if there is no cooling requirement.

udiRT_ChangeOverDelay: indicates the time remaining until the active control function is changed over.

VAR_IN_OUT

Name                           : Type                        Persistent      Default
udiChangeOverDelay             : UDINT;                            x           	0

udiChangeOverDelay: Changeover time between the control functions. Must be specified in seconds. If the input is greater than 0 it will always be observed. The variable must be 0 if there is to be no changeover time between the control functions.


BC9191 - FB_BC9191SetpointRoom

BECKHOFF BC9191: Programming

FB_BC9191SetpointRoom

Application

The function block FB_BC9191SetpointRoom assigns setpoints for cooling and heating operation to each of the energy levels Protection, Economy, PreComfort and Comfort. In connection with the function block FB_BC9191EnergyLevel the room temperature controllers are assigned an energetically optimum setpoint in accordance with the use of the room and the selected heating or cooling operation.

The resulting setpoint for the different energy levels is made up of:

  1. the basic set value
  2. the local setpoint value shift (not in the case of the Protection setpoints)
  3. the central setpoint value shift (not in the case of the Protection setpoints)

The local shift due to a room set value generator and also the remote adjustment of the setpoints by a building management system only affect the Comfort and PreComfort energy levels.

VAR_INPUT

Name                                         : Type
bSetDefault                                  : BOOL;
bEnable                                      : BOOL;
rSetpointShiftHeat                           : REAL;
rSetpointShiftCool                           : REAL;
rSetpointShiftUser                           : REAL;
bReset                                       : BOOL;

bSetDefault: If the variable is TRUE, the default values of the VAR_IN_OUT variables are adopted.

bEnable: The function block is activated if the variable bEnable is TRUE.

rSetpointShiftHeat: the rSetpointShiftHeat variable is used for the adaptation of the ComfortHeating setpoint of the building management system.

If the ComfortHeating setpoint is raised, then the setpoints for the ComfortCooling and PreComfortCooling are also increased.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftHeat [K] | +3 | - | - | - | +3 | +3 | +3 | - | -
Resulting setpoint [°C] |  | 12 | 15 | 19 | 24 | 27 | 31 | 35 | 40

A lowering of the ComfortHeating setpoint affects only the ComfortHeating and PreComfortHeating setpoints.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftHeat [K] | -3 | - | - | -3 | -3 | - | - | - | -
Resulting setpoint [°C] |  | 12 | 15 | 16 | 18 | 24 | 28 | 35 | 40

rSetpointShiftCool: the rSetpointShiftCool variable is used for the adaptation of the ComfortCooling setpoint of the building management system.

If the ComfortCooling setpoint is raised, then the setpoint for the PreComfortCooling is also raised.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftCool [K] | +3 | - | - | - | - | +3 | +3 | - | -
Resulting setpoint [°C] |  | 12 | 15 | 19 | 21 | 27 | 31 | 35 | 40

A lowering of the ComfortCooling setpoint only affects the ComfortCooling. The PreComfortCooling is not changed.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftCool [K] | -3 | - | - | - | - | -3 | - | - |
Resulting setpoint [°C] |  | 12 | 15 | 19 | 21 | 21 | 28 | 35 | 40

If the setpoint of the PreComfort energy level is shifted beyond the setpoint of the Economy level, then the setpoint of the Economy level adopts the value of the PreComfort level.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftCool [K] | +8 | - | - | - | - | +8 | +8 | - | -
Resulting setpoint [°C] |  | 12 | 15 | 19 | 21 | 32 | 36 | 36 | 40

rSetpointShiftUser: the rSetpointShiftUser variable is used for the user's local setpoint value shift.
A positive value of rSetpointShiftUser affects the setpoints of ComfortHeating, ComfortCooling and PreComfortCooling.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftUser [K] | +3 | - | - | - | +3 | +3 | +3 | - | -
Resulting setpoint [°C] |  | 12 | 15 | 19 | 24 | 27 | 31 | 35 | 40

A negative value of rSetpointShiftUser affects the setpoints of PreComfortHeating, ComfortHeating and ComfortCooling.
Example:

Energy levels |  | ProtectionHeating | EconomyHeating | PreComfortHeating | ComfortHeating | ComfortCooling | PreComfortCooling | EconomyCooling | ProtectionCooling
Basic setpoint [°C] |  | 12 | 15 | 19 | 21 | 24 | 28 | 35 | 40
SetpointShiftUser [K] | -3 | - | - | -3 | -3 | -3 | - | - | -
Resulting setpoint [°C] |  | 12 | 15 | 16 | 18 | 21 | 28 | 35 | 40

bReset: Reset input in case of a fault or an incorrect parameter.

VAR_OUTPUT

Name                                  : Type
stSetpoint                            : ST_BC9191SetpointRoom;
bInvalidParameter                     : BOOL;

stSetpoint: structure containing the setpoints of all the energy levels.

bInvalidParameter: Indicates that there is an incorrect input parameter. bInvalidParameter must be acknowledged with bReset.

VAR_IN_OUT

Name                                   : Type                        Persistent      Default         Range
rSetpointComfortHeat                   : REAL;                          X              21.0
rSetpointPreComfortHeat                : REAL;                          X              19.0
rSetpointEconomyHeat                   : REAL;                          X              15.0
rSetpointProtectionHeat                : REAL;                          X              12.0
rSetpointComfortCool                   : REAL;                          X              24.0
rSetpointPreComfortCool                : REAL;                          X              28.0
rSetpointEconomyCool                   : REAL;                          X              35.0
rSetpointProtectionCool                : REAL;                          X              40.0

rSetpointComfortHeat: setpoint for the Comfort heating energy level.

rSetpointPreComfortHeat: setpoint for the PreComfort heating energy level.

rSetpointEconomyHeat: setpoint for the Economy heating energy level.

rSetpointProtectionHeat: setpoint for the Protection heating energy level.

rSetpointComfortCool: setpoint for the Comfort cooling energy level.

rSetpointPreComfortCool: setpoint for the PreComfort cooling energy level.

rSetpointEconomyCool: setpoint for the Economy cooling energy level.

rSetpointProtectionCool: setpoint for the Protection cooling energy level.


BC9191 - ADS access of a higher-level controller

BECKHOFF BC9191: Programming

ADS access of a higher-level controller

The building automation room controller supports the Beckhoff ADS and Modbus TCP protocols.
The TCP port number for the ADS protocol is 48898. The UDP port number for the ADS protocol is 48899.
The TCP port number of Modbus TCP has been standardized to the value 502

Access via the Beckhoff ADS protocol is described in this part of the documentation. ADS is the abbreviation for Automation Device Specification and describes a device and fieldbus-independent interface. The Beckhoff ADS protocol is based on the TCP/IP or UDP/IP protocol. It allows the user within the Beckhoff system to use almost any connecting route to communicate with all the connected devices and to parameterize them. ADS function blocks can be used in TwinCAT PLC Control for this. The function blocks are contained in the TcSystem.lib library.

Structure of the ADS protocol

AMSNetID

The AMSNetID provides a reference to the device that is to be addressed. This is created from the set TCP/IP address and an additional 2 bytes. These additional 2 bytes consist of "1.1", and can not be altered.
Example of a BC9191:

IP address 172.16.21.10
AMSNetID 172.16.21.10.1.1

Port number

The port number distinguishes sub-elements in the connected device.
Port 800: local process data (e.g. BC9191)

Index group

The index group distinguishes different data within a port.
0x4020 Flag
0x4021 Flag bit

Index offset (value range)

Indicates the offset, the byte from which reading or writing is to start.
Flag 0...4095
Flag bit 0...32760

Example of flag: Port 800 / Index Group 16#4020 / Byte Offset 100

Example of flag bit: Port 800 / Index Group 16#4021 / Bit Offset 792


BC9191 in Master/Slave mode

Requirements

  • the basic application program is installed on the BC9191 (slave) and the default configuration is active
  • an application that takes over the control and regulation algorithms of all connected BC9191 in master/slave mode is installed on the higher-level controller – in this example a CX5020 (master). A TwinCAT configuration is active on the master controller.

Basic information

On delivery (default configuration) of the BC9191, the onboard I/Os have fixed addresses. The data for Ethernet communication start at the address offset 1000dec; this is a performance feature of the BC9191. This performance feature is used for the master/slave communication.

Inputs | Outputs
Bus Terminal %IB0 ... | Bus Terminal %QB0 ...
Ethernet DATA (PLC variables) %IB1000 ...(Modbus TCP/ADS-TCP/ADS-UDP) | Ethernet DATA (PLC variables) %QB1000 ...(Modbus TCP/ADS-TCP/ADS-UDP)
... %IB2047 maximum | ... %QB2047 maximum

Detailed description of the TwinCAT configuration of the master controller

  • generate a new TSM file and save it under MasterSlave_TcSM.tsm
  • add device ==> virtual Ethernet interface

  • add box ==> select BC9191 and confirm with OK/==> do not open a template, confirm with the Cancel button instead

  • add a PLC project so that the self-defined variable types are available.

  • insert PLC variables (for Ethernet communication) ==> inputs and outputs of the type ST_BC9191InData/ST_BC9191OutData under Box1 BC9191
  • edit a unique name, e.g. stInData_BC9191_10 and stOutData_BC9191_10 (reference to the name of the structure and to the BC9191 (e.g. 172.16.21.10))

  • parameterization of Box 1 (BC9191)
  • declare a unique /assignable name e.g. BC9191_10
  • make communication settings in the IP address tab ==> adjust UDP and set the IP address

  • if the parameterization of Box1 BC9191 is complete, it can be marked and copied as necessary
  • the respective name, the IP address and the names of the additional inputs and outputs must then be edited.

  • once the parameterization of the added BC9191s is complete, the inputs and outputs of the PLC task are linked to the inserted PLC variables

Detailed description of the TwinCAT PLC program of the master controller

(CX5020_BC9191_TcPLC.pro as a ZIP-file)

(MasterSlave_TcSM.tsm as a ZIP-file)

  • Depending on how many BC9191s are integrated in the master/slave application, it is necessary to declare stInData_BC9191 and stOutData_BC9191 several times globally as allocated variables

  • for the Ethernet communication used in the master/slave communication it is necessary to declare the PLC variables on the BC9191 side from the address offset 1000dec
  • The master/slave communication is monitored in the Monitoring () subprogram.
  • if the connection between the master and the slave is interrupted, the value of the structure variable .BC9191_uiMonitoring falls to 0. In this case the room/zone is no longer controlled centrally, but locally by the BC9191. The control functions are then taken over by the local PLC of the BC9191.

The master application contains a visualization. On the basis of the VISU and communication via Beckhoff ADS it is possible to execute read and write commands with the connected BC9191s
IndexGroup 16#4020 and 16#4021 ==> IndexOffset, see illustration

NOTES
  • The BC9191 (C165) and CX/PC (x86) have different memory alignments; this must be taken into account for data structures that are exchanged between the two control platforms. ==> see also the way in which ST_BC9191InData and ST_BC9191OutData are structured.
    BC (165) ==> Data structures have a WORD (2-byte) memory alignment
    PC / CX (x86) ==> Data structures have a BYTE (1-byte) memory alignment
    CX (ARM) ==> Data structures have a DWORD (4-byte) memory alignment
  • So that variables of the data type REAL are represented correctly by a PC on a BC9191 via the network by Beckhoff ADS, the variables of the data type REAL must be converted to the correct format. That also has to be done if the PC is accessed from the BC9191. The conversion, i.e. the swapping of the HI and LOW word of a REAL variable can be done on the BC9191 or on the PC side with the aid of the function F_SwapRealEx.

The PLC code, which runs locally on a BC9191 in the case of a communication interruption, is mapped once more on the master controller for each BC9191 and normally actively controls and regulates.

Blue and orange marked program sections belong functionally together.

In the individual programs that refer to an explicit BC9191, the allocation to the corresponding structures stOutData_BC9191_10 : ST_BC9191OutData; must be done.

Example for the BC9191_10

In program part EL_SP_FS_BC9191_10(PRG) an allocation to the physical inputs is done.(stInData_BC9191_10 : ST_BC9191InData;).
In program part MAIN_BC9191_10(PRG) an allocation to the physical outputs is done (stOutData_BC9191_10 : ST_BC9191OutData;).


BC9191 - Diagnostic LEDs

BECKHOFF BC9191: Error handling and diagnosis

Diagnostic LEDs

The BC9191-0000 and BC9191-0100 have LEDs for status display.

BC9191

LEDs for PLC diagnostics

LED | Meaning
PLC | on - PLC running, flashing - cycle time exceeded, off - cycle time permanently exceeded or PLC stopped
TC/DC | on - TwinCAT configuration active, off - Default configuration active, flashing TwinCAT configuration faulty

LEDs for Ethernet diagnostics

LED | Meaning
LINK/ACT (RJ45) | on - LINK available, flashing - LINK available and communication
COM | Communication with controller available
ERROR | flashing - DHCP or BootP active. Waiting for an IP address

LEDs for power supply diagnosis

LED | Meaning
Power LED Vs | on - internal 5 VDC power supply okay
Power LED Vp | on – 24 VDC power supply for external devices okay

LEDs for K-bus diagnostics

LED | Meaning
K-bus RUN | on or flashing - K-bus running
K-bus ERR | flashing (see error code)

Error code for K-Bus diagnosis

Error
code 		Error
argument 		Description Remedy
- flashing continuously EMC problems
  • Check power supply for undervoltage or overvoltage peaks
  • Implement EMC measures
  • If a K-Bus error is present, it can be localized by a restart
    (by switching the BC 9191 off and then on again)
1 | 0 | EEPROM checksum error | Enter factory settings with the KS2000 configuration software
1 | Code buffer overflow | Insert fewer Bus Terminals. Too many entries in the table for the programmed configuration
2 | Unknown data type | Software update required for the BC9191
2 - Reserve -
3 0 K-bus command error
  • No Bus Terminal inserted
  • One of the Bus Terminals is defective; halve the number of Bus Terminals attached and check
    whether the error is still present with the remaining Bus Terminals. Repeat until
    the defective Bus Terminal is located.
4 | 0 | K-Bus data error, break behind the Bus Coupler | Check whether the n+1 Bus Terminal is correctly connected; replace if necessary.
n | Break behind Bus Terminal n | Check whether the Bus End Terminal KL9010 is connected.
5 | n | K-Bus error in register communication with Bus Terminal n | Exchange the nth bus terminal
6 | 0 | Error at initialization | Exchange Bus Coupler
1 | Internal data error | Perform a hardware reset on the BC9191 (switch off and on again)
2 | DIP switch changed after a software reset | Perform a hardware reset on the BC9191 (switch off and on again)
3 | IP address already assigned | Check whether the IP address already exists in the network.
7 0 Note: Cycle time was exceeded Warning: the set cycle time was exceeded. This note (flashing of the LED)
can only be reset by rebooting the BC9191.
Short-term remedy: increase the cycle time
9 | 0 | Checksum error in Flash program | Transmit program to the BC again
1 | Incorrect or faulty library implemented | Remove the faulty library
10 | n | Bus Terminal n is not consistent with the configuration that existed when the boot project was created | Check the nth Bus Terminal. The boot project must be deleted if the insertion of an nth Bus Terminal is intentional
14 | n | nth Bus Terminal has the wrong format | Start the BC9191 again, and if the error occurs again then exchange the Bus Terminal.
15 | n | Number of Bus Terminals is no longer correct | Start the BC9191 again. If the error occurs again, restore the manufacturers setting using the KS2000 configuration software
16 | n | Length of the K-Bus data is no longer correct | Start the Bus Coupler again. If the error occurs again, restore the manufacturers setting using the KS2000 configuration software


BC9191 - First steps

BECKHOFF Automation GmbH

First steps

In preparation


BC9191 - General Operating Conditions

BECKHOFF Fieldbus components: Appendix

General Operating Conditions

The following conditions must be met in order to ensure flawless operation of the fieldbus components.

Environmental conditions

Operation

The components may not be used without additional protection in the following locations:

  • in difficult environments, such as where there are corrosive vapors or gases, or high dust levels
  • in the presence of high levels of ionizing radiation
Condition | Permissible range
Permissible ambient temperature during operation | 0°C ...+55°C
Installation position | variable
Vibration resistance | conforms to EN 60068-2-6
Shock resistance | conforms to EN 60068-2-27, EN 60068-2-29
EMC immunity | conforms to EN 61000-6-2
Emission | conforms to EN 61000-6-4

Transport and storage

Condition | Permissible range
Permissible ambient temperature during storage | -25°C... +85°C
Relative humidity | 95 %, no condensation
Free fall | up to 1 m in the original packaging

Protection classes and types

Condition | Permissible range
Protection class in accordance with IEC 536 (VDE 0106, Part 1) | A protective conductor connection to the mounting rail is necessary!
Protection class conforms to IEC 529 | IP20 (protection against contact with a standard test finger)
Protection against foreign objects | Less than 12 mm in diameter
Protection against water | no protection

Component identification

Every supplied component includes an adhesive label providing information about the product's approvals. For example, on the BK2000:

The following information is printed on the label:

Printed item | Meaning for this label
Precise product identification | Lightbus Coupler BK2000
Supply voltage | 24 VDC
Data transfer rate | 2.5 Mbaud
Manufacturer | Beckhoff Automation GmbH
CE mark | Conformity mark
UL mark

Mark for UL approval. UL stands for the Underwriters Laboratories Inc., the leading certification organization for North America, based in the USA.

C = Canada, US = USA, LISTED 22ZA (the test results can be inspected under this entry)
Production identification

From left to right, this sequence of characters indicates the week of production (2 characters), the year of production (2 characters), the software version (2 characters) and hardware version (2 characters), along with any special indications (4 characters).

This case therefore is a BK2000
- produced in the 9th calendar week
- of the year 2001
- containing the BF firmware version
- and using the 6th hardware version
- with no special indications


Test Standards for Device Testing

EMC

EN 61000-6-2

EN 61000-6-4

Vibration resistance

EN 60068-2-6 Vibration Testing

EN 60068-2-27/29 Shock Testing


Bibliography

TCP/IP

TCP/IP (English)
Illustrated, Volume1 The Protocols
by W. Richard Stevens
Publisher: ADDISON-WESLEY Longmann Verlag

TCP/IP (German)
Aufbau und Betrieb eines TCP/IP Netzes (Structure and Operation of a TCP/IP Network)
by Kevin Washburn and Jim Evans
Publisher: ADDISON-WESLEY Longmann Verlag

Modbus/TCP

http://www.modicon.com/

http://www.modbus.org

TwinCAT

Beckhoff Information System
http://infosys.beckhoff.com


List of Abbreviations

ADS

Automation Device Specification.

IP (20)

Bus Terminal protection class

IPC

Industrial PC

I/O

Inputs and outputs

K-Bus

Terminal bus

KS2000

Configuration Software for Bus Terminals, Bus Coupler, Bus Terminal Controller, Fieldbus Box Modules and so on

PE

The PE power contact can be used as a protective earth.

TwinCAT

The Windows Control and Automation Technology


Support and Service

Beckhoff and their partners around the world offer comprehensive support and service, making available fast and competent assistance with all questions related to Beckhoff products and system solutions.

Beckhoff's branch offices and representatives

Please contact your Beckhoff branch office or representative for local support and service on Beckhoff products!

The addresses of Beckhoff's branch offices and representatives round the world can be found on her internet pages:
http://www.beckhoff.com

You will also find further documentation for Beckhoff components there.

Beckhoff Headquarters

Beckhoff Automation GmbH

Huelshorstweg 20
33415 Verl
Germany

Phone: | +49(0)5246/963-0
Fax: | +49(0)5246/963-198
e-mail: | info@beckhoff.com
Beckhoff Support

Support offers you comprehensive technical assistance, helping you not only with the application of individual Beckhoff products, but also with other, wide-ranging services:

  • support
  • design, programming and commissioning of complex automation systems
  • and extensive training program for Beckhoff system components
Hotline: | +49(0)5246/963-157
Fax: | +49(0)5246/963-9157
e-mail: | support@beckhoff.com
Beckhoff Service

The Beckhoff Service Center supports you in all matters of after-sales service:

  • on-site service
  • repair service
  • spare parts service
  • hotline service
Hotline: | +49(0)5246/963-460
Fax: | +49(0)5246/963-479
e-mail: | service@beckhoff.com


BC9191 - E_BC9191CtrlFct

BECKHOFF BC9191: User PLC program

E_BC9191CtrlFct

TYPE E_BC9191CtrlFct:
(
     eCtrlFct_Off             := 0,
     eCtrlFct_Heating         := 1,
     eCtrlFct_Cooling         := 2
);
END_TYPE
eCtrlFct_Off

Function selection OFF active.

eCtrlFct_Heating

Function selection for heating operation active.

eCtrlFct_Cooling

Function selection for cooling operation active.


BC9191 - E_BC9191EnergyLevel

BECKHOFF BC9191: User PLC program

E_BC9191EnergyLevel

TYPE E_BC9191EnergyLevel:
(
     eEnergyLevel_AUTO_I         := 0,
     eEnergyLevel_Protection     := 1,
     eEnergyLevel_Economy        := 2,
     eEnergyLevel_PreComfort     := 3,
     eEnergyLevel_Comfort        := 4,
     eEnergyLevel_AUTO_II        := 5
);
END_TYPE
eEnergyLevel_AUTO_I

Automatic mode I means that in this mode of operation it is only possible to switch to the next higher energy level if the lower energy levels are already TRUE. In this operating mode the states of the inputs bProtection, bEconomy, bPreComfort and bComfort are evaluated for the selection of the energy level. Please see diagram.

eEnergyLevel_Protection

In this operating mode, which can be manually set by the building management level, the room/zone/area is maintained in a minimum energy state. This operating mode is purely a Protection mode.

eEnergyLevel_Economy

In this operating mode, which can be manually set by the building management level, the room/zone/area is maintained in economy mode. This operating mode is to be set in case of lengthy periods of absence or at night.

eEnergyLevel_PreComfort

In this operating mode, which can be manually set by the building management level, the room/zone/area is maintained in Pre-comfort mode. This operating mode is to be set in case of short periods of absence.

eEnergyLevel_Comfort

In this operating mode, which can be manually set by the building management level, the room/zone/area is maintained in comfort mode. This operating mode is to be set in the case of presence.

eEnergyLevel_AUTO_II

Automatic mode II means that in this operating mode the energy level switches directly from the Protection, Economy or PreComfort energy level to the Comfort energy level on recognition of presence. Please see diagram.


BC9191 - FB_BC9191PICtrl

BECKHOFF BC9191: User PLC program

FB_BC9191PICtrl

Simple PI controller

This PI controller does not work directly with a gain factor Kp, but instead calculates this internally from the so-called proportional band (input rXp) in relation to the control value limits (rYmin and rYmax).

Setting via the proportional band

The adjustment of the gain factor Kp of a controller often harbors the difficulty for the user that there is no size reference to the application. If a heating controller normally operates within the two-figure range, then a flow rate controller can accept values in the five-figure range. It therefore makes sense to represent the Kp factor in such a way that it has a reference to the possible control deviation and change of control value. The P-component of the controller is regarded for the dimensioning of the Kp factor.
The equation for this is:

  • Control value = control deviation x gain factor → Y = E * Kp

this relationship also applies to the changes in the control deviation and the control value:

  • Change in control value = change in control deviation • gain factor → ΔY = ΔE * Kp

Referenced to the minimum and maximum value of the control value, Y min and Ymax:

  • Ymax - Ymin = (E (Ymax) -E (Ymin)) * Kp

This difference, E(Ymax) - E(Ymin), is called the proportional band (Xp). Transposed, the equation is then:

  • Kp = (Ymax - Ymin) / Xp

The following diagram clarifies the functional interrelationship:

The proportional band Xp therefore indicates the size of the range of the control deviation that leads to an output of Ymin to Ymax from the controller.

A smaller Xp leads to a steeper function and thus to an increase in the Kp factor. However, the control deviation limit values E(Ymax)-E(Ymin) are shifted:

Functional principle of the block

Step response. Reaction of the Y(t) output to a unit step at the E(t) input .

Basic function

A TRUE signal at the bEnable input activates the block. The internal control algorithm is now processed. The input value uiCtrlCycleCall specifies the number of PLC cycles after which the internal control algorithm is processed. If uiCtrlCycleCall =1, then the new calculation takes place in each PLC cycle; if, conversely, it is set to 100, then a new calculation of the output values takes place only every 100 cycles. The PLC cycle time is also accounted for in the control value calculation. An incorrect input value leads to an incorrect calculation.
The inputs rW (setpoint value), rX (actual value), rXp (proportional band) and rTn (integral action time) are the input values of the PI controller. They are used in each calculation cycle for the determination of the output values rY (control value) and rE (control deviation). The control value can additionally be limited by the inputs rYMin and rYMax.
In the first calculation cycle (i.e. after re-activation or exiting from the error case, see below) the I-component is set in such a way that the control value rY at the output corresponds to its lower limit value rYmin.

Anti-Reset-Windup (ARW)

If the controller “runs” into this limit, then the I-component is held internally at the final value. If this were not done, then the I-component could adopt very large values without hindrance during the limit case, which would first have to be eliminated again in case of reversal of the direction of action of the controller. This function is called “Anti-Reset-Windup” (ARW). The output bARW is set if this function is active .

Special case: Tn=0 as cut-off of the I-component

From the above step response diagram it can be seen that the influence of the I-component becomes all the weaker, the larger the integral action time Tn is set. As the integral action time approaches infinity, the influence of the I-component is virtually zero. Conversely, an increasingly smaller integral action time allows the influence of the I-component to grow; at Tn=0 the control value would approach infinity. However, this special case is used to cut off the I-component. This is an internally formed exception, since the integral action time belongs directly to the I-component and should also figuratively result in cut-off due to the zero entry.

Synchronization

A rising edge on bSync sets the controller output rY directly to rSyncValue, provided that the controller has been activated by a TRUE signal on bEnable. If this is not the case the rising edge on bSync is ignored.

Error case/block not activated

If the controller is incorrectly parameterized processing is stopped, the bError output is set and the corresponding error ID is output at udiErrorID. The block is also stopped if the input bEnable is not set. In both cases the outputs are set as follows:

rY | 0.0
rE | 0.0
bARW | FALSE
bMaxLimit | FALSE
bMinLimit | FALSE

Furthermore the I-component is deleted internally. On restarting the block the calculation of the control value starts again from the lower limit value rYmin.

VAR_INPUT

bEnable         : BOOL;
bDirection      : BOOL;
rW              : REAL;
rX              : REAL;
rXp             : REAL;
tTn             : TIME;
rYMin           : REAL;
rYMax           : REAL;
tTaskCycleTime  : TIME;
uiCtrlCycleCall : UINT;
bSync           : BOOL;
rSyncValue      : REAL;

bEnable: The block is active as long as this input is TRUE. A FALSE signal, on the other hand, stops the processing.

bDirection: The control direction of the controller can be changed with the parameter bDirection. If bDirection is TRUE, then the direct control direction is active for cooling operation of the controller.
If bDirection is FALSE, then the indirect control direction is active for heating operation of the controller.

rW: Set value.

rX: Actual value.

rXp: Proportional band.

tTn: Integral action time of the I-component. Special case: tTn=t#0ms: The I-component is deactivated.

rYMin: Lower limit of the control value.

rYMax: Upper limit of the control value.

tTaskCycleTime: Cycle time of the task in which the block runs.

uiCtrlCycleCall: Call cycle of the block as a multiple of the cycle time.
Example: tTaskCycleTime = 20ms, uiCtrlCycleCall =10 -> The control algorithm is called every 200 ms. Thus the outputs are also updated only every 200 ms.

bSync,rSyncValue: A rising edge at this input sets the (internal) I-component such that rSyncValue is output at the control value output. If the I-component is deactivated by tTn=0 ms, however, then this command is ignored.

VAR_OUTPUT

rY         : REAL;
rE         : REAL;
bARW       : BOOL;
bMaxLimit  : BOOL;
bMinLimit  : BOOL;
bError     : BOOL;
udiErrorId : UDINT;

rY: Control value.

rE: control deviation (setpoint value - actual value).

rEMin: lower control deviation limit value, which results from the input proportional band.

rEMax: upper control deviation limit value, which results from the input proportional band.

bARW: Anti-Reset-Windup function is active.

bMaxLimit: The control value has reached its upper limit value.

bMinLimit: The control value has reached its lower limit value.

bError: this output is switched to TRUE if the parameters entered are erroneous.

udiErrorId: contains the error code if the values entered should be erroneous.


BC9191 - ST_BC9191SetpointRoom

BECKHOFF BC9191: Programming

ST_BC9191SetpointRoom

TYPE ST_BC9191SetpointRoom :
STRUCT
  stSetpointRoom_ComfortHeat       : REAL:= 21.0;
  stSetpointRoom_PreComfortHeat    : REAL:= 19.0;
  stSetpointRoom_EconomyHeat       : REAL:= 15.0;
  stSetpointRoom_ProtectionHeat    : REAL:= 12.0;
  stSetpointRoom_ComfortCool       : REAL:= 24.0;
  stSetpointRooom_PreComfortCool   : REAL:= 28.0;
  stSetpointRoom_EconomyCool       : REAL:= 35.0;
  stSetpointRoom_ProtectionCool    : REAL:= 40.0;
END_STRUCT
END_TYPE

The values in the structure are defined with the preset values.


To do - In preparation

BECKHOFF Automation GmbH

New chapter

In preparation