1、*)2.2 HP功能块设置一个死区,把死区以内的值都设为0。功能如图: (1)Input,UINT型,输入信号。. (2)PAR_CutLimit,UINT型,死区控制参数。当Input=256*PAR_CutLimit时输出为0。(*HP和CUT有一些类似,当INPUT=PAR_CutLimit*256,输出OUTPUT为0,当PAR_CutLimit*25665535,OUTPUT输出065535*)2.3 JoyFilter功能块JoyFilter块是一个双向的模拟量标定块,也就是说它对输入的模拟量进行预处理,把输出范围调整为-3276732767。16位(1)AnalogInput,U
2、INT型,模拟量的输入信号。(2)DI_JoystickDirSwitchPOS,BOOL型,正向微动开关。当PAR_DirSwitchDiagnosticNotUse为FALSE时,此时又手柄向正向移动,那么只有正向微动开关TRUE,OUTPUT才会有输出。(3)DI_JoystickDirSwitchNEG,BOOL型,负向微动开关。当PAR_DirSwitchDiagnosticNotUse为FALSE时,此时又手柄向负向移动,那么只有负向微动开关TRUE,OUTPUT才会有输出。(4)PAR_NegFull,UINT型,负向输入的调节参数。取值范围:0255,主要用于当负向输入最大时,
3、调节参数使得OUTPUT也为负向最大。 当AnalogInput=PAR_PosFull*256,Output=0,ErrorHigh=TRUE,说明手柄已经超过正向允许最大值(6)PAR_Zero,UINT型,零输入的调节参数。0255,主要用于当手柄在零位时,即零输入时,调节参数使得OUTPUT也为零。(7)PAR_DeadBand,UINT型死区设置参数。0100。当输入进入参数设置范围,输出为零(8)PAR_NegProgression,SINT型。-100100,设置负向输出缓冲曲线度,手柄负向输出值相对于输入值的一个响应曲线,曲线如图:(9)PAR_PosProgression,S
4、INT型。-100100,设置正向输出缓冲曲线度,手柄正向输出值相对于输入值的一个响应曲线。(10)PAR_MinErrorDifference,UINT型,取值范围:0100,设置出错范围,当输入超出范围时,激活ErrorHigh或ErrorLow开关,并使输出为零。当AnalogInputPAR_PosFull*256*(1+PAR_MinErrorDifference)正向出错报警当AnalogInput PAR_PosFull, 则输出为TRUE。(2) ErrorInputTooLowOut,BOOL型,AIInput +PAR_MinErrorDifference =PAR_Pos
5、Full * 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不为零时,输出为65535。缓冲曲线度公式: Y2表正向,Y3 表负向。曲线如下图:(2)Zero,BOOL型,当Zero为TRUE时,输出为零。(3)Full:BOOL型,当 Full为 TRUE,而Zero不为零时,输出
6、为65535。(4)PAR_Progression,INT型,曲线度设置参数。(5)OutputEnable,BOOL型,当此参数值为TRUE时,模块按预定算法执行;为FALSE时,保持上一次输出三、CANII IEC库本库就是一些基于CAN2.0协议的一些功能块。也就是Can2.lib中的一些函数与功能块。3.1 CAN_II_BUFF_INIT函数本功能块的主要作用是用来初始化CAN接受信息对象的。注意CAN_II_BUFF_INIT,必须用在CAN_II_INIT前面。本函数是BOOL型的。函数块如下图:ENABLE,BOOL型。函数的使能变量。OBJ,对象号,输入数值,114,0是用来
7、传输的号。ID,信息ID,11或29位ID。EXTENDED,BOOL型,用来扩展ID为29位。ERROR,BOOL型。当OBJ超出范围时有输出。(*OBJ:为114,ID为接收CAN数据的验收码,EXTENDED:选择扩展格式还是标准格式CAN_II_BUFF_INIT函数和CAN_II_GET_MSG函数成对使用,OBJ参数值就是调用CAN_II_GET_MSG的MESSAGE值接收CAN数据可以采用CAN_II_BUFF_INIT函数和CAN_II_GET_MSG函数成对使用,也可以只使用CAN_IIRX,但是如果使用CAN_IIRX函数必须判断接收回来的ID和我需要的ID是否相等,因为
8、CAN_IIRX将总线上所有的数据都接收回来。而CAN_II_BUFF_INIT函数和CAN_II_GET_MSG函数成对使用的话会自动将CAN总线上ID和CAN_II_BUFF_INIT相同ID的数据自动放到相应的缓存里面,建议如果接收的数据有限的话使用CAN_II_BUFF_INIT和CAN_II_GET_MSG函数接收数据*)3.2 CAN_II_GET_MSG功能块当CAN总线上有新的CAN信息是接受数据。MESSAGE,用户想接受的信息。EXTENDED,BOOL型,当信息ID为29位时为TRUE。ID,信息的ID。DLC,信息的长度。DATAn,信息的数据,其中n=DLC。CUST
9、OMER,没有定义。NEW_DATA,BOOL型,当缓存中有新的数据时为TRUE。3.3 CAN_II_INIT函数CAN_II设备的初始化函数。ENABLE,BOOL型,使函数可以工作。SPEED,CAN设备的波特率。GBML (GloBal Mask Long) 29bit 全球码。GBMS(GloBal Mask Short)11bit 全球码。TERM_RES CAN 的接受终端 On/Off. (*SPEED:CAN2通讯波特率,可以为10K,20k,50k,75k,100k,125k,250k,500k,1000kGBML:为扩展29位屏蔽码,GBMS:为标准11位的屏蔽码,TER
10、M_RES:是否打开终端电阻*)3.4 CAN_II_RTR函数发送远距离传送请求。本函数是 BOOL型的。ENABLE,BOOL型,使能。OBJ 选择对象号,113。ERROR,当输出为TRUE时,就是选择的对象有问题。3.5 CAN_II_STATUS功能块本功能快就是用来返回 CAN设备的状态。无LEC,就是返回最近的一个出错的代码。TXOK 为TRUE时就表示传输成功。RXOK 为TRUE时就表示接受成功。EWARN_COUNT 出错记数器。BUSOFF_COUNT,总线关闭记数器。3.6 CAN_IIRX 功能块从更高的message对象来接受新的CAN信息。EXTENDED,BOO
11、L型, 扩展信息的ID位为29位。ID ,信息ID。DLC ,数据长度 1.8。DATAn ,信息数据,其中n=DLCCUSTOMER ,没有定义。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。四、CANOPEN IEC 库下面主要介绍的是一些基于CANOPEN协议的库函数。也就是在canopen.
12、lib中的一些函数与功能块。4.1 INIT FUNCTION4.1.1 CANOPEN_END_INIT函数本函数的主要作用是用来结束CANOPEN的初始化。ENABLE:BOOL型,使能。4.1.2 CANOPEN_INIT_SDO函数对SDO对象开始初始化。函数图如下:ID,BYTE型。SDO_TYPE,BOOL型,FALSE时为TX型,TRUE时为RX型。SDO,BYTE 型,SDO的编号。4.1.3 CANOPEN_START_INIT函数本函数就是CANOPEN的开始初始化。4.2 PDO HANDLING FUNCTIONS4.2.1 CANOPEN_ADD_NODE_RECEI
13、VE_FROM函数增加CANOPEN接收的一个节点号(4路PDO)。使能。PDO_TYPE_SELECT,BOOL型,PDO的类型选择,FALSE 为 TPDOS型,TRUE 为RPDOS型。ID,本PDO是节点ID的。ERROR,当ID超出范围时ERROR有输出。4.2.2 CANOPEN_ADD_RECEIVE_PDO函数增加接收一路PDO。PDO,BYTE型。PDO号,14。RROR,当ID或PDO超出范围时ERROR有输出。4.2.3 CANOPEN_ADD_TRANSMIT_NODE_ID函数虚拟CANOPEN发送的一个节点号(4路PDO)。(1) ERROR,当ID超出范围时ERR
14、OR有输出。4.2.4 CANOPEN_ADD_TRANSMIT_PDO函数虚拟CANOPEN发送的一路PDO。(1) EABLE,BOOL型。(2) PDO_TYPE_SELECT,BOOL型,PDO的类型选择,FALSE 为 TPDOS型,TRUE 为RPDOS型。 ID,本PDO是节点ID的。(3) PDO,BYTE型。ERROR,当ID或PDO超出范围时ERROR有输出。4.3 SDO HANDLING FUNCTIONS4.3.1 ADD_VERSION函数把用户的串放入 CANOPEN的版本对象中去(16#100A)。VER,STRING型,用户定义的串。4.3.2 CANOPEN
15、_GET_SDO函数CANOPEN接收一个SDO。SDO,BYTE型,SDO号。INDEX,WORD型,对象的索引号。SUBINDEX,WORD型,对象的子索引号。OFFSET,BYTE型,数据在接受时的偏移量。4.3.3 CANOPEN_POINTER_SHARE函数把用户定义的变量通过CANOPEN总线,用SDO对象发在总线上。函数如下图:OUT,DWORD型,用户要放的变量。它是一个指针操作。Length,BYTE型,所用的对象的长度。Size,BYTE型,所用的对象的长度。4.3.4 CANOPEN_PUT_SDO函数向网络上的一个节点发送一个SDO。本函数是BOOL型的(2) SDO,BYTE型,SDO号。(3) INDEX,WORD型,对象的索引号。(4) SUBINDEX,WORD型,对象的子索引号。O
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1