酷德网

Kx-m3酷自造发布!
查看: 94|回复: 0

【CODESYS大讲堂】PWMControl库

[复制链接]
  • TA的每日心情
    奋斗
    2017-12-16 07:07
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2018-7-4 22:04:35 | 显示全部楼层 |阅读模式
    PWMContro库也就是在PWMControlVoltageAmpere.lib文件中的功能块。
    7.1 CheckFault功能块
    功能描述:
      检测输入是否有错误。事实上本功能块是Motion功能块的一个子功能块。
    功能图如下:
    640_结果.jpg
    输入:
    (3) Control,INT型,输入的控制信号。取值范围, -32767 ~ 32767。
    (4) FeedBacl,UINT型,比例阀反馈输入0~65535,对应的电流为0~1安培。
    输出:
    (3) DO_FaultInDirUp,BOOL型,
    (4) DO_FaultInDirDown,BOOL型,
    7.2 ControlMotionErrors功能块
         功能描述:事实上本功能块是Motion功能块的一个子功能块。用来输出当前阻抗过高与过低的情况。
    功能块图如下:
    640 (1)_结果.jpg
    输入:
    (1)Control,INT型,控制信号输入端,-32767~+32767,一般为手柄标定后的值。
    (2)PWM_Up,UINT型,上生端的PWM信号。
    (3)PWM_Down,UINT型,下降端的PWM信号。
    (4)FeedBack,UINT型,比例阀反馈输入0~65535,对应的电流为0~1安培。
    (5)PAR_DirUpMaxCurrent,UINT型,正向输出允许最大值。即比例阀的最大开启电流。
    (6)PAR_DirUpMinCurrent,UINT型,正向输出允许最小值。即比例阀的最小开启电流。
    (7)PAR_DirDownMinCurrent,UINT型,负向输出允许最小值。即比例阀的最小开启电流。
    (8)PAR_DirDownMaxCurrent,UINT型,负向输出允许最大值。即比例阀的最大开启电流。
    (9)PAR_CoilResistance,USINT型,线圈电阻值。
    (10)PAR_SupplyVoltage,USINT型,系统的供电电压。
    (11)PAR_FaultOnDelay,UINT型,出错延时,0~65535ms。
    (12)PAR_PercentDifferencelnImpedance,USINT型,容错范围。
    输出:
    (1)Do_DirUpValveImpedanceTooHigh,BOOL 型,正向时,当 impedance 高于
    (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    (2)Do_DirUpValveImpedanceTooLow,BOOL 型,正向时,当 impedance 低于
    (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    (3)Do_DirDownValveImpedanceTooHigh,BOOL 型,负向时,当 impedance 高于
    (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    (4)Do_DirDownValveImpedanceTooLow,BOOL 型,正向时,当 impedance 低于
    (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到

    PAR_FaultnDelay ,该值为 TRUE。
    7.3 EndAttenuation功能块
    功能描述:
         事实上本功能块是Motion功能块的一个子功能块。
    功能块如下图:
    640 (2)_结果.jpg
    输入:
    (1)Control,INT型,输入的控制信号。取值范围, -32767 ~ 32767。
    (2)DI_LimitSwitchUp,BOOL型,正向限位开关,为TRUE时模块输入为
    PAR_EndattenuationValue*Control/100%
    (3)DI_LimitSwitchDown,BOOL型,负向限位开关,为TRUE时模块输入为
    PAR_EndattenuationValue*Control/100%
    (4)PAR_EndattenuationValue,UINT型,限位参数,取值范围: 0 ~100 %
    (5)Enable,使能。
    输出:
    (1) Output,INT型。
    7.4 Motion功能块
    功能描述:
           Motion模块主要用于控制比例阀,有两路PWM输出,控制信号范围-32767 ~ 32767,当控制信号在0 ~32767, PWM Up 输出,值 0~32767;当控制信号在0 ~-32767, PWMdown输出,值 0~32767。由参数控制最大最小输出电流范围.
    功能块图如下:
    640 (3)_结果.jpg
    输入:
    1)Control,INT型,输入的控制信号。取值范围, -32767 ~ 32767。
    (2)FeedBack,比例阀反馈输入0~65535,对应的电流为0~1安培。当前比例阀的反馈,可以直接将比例阀的地端接入控制器的比例阀反馈输入端(EPEC2024),然后将地址定义为比例阀反馈输入端的参数作为该反馈信号输入值。或者将比例阀的地直接于控制器的地相连接。然后将控制器的输出乘以2即可。因为比例阀的控制信号是0~32767,而比例阀的反馈信号是0~65535,所以将比例阀的输出值乘以2。
    (3)DI_LimitSwitchUp,BOOL型,正向限位开关,为TRUE时模块输入为PAR_EndattenuationValue*Control/100%
    (4)DI_LimitSwitchDown,BOOL型,负向限位开关,为TRUE时模块输入为PAR_EndattenuationValue*Control/100%
    (5)PAR_DirUpAecel,USINT型,正方向输出加速度0~255,相当于延时多长时间达到相应的输出值。
    (6)PAR_DirUpDecel,USINT型,正方向输出减速度0~255,相当于延时多长时间输出值为0。
    (7)PAR_DirDownAccel,USINT型,负方向输出减速度0~255,相当于延时多长时间达到相应的输出值。
    (8)PAR_DirDownDecel,USINT型,负方向输出加速度0~255,相当于延时多长时间输出值为0。
    (9)PAR_DirUpMaxCurrent,UINT型,正向输出允许最大值。即比例阀的最大开启电流。电流0~1安培相当于0~1000。
    (10)PAR_DirUpMinCurrent,UINT型,正向输出允许最小值。即比例阀的最小开启电流。电流0~1安培相当于0~1000。
    (11)PAR_DirDownMinCurrent,UINT型,负向输出允许最小值。即比例阀的最小开
    启电流。电流0~1安培相当于0~1000。
    (12)PAR_DirDownMaxCurrent,UINT型,负向输出允许最大值。即比例阀的最大开启电流。电流0~1安培相当于0~1000。
    (13)PAR_EndattenuationValue,UINT型,限位参数,取值范围: 0 ~100 %
    (14)PAR_CoilResistance,USINT型,线圈电阻值。
    (15)PAR_SupplyVoltage,USINT型,系统的供电电压。
    (16)PAR_FaultOnDelay,UINT型,出错延时,0~65535ms。
    (17)PAR_PercentDifferencelnImpedance,USINT型,容错范围。
    (18)ENABLE,BOOL型,使能。使能开关,为 FALSE 时, DO_SupplyVoltage 为FALSE,输出为零。
    输出:
    (1)Do_SupplyVoltage,BOOL 型,当 Enable 为 TRUE 且 control <>0 时,为TRUE。
    (2)PWM_Up,UINT 型,正向输出,取值范围: 0 ~ 32767。
    (3)PWM_Down,UINT 型,负向输出,取值范围: 0 ~ 32767。
    (4) Do_DirUpValveImpedanceTooHigh,BOOL 型,正向时,当 impedance 高于(PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    (5)Do_DirUpValveImpedanceTooLow,BOOL 型,正向时,当 impedance 低于
    (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    (6)Do_DirDownValveImpedanceTooHigh,BOOL 型,负向时,当 impedance 高于
    (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    (7)Do_DirDownValveImpedanceTooLow,BOOL 型,正向时,当 impedance低于 (PAR_PercentDifferenceInImpedance*Impedance)/100 且延时到PAR_FaultnDelay ,该值为 TRUE。
    7.5 MotionControl 功能块
    功能描述:
          事实上本功能块是 Motion 功能块的一个子功能块。
    功能块图如下:
    640 (4)_结果.jpg
    输入:
    (1)Control,INT 型,输入的控制信号。取值范围, -32767 ~ 32767。
    (2)FeedBack,比例阀反馈输入 0~65535,对应的电流为 0~1 安培。
    (3)PAR_DirUpMaxCurrent,UINT型,正向输出允许最大值。即比例阀的最大开启
    电流。电流0~1安培相当于0~1000。
    (4)PAR_DirUpMinCurrent,UINT型,正向输出允许最小值。即比例阀的最小开启
    电流。电流0~1安培相当于0~1000。
    (5)PAR_DirDownMinCurrent,UINT型,负向输出允许最小值。即比例阀的最小开
    启电流。电流0~1安培相当于0~1000。
    (6)PAR_DirDownMaxCurrent,UINT 型,负向输出允许最大值。即比例阀的最
    大开启电流。电流 0~1 安培相当于 0~1000。
    (7)PAR_CoilResistance,USINT 型,线圈电阻值。
    输出:
    (1)Output,INT 型。
    7.6 MotionControlVolt 功能块
    功能描述:
    事实上本功能块是 Motion Volt 功能块的一个子功能块。
    功能块图如下:
    640 (5)_结果.jpg

    输入:
    (1)Control,INT 型,输入的控制信号。取值范围, -32767 ~ 32767。
    (2)PAR_DirUpMax,UINT 型,正向输出最大值为 PWM 的百分比,0~100%
    (3)PAR_DirUpMin,UINT 型,正向输出最小值为 PWM 的百分比,0~100%
    (4)PAR_DirDownMax,UINT 型,负向输出最大值为 PWM 的百分比,0~100%
    (5)PAR_DirDownMin,UINT 型,负向输出最小值为 PWM 的百分比,0~100%
    输出:
    (1)Do_SupplyVoltage,BOOL 型,当 Enable 为 TRUE 且 control <>0 时,为
    TRUE。
    (2)Output,INT 型。
    7.7 MotionVolt 功能块
    功能描述:
    本模块也用于控制比例阀,输出 PWM 信号,控制信号来自 joystickfilter 模块
    (-32767 ~32767)。 输出为 0 ~ 32767。
    功能块如下图:
    640 (6)_结果.jpg
    输入:
    (1)Control,INT 型,输入的控制信号。取值范围, -32767 ~ 32767。
           (2)DI_LimitSwitchUp,BOOL 型,正向限位开关,为 TRUE 时模块输入为
          PAR_EndattenuationValue*Control/100%
          (3)DI_LimitSwitchDown,BOOL 型,负向限位开关,为 TRUE 时模块输入为
        PAR_EndattenuationValue*Control/100%
         (4)PAR_DirUpAecel,USINT型,正方向输出加速度0~255,相当于延时多长时间
          达到相应的输出值。
         (5)PAR_DirUpDecel,USINT型,正方向输出减速度0~255,相当于延时多长时间
         输出值为0。
        (6)PAR_DirDownAccel,USINT型,负方向输出减速度0~255,相当于延时多长时
        间达到相应的输出值。
        (7)PAR_DirDownDecel,USINT 型,负方向输出加速度 0~255,相当于延时多长
        时间输出值为 0。
       (8)PAR_DirUpMax,UINT 型,正向输出最大值为 PWM 的百分比,0~100%
       (9)PAR_DirUpMin,UINT 型,正向输出最小值为 PWM 的百分比,0~100%
      (10)PAR_DirDownMax,UINT 型,负向输出最大值为 PWM 的百分比,0~100%
      (11)PAR_DirDownMin,UINT 型,负向输出最小值为 PWM 的百分比,0~100%
      (12)PAR_EndattenuationValue,UINT 型,限位参数,取值范围: 0 ~100 %
      (13)ENABLE,BOOL 型,使能。使能开关,为 FALSE 时, DO_SupplyVoltage
       为 FALSE,输出为零。
    输出:
    (1)Do_SupplyVoltage,BOOL 型,当 Enable 为 TRUE 且 control <>0 时,为
    TRUE。
    (2)PWM_Out,UINT 型,输出为 0 ~ 32767。
    7.8 Smooth 功能块
    功能描述:
         事实上本功能块是 Motion 功能块的一个子功能块。
    功能块如下图:
    640 (7)_结果.jpg
    输入:
    (1)Control,INT 型,输入的控制信号。取值范围, -32767 ~ 32767。
    (2)PAR_DirUpAecel,USINT型,正方向输出加速度0~255,相当于延时多长时间
    达到相应的输出值。
    (3)PAR_DirUpDecel,USINT型,正方向输出减速度0~255,相当于延时多长时间
    输出值为0。
    (4)PAR_DirDownAccel,USINT型,负方向输出减速度0~255,相当于延时多长时
    间达到相应的输出值。
    (5)PAR_DirDownDecel,USINT 型,负方向输出加速度 0~255,相当于延时多长
    时间输出值为 0。
    输出:
    (1)Output,INT 型。
    一、标准库函数 Standard Library
    标准库函数就是 STANDARD.LIB 中的一些常用的函数。
    1. 1 双稳功能块 Bistable Function Blocks
    1.1.1 SR 功能块
    功能描述:
         本功能块是对变量进行置位与复位。也就是说等同与 PLC 中的 SET 与 RESET 命令。
    当 SET1 为 TRUE 是则输出 Q1 置位,值为 TRUE 并保持。当 RESET 为 TRUE 时复位,值
    为 FALSE 并保持。注意:当 SET1 与 RESET 同时为 TRUE 时输出为 FALSE。(RS 功能块
    此时为 TRUE)
    功能块如下图:
    640 (8)_结果.jpg
    输入: SET1,BOOL 型
    RESET,BOOL 型
    输出: Q1,BOOL 型
    1.1.2 RS 功能块
    功能描述:
         本功能块的主要功能同 SR 块。也是用来实现置位与复位的功能。当 SET 为 TRUE 是
    则输出 Q1 置位,值为 TRUE 并保持。当 RESET1 为 TRUE 时复位,值为 FALSE 并保持。
    注意:当 SET 与 RESET1 同时为真时输出为 TRUE。(SR 功能块此时为 FALSE)
    功能块如下图:
    640 (9)_结果.jpg
    输入: SET,BOOL 型
    RESET1,BOOL 型
    输出: Q1,BOOL 型
    1.1.3 SEMA 功能块
    功能描述:
        本功能块的主要功能同SR块。也是用来实现置位与复位的功能。当CLAIM为TRUE时输出为TRUE。当RELEASE为TRUE时输出为FALSE。当两者同是为TRUE是输出为FALSE。本
    功能块与SR以及RS功能块的最大的不同就是本功能块是同过一个内部变量X来传递值的。
    语句如下:
    BUSY := X;
    IF CLAIM THEN X:=TRUE;
    ELSE IF RELEASE THEN BUSY := FALSE; X:= FALSE;
    END_IF
    功能块如下图:
    640 (10)_结果.jpg
    输入: CLAIM,BOOL 型
    RELEASE,BOOL 型
    输出: BUSY,BOOL 型
    1. 2 计数器功能块 Counter
    1.2.1 CTD 功能块
    功能描述:
        本功能块是自减记数器。也就是说当信号由低电频变为高电频时进行自减记数。其中
    CD 是输入信号,LOAD 是初始化信号,也就是说当 LOAD 输入为 TRUE 时功能块开始工
    作。PV 是初始化记数值,也就上通过 PV 来初始化 CV 的值。当每有一个输入信号时,则
    CV 减一,直到 CV 减到 0 时输出 Q 有输出为 TRUE。
    功能块如下图
    640 (11)_结果.jpg
    输入:
    CD,BOOL型
    LOAD,BOOL 型
    PV,INT 型
    输出:Q,BOOL 型
    CV,INT 型
    1.2.2 CTU 功能块
    功能描述:
    本功能块是自加记数器。也就是说当信号由低电频变为高电频时进行加一记数。其中
    CU 是输入信号,RESET 是复位信号,也就是说当 LOAD 输入为 TRUE 时功能块复位。CV
    是当时记数值。当每有一个输入信号时,则 CV 加一,直到 CV 加到 CV=PV 时输出 Q 有输
    出为 TRUE。
    功能块如下图:
    640 (12)_结果.jpg
    输入: CU,BOOL型
    RESET,BOOL 型
    PV,INT 型
    输出:Q,BOOL 型
    CV,INT 型
    1.2.3 CTUD 功能块
    功能描述:
         本功能块是一个可以进行自减也可以进行自加的功能块,也就是说它整合了前面两个功
    能块的功能。当输入用 CU、RESET 及 PV,也就是说当 RESET 有一个信号,则 CV 会被初始化为 0,此时功能块是用作为自加计数器,对 CU 进行记数。当 CV=PV 时在 QU 端有输出。功能同 CTU 功能块。
    当 LOAD 有一个信号时,则 CV 会被初始化为 PV,此时本功能块会被用作为一个减
    计数器。当有输入时则 CV 减一,当 CV=0 是 QD 有输出。
    功能块如下图:
    640 (13)_结果.jpg 输入:
    CU,BOOL型
    CD,BOOL 型
    RESET,BOOL 型
    LOAD,BOOL 型
    PV,INT 型
    输出:QU,BOOL 型
    QD,BOOL 型
    CV,INT 型
    1.3 字符串操作函数 String Functions
    1.3.1 CONCAT 函数
    功能描述:
        这是一个串连接函数。它的主要功能就是把两个输入串连成一个串。
    函数块如下图:
    640 (14)_结果.jpg
    输入:STR1,STRING 型
    STR2,STRING 型
    输出:由于功能块与函数的区别,函数的输出即返回值是用户自己定义的变量,是 STRING
    型。
    1.3.2 DELETE 函数
    功能描述
    本函数是从给定的串中删除给定位置开始的字符串。STR 是输入串,LEN 是要删除的
    长度,POS 是开始的位置。
    函数块如下图:
    640 (15)_结果.jpg
    输入:STR,STRING型
    LEN,INT 型
    POS,INT 型
    输出:完成操作后的串,STRING 型
    1.3.3 FIND 函数
    功能描述:
    本函数就是在给定的串中查找所要查的串的位置。给出第个一个字符的位置。
    函数块如下图:
    640 (16)_结果.jpg
    输入:STR1,STRING型
    STR2,STRING 型
    输出:STR2 首字符在 STR1 中的位置。INT 型
    1.3.4 INSERT 函数
    功能描述:
    本函数就是在串的给定的位置中插入一个串。STR2 串插入 STR1 中的 POS 位置。
    函数块如下图:
    640 (17)_结果.jpg
    输入:STR1,STRING型
    STR2,STRING 型
    POS,INT 型
    输出:完成操作后的串,STRING 型
    1.3.5 LEFT 函数
         功能描述:
      从给定的串的左开始取字符串 SIZE 位。
    函数块如下图:
    640 (18)_结果.jpg
    输入:STR,STRING 型
    SIZE,INT 型
    输出:完成操作后的串,STRING 型
    1.3.6 LEN 函数
    功能描述:
        计算字符串的长度。
    函数块如下图:
    640 (19)_结果.jpg
    输入:STR,STRING型
    输出:给定的字符串的长度,INT 型
    1.3.7 MID 函数
    功能描述:
    取给定的字符串的第 POS 位开始的 LEN 位。
    函数块如下图:
    640 (20)_结果.jpg
    输入; STR,STRING型
    LEN,INT 型
    POS,INT 型
    输出:完成操作后的串,STRING 型
    1.3.8 REPLACE 函数
    功能描述:
    把 STR1 中第 P 位开始的 L 位替换成 STR2。
    函数块如下图:
    640 (21)_结果.jpg
    输入:STR1,TRING型
    STR2,STRING 型
    L,INT 型
    P,INT 型
    输出:完成操作后的串,STRING 型
    1.3.9 RIGHT 函数
    功能描述:
    从给定的串的右开始取字符串 SIZE 位。
    函数块如下图:
    640 (22)_结果.jpg
    输入:STR,STRING型
    SIZE,INT 型
    输出:完成操作后的串,STRING 型
    1.4 定时器功能块 Timer
    1.4.1 RTC 功能块
    功能描述:
    当输入为 TRUE 时,则把 PDT 的时间付给 CDT 同时 CDT 开始记时,输出 Q 为 TRUE。
    当输入 EN 为假是 CDT 为默认时间。
    功能块如下图:
    640 (23)_结果.jpg
    输入:EN,BOOL型
    PDT,DT 型
    输出:Q,BOOL 型
    CDT,DT 型
    1.4.2 TOF 功能块
    功能描述:
    当输入 IN 由高电频变为低电频时开始记时,当 ET 记时达到给定的时间 PT 时,输出由
    高电频变为低电频。
    功能块如下图:

    640 (24)_结果.jpg
    输入:IN,BOOL 型
    PT,TIME 型
    输出:Q,BOOL 型
    ET,TIME 型
    1.4.3 TON 功能块
    功能描述:
    当输入 IN 由低电频变为高电频时开始记时,当 ET 记时达到给定的时间 PT 时,输出由
    低电频变高低电频。
    功能块如下图:
    640 (25)_结果.jpg
    输入:IN,BOOL 型
    PT,TIME 型
    输出:Q,BOOL 型
    ET,TIME 型
    1.4.4 TP 功能块
    功能描述:
    使输入的信号 IN 保持 PT 时间,也就是说当有输入是输出 Q 就为 TRUE,同时保持,
    此时 ET 开始记时,当 ET=PT 是,输出变为 FALSE,同时保持。
    功能块如下图:
    640 (26)_结果.jpg
    输入:IN, BOOL型
    PT,TIME 型
    输出:Q,BOOL 型
    ET,TIME 型
    1.5 触发保持功能块 Trigger
    1.5.1 F_TRIG 功能块
    功能描述:
    输入每有一个由高电频向低电频的跳变时输出 Q 就有一个输出 TRUE。
    功能块如下图:
    640 (27)_结果.jpg
    输入:CLK,BOOL型
    输出:Q,BOOL 型
    1.5.2 R_TRIG 功能块
    功能描述:
    输入每有一个由低电频向高电频的跳变时输出 Q 就有一个输出 TRUE。
    功能块如下图:
    640 (28)_结果.jpg
      输入:CLK,BOOL型
      输出:Q,BOOL 型

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|小黑屋|手机版|Archiver|酷德论坛 ( 苏ICP备16065247号 )|网站地图

    GMT+8, 2018-11-19 15:15 , Processed in 0.341416 second(s), 23 queries , MemCache On.

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表