admin 发表于 2018-7-4 22:12:33

【CODESYS大讲堂】CELL_CHECK_4 库

CELL_CHECK_4 库就是 CELL_CHECK_4.lib 库文件中的功能块。本库中就只有CELL_CHECK_4 一个功能块。功能描述:本功能块主要是一个脉冲检测功能块。当输入的脉冲信号必须在 150 个程序循环中有所改变,此时 ALLUP 输出为 TRUE,否则为 FALSE。函数图如下:输入:(1) HeartB1,BOOL 型,要检测的脉冲信号 1。(2) HeartB2,BOOL 型,要检测的脉冲信号 2。(3) HeartB3,BOOL 型,要检测的脉冲信号 3。(4) HeartB4,BOOL 型,要检测的脉冲信号 4。输出:(1) ALLUp,BOOL 型,输出检测结果的信号。(2) HB_Send,BOOL 型,功能块本身的脉冲信号。(3) HBTime_1,USINT 型,对于信号 1 的程序循环记数器,当本记数器的值大于 150 时 ALLUp 输出为 FALSE,否则为 TRUE。(4) HBTime_2,USINT 型,对于信号 2 的程序循环记数器,当本记数器的值大于 150 时 ALLUp 输出为 FALSE,否则为 TRUE。(5) HBTime_3,USINT 型,对于信号 3 的程序循环记数器,当本记数器的值大于 150 时 ALLUp 输出为 FALSE,否则为 TRUE。(6) HBTime_4,USINT 型,对于信号 4 的程序循环记数器,当本记数器的值大于 150 时 ALLUp 输出为 FALSE,否则为 TRUE。六、HW 库HW 库也就是指的是在 hw_n.lib 文件中的一些功能块。6.1 CONFIGURE_PI功能块功能描述:脉冲输入设置,它是通过比较 A,B 两个通道输入的脉冲信号来给出一个正转或反转的数值。如果只计算单脉冲输入,CONFIGURE_PI 的 CHANNEL A 等于相应的值,CHANNEL B的值设置为 16。如果是要计算正反转,A 相输入和 B 相输入相位差 90 度,则 CHANNEL A和 CHANNEL B 的值等于相应的 CHANNEL 值。寄存器地址 IW130~IW137、IW150~IW157的值存放的是频的值,IW120~IW127、IW160~IW167 存放的是计数值,在 CODESYS 联机监控时只显示 A 相输入的频率值。高速脉冲输入端能够检测的最高频率和程序的大小有关,当程序越大,即程序循环一周需要的时间越长,脉冲输入端能够检测的频率就越低。当实际的输入频率超过控制器能够检测的最大频率则在相应的寄存器里的频率值和极数值就会不准确。当调用RESET_PI函数时当相应的参数值就是CHANNEL A的值时,相应的计数值就归零。功能块如下图:输入:(1)A,BYTE型,通道A,即输入信号的通道号。(2)B,BYTE型,通道B,即输入信号的通道号。6.2   GET-TUPLE函数功能描述:这是一个系统保留函数。是一个POINTER TO BYTE型函数。函数图如下:输入:(1) ID,BYTE型,要选择的TUPLE的号。(2) Selection,BOOL型,当为TRUE时,是选择TUP LE Set boot,当为TRUE时,是选择Application。6.3 LOAD_USER_PROGRAM函数功能描述:本函数是BOOL型的。函数图如下:输入:(1) Dummy,BOOL型,6.4 PARAMS_STORE函数功能描述:存储参数MW0~MW247,系统每隔100s保存一次参数到存储器。本函数是BOOL型的。函数图如下:输入:(1) ENABLE,BOOL 型,使能。6.5 RESET_PI函数功能描述:   脉冲输入计数复位。功能是把脉冲输入计数器置零,软连接口CH接所要复位的通道号。如果要用B通道脉冲上升沿复位A通道的脉冲计数值(或用A脉冲的上升沿复位B通道的计数值),则CH的数值如下公式所示:CH=(Restting channel number+1)*16+Channel to reset函数图如下:输入:(1)CH,BYTE型,要复位通道。6.6    SET-AI-TYPE 函数功能描述:设置模拟量输入端为电端输入。本函数是BOOL型的。2023模板的(X3.7和X3.10)脚通过此方法没有办法设置,可以通过如下方法将此脚改为电流输入VARPP:POINTER TO WORD;P3:WORD;VAR-ENDPP:=16#FFC4PP:=P3OR16#2000;(*选择电脑输入*)PP:=P3AND16#DFFF;(*选择电压输入*)函数如图:输入:(1) Value,BYTE型,通过Va lue的输入来设定输入针是电压输入还是电流输入。6.7 SET_CYCLE_TIME函数功能描述:它是一个系统保留函数,是一个BOOL型的函数。函数图如下:输入:(1) Ctime,WORD型。6.8 SET_PWM_F函数功能描述:Set PWM frequency 模块用于设置输出 PWM 信号的频率.可设频率范围从 40 到2550 Hz。FREQ 为实际的输出频率除以 10,CH 是需要设置相应频率的通道(相应的 PWM输出的地址号减去 100)。如果通道是在同一组里,只要设置其中一个的 PWM 输出的通道号的频率,其余的通道的频率也是和其一样。一般将系统硬件初始化设置相关的程序放在程序的初始化程序段(只是在系统上电瞬间执行一次)里。函数图如下:输入(1) FREQ,BYTE型,为实际的输出频率除以10。(2) CH,BYTE型,CH是需要设置相应频率的通道号(相应的PWM输出的地址号码减去100)。6.9 TEMPERATURES功能块功能描述:计算模块的温度,Temperature 功能模块有两路报警输出 (TEMP 1 and TEMP 2)一路模拟量输出(AD_TEMP) ,可通过下述公式计算温度值。还有一路实际的温度值输出(TEMP)。bit_per_deg = 81,263 bit_offset = 5,177 * 103temperature = (AD_TEMP - bit_offset) / bit_per_degExamble:AD_TEMP = 8470tempereture = (8470 - 5,177 * 103) / 81,263 = 40,519 °C   目前 2023 模块没有检测温度的功能,2024 有,但是不能用目前的函数计算,可以按照以下方法计算 2024 模块的温度:Temperature:=DINT_TO_INT(((UINT_TO_DINT(%IW115)*8060)/65535-636)/10);函数图如下:输出:(1) TEMP1,BOOL型,当温度超过73°C是输出为TRUE。(2) TEMP2,BOOL型,当温度低于-40°C是输出为TRUE。(3) AD_TEMP,WORD型,模拟信号输出,可通过上面公式计算实际温度值。(4) TEMP,SINT型,输出的实际温度值。6.9 TEST_PARAM_PARITY函数功能描述:测试写入的参数,是一个BOOL型的函数。函数图如下:输入:(1) ENABLE,BOOL型,使能。6.10 USER_FUNCTION函数功能描述:本函数也是一个系统保留的函数。函数如图:输入:(1)Dumm有,BOOL型。CheckFault功能块                                                                                                       功能描述:检测输入是否有错误。事实上本功能块是Motion功能块的一个子功能块。功能图如下:输入:(1) Control,INT型,输入的控制信号。取值范围, -32767 ~ 32767。(2) FeedBacl,UINT型,比例阀反馈输入0~65535,对应的电流为0~1安培。输出:(1) DO_FaultInDirUp,BOOL型,(2) DO_FaultInDirDown,BOOL型,
页: [1]
查看完整版本: 【CODESYS大讲堂】CELL_CHECK_4 库