台达DVP15/50MC之常用功能块

2019-07-16  本文已影响0人  TomatoTor

前言

日常调试过程,常用需要用到各种转换的功能块。
利用CanopenBuilder软件直接生成Lib库文件,方便以后调用。
可以将自己生成的Lib库文件放到CanopenBuider安装目录下

C:\Program Files (x86)\Delta Industrial Automation\Communication\CANopen Builder 6.03\sysLib

这样以后打开软件就可以直接调用,无需再做其他的复制粘贴的行为。

Bool2Word

TempVal[0]  := InVal1 ;
TempVal[1]  := InVal2 ;
TempVal[2]  := InVal3 ;
TempVal[3]  := InVal4 ;
TempVal[4]  := InVal5 ;
TempVal[5]  := InVal6 ;
TempVal[6]  := InVal7 ;
TempVal[7]  := InVal8 ;
TempVal[8]  := InVal9 ;
TempVal[9] := InVal10 ;
TempVal[10] := InVal11 ;
TempVal[11] := InVal12 ;
TempVal[12] := InVal13 ;
TempVal[13] := InVal14 ;
TempVal[14] := InVal15 ;
TempVal[15] := InVal16 ;
SaveVal     := 16#0001 ;

FOR Number := 0 TO 15 BY 1 DO 
 IF TempVal[Number] THEN
  OutVal := OutVal OR ( SHL(In:= SaveVal ,Num:= Number ) ) ;
 ELSE
  OutVal := OutVal AND ( NOT ( SHL(In:= SaveVal ,Num:= Number ) ) ) ;
 END_IF;
END_FOR;

Word2Bool

FOR Number := 0 TO 15 BY 1 DO 
 MoveBit(In:= wInVal ,InPos:= Number ,InOutPos:= 0 ,InOut:= wTemp[Number] );
 bTemp[Number] := UINT_TO_BOOL(In:= wTemp[Number] );
END_FOR;

bOutVal1  := bTemp[0] ;
bOutVal2  := bTemp[1] ;
bOutVal3  := bTemp[2] ;
bOutVal4  := bTemp[3] ;
bOutVal5  := bTemp[4] ;
bOutVal6  := bTemp[5] ;
bOutVal7  := bTemp[6] ;
bOutVal8  := bTemp[7] ;
bOutVal9  := bTemp[8] ;
bOutVal10 := bTemp[9] ;
bOutVal11 := bTemp[10] ;
bOutVal12 := bTemp[11] ;
bOutVal13 := bTemp[12] ;
bOutVal14 := bTemp[13] ;
bOutVal15 := bTemp[14] ;
bOutVal16 := bTemp[15] ;

ConvertTime

tTime := ULINT_TO_TIME(In:= DINT_TO_ULINT(In:= DiTime ) * 1000000 );
TON0(EN:= TRUE , In:= bEnable , PT:= tTime , Q=>bTimeQ , ET=>tTimeET );

Log:
2019-07-16 发布本文

上一篇 下一篇

猜你喜欢

热点阅读