Power PMAC中PLC程序及子程序的編寫
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程序的方法
- 在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
- 在程序中:
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
-
上電使能PLC的方法
在工程樹下的Configuration文件下的pp_startup.txt文件中寫入:enable plc 1;
並保存,則上電後1號plc程序將自動運行。
注意,1爲plc的程序名稱
3. PLC中運行運動程序的方法
-
使用指定的指令
//打開運動程序 start n:m //啓動座標系n中的m程序 //停止運動程序 abort m //停止運動程序m
-
直接使用與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,但當具有多個運動程序時要避免這麼做,因爲運動程序不能同時運行,否則會出現問題,當然它的前提是兩個運動程序操作的電機有交叉,因爲一個電機只能接受一個程序的命令。