十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

基于同元气动模型库的双气缸顺序控制系统建模与仿真

基于同元气动模型库的双气缸顺序控制系统建模与仿真 气动系统中两个气缸按照固定顺序伸出、缩回是比较典型的一类顺序控制问题。比如要求两个双作用气缸依次完成A 伸出 → B 伸出 → B 缩回 → A 缩回如果直接搭建硬件一旦阀件选择、控制气路或动作节拍存在问题往往需要反复调整管路。相比之下先在仿真环境中把整个回路跑一遍可以提前检查气路结构和顺序控制逻辑。最近我在 MoHub 上看到一个双气缸顺序控制案例。模型包含气源处理、方向控制阀、行程反馈阀以及两个双作用气缸而且控制信号通过气动端口传递。案例地址https://mohub.net/model/26115/summary我在 Sysplorer 中实际运行了一遍下面主要看看这个气动回路是怎么搭起来的以及最终的动作顺序是否符合设计目标。双气缸顺序控制模型案例的目标是利用气动元件和气动控制信号实现两个双作用气缸的顺序动作。在 Sysplorer 中搭建完成后的整体模型如下。图1双气缸顺序控制系统整体模型结构从模型结构可以看到整个系统主要分为几个区域气源处理气缸 A 主回路气缸 B 主回路行程反馈控制信号图中实线主要表示主气路虚线表示控制气路。两个气缸的工作气路和控制信号被放在同一张模型图中因此可以比较直观地沿着连接关系观察各个阀件之间的控制过程。对应的气动系统原理图如下。图2双气缸顺序控制系统气动原理图案例中共包含 7 个主要阀件阀件主要作用阀1启动阀阀2气缸 A 主换向阀阀3、阀4气缸 A 行程反馈阀阀5气缸 B 主换向阀阀6、阀7气缸 B 行程反馈阀按照设计整个回路需要完成A → B → B- → A-其中A气缸 A 伸出 B气缸 B 伸出 B-气缸 B 缩回 A-气缸 A 缩回也就是 A 缸先动作A 到位后触发 B 缸伸出随后 B 缸缩回最后 A 缸回到初始位置。模型中的几个关键设置模型运行环境为Sysplorer Modelica依赖TYPneumatics气动组件库。主要仿真参数为StopTime 20 s Interval 0.02 s Tolerance 1e-6气源压力设为0.6 MPa。两个气缸的主要参数分别为参数气缸A气缸B缸径50 mm40 mm杆径20 mm16 mm行程200 mm150 mm在该模型中阀2和阀5采用带气动控制接口的DirectionalValve24作为主换向阀通过左右控制端的压力改变阀芯位置其余几个控制阀采用 3/2 气动信号阀。因此主换向动作并不是直接用布尔量或电信号控制而是通过气动控制端口完成。另外一个比较关键的处理是行程反馈信号的等效实现。真实气动系统中行程阀通常由气缸运动到指定位置后机械触发。而在这个模型中采用了Pulse → PressureSource → 行程阀的方式在指定时刻产生一段气动控制压力等效气缸到位后触发行程阀的过程。因此这个模型能够保持气动控制信号的传递形式但实际动作时刻也会受到Pulse参数的直接影响。仿真结果两个气缸实际是怎么动作的仿真完成后首先观察气缸 A 和气缸 B 的位移曲线。图3气缸A、B位移曲线从曲线中可以比较清楚地看到两个气缸的动作过程。气缸 A 首先伸出在约0.7 s左右达到最大行程A ≈ 200 mm随后气缸 B 开始动作并在约3.3 s左右伸出到B ≈ 150 mm到这里前两个动作符合预期A → B但继续观察缩回阶段会发现一个比较明显的问题。气缸 A 在约5.6 s左右已经缩回到零位而气缸 B 一直到约7.4 s才缩回。所以从实际位移曲线来看本次仿真的动作顺序实际上是A → B → A- → B-而模型原本标注的目标顺序是A → B → B- → A-也就是说两个气缸的伸出顺序是正确的但缩回顺序与设计目标相反。这一点很值得注意因为如果只看“模型是否能够正常仿真”和“两个气缸是否都完成了往复运动”这个问题很容易被忽略。为什么气缸A会提前缩回回头检查模型中的触发参数可以找到一个比较直接的原因。启动阀对应的脉冲pulseStart设置为width 12 period 40按照当前参数启动控制信号持续到约5 s左右。当启动信号释放后控制阀状态随之发生变化气缸 A 的主换向阀复位因此 A 缸开始提前缩回。这与图3中的结果基本对应约 5 s启动信号释放 约 5.6 s气缸 A 缩回而按照原本的设计逻辑应该先完成 B 缸缩回再触发 A 缸缩回。因此这里暴露出的并不是“气缸不能动作”而是一个更具体的控制节拍问题。由于模型中的行程反馈采用Pulse PressureSource进行等效所以startTime width period这些脉冲参数实际上已经参与到了顺序控制逻辑中。如果几个脉冲之间的时间关系没有正确匹配即使气动回路能够正常连接和运行最终得到的动作顺序仍然可能与设计目标不同。这也是仿真的一个实际价值不仅验证模型能不能运行还能通过结果曲线检查控制逻辑是否真的正确。主供气压力是否稳定除了两个气缸的位移我还观察了减压阀出口的主供气压力。图4主供气压力曲线气源设定压力为0.6 MPa也就是约600 kPa从图4可以看到系统启动后主供气压力很快上升到接近 600 kPa并在大部分时间保持稳定。在几个气缸动作和换向时刻压力出现了比较明显的瞬时下降。例如气缸动作过程中压力会短暂下降到约480500 kPa随后重新恢复到 600 kPa 左右。这种变化与气缸换向和瞬时用气有关。整体来看压力波动主要集中在动作瞬间并没有出现持续性的供气压力下降。两个气缸动作完成后系统压力重新稳定在设定值附近。因此从供气侧来看模型中的气源处理和减压环节能够维持基本稳定的主供气。这个案例适合看什么跑完整个模型后我觉得这个案例比较有价值的地方不只是“两根气缸能不能动”而是可以比较直观地观察几个气动系统中的基础问题。1. 主气路和控制气路如何配合主气路负责向气缸提供压缩空气控制气路则通过压力信号改变主换向阀的状态。整个控制过程可以理解为控制信号 ↓ 行程阀 ↓ 气动控制压力 ↓ 主换向阀 ↓ 气缸运动把这条链路放到完整模型中以后比单独看阀件符号更容易理解。2. 顺序控制不能只看“有没有动作”本次仿真中两个气缸都能够正常伸出和缩回如果只验证这一点很容易认为模型已经满足要求。但把位移曲线与目标动作顺序放在一起比较就能发现目标A → B → B- → A- 实际A → B → A- → B-这说明对于顺序控制系统而言动作发生了并不等于动作逻辑正确。3. 仿真结果可以反过来定位参数问题发现动作顺序不一致后再去检查pulseStart等触发参数就能进一步定位到控制信号释放过早的问题。这也是仿真相比直接搭建硬件比较方便的一点不仅能看到最终结果还可以沿着模型参数和控制链路继续排查原因。这个模型也有一个明显的简化需要说明的是这个案例中的行程反馈并不是根据气缸实际位移自动产生而是采用Pulse PressureSource模拟到位后的气动压力触发。真实系统中更接近气缸运动 ↓ 到达行程位置 ↓ 机械触发行程阀 ↓ 产生控制压力而当前模型更接近到达预设时间 ↓ Pulse触发 ↓ 产生控制压力 ↓ 控制行程阀因此它目前更适合用于气动顺序控制原理演示、气路逻辑验证和 Modelica 气动系统建模练习。如果希望模型进一步接近真实系统可以考虑让行程反馈直接与气缸实际位移关联。这样下一阶段动作什么时候发生就由前一个气缸是否真正到位决定而不是预先设定好触发时间。小结这个案例利用 TY 气动库搭建了一个完整的双气缸顺序控制回路包括气源处理、主换向阀、行程反馈和两个双作用气缸。从实际仿真结果来看气缸 A 可以伸出约 200 mm气缸 B 可以伸出约 150 mm两个气缸均能完成伸出和缩回主供气压力大部分时间稳定在约 0.6 MPa换向过程中会出现短时压力下降实际动作顺序为A → B → A- → B-与目标顺序A → B → B- → A-存在差异顺序偏差可以进一步定位到触发脉冲参数的设置所以这个模型除了可以用来理解气动顺序控制原理也比较适合说明一个很实际的问题模型能够正常运行不代表控制逻辑一定符合设计要求。对于顺序控制系统最终还是需要结合气缸位移、压力等仿真结果逐项验证。案例源码、模型文件以及相关说明可以在这里获取双气缸顺序控制系统案例https://mohub.net/model/26115/summary
返回列表