以下是一个使用PTO控制步进电机的简单示例:
FUNCTION "PTO_Control" : VOID
VAR_INPUT
Start : BOOL;
TargetPosition : DINT;
END_VAR
VAR
"Axis_PTO" : TO_PositioningAxis; // 技术对象
END_VAR
BEGIN
// 使能轴
IF Start AND NOT "Axis_PTO".Status.Enabled THEN
"Axis_PTO".Enable();
END_IF;
// 开始运动
IF "Axis_PTO".Status.Enabled AND NOT "Axis_PTO".Status.Busy THEN
"Axis_PTO".MoveAbsolute(Position := TargetPosition,
Velocity := 1000.0,
Direction := TO_PositionDirection#ShortestWay);
END_IF;
END_FUNCTION
PWM实现示例
这是一个使用PWM控制LED亮度的示例:
FUNCTION "PWM_Control" : VOID
VAR_INPUT
Brightness : INT; // 0-100
END_VAR
VAR
PWM_Value : WORD;
END_VAR
BEGIN
// 将亮度值(0-100)转换为PWM值(0-27648)
PWM_Value := INT_TO_WORD(Brightness * 276);