Manual LConSMC
Manual LConSMC
Manual LConSMC
Legal information
Use of application examples
Application examples illustrate the solution of automation tasks through an interaction of several
components in the form of text, graphics and/or software modules. The application examples are
a free service by Siemens AG and/or a subsidiary of Siemens AG (“Siemens”). They are non-
binding and make no claim to completeness or functionality regarding configuration and
equipment. The application examples merely offer help with typical tasks; they do not constitute
customer-specific solutions. You yourself are responsible for the proper and safe operation of the
products in accordance with applicable regulations and must also check the function of the
respective application example and customize it for your system.
Siemens grants you the non-exclusive, non-sublicensable and non-transferable right to have the
application examples used by technically trained personnel. Any change to the application
examples is your responsibility. Sharing the application examples with third parties or copying the
application examples or excerpts thereof is permitted only in combination with your own products.
The application examples are not required to undergo the customary tests and quality inspections
of a chargeable product; they may have functional and performance defects as well as errors. It is
your responsibility to use them in such a manner that any malfunctions that may occur do not
result in property damage or injury to persons.
Disclaimer of liability
Siemens shall not assume any liability, for any legal reason whatsoever, including, without
limitation, liability for the usability, availability, completeness and freedom from defects of the
application examples as well as for related information, configuration and performance data and
any damage caused thereby. This shall not apply in cases of mandatory liability, for example
under the German Product Liability Act, or in cases of intent, gross negligence, or culpable loss of
life, bodily injury or damage to health, non-compliance with a guarantee, fraudulent
non-disclosure of a defect, or culpable breach of material contractual obligations. Claims for
damages arising from a breach of material contractual obligations shall however be limited to the
© Siemens AG 2023 All rights reserved
foreseeable damage typical of the type of agreement, unless liability arises from intent or gross
negligence or is based on loss of life, bodily injury or damage to health. The foregoing provisions
do not imply any change in the burden of proof to your detriment. You shall indemnify Siemens
against existing or future claims of third parties in this connection except where Siemens is
mandatorily liable.
By using the application examples you acknowledge that Siemens cannot be held liable for any
damage beyond the liability provisions described.
Other information
Siemens reserves the right to make changes to the application examples at any time without
notice. In case of discrepancies between the suggestions in the application examples and other
Siemens publications such as catalogs, the content of the other documentation shall have
precedence.
The Siemens terms of use (https://support.industry.siemens.com) shall also apply.
Security information
Siemens provides products and solutions with industrial security functions that support the secure
operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is necessary
to implement – and continuously maintain – a holistic, state-of-the-art industrial security concept.
Siemens’ products and solutions constitute one element of such a concept.
Customers are responsible for preventing unauthorized access to their plants, systems, machines
and networks. Such systems, machines and components should only be connected to an
enterprise network or the internet if and to the extent such a connection is necessary and only
when appropriate security measures (e.g. firewalls and/or network segmentation) are in place.
For additional information on industrial security measures that may be implemented, please visit
https://www.siemens.com/industrialsecurity.
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends that product updates are applied as soon as they are available
and that the latest product versions are used. Use of product versions that are no longer
supported, and failure to apply the latest updates may increase customer’s exposure to cyber
threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS Feed
at: http://www.siemens.com/industrialsecurity.
Table of contents
Legal information ......................................................................................................... 2
1 Winding and tension control – Overview ........................................................ 5
1.1 SIMATIC Converting Toolbox .............................................................. 5
1.2 Winding and tension control – core functions ...................................... 6
1.3 Additional functions .............................................................................. 7
1.4 Converting Diagnostic Pages (IT-Diag)................................................ 8
2 Basic information about Winding and Tension Control ................................ 9
2.1 General overview of winders ................................................................ 9
2.2 General overview of tension control axis (sectional drive) ................. 11
2.3 Winding/Tension control concepts ..................................................... 12
3 Integration ........................................................................................................ 21
3.1 Integration into user program ............................................................. 21
3.2 Content of the library .......................................................................... 23
3.3 Configuring the technology object ...................................................... 24
3.4 Adapting parameter in SINAMICS ..................................................... 28
3.5 Unit settings ........................................................................................ 30
4 Example project ............................................................................................... 31
4.1 Structure of the program .................................................................... 31
4.2 Control the program ........................................................................... 34
© Siemens AG 2023 All rights reserved
https://support.industry.siemens.com/cs/ww/en/view/109744606
The SIMATIC Converting Toolbox was developed with the objective to provide a
collection of common standard functions which are necessary for any kind of
converting machines.
Converting describes the process of processing/finishing any kind of material. In
most cases this starts with unwinding a material web which then is processed in
one or several steps in machine types like
• Printing machines
• Coating lines
• Laminating machines
• Slitters
• Web Inspection machines
© Siemens AG 2023 All rights reserved
The open source library contains tested and well-documented functions to provide
support to the user during development, programming and commissioning. Well-
structured interfaces as well as documented program code provide the possibility
to make customer-specific adaptations.
If the winder axis or the SectionalDrive axis is to be jogged, this can be done
directly via the respective FB. If further axis functionalities are required in addition
to the implementation of the technological requirements (winder, tension control),
reference is made to the following library: "SIMATIC axis control".
https://support.industry.siemens.com/cs/de/en/view/109749348
Diameter calculator
Six different techniques are available to calculate the diameter of the roll being
wound:
• Thickness addition: The diameter is calculated by adding the material
thickness
© Siemens AG 2023 All rights reserved
• Web length calculation: The diameter is calculated using the length of the
winded material and the material thickness
• v/n calculation: The diameter is calculated using the ratio between the velocity
of the material web and the winder speed
• v/n integral: The diameter is calculated from the ratio between the material
length and the revolutions of the winder (integration)
• s/ position: Ratio between web position and winder position
• External diameter: The diameter comes from extern (sensor)
Torque pre-control
The main component of course, is the motor torque which is necessary to build up
the desired web tension.
Beside of that friction torque, acceleration torque and the torque resulting from a
changing roll diameter can be pre-controlled.
This pre-control signal is transferred to the drive as additive torque, being
calculated inside the Toolbox function blocks.
Controller Adaptation
The gain of the technology controller can be adapted as a function of the diameter.
This permits a higher controller gain at a bigger diameter.
In case of S120 drives, the speed controller gain in the drive can be adapted as a
function of the moment of inertia or the actual diameter of the roll being wound.
This is necessary to guaranty a well optimized and dynamic speed controller even
the diameter ratio (full roll to empty roll) is big.
Figure 1-1
© Siemens AG 2023 All rights reserved
In order to control (closed-loop) the tension in the material web, the technology
controller must ensure that the dancer roll remains at its center position. If the
tension in the system changes, then the position of the dancer roll also changes –
that is in turn coupled with the technology controller. Web tension variations –
detected by dancer position variations - can either be compensated by changing
the motor speed or by adapting the motor torque.
+
sact
P -
U
The load cell directly measures the tension in the material web and transfers this
signal to the technology controller. Tension variations can either be compensated
by changing the motor speed or by adapting the motor torque.
Center Winder
With a center winder, the roll is driven by a central shaft. The diameter range is an
important factor when designing this winder type. The reason for this is that for a
constant web velocity and constant tension, the speed is inversely proportional to
the diameter. This means that the maximum required drive speed is defined by the
minimum roll diameter – whereby the maximum required torque is defined by the
maximum diameter.
The center winder is more complicated and from control perspective more difficult
to handle than the surface winder; however, it is still more widely established of the
two winder types.
© Siemens AG 2023 All rights reserved
Surface Winder
For a surface winder, the roll is driven through one or several rolls that are in
contact with the roll being wound. The drive speed and power depend on the
diameter of the roll being wound. From a mechanical design perspective, this
winder technique is more complicated than that of a center winder.
The contact winder (surface winder) is essentially used if there are no special
requirements placed on the surface quality of the material being wound.
Surface winder
M-
n-controlled controlled
+
sact
P -
U
The load cell directly measures the tension in the material web and transfers this
signal to the technology controller. Tension variations can either be compensated
by changing the motor speed or by adapting the motor torque.
Draw Control
This method is used for simple tension regulation, especially when any additional
measuring system is not available. It does not offer high level tension accuracy.
© Siemens AG 2023 All rights reserved
v O UT - v IN
T2 = T1 + C
v IN
T1 T2
Vline_IN Vline_OUT
n_1 n_2
M M
Motion
Control
System
LTC axis
Master axis
position setpoint
Velocity /
Actual speed
Power unit
value
Acceleration
setpoint
x Auxiliary
torque
Torque limits
LTC drive
Torque
precontrol
Torque pre-control
Torque limiting
The indirect tension control is very frequently used if a user does not want to use
expensive sensor systems as there is no higher-level tension control necessary.
There is no measuring system necessary, as there is no feedback used to control
the tension - the technology controller is not used.
To set the web tension, the tension setpoint is computed into a torque value which
is based on the roll diameter and the gear ratio. The speed controller in the drive is
overdriven to operate the motor at the torque limit. This torque limit is being
adapted as a function of the diameter of the roll being wound or the fix diameter of
the roll in case of sectional drive axis.
To reach an accurate web tension with this control method it is important that the
friction and accelerating torque are precisely compensated in order the pre-
controlled tension torque results in the best possible approximation to the required
material tension.
In this control mode the mechanical losses should be kept as small as possible.
This includes an appropriate motor selection and the selection of a highly efficient
gearbox with low friction losses.
Vline
M_1
n_1
Motion
Control
System
Winding axis
Master axis
FTension [N]
velocity setpoint
Velocity setpoint
velocity / position
© Siemens AG 2023 All rights reserved
velocity override
setpoint
Actual speed
Power unit
value
Acceleration setpoint
Winding drive
Torque torque precontrol
tension setpoint Setpoint precontrol
preparation tension setpoint
(Ramp generator) after RFG
torque limits
Torque limiting
V-constant control
This method is used for simple tension regulation, especially when any additional
measuring system is not available. It does not offer high level tension accuracy.
In this control mode the winder is controlled to run with constant web speed (web
speed command value). No tension control is active.
Winding axis
Actual speed
Power unit
value
velocity setpoint (line axis) Auxiliary Torque limit
torque
Speed setpoint speed setpoint
Winding axis +
Speed Current
controller controller
diameter
© Siemens AG 2023 All rights reserved
speed/
position
Precontrol torque
Torque
acceleration setpoint (line axis) precontrol
optional
Load cell
F
Vline
n+ M+
M
Motion
Fact
Control
System
Winding axis
Master axis
FTension [N]
setpoint velocity
© Siemens AG 2023 All rights reserved
velocity setpoint
velocity / position
Geschwindigkeits-
Override
setpoint
Actual speed
Power unit
value
acceleration setpoint
Tension
correction value
tension controller
Setpoint
setpoint
preparation (Ramp
generator) precontrol
torque
Torque
tension setpoint precontrol
RFG +
Torque limiting torque limits
Load cell
F
Vline
© Siemens AG 2023 All rights reserved
n+ M+
M
Motion
Fact
Control
System
Winding axis
Master axis
FTension [N]
Setpoint velocity
Velocity setpoint
Acceleration setpoint
Velocity/position
Actual speed
setpoint
Power unit
value
+ Speed
setpoint
Auxiliary
torque
Torque limit
Correection value
Winding drive
Tension actual value
Tension
Tension controller
Setpoint
setpoint
preparation
(Rampgenerator)
Precontrol
Torque torque
precontrol
© Siemens AG 2023 All rights reserved
Dancer roll
F
Vline
n+ M+
M
Posact Motion
Control
System
The dancer roll attempts to deflect the material web with a defined force. The final
web tension is a result of the pulling force to the dancer and its counterforce.
The counterforce of the dancer – in consequence the web tension can be defined
in different ways, dependent on the mechanical construction of the dancer system.
An easy way is a counterforce generated with spring power. However, the spring
force and due to this the web tension can only be adjusted by the dancer angle.
More flexible adjustable counterforce can be achieved with pneumatic or hydraulic
dancer system. These systems can keep the counterforce constant even the
dancer angle changes. To do this, the tension setpoint signal is connected to an
analog output and is used as setpoint for the dancer force.
Often, there are additional factors that influence the tension actual value because
of the geometrical arrangement (distance to reversing rollers that may be used)
and the weight of the dancer roll itself. However, with a careful mechanical design,
these effects can be eliminated or sufficiently minimized.
The dancer position control has the advantage that brief fluctuations in the web
tension – caused by disturbances - can be absorbed due to the material buffer
function of the dancer roll.
Another advantage of the dancer system is the damping effect on
• Non-round material rolls
• Jumps between layers – e.g., when winding cables
• Influences during flying roll changes (splice)
© Siemens AG 2023 All rights reserved
Even though closed-loop dancer roll controls are quite complex, they offer the best
control technique.
dancer counterforce
Winder axis
Master axis
FTension [N]
+
setpoint velocity
velocity setpoint
velocity / position
acceleration setpoint
setpoint
Actual speed
Power unit
value
+ speed
setpoint
Auxiliary
torque Torque
limit
Diameter Speed setpoint
speed / position
calculation
diameter
winder axis +
Speed Current
controller controller
correction value
position
Winder drive
setpoint position
Setpoint RFG
setpoint after
RFG Position
controller
position actual value
© Siemens AG 2023 All rights reserved
3 Integration
3.1 Integration into user program
The SIMATIC Converting Toolbox is provided as global TIA Portal library
LConSMC.
The following steps need to be done for integration to the user program:
NOTE It is recommended to copy the respective sources together with the overlaid
folder “LConSMC_.....”
The winder/ sectional drive function block must be called in a cyclic organization
© Siemens AG 2023 All rights reserved
The cycle time in which the function block is called must be connected to the
NOTE function block input “cycleTime” in milliseconds.
Example
© Siemens AG 2023 All rights reserved
Contains program blocks to show how line axis, winder and sectional drive function
is called and triggered the right way.
• Example_Blocks
A detailed description can be found in chapter 4
• Example_Tags
Contains global user constants used for array length definition of winder and
sectional drive instances.
LConSMC_Blocks
Function blocks to realize a winder or sectional drive
LConSMC_Tags
Definition of internal used constants and error-IDs
LConSMC_Types
Definition of used data types within the library
NOTE The folders LConSMC_Blocks, _Tags and _Types contain the complete winder-
/sectional drive control functionality and must be added completely to the user
project.
Torque data
If the winder/ sectional drive is controlled in a torque-controlled mode, or if the
torque precontrol is used, the additional torque data must be activated at the
technology object (telegram 750)
If torque and Kp values are sent to the drive using two telegrams the parameter
connection for the telegram 750 is done automatically in StartDrive. The additional
word for the Kp-Adaption must be connected to parameter p1455 in the SINAMICS
S120.
NOTE The hardware-ID of the free telegram and the byte offset of “0” must be
connected to the function block LConSMC_KpAdaption.
If a combined telegram (for torque and Kp adaption value) is used the connection
of the parameters can be seen in the following table:
NOTE The hardware-ID of the free telegram and the byte offset of the Kp-Adaption with
the telegram (6 Bytes) must be connected to the function block
LConSMC_KpAdaption.
Using the extended set-point channel and the torque control by override of the
speed controller, the speed controller is given a velocity setpoint that can not be
reached. If the torque limit is switched with the activation of the AUS3 function, the
speed controller makes up the velocity difference between the actual (overridden)
setpoint and the actual value and is able to accelerate the motor before shutting
down at the AUS3 ramp. To avoid this behavior, either the AUS3 ramp may be set
to 0 or the ramp function generator is to be set with the activation of the AUS3
command.
Ramp flattening
Using overdriven speed controller and extended setpoint channel, the default
setting of the ramp flattening leads to the speed setpoint values is not being
transferred from SIMOTION to the drive speed controller. In cause of that the
speed controller is not overridden. This behavior can be switched off setting p1145
to 0.
Speed inversion
To invert the direction of rotation the parameter p1821 (inversion of the direction of
the rotating field) can be used. The encoder will be inverted automatically. In that
way the sign of the setpoint remains.
The winder/ sectional drive function block can be operated in the metric or the
Anglo-American system. The setting is done in the corresponding configuration
structure winderConfig/sectionalDriveConfig.unitConfiguration.metricUnits
The following table shows the mandatory units the function blocks are working with:
NOTE The winder/ sectional drive function block automatically converts the setpoints
(Speed, Torque) into the necessary axis units
If the units of the line axis are in a different, the values can be converted using the
function block LConSMC_LineUnitConversion.
4 Example project
Line axis
The project is a simple example program on how to control the winder function
NOTE block. It must be adapted/extended according to the machine project (e.g., error
handling, further winder functions etc.)
1. Example program
• Example_CallsForXXX
Wrapping FCs that are called in the Startup OB, OB1 and
MC_PreInterpolator OB and contain the necessary FB calls
• LConSMC_Data
Global data block with the necessary data types (winder
configuration/diagnostic data etc.)
• Blocks
Contains the FBs/FCs with the example program to control/ initialize the
winder/sectional drives
2. LConSMC library blocks
3. Used technology axes within the example project
• Line = Positioning axis (Leading value)
• WinderDown = Speed axis (Indirect tension control)
• WinderTop = Positioning axis (Dancer control mode)
The FB is just an example and covers not all available inputs of the winder
NOTE function block. It must be adapted by the user to the final use case (e.g.,
holdDiameter, jogPos, jogNeg etc.).
1
© Siemens AG 2023 All rights reserved
With the help of the control bits the example project can be operated. All variables
are connected to the example program in the sequence folder, called in the OB1. A
description of the variables can be found in the comment of the variable. To run the
program the variables must be set from top to bottom, for disabling the other way
around.
Short description
Determines the cycle time of a calling OB, called in cyclic interrupt or synchronous
operation task. This function can be used in S7-1500 PLC. Function ID: 1001
Interface description
Block Interface
LConSMC_ReadCycleTimeS71500 (FC)
Int OBnumber Ret_Val Real
Input parameter
Identifier Data type Description
OBnumber Int OB number for which the cycle time should be read
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val Real [ms] Cycle time of OB (= 0.0 if invalid OB number at input
"OBnumber")
5.1.2 LConSMC_Linear
Short description
Linear interpolation between two breakpoints. Function ID: 0001
Interface description
Block Interface
LConSMC_Linear (FC)
LReal x Ret_Val LReal
LReal x1
LReal y1
LReal x2
LReal y2
Input parameter
Identifier Data type Description
x LReal Input value
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val LReal Return value with linear interpolation
Functionality
Using the breakpoints entered, this function determines the matching Y coordinate
of the coordinate present at input x. The interpolated Y coordinate is provided as
return value of the function. The input point x is limited by the coordinates X1 and
X2. If the coordinates X1 and X2 are equal, 0.0 is displayed as return value and no
interpolation is carried out.
𝑋 − 𝑋1
𝑅𝐸𝑇_𝑉𝐴𝐿 = (𝑌 − 𝑌1 ) + 𝑌1
𝑋1 − 𝑋2 2
Graphical Representation
© Siemens AG 2023 All rights reserved
5.1.3 LConSMC_TableChar
Short description
Interpolation from breakpoint table, the function block can be called in any cyclic
task. Function block ID: 0106
Interface description
Block Interface
LConSMC_TableChar (FB)
Bool enable busy Bool
LConSMC_typeBreakPointTable xn y LReal
LConSMC_typeBreakPointTable yn
Input parameter
Identifier Data type Default value Description
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
busy Bool TRUE: FB is active
error Bool TRUE: An error has occurred, refer to "errorID"
errorID DWord Error identification, refer to error messages
y LReal Output value
Functionality
The function blocks adapts the output value y corresponding to the input value x
based on a breakpoint table of flexible size. Between the breakpoints the values
are interpolated linearly.
Purpose of the function block is to e.g.:
• Linear characteristic curves
• Simulation of non-linear transfer elements
• Minimum number of breakpoint elements is two.
The x values of the curve must increase monotonically; the y values have no
limitation. The total number of breakpoints is defined by the size of the data
reference. The data type of the addressed data area must be LREAL. Is x lower
than the x value of the first coordinate, the output y value will maintain the level of
the y value of the first coordinate. The same applies if x is bigger than the last x
coordinate of the table.
Graphical Representation
© Siemens AG 2023 All rights reserved
Warning messages
Warnings are indicated by the status of the outputs error and errorID: error =
FALSE and errorID <> 16#0000_0000
ErrorID Description
16#0000_0000 No warning
16#0106_4001 No corresponsing y-value could be found
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000
ErrorID Description
16# 0000_0000 No error
16# 0106_8000 Invalid configuration:
• sizeOfArray < 2
• sizeOfArray > MAX_SIZE_OF_ARRAY (default: 20)
16# 0106_8007 The table of entered values are not monotonically(steadily) increasing -> 2
values are identical
© Siemens AG 2023 All rights reserved
Short description
RFG with MOP and follow-up operation – without rounding. The function block
must be called in a cyclic interrupt, e.g. OB30. Function block ID: 1106
Interface description
Block Interface
LConSMC_RFG (FB)
LReal x error Bool
Int rampTimeMode
Bool set
© Siemens AG 2023 All rights reserved
Bool followup
Bool increase
Bool decrease
Real tCycle
Input parameter
Identifier Data type Default value Description
x LReal 0.0 Input value
nominalValue LReal 1.0 Reference value for ramping times
upperLimit LReal 0.0 Upper limit for output value
lowerLimit LReal 0.0 Lower limit for output value
setValue LReal 0.0 Set value (if "set" = TRUE, output "y" is set to this
value)
rampupTime LReal 0.0 [ms] Ramp up time (at least the cycle time)
rampdownTime LReal 0.0 [ms] Ramp down time (at least the cycle time)
rampTimeMode Int #DIFF_TO_ZER Select ramping time mode
O 0: Ramp up time if target value moves away from
zero
1: Ramp up time if target value is bigger than
start value
set Bool FALSE TRUE: Set output to the value of the input
"setValue"
followup Bool FALSE TRUE: Integrate output y to setpoint x
increase Bool FALSE TRUE: Increase output y until upper limit is
reached
Output parameter
Identifier Data type Description
error Bool TRUE:
An error has occurred, refer to error identification
errorID DWord Error identification, refer to error messages
y LReal [-] Output value
ya LReal [-/cycle] Output acceleration value
SetpointReached Bool TRUE: Output value is Input Value
upperLimitReached Bool TRUE: upper limit reached
lowerLimitReached Bool TRUE: lower limit reached
Functionality
The function block includes an integrator with two integration time constants that
© Siemens AG 2023 All rights reserved
rampTimeMode = DIFF_TO_ZERO:
An up ramp is when the output value y moves away from zero. A down ramp is
when the output value y approaches zero. By this the used ramp time will be
switched if the output y crosses zero.
rampTimeMode = DIFF_OF_CHANGE:
An up ramp is when the target value is bigger than the output value y. A down
ramp is when the target value is smaller than the output value y. By this there is no
change between rampUpTime and rampDownTime when the output value y moves
through zero.
𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒
𝑦𝑎 = − ⋅ 𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑉𝑎𝑙𝑢𝑒 𝑓𝑜𝑟 𝑌 > 0
𝑟𝑎𝑚𝑝𝑢𝑝𝑇𝑖𝑚𝑒
𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒
𝑦𝑎 = ⋅ 𝑛𝑜𝑚𝑖𝑛𝑎𝑙𝑉𝑎𝑙𝑢𝑒 𝑓𝑜𝑟 𝑌 < 0
𝑟𝑎𝑚𝑝𝑢𝑝𝑇𝑖𝑚𝑒
The combination of commands at the control inputs and the possible operating
modes can be taken from the truth tables.
Standard ramp-function generator operation involves lowerLimit ≤ 0 ≤ upperLimit
and lowerLimit < 𝑦𝑛 < upperLimit. However, other settings are also possible that
are explained in the following.
For the setting with lowerLimit ≥ upperLimit, the following applies: Limit upperLimit
© Siemens AG 2023 All rights reserved
Table 5-2
set follow inc. dec. yan yn Mode Comment
up
0 0 0 0 0 yn+1 Stop Y is constant
1 1 1 1 Step setValuen Sets output setValue is any
to value, fixed or
setValue variable
0 1 1 1 cycleTime/ra yn-1+yan Normal rampupTime for [x
mpupTime; > y ⋀ y ≥ 0] ⋁ [x
cycleTime/ra operation
< y ⋀ y ≤ 0]
mpdownTim y→ x
e rampdownTime for
[x > y ⋀ y < 0] ⋁ [x
< y ⋀ y > 0]
0 0 1 0 cycleTime/ra yn-1+yan Approach the rampupTime,
mpupTime
upper limit rampdownTime as
cycleTime/ra
value before, dependent
mpdownTim
on the starting
e y→upperLimi
(initial) position
t
0 0 0 1 cycleTime/ra yn-1+yan Approach the rampupTime,
mpdownTim
e lower limit rampdownTime as
value before, dependent
cycleTime/ra
© Siemens AG 2023 All rights reserved
increase 1
(IN) 0
1
decrease
0
(IN)
1
rampTimeMode
(IN) 0
upperLimit
100 nominalValue
y
(OUT) 0
rampupTime rampdownTime
-100
lowerLimit
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000
ErrorID Description
16# 0000_0000 No error
16#1106_8000 Invalid configuration:
• rampTimeMode < 0
• rampTimeMode > 1
16#1106_8001 Invalid cycle time (= 0)
Short description
Ramp-function generator with ramp-up, ramp-down times and rounding-off. The
function block has to be called in a cyclic interrupt, e.g. OB30. Function block ID:
1107
Interface description
Block Interface
LConSMC_RFGJ (FB)
Bool run busy Bool
LReal rampdownTime
Int rampTimeMode
LReal fastRampdownTime
LReal roundingTime
Real tCycle
Input parameter
Data
Identifier Default value Description
type
run Bool FALSE TRUE: Enable function block
enable Bool FALSE TRUE: Enable ramp function
mode Bool TRUE TRUE: Use ramp up-time/ramp down-time
FALSE: Use emergency ramp down-time
enableRounding Bool TRUE TRUE: Enable Rounding
hold Bool FALSE TRUE: Hold actual output value constant (with
jerklimit!)
zeroRounding Bool FALSE TRUE: Enable Rounding at crossing 0.0
FALSE: Disable Rounding at crossing 0.0
x LReal 0.0 Input value
nominalValue LReal 1000.0 Reference value for ramping times
rampupTime LReal 1.0 [s] Ramp up time (at least the cycle time)
rampdownTime LReal 1.0 [s] Ramp down time (at least the cycle time)
Data
Identifier Default value Description
type
rampTimeMode Int #DIFF_TO_ZER Select ramping time mode
O 0: Ramp up time if target value moves away
from zero
1: Ramp up time if target value is bigger than
start value
fastRampdownTime LReal 0.1 [s] Emergency Ramp-down time
roundingTime LReal 0.5 [s] Rounding time
tCycle Real 0.0 [ms] Cycle time the FB is called
Output parameter
Identifier Data type Description
busy Bool TRUE: Functionblock is busy
error Bool TRUE:
An error has occurred, refer to error identification
errorID DWord Error identification, refer to error messages
setpointReache Bool TRUE: Output value is Input Value
d
setpointZero Bool TRUE: Output Value = 0
accelerating Bool TRUE: Output is increasing
© Siemens AG 2023 All rights reserved
Functionality
The function block is active with the input run at TRUE and the calculation can be
started or stopped with input enable. Depending on the parameterization of the
inputs, a ramp function is calculated. Various options can be set by selecting the
inputs. If mode is at False, the ramp is braked using a special entered deceleration
time (fastRampdownTime) and without jerk limiting. This means that the ramp can
be effectively decelerated for an Emergency Stop – this is also possible while
accelerating. If mode is at True, then the drive is braked normally with the entered
deceleration time (rampdownTime). The acceleration is always calculated with the
entered acceleration time (rampupTime) independent of mode.
Dependent on the input parameter rampTimeMode, rampUpTime and
rampDownTime will be used differently:
rampTimeMode = DIFF_TO_ZERO:
An up ramp is when the output value y moves away from zero. A down ramp is
when the output value y approaches zero. By this the used ramp time will be
switched if the output y crosses zero.
rampTimeMode = DIFF_OF_CHANGE:
An up ramp is when the target value is bigger than the output value y. A down
ramp is when the target value is smaller than the output value y. By this there is no
change between rampUpTime and rampDownTime when the output value y moves
through zero.
In order to reach the setpoint (x), the appropriate interval values are output (at y)
and the actual change rate is output (at ya). If input enableRounding is set to
TRUE, the ramp is calculated with jerk limiting. The rounding-off is determined by
the rounding-off time (roundingTime). The zero crossing (when the input x changes
direction) can be parameterized with or without rounding. As soon as the output
value is zero this is displayed using the setpointZero output. Further, when
accelerating output acceleration is set, when decelerating, output deceleration is
set and for a constant value setpointReached is set. If the block is in the enable
mode, then output busy is set to TRUE. If the hold input is set to TRUE, the ramp-
function generator is stopped (held) and the actual acceleration is ramped-down to
zero. As long as hold is TRUE, setpoint x is ignored and output ya is set to zero.
100
x
(IN)
0
-100
rampTimeMode 1
(IN)
0
© Siemens AG 2023 All rights reserved
100
y
(OUT) 0
-100
ya
(OUT)
0
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000
ErrorID Description
16# 0000_0000 No error
16#1107_8000 Invalid configuration:
• rampTimeMode < 0
• rampTimeMode > 1
• nominalValue = 0
16#1107_8001 Invalid cycle time (= 0)
5.1.6 LConSMC_CalcStopDistance
Short description
This function calculates the distance remaining for braking and associated time to
ramp down to zero the Unwinder as per the ramp down time, depending upon the
given speed and acceleration. Function block ID: 0005
Interface description
Block Interface
LConSMC_CalcStopDistance (FC)
LReal velocity Ret_Val Void
LReal roundingTime
Input parameter
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val Void Void - Function has no return value
error Bool TRUE: An error occured
errorID DWord Detail error description
StopDistance LReal [m] / [ft] Distance to stop
StopTime LReal [s] Time to stop
Functionality
The function calculates the braking time and braking distance taking the actual
motion vector of a drive (velocity, acceleration) as well as the specification of
dynamics (maxVelocity, rampUpTime, rampdownTime, roundingTime) into
account. The length unit of the calculation corresponds to the unit used as input for
the lineSpeed input. The units of the inputs must be consistent as described.
With roundingTime = 0.0 the rounding (jerk limiting, smoothing) is deactivated
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000
Error ID Description
16#0000_0000 No error
16#0005_8000 Invalid Configuration data
© Siemens AG 2023 All rights reserved
5.1.7 LConSMC_EvaluateModulo
Short description
Calculates the difference between two sampling values of a signal with respect to
modulo value. Function block ID: 000B
Interface description
Block Interface
LConSMC_EvaluateModulo (FC)
LReal valueAct Ret_Val LReal
LReal valueLast
LReal moduloLength
Input parameter
Identifier Data type Description
valueAct LReal Actual value
valueLast LReal Last value
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val LReal Difference to last value with respect to the modulo length
Functionality
The block calculates the position difference between two block calls and corrects
the calculated value taking into account the modulo length. The evaluation is
realized by comparing the actual and last position value referred to the modulo
length.
In order that the block correctly operates, it must be ensured that a modulo length
is run through in not less than 2 sampling cycles – as otherwise, reliable detection
is not possible.
[n ]
[n]
[n
]
-1
[n
-1
[n
] - 1]
[n
]
moduloLength
Case #1:
Value [ n ] > Value [ n – 1 ], no modulo overflow, no modulo correction.
FCLConSMCEvaluateModulo = Value [ n ] – Value [ n – 1 ]
Case #2:
Value [ n ] < Value [ n - 1 ], modulo overflow in positive direction
© Siemens AG 2023 All rights reserved
Case #3:
Value [ n ] > Value [ n – 1 ], modulo overflow in negative direction
FCLConSMCEvaluateModulo = Value [ n ] – Value [ n – 1 ] - moduloLength
Error messages
The block does not generate any error messages.
If the input parameters are incorrect, then the difference is calculated without taking
the modulo into consideration.
5.1.8 LConSMC_ModuloIEC
Short description
This function calculates the modulo division for an input value oft he data type
LREAL. Function block ID: 000C
Interface description
Block Interface
LConSMC_ModuloIEC (FC)
LReal value Ret_Val LReal
LReal moduloValue
Input parameter
Identifier Data type Description
value LReal Input value for modulo calculation
moduloValue LReal Modulo length
Output parameter
© Siemens AG 2023 All rights reserved
Functionality
Definition of the return value
• Positive input value -> positive return value
• Negative input value -> negative return value
The following example describes the functionality of the function:
Value moduloValue LConSMC_ModuloIEC
180 360 180
362 360 2
-180 360 -180
-362 360 -2
180 0 0
Error messages
The block does not generate any error messages.
If the input parameters are incorrect (moduloValue = 0.0) the return value of the
function is zero.
Short description
Low-pass filter function block, the function block has to be called in a cyclic
interrupt, e.g. OB30. Function block ID: 1101
Interface description
Block Interface
LConSMC_PT1 (FB)
Bool set error Bool
Real smoothingTime
Real tCycle
© Siemens AG 2023 All rights reserved
Input parameter
Identifier Data type Default value Description
set Bool FALSE TRUE: Set output to the value of "setValue"
x LReal 0.0 Input Value
setvalue LReal 0.0 Set value (if "set" = TRUE)
smoothingTime Real 100.0 [ms] Smoothing time constant [tCycle - 5000]
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Identifier Data type Description
error Bool TRUE: An error occured
errorID DWord Detailed error description
y LReal Filtered output value
Functionality
This input value x is filtered using the time constant smoothingTime and output at
the output y. To precisely calculate the internal steps, the sampling time in which
the block is processed is internally determined. Further, it is possible to
permanently set the output to the value of the input (setValue) by setting the input
(set).
In order to generate a hold, output y should be connected to the input setValue.
This means that when setting set to TRUE, the output value is maintained until set
is again set to FALSE.
If the time constant is set to zero, the filter is de-activated and the output value is
equal to the input value. 63% of the input value is reached at the output after the
time constant.
95% of the input value is reached at the output after three times of the time
constant. For an appropriately high smoothingTime / cycleTime (smoothingTime /
cycleTime > 10) the transfer function corresponds to the following characteristic:
𝑡
−
𝑌(𝑡) = 𝑋 ⋅ (1 − 𝑒 𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑡𝑖𝑚𝑒 ) 𝑤𝑖𝑡ℎ 𝑡 = 𝑛 ⋅ (𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒)
© Siemens AG 2023 All rights reserved
𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒
𝑌𝑛 = 𝑌𝑛−1 + ⋅ (𝑋𝑛 − 𝑌𝑛−1 )
𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑡𝑖𝑚𝑒
Timing Diagram
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
Error ID Description
16#0000_0000 No error
16#1101_8001 Invalid cycle time (= 0)
© Siemens AG 2023 All rights reserved
5.2.2 LConSMC_ReadAnalogInput
Short description
Analog input evaluation with PT1 filter, must be called in cyclic interrupt task i.e.
OB30. Function block ID: 1109
Interface description
Block Interface
LConSMC_ReadAnalogInput (FB)
Bool set error Bool
LReal base
LReal setValue
LReal smoothingTime
Real tCycle
© Siemens AG 2023 All rights reserved
Input parameter
Identifier Data type Default value Description
set Bool FALSE TRUE: Set output to the value of "setValue"
x Word 16#0000 Input Value
maxValue LReal 0.0 Used as reference value for conversion
y = x/base * maxValue
The output is limited to +- 2*maxValue
base LReal 16384.0 Scaling value for conversion
y=x/base*maxValue
setValue LReal 0.0 Set value (if "set" = TRUE)
smoothingTime LReal 100.0 [ms] Smoothing time constant [tCycle - 5000]
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Identifier Data type Description
error Bool TRUE: An error occured
errorID DWord Detailed error description
y LReal Output value
Functionality
This function converts an analog input signal in WORD format (x) into a REAL
value using a normalization value (base) and the maximum reference value
(maxValue). The output value is limited between the values -2⋅maxValue -
2⋅maxValue. The WORD value will be converted to INT value and afterwards to
REAL value.
𝑥
𝑦= ⋅ 𝑚𝑎𝑥𝑉𝑎𝑙𝑢𝑒
𝑏𝑎𝑠𝑒
Optionally the analog value can be filtered with a settable PT1-filter using the filter
time smoothingTime. If the input parameter smoothingTime = 0, the filter is
disabled. The internal limit for the filter time is 5000 ms. The functionality is
basically a combination of the ScalingWDRL function and the PT1 function block.
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
Error ID Description
16#1109_8000 Invalid Configuration data (base = 0)
16#1109_8001 Function called in wrong task (cycleTime = 0)
© Siemens AG 2023 All rights reserved
5.2.3 LConSMC_Differentiator
Short description
Numerical differentiator function block must be called in a cyclic interrupt, e.g.
OB30. Function block ID: 1103
Interface description
Block Interface
LConSMC_Differentiator (FB)
LReal x error Bool
Input parameter
Identifier Data type Default value Description
x LReal 0.0 Input value
diffTime LReal 0.0 [ms] Time constant for differentator
© Siemens AG 2023 All rights reserved
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Identifier Data type Description
error Bool TRUE: An error occured
errorID DWord Detailed error description
y LReal Output value = (xn-xn-1) * diffTime/cycleTime
Functionality
The output value y changes as a function of the rate of change of input value x,
multiplied by the differential time constant diffTime.
The input diffTime is internally limited: cycleTime ≤ diffTime ≤ 1000
Discrete values are calculated using the following algorithm:
𝑑𝑖𝑓𝑓𝑡𝑖𝑚𝑒
𝑌𝑛 = (𝑋𝑛 − 𝑋𝑛−1 ) ⋅
𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
Error ID Description
16#0000_0000 No error
16#1103_8001 Function block not called in a cyclic task (cycleTime = 0)
© Siemens AG 2023 All rights reserved
5.2.4 LConSMC_Integrator
Short description
Numerical integrator function block has to be called in a cyclic interrupt, e.g. OB30.
Function block ID: 1102
Interface description
Block Interface
LConSMC_Integrator (FB)
Bool set error Bool
LReal integralTime
Real tCycle
© Siemens AG 2023 All rights reserved
Input parameter
Identifier Data type Default value Description
set Bool FALSE TRUE: Set output = "setValue"
x LReal 0.0 Input value
setValue LReal 0.0 Set value (if "set" = TRUE)
upperLimit LReal 1.0 Upper limit
lowerLimit LReal 0.0 Lower limit
integralTime LReal 5.0 [ms] Time constant for integrator
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Identifier Data type Description
error Bool TRUE: An error occured
errorID DWord Detailed error description
upperLimitReached Bool TRUE: Upper limit reached
lowerLimitReached Bool TRUE: Lower limit reached
y LReal Output value
Functionality
The function block integrates the input value x with integration time integralTime.
The result is output at y. The integrator is limited by the upper limit upperLimit and
the lower limit lowerLimit. If the integrator reaches one of the limits, then this is
connected to the output.
Further, when the particular limit at the output is reached, this is indicated using
𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒
𝑌𝑛 = 𝑌𝑛−1 + ⋅𝑋
𝑖𝑛𝑡𝑒𝑔𝑟𝑎𝑙𝑡𝑖𝑚𝑒 𝑛
⋅
𝑖𝑛𝑡𝑒𝑔𝑟𝑎𝑡𝑖𝑜𝑛𝑡𝑖𝑚𝑒 upper limit
=> upperLimit
0 𝑌𝑛−1 + 𝑥 Lower limit 0 1 Integrator at
𝑐𝑦𝑐𝑙𝑒𝑡𝑖𝑚𝑒 the lower
⋅
𝑖𝑛𝑡𝑒𝑔𝑟𝑎𝑡𝑖𝑜𝑛𝑡𝑖𝑚𝑒 limit
=< lowerLimit
1 lowerLimit < setValue < set 0 0 Setting
upperLimit Valuen
1 setValue >= upperLimit upper 1 0 Integrator at
Limit the
upper limit
1 setValue =< lowerLimit lower Limit 0 1 Integrator at
the lower
limit
Timing diagram
© Siemens AG 2023 All rights reserved
Error messages
Error messages are indicated by the status of the outputs error and errorID:
error = TRUE and errorID <> 16#0000_0000.
Error ID Description
16#0000_0000 No error
16#1102_8001 Function block not called in a cyclic task (cycleTime = 0)
5.2.5 LConSMC_DT1
Short description
DT1-filter The function block has to be called in a cyclic interrupt, e.g. OB30.
Function block ID: 1104
Interface description
Block Interface
LConSMC_DT1 (FB)
Bool set error Bool
LReal diffTime
Real tCycle
Input parameter
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
error Bool TRUE: An error occured
errorID DWord Detailed error description
y LReal Output value
ypt LReal Output value of smoothing element
Functionality
𝑑𝑖𝑓𝑓𝑇𝑖𝑚𝑒
𝑌(𝑡) = 𝑥 ( ) ⋅ 𝑒 −𝑡/𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑇𝑖𝑚𝑒 where t=n(cycleTime)
𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑇𝑖𝑚𝑒
𝑑𝑖𝑓𝑓𝑇𝑖𝑚𝑒
𝑌1𝑛 = ⋅ (𝑥𝑛 − 𝑌𝑃𝑇𝑛−1 )
𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑇𝑖𝑚𝑒
𝑐𝑦𝑐𝑙𝑒𝑇𝑖𝑚𝑒
𝑌𝑃𝑇𝑛 = 𝑌𝑃𝑇𝑛−1 ⋅ (𝑥𝑛 − 𝑌𝑃𝑇𝑛−1 )
© Siemens AG 2023 All rights reserved
𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑇𝑖𝑚𝑒
Setting function
When the setting function is active, setting value setValue is transferred to output y;
the output of the smoothing element is obtained as follows:
𝑠𝑚𝑜𝑜𝑡ℎ𝑖𝑛𝑔𝑇𝑖𝑚𝑒
𝑌𝑃𝑇𝑛 = 𝑥𝑛 − ⋅ 𝑠𝑒𝑡𝑉𝑎𝑙𝑢𝑒𝑛 𝑓𝑜𝑟 𝑑𝑖𝑓𝑓𝑇𝑖𝑚𝑒 ≠ 0
𝑑𝑖𝑓𝑓𝑇𝑖𝑚𝑒
In this case, the internal limits for smoothingTime and diffTime apply. For diffTime
= 0, the output values remain unchanged as long as set = TRUE.
Graphic representation
Error messages
Error messages are indicated by the status of the outputs error and errorID:
error = TRUE and errorID <> 16#0000_0000.
Error ID Description
16#0000_0000 No error
© Siemens AG 2023 All rights reserved
5.2.6 LConSMC_Limiter
Short description
Limiting the input value between specified limits, the function can be called in any
task. Function block ID: 0004
Interface description
Block Interface
LConSMC_Limiter (FC)
LReal x Ret_Val LReal
Input parameter
Identifier Data type Description
x LReal Input value
UpperLimit LReal Upper limit
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val LReal Limited output value
UpperLimitReached Bool TRUE: Upper limit reached
LowerLimitReached Bool TRUE: Lower limit reached
Functionality
The function block transfers the input value x to its return value. The input value is
limited dependent on the input parameters upperLimit and lowerLimit.
If the input quantity reaches upper limit upperLimit, output upperLimitReached is
set to
TRUE.
If the input quantity reaches lower limit value lowerLimit, output lowerLimitReached
is set to TRUE.
If the lower limit value is greater or equal to the upper limit value, output y is set to
the upper limit value upperLimit.
Timing diagram
Error messages
© Siemens AG 2023 All rights reserved
5.2.7 LConSMC_LevelControl
Short description
Limit value monitor. The function block can be called in any cyclic task. Function
block ID: 0104
Interface description
Block Interface
LConSMC_LevelControl (FB)
Bool run busy Bool
LReal alarmLow
LReal hyst
Time delayTime
© Siemens AG 2023 All rights reserved
Input parameter
Identifier Data type Default value Description
run Bool FALSE TRUE: Enable function block
x LReal 0.0 Input value
alarmHigh LReal 100.0 Alarm, upper limit value
warningHigh LReal 80.0 Warning, upper limit value
warningLow LReal -80.0 Warning, lower limit value
alarmLow LReal -100.0 Alarm, lower limit value
hyst LReal 0.0 Hysteresis (Absolute value is used)
delayTime Time T#3S [ s ] Output delay time
delayTime = 0, signal delay is disabled
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is activated
alarmUpperLimit Bool TRUE: Upper alarm limit value exceeded
alarmLowerLimit Bool TRUE: Lower alarm limit value exceeded
warningUpperLimit Bool TRUE: Upper warning limit value exceeded
warningLowerLimit Bool TRUE: Lower warning limit value exceeded
Functionality
This function block monitors an input value (x) to identify whether it violates
(exceeds, falls below) parameterized limit values as long as it is active with run =
TRUE. If the block is enabled, then this can be identified using the busy output.
Timing diagram
© Siemens AG 2023 All rights reserved
5.2.8 LConSMC_DeadBand
Short description
Dead band filter within a specified value. The function can be called in any task.
Function ID: 0002
Interface description
Block Interface
LConSMC_DeadBand (FC)
LReal x Ret_Val LReal
LReal bandborder
Input parameter
Identifier Data type Description
x LReal Input value
bandborder LReal Value of the dead band symmetrical around 0
If "x" is within the deadband the output is 0. If "x" is outside the output
is x +- bandborder
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val LReal Output
Functionality
If the input value (x) is located in the dead band range (-bandBorder < x <
+bandBorder), the output value is set to zero. However, if it is at or below (–
bandBorder) the output will be x – bandBorder. If the input value is at or above
+bandBorder, x + bandBorder is set as output value. The dead band – symmetrical
around the zero point – can be set using the bandBorder parameter.
Graphical representation
y
(OUT)
x
bandBorder (IN)
(IN)
© Siemens AG 2023 All rights reserved
5.2.9 LConSMC_DeadZone
Short description
Dead zone filter The function can be called in any task. Function ID: 0003
Interface description
Block Interface
LConSMC_DeadZone (FC)
Real x Ret_Val Real
Real zoneborder
Input parameter
Identifier Data type Description
x Real Input value
zoneborder Real Value of the dead band symmetrical around 0
If "x" is within the zoneborder the output is 0. If "x" is outside the
output is x
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val Real Output value
Functionality
If the input value (x) lies in the range of the dead zone (-zoneBorder < x < +
zoneBorder), the output value is set to zero. If the input value lies at / below (–
zoneBorder) or at / above +zoneBorder, input x is the output value. The dead zone
– symmetrical around the zero point – can be set using the value zoneBorder.
x for x<=-zoneborder
0 for -zoneBorder < x < +zoneBorder
x for x>=+zoneborder
Graphical representation
© Siemens AG 2023 All rights reserved
5.2.10 LConSMC_AverageValue
Short description
Average value filter. The function block must be called in a cyclic task. Function
block ID: 0105
Interface description
Block Interface
LConSMC_AverageValue (FB)
Bool enable busy Bool
maxValuereached Bool
Input parameter
Identifier Data type Default value Description
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is active
error Bool TRUE: An error occured
errorID DWord Detailed error description
averageValue LReal Average value
maxValuereached Bool Defined number of values are used for average value calculation
(internal array is filled)
Functionality
The function block calculates the moving average value (averageValue) of the
input values that are entered. Each time the block is called, the value (x) currently
present is saved in an array. The values stored in the array are deleted upon
deactivation of the function block.
The function block is activated via the input enable and calculates values from that
instant. The output maxValueReached is set if the amount of values in an array
reaches the defined number sizeOfArray
Error messages
Error messages are indicated by the status of the outputs error and errorID:
error = TRUE and errorID <> 16#0000_0000.
Error ID Description
16#0000_0000 No error
16#0105_8000 Invalid configuration data
• sizeOfArray > MAX_LENGTH_AVERAGE_VALUE (default:20)
• sizeOfArray < 2
© Siemens AG 2023 All rights reserved
5.2.11 LConSMC_PID
Short description
PID controller with actual value smoothing and optional D component in the actual
value branch, the function block has to be called in a cyclic interrupt, e.g. OB30.
Function block ID: 1105
Interface description
Block Interface
LConSMC_PID (FB)
Bool enable busy Bool
LReal lowerLimit
LReal intSetValue
Bool holdIntChannel
Bool setIntChannel
Bool controlMode
LReal deadBand
LReal actualValueFactor
LReal actualValueOffset
LReal outValueFactor
LReal outValueOffset
Real tCycle
Input parameter
Identifier Data type Default value Description
enable Bool FALSE TRUE: Enable function block
reset Bool FALSE TRUE: Reset function block
setpointValue LReal 0.0 [-] Setpoint
actualValue LReal 0.0 [-] Actual value
preControl LReal 0.0 Controler pre control value
propGain LReal 2.0 Proportional gain. A value of 0 disables the P-part
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is active
error Bool TRUE: An error occured
errorID DWord Detailed error description
upperLimitReached Bool TRUE: Upper limit reached
lowerLimitReached Bool TRUE: Lower limit reached
deviationValue LReal Controller deviation after the deadband filter
pOutValue LReal P component output before limitation
iOutValue LReal I component output before limitation
dOutValue LReal D component output before limitation
outValue LReal Controller output after limitation and scaling
Functionality
The function block is used to implement a universal PID controller that can be
switched over to the P controller or I controller modes. The D component can either
be calculated in the actual value branch or in the system deviation.
The integrator can be set using the inputs intSetValue (setting value) and
setIntChannel. In addition, the instantaneous value of the integrator can be held
using holdIntChannel (P controller). Internally, the I component is limited, based on
the controller output limits (“anti-windup”). The integrator is set to zero at switch-on.
All of the block parameters can be changed in operation. The scaled and smoothed
𝑡
𝑑𝑒𝑣𝑖𝑎𝑡𝑖𝑜𝑛𝑉𝑎𝑙𝑢𝑒 = ((𝑎𝑐𝑡𝑢𝑎𝑙𝑉𝑎𝑙𝑢𝑒 ⋅ 𝑎𝑐𝑡𝑢𝑎𝑙𝑉𝑎𝑙𝑢𝑒𝐹𝑎𝑐𝑡𝑜𝑟) + 𝑎𝑐𝑡𝑢𝑎𝑙𝑉𝑎𝑙𝑢𝑒𝑂𝑓𝑓𝑠𝑒𝑡) ⋅ (1 − 𝑒 −𝑇 )
− 𝑠𝑒𝑡𝑝𝑜𝑖𝑛𝑡𝑉𝑎𝑙𝑢𝑒
The result is the system deviationValue (after the deadband) and is then multiplied
with the proportional coefficient propGain. The result is transferred to the integrator
– and optionally to the D component. The settable integral time integTime as well
as the time constant of the D component derivTime (optional) define the controller
behavior.
Component Calculation
P component pOutValue[n] = propGain ⋅ deviationValue[n]
I component 𝑝𝑂𝑢𝑡𝑉𝑎𝑙𝑢𝑒[𝑛] + 𝑝𝑂𝑢𝑡𝑉𝑎𝑙𝑢𝑒[𝑛 − 1]
𝑖𝑂𝑢𝑡𝑉𝑎𝑙𝑢𝑒[𝑛] = 𝑖𝑂𝑢𝑡𝑉𝑎𝑙𝑢𝑒[𝑛 − 1] + ( )
2
𝑐𝑦𝑐𝑙𝑒𝑇𝑖𝑚𝑒
⋅( )
𝑖𝑛𝑡𝑒𝑔𝑇𝑖𝑚𝑒
The integrator includes "anti-windup" functionality, i.e. if the controller output is
limited, the integrator cannot continue to integrate in the same direction.
The inputs setIntChannel and holdIntchannel can be used to set the integrator
(intSetValue) – or manually hold it. The integrator is set to zero
© Siemens AG 2023 All rights reserved
Timing Diagram
© Siemens AG 2023 All rights reserved
Block Diagram
© Siemens AG 2023 All rights reserved
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#1105_8000 Invalid configuration data:
upperlimit < lowerlimit
16#1105_8001 The function block is not called in a cyclic task (cycleTime = 0)
© Siemens AG 2023 All rights reserved
Short description
Technology controller based on a PID controller for use as tension or dancer roll
position controller in closed-loop winder or material web controls The function block
has to be called in a cyclic interrupt, e.g. OB30. Function block ID: 1108
Interface description
Block Interface
LConSMC_TPID (FB)
Bool enable busy Bool
LReal x2
LReal Kp2
LReal limRampTime
LReal setNominalValue
LReal setRampTime
LReal integTime
LReal derivTime
LReal filterTime
LReal intSetValue
Bool controlMode
LReal deadBand
LReal outValueFactor
LReal upperLimit
LReal lowerLimit
Real tCycle
Input parameter
Identifier Data type Default value Description
enable Bool FALSE TRUE: Enable function block
adaption is deactivated)
limRampTime LReal 1000.0 [ms] Ramp time for output value limitation
setNominalValue LReal 100.0 Reference value for ramp time of setpoint channel
(Ramp from 0 to "setNominalValue" in
"setRampTime")
setRampTime LReal 1000.0 [ms] Ramp time for setpoint ramp generator
integTime LReal 2000.0 [ms] Time constant for integrator. A value of 0
disables the I-part
derivTime LReal 0.0 [ms] Time constant for differentiator. A value of 0
disables the D-part
filterTime LReal 10.0 [ms] PT1- Filter for actual value. A value of 0
disables the filter
intSetValue LReal 0.0 Integrator set value (if "setIntChannel" = TRUE)
controlMode Bool FALSE TRUE: D component active in actual value branch
FALSE: D component in controller deviation
deadBand LReal 0.0 Value of the dead band (symmetrical). A value of 0
disables the deadband
outValueFactor LReal 1.0 Multiplicative scaling of the controller output
upperLimit LReal 20.0 Upper limit of the controller output
lowerLimit LReal -20.0 Lower limit of the controller output
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is active
error Bool TRUE: An error occured
errorId DWord Detailed error description
Functionality
The block is enabled using the enable input; therefore, the setpoint ramp-function
generator and the limiting ramp-function generator are started with their respective
ramp-up times and the PID controller is activated. In addition, for a rising edge, the
setpoint ramp-function generator is set to the actual value that is present
(actualValue). This guarantees a jerk-free and smooth transition into the controlled
mode. When the edge at the enable input falls, the limiting ramp-function generator
is ramped back to zero and therefore the controller output is limited. This results in
a bumpless controller shutdown. As soon as the outValue output is zero and
enable = FALSE, the block is deactivated and the output busy is set to FALSE. The
setpoint is internally ramped to the actual value during the switch-off phase.
© Siemens AG 2023 All rights reserved
If input openLoopCtrl = TRUE, then the block operates in the open control circuit
mode. As a consequence, the setpoint channel remains active and the controller or
the output limits remain inactive. The output busy stays TRUE as long as the
setpoint ramp output is not zero. The input actualValue is 0.0.
Setpoint ramping
The setpoint ramp-function generator is used to avoid setpoint steps in the setpoint
channel. The setpoint ramp-function generator is configured using the parameters
setRampTime and setNominalValue, whereby setNominalValue defines the
reference value for the ramp-up or ramp-down time. The function is always active,
if enable = TRUE. If openLoopCtrl = FALSE, enable = FALSE and busy = TRUE
(switch-off phase), then the setpoint is internally set to the actual value.
The ramp times are internally limited to the cycle time.
Controller functionality
The controller setpoint is provided via the input setValue, the actual value via the
actValue input. The setpoint channel includes a settable setpoint ramp-function
generator, via which the setpoint is routed; the effective setpoint can be monitored
at output RFGSetpointValue.
The control algorithm used corresponds to that described in function block PID.
Kp adaptation
A linear adaptation is carried out as Kp adaptation. The interpolation line is defined
by the value (x1, kp1) and (x2, kp2).
𝑒𝑓𝑓𝑒𝑐𝑡𝑖𝑣𝑒𝐾𝑝 = 𝐾𝑝1
𝑒𝑓𝑓𝑒𝑐𝑡𝑖𝑣𝑒𝐾𝑝 = 𝑘𝑝2
Timing diagram
© Siemens AG 2023 All rights reserved
Block diagram
© Siemens AG 2023 All rights reserved
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#1108_8000 Invalid configuration data:
• upperlimit < lowerlimit
• setNominalValue <= 0
16#1108_8001 The function block is not called in a cyclic task (cycleTime = 0)
© Siemens AG 2023 All rights reserved
Short description
The function block is used to record a friction characteristic of the drive. The
characteristic can then be used as a component of torque precontrol. The function
block must be called in a cyclic interrupt, e.g. OB30. Function block ID: 3103
Interface description
Block Interface
LConSMC_FrictionMeasurement
(FB)
Bool execute done Bool
Input parameter
Default
Identifier Data type Description
value
execute Bool FALSE TRUE: Start friction measurement
with rising edge
abort Bool FALSE TRUE: Rising edge stops
measurement and axis
warmUpTime Time T#0s Warm up time
Before the measurement starts
the drive rotates with maximum
measurement speed for the
parameterized time
rampTime Real 0.0 Warm up time
Before the measurement starts
the drive rotates with maximum
measurement speed for the
parameterized time
actualTorque LReal 0.0 Actual torque feedback
Default
Identifier Data type Description
value
valueNumber Int 50 Number measurement points per
speed step (limited between 50-
500)
sizeOfArray Int 20 maxSpeed = 0:
Number of breakpoints (from
"speedValues")
maxSpeed <> 0:
Number of measuring points
between 0 and "maxSpeed"
maxSpeed LReal 0.0 [RPM] Maximim speed at which
the friction should be recorded
speedValues LConSMC_typeBreakPoint --- [RPM] Breakpoints of speed
Table values for which the friction
should be measured. Only if
"maxSpeed" = 0.
measurementDelayTime Time T#1S Settling time after which the
friction is measured at each speed
setpoint
tCycle Real 0.0 [ms] Cycle time the function block
is called
Output parameter
© Siemens AG 2023 All rights reserved
Functionality
The function block measures the friction characteristic (speed / torque breakpoints)
of a specific mechanical system. Speed setpoints are taken and torque values are
saved in the specified data area referenced by an array. The data structure
contains breakpoints of the characteristic (x value: speed, y value: torque), while
the speed setpoint value has to be specified before starting the function block.
The user has the possibility to let the function block preassign the speed values
into an array. For this the input parameter maxSpeed must be unequal to zero. The
speed values will be distributed evenly according to the length of the data block.
The first entry will always be zero speed with zero torque.
The function block is started using the input execute. Once started, speedSetpoint
outputs the drives speed based on the values of the breakpoint table. If the input
warmupTime > 0.0, the drive is moving for this defined period of time at the
maximum speed before starting the measurement of the corresponding torque
values.
The actual torque value of the drive has to be connected to the actualTorque input
of the function block. The torque values are averaged with defined number of
samplings specified by input valueNumber. The ramp times for changing the speed
setpoint are specified using the input ramptime. If the sequence is active, done =
FALSE and busy = TRUE. If finished, done = TRUE and busy = FALSE.
If an error occurs during the sequence, this is displayed at the error output and the
associated errorID. If, at the input, the abort signal abort is set to TRUE, the
measurement is interrupted and the setpoint ramped to zero.
NOTE To forward the speed setpoints to the drive the function block
LConSMC_EnableInterface can be used
Time Diagram
© Siemens AG 2023 All rights reserved
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#3103_8000 Invalid configuration data
• sizeOfArray < 1
16#3103_8001 Invalid cycle time (tCycle <= 0)
5.3.2 LConSMC_FrictionMeasurement_V2
Short description
The function block is used to record a friction characteristic of the drive. The
characteristic can then be used as a component of torque precontrol. This function
should be calles in a program cycle OB.
NOTE In contrase to the function block LConSMC_FrictionMeasurement the speed
setpoints will be send to the drive automatically. The torque will be read from the
technology object. The main functionality is the same.
Interface description
Block Interface
LConSMC_FrictionMeasurement_V2
(FB)
Bool execute done Bool
noOfMeasurementPo
Int error Bool
ints
subfunctionSt
Int sizeOfArray Word
ate
LReal maxSpeed status Word
LConSMC_typeBreakPoint
speedValues
Table
measurementDelayT
Time
ime
LConSMC_typeBreakPoint torqueOutValues LConSMC_typeBreakPoint
Table Table
LConSMC_typeBreakPoint speedOutValues LConSMC_typeBreakPoint
Table Table
axis
TO_SpeedAxis TO_SpeedAxis
Input parameter
Default
Identifier Data type Description
value
execute Bool FALSE TRUE: Start friction
measurement with rising edge
abort Bool FALSE TRUE: Rising edge stops
measurement and axis
warmUpTime Time T#0s Warm up time
Before the measurement starts
the drive rotates with maximum
measurement speed for the
parameterized time
Default
Identifier Data type Description
value
rampTime Real 1000.0 Warm up time
Before the measurement starts
the drive rotates with maximum
measurement speed for the
parameterized time
noOfMeasurementPoints Int 50 Number measurement points
per speed step (limited between
50-500)
sizeOfArray Int 20 maxSpeed = 0:
Number of breakpoints (from
"speedValues")
maxSpeed <> 0:
Number of measuring points
between 0 and "maxSpeed"
maxSpeed LReal 0.0 [RPM] Maximim speed at which
the friction should be recorded
speedValues LConSMC_typeBreakPointTa --- [RPM] Breakpoints of speed
ble values for which the friction
should be measured. Only if
"maxSpeed" = 0.
measurementDelayTime Time T#1S Settling time after which the
friction is measured at each
speed setpoint
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
done Bool TRUE: Measurement is finished
valid Bool TRUE: Measurement values are valid
aborted Bool TRUE: Measuremetn was aborted
busy Bool TRUE: Measurement is active
error Bool TRUE: An error has occured
subfunctionState Word Error identification
status Word Current status of function block
In/Out parameter
Identifier Data type Description
torqueOutValues LConSMC_typeBreakPointTable Friction torque values
speedOutValues LConSMC_typeBreakPointTable Friction speed values
axis TO_SpeedAxis Axis
Functionality
In contrast to the function block LConSMC_FrictionMeasurement the speed
setpoints will be send to the drive automatically. The torque will be read from the
technology object. The main functionality is the same.
NOTE The entered speed setpoints are on drive side in the unit 1/min. The setpoint is
converted automatically considering the unit of the technology object and the
entered gear ratio.
Table 5-3
Status Description
16#7000 No call of the function block
16#7001 First cycle of the function block
16#7002 Cyclic processing of the function block
16#7003 Measurement has been aborted
Warning
Table 5-4
Status Description
16#4000 The speed setpoints are limited (see TO configuration and maximum
velocity)
Error
Tabel 5-5
Status Beschreibung
16#8000 Invalid configuration data
• sizeOfArray < 1
• No telegram 750 connected
• The speed setpoints (speedValues) are not increasing
monotonically
• A linear axis has been connected
16#8600 An error at the internal sequence occured
16#8601 An error at the internal command MC_MoveVelocity occurred. The errorID
is forwarded to the output subfunctionState.
5.3.3 LConSMC_KpAdaption
Short description
The function block is used adapt the Kp value of the speed controller as a function
of the current diameter or the current intertia of a winder. Function block ID: 3109
Interface description
Block Interface
LConSMC_KpAdaption (FB)
Bool enable busy Bool
HW_SUBMODULE HWAddress
DInt offset
winderDiag
LConSMC_typeWinderDiag LConSMC_typeWinderDiag
winderConfig
LConSMC_typeWinderConfig LConSMC_typeWinderConfig
© Siemens AG 2023 All rights reserved
Input parameter
Identifier Data type Default value Description
enable Bool FALSE TRUE: Start function block
adaptionMode Bool FALSE TRUE: User diameter ratio for adaption
(dAct/dMax)
FALSE: User inertia ratio for adaption
(JAct/JMax)
externalMode Bool FALSE TRUE: Calculation of adaption value but value
will not be written to telegram (input
"HWAddress" not needed)
FALSE: Adaption value will be calculated and
written to the telegram (input "HWAddress"
necessary)
diameter LReal 0.0 [m]/[inch] Current diameter
HWAddress HW_SUBMODUL --- HW-Address of telegram extension which is used
E to send adaption value to the drive (Only needed
if externalMode = FALSE)
offset DInt 6 Byte offset with the telegram to write the Kp-
Adaption value (if externalMode = FALSE).
If "offset" = 0, the value will be written at the
begining of the telegram
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is in operation
kpAdaptionValue Real [0-100%] Adaption value
This value will be multiplied with the speed controler Kp value
In/Out parameter
Identifier Data type Description
winderDiag LConSMC_typeWinderDiag Winder diagnostic structure
winderConfig LConSMC_typeWinderConfig Winder configuration structure
Functionality
The diameter – and therefore also the moment of inertia of the wound roll –
permanently changes as the roll is wound. This is the reason that it is necessary to
adapt the controller gain of the speed controller to the mechanical relationships at
the winder (especially for speed controlled winding types).This function block
calculates a Kp-Adaption value for the speed controller as a function of the current
diameter or the current inertia according to the following formular (depends on
input parameter adaptionMode):
𝑑𝑖𝑎𝑚𝑒𝑡𝑒𝑟
𝑘𝑝𝐴𝑑𝑎𝑝𝑡𝑖𝑜𝑛𝑉𝑎𝑙𝑢𝑒 = ∗ 100%
𝑚𝑎𝑥𝑖𝑚𝑢𝑚 𝑑𝑖𝑎𝑚𝑒𝑡𝑒𝑟
© Siemens AG 2023 All rights reserved
𝑐𝑢𝑟𝑟𝑒𝑛𝑡 𝑖𝑛𝑡𝑒𝑟𝑡𝑖𝑎
𝑘𝑝𝐴𝑑𝑎𝑝𝑡𝑖𝑜𝑛𝑉𝑎𝑙𝑢𝑒 = ∗ 100%
𝑚𝑎𝑥𝑖𝑚𝑢𝑚 𝑖𝑛𝑒𝑟𝑡𝑖𝑎
In general, the speed controller of the winder must be optimized once for a fully
wounded roll and once for an empty roll.
The interconnection to the drive depends on the input parameter externalMode:
externalMode = TRUE:
The function block is just calculating an adaption value, which is displayed at the
output kPAdaptionValue. The output equals 100% if the current diameter/intertia
equals the maximum diameter/intertia. The value itself will not be forwared to the
drive via the function block.
externalMode = FALSE:
For the mode externalMode = FALSE the Kp adaption value is additionally sent to
the drive. Therefore, a telegram extension with a sending length of at least two
bytes is necessary. The HW-Address and the byte offset within the telegram must
be forwarded to the function block.
Error Messages
ErrorID Description
16#0000_0000 No error
16#3109_8000 Invalid configuration data
• winderConfig.diSMConfig.maxDia = 0.0
• winderConfig.diSMConfig.maxDia <= winderConfig.diSMConfig.minDia
• winderDiag.torquePreControlDiag.maxInertia <= 0.0
• winderDiag.torquePreControlDiag.totalIntertia <= 0.0
16#3109_8002 Invalid telegram data
• No valid HW-Address
• Telegram length must be at least two bytes
5.3.4 LConSMC_EnableInterface
Short description
The function block is used to enable the setpoint to channel for a winder/ sectional
drive axis. It must be called in a cyclic organization bock (e.g. OB30)
Function block ID: 3107
Interface description
Block Interface
LConSMC_EnableInterface (FB)
Bool enable busy Bool
enableVelocityInt
Bool error Bool
erface
Bool writeTorqueLimit errorID DWord
writeAdditiveTorq
Bool subfunctionState Word
ue
positionControlle MCInterfaceActiv
Bool Bool
d e
additiveTorqueAc
LReal referenceVelocity Bool
tive
© Siemens AG 2023 All rights reserved
torqueLimitActiv
LReal override Bool
e
axis
DB_ANY DB_ANY
Input parameter
Default
Identifier Data type Description
value
enable Bool FALSE TRUE: Enable function block
enableVelocityInterface Bool FALSE TRUE: Enable velocity moveVelocity
writeTorqueLimit Bool FALSE TRUE: Enable torque limits
writeAdditiveTorque Bool FALSE TRUE: Enable additive torque
positionControlled Bool FALSE TRUE: Enable moveVelocity position controlled
FALSE: Enable moveVelocity speed controlled
referenceVelocity LReal 0.0 Reference velocity fpr input “override” = 100%
override LReal 0.0 [%] Velocity override
override*referenceVelocity = setspeed (0-
200%)
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is activated
error Bool TRUE: An error has occured
In/Out parameter
Identifier Data type Description
axis DB_ANY TO reference of axis
motionVector LConSMC_typeActualDynamics Active motion vector
torqueValues LConSMC_typeTorqueValues Active torque values
Functionality
This function block can be used to activate the velocity-based motion in and
forward torque setpoints/ limits to the drive. All three setpoint channels (Motion,
limit additive) can be individually activated and deactivated.
© Siemens AG 2023 All rights reserved
NOTE To use the torque precontrol/ limitation functions an additional telegram 750 must
be connected and activated at the technology object
Configuration technology object → Hardware interface → Data exchange with
the drive → Additional data
Error Messages
ErrorID Description
16#0000_0000 No error
16#3107_800E An error occured using the command MC_HALT. The error code of the motion
control command can be found in the output subfunctionState.
16#3107_800C An error occured using the command MC_MOVEVELOCITY. The error code of
the motion control command can be found in the output subfunctionState.
16#3107_8004 An error occured using the command MC_TORQUEADDITIVE. The error code of
the motion control command can be found in the output subfunctionState.
16#3107_8005 An error occured using the command MC_TORQUERANGE. The error code of
the motion control command can be found in the output subfunctionState.
5.3.5 LConSMC_GetAxisConfiguration
Short description
This function blocks reads out necessary axis settings from the technology object.
It can be called in any cyclic task Function block ID: 3110
Interface description
Block Interface
LConSMC_GetAxisConfiguration
(FB)
Bool execute busy Bool
error Bool
referenceTorque
LReal LReal
loadGear
LConSMC_typeLoadGear LConSMC_typeLoadGear
velocityUnit
UDInt UDInt
torqueUnit
© Siemens AG 2023 All rights reserved
UDInt UDInt
Input parameter
Identifier Data type Default value Description
execute Bool FALSE Read axis configuration with rising edge of enable
axis DB_ANY --- Reference of axis
Output parameter
Identifier Data type Description
busy Bool TRUE: Funtion block is activated
done Bool TRUE: Configuration has been read successfully
error Bool TRUE: An error has occured during the reading
In/Out parameter
Identifier Data type Description
referenceTorque LReal Reference Torque of axis (see p2003 in the
SINAMICS)
loadGear LConSMC_typeLoadGear Load gear
velocityUnit UDInt Velocity unit of axis (TO_Axis.Units.VelocityUnit)
torqueUnit UDInt Torque unit of axis (TO_Axis.Units.TorqueUnit)
Functionality
This function block reads the necessary axis settings from the technology object
"axis", that are needed for the configuration of a winder or a sectional drive:
• ReferenceTorque
• LoadGear
• Velocity unit
• Troque unit
NOTE To optimize the controller performance this function block can be used once to
© Siemens AG 2023 All rights reserved
read the axis configuration within the main program cycle instead with a rising
edge of the winder/ sectional drive function block in a synchronous organization
block.
To use this, adjust the settings in the winder/sectional drive configuration
structure, to prevent access to TO-variables during the initialization:
winder/sectionalDriveConfig.getAxisConfigAtStart = FALSE
Error Messages
This function block offers no detailed error messages
5.3.6 LConSMC_LineUnitConversion
Short description
This function block calculates conversion factors for position, velocity and
acceleration of the leading axis (line axis) to the necessary units for the winder/
sectional drive function block. The function block can be called in any task.
Function block ID: 3114
Interface description
Block Interface
LConSMC_LineUnitConversion (FB)
UDInt lengthUnitInput lengthConversionFactor LReal
Input parameter
Identifier Data type Default value Description
lengthUnitInput UDInt 0 Configured TO unit at TO.Units.LengthUnit
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
lengthConversionFactor LReal Multiplicative conversion factor for length. Value of
lengthUnitInput multiplied with lengthConversationFactor =
[m] or [ft]. It depends on the unit of translatory axis or the
unit of the formatLength at rotatory axis.
velocityConversionFactor LReal Multiplicative conversion factor for velocity. Value of
velocityUnitInput multiplied with velocityConversationFactor
= [m]/min or [ft]/min. It depends on the unit of translatory
axis or the unit of the formatLength at rotatory axis.
accelerationConversionF LReal Multiplicative conversion factor for acceleration. Value of the
actor respective accerleration regarding to velocityUnitInput
multiplied with accelerationConversationFactor = [m]/s^2 or
[ft]/s^2.
It depends on the unit of translatory axis or the unit of the
formatLength at rotatory axis.
Functionality
This function block is needed if the unit of the leading axis (line axis) ist not in the
units described in chapter 3.5. In that case the FB can be used to calculate
multiplicative conversion factors.
Example use case:
// Converting line position in [m]/[ft]
lineAxisMotionVector.s := lineAxis.position *
lengthConversionFactor;
// Converting line velocity in [m/min]/[ft/min]
lineAxisMotionVector.v := lineAxis.velocity *
velocityConversionFactor;
// Converting line acceleration in [m/s^2] / [ft/s^2]
lineAxisMotionVector.a := lineAxis.acceleration *
accelerationConversionFactor;
Is the input unit in the metric system the factor is calculated for the metric system
(m, m/min, m/s^2), otherwise for the angloamerican system (ft, ft/min, ft/s^2).
Error Messages
This function block offers no detailed error messages
© Siemens AG 2023 All rights reserved
Short description
This function block is used to control a converting line sectional drive from the PLC
program. The function block was designed to handle the requirements of a tension
or ratio adjusted driven section. The function block must be called in a cyclic
interrupt, e.g. OB30, OB95. Function block ID: 7102
Interface description
Block Interface
LConSMC_SectionalDrive (FB)
Bool enable busy Bool
LConSMC_typeMotionVec lineAxisMotio
errorID DWord
tor nVector
additionalVel SectionalDriveMot LConSMC_typeActualDyn
LReal
ocity ionVector amics
LReal draw
Int typeOfDrive
Int controlMode
LReal CntrlSetpoint
LReal CntrlActual
Real tCycle
axis
DB_ANY DB_ANY
Input parameter
Default
Identifier Data type Description
value
enable Bool FALSE TRUE: Enable function block. WIth
rising edge a validation of parameter
is done and communication with drive
is started
FALSE: Disable the function block
Default
Identifier Data type Description
value
speedMatch Bool FALSE True: Enable web velocity setpoint
("lineAxisMotionVector"). The drive
will synchronize up to web velocity
using syncronization dynamics. If the
velocity is reached the output
"inSync" will become TRUE.
FALSE: Drive will decelerate to
standstill using stop dynamics
CntrlEnable Bool FALSE TRUE: Enable web tension control
(enable torque limits, dancer position
setpoint etc.)
jogPos Bool FALSE TRUE: Drive is jogged in positive
direction (see
config.dynamics.jogDynamics)
jogNeg Bool FALSE TRUE: Drive is jogged in negative
direction (see
config.dynamics.jogDynamics)
lineAxisMotionVector LConSMC_typeMotionVe --- Setpoint of the web
ctor (position/velocity/acceleration)
additionalVelocity LReal 0.0 [m/min] / [ft/min] Additional web
velocity (always enabled)
draw LReal 1.0 Draw factor for control mode 4
(DRAW CONTROL). Velocity setpoint
© Siemens AG 2023 All rights reserved
= webVelocity * draw
typeOfDrive Int 0 Definition of web tension direction
0: Web tension bevor the roll is
controlled (Pull)
1: Web tension after the roll is
controlled (Push)
controlMode Int 0 Tension control mode
0: Dancer via speed setpoint
adaption
1: Load cell via speed setpoint
adaption
2: Load cell via torque limits
3: Indirect tension control
4: Speed setpoint relation (Draw)
CntrlSetpoint LReal 0.0 Tension setpoint [N]/[Lbf] / Dancer
position setpoint [%]
CntrlActual LReal 0.0 Tension actual value [N]/[Lbf] /
Dancer actual position [%]
tCycle Real 0.0 [ms] Cycle time the function block is
called
Output parameter
Identifier Data type Description
busy Bool TRUE : Function block is executed
active Bool TRUE: Setpoints are send to the drive
ctrlBusy Bool TRUE: Tension control is active
inSync Bool TRUE: The drive has reached the web velocity and is
synchronous
error Bool TRUE: Function block has detected an error
In/Out parameter
Identifier Data type Description
axis DB_ANY Section drive axis
sectionalConfig LConSMC_typeSectionalDriveConfig Sectional drive configuration structure
sectionalDiag LConSMC_typeSectionalDriveDiag Sectional drive diagnostic structure
Functionality
This function block utilizes the TorquePrecontrol and TechPID function blocks of
the SIMATIC Converting library for a sectional drive. This function block checks for
valid configuration data and calls the individual function blocks to minimize
application development time.
With the enable set to true, a plausibility check is done on the configuration data
and will display an error with corresponding error ID should invalid data be entered.
© Siemens AG 2023 All rights reserved
Enabling of the axis (MC_Power) is not part of the standard application and must
NOTE be done in the user program.
With the enables set true the sectional drive will follow the sum of the lineVelocity
and additionalVelocity times the draw factor. Sectional drives are typically made to
follow the master without any ramps. The programmer is responsible for proper
interlocks to prevent unwanted behavior.
The configuration data has diameter, gear ratio and max line speed parameters
which are utilized to calculate the correct surface velocity of the driven roll to match
the section to the master line velocity.
The configuration data also has parameters for torque precontrol. Torque
precontrol is necessary for torque-based tension control modes and is optional for
speed-based tension control modes.
With the enable set to true and the axis being enabled and Cntrlenable then the
CntrlSetpoint will be ramped up based on configuration data. The Tension
controller correction value will be added to the total speed setpoint or additional
torque, scaled and sent to the drive using the telegram extension as required.
The function block diagnostic structure allows the user to view the calculated
velocity/ torque setpoints as well the tension controller parameters or the status of
the web break detection.
A detailed description of further technological add-ons the function block offers is
described here (identical to winder).
The following table shows the different tension operating modes and the orientation
of velocity, tension, and torque. At commissioning of the application, it must be
ensured that the direction convention and signs of the process variables are
aligned. Eventually it might be necessary to change the direction of rotation in the
drive system.
F: Tension in material
line
n: speed of drive
no : velocity override
for speed controller
overcontrol
Mf: Friction torque
Mp: Pre-control torque
HELD MT: Tension torque
Warning Messages
Warnings are indicated by the status of the outputs error and errorID: error =
FALSE and errorID <> 16#0000_0000
ErrorID Description
16#0000_0000 No Warning
16#7102_4000 Upper/ Lower torque limit is limited (percent of reference torque)
0% <= upperTorqueLimit <= 200%
-200% <= lowerTorqueLimit <= 0%
16#7102_4004 The configValue „maxVelocity“ is lower then the addition of “lineVelocity” and
ErrorID Description
“additionalVelocity”, or smaller then the actual “jogVelocity”.
16#6101_xxxx See error description of LConSMC_TorquePrecontrol
16#1108_xxxx See error description of LConSMC_TPID – PID-controller with setpoint channel
16#3107_xxxx See error description of LConSMC_EnableInterface
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#7102_8000 Invalid configuration data of sectional drive
• controleMode < 0
• controlMode > 4
• typeOfDrive < 0
• typeOfDrive > 1
• sectionalConfig.diameter <= 0.0
• Load gear <= 0
• Invalid velocity/torque unit
© Siemens AG 2023 All rights reserved
5.4.2 LConSMC_TorquePrecontrol
Short description
Torque pre-control calculation. The function block has to be called in a cyclic task.
Function block ID: 6101
Interface description
Block Interface
LConSMC_TorquePrecontrol (FB)
Bool enable busy Bool
LReal JFix
LReal JMandrel
© Siemens AG 2023 All rights reserved
LReal JMot
LReal gearRatio
Real frictionAdjustment
Real tensionAdjustment
Real accelerationAdjustment
Int sizeOfArray
LConSMC_typeBreakPointTable xn_speedValues
LConSMC_typeBreakPointTable yn_torqueValues
Input parameter
Default
Identifier Data type Description
value
enable Bool FALSE TRUE: Enable function block
metricUnits Bool TRUE TRUE: Use metric system [m] /
[m/min] / [m/s^2] / [N]
FALSE: Use angloamerican
system [inch] / [ft/min] / [ft/s^2] /
[Lbf]
typeOfDrive Int 0 Definition of web tension direction
0: Web tension bevor the roll is
controlled (Pull)
1: Web tension after the roll is
controlled (Push)
drivespeed LReal 0.0 [RPM] Drive speed for the friction
characteristic
lineAcceleration LReal 0.0 [m/s^2]/[ft/s^2] Web acceleration
Default
Identifier Data type Description
value
diameter LReal 0.0 [m] / [inch] Diameter of sectional
drive
tensionSetpoint LReal 0.0 [N] / [lbf] Tension setpoint
JFix LReal 0.0 [kgm^2] / [lbft^2] Inertia on drive
side (without drive, e.g. gear box)
JMandrel LReal 0.0 [kgm^2] / [lbft^2] Inertia on load
side (e.g. mandrel)
JMot LReal 0.0 [kgm^2] / [lbft^2] Drive inertia
gearRatio LReal 0.0 Gear ratio
frictionAdjustment Real 0.0 Multiplicative adaption factor for
friction torque (1.0 = 100%)
tensionAdjustment Real 0.0 Multiplicative adaption factor for
tension torque (1.0 = 100%)
accelerationAdjustment Real 1.0 Multiplicative adaption factor for
acceleration torque (1.0 = 100%)
sizeOfArray Int 20 Numer of breakpoints that should
be used from the friction
characteristic
xn_speedValues LConSMC_typeBreakPoint --- Speed breakpoints for friction
Table characteristic
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
busy Bool TRUE : Function block is executed
error Bool TRUE: Function block has detected an error
errorID DWord Further information on occured error (<> 16#0000_0000)
totalinertia LReal [kgm^2] / [lbft^2] Total inertia on the drive side
preCtrlMotor LReal [Nm] / [Lbf ft] Drive torque from friction and acceleration
totalTorquePreCtrl LReal [Nm] / [Lbf ft] Total torque precontrol value on drive side
tensionTorque LReal [Nm] / [Lbf ft] Tension torque on drive side
Functionality
speed controller or by dynamically adjusting the torque limits. In both cases the
appropriate torque must be calculated using its moment of inertia and transferred
to the drive. As an alternative to the method integrated in this block, the integrated
friction characteristic of the drive system (only in SINAMICS S120) can also be
used.
NOTE
The precise setting of the compensation is especially important for indirect
tension control.
This is so that the torque-generating current emulates, as far as possible, the
material Tension.
Calculations
The function block calculates the following physical quantities:
Quantity Formula
Total moment of inertia 𝐽𝑀𝑎𝑛𝑑𝑟𝑒𝑙
𝑇𝑜𝑡𝑎𝑙𝐼𝑛𝑒𝑟𝑡𝑖𝑎 = + 𝐽𝑀𝑜𝑡 + 𝐽𝐹𝑖𝑥
𝐺𝑒𝑎𝑟𝑅𝑎𝑡𝑖𝑜 2
This friction torque is internally determined using the function block TableChar. The
user is responsible for providing valid and sensible values in the appropriate data
fields. If the factor FrictionAdjustment is set to 0.0, TableChar is not called and
therefore a frictional torque is not added.
The pre-control torque of the motor, the sum of all pre-control torques, and the
tension torque are calculated depending on the drive type. The total torque is
always the sum of the preCtrlMotor and tensionTorque.
Block diagram
© Siemens AG 2023 All rights reserved
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#6101_8000 One or more configuration values are invalid.
• gearRatio <= 0.0
• Jfix < 0.0
• Jmandel < 0.0
• Jmot < 0.0
• typeOfDrive < 0
• typeOfDrive > 1
The configuration data are checked for plaisubility at the rising edge of enable.
16#6101_8008 Invalid input parameter
• diamActVal <= 0.0
16#6101_xxxx See error description of LConSMC_TableChar
© Siemens AG 2023 All rights reserved
Short description
This function block calculates the actual diameter of the roll based on the behavior
of the winding drive and line drive. One of six modes can be selected for the
calculation. The function block must be called in a cyclic OB, e.g. OB30. Function
block ID: 5104
Interface description
Block Interface
LConSMC_DiameterCalculation (FB)
Bool enable error Bool
windingShaftFeedb
LReal diamIsHold Bool
ack
calculatedWebThickn
LReal shaftSpeed LReal
ess
Int selectDiamMode
Int typeOfWinder
Real tCycle
diameter
LReal LReal
Input parameter
Data Default
Identifier Description
type value
enable Bool FALSE TRUE: Enable function block
holdDiameter Bool FALSE TRUE: Holds the actual diameter
metricUnits Bool TRUE TRUE: Use metric system [m] / [m/min] /
[m/s^2] / [N]
FALSE: Use angloamerican system [inch] /
[ft/min] / [ft/s^2] / [Lbf]
setDiameter Bool FALSE TRUE: Sets the diameter to a specified value
"diamConfig.diameterSetValue"
lineFeedback LReal 0.0 [m or ft] Web position
lineVelocity LReal 0.0 [m/min oder ft/min] Web velocity
windingShaftFeedback LReal 0.0 [°] Winder shaft position
shaftSpeed LReal 0.0 [RPM] Speed of the winder shaft on load side
Data Default
Identifier Description
type value
selectDiamMode Int 0 Type of diameter calculation
0: V/n
1: Thickness addition
2: Integral
3: External
4: WebLength
5: Position
typeOfWinder Int 0 Definition of winding direction
0: Rewind from above
1: Rewind from below
2: Unwind from above
3: Unwind from below
tCycle Real 0.0 [ms] Cycle time the function block is called
Output parameter
Data
Identifier Description
type
error Bool TRUE: An error occured
errorID DWord Detailed error description
busy Bool TRUE: The function block is active
diamModeInUse Int Active diameter mode
© Siemens AG 2023 All rights reserved
0: V/n
1: Thickness addition
2: Integral
3: External
4: WebLength
5: Position
atMinDia Bool TRUE: Lower limit of the actual diameter value reached (see
"diamConfig.minDia")
atMaxDia Bool TRUE: Upper limit of the actual diameter value reached (see
"diamConfig.maxDia")
diamIsHold Bool TRUE: Diameter calculation is stopped. Possible reasons:
Input "holdDiameter" = TRUE
Minimum velocity reached (see
diamConfig.minLineVelocity/minShaftSpeed)
calculatedWebThickness LReal [m or inch] Calculated value of the web thickness
In/Out parameter
Identifier Data type Description
diameter LReal [m or inch] Calculated diameter
diamConfig LConSMC_typeDiamConfig Diameter configuration
Funktionsweise
The diameter calculator determines the actual diameter value of the roll being
wound (or unwound) using the input quantities:
• Web velocity and position
• Shaft speed of the mandrel or angle
• Web thickness
The following calculation modes are realized within the function block
possible. The holdDiameter input will pause diameter calculation and hold the
resulting diameter at the current value when set to true.
The setDiameter input writes the diameterSetvalue as the diameter if the actual
shaft speed is below minimum shaft speed. The set value is limited by the
minimum and maximum diameter. With actual line velocity above line and actual
shaft speed above minimum and not hold, the diameter is calculated. The result of
the division is limited and smoothed.
Calculation mode
Division
The function block determines the actual diameter value (diameter) of the roll being
wound (or unwound) using the input quantities:
• Web velocity (lineVelocity) - the web velocity is the setpoint velocity of the
machine and the velocity with which the main drive moves the material web. In
exceptional cases, it is possible to use the actual value from a tachometer
measuring the web speed.
• Shaft speed of the mandrel (shaftSpeed)
The calculation is based on the 𝐷 = 𝑣/(𝜋 ⋅ 𝑛) formula.
DiamCalcDivision
holdDiameter
diameter ( lineVelocityshaftSpeed) PI
metricUnits
error
maxDia
errorId
diameterSetValue
P diameter
lineVelocity
l X
a T
SV
atMinDia
shaftSpeed u S
s atMaxDia
setDiameter
a X
b X
T
SV
T
minDia i SV
S
S
l
minLinevelocity i
© Siemens AG 2023 All rights reserved
t
minShaftSpeed y
lineFilterTime
shaftFilterTime
diameterFilterTime
Thickness addition
The diameter calculator determines the actual diameter value (diameter) of the roll
being wound (or unwound) using the input quantities:
• Web Thickness - the actual web (material) thickness.
• Shaft speed of the mandrel (shaftSpeed) – Actual speed of the winder shaft.
NOTE This calculation method relies very much on the accuracy of the material
thickness and the starting diameter value. Any deviation between the actual
effective material thickness and the set material thickness will lead to an invalid
diameter which error will get bigger after each revolution. An inaccurate starting
value will remain as an offset between the actual and the calculated diameter.
This calculation mode is mostly useful for metals where air entrapment and
inwound tension does not influence the effective material thickness.
DiamCalcAddition
dr / dt = ( h /
holdDiameter 2
error
maxDia
errorId
P
typeOfWinder l
diameter
a
diameterSetValue u 0
3 atMinDia
s 1
2
webThickness a
-1 atMaxDia
b
setDiameter i
X
l T
SV 2
minDia i S
t
minShaftSpeed
y
shaftSpeed
shaftFilterTime
Integral mode
The diameter calculator determines the actual diameter value (diameter) of the roll
being wound (or unwound) using the input quantities:
• Web velocity (lineVelocity) - the web velocity is the setpoint velocity of the
machine and the velocity with which the main drive moves the material web. In
© Siemens AG 2023 All rights reserved
The actual motor speed is converted to the roll shaft (by the gear ratio) and is used
to calculate the diameter.
The integral diameter calculation is also based on the division of the web quantity
by the angular quantity. However, quantities v and ω are integrated over a number
of roll revolutions that can be specified by measuringRevolutionCount. This is to
minimize the disturbing effect of processing just individual values. The following
applies:
Diameter = 2 ⋅ s/𝜑
DiamCalcIntegral
maxDia
metricUnits Diameter = 2 * ( s / )
setDiameter error
12 0
diameterSetValue
1 1
errorId
P 0
Last Raw D value
l diameter
linevelocity X Raw D value
a T
SV 1
u S
0 webThickness
lineFilterTime
s
2
minLineVelocity
a 0 atMaxDia
b X Number of revolutions
[rad/s] for calculation reached
minShaftSpeed
i T
x Latch raw value atMaxDia
SV
[rad] ≥
l S y
i
shaftspeed
t 0
shaftFilterTime
y 1
Last Raw D value
2 0
Diameter
OutputRate
holdDiameter
minDia
External
In this mode an external diameter value, e.g. from a sensor, can be used via the
© Siemens AG 2023 All rights reserved
parameter diSMConfig.diameterSetValue.
The diameter calculator determines the actual diameter value of the roll using the
following input quantities:
• Web Thickness - the actual web (material) thickness.
• The length of the winded material
With the help of the actual velocity of the master axis the length of the rewinded or
unwinded material on the core is calculated. In addition, with the material thickness
the current diameter of the winder can be calculated.
NOTE
This calculation method relies very much on the accuracy of the material
thickness and the starting diameter value. Any deviation between the actual
effective material thickness and the set material thickness will lead to an invalid
diameter which error will get bigger after each revolution. An inaccurate starting
value will remain as an offset between the actual and the calculated diameter.
This calculation mode is mostly useful for metals where air entrapment and
inwound tension does not influence the effective material thickness.
DiamCalcWebLength
enable
error
maxDiam
errorID
metricUnits
holdDiameter
P busy
12
l atMinDia
diameterSetValue
a atMaxDia
setDiameter u 1
diamter
typeOfWinder s
lineFilterTime i
b
lineVelocity
i X F(x)
minLineVelocity
L X
tCycle i -1
OBnumber t
webThickness y
minDiam
Position mode
© Siemens AG 2023 All rights reserved
This diameter calculation technique directly intervenes at the position of the web
and the roll being wound or unwound. Therefor the position is fed back into the FB
via the input parameter lineFeedback and windingShaftFeedback and the
difference to the previous cycle is measured. Overflows are intercepted using
modulo limits that should be entered. Positions are evaluated and weighted using
the scaling factors LineFeedbackScal and WindingShaftFeedbackScal.
LineFeedbackScal corresponds to: 1 [LU]
WindingShaftFeedbackScal corresponds to: 1 [rev]
s
s = R , with D = 2
If the number revolutions of the winding shaft – specified by parameter
MeasuringRevolutionCount – are reached the differential value is reset and the
calculated diameter value is further processed. In order to be able to identify
overflows, the change of the feedback signal per cycle must be less than half of the
difference of the modulo limits.
ModLength
Feedback
2
In addition, in every measuring interval the actual material thickness
(CalculatedWebThickness) is calculated, e.g. for a rest length calculation.
DiamCalcPos
maxDia
setDiameter errorId
12 0
LastRaw D value
diameterSetValue
1 1
diameter
Raw D value
P
windingShaft
l [inc] Number of revolutions
1
webThickness
0
Feedback a ∆inc
for calculation reached
Latch raw value
0
∑
[rad]
x
u [inc]
y
≥ atMaxDia
shaftModLength
s
windingShaft a Bewertungsfaktor [inc/rad] atMaxDia
FeedbackScale b Reset
lineFeedback
i [inc]
∆inc
l ∑
[inc] X
lineModLength
i
t
lineFeedbackScale
y Bewertungsfaktor inc -> LU[inc/LU]
- 1
Diameter LastRaw D value
OutputRate 0
[rad]
2
holdDiameter
minDia
To optimize the diameter signal quality a floating averaging over a defined number
of rotations (measuringRevolutionCount) is used internally.
The floating diameter calculation can be configured by the following configuration
parameter:
• MeasuringRevolutionCount
• FirstDiameterOutput
• DiameterOutputRate
After rising edge of input “enable” the first calculated diameter will be output after
the number of revolutions configured in “FirstDiameterOutput”.
After the first diameter output the calculated diameter will be refreshed cylic after
the number of revolutions configured in “DiameterOutputRate”.
The calculated diameter will be averaged over the number of revolutions
configured in “MeasuringRevolutionCount”, as long as the the parameterized
number of revolutions has been passed already.
The averaging of a specific number or revolutions is determinded by the depth
(array length) of an internal ring buffer. Inside the ring buffer the position deltas of
line and winder axis will be entered. The buffer depth is calculated based on the
following formula:
MeasuringRevolutionCount
bufferdepth =
DiameterOutputRate
Is the result of the calculation a non natural number the value will be rounded to
next natural number (N = {1, 2,3, …}).Therby the the effective averaging over a
specific number of revolutions can differ to the configured value in
“MeasuringRevolutionCount” (compare example 3).
The following sketeches show the interacting of the configuration parameter. In the
function block a modulo cycle from 0° to 360° is recreated. The configuration of the
technology object is independend of that.
Example 1:
MeasuringRevolutionCount := 4
DiameterOutputRate := 1
FirstDiameterOutput := 2
MeasuringRevolutionCount
FirstDiameterOutput
DiameterOutputRate
effective averaging:
© Siemens AG 2023 All rights reserved
Example 2:
MeasuringRevolutionCount := 4
DiameterOutputRate := 1
FirstDiameterOutput := 0.5
MeasuringRevolutionCount
FirstDiameterOutput
DiameterOutputRate
effective averaging:
Example 3:
MeasuringRevolutionCount := 5
© Siemens AG 2023 All rights reserved
DiameterOutputRate := 2
FirstDiameterOutput := 1
MeasuringRevolutionCount
FirstDiameterOutput
DiameterOutputRate
effective averaging:
1
1st diameter output
3
2nd diameter output
5
3rd diameter output
6
4th diameter output
In addition, in every measuring interval based on the diameter change the actual
material thickness is also calculated, e.g. for a rest length calculation.
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#5104_8000 Invalid configuration data:
• minDia <= 0.0
• maxDia <= 0.0
• minDia >= maxDia
• diamterFilterTime < 0.0
• webThickness <= 0.0
• typeOfWinder < 0
• typeOfWinder > 3
• measuringRevolutionCount <= 0.0
• measuringRevolutionCount < diameterOutputRate
• windingShaftFeedbackScale <= 0.0
• lineFeedbackScal <= 0.0
The configuration data are checked for plausibility at the rising edge of enable.
16#xxxx_8001 The function block is not called in a cyclic interrupt, e.g. OB30.
16#5104_8006 Error during floating diameter calculation:
Calculated buffer depth is bigger as the configured maximum value
(MAX_LENGHTH_AVERAGE_VALE)
© Siemens AG 2023 All rights reserved
5.5.2 LConSMC_WITorquePrecontrol
Short description
Torque pre-control calculation for winder. The function block has to be called in a
cyclic task. Function block ID: 4102
Interface description
Block Interface
LConSMC_WITorquePrecontrol (FB)
Bool enable busy Bool
LReal density
LReal diamMin
LReal diamMax
LReal width
LReal fillFactor
LReal JFix
LReal JMandrel
LReal JMot
LReal gearRatio
LReal frictionAdjustment
LReal tensionAdjustment
LReal accelerationAdjustment
LReal dDdTAdjustment
Int sizeOfArray
LConSMC_typeBreakPointTable xn_speedValues
LConSMC_typeBreakPointTable yn_torqueValues
LReal tCycle
Input parameter
Default
Identifier Data type Description
value
enable Bool FALSE TRUE: Enable function block
torqueOn Bool FALSE TRUE: Calculation of torque
and intertia values
FALSE: Calculation of intertia
values
metricUnits Bool TRUE TRUE: Use metric system [m] /
[m/min] / [m/s^2] / [N]
FALSE: Use angloamerican
system [inch] / [ft/min] / [ft/s^2] /
[Lbf]
typeOfWinder Int 0 Definition of winding direction
0: Rewind from above
1: Rewind from below
2: Unwind from above
3: Unwind from below
drivespeed LReal 0.0 [RPM] Drive speed for the
friction characteristic
lineSpeed LReal 0.0 [m/min or ft/min] Web velocity
lineAcceleration LReal 0.0 [m/s^2]/[ft/s^2] Web
acceleration
diamActVal LReal 0.0 [m] / [inch] Diameter of
© Siemens AG 2023 All rights reserved
sectional drive
tensionSetpoint LReal 0.0 [N] / [lbf] Tension setpoint
additiveTorque LReal 0.0 [Nm or Lbf ft] Additive torque
value on drive side for rewinder
(.e.g. compensation of
breakawy torque). The torque
is in rewinding directio and only
active of "typeOfWinder" = 0/1
density LReal 0.0 [kg/m^3 or lb / ft^3 ] Material
density
diamMin LReal 0.0 [m or inch] Minimum diameter
diamMax LReal 0.0 [m or inch] Maximum diameter
width LReal 0.0 [m or inch] Material width
fillFactor LReal 0.0 Material fill factor (1.0-100%)
Scaling factor for calculation of
the material intertia (e.g. no
solid material is winded)
JFix LReal 0.0 [kgm^2] / [lbft^2] Inertia on drive
side (without drive, e.g. gear
box)
JMandrel LReal 0.0 [kgm^2] / [lbft^2] Inertia on load
side (e.g. mandrel)
JMot LReal 0.0 [kgm^2] / [lbft^2] Drive inertia
gearRatio LReal 0.0 Gear ratio
frictionAdjustment LReal 0.0 Multiplicative adaption factor for
friction torque (1.0 = 100%)
tensionAdjustment LReal 0.0 Multiplicative adaption factor for
tension torque (1.0 = 100%)
Default
Identifier Data type Description
value
accelerationAdjustment LReal 1.0 Multiplicative adaption factor for
acceleration torque from web
acceleration (1.0 = 100%)
dDdTAdjustment LReal 0.0 Multiplicative adaption factor for
acceleration torque based on
diameter change (1.0 = 100%)
sizeOfArray Int 20 Number of breakpoints that
should be used for the friction
characteristic
xn_speedValues LConSMC_typeBreakPointTa --- Numer of breakpoints that
ble should be used from the friction
characteristic
yn_torqueValues LConSMC_typeBreakPointTa --- Speed breakpoints for friction
ble characteristic
tCycle LReal 0.0 [ms] Cycle time the function
block is called
Output parameter
Identifier Data type Description
busy Bool TRUE : Function block is executed
error Bool TRUE: Function block has detected an error
© Siemens AG 2023 All rights reserved
Functionality
The block determines the following:
• The variable moment of inertia for Kp adaptation of the speed and tension
controller
• The pre-controlled torque for Δv/Δt and ΔD/Δt
The torque pre-control outputs the following torque setpoints to pre-control the
winder drive:
– A torque setpoint as a function of the acceleration setpoint of the
machine/system ramp-function generator and the inertia
– A torque setpoint as a function of the changing diameter and the current
line speed. This precontrol is for example needed if thick material wound
on a thin sleeve after a flying roll change. As a result of the fast-changing
diameter at constant web velocity high acceleration values can occur.
– Friction torque setpoint is generated depending on the shaft speed of the
winder using a characteristic.
– Tension torque based on the tension setpoint and the diameter
NOTE
The precise setting of the compensation is especially important for indirect
tension control.
This is so that the torque-generating current emulates, as far as possible, the
material tension.
Calculations
Quantity Formula
Mass of the wound 𝜋 ⋅ 𝐷𝑒𝑛𝑠𝑖𝑡𝑦 ⋅ 𝑤𝑖𝑑𝑡ℎ ⋅ (𝑑𝑖𝑎𝑚𝐴𝑐𝑡𝑉𝑎𝑙 2 − 𝑑𝑖𝑎𝑚𝑀𝑖𝑛2 )
material 𝑀𝑎𝑠𝑠 =
4
Moment of inertia of the 𝑑𝑖𝑎𝑚𝐴𝑐𝑡𝑉𝑎𝑙 2 + 𝑑𝑖𝑎𝑚𝑀𝑖𝑛2
wound material 𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝐼𝑛𝑒𝑡𝑖𝑎 = 𝑀𝑎𝑠𝑠 ⋅
8 ⋅ 𝐺𝑒𝑎𝑟𝑅𝑎𝑡𝑖𝑜 2
Total moment of inertia 𝐽𝑀𝑎𝑛𝑑𝑟𝑒𝑙
𝑇𝑜𝑡𝑎𝑙𝐼𝑛𝑒𝑟𝑡𝑖𝑎 = + 𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝐼𝑛𝑒𝑟𝑡𝑖𝑎 + 𝐽𝑀𝑜𝑡 + 𝐽𝐹𝑖𝑥
𝐺𝑒𝑎𝑟𝑅𝑎𝑡𝑖𝑜 2
© Siemens AG 2023 All rights reserved
This friction torque is internally determined using the function block TableChar. The
user is responsible for providing valid and sensible values in the appropriate data
fields. If the factor FrictionAdjustment is set to 0.0, TableChar is not called and
therefore a frictional torque is not added.
The pre-control torque of the motor, the sum of all pre-control torques and the
tension torque are calculated depending on the winder type. The total torque is
always the sum of the preCtrlMotor and tensionTorque.
The winding mode is always defined assuming a positive line speed. If the leading
value becomes negative the winding mode will be inverted automatically (a
rewinder becomes an unwinder and vice versa). The same applies for winding from
above and from below. This inversion is automatic.
Block diagram
© Siemens AG 2023 All rights reserved
Warning Messages
Warnings are indicated by the status of the outputs error and errorID: error =
FALSE and errorID <> 16#0000_0000
ErrorID Description
16#0000_0000 No Warning
16#4102_4005 The table of entered values is not monotonically (steadily) increasing -> no
matching value found
16#4102_4008 The table of entered values is not monotonically (steadily) increasing -> 2 values
are identical
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#4102_8000 Invalid configuration data
• gearRatio <= 0.0
• density < 0.0
• diamMin <= 0.0
• diamMax <= diamMin
• width < 0.0
• fillFactor <= 0.0
•
© Siemens AG 2023 All rights reserved
5.5.3 LConSMC_RestLengthCalc
Short description
Calculation of the rest length of the coil. The function can be called in any task.
Function ID: 4001
Interface description
Block Interface
LConSMC_RestLengthCalc (FC)
LReal webThickness Ret_Val LReal
LReal actualDiameter
LReal targetDiameter
LReal offset
Input parameter
Identifier Data type Description
webThickness LReal [m or inch] Material thickness
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val LReal [m or inch] Rest length on the coil
Functionality
Depending on the roll parameters that have been entered, the function calculates
the residual length of the material. To do this, the following data is required – the
thickness of the material on the roll (webThickness), the actual diameter
(actualDiameter) and the diameter to be reached (targetDiameter). In this case, the
target diameter represents the end of the roll or the diameter to be reached.
Depending on whether the target diameter is greater than or less than the actual
diameter, the length of the material on the roll or the length of the material still to be
wound is output. The thickness of the material web (webThickness) is limited using
the internal constants MIN_THICKNESS and MAX_THICKNESS.
𝜋
𝑅𝐸𝑇𝑉𝐴𝐿 = ⋅ (𝑎𝑐𝑡𝑢𝑎𝑙𝐷𝑖𝑎𝑚𝑒𝑡𝑒𝑟 2 − 𝑡𝑎𝑟𝑔𝑒𝑡𝐷𝑖𝑎𝑚𝑒𝑡𝑒𝑟 2 ) + 𝑜𝑓𝑓𝑠𝑒𝑡
4 ⋅ 𝑤𝑒𝑏𝑡ℎ𝑖𝑐𝑘𝑛𝑒𝑠𝑠
5.5.4 LConSMC_RestDiameterCalc
Short description
Calculation of the rest diameter of the coil. The function can be called in any task.
Function ID: 4002
Interface description
Block Interface
LConSMC_RestDiameterCalc (FC)
LReal webThickness Ret_Val LReal
LReal actualDiameter
LReal length
Bool rewind
Input parameter
Identifier Data type Description
webThickness LReal [m or inch] Thickness of material
© Siemens AG 2023 All rights reserved
Output parameter
Identifier Data type Description
Ret_Val LReal [m or inch] Rest diameter to be coiled
Functionality
The function uses the input parameters to calculate the target diameter of a roll.
The calculation relies on the material thickness (webThickness), the actual roll
diameter (actualDiameter) and the material length to be wound or unwound
(length). The winding mode is defined using the windingMode input. The material
thickness (webThickness) is internally limited (MIN_THICKNESS,
MAX_THICKNESS).
In case of a too high material length input of the function result is zero.
Winder
Unwinder
5.5.5 LConSMC_Taper
Short description
Calculation of a reduction factor for the tension setpoint of a winder as a function of
the diameter. The function block can be called in any cyclic task. Function block
ID: 4101
Interface description
Block Interface
LConSMC_Taper (FB)
Bool enable busy Bool
LReal lowerLimitTaper
LReal taperRatio
LReal taperDiameterStart
LReal taperDiameterMax
© Siemens AG 2023 All rights reserved
Int NoOfBreakpoints
LConSMC_typeBreakPointTable tensionValues
LConSMC_typeBreakPointTable diametervalues
Input parameter
Default
Identifier Data type Description
value
enable Bool FALSE TRUE: Enable function block
taperMode Int 0 Tension taper characteristik
0: No taper
1: Linear taper characteristic
2:
Hyperbolic taper characteristic
(max. reduction at target diameter)
3: Hyperbolic taper characteristic
(max. reduction at infinite diameter)
4: Breakpoint table
diamActVal LReal 0.0 [m or inch] Actual diameter value
upperLimitTaper LReal 100.0 [%] Maximum tension reduction
lowerLimitTaper LReal 0.0 [%] Minimum tension reduction
taperRatio LReal 0.0 [%] Maximum tension reduction at
"taperDiameterMax" (0-100%) Only
used if "taperMode" = 1-3
taperDiameterStart LReal 0.2 [m or inch] Diameter starting value
for the tension reduction
Default
Identifier Data type Description
value
taperDiameterMax LReal 1.0 [m or inch] Maximum diameter
value. Diameter at which the
maximum tension reduction is active
for "taperMode" = 1 or 2
NoOfBreakpoints Int 20 Number of break points for
breakpoint table if "taperMode" = 4
tensionValues LConSMC_typeBreakPoint --- Breakpoint table for tension
Table reduction values if "taperMode" = 4
diametervalues LConSMC_typeBreakPoint --- Breakpoint table for diameter values
Table if "taperMode" = 4 (Unit must be the
same as the input “diamActValue”)
Output parameter
Identifier Data type Description
busy Bool TRUE: The function block is active
error Bool TRUE: An error occured
errorID DWord Detailed error description
tensionTaper LReal Multiplicative value for tension reduction (0-1.0). The value must be
multiplied with the tension setpoint
© Siemens AG 2023 All rights reserved
Functionality
The tension taper characteristic is used to define with which tension the material
should be wound onto the roll as a function of the roll diameter. It only makes
sense to use the tension taper characteristic while actually rewinding in order to
wind the inner layers tightly. For dancer roll controls, the tension taper
characteristic can be used to reduce the pressure setpoint for the dancer roll
support. In this case, the output of the characteristic must be multiplied with the
tension setpoint and made available for the dancer system interface, e.g. analog
output. The block is activated using the enable input. Depending on the mode
selected at input tensionTaperMode, the tension reduction factor is calculated as a
function of the diameter present at diamActVal and output in tensionTaper. The
way in which the reduction factor is processed depends on the mode that has been
selected.
Table 5-6
Calculation Description
mode
0 = No taper No tension taper mode is defined, the function block outputs 1.0 (no reduction factor).
1 = Linear From a starting diameter that has to be entered (taperDiameterStart), the reduction
taper factor is linearly reduced to the maximum diameter (taperDiameterMax) with a reduction
characteristic defined by the parameter taperRatio.
Calculation Description
mode
diamActVal > taperDiameterMax:
𝑡𝑎𝑝𝑒𝑟𝑅𝑎𝑡𝑖𝑜
𝑡𝑒𝑛𝑠𝑖𝑜𝑛𝑇𝑎𝑝𝑒𝑟 = (1 − )
100
2 = Hyperbolic From a starting diameter that has to be entered (taperDiameterStart) the reduction
taper factor is reduced as hyperbolic function with taperRatio to the maximum diameter
characteristic (taperDiameterMax).
1 In this case, the reduction is at a maximum when the maximum diameter has been
reached.
diamActVal < taperDiameterStart:
4 = Breakpoint The reduction factor is determined by characteristic defined as breakpoint table. The
table breakpoint table consists of pairs of values diameter / reduction factor. The factor is
linearly interpolated between the breakpoints of the characteristic.
Graphic representation
Error Messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
Error Description
16#0000_0000 No error
16#4101_8000 Invalid configuration data
• taperMode < 0
• taperMode > 4
• upperLimitTaper < lowerLimitTaper
• lowerLimitTaper < 0.0
• NoOfBreakpoints < 2
• NoOfBreakPoints > MAX_SIZE_OF_ARRAY (Default: 20)
Additionally for mode 1 – 3:
• taperDiameterStart < 0.0
• taperDiameterMax <= taperDiameterStart
• taperRatio < 0.0
• taperRatio > 100.0
The configuration data are checked for plausibility at the rising edge of enable.
© Siemens AG 2023 All rights reserved
5.5.6 LConSMC_Winder
Short description
Function block for the control of an axial winder. The function block must be called
in a cyclic interrupt (e.g., OB30) or synchronous operation (e.g., OB60, OB95).
Function block ID: 5105
Interface description
Block Interface
LConSMC_Winder (FB)
Bool enable busy Bool
LReal additionalVelocity
Int typeOfWinder
Int controlMode
Int typeOfDiameterCalc
Bool holdDiameter
Bool setDiameter
LReal CntrlSetpoint
LReal CntrlActual
Real tCycle
winderAxis
DB_ANY DB_ANY
diameter
LReal LReal
winderConfig LConSMC_typeWinderConf
LConSMC_typeWinderConfig
ig
winderDiag
LConSMC_typeWinderDiag LConSMC_typeWinderDiag
Input parameter
Default
Identifier Data type Description
value
enable Bool FALSE TRUE: Enable function block. With
rising edge, a validation of parameter
is done and communication with drive
is started
FALSE: Disable the function block
speedMatch Bool FALSE True: Enable web velocity setpoint
("lineAxisMotionVector"). The drive
will synchronize up to web velocity
using syncronization dynamics. If the
velocity is reached the output "inSync"
will become TRUE.
FALSE: Drive will decelerate to
standstill using stop dynamics
cntrlEnable Bool FALSE TRUE: Enable web tension control
(enable torque limits, dancer position
setpoint etc.)
jogPos Bool FALSE TRUE: Drive is jogged in positive
direction (see
config.dynamics.jogDynamics)
jogNeg Bool FALSE TRUE: Drive is jogged in negative
direction (see
config.dynamics.jogDynamics)
© Siemens AG 2023 All rights reserved
Default
Identifier Data type Description
value
CntrlActual LReal 0.0 Tension actual value [N]/[Lbf] /
Dancer actual position [%]
tCycle Real 0.0 [ms] Cycle time the function block is
called
Output parameter
Identifier Data type Description
busy Bool TRUE: Function block is executed
active Bool TRUE: Setpoints are send to the drive
ctrlBusy Bool TRUE: Tension control is active
inSync Bool TRUE: The drive has reached the web velocity and is
synchronous
error Bool TRUE: Function block has detected an error
errorID DWord Detailed error description
In/Out parameter
Identifier Data type Description
winderAxis DB_ANY Winder axis
© Siemens AG 2023 All rights reserved
Functionality
Enabling of the axis (MC_Power) is not part of the function block and must be
NOTE done by the user program.
With the enables and the input speedMatch set true the winder will follow the sum
of the lineVelocity and additionalVelocity. Winders are typically made to follow the
master without any ramps. Winders with splice are an exception as they need to be
able to be detached from the running machine and therefore have separate ramps.
The winder configuration offers different dynamic settings therefor. The
programmer is responsible for proper interlocks to prevent unwanted behavior. The
"operationDynamics" must be configured correctly so that the winder can follow the
master.
The configuration data has diameter calculation parameters, gear ratio and line
speed parameters which are utilized to calculate the correct surface velocity of the
winder to match the section to the master line velocity.
The actual diameter of the winder can either be calculated using one of the
DiamCalc_ function blocks (division, integral, addition, webLength, position) or can
also be supplied from an external source using the configuration structure of the
function block.
The configuration data also has parameters for torque precontrol. Torque
precontrol is necessary for torque-based tension control modes and is optional for
speed-based tension control modes.
With the enable, speedMatch set to true and Cntrlenable then the CntrlSetpoint will
be ramped up based on configuration data. The Tension controller correction value
will be added to the total speed setpoint or additional torque, scaled and sent to the
drive using the telegram extension as required.
Function block output and diagnostoc parameters allow the user to view the most
important variables calculated within the winder function block (diameter,
torque/speed setpoints etc.)
The winder function block offers some additional functionality next to the winding
function e.g., for winders with splicing functionality:
Jogging
The winder can be jogged with respect to the current diameter via the inputs
jogPos and jogNeg. Therefor some conditions/ limitations must be considered:
© Siemens AG 2023 All rights reserved
• Winder axis must be enabled (Not part of the winder function block)
• Dynamics can be parametrized via the winder configuration
(winderConfig.winderDynamics.jogDynamics)
• Both inputs speedMatch and ctrlEnable must be FALSE
• Diameter calculation is not running
Synchronize/Stop winder
If the winder should be synchronized to a moving line (e.g. in case of a splice) the
winder can be accelerated to the line speed setpoint via the synchronization
dynamics (winderConfig.winderDynamics.syncDynamics). If the winder axis and
the winder function block is enabled the winder can by synchronized to line speed
via the input speedMatch = TRUE. If the winder is in synchronism with the line
speed the output inSync will become true. If the winder should be stopped, without
ramping the line speed setpoint to zero, the speedMatch input can be set to
FALSE. By this the internal setpoint will be ramped to zero, using the configured
stop dynamics (winderConfig.winderDynamics.stopDynamics).
The output inSync is only calculated during the synchronization process. If the
tension control and thus the "operationDynamics" is active, inSync is set to TRUE.
If the winder axis is un-synchronized, stopped, or mistyped, inSync = FALSE is set.
For this reason, it is necessary that the operationDynamics are configured high
enough so that the winder axis can follow the master axis.
1 2 3 4 5 6 7
enable
active
jogPos
jogNeg
speedMatch
inSync
Line velocity
Winder
© Siemens AG 2023 All rights reserved
velocity
State Description
1. The winder function block is enabled (enable= TRUE). If no error within the input
and configuration parameter is detected and the interface has been enabled
successfully (MoveVelocity, TorqueLimit, Additive torque) the ouput active will
become TRUE.
2. With the inputs jogPos and jogNeg the winder can be jogged with respect to the
current diameter (winderConfig.winderDynamics.jogDynamics). To use the
jogging the inputs speedMatch and ctrlEnable must be FALSE. With jogPos =
TRUE the winder will accelerate up to positive jogging velocity.
3. If both inputs jogPos and jogNeg are set to TRUE the velocity setpoint will be
zero. If the winder is already running it will be ramped down to zero via the jog
dynamics. With jogNeg = TRUE and jogPos = FALSE the winder will run with
negative jog velocity.
4. Setting the jog input to FALSE will ramp down the internal velocity setpoint with
the jog dynamics.
5. By switching the input speedMatch = TRUE the winder will synchronize up to line
speed via the configured synchronization dynamics
(winderConfig.winderDynamics.syncDynamics).
6. If the winder is in synchonizm with the line speed the output inSync will become
TRUE. If the line speed setpoint is zero the inSync will become immediately
TRUE with the rising edge of the speedMatch input.
7. Setting the speedMatch = FALSE with a line speed setpoint unequal to zero the
winder will be decelerated to zero using the configured stop dynmamics
(winderConfig.winderDynamics.stopDynamics).
In following table, you can see an overview of the resulting dynamics and velocity
this FB will use. The variables with x can be “true” or “false”, the resulting dynamics
and velocity will be the same.
Table 5-7
Enable SpeedMatch CntrlEnable JogPos / Resulting Resulting Velocity
JogNeg Dynamics
0 x x x stop 0
1 0 0 0 stop 0, because of TPID
is not active, so
tensionspeed = 0
1 1 0 0 sync line + add +
tension
1 0 1 0 stop tension
1 1 1 0 operation line + add +
tension
1 0 0 1 jog jog
© Siemens AG 2023 All rights reserved
The integrated web break detection monitors the actual value of the technology
controller (input value actValuePID) or in case of indirect tension control the actual
torque – depending on the configured control mode. The monitoring consists of
limits and the following switch-on delay. By the limits a lower and an upper error
limit is described.
The web break detection is activated via the variable enableDetection in of the
structure winderConfig.webbreakDetectionConfig. In addition a velocity threshold
(for line axis speed) can be defined by the variable
winderConfig.webbreakDetectionConfig.minLineVelocity, that activates the
monitoring. The active monitoring is displayed using the
winderDiag.webbreakDiag.webbreakDetectionActive feedback signal.
The actual value is provided for the FB in the input variable cntrlActual, for indirect
tension control the actual torque is determined from the axis object itself. The limits
are adjusted via the parameters lowerLimitError, and upperLimitError in the
structure winderConfig.webbreakDetectionConfig. In addition, the output webBreak
is set at the FB when crossing an error limit. The response time of the feedback
signals is parameterized using the delayTime response time. In case of indirect
tension control the limit values are defined in percentage of the reference torque.
Internally, the signal deactivates the technology controller (except for indirect
tension control); all other responses to the web break detection must be
programmed in the user program.
In case of indirect tension control the difference between the setpoint and actual
torque is evaluated. The difference is interpreted as a percentage value of the
reference torque value.
𝐴𝐵𝑆(𝑡𝑜𝑟𝑞𝑢𝑒𝑆𝑒𝑡𝑝𝑜𝑖𝑛𝑡 − 𝑡𝑜𝑟𝑞𝑢𝑒𝐴𝑐𝑡𝑢𝑎𝑙)
𝑒𝑟𝑟𝑜𝑟𝑆𝑖𝑔𝑛𝑎𝑙 = ∗ 100%
𝑡𝑜𝑟𝑞𝑢𝑒𝑁𝑜𝑚𝑖𝑛𝑎𝑙
enableDetection
[LU/TU]
lineSpeed Webbreak
x & DetectionActive
>
[LU/TU] y
minLineVelocity
controlMode
[Z] / [LU] / [%] &
ctrlActual LU LUR TON q
<> INDIRE CT
?
[M] + [%] X X
Mset ÷ ?
≥ webBreak
- = INDIRE CT
[M] LL LLR PT
Mact
[M]
Mref &
TON q
[Z] / [%] / [LU]
© Siemens AG 2023 All rights reserved
lowerLimitError
X
[ms]
delayTime PT
During normal operation the winder function block forwards the calculated velocity/
torque setpoints internally to the connected technology object automatically. If the
function block should just be used as a setpoint generation without forwarding the
setpoints to the technology object, the axis control must be disabled by setting
winderConfig.axisCtrl = FALSE (e.g., when using the print standard library to
forward the setpoints).
In that case the winder diagnostic structure offers the following parameters
• winderDiag.referenceVelocity [TO unit]
• winderDiag.diameterFactor [0-200%]
to externally control the winder axis.
Dynamic limitations
The velocity setpoint contains no dynamic limitation (= ramping). The setpoints will
NOTICE directly follow the leading value (input lineAxisMotionVector) of the winder. This
solution is not suitable if the winder needs to synchronize to a moving web (e.g.,
flying splice)
The torque limits and additive torque value is provided in the diagnostic
parameters:
• winderDiag.torquePreControlDiag.upperTorqueLimit
• winderDiag.torquePreControlDiag.lowerTorqueLimit
• winderDiag.torquePreControlDiag.totalTorquePreControl
They can be sent to the drive using the motion control commands
MC_TorqueRange and MC_AdditiveTorque
The functionality described under the second option is already realized within this
function block. For a detailed description see chapter 5.3.4.
© Siemens AG 2023 All rights reserved
Unwind
from
below
© Siemens AG 2023 All rights reserved
Unwind
from
above
Warning Messages
Warnings are indicated by the status of the outputs error and errorID:
error = TRUE an errorID <> 16#0000_0000
ErrorID Description
16#0000_0000 No Warning
16#5105_4000 Upper/ Lower torque limit is limited (percent of reference torque)
0% <= upperTorqueLimit <= 200%
-200% <= lowerTorqueLimit <= 0%
16#5105_4002 No telegram 750 connected but
accelerationAdjustment/frictionAdjustment/tensionAdjustment/dDdtAdjustment > 0
Not torque precontrol active
16#5105_4003 No web break detection possible for constant velocity control mode
16#5105_4004 The configValue „maxVelocity“ is lower then the addition of “lineVelocity” and
“additionalVelocity”, or smaller then the actual “jogVelocity”.
16#5104_xxxx See error description of LConSMC_DiameterCalculation
16#4102_xxxx See error description of LConSMC_WITorquePrecontrol
16#1108_xxxx See error description of LConSMC_TPID – PID-controller with setpoint channel
© Siemens AG 2023 All rights reserved
Error Messages
Error messages are indicated by the status of the outputs error and errorID:
error = TRUE and errorID <> 16#0000_0000.
ErrorID Description
16#0000_0000 No error
16#5105_8000 Invalid configuration data
• controleMode < 0
• controlMode > 4
• typeOfWinder < 0
• typeOfWinder > 3
• winderConfig.typeOfDiameterCalc < 0
• winderConfig.typeOfDiameterCalc > 5
• winderConfig.minDia = 0.0
• winderConfig.maxDia = 0.0
• winderConfig.minDia >= winderConfig.maxDia
• winderConfig.maxVelocity = 0.0
• winderConfig.gearRatio = 0.0
• Invalid unit (winderConfig.UnitConfiguration)
• No Telegram 750 connected (only for controlMode = 2 or 3)
The configuration data are checked for plausibility at the rising edge of enable.
16#5105_8001 Invalid cycle time (tCycle = 0.0)
16#5105_8009 Error during data adaption of the drive (axis.StatusDrive.AdaptionState = 4). Check the
settings of your axis configuration.
16#5105_800A Invalid type of axis. Only speed, positioning or synchronous axis are allowed as a
winder axis. Check the input winderAxis of the function block
ErrorID Description
16#5105_800B Invalid diameter calculation mode. Position based calculation mode
(typeOfDiameterCalc = 5) is not allowed for speed axis.
16#5105_8010 The technology object is not enabled
16#5104_xxxx See error description of LConSMC_DiameterCalculation
16#4102_xxxx See error description of LConSMC_WITorquePrecontrol
16#1108_xxxx See error description of LConSMC_TPID – PID-controller with setpoint channel
16#3107_xxxx See error description of LConSMC_EnableInterface
© Siemens AG 2023 All rights reserved
5.5.7 LConSMC_CalcTargetDiamStopCondition
Short description
Calculation of stop condition at target diameter. The function block must be called
in a cyclic interrupt, e.g. OB30. Function block ID: 4004
Interface description
Block Interface
LConSMC_CalcTargetDiamStopCondition
(FB)
Bool enable busy Bool
LReal maxVelocity
© Siemens AG 2023 All rights reserved
LReal webThickness
LReal actualVelocity
LReal actualAcceleration
LReal rampUpTime
LReal rampDownTime
LReal roundingTime
Real tCycle
Input parameter
Identifier Data type Default value Description
enable Bool FALSE TRUE: Enable function block
windingMode Int 0 Winding direction
0: Rewinding
1: Unwinding
actualDiameter LReal 0.0 [m or inch] Actual diameter value of winder
targetDiameter LReal 0.0 [m or inch] Target diameter for winder
offset LReal 0.0 [m or inch] Length offset for material on winder
minDiameter LReal 0.0 [m or inch] Minimum diameter of winder
maxDiameter LReal 0.0 [m or inch] Maximum diameter of winder
maxVelocity LReal 0.0 [m/min or ft/min] Maximum web velocity
webThickness LReal 0.0 [m or inch] thickness of material
actualVelocity LReal 0.0 [m/min or ft/min] Actual web velocity
actualAcceleratio LReal 0.0 [m/s^2 or ft/s^2] Actual web acceleration
n
rampUpTime LReal 0.0 [s] Ramp up time of web
Output parameter
Identifier Data type Description
busy Bool True: The function block is activated
error Bool True: An error occurred
errorID DWord Detailed error description
stop Bool True: Stop condition reached. The winder must be stopped
manually
stopDistance LReal [m or inch] Actual distance to stop the line
stopTime LReal [s] Actual time to stop the line
restLengthToTarg LReal [m or inch] Rest material length between actual diameter and
et target diameter
Functionality
The function block combines the Functions “CalcStopDistance” and
© Siemens AG 2023 All rights reserved
“RestLengthCalc”. It calculates based on the input parameters if the line axis needs
to be stopped to reach the target diameter.
The function block calculates the rest length depending on the actual and target
diameter which needs to be re- or unwinded. The winding mode and an optional
offset will also be used for the calculation. Additionally, the distance the axis needs
to stop the motion to 0.0 LU/min will be calculated based on the actul motion vector
of the axis. If the rest length is smaller as the stop distance, the stop condition is
reached and the output “stop” is set to true.
If the actual diameter already exceeded the target diameter – actual diameter is
smaller than target diameter in mode unwinding or actual diameter is larger than
target diameter in mode rewinding – the output “stop” will be set to true
immediately.
After setting a new value for actualDiameter, targetDiameter and / or changing the
windingMode the output will be resetted to false, if a positive rest length to the
target diameter is present.
windingMode =0
&
≤
≥
& ≥1 stop
webThickness
actualDiameter
targetDiameter
RestLengthCalc
≥
offset
actualVelocity
actualAcceleration
maxVelocity
CalcStopDistance
rampUpTime
© Siemens AG 2023 All rights reserved
rampDownTime
roundingTime
Warning messages
Warnings are indicated by the status of the outputs error and errorID: error =
FALSE an errorID <> 16#0000_0000.
Error Description
16#4104_4000 Output is limited
• targetDiameter > maxDiameter
• targetDiamter < minDiameter
Error messages
Error messages are indicated by the status of the outputs error and errorID: error =
TRUE and errorID <> 16#0000_0000.
Error Description
16#0000_0000 No error
16#4104_8000 Invalid configuration data
• rampUpTime ≤ 0.0
• rampDownTime ≤ 0.0
• roundingTime ≤ 0.0
• minDiameter > maxDiameter
• windingMode < 0
• windingMode > 1
Error Description
The configuration data are checked for plausibility at the rising edge of enable.
16#4104_8001 Invalid cycle time (tCycle = 0.0)
16#0005_xxxx Error during calculation of stop distance. See error description of
LConSMC_CalcStopDistance
© Siemens AG 2023 All rights reserved
6 Data Types
6.1 Main data types
6.1.1 LConSMC_typeWinderConfig
Description
Configuration data of the winder
Parameter description
Default
Identifier Data type Description
value
positionControlled Bool FALSE TRUE: Enable MoveVelocity
position controlled in case of
positioning axis
axisCtrl Bool TRUE FALSE: Setpoints (Velocity, Torque)
are not forwarded to the axis. An
external axis control must be
realized (see diagnostic outputs
"referenceVelocity" and
"diameterFactor")
TRUE: Setpoints (Velocity, Torque)
are forwarded to the axis internally
© Siemens AG 2023 All rights reserved
Default
Identifier Data type Description
value
webbreakDetectio LConSMC_typeWebbreakDet --- Configuration parameters for
nConfig ectConfig webbreak detection
6.1.2 LConSMC_typeWinderDiag
Description
Diagnostic data of the winder
Parameter description
Default
Identifier Data type Description
value
typeOfAxis Int 0 Type of axis
0: Invalid axis
1: Speed axis
2: Positioning axis
3: Synchronous axis
referenceVelocity LReal 0.0 [TO unit] Reference velocity which
can be used for an external axis
control (winderConfig.axisCtrl =
FALSE). Represents the maximum
axis velocity
© Siemens AG 2023 All rights reserved
6.1.3 LConSMC_typeSectionalDriveConfig
Description
Configuration data of the sectional drive
Parameter description
Defaul
Identifier Data type Description
t value
positionControlled Bool FALSE TRUE: Enable
MoveVelocity position
controlled in case of
positioning axis
axisCtrl Bool TRUE FALSE: No axis control
just calculated setpoints
TRUE: Use MoveVelocity
to forward setpoints to
axis
jogVelocity Real 0.0 [m/min oder ft/min] Web
velocity to jog the drive
via the inputs "jogPos"
and "jogNeg"
diameter LReal 1.0 [m or inch] Diameter of
sectional drive axis
overrideVelocity Real 10.0 [m/min or ft/min] Additive
© Siemens AG 2023 All rights reserved
6.1.4 LConSMC_typeSectionalDriveDiag
Description
Diagnostic data of the sectional drive
Parameter description
Identifier Data type Default value Description
typeOfAxis Int 0 Type of axis
0: Invalid axis
1: Speed axis
2: Positioning axis
3: Synchronous axis
referenceVelocity LReal 0.0 [TO unit] Reference velocity
which can be used for an
external axis control
(sectionalDriveConfig.axisCtrl =
FALSE). Represents the
maximum axis velocity
at maximum line velocity
diameterFactor LReal 0.0 [%] Scaling factor for parameter
"(sectionalDriveDiag.referenceV
elocity" which can be used for
an external axis control
((sectionalDriveConfig.axisCtrl
© Siemens AG 2023 All rights reserved
6.1.5 LConSMC_typeFrictionMeasurement_V2
Description
In-/Outputs of the friction measurement
Parameter description
Identifier Data type Default value Description
in LConSMC_typeFrictionMeasurementV2In --- Inputs of the FB
FrictionMeasurementV2
out LConSMC_typeFrictionMeasurementV2Out --- Outputs of the FB
FrictionMeasurementV2
6.1.6 LConSMC_typeKpAdaption
Description
In-/Outputs of the speed controller Kp-Adaption
Parameter description
Identifier Data type Default value Description
in LConSMC_typeKpAdaptionInput --- Inputs for FB KpAdaption
out LConSMC_typeKpAdaptionOutput --- Outputs for FB KpAdaption
6.1.7 LConSMC_typeTaper
Description
In-/Outputs of the tension taper
Parameter description
Defaul
Identifier Data type Description
t value
in LConSMC_typeTaperInput --- Inputs for FB Taper
out LConSMC_typeTaperOutput --- Outputs for FB Taper
© Siemens AG 2023 All rights reserved
Description
Parameter description
Identifier Data type Default value Description
stopDynamics LConSMC_typeStopDynamics --- [Unit of the axis] Dynamics
for stopping the axis
Active if "enable" = FALSE
or "speedMatch" = FLASE
and running web
syncDynamics LConSMC_typeSyncDynamics --- [Unit of the axis] Dynamics
for synchronizing to line
speed
Active if "enable" &
"speedMatch" = TRUE
operationDynamics LConSMC_typeOperationDynamics --- [Unit of the axis] Dynamics
during normal operation
Active if "enable" &
"speedMatch" &
"ctrlEnable" = TRUE
jogDynamics LConSMC_typeJogDynamics --- [Unit of the axis] Dynamics
for jogging the axis
Active if "JogPos" or
"jogNeg" = TRUE
LConSMC_typeDiamCalcDiag
Description
Diagnostic strukture of diameter calculation
Parameter description
Default
Identifier Data type Description
value
atMinDia Bool FALSE TRUE: Diameter calculation has reached
minimum diameter
atMaxDia Bool FALSE TRUE: Diameter calculation has reached
maximum diameter
diamIsHold Bool FALSE TRUE: Diameter calculation is hold:
line velocity < diamConfig.minLineVelo
shaftSpeed < diamConfig.minShaftSpeed
input "holdDiameter" = TRUE
calculatedWebThickn LReal 0.0 Calculated web thickness
ess Only relevant for calculation modes integral (2)
and position (5)
LConSMC_typeDiamConfig
Description
© Siemens AG 2023 All rights reserved
Parameter description
Default
Identifier Data type Description
value
minLineVelocity LReal 0.0 [m/min or ft/min] Minimum web speed to
activate the diametet calculation
minShaftSpeed LReal 0.0 [min-1] Minimum winder shaft speed to
activate diameter calculation
minDia LReal 0.0 [m or inch] Minimum diameter value
maxDia LReal 0.0 [m or inch] Maximum diameter value
webThickness LReal 0.0 [m or inch] Web thickness
Necessary for the calculation modes 1&4
useLineAxisActualValu Bool TRUE TRUE: Use line actual values (s,v) for the
es diameter calculation from winder input
"lineAxisActualValues"
FALSE: Use values from the winder input
"lineAxisMotionVector"
diameterSetValue LReal 0.0 [m or inch] Diameter set value (If winder input
"setDiameter" = TRUE)
lineFilterTime Real 0.0 [ms] PT1 filter time for line velocity
shaftFilterTime Real 0.0 [ms] PT1 filter time for winder speed
measuringRevolutionCo Real 4.0 Number of shaft revolutions used for
unt averaging the diameter
Only relevant for calculation modes integral
(2) and position (5)
firstDiameterOutput Real 0.5 Number of shaft revolutions after which the
first diameter value is calculated
Only relevant for calculation modes integral
(2) and position (5)
Default
Identifier Data type Description
value
diameterOutputRate Real 1.0 Number of shaft revolutions after the first
diameter after which a new diameter value is
calculated
Only relevant for calculation modes integral
(2) and position (5)
lineModLength Real 0.0 Modulo length of the line axis. 0 = No modulo
axis
Only relevant for calculation mode position (5)
shaftModLength Real 0.0 Modulo length of the winder axis. 0 = No
modulo axis
Only relevant for calculation mode position (5)
windingShaftFeedback LReal 57.296 !Must be set to 360.0/2*PI = 57.296!
Scal Only relevant for calculation mode position (5)
lineFeedbackScal LReal 1.0 !Must be set to 1.0!
Only relevant for calculation mode position (5)
diameterFilterTime Real 0.0 [ms] PT1 filter time for diameter output value
LConSMC_typeJogDynamics
Description
Jog dynamics
© Siemens AG 2023 All rights reserved
Parameter description
Identifier Data type Default value Description
acceleration Real 0.2 Acceleration value: Units are taken from the TO
deceleration Real 0.2 Deceleration value: Units are taken from the TO
jerk Real 0.4 Jerk value : Units are taken from the TO
LConSMC_typeLineAxisActValues
Description
Actuak values of the web
Parameter description
Identifier Data type Default value Description
s LReal 0.0 [m] / [ft] Position
v LReal 0.0 [m/min] / [ft/min] Velocity
LConSMC_typeOperationDynamics
Description
[Unit of the axis] Dynamics during normal operation Active if “enable” &
“speedMatch” & “ctrlEnable” = TRUE
Parameter description
Identifier Data type Default value Description
acceleration Real -1.0 Acceleration value: Units are taken from the TO
deceleration Real -1.0 Deceleration value: Units are taken from the TO
LConSMC_typeSectionalDriveTorquePrecontrolConfig
Description
Configuration data of torque precontrol for sectional drives
Parameter description
Identifier Data type Default value Description
useSetValForFrictionComp Bool FALSE TRUE: Use speed
setpoint for friction
compensation
FALSE: Use speed
actual value
frictionAdjustment Real 0.0 Multiplicative adaption
factor for friction torque
(1.0 = 100%)
xn_speedValues LConSMC_typeBreakPointTable --- [1/min] Speed values
for fiction characteristic
yn_torqueValues LConSMC_typeBreakPointTable --- [Nm or lbf ft] Torque
values for friction
characteristic
© Siemens AG 2023 All rights reserved
LConSMC_typeStopDynamics
Description
[Unit of the axis] Dynamics for stopping the axis Active if “enable” = FALSE or
“speedMatch” = FLASE and running web
Parameter description
Identifier Data type Default value Description
deceleration Real -1.0 Deceleration value: Units are taken from the TO
jerk Real -1.0 Jerk value : Units are taken from the TO
abortAcceleratio Bool FALSE TRUE: Abort acceleration immediately, FALSE:
n Reduce current acceleration via Jerk
LConSMC_typeSyncDynamics
Description
[Unit of the axis] Dynamics for synchronizing to line speed Active if “enable” &
“speedMatch” = TRUE
Parameter description
Identifier Data type Default value Description
© Siemens AG 2023 All rights reserved
acceleration Real -1.0 Acceleration value: Units are taken from the TO
deceleration Real -1.0 Deceleration value: Units are taken from the TO
jerk Real -1.0 Jerk value : Units are taken from the TO
abortAcceleration Bool FALSE TRUE: Abort acceleration immediately, FALSE:
Reduce current acceleration via Jerk
syncToleranceFact Real 1.0 Factor to adjust synchronization tolerance
or
LConSMC_typeTechnollogyControllerDiag
Description
Diagnostic data of the technology controller
Parameter description
Default
Identifier Data type Description
value
pidoutValue LReal 0.0 PID-controller output value:
Torque control [N or Lbf]
Velocity adaption [m/min or ft/min]
pidEffectiveKp LReal 0.0 Effective P-gain if the gain adaption is used
pidUpperLimitReache Bool FALSE TRUE: PID output
d has reached the upper limit
pidLowerLimitReache Bool FALSE TRUE: PID output
d has reached the upper limit
pidRFGSetpointReach Bool FALSE TRUE: The internal ramp generator has
ed reached the setpoint
LConSMC_typeTechnologyControllerConfig
Description
Configuration parameters for technology controller (Dancer or load cell)
Parameter description
Identifier Data type Default value Description
x1 LReal 0.0 Breakpoint 1 x-axis for P-adaption (if x1=x2 the
adaption is deactivated)
Kp1 LReal 1.0 Breakpoint 1 P-gain for P-adaption (if x1=x2 the
adaption is deactivated)
x2 LReal 0.0 Breakpoint 2 x-axis for P-adaption (if x1=x2 the
adaption is deactivated)
Kp2 LReal 1.0 Breakpoint 2 P-gain for P-adaption (if x1=x2 the
adaption is deactivated)
KpAdaptionValue LReal 0.0 Adaption value for P-Gain adaption of the controller
integTime LReal 2000.0 [ms] Time constant for integrator. A value of 0 disables
the I-part
derivTime LReal 0.0 [ms] Time constant for differentiator. A value of 0
disables the D-part
derivControlMode Bool FALSE TRUE: D component active in actual value branch
FALSE: D component in controller deviation
© Siemens AG 2023 All rights reserved
setNominalValue LReal 100.0 Reference value for ramp time of setpoint channel
(Ramp from 0 to "setNominalValue" in "setRampTime")
setRampTime LReal 1000.0 [ms] Ramp time for setpoint ramp generator
filterTime LReal 10.0 [ms] PT1- Filter for actual value. A value of 0 disables
the filter
intSetValue LReal 0.0 Integrator set value (if "setIntChannel" = TRUE)
setIntChannel Bool FALSE TRUE: The output of the integrator is set to
"intSetValue"
holdIntChannel Bool FALSE TRUE: The output of the integrator is hold
FALSE: The output is integrated
deadBand LReal 0.0 Value of the dead band (symmetrical). A value of 0
disables the deadband
outValueFactor LReal 1.0 Multiplicative scaling of the controller output
upperLimit LReal 20.0 Upper limit of the controller output
lowerLimit LReal -20.0 Lower limit of the controller output
limRampTime LReal 0.0 [ms] Ramp time for output value limitation
tensionReference LReal 0.0 [N or lbf] Reference value for tension setpoint
If the value is 0 the setpoint is interpreted as an
abolute value and not percentage
LConSMC_typeTorquePrecontrolDiag
Description
Diagnostic structure for torque precontrol
Parameter description
Identifier Data type Default value Description
upperTorqueLimit LReal 0.0 [Unit of the axis] Upper torque limit
LConSMC_typeUnitConfiguration
Description
Configuration of the units
Parameter description
Identifier Data type Default value Description
metricUnits Bool TRUE TRUE: Use metric system [m] / [m/min] / [m/s^2] / [N]
FALSE: Use angloamerican system [inch] / [ft/min] /
[ft/s^2] / [Lbf]
© Siemens AG 2023 All rights reserved
LConSMC_typeWebbreakDetectConfig
Description
Configuration parameters for webbreak detection
Parameter description
Identifier Data type Default value Description
enableDetection Bool FALSE TRUE: Enable webbreak detection
minLineVelocity LReal 0.0 [m/min or ft/min] Minimum line speed for detection to be
active
upperLimitError LReal 0.0 [Unit of tension/dancer feedback] Upper limit for
detecting web break
!In the control mode "Indirect tension control" the torque
deviation in relation to the reference torque in precent is
monitored!
lowerLimitError LReal 0.0 [Unit of tension/dancer feedback] Lower limit for
detecting web break
!In the control mode "Indirect tension control" the torque
deviation in relation to the reference torque in precent is
monitored!
delayTime Time T#0s Delay time before diagnostic output "webBreak" is set to
TRUE
LConSMC_typeWebbreakDetectDiag
Description
Diagnostic structre for webbreak detection
Parameter description
Identifier Data type Default value Description
webbreakDetectionActive Bool FALSE TRUE: Web break detection is active
webBreak Bool FALSE TRUE: A web break has been detected. The
PID controlled will be disabled
LConSMC_typTorquePrecontrolConfig
Description
Configuration parameters for technology controller (Dancer or load cell)
Parameter description
Identifier Data type Default value Description
useSetValForFrictionComp Bool FALSE TRUE: Use speed
setpoint for friction
compensation
FALSE: Use speed
© Siemens AG 2023 All rights reserved
actual value
frictionAdjustment Real 0.0 Multiplicative adaption
factor for friction torque
(1.0 = 100%)
xn_speedValues LConSMC_typeBreakPointTable --- [1/min] Speed values
for fiction characteristic
yn_torqueValues LConSMC_typeBreakPointTable --- [Nm or lbf ft] Torque
values for friction
characteristic
sizeOfArray Int 20 Size of friction
characteristic array
loadGear LConSMC_typeLoadGear --- Load gear settings
MaterialWidth LReal 0.0 [m or inch] Width of the
web
MaterialDensity LReal 0.0 [kg/m^3 or lb / ft^3 ]
Material density
MaterialFillFactor Real 1.0 Material fill factor (1.0-
100%)
Scaling factor for
calculation of the
material intertia (e.g.
no solid material is
winded)
JFixed LReal 0.0 [kgm^2] / [lbft^2] Inertia
on drive side (without
drive, e.g. gear box)
JMandrel LReal 0.0 [kgm^2] / [lbft^2] Inertia
on load side (e.g.
mandrel)
JMotor LReal 0.0 [kgm^2] / [lbft^2] Drive
inertia
"getAxisConfigAtStart"
= FALSE!
additiveTorque LReal 0.0 [Nm or Lbf ft] Additive
torque value on drive
side for rewinder (.e.g.
compensation of
breakawy torque). The
torque is in rewinding
directio and only active
of "typeOfWinder" =
0/1
7 Appendix
7.1 Service and Support
Industry Online Support
Do you have any questions or need assistance?
Siemens Industry Online Support offers round the clock access to our entire
service and support know-how and portfolio.
The Industry Online Support is the central address for information about our
products, solutions and services.
Product information, manuals, downloads, FAQs, application examples and videos
– all information is accessible with just a few mouse clicks at:
https://support.industry.siemens.com
Technical Support
The Technical Support of Siemens Industry provides you fast and competent
support regarding all technical queries with numerous tailor-made offers
– ranging from basic support to individual support contracts. You send queries to
Technical Support via Web form:
www.siemens.com/industry/supportrequest
© Siemens AG 2023 All rights reserved
Service offer
Our range of services includes the following:
• Plant data services
• Spare parts services
• Repair services
• On-site and maintenance services
• Retrofitting and modernization services
• Service programs and contracts
You can find detailed information on our range of services in the service catalog:
https://support.industry.siemens.com/cs/sc
LConSMC_WITorquePrecontrol
V3.2 03/2022 Adaption of chapter 5&6
V3.2 06/2022 Updated parameter description for function block
LConSMC_RFGJ
Updated error description for LConSMC_Winder &
LConSMC_SectionalDrive
V3.3 02/2023 Update of chapter 3 & 4 to fit to new library and example
program structure
Updated data type description (chapter 6)
Only English documentation available anymore
Extended description of LConSMC_Winder (External
setpoint connection)