Power PMAC運動控制器 —— 學習筆記5

1. PLC程序的編寫

對於PLC程序的語法結構與運動程序prog寫法相同,不再贅述,需要請翻看文章《Power PMAC運動控制器 —— 學習筆記2》,其他可以在PLC中使用的函數或者符號請在手冊《Power PMAC Software Reference Manual》中查看。

結構如下:

//局部變量的定義
global Counter = 0; 

open plc plc_name 
	//{程序主體}
	Counter++; 
close 

值得注意的是,plc是一種循環掃描機制,並且同時使用幾個plc可以實現類似於多線程的功能!

2. 使能和關閉PLC程序的方法

  1. 在cmd窗口中:
enable plc plc_name  //使能plc_name程序
enable plc 1..5,7	 //同時使能1、2、3、4、5、7號plc

disable plc plc_name //關閉plc_name程序
disable plc 1,3..5 //同時關閉1、3、4、5號plc
  1. 在程序中:
enable plc plc_name  //使能plc_name程序
enable plc 1..5,7	 //同時使能1、2、3、4、5、7號plc

disable plc plc_name //關閉plc_name程序
disable plc 1,3..5 //同時關閉1、3、4、5號plc
  1. 上電使能PLC的方法
    在這裏插入圖片描述
    在工程樹下的Configuration文件下的pp_startup.txt文件中寫入:

    enable plc 1;
    

並保存,則上電後1號plc程序將自動運行。

注意,1爲plc的程序名稱

3. PLC中運行運動程序的方法

  1. 使用指定的指令

    //打開運動程序
    start n:m //啓動座標系n中的m程序
    
    //停止運動程序
    abort m //停止運動程序m
    
  2. 直接使用與cmd相同命令的指令

    cmd"&m bn r" //與窗口命令相同,選定座標系m,運行程序n
    

在PLC程序中可以使用cmd"" 命令運行任何cmd命令,包括#1J/此類的命令

4. PLC調用子程序的方法

特殊函數的調用:

dwell 1000 //延時1000ms,與運動程序中相同

自定義子函數的調用:

call function_name(參數);
//例如調用自己編寫的延時函數delay
call delay(10);

5. 子程序的編寫

比較簡單,結構跟prog、運動學程序以及PLC程序相同

open subprog function_name(參數)
	//函數主體
close

以自定義延時函數爲例:

/**********************************************/
// 功 能:  延時函數,單位:秒
//  @     Jack Soong
// Time:  2019.02.21
/**********************************************/
open subprog delay(delay_time)
  local EndTime;
  EndTime = Sys.Time + delay_time;
  while(EndTime>Sys.Time){};
  return;
close

注意,在子程序中也可以使用cmd"" 命令啓動運動程序prog,但當具有多個運動程序時要避免這麼做,因爲運動程序不能同時運行,否則會出現問題,當然它的前提是兩個運動程序操作的電機有交叉,因爲一個電機只能接受一個程序的命令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章