1、Codesys标准函数说明一、标准库函数 Standard Library标准库函数就是STANDARD.LIB中的一些常用的函数。1. 1双稳功能块 Bistable Function Blocks1.1.1 SR功能块 功能描述:本功能块是对变量进行置位与复位。也就是说等同与PLC中的SET与RESET命令。当SET1为TRUE是则输出Q1置位,值为TRUE并保持。当RESET为TRUE时复位,值为FALSE并保持。注意:当SET1与RESET同时为TRUE时输出为FALSE。(RS功能块此时为TRUE)功能块如下图:输入: SET1,BOOL型RESET,BOOL型输出: Q1,BOOL
2、型 1.1.2 RS功能块功能描述:本功能块的主要功能同SR块。也是用来实现置位与复位的功能。当SET为TRUE是则输出Q1置位,值为TRUE并保持。当RESET1为TRUE时复位,值为FALSE并保持。注意:当SET与RESET1同时为真时输出为TRUE。(SR功能块此时为FALSE)功能块如下图:输入: SET,BOOL型RESET1,BOOL型输出: Q1,BOOL型 1.1.3 SEMA功能块功能描述:本功能块的主要功能同SR块。也是用来实现置位与复位的功能。当CLAIM为TRUE时输出为TRUE。当RELEASE为TRUE时输出为FALSE。当两者同是为TRUE是输出为FALSE。本
3、功能块与SR以及RS功能块的最大的不同就是本功能块是同过一个内部变量X来传递值的。语句如下:BUSY := X;IF CLAIM THEN X:=TRUE;ELSE IF RELEASE THEN BUSY := FALSE; X:= FALSE;END_IF功能块如下图:输入: CLAIM,BOOL型RELEASE,BOOL型输出: BUSY,BOOL型1. 2计数器功能块Counter1.2.1 CTD功能块功能描述:本功能块是自减记数器。也就是说当信号由低电频变为高电频时进行自减记数。其中CD是输入信号,LOAD是初始化信号,也就是说当LOAD输入为TRUE时功能块开始工作。PV是初始化
4、记数值,也就上通过PV来初始化CV的值。当每有一个输入信号时,则CV减一,直到CV减到0时输出Q有输出为TRUE。功能块如下图:输入: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。 功能块如下图:输入:CU,BOOL型RESET,BOOL型PV,INT型输出:Q,BOO
5、L型CV,INT型1.2.3 CTUD功能块功能描述:本功能块是一个可以进行自减也可以进行自加的功能块,也就是说它整合了前面两个功能块的功能。当输入用CU、RESET及PV,也就是说当RESET有一个信号,则CV会被初始化为0,此时功能块是用作为自加计数器,对CU进行记数。当CV=PV时在QU端有输出。功能同CTU功能块。当LOAD有一个信号时,则CV会被初始化为PV,此时本功能块会被用作为一个自减计数器。当有输入时则CV减一,当CV=0是QD有输出。功能块如下图:输入:CU,BOOL型CD,BOOL型RESET,BOOL型LOAD,BOOL型PV,INT型输出:QU,BOOL型QD,BOOL
6、型CV,INT型1.3 字符串操作函数 String Functions1.3.1 CONCAT函数功能描述:这是一个串连接函数。它的主要功能就是把两个输入串连成一个串。函数块如下图:输入:STR1,STRING型 STR2,STRING型输出:由于功能块与函数的区别,函数的输出即返回值是用户自己定义的变量,是STRING型。1.3.2 DELETE函数功能描述:本函数是从给定的串中删除给定位置开始的字符串。STR是输入串,LEN是要删除的长度,POS是开始的位置。函数块如下图:输入:STR,STRING型LEN,INT型POS,INT型输出:完成操作后的串,STRING型1.3.3 FIND
7、函数功能描述:本函数就是在给定的串中查找所要查的串的位置。给出第个一个字符的位置。函数块如下图:输入:STR1,STRING型STR2,STRING型输出:STR2首字符在STR1中的位置。INT型1.3.4 INSERT函数功能描述:本函数就是在串的给定的位置中插入一个串。STR2串插入STR1中的POS位置。函数块如下图:输入:STR1,STRING型STR2,STRING型POS,INT型输出:完成操作后的串,STRING型1.3.5 LEFT函数功能描述:从给定的串的左开始取字符串SIZE位。函数块如下图:输入:STR,STRING型SIZE,INT型输出:完成操作后的串,STRING
8、型1.3.6 LEN函数功能描述:计算字符串的长度。函数块如下图:输入:STR,STRING型输出:给定的字符串的长度,INT型1.3.7 MID函数功能描述:取给定的字符串的第POS位开始的LEN位。函数块如下图:输入:STR,STRING型LEN,INT型POS,INT型输出:完成操作后的串,STRING型1.3.8 REPLACE函数功能描述:把STR1中第P位开始的L位替换成STR2。函数块如下图:输入:STR1,STRING型STR2,STRING型L,INT型P,INT型输出:完成操作后的串,STRING型1.3.9 RIGHT函数功能描述:从给定的串的右开始取字符串SIZE位。函
9、数块如下图:输入:STR,STRING型SIZE,INT型输出:完成操作后的串,STRING型1.4 定时器功能块 Timer1.4.1 RTC功能块功能描述:当输入为TRUE时,则把PDT的时间付给CDT同时CDT开始记时,输出Q为TRUE。当输入EN为假是CDT为默认时间。功能块如下图:输入:EN,BOOL型PDT,DT型输出:Q,BOOL型CDT,DT型1.4.2 TOF功能块功能描述:当输入IN由高电频变为低电频时开始记时,当ET记时达到给定的时间PT时,输出由高电频变为低电频。功能块如下图:输入:IN,BOOL型PT,TIME型输出:Q,BOOL型ET,TIME型1.4.3 TON功
10、能块功能描述:当输入IN由低电频变为高电频时开始记时,当ET记时达到给定的时间PT时,输出由低电频变高低电频。功能块如下图:输入:IN,BOOL型PT,TIME型输出:Q,BOOL型ET,TIME型1.4.4 TP功能块功能描述:使输入的信号IN保持PT时间,也就是说当有输入是输出Q就为TRUE,同时保持,此时ET开始记时,当ET=PT是,输出变为FALSE,同时保持。功能块如下图:输入:IN,BOOL型PT,TIME型输出:Q,BOOL型ET,TIME型1.5 触发保持功能块 Trigger1.5.1 F_TRIG功能块功能描述:输入每有一个由高电频向低电频的跳变时输出Q就有一个输出TRUE
11、。功能块如下图:输入:CLK,BOOL型输出:Q,BOOL型1.5.2 R_TRIG功能块功能描述:输入每有一个由低电频向高电频的跳变时输出Q就有一个输出TRUE。功能块如下图:输入:CLK,BOOL型输出:Q,BOOL型二、模拟量标定库AnalogFilter Library模拟量标定库就是指AnalogFilter.lib中的一些库函数。2.1 CUT功能块功能描述:把输入值进行预处理,调整斜率,消除两端非线性影响。调整效果见图:功能块如下图:输入:(1)Input,UINT型,要处理的信号。 (2)PAR_InputILowLimit,UINT型,用来控制输出的下限。 当Input=25
12、6*PAR_InputHighLimit时输出就为0。输出:(1)Output,UINT型,处理完的信号。 (2)LowLimit,BOOL型,Input=256*PAR_InputHighLimit时HighLimit为TRUE。2.2 HP功能块功能描述:设置一个死区,把死区以内的值都设为0。功能如图:功能块如下图: 输入:(1)Input,UINT型,输入信号。. (2)PAR_CutLimit,UINT型,死区控制参数。当Input PAR_PosFull*256 + PAR_MinErrorDifference, 则输出为TRUE。(2) ErrorInputTooLowOut,BO
13、OL型,AIInput PAR_Full + PAR_MinErrorDifference范围,ErrorHigh为TRUE,并把输出置零。(3)ErrorLow,BOOL型,低位出错开关,输入=PAR_PosFull * 256时, 输出为65535 , PosValue 为TRUE。(4)PAR_NegFull,UINT型,当input值 Input值,值为 TRUE;PAR_Zero * 256 Input 值,值为 FALSE。2.10 Transfer功能块功能描述:Transfer 模块用于设置缓冲曲线度, 当Zero为TRUE时,输出为零,当 Full为 TRUE,而Zero不为
14、零时,输出为65535。缓冲曲线度公式: Y2表正向,Y3 表负向。曲线如下图:功能块如下图:输入:(1)Input,UINT型(2)Zero,BOOL型,当Zero为TRUE时,输出为零。(3)Full:BOOL型,当 Full为 TRUE,而Zero不为零时,输出为65535。(4)PAR_Progression,INT型,曲线度设置参数。(5)OutputEnable,BOOL型,当此参数值为TRUE时,模块按预定算法执行;为FALSE时,保持上一次输出输出:(1)Output,UINT型三、CANII IEC库本库就是一些基于CAN2.0协议的一些功能块。也就是Can2.lib中的一些
15、函数与功能块。3.1 CAN_II_BUFF_INIT函数功能描述:本功能块的主要作用是用来初始化CAN接受信息对象的。注意CAN_II_BUFF_INIT,必须用在CAN_II_INIT前面。本函数是BOOL型的。函数块如下图:输入:(1) ENABLE,BOOL型。函数的使能变量。(2) OBJ,对象号,输入数值,114,0是用来传输的号。(3) ID,信息ID,11或29位ID。(4) EXTENDED,BOOL型,用来扩展ID为29位。输出:(1) ERROR,BOOL型。当OBJ超出范围时有输出。3.2 CAN_II_GET_MSG功能块功能描述:当CAN总线上有新的CAN信息是接受
16、数据。功能块如下图:输入:(1) ESSAGE,用户想接受的信息。输出:(1) EXTENDED,BOOL型,当信息ID为29位时为TRUE。(2) ID,信息的ID。(3) DLC,信息的长度。(4) DATAn,信息的数据,其中n=DLC。(5) CUSTOMER,没有定义。(6) NEW_DATA,BOOL型,当缓存中有新的数据时为TRUE。3.3 CAN_II_INIT函数功能描述:CAN_II设备的初始化函数。功能块如下图:输入:(1) ENABLE,BOOL型,使函数可以工作。(2) SPEED,CAN设备的波特率。(3) GBML (GloBal Mask Long) 29bit
17、 全球码。(4) GBMS(GloBal Mask Short)11bit 全球码。(5) TERM_RES CAN 的接受终端 On/Off. 3.4 CAN_II_RTR函数功能描述:发送远距离传送请求。本函数是 BOOL型的。函数块如下图:输入:(1) ENABLE,BOOL型,使能。(2) OBJ 选择对象号,113。输出:(1) ERROR,当输出为TRUE时,就是选择的对象好有问题。3.5 CAN_II_STATUS功能块功能描述:本功能快就是用来返回 CAN设备的状态。功能块如下图:输入:无输出:(1) LEC,就是返回最近的一个出错的代码。(2) TXOK 为TRUE时就表示传输成功。(3) RXOK 为TRUE时就表示接受成功。(4) EWARN_COUNT 出错记数器。(5) BUSOFF_COUNT,总线关闭记数器。3.6 CAN_IIRX 功能块功能描述:从更高的message对象来接受新的CAN信息。功能块如下图:输出:(1) EXTENDED,BOOL型, 扩展信息的ID位为29位。(2) ID ,信息ID。(3) DLC ,数据长度 1.8。(4) DATAn ,信息数据,其中n=DLC(5) CUSTOMER ,没有定义。(6) NEW_DATA ,当有新的数据到了缓存中时为TRU
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1