Legal ¶ Disclaimer ¶ TODO … License Terms ¶ TODO …
Levels of application development and functional aspects covered currently ¶ Levels of application development covered currently ¶ Unfortunately, there is not enough proper standardization in building automation application development - partially for good reason. Quite often, buildings (and their demand on building automation) are unique. System integrators have different levels of experience and use different procedures in planning and implementation of building automation. This altogether makes it rather impossible to provide a “complete” library which covers most aspects of the field. In general, it is more likely to provide useful functionality within such a library at levels 1 to 3. Aggregate manufacturers can improve building automation application development efficiency by providing functionality at levels 3 to 4 (possibly level 5) for their specific aggregates in their own libraries or contributing to CODESYS Building Automation library. Building application developers and aggregate manufacturers should be able to use elements provided by the CODESYS Building Automation library to improve their application development efficiency. Functional aspects covered currently ¶ The CODESYS Building Automation library starts with some: Specific actuators Specific aggregates or assemblies Specific control algorithms Specific optimization algorithms an example to demonstrate aggregate variants examples to demonstrate how to use the CODESYS Building Automation library in HVAC, primary plants and room automation To outline the design principles and provide the general infrastructure for implementation, documentation, release, etc. It is up to future contributions to extend and improve.
Examples ¶ The CODESYS Building Automation library comes with extensive examples. First see the sample project Building Automation Examples.project. It contains a ready-to-use application and visualization for all function blocks provided by the CODESYS Building Automation library to learn, simulate, and test. Building Automation Examples.project also includes tutorial-style examples which demonstrate how to use the CODESYS Building Automation library in HVAC (see ExampleAirConditioning1 and ExampleAirConditioning2 ). There are more examples demonstrating other aspects of building automation: room automation example (see ExampleRoomAutomation ) heating circuit example (see ExampleHeating ) hot water boiler control example (see ExampleHotWater ) Building Automation Examples.project also provides examples of aggregate variants using the function blocks |ExampleVariantsRoomControlFCUSimple| or ExampleFancoil3StageAggregate , which does have some variant aspects. Please see also the “aggregate variants” part of the documentation for this specific topic. Building Automation Examples Persistence.project demonstrates how to use the CODESYS Application Composer module Persistencemanager to provide persistence for certain aspects. Building Automation Examples BACnet.project demonstrates how to use the CODESYS BACnet in an application context, especially how to integrate BACnet server objects in your application.
Air types - Terms, abbreviations, and colors ¶ The CODESYS Building Automation library uses terms for specific air types. Terms, abbreviations, and colors are oriented towards DIN EN 16798-3.
Compile options ¶ The CODESYS Building Automation library provides a compile option - BuildingLib_LogErrors - which enables logging for error conditions. In case a function or function block method returns an error, more information regarding error conditions are logged.
SM3_Drive_ETC_SanyoDenki_RS2 Library Documentation ¶ Company : CODESYS Title : SM3_Drive_ETC_SanyoDenki_RS2 Version : 4.16.0.0 Categories : Intern|SoftMotion Author : CODESYS Development GmbH Placeholder : SM3_Drive_ETC_SanyoDenki_RS2 Description [ 1 ] ¶ SoftMotion ETC SanyoDenki RS2 Contents: ¶ AXIS_REF_ETC_SanyoDenki_RS2 (FunctionBlock) DriverName (Property) DriverVersion (Property) state-machine Projektinformationen GetBooleanProperty (Function) GetCompany (Function) GetNumberProperty (Function) GetTextProperty (Function) GetTextProperty2 (Function) GetTitle (Function) GetVersion (Function) GetVersionProperty (Function) Indices and tables ¶ [ 1 ] Based on SM3_Drive_ETC_SanyoDenki_RS2.library, last modified 13.12.2023, 09:24:30. LibDoc 4.4.0.0-b.37 The content file SM3_Drive_ETC_SanyoDenki_RS2.clean.json was generated with CODESYS V3.5 SP16 Patch 3 on 13.12.2023, 09:24:38.
HVAC_AntiFreezeControlStartup (FB) ¶ FUNCTION_BLOCK HVAC_AntiFreezeControlStartup HVAC_AntiFreezeControlStartup implements a control strategy for actuators / aggregates exposed to outdoor air flow to counteract potential frost damage. Application example ¶ Certain actuators / aggregates - for example (water filled) HVAC heater coils, HVAC plate type heat exchangers etc. - might be exposed to outdoor air flow at intake which involves the potentially risk of frost damage. Functionality ¶ HVAC_AntiFreezeControlStartup does a controlled startup (ramping up) of the actuator preloading for a given maximum time (tPreloadMax) or until a preload threshold (rPreloadThreshold) is reached. For example HVAC heater coil: flushing the heater coil until return temperature (rPreload) exceeds a temperatur limit (rPreloadThreshold). In case the preload threshold is not reached within the preload maximum time an startup error is signaled (xStartupError). This procedure is started if xEnable is set to TRUE and the outdoor air temperatur is below startup threshold (rStartupThreshold), otherwise there is no startup at all. After successfull preload there is pause (tFollowUp) to get the system settled. End of the pause is signaled by xStartupDone = TRUE to allow subsequent control actions - for example SequenceControl - to take over control of the actuator. InOut: Scope Name Type Initial Comment Input xEnable BOOL TRUE Enable rOutdoorAirTemp REAL Outdoor air temperatur rStartupThreshold REAL 8.0 Startup threshold rPreload REAL Preload rPreloadThreshold REAL 20.0 Preload threshold tPreloadMax TIME TIME#10m0s0ms Preload maximum time tFollowUp TIME TIME#10m0s0ms Preload follow-up time. xReset BOOL FALSE Reset itfDateTimeProvider Util.IDateTimeProvider Globals.g_dtpDateTimeProvider Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000 Output xStartup BOOL Startup indication xPreload BOOL Preload indication rOutPreload REAL Actuator preload signal (0..100%). xStartupDone BOOL Startup sucessful done tRemaining TIME Time remaining until startup is done xStartupError BOOL Startup error indication xError BOOL Error indication eErrorID Error Error ID
RedundantPlantControl8 (FB) ¶ FUNCTION_BLOCK RedundantPlantControl8 RedundantPlantControl8 does controls a pool of max. 8 plants (actuators, aggregates etc.). The purpose of redundant plant control is reducing mean time between failures plus optimizing (equalizing) plant wearing in a group of redundant plants. A given number of plants (usiNumPlantsRunning) out of a group of (usiNumPlants) plants will be enabled in parallel. After a given maximum on-time PlantRotator8 is switching over to the next enabled plant(s) selecting the one(s) with the minimal runtime. Plants out of service (on purpose or error) can be handled by setting their xEnable1 .. xEnable8 to FALSE. Disabled plants will not be used (enabled) by RedundantPlantControl8. In case activated plants will be disabled, RedundantPlantControl8 is switching over to next available plant. InOut: Scope Name Type Initial Comment Input xEnable BOOL TRUE Enable usiNumPlants USINT (2..8) 2 Number of plants - 2 .. 8 usiNumPlantsRunning USINT (1..8) 1 Number of plants supposed to be running in parallel - 1 .. usiNumPlants-1 xEnable1 BOOL TRUE Enable Plant 1 xEnable2 BOOL TRUE Enable Plant 2 xEnable3 BOOL TRUE Enable Plant 3 xEnable4 BOOL TRUE Enable Plant 4 xEnable5 BOOL TRUE Enable Plant 5 xEnable6 BOOL TRUE Enable Plant 6 xEnable7 BOOL TRUE Enable Plant 7 xEnable8 BOOL TRUE Enable Plant 8 tOnMax TIME TIME#60m0s0ms Maximum on-time xResetRuntimeAndCounters BOOL FALSE Reset runtime hours and start counters, edge sensitive (xResetRuntimeAndCounters FALSE->TRUE => reset runtime and counters) itfDateTimeProvider Util.IDateTimeProvider Globals.g_dtpDateTimeProvider Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000 Output xOut1 BOOL FALSE Plant 1 xOut2 BOOL FALSE Plant 2 xOut3 BOOL FALSE Plant 3 xOut4 BOOL FALSE Plant 4 xOut5 BOOL FALSE Plant 5 xOut6 BOOL FALSE Plant 6 xOut7 BOOL FALSE Plant 7 xOut8 BOOL FALSE Plant 8 tPlant1 TIME Runtime plant 1 tPlant2 TIME Runtime plant 2 tPlant3 TIME Runtime plant 3 tPlant4 TIME Runtime plant 4 tPlant5 TIME Runtime plant 5 tPlant6 TIME Runtime plant 6 tPlant7 TIME Runtime plant 7 tPlant8 TIME Runtime plant 8 udiCntPlant1 UDINT Activation counter plant 1 udiCntPlant2 UDINT Activation counter plant 2 udiCntPlant3 UDINT Activation counter plant 3 udiCntPlant4 UDINT Activation counter plant 4 udiCntPlant5 UDINT Activation counter plant 5 udiCntPlant6 UDINT Activation counter plant 6 udiCntPlant7 UDINT Activation counter plant 7 udiCntPlant8 UDINT Activation counter plant 8 xError BOOL Error indication eErrorID Error Error ID
AXIS_REF_ETC_SanyoDenki_RS2.DriverName (PROP) ¶ PROPERTY DriverName : STRING(16)
AXIS_REF_ETC_SanyoDenki_RS2.DriverVersion (PROP) ¶ PROPERTY DriverVersion : DWORD