收藏 分销(赏)

Codesys标准函数说明.doc

上传人:pc****0 文档编号:5871950 上传时间:2024-11-22 格式:DOC 页数:39 大小:1.37MB 下载积分:10 金币
下载 相关 举报
Codesys标准函数说明.doc_第1页
第1页 / 共39页
Codesys标准函数说明.doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
一、标准库函数 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) 功能块如下图: 输入: SET1,BOOL型 RESET,BOOL型 输出: Q1,BOOL型 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。本功能块与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计数器功能块Counter 1.2.1 CTD功能块 功能描述: 本功能块是自减记数器。也就是说当信号由低电频变为高电频时进行自减记数。其中CD是输入信号,LOAD是初始化信号,也就是说当LOAD输入为TRUE时功能块开始工作。PV是初始化记数值,也就上通过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,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有输出。 功能块如下图: 输入:CU,BOOL型 CD,BOOL型 RESET,BOOL型 LOAD,BOOL型 PV,INT型 输出:QU,BOOL型 QD,BOOL型 CV,INT型 1.3 字符串操作函数 String Functions 1.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函数 功能描述: 本函数就是在给定的串中查找所要查的串的位置。给出第个一个字符的位置。 函数块如下图: 输入: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型 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位。 函数块如下图: 输入:STR,STRING型 SIZE,INT型 输出:完成操作后的串,STRING型 1.4 定时器功能块 Timer 1.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功能块 功能描述: 当输入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 触发保持功能块 Trigger 1.5.1 F_TRIG功能块 功能描述: 输入每有一个由高电频向低电频的跳变时输出Q就有一个输出TRUE。 功能块如下图: 输入: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<=256*PAR_InputILowLimit时输出为0。 (3)PAR_InputHighLimit,UINT型,用来控制输出的上限。当Input>=256*PAR_InputHighLimit时输出就为0。 输出:(1)Output,UINT型,处理完的信号。 (2)LowLimit,BOOL型,Input<=256*PAR_InputILowLimit时LowLimit为TRUE。 (3)HighLimit,BOOL型,Input>=256*PAR_InputHighLimit时HighLimit为TRUE。 2.2 HP功能块 功能描述: 设置一个死区,把死区以内的值都设为0。功能如图: 功能块如下图: 输入:(1)Input,UINT型,输入信号。 . (2)PAR_CutLimit,UINT型,死区控制参数。当Input<=65535*PAR_CutLimit%时输出为0。 输出:(1)Output,UINT型,处理完的信号。 2.3 JoyFilter功能块 功能描述: JoyFilter块是一个双向的模拟量标定块,也就是说它对输入的模拟量进行预处理,把输出范围调整为-32767~32767。 功能块如下图: 输入: (1)AnalogInput,UINT型,模拟量的输入信号。 (2)DI_JoystickDirSwitchPOS,BOOL型,正向微动开关。当PAR_DirSwitchDiagnosticNotUse为FALSE时,此时又手柄向正向移动,那么只有正向微动开关TRUE,OUTPUT才会有输出。 (3)DI_JoystickDirSwitchNEG,BOOL型,负向微动开关。当PAR_DirSwitchDiagnosticNotUse为FALSE时,此时又手柄向负向移动,那么只有负向微动开关TRUE,OUTPUT才会有输出。 (4)PAR_NegFull,UINT型,负向输入的调节参数。取值范围:0~255,主要用于当负向输入最大时,调节参数使得OUTPUT也为负向最大。 (5)PAR_POSFull,UINT型,正向输入的调节参数。取值范围:0~255,主要用于当正向输入最大时,调节参数使得OUTPUT也正负向最大。 (6)PAR_Zero,UINT型,零输入的调节参数。取值范围:0~255,主要用于当手柄在零位时,即零输入时,调节参数使得OUTPUT也为零。 (7)PAR_DeadBand,UINT型死区设置参数。取值范围:0~100。当输入进入参数设置范围,输出为零 (8)PAR_NegProgression,SINT型。取值范围:-100~100,设置负向输出缓冲曲线度,手柄负向输出值相对于输入值的一个响应曲线,曲线如图: (9)PAR_PosProgression,SINT型。取值范围:-100~100,设置正向输出缓冲曲线度,手柄正向输出值相对于输入值的一个响应曲线。 (10)PAR_MinErrorDifference,UINT型,取值范围:0~100,设置出错范围,当输入超出范围时,激活ErrorHigh或ErrorLow开关,并使输出为零。 (11)PAR_FaultOnDelay,UINT型,取值范围:0~255,过载延时。 (12)PAR_DirSwitchDiagnosticNotUse,BOOL型,此参数为TRUE时,微动开关无效,为FALSE时,微动开关有效 输出: (1)OutputEable,BOOL型,输出使能,为TRUE是块才会有输出。 (2)Output, INT型,调整后的信号量,输出数值范围-32767~32767 (3)ErrorHigh,BOOL型,当输入超出PAR_Full +5000范围时, ErrorHigh为TRUE,输出置零。 (4)ErrorLow,BOOL型,输入超出PAR_Zero–PAR_MinErrorDifference范围, ErrorHigh为TRUE,并把输出置零。 (5)JoystickDirSwitchPOSMissing,BOOL型,正向微动开关出错时,值为TRUE。 (6)JoystickDirSwitchNEGMissing, BOOL型负向微动开关出错时,值为TRUE。 (7)JoystickDirSwitchPOSAndNEGOn,BOOL型,正、负向微动开关同时为TRUE时,值为TRUE。 2.4 JoystickAllnputOutOfRange功能块 功能描述: 本功能块是用来实现对一个模拟量输入的观察。 功能块如下图: 输入: (1) Allnput,UINT型,需要观察的模拟量信号。 (2) PAR_PosFull,UINT型,正向最大调整参数。 (3) PAR_NegFull,UINT型,负向最大调整参数。 (4) PAR_MinErrorDifference,UINT型,设置出错范围,当输入超出范围时,激活ErrorInputTooHighOut或ErrorInputTooLowOut开关,并使输出为零。 输出: (1) ErrorInputTooHighOut,BOOL型,AIInput > PAR_PosFull*256 + PAR_MinErrorDifference, 则输出为TRUE。 (2) ErrorInputTooLowOut,BOOL型,AIInput < PAR_NegFull*256-PAR_MinErrorDifference,则输出为TRUE。 2.5 JoystikDirSwitchDiagnostic功能块 功能描述: 本功能块是用来观察手柄模拟量输入时微动开关的状态。 功能块如下图: 输入: (1) AnalogInput,UINT型,需要观察的模拟量信号。 (2)DI_JoystickDirSwitchPOS,BOOL型,正向微动开关。当PAR_DirSwitchDiagnosticNotUse为FALSE时,此时又手柄向正向移动,那么只有正向微动开关TRUE,OUTPUT才会有输出。 (3)DI_JoystickDirSwitchNEG,BOOL型,负向微动开关。当PAR_DirSwitchDiagnosticNotUse为FALSE时,此时又手柄向负向移动,那么只有负向微动开关TRUE,OUTPUT才会有输出。 (4) PAR_PosFull,UINT型,正向最大调整参数。 (5) PAR_NegFull,UINT型,负向最大调整参数。 (6) PAR_Zero,UINT型,零输入的调节参数。主要用于当手柄在零位时,即零输入时,调节参数使得OUTPUT也为零。 (7) PAR_FaultOnDelay,UINT型,过载延时。 输出: (1)JoystickDirSwitchPOSMissing,BOOL型,正向微动开关出错时,值为TRUE。 (2)JoystickDirSwitchNEGMissing, BOOL型负向微动开关出错时,值为TRUE。 (3)JoystickDirSwitchPOSAndNEGOn,BOOL型,正、负向微动开关同时为TRUE时,值为TRUE。 2.6 MeanValue功能块 功能描述: 对给的数组进行求平均数操作。 功能块如图: 输入: (1) Input,UINT型,数据输入。 (2) PAR_Length,UINT型,取数长度,如值为5,则每5个值求一次平均值,并输出到output。 (3) Reset,BOOL型,复位信号,值为TRUE时不进行平均值运算。 输出: (1) Output,UINT型 2.7 PedalFilter功能块 功能描述: PedalFilter功能块是一个单向的标定模块,主要用于把输入模拟量进行预处理,把输出量范围调整到0~65535。 功能块如下图: 输入: (1)AbalogInput,UINT型,来自于传感器的输入量 OutPutEnable, BOOL型,使能开关。参数值为TRUE时,模块按当前值输出;为FALSE时,保持上一次输出值。 (2)PAR_Full,UINT型,取值范围:0~255,此参数用于调整最大输出值,当输入最大时,使输出接近65535,小于65535。 (3)PAR_Zero,INT型,取值范围:0~255,此参数用于调整零位,使输出为零。 (4)PAR_DeadBand,UINT型,取值范围:0~100,设置死区,当输入进入参数设置范围,输出为零。 (5)PAR_Progression,SINT型,取值范围:-100~100设置输出缓冲曲线度。 (6)PAR_MinErrorDifference,UINT型,取值范围:0~100,设置出错范围,当输入超出范围时,激活ErrorHigh或ErrorLow开关,并使输出为零。 (7)OutputEnable,BOOL型,使能开关。 输出: (1)Output,UINT型,取值范围:0~65535,输出信号。 (2)ErrorHigh,BOOL型,高位出错开关。输入>PAR_Full + PAR_MinErrorDifference范围,ErrorHigh为TRUE,并把输出置零。 (3)ErrorLow,BOOL型,低位出错开关,输入<PAR_Zero – PAR_MinErrorDifference范围, ErrorHigh为TRUE,并把输出置零。 2.8 RC功能模块 功能描述: RC功能块是滤波功能块,它是对传感器信号的输入信号进行滤波。滤波公式为: 功能块如下图: 输入: (1) Input,UINT型,输入信号。 输出: (1) Output,UINT型,输出信号。 2.9 Scale功能块 功能描述: Scale功能块的主要作用是把一个0~65535量变换成为两个0~65535的量,如下图: 功能块如下图: 输入: (1)Input,UINT型 (2)PAR_Zero,INT型,设置零位,当输入为 PAR_Zero * 256时,输出为 0。 (3)PAR_PosFull,UINT型,当input值>=PAR_PosFull * 256时, 输出为65535 , PosValue 为TRUE。 (4)PAR_NegFull,UINT型,当input值<= PAR_NegFull * 256, 输出为-65535 ,PosValue 为 FALSE。 输出: (1)Output,UINT型 (2)PosValue BOOL型,PAR_Zero * 256 > Input值,值为 TRUE;PAR_Zero * 256 < Input 值,值为 FALSE。 2.10 Transfer功能块 功能描述: Transfer 模块用于设置缓冲曲线度, 当Zero为TRUE时,输出为零,当 Full为 TRUE,而Zero不为零时,输出为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中的一些函数与功能块。 3.1 CAN_II_BUFF_INIT函数 功能描述: 本功能块的主要作用是用来初始化CAN接受信息对象的。注意CAN_II_BUFF_INIT,必须用在CAN_II_INIT前面。本函数是BOOL型的。 函数块如下图: 输入: (1) ENABLE,BOOL型。函数的使能变量。 (2) OBJ,对象号,输入数值,1~14,0是用来传输的号。 (3) ID,信息ID,11或29位ID。 (4) EXTENDED,BOOL型,用来扩展ID为29位。 输出: (1) ERROR,BOOL型。当OBJ超出范围时有输出。 3.2 CAN_II_GET_MSG功能块 功能描述: 当CAN总线上有新的CAN信息是接受数据。 功能块如下图: 输入: (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 全球码。 (4) GBMS(GloBal Mask Short)11bit 全球码。 (5) TERM_RES CAN 的接受终端 On/Off. 3.4 CAN_II_RTR函数 功能描述: 发送远距离传送请求。本函数是 BOOL型的。 函数块如下图: 输入: (1) ENABLE,BOOL型,使能。 (2) OBJ 选择对象号,1~13。 输出: (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 ,当有新的数据到了缓存中时为TRUE。 3.7 CAN_IITX功能块 功能描述: 向更高的message对象来发新的CAN信息。 功能块如下图: 输入: (1) ENABLE,BOOL型,使能。 (2) XTENDED,BOOL型, 扩展信息的ID位为29位。 (3) ID ,信息ID。 (4) DLC ,数据长度 1..8。 (5) DATAn ,信息数据,其中n=DLC。 CAN2使用说明: 接收数据: 1.可以采用CAN_II_BUFF_INIT和CAN_II_GET_MSG配合使用,自动将CAN总线上ID和CAN_II_BUFF_INIT相同ID的数据自动放到相应的缓存里面,建议如果接收的数据有限的话使用CAN_II_BUFF_INIT和CAN_II_GET_MSG函数接收数据,CAN_II_BUFF_INIT应在CAN_II_INIT之前。 2.也可以只使用CAN_IIRX,但是如果使用CAN_IIRX函数必须判断接收回来的ID和我需要的ID是否相等,因为CAN_IIRX将总线上所有的数据都接收回来。 发送数据:使用CAN_IITX发送CAN数据由于发送缓存的限制,每一次最多可以发送8个不同CAN ID的数据,考虑到每次发送的可靠建议每次程序循环一次发送5个不同CAN ID 的数据。 四、CANOPEN IEC 库 下面主要介绍的是一些基于CANOPEN协议的库函数。也就是在canopen.lib中的一些函数与功能块。 4.1 INIT FUNCTION 4.1.1 CANOPEN_END_INIT函数 功能描述: 本函数的主要作用是用来结束CANOPEN的初始化。本函数是BOOL型的。 函数块如下图: 输入: (1) ENABLE:BOOL型,使能。 4.1.2 CANOPEN_INIT_SDO函数 功能描述: 对SDO对象开始初始化。 函数图如下: 输入: (1) ENABLE,BOOL型,使能。 (2) ID,BYTE型。 (3) SDO_TYPE,BOOL型,FALSE时为TX型,TRUE时为RX型。 (4) SDO,BYTE 型,SDO的编号。 4.1.3 CANOPEN_START_INIT函数 功能描述: 本函数就是CANOPEN的开始初始化。本函数是BOOL型的。 函数块如下图: 输入: (1) ENABLE,BOOL型,使能。 4.2 PDO HANDLING FUNCTIONS 4.2.1 CANOPEN_ADD_NODE_RECEIVE_FROM函数 功能描述: 增加CANOPEN接收的一个节点号(4路PDO)。本函数是BOOL型的。 函数图如下: 输入: (1) ENABLE,BOOL型。使能。 (2) PDO_TYPE_SELECT,BOOL型,PDO的类型选择,FALSE 为 TPDOS型,TRUE 为RPDOS型。 (3) ID,本PDO是节点ID的。 输出: (1) ERROR,当ID超出范围时ERROR有输出。 4.2.2 CANOPEN_ADD_RECEIVE_PDO函数 功能描述: 增加接收一路PDO。本函数是BOOL型的。 函数块如下图: 输入: (1) ENABLE,BOOL型。使能。 (2) PDO_TYPE_SELECT,BOOL型,PDO的类型选择,FALSE 为 TPDOS型,TRUE 为RPDOS型。 (3) ID,本PDO是节点ID的。 (4) PDO,BYTE型。PDO号,1~4。 输出: (1) RROR,当ID或PDO超出范围时ERROR有输出。 4.2.3 CANOPEN_ADD_TRANSMIT_NODE_ID函数 功能描述: 虚拟CANOPEN发送的一个节点号(4路PDO)。本函数是BOOL型的。 函数图如下: 输入: (1) ENABLE,BOOL型。使能。 (2) PDO_TYPE_SELECT,BOOL型,PDO的类型选择,FALSE 为 TPDOS型,TRUE 为RPDOS型。 (3) ID,本PDO是节点ID的。 输出: (1) ERROR,当ID超出范围时ERROR有输出。 4.2.4 CANOPEN_ADD_TRANSMIT_PDO函数 功能描述: 虚拟CANOPEN发送的一路PDO。本函数是BOOL型的。 函数图如下: 输入: (1) EABLE,BOOL型。使能。 (2) PDO_TYPE_SELECT,BOOL型,PDO的类型选择,FALSE 为 TPDOS型,TRUE 为RPDOS型。 (2) ID,本PDO是节点ID的。 (3) PDO,BYTE型。PDO号,1~4。 输出: (1) ERROR,当ID或PDO超出范围时ERROR有输出。 4.3 SDO HANDLING FUNCTIONS 4.3.1 ADD_VERSION函数 功能描述: 把用户的串放入 CANOPEN的版本对象中去(16#100A)。本函数是BOOL型的。 函数图如下: 输入: (1) ENABLE,BOOL型,使能。 (2) VER,STRING型,用户定义的串。 4.3.2 CANOPEN_GET_SDO函数 功能描述: CANOPEN接收一个SDO。本函数是BOOL型的。 函数图如下: 输入: (1) ENABLE,BOOL型,使能。 (2) SDO,BYTE型,SDO号。 (3) INDEX,WORD型,对象的索引号。 (4) SUBINDEX,WORD型,对象的子索引号。 (5) OFFSET,BYTE型,数据在接受时的偏移量。 4.3.3 CANOPEN_POINTER_SHARE函数 功能描述: 把用户定义的变量通过CANOPEN总线,用SDO对象发在总线上。本函数是BOOL型的。 函数如下图: 输入: (1) ENABLE,BOOL型,使能。 (2) OUT,DWORD型,用户要放的变量。它是一个指针操作。 (3) Length,BYTE型,所用的对象的长度。 (4) Size,BYTE型,所用的对象的长度。 4.3.4 CANOPEN_PUT_SDO函数 功能描述: 向网络上的一个节点发送一个SDO。本函数是BOOL型的 函数块如下图: 输入: (1) ENABLE,BOOL型,使能。 (2) SDO,BYTE型,SDO号。 (3) INDEX,WORD型,对象的索引号。 (4) SUBINDEX,WORD型,对象的子索引号。 (5) OFFSET,BYTE型,数据在接受时的偏移量。 (6) LENGTH,BYTE型,SDO对象的长度。 4.3.5 CANOPEN_SHARE函数 功能描述: 把用户定义的串通过CANOPEN总线,用SDO对象发在总线上。本函数是BOOL型的。 函数块如下图: 输入: (1) ENABLE,BOOL型,使能。 (2) OUT,STRING型,用户定义的串。 (3) Length,BYTE型,所用的对象的长度。 (4) Size,BYTE型,所用的对象的长度。 4.3.6 CANOPEN_UPDATA_SHARE函数 功能描述: 把用户定义的串通过CANOPEN总线,用SDO对象发在总线上。本函数是BOOL型的。 函数图如下: 输入: (1) ENABLE,BOOL型,使能。 (2) OUT,STRING型,用户定义的串。 (3) share_no,BYTE型,哪一个要更新。 (4) subindex,BYTE型,哪一个地方要更新。 4.4 state中的函数与功能块 4.4.1 CANOPEN_DIAGNOSE功能块 功能描述: 给出CAN以及程序循环的有关信息。 功能块如下图: 输出: (1) BUS_OFF_COUNT,BYTE型,总线关闭记数。 (2) EWARN_COUNT,BYTE型,错误与警告的数量。 (3) TXBUFF_FULL_COUNT,BYTE型,记CAN设备传输缓冲区满的次数。 (4) CYCLE_TIME,BYTE型,程序最后一个循环所用的时间,单位是毫秒。 (5) HIGH_CYCLE_TIME,BYTE型,程序一个循环所用的最大时间,单位是毫秒。 (6) CTRLOOP_COUNT,DWORD型,程序循环记数。 4.4.2 CANOPEN_IS_THIS_MASTER函数 功能描述: 给出本节点是不是主节点。本函数是BOOL型的。Master/ Slave 对应True/False。 函数图如下: 输出: (1) YES,BOOL型,Master/ Slave 对应True/False。 4.4.3 CANOPEN_NODE_STATE功能块 功能描述: 本功能块给出了本节点的当前操作状态信息。 功能块如下图: 输出: (1) NODEID,BYTE型,单元本身的ID号。 (2) DUMMY,BOOL型,单元是否是虚拟的。 (3) DISCONNECTED,BOOL型,单元是否没有连接在总线上。 (4) CONNECTING,BOOL型,单元是否连接在总线上。 (5) PREPARING,BOOL型,单元是否准备好。 (6) PREPARED,BOOL型,设备停止,准备运行。 (7) OPERATIONAL,BOOL型,CanOpen 设备正在运行。 (8) ERROR,BOOL型,不是当前操作的状态,是上一个操作的状态。 4.4.4 CANOPEN_START_NODES函数 功能描述: 启动CANOPEN从设备。 函数图如下: 输入: (1) ENABLE,BOOL型,使能。 五、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两个通道输入的脉冲信号来给出一个正转或反
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服