ST结构气缸通用功能接口设计

本文介绍了一种通过接口设计实现气缸控制的通用方法,涵盖了双磁双控、双磁单控等多种模式。代码示例展示了如何根据手动、自动模式以及不同控制类型来设置状态,并提供了模拟功能,使得对各种气缸的控制变得简单易行。
摘要由CSDN通过智能技术生成

气缸常规类型分为:双磁双控,双磁单控,可模拟双磁双控,可模拟双磁单控,单磁双控,单磁单控;

利用接口功能设计包含:动点、原点、错误代码常规接口;

功能块设计:气缸名称、模式、看门狗、以及超时时间设计,可针对所有气缸建立通用功能块;

首先建立接口模块ITF_Cylider 包含对象mActingMoving,mActOrigin,mErrorCode;

创建气缸功能块Fb_Cylider,引用接口ITF_Cylider;

IF uiModeside=0 THEN//0双磁双控
    DoMoving:=ATI_qMoving AND (NOT ATI_xSnMoving);
    DoOrigin:=ATI_qOrigin AND (NOT ATI_xSnOrigin);    
    IF Sys_mManulMode OR bForceEnableManualBt THEN
        IF bLockByItself THEN
            IF ADS_mMoving THEN
                ATI_qOrigin R=TRUE;
                ATI_qMoving S=TRUE;
            ELSIF ADS_mOrigin THEN
                ATI_qMoving R=TRUE;
                ATI_qOrigin S=TRUE;                
            END_IF
        ELSE
            ATI_qMoving:=ADS_mMoving AND (NOT ATI_xSnMoving) AND (NOT ADS_mOrigin);
            ATI_qOrigin:=ADS_mOrigin AND (NOT ATI_xSnOrigin) AND (NOT ADS_mMoving);
        END_IF
    ELSIF Sys_mAutoMode THEN
        IF bLockByItself THEN
            IF Auto_mMoving THEN
                ATI_qOrigin R=TRUE;
                ATI_qMoving S=TRUE;    
            ELSIF Auto_mOrigin THEN
                ATI_qMoving R=TRUE;
                ATI_qOrigin S=TRUE;                    
            END_IF        
        ELSE
            ATI_qMoving:=Auto_mMovi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值