臺達AS系列PLC通訊臺達A2-M伺服<第四波>(全網(wǎng)首發(fā))

本文是林建原創(chuàng)博文,轉(zhuǎn)載需注明出處!謝謝~
本文里面的程序部分,近期將改為梯形圖進行編寫,因為在ST有時候會出現(xiàn)程序無法正常執(zhí)行!

前言

本文是在《臺達AS系列PLC通訊臺達A2-M伺服<第一波>(全網(wǎng)首發(fā))》的基礎上,減少了對Canopen Builder軟件上的PDO映射步驟,采用的是AS系列PLC針對A2驅(qū)動器所開發(fā)的專用指令。

不同點

  • 不用借助ASDA Soft V5進行驅(qū)動器內(nèi)部設定PR參數(shù)。
  • 不對第三方的CanOpen總線的設備提供了控制支持。
  • P1-01 操作模式采用回原先的0001或者0101(PR模式)進行控制
  • 無需再對Canopen Builder進行SDO或者PDO的映射步驟。

指令

因為AS支持的Canopen指令依舊在不斷的補充完善,筆者也依舊會對本博文不定時的更新。指令如下:(E-CAM=電子凸輪)

  • INITC(初始化)
  • ASDON(使能)
  • CASD(加減速設置)
  • DDRVIC(相對定位)
  • DDRVAC(絕對定位)
  • DPLSVC(速度控制)
  • ZRNC(回零復歸)
  • COPRW(參數(shù)讀寫)
  • D COPWL(參數(shù)多筆讀寫)
  • RSTD(復位重置)
  • ZRNM(回零模式)
  • EMER(讀取急停信息)
  • D CSFOC(伺服追隨)
  • ECAMD(E-CAM表下載至從站)
  • DECAMS(E-CAM參數(shù)設定與規(guī)劃)
  • ECAMC(E-CAM啟動與狀態(tài)顯示)
  • ECAMC(變更E-CAM表起始位置與長度)
  • DTQC(轉(zhuǎn)矩控制速度限制) 本 ISPsoft3.07版本已有,不過仍無法正常使用
  • DTQLC(速度控制轉(zhuǎn)矩限制)本 ISPsoft3.07版本已有,不過仍無法正常使用

AS系列PLC內(nèi)置的相關SM特殊標志位和SR特殊寄存器

臺達專屬驅(qū)動器使用之CAN通訊指令相關特殊標志位(SM)與寄存器(SR)說明表

AS變量

Class   Identifiers         Address   Type  Initial Value   Comment
VAR     g_b_InitcEn                   BOOL      
VAR     g_b_AsdonEn                   BOOL      
VAR     g_b_ZrnmDone                  BOOL      
VAR     g_b_ZrnmError                 BOOL      
VAR     g_i_AxisAccTime               WORD      
VAR     g_i_AxisDecTime               WORD      
VAR     g_b_CasdEn                    BOOL      
VAR     g_i_HomeSpeedFirst            WORD      
VAR     g_i_HomeSpeedSecond           WORD      
VAR     g_b_ZrncEn                    BOOL      
VAR     g_b_AxisJogB                  BOOL      
VAR     g_b_AxisJogF                  BOOL      
VAR     g_b_DplsvcEn                  BOOL      
VAR     g_b_DdrvicEn                  BOOL      
VAR     g_b_DdrvacEn                  BOOL      
VAR     g_Di_AxisJogSpeed             DWORD     
VAR     g_Di_AxisSpeed                DWORD     
VAR     g_Di_RelPos                   DWORD     
VAR     g_Di_AbsPos                   DWORD     
VAR     g_b_AxisResetCtrl   SM1582    BOOL      
VAR     g_b_PosDone         SM1631    BOOL      
VAR     g_b_AxisSon         SM1651    BOOL      
VAR     g_b_InitcDone       SM1681    BOOL      
VAR     g_b_InitcError      SM1682    BOOL      

PLC程序

原先的ST的程序下,部分指令是不支持的,所以改為梯形圖的程序演示。


初始化、使能
加減速、復位、回零模式
回零啟動、速度控制、相對定位、絕對定位
(*Initc初始化*) 
IF g_b_InitcEn and not g_b_InitcDone THEN
    INITC (1);
ELSIF g_b_InitcEn and g_b_InitcDone THEN
    g_b_InitcEn := False ;
ELSE
    g_b_InitcEn := False ;
END_IF;

(*ASDON使能*)
IF g_b_AsdonEn THEN
    ASDON (1,1);
    IF g_b_AxisSon THEN
        g_b_AxisResetCtrl := TRUE ;
    END_IF;   
ELSE
    ASDON (1,0);
    IF NOT g_b_AxisSon THEN
        g_b_AxisResetCtrl := TRUE ;
    END_IF;    
END_IF;

(*ZRNM回零模式*)
ZRNM (1, 16#1028, g_b_ZrnmDone, g_b_ZrnmError);

(*CASD加減速設定*)
IF g_b_CasdEn THEN
   CASD (1, g_i_AxisAccTime, g_i_AxisDecTime);
ELSIF g_b_CasdEn and g_b_InitcDone THEN
    g_b_CasdEn := FALSE ;
ELSE
    g_b_CasdEn := FALSE ;
END_IF;

(*ZRNC回零復歸*)
IF g_b_ZrncEn THEN
    ZRNC (1, g_i_HomeSpeedFirst, g_i_HomeSpeedSecond);   
ELSIF g_b_ZrncEn and g_b_PosDone THEN
    g_b_ZrncEn := FALSE ;
ELSE
    g_b_ZrncEn := FALSE ;
END_IF;

(*DPLSVC速度控制*)
IF g_b_DplsvcEn THEN
    DPLSVC (1, g_Di_AxisSpeed );
ELSE
    g_b_DplsvcEn := FALSE ;
END_IF;

(*DPLSVC速度控制*)(*寸動*)
IF g_b_AxisJogB THEN
    g_Di_AxisJogSpeed:= g_Di_AxisSpeed ;
    DPLSVC (1 , g_Di_AxisJogSpeed );
ELSIF g_b_AxisJogF THEN
    g_Di_AxisJogSpeed :=0 - g_Di_AxisSpeed ;
    DPLSVC (1, g_Di_AxisJogSpeed );
ELSE
    g_b_AxisJogB := FALSE ;
    g_b_AxisJogF := FALSE ;
END_IF;

(*DDRVIC相對定位*)
IF g_b_DdrvicEn THEN
    DDRVIC (1, g_Di_RelPos, g_Di_AxisSpeed);
    IF g_b_PosDone then
        g_b_AxisResetCtrl := TRUE ;
        g_b_DdrvicEn := FALSE ;
    END_IF;
END_IF;

(*DDRVAC絕對定位*)
IF g_b_DdrvacEn THEN
    DDRVAC (1, g_Di_AbsPos, g_Di_AxisSpeed);
    IF g_b_PosDone then
        g_b_AxisResetCtrl := TRUE ;
        g_b_DdrvacEn := FALSE ;
    END_IF;
END_IF;

參考文獻

《AS系列程序手冊20190312》

本文是林建原創(chuàng)博文,轉(zhuǎn)載需注明出處!謝謝~

Log:
2019-06-07 發(fā)布本文
2019-06-08 確認相關指令是否可用、建議程序改用LD(梯形圖)、ST部分程序部分指令能用而已。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容