欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TwinCAT写了个CSV模式的梯形加减速

程序员文章站 2022-06-26 10:09:59
...

1.学习中需要对6040进行pdo通信,所以内置的模块就没法用了,就写了些简单的程序。
2.程序的思想就是实时给60FF速度值,这里用的是17位的编码器,速度值需乘131072,这里加减速给的是相同的。

IF in_csv THEN
v_acc:=v_give*131072;
CASE csv_progress OF        
        csv_pre:
            power_do:= TRUE;
            t:=0;
            IF ton1_q THEN
            csv_progress :=csv_acc;
            END_IF

        csv_acc:
            tav :=LREAL_TO_DINT(0+v_acc*t) ;
            t := t + cyc_time;

            IF t > 1 THEN
                csv_progress :=csv_uni;
            END_IF

        csv_uni:
            tav :=LREAL_TO_DINT(v_acc);         
            IF stop_do THEN
                csv_progress :=csv_dec;
            END_IF

        csv_dec:
            tav :=LREAL_TO_DINT(v_acc-v_acc*(1-t)) ;
            t := t - cyc_time;
            IF t < 0 THEN
                csv_progress := csv_fin;
            END_IF

        csv_fin:
            power_do:= FALSE;
            t:=0;       
            tav :=0;
            IF csv_do THEN
                csv_progress :=pre;
            END_IF          
    END_CASE
END_IF

3.结果我就不运行了,速度模式比较简单。

相关标签: csv 梯形加减速