通过Cam以及虚拟时间轴实现设备控制

(参阅相关同名工程 PLCopenMulti.project)

以下工程描述了通过一个线性设备如何实现一个周期性的 cam。并且展示了凸轮中的挺杆功能。

1. 在设备树中创建一个周期性的cam (在示例工程中的 "实例" 程序)作为一个从范围 0 到10 秒的主轴,并且至少包含一个 挺杆名为 ID1;如下图所示:

插图 75: Cam "示例",Cam 配置
插图 76: Cam "示例", 挺杆配置

 

2. 在设备树中定义两个旋转设备 名为 "Drive" (360周期) 以及 "Virtual“ (周期为10):

插图 77: 设备树中包含两个旋转设备

 

3. 通过FBD语言创建程序 MOTION_PRG,包含以下模块:

PROGRAM MOTION_PRG

VAR

power1, power2: MC_Power;

TableSelect: MC_CamTableSelect;

CamIn: MC_CamIn;

Tappet: SMC_GetTappetValue;

MoveVirtual: MC_MoveVelocity;

END_VAR

经过Power 模块之后 (power1, power2) 首先调用的是从轴的MoveVelocity模块,是虚轴移动。TableSelect将选择描述的表格,并且读到CamIn中;Tappet模块检查挺杆的位置,因为挺杆的配置它会没 10 秒钟执行一次 ‘反转’。

现在可以编译程序并在控制器中启动 。

为了分别进行当前位置以及目标位置的控制,创建一个可视化界面,这有助于检查当前模块以及轴的位置。

请注意,cam的主轴不仅可以是一个虚拟的时间轴,也可以是AXIS_REF 数据结构描述的任何形式的轴。对于控制器当前激活的数值将作为目标位置,对驱动器来说当前不可控的位置为当前值。